diff --git a/.gitignore b/.gitignore index 7aa94704..8ccd73c5 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ node_modules .idea dist/ +spa/assets/object/ diff --git a/api/.env.example b/api/.env.example index 48a5b555..8db7bb2a 100644 --- a/api/.env.example +++ b/api/.env.example @@ -6,3 +6,4 @@ DB_PASS="pw" DB_DATABASE="cybertown" JWT_SECRET="devsecret" NODE_ENV="development" +ASSETS_DIR="/usr/src/spa/assets" diff --git a/api/.gitignore b/api/.gitignore index e69de29b..de4d1f00 100644 --- a/api/.gitignore +++ b/api/.gitignore @@ -0,0 +1,2 @@ +dist +node_modules diff --git a/api/.prettierrc.json b/api/.prettierrc.json new file mode 100644 index 00000000..c0c7f5d7 --- /dev/null +++ b/api/.prettierrc.json @@ -0,0 +1,9 @@ +{ + "trailingComma": "all", + "endOfLine": "lf", + "tabWidth": 2, + "printWidth": 100, + "useTabs": false, + "singleQuote": true, + "arrowParens": "avoid" +} \ No newline at end of file diff --git a/api/db/migrations/20230316031442_create_roles.ts b/api/db/migrations/20230316031442_create_roles.ts new file mode 100644 index 00000000..88c22343 --- /dev/null +++ b/api/db/migrations/20230316031442_create_roles.ts @@ -0,0 +1,36 @@ +import { Knex } from 'knex'; + +const COLLATE = 'utf8mb4_unicode_ci'; +function applyCommon(table: Knex.CreateTableBuilder) { + table.collate(COLLATE); + table.increments('id').primary(); + table.timestamps(false, true); +} + +const tableName = 'role'; + +export async function up(knex: Knex): Promise { + if (!(await knex.schema.hasTable(tableName))) { + await knex.schema.createTable(tableName, table => { + console.log(`Creating ${tableName} table`); + applyCommon(table); + + table.boolean('active').notNullable().defaultTo(true); + + table.string('name').notNullable(); + + table.integer('required_xp').unsigned().notNullable().defaultTo(0); + + table.integer('income_xp').unsigned().notNullable().defaultTo(0); + + table.integer('income_cc').unsigned().notNullable().defaultTo(0); + }); + } +} + +export async function down(knex: Knex): Promise { + if (await knex.schema.hasTable(tableName)) { + console.log(`Dropping ${tableName} table`); + await knex.schema.dropTable(tableName); + } +} diff --git a/api/db/migrations/20230316041126_create_role_assignment.ts b/api/db/migrations/20230316041126_create_role_assignment.ts new file mode 100644 index 00000000..c97bf4d0 --- /dev/null +++ b/api/db/migrations/20230316041126_create_role_assignment.ts @@ -0,0 +1,34 @@ +import { Knex } from 'knex'; + +const COLLATE = 'utf8mb4_unicode_ci'; +function applyCommon(table: Knex.CreateTableBuilder) { + table.collate(COLLATE); + table.increments('id').primary(); + table.timestamps(false, true); +} + +const tableName = 'role_assignment'; + +export async function up(knex: Knex): Promise { + if (!(await knex.schema.hasTable(tableName))) { + await knex.schema.createTable(tableName, table => { + console.log(`Creating ${tableName} table`); + applyCommon(table); + + table.integer('member_id').unsigned().notNullable(); + table.foreign('member_id').references('member.id'); + + table.integer('role_id').unsigned().notNullable(); + table.foreign('role_id').references('role.id'); + + table.integer('place_id').unsigned(); + }); + } +} + +export async function down(knex: Knex): Promise { + if (await knex.schema.hasTable(tableName)) { + console.log(`Dropping ${tableName} table`); + await knex.schema.dropTable(tableName); + } +} diff --git a/api/db/migrations/20230409194209_add_messageboard.ts b/api/db/migrations/20230409194209_add_messageboard.ts new file mode 100644 index 00000000..c89de36a --- /dev/null +++ b/api/db/migrations/20230409194209_add_messageboard.ts @@ -0,0 +1,68 @@ +import { Knex } from 'knex'; + +const COLLATE = 'utf8mb4_unicode_ci'; +function applyCommon(table: Knex.CreateTableBuilder) { + table.collate(COLLATE); + table.increments('id').primary(); + table.timestamps(false, true); +} + +export async function up(knex: Knex): Promise { + if (!await knex.schema.hasTable('messageboard')) { + await knex.schema.createTable('messageboard', table => { + console.log('Creating messageboard table again'); + applyCommon(table); + + table.integer('place_id', 10) + .unsigned() + .notNullable(); + table.foreign('place_id') + .references('place.id'); + + table.integer('member_id') + .unsigned() + .notNullable(); + table.foreign('member_id') + .references('member.id'); + + table.text('subject') + .notNullable(); + + table.text('message') + .notNullable(); + + table.integer('parent_id', 11) + .defaultTo(0) + .unsigned(); + + table.tinyint('reply', 1) + .defaultTo(0) + .notNullable(); + + table.tinyint('status',1) + .defaultTo(1) + .notNullable(); + }); + } + + if (!await knex.schema.hasColumn('place','messageboard_intro')) { + console.log('Adding column messageboard_intro to table place'); + await knex.schema.alterTable('place', table => { + table.string('messageboard_intro'); + }); + } +} + +export async function down(knex: Knex): Promise { + if (await knex.schema.hasTable('messageboard')) { + console.log('Dropping messageboard table'); + await knex.schema.dropTable('messageboard'); + } + + if (await knex.schema.hasColumn('place','messageboard_intro')) { + console.log('Removing column messageboard_intro from table place'); + await knex.schema.alterTable('place', table => { + table.dropColumn('messageboard_intro'); + }); + } +} diff --git a/api/db/migrations/20230524130944_add_role_fields_to_member.ts b/api/db/migrations/20230524130944_add_role_fields_to_member.ts new file mode 100644 index 00000000..52570fdd --- /dev/null +++ b/api/db/migrations/20230524130944_add_role_fields_to_member.ts @@ -0,0 +1,21 @@ +import { Knex } from 'knex'; + +export async function up(knex: Knex): Promise { + if (!(await knex.schema.hasColumn('member', 'primary_role_field'))) { + console.log(`Adding role fields to member table`); + await knex.schema.alterTable('member', table => { + table.integer('primary_role_id'); + table.timestamp('last_weekly_role_credit').notNullable().defaultTo(knex.fn.now()); + }); + } +} + +export async function down(knex: Knex): Promise { + if (await knex.schema.hasColumn('member', 'primary_role_id')) { + console.log(`Dropping role fields from member table`); + await knex.schema.alterTable('member', table => { + table.dropColumn('primary_role_id'); + table.dropColumn('last_weekly_role_credit'); + }); + } +} diff --git a/api/db/migrations/20230529230442_update_messageboard_column_type.ts b/api/db/migrations/20230529230442_update_messageboard_column_type.ts new file mode 100644 index 00000000..1c007328 --- /dev/null +++ b/api/db/migrations/20230529230442_update_messageboard_column_type.ts @@ -0,0 +1,22 @@ +import { Knex } from 'knex'; + + +export async function up(knex: Knex): Promise { + if(await knex.schema.hasColumn('place', 'messageboard_intro')) { + await knex.schema.alterTable('place', function (table) { + table.text('messageboard_intro').alter(); + }); + console.log('Changing messageboard_intro to text'); + } +} + + +export async function down(knex: Knex): Promise { + if(await knex.schema.hasColumn('place', 'messageboard_intro')) { + await knex.schema.alterTable('place', function (table) { + table.string('messageboard_intro', 255).alter(); + }); + console.log('Changing messageboard_intro to varchar(255)'); + } +} + diff --git a/api/db/migrations/20231113234406_change_transaction_reason_type.ts b/api/db/migrations/20231113234406_change_transaction_reason_type.ts new file mode 100644 index 00000000..b8548f2f --- /dev/null +++ b/api/db/migrations/20231113234406_change_transaction_reason_type.ts @@ -0,0 +1,21 @@ +import { Knex } from 'knex'; + +export async function up(knex: Knex): Promise { + if(await knex.schema.hasColumn('transaction', 'reason')) { + await knex.schema.alterTable('transaction', function (table) { + table.string('reason', 50).notNullable().alter(); + }); + } +} + +export async function down(knex: Knex): Promise { + await knex.schema.alterTable('transaction', function (table) { + table.enu('reason', [ + 'daily-credit', + 'home-purchase', + 'item-purchase', + 'member-to-member', + 'system-to-member', + ]).notNullable().alter(); + }); +} diff --git a/api/db/migrations/20231231203030_add_inbox_table.ts b/api/db/migrations/20231231203030_add_inbox_table.ts new file mode 100644 index 00000000..d9da1457 --- /dev/null +++ b/api/db/migrations/20231231203030_add_inbox_table.ts @@ -0,0 +1,70 @@ +import { Knex } from 'knex'; + +const COLLATE = 'utf8mb4_unicode_ci'; +function applyCommon(table: Knex.CreateTableBuilder) { + table.collate(COLLATE); + table.increments('id').primary(); + table.timestamps(false, true); +} + +export async function up(knex: Knex): Promise { + if (!await knex.schema.hasTable('inbox')) { + await knex.schema.createTable('inbox', table => { + console.log('Creating inbox table'); + applyCommon(table); + + table.integer('place_id', 10) + .unsigned() + .notNullable(); + table.foreign('place_id') + .references('place.id'); + + table.integer('member_id') + .unsigned() + .notNullable(); + table.foreign('member_id') + .references('member.id'); + + table.text('subject') + .notNullable(); + + table.text('message') + .notNullable(); + + table.integer('parent_id', 11) + .defaultTo(0) + .unsigned(); + + table.tinyint('reply', 1) + .defaultTo(0) + .notNullable(); + + table.tinyint('status', 1) + .defaultTo(1) + .notNullable(); + }); + + if (!await knex.schema.hasColumn('place', 'inbox_intro')) { + console.log('Adding column inbox_intro to table place'); + await knex.schema.alterTable('place', table => { + table.text('inbox_intro'); + }); + } + } +} + + +export async function down(knex: Knex): Promise { + if (await knex.schema.hasTable('inbox')) { + console.log('Dropping inbox table'); + await knex.schema.dropTable('inbox'); + } + + if (await knex.schema.hasColumn('place','inbox_intro')) { + console.log('Removing column inbox_intro from table place'); + await knex.schema.alterTable('place', table => { + table.dropColumn('inbox_intro'); + }); + } +} + diff --git a/api/db/migrations/20240102165858_add_ban_table.ts b/api/db/migrations/20240102165858_add_ban_table.ts new file mode 100644 index 00000000..51c1265b --- /dev/null +++ b/api/db/migrations/20240102165858_add_ban_table.ts @@ -0,0 +1,43 @@ +import {knex, Knex} from 'knex'; + +const COLLATE = 'utf8mb4_unicode_ci'; +function applyCommon(table: Knex.CreateTableBuilder) { + table.collate(COLLATE); + table.increments('id').primary(); + table.timestamps(false, true); +} + +export async function up(knex: Knex): Promise { + if (!await knex.schema.hasTable('ban')){ + await knex.schema.createTable('ban', (table) => { + console.log('Creating ban table'); + applyCommon(table); + + table.integer('status') + .defaultTo(1); + + table.integer('ban_member_id') + .notNullable(); + + table.date('end_date') + .notNullable(); + + table.enu('type', ['jail', 'full']) + .defaultTo('jail') + .notNullable(); + + table.integer('assigner_member_id') + .notNullable(); + + table.text('reason').notNullable(); + }); + } +} + + +export async function down(knex: Knex): Promise { + if (await knex.schema.hasTable('ban')){ + await knex.schema.dropTable('ban'); + } +} + diff --git a/api/db/migrations/20240104192042_object_directory.ts b/api/db/migrations/20240104192042_object_directory.ts new file mode 100644 index 00000000..11979de6 --- /dev/null +++ b/api/db/migrations/20240104192042_object_directory.ts @@ -0,0 +1,23 @@ +import { Knex } from 'knex'; + +export async function up(knex: Knex): Promise { + if (!(await knex.schema.hasColumn('object', 'directory'))) { + console.log(`Adding directory, price column to object table`); + await knex.schema.alterTable('object', table => { + table.string('directory'); + table.integer('price'); + table.timestamp('mall_expiration').nullable(); + }); + } +} + +export async function down(knex: Knex): Promise { + if (await knex.schema.hasColumn('object', 'directory')) { + console.log(`Dropping directory, price field from object table`); + await knex.schema.alterTable('object', table => { + table.dropColumn('directory'); + table.dropColumn('price'); + table.dropColumn('mall_expiration'); + }); + } +} diff --git a/api/db/migrations/20240110203223_drop_place_fk_object_instances.ts b/api/db/migrations/20240110203223_drop_place_fk_object_instances.ts new file mode 100644 index 00000000..dfc1794e --- /dev/null +++ b/api/db/migrations/20240110203223_drop_place_fk_object_instances.ts @@ -0,0 +1,13 @@ +import { Knex } from 'knex'; + +export async function up(knex: Knex): Promise { + return knex.schema.table('object_instance', function (table) { + table.dropForeign('place_id'); + }); +} + +export async function down(knex: Knex): Promise { + return knex.schema.table('object_instance', function (table) { + table.foreign('place_id').references('place.id'); + }); +} diff --git a/api/db/migrations/202401170126_member_chatdefault_field.ts b/api/db/migrations/202401170126_member_chatdefault_field.ts new file mode 100644 index 00000000..3bdcd66a --- /dev/null +++ b/api/db/migrations/202401170126_member_chatdefault_field.ts @@ -0,0 +1,26 @@ +import { Knex } from 'knex'; + +const columnName = 'chatdefault'; + +export async function up(knex: Knex): Promise { + if (!await knex.schema.hasColumn('member', columnName)) { + console.log(`Adding ${columnName} column to member table`); + await knex.schema.alterTable('member', table => { + table.integer(columnName) + .unsigned() + .notNullable() + .defaultTo(0); + }); + } +} + + +export async function down(knex: Knex): Promise { + if (await knex.schema.hasColumn('member', columnName)) { + console.log(`Dropping ${columnName} column from member table`); + await knex.schema.alterTable('member', table => { + table.dropColumn(columnName); + }); + } +} + diff --git a/api/db/migrations/20240207195122_add_avatar_upload_fields.ts b/api/db/migrations/20240207195122_add_avatar_upload_fields.ts new file mode 100644 index 00000000..6bd581bf --- /dev/null +++ b/api/db/migrations/20240207195122_add_avatar_upload_fields.ts @@ -0,0 +1,23 @@ +import { Knex } from 'knex'; + +export async function up(knex: Knex): Promise { + if (!(await knex.schema.hasColumn('avatar', 'directory'))) { + console.log(`Adding upload columns to avatar table`); + await knex.schema.alterTable('avatar', table => { + table.string('directory'); + table.string('image'); + table.integer('member_id'); + }); + } +} + +export async function down(knex: Knex): Promise { + if (await knex.schema.hasColumn('avatar', 'directory')) { + console.log(`Dropping upload columns from avatar table`); + await knex.schema.alterTable('avatar', table => { + table.dropColumn('directory'); + table.dropColumn('image'); + table.dropColumn('member_id'); + }); + } +} diff --git a/api/db/migrations/20240225025108_object_instance_add_object_detail_fields.ts b/api/db/migrations/20240225025108_object_instance_add_object_detail_fields.ts new file mode 100644 index 00000000..ff1496c5 --- /dev/null +++ b/api/db/migrations/20240225025108_object_instance_add_object_detail_fields.ts @@ -0,0 +1,25 @@ +import { Knex } from 'knex'; + +export async function up(knex: Knex): Promise { + if (!await knex.schema.hasColumn('object_instance', 'object_name')) { + console.log('Adding object detail columns to the object_instance table'); + await knex.schema.alterTable('object_instance', table => { + table.text('object_name').notNullable(); + table.integer('object_price').unsigned().defaultTo(null); + table.text('object_buyer').defaultTo(null); + }); + } +} + + +export async function down(knex: Knex): Promise { + if (await knex.schema.hasColumn('object_instance', 'object_name')){ + console.log('Dropping object detail columns from the object_instance table'); + await knex.schema.alterTable('object_instance', table => { + table.dropColumn('object_name'); + table.dropColumn('object_price'); + table.dropColumn('object_buyer'); + }); + } +} + diff --git a/api/db/migrations/20240226050159_object_add_texture_field.ts b/api/db/migrations/20240226050159_object_add_texture_field.ts new file mode 100644 index 00000000..17260326 --- /dev/null +++ b/api/db/migrations/20240226050159_object_add_texture_field.ts @@ -0,0 +1,24 @@ +import { Knex } from 'knex'; + +const columnName = 'texture'; +export async function up(knex: Knex): Promise { + if (!await knex.schema.hasColumn('object', columnName)) { + console.log(`Adding ${columnName} column to the object table`); + await knex.schema.alterTable('object', table => { + table.string(columnName) + .after('image') + .defaultTo(null); + }); + } +} + + +export async function down(knex: Knex): Promise { + if (await knex.schema.hasColumn('object', columnName)){ + console.log(`Dropping ${columnName} column from the object table`); + await knex.schema.alterTable('object', table => { + table.dropColumn(columnName); + }); + } +} + diff --git a/api/db/migrations/20240420101202_create_mall_object_table.ts b/api/db/migrations/20240420101202_create_mall_object_table.ts new file mode 100644 index 00000000..2f60a342 --- /dev/null +++ b/api/db/migrations/20240420101202_create_mall_object_table.ts @@ -0,0 +1,38 @@ +import { Knex } from 'knex'; +const tableName = 'mall_object'; +const COLLATE = 'utf8mb4_unicode_ci'; +function applyCommon(table: Knex.CreateTableBuilder) { + table.collate(COLLATE); + table.increments('id').primary(); + table.timestamps(false, true); +} + +export async function up(knex: Knex): Promise { + if(!await knex.schema.hasTable(tableName)) { + await knex.schema.createTable(tableName, table => { + console.log(`Creating ${tableName} table...`); + applyCommon(table); + + table.integer('object_id') + .unsigned() + .notNullable(); + table.foreign('object_id') + .references('object.id'); + + table.integer('place_id') + .unsigned(); + + table.text('position'); + + table.text('rotation'); + }); + } +} + +export async function down(knex: Knex): Promise { + if (await knex.schema.hasTable(tableName)) { + console.log(`Dropping ${tableName} table`); + await knex.schema.dropTable(tableName); + } +} + diff --git a/api/db/migrations/20240528145929_object_add_limit_field.ts b/api/db/migrations/20240528145929_object_add_limit_field.ts new file mode 100644 index 00000000..36a9b8f1 --- /dev/null +++ b/api/db/migrations/20240528145929_object_add_limit_field.ts @@ -0,0 +1,25 @@ +import { Knex } from 'knex'; + +const columnName = 'limit'; +export async function up(knex: Knex): Promise { + if (!await knex.schema.hasColumn('object', columnName)) { + console.log(`Adding ${columnName} column to the object table`); + await knex.schema.alterTable('object', table => { + table.integer(columnName) + .unsigned() + .after('quantity') + .defaultTo(null); + }); + } +} + + +export async function down(knex: Knex): Promise { + if (await knex.schema.hasColumn('object', columnName)){ + console.log(`Dropping ${columnName} column from the object table`); + await knex.schema.alterTable('object', table => { + table.dropColumn(columnName); + }); + } +} + diff --git a/api/db/migrations/20240728082907_add_member_online_fields.ts b/api/db/migrations/20240728082907_add_member_online_fields.ts new file mode 100644 index 00000000..73faae4f --- /dev/null +++ b/api/db/migrations/20240728082907_add_member_online_fields.ts @@ -0,0 +1,26 @@ +import { Knex } from 'knex'; + + +export async function up(knex: Knex): Promise { + if (!await knex.schema.hasColumn('member', 'place_id')) { + console.log('Adding member online columns to the member table'); + await knex.schema.alterTable('member', table => { + table.integer('place_id').unsigned().defaultTo(null); + table.timestamp('last_activity').defaultTo(knex.fn.now()); + table.integer('is_3d').unsigned().defaultTo(0); + }); + } +} + + +export async function down(knex: Knex): Promise { + if (await knex.schema.hasColumn('member', 'place_id')){ + console.log('Dropping member online columns from the member table'); + await knex.schema.alterTable('member', table => { + table.dropColumn('place_id'); + table.dropColumn('last_activity'); + table.dropColumn('is_3d'); + }); + } +} + diff --git a/api/db/scripts/create-dev-users.ts b/api/db/scripts/create-dev-users.ts new file mode 100644 index 00000000..495ae82d --- /dev/null +++ b/api/db/scripts/create-dev-users.ts @@ -0,0 +1,20 @@ +import { db } from '../../src/db'; +import { MemberRepository } from '../../src/repositories/member/member.repository'; + +const members = new MemberRepository(db); + +(async () => { + console.log('Creating admin user'); + await members.create({ + admin: true, + email: 'admin@admin', + password: 'admin', + username: 'admin', + }); + console.log('Creating dev user'); + await members.create({ + email: 'dev@dev', + password: 'dev', + username: 'dev', + }); +})(); diff --git a/api/db/seed/05-roles.seed.ts b/api/db/seed/05-roles.seed.ts new file mode 100644 index 00000000..2a077a1b --- /dev/null +++ b/api/db/seed/05-roles.seed.ts @@ -0,0 +1,9 @@ +import { Knex } from 'knex'; + +const rolesData = require('./../seed_data/roles_data.json'); + +export async function seed(knex: Knex): Promise { + console.log('Seeding role data'); + + await knex('role').insert(rolesData); +} diff --git a/api/db/seed/06-donor.roles.seed.ts b/api/db/seed/06-donor.roles.seed.ts new file mode 100644 index 00000000..c08ff1a4 --- /dev/null +++ b/api/db/seed/06-donor.roles.seed.ts @@ -0,0 +1,9 @@ +import { Knex } from 'knex'; + +const donorData = require('./../seed_data/donor_data.json'); + +export async function seed(knex: Knex): Promise { + console.log('Seeding donor data'); + + await knex('role').insert(donorData); +} diff --git a/api/db/seed/07-avatars.directory.seed.ts b/api/db/seed/07-avatars.directory.seed.ts new file mode 100644 index 00000000..164414d8 --- /dev/null +++ b/api/db/seed/07-avatars.directory.seed.ts @@ -0,0 +1,12 @@ +/* eslint-disable */ +import { Knex } from 'knex'; + +/** Insert avatar records for each avatar in spa/assets */ +export async function seed(knex: Knex): Promise { + console.log('Fixing directory value for exisiting avatars'); + await knex('avatar') + .where('directory', null) + .update({ + directory: knex.ref('id'), + }); +} diff --git a/api/db/seed/07-mall.store.seed.ts b/api/db/seed/07-mall.store.seed.ts new file mode 100644 index 00000000..1e387839 --- /dev/null +++ b/api/db/seed/07-mall.store.seed.ts @@ -0,0 +1,9 @@ +import { Knex } from 'knex'; + +const storeData = require('./../seed_data/store_data.json'); + +export async function seed(knex: Knex): Promise { + console.log('Seeding store data'); + + await knex('place').insert(storeData); +} diff --git a/api/db/seed/08-avatars.image.seed.ts b/api/db/seed/08-avatars.image.seed.ts new file mode 100644 index 00000000..71b0f3b7 --- /dev/null +++ b/api/db/seed/08-avatars.image.seed.ts @@ -0,0 +1,13 @@ +/* eslint-disable */ +import { Knex } from 'knex'; + +/** Insert avatar records for each avatar in spa/assets */ +export async function seed(knex: Knex): Promise { + console.log('Fixing image value for exisiting avatars'); + await knex('avatar') + .where('image', null) + .where('member_id', null) + .update({ + image: knex.raw("REPLACE(filename, '.wrl', '.png')") + }); +} diff --git a/api/db/seed_data/donor_data.json b/api/db/seed_data/donor_data.json new file mode 100644 index 00000000..256f0642 --- /dev/null +++ b/api/db/seed_data/donor_data.json @@ -0,0 +1,22 @@ +[ + { + "name": "Supporter", + "income_xp": 0, + "income_cc": 0 + }, + { + "name": "Advocate", + "income_xp": 0, + "income_cc": 0 + }, + { + "name": "Devotee", + "income_xp": 0, + "income_cc": 0 + }, + { + "name": "Champion", + "income_xp": 0, + "income_cc": 0 + } +] \ No newline at end of file diff --git a/api/db/seed_data/roles_data.json b/api/db/seed_data/roles_data.json new file mode 100644 index 00000000..85c57282 --- /dev/null +++ b/api/db/seed_data/roles_data.json @@ -0,0 +1,367 @@ +[ + { + "name": "Admin", + "income_xp": 0, + "income_cc": 0 + }, + { + "name": "Administrative Secretary", + "income_xp": 22, + "income_cc": 260 + }, + { + "name": "Ambassador", + "income_xp": 18, + "income_cc": 250 + }, + { + "name": "Apprentice builder", + "income_xp": 22, + "income_cc": 250 + }, + { + "name": "Bank Cashier", + "income_xp": 12, + "income_cc": 200 + }, + { + "name": "Bank Manager", + "income_xp": 24, + "income_cc": 250 + }, + { + "name": "Block Deputy", + "income_xp": 14, + "income_cc": 225 + }, + { + "name": "Block Leader", + "income_xp": 18, + "income_cc": 250 + }, + { + "name": "CERB", + "income_xp": 26, + "income_cc": 300 + }, + { + "name": "CERB Chief", + "income_xp": 28, + "income_cc": 325 + }, + { + "name": "City Advisor", + "income_xp": 40, + "income_cc": 420 + }, + { + "name": "City Architect", + "income_xp": 25, + "income_cc": 300 + }, + { + "name": "City Council", + "income_xp": 30, + "income_cc": 350 + }, + { + "name": "City Guide", + "income_xp": 20, + "income_cc": 250 + }, + { + "name": "City Mayor", + "income_xp": 34, + "income_cc": 400 + }, + { + "name": "Club Assistant", + "income_xp": 10, + "income_cc": 150 + }, + { + "name": "Club Owner", + "income_xp": 14, + "income_cc": 200 + }, + { + "name": "Clubs Chief", + "income_xp": 24, + "income_cc": 280 + }, + { + "name": "Clubs Deputy", + "income_xp": 16, + "income_cc": 250 + }, + { + "name": "Colony Deputy", + "income_xp": 26, + "income_cc": 325 + }, + { + "name": "Colony Leader", + "income_xp": 30, + "income_cc": 350 + }, + { + "name": "Colony Secretary", + "income_xp": 20, + "income_cc": 275 + }, + { + "name": "Com Graphics", + "income_xp": 28, + "income_cc": 325 + }, + { + "name": "Com tech", + "income_xp": 30, + "income_cc": 350 + }, + { + "name": "CVN Cartoonist", + "income_xp": 16, + "income_cc": 235 + }, + { + "name": "CVN Cy-tographer", + "income_xp": 16, + "income_cc": 235 + }, + { + "name": "CVN Cyto. Exec.", + "income_xp": 16, + "income_cc": 235 + }, + { + "name": "CVN Deputy", + "income_xp": 16, + "income_cc": 250 + }, + { + "name": "CVN Editor", + "income_xp": 26, + "income_cc": 325 + }, + { + "name": "CVN Film Critic Exec.", + "income_xp": 18, + "income_cc": 250 + }, + { + "name": "CVN Flim Critic", + "income_xp": 16, + "income_cc": 235 + }, + { + "name": "CVN Publisher", + "income_xp": 14, + "income_cc": 235 + }, + { + "name": "CVN staff", + "income_xp": 16, + "income_cc": 235 + }, + { + "name": "Deputy Ambassador", + "income_xp": 16, + "income_cc": 225 + }, + { + "name": "Deputy Mayor", + "income_xp": 32, + "income_cc": 375 + }, + { + "name": "Deputy Security Chief", + "income_xp": 26, + "income_cc": 300 + }, + { + "name": "Deputy Senior City Guide", + "income_xp": 20, + "income_cc": 250 + }, + { + "name": "Employment Chief", + "income_xp": 24, + "income_cc": 280 + }, + { + "name": "Employment Deputy", + "income_xp": 16, + "income_cc": 250 + }, + { + "name": "ePlex Chief", + "income_xp": 24, + "income_cc": 280 + }, + { + "name": "ePlex Deputy", + "income_xp": 16, + "income_cc": 250 + }, + { + "name": "Flea Market Chief", + "income_xp": 24, + "income_cc": 280 + }, + { + "name": "Flea Market Deputy", + "income_xp": 16, + "income_cc": 225 + }, + { + "name": "Founder", + "income_xp": 50, + "income_cc": 500 + }, + { + "name": "Homebuilder Manager", + "income_xp": 22, + "income_cc": 225 + }, + { + "name": "HTML Tech Support", + "income_xp": 12, + "income_cc": 230 + }, + { + "name": "Jail Guard", + "income_xp": 18, + "income_cc": 230 + }, + { + "name": "Mall Deputy", + "income_xp": 16, + "income_cc": 250 + }, + { + "name": "Mall Manager", + "income_xp": 24, + "income_cc": 280 + }, + { + "name": "Master World Builder", + "income_xp": 24, + "income_cc": 300 + }, + { + "name": "Mayors Secretary", + "income_xp": 26, + "income_cc": 325 + }, + { + "name": "Neighborhood Deputy", + "income_xp": 20, + "income_cc": 275 + }, + { + "name": "Neighborhood Leader", + "income_xp": 24, + "income_cc": 300 + }, + { + "name": "News Editor", + "income_xp": 22, + "income_cc": 275 + }, + { + "name": "Outlands Chief", + "income_xp": 24, + "income_cc": 320 + }, + { + "name": "Outlands Deputy", + "income_xp": 22, + "income_cc": 275 + }, + { + "name": "Place Chief", + "income_xp": 22, + "income_cc": 260 + }, + { + "name": "Place Deputy", + "income_xp": 12, + "income_cc": 225 + }, + { + "name": "Post Office Manager", + "income_xp": 20, + "income_cc": 250 + }, + { + "name": "Security Advisor", + "income_xp": 20, + "income_cc": 250 + }, + { + "name": "Security Captain", + "income_xp": 26, + "income_cc": 300 + }, + { + "name": "Security Chief", + "income_xp": 28, + "income_cc": 325 + }, + { + "name": "Security Commissioner", + "income_xp": 30, + "income_cc": 350 + }, + { + "name": "Security Lieutenant", + "income_xp": 24, + "income_cc": 280 + }, + { + "name": "Security Officer", + "income_xp": 22, + "income_cc": 240 + }, + { + "name": "Security Sergeant", + "income_xp": 22, + "income_cc": 260 + }, + { + "name": "Senior City Guide", + "income_xp": 24, + "income_cc": 300 + }, + { + "name": "Sponsor IC", + "income_xp": 25, + "income_cc": 300 + }, + { + "name": "Sponsor Team Member", + "income_xp": 25, + "income_cc": 300 + }, + { + "name": "Suburbs Chief", + "income_xp": 24, + "income_cc": 260 + }, + { + "name": "Tech CD", + "income_xp": 26, + "income_cc": 325 + }, + { + "name": "VRML Doc", + "income_xp": 18, + "income_cc": 230 + }, + { + "name": "World Builder", + "income_xp": 22, + "income_cc": 275 + } +] diff --git a/api/db/seed_data/store_data.json b/api/db/seed_data/store_data.json new file mode 100644 index 00000000..39b3a461 --- /dev/null +++ b/api/db/seed_data/store_data.json @@ -0,0 +1,218 @@ +[ + { + "name": "Antique Shop", + "description": "Antique Shop", + "slug": "antiqueshop", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Appliance Shop", + "description": "Appliance Shop", + "slug": "applianceshop", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Aquatics Shop", + "description": "Aquatics Shop", + "slug": "aquaticsshop", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Bargain Outlet", + "description": "Bargain Outlet", + "slug": "bargainoutlet", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Bedroom Showcase", + "description": "Bedroom Showcase", + "slug": "bedroomshowcase", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Car Dealer", + "description": "Car Dealer", + "slug": "cardealer", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Carpet Shop", + "description": "Carpet Shop", + "slug": "carpetshop", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Collectibles", + "description": "collectibles", + "slug": "collectibles", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Electronics Store", + "description": "Electronics Store", + "slug": "electronicsstore", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Fine Art Shop", + "description": "Fine Art Shop", + "slug": "fineartshop", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Furniture Store", + "description": "Furniture Store", + "slug": "furniturestore", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Garden Store", + "description": "Garden Store", + "slug": "gardenstore", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "General Store", + "description": "General Store", + "slug": "generalstore", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Gift Shop", + "description": "Gift Shop", + "slug": "giftshop", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "HOLDS DEPOT", + "description": "HOLDS DEPOT", + "slug": "holdsdepot", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Holiday Shop", + "description": "Holiday Shop", + "slug": "holidayshop", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Homebuilder", + "description": "Homebuilder", + "slug": "homebuilder", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Jewelry Store", + "description": "Jewelry Store", + "slug": "jewelrystore", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Kitchen Store", + "description": "Kitchen Store", + "slug": "kitchenstore", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Large Item Shop", + "description": "Large Item Shop", + "slug": "largeitemshop", + "assets_dir": "/shop/", + "world_filename": "vrml/largeitems/largeitems.wrl", + "type": "shop" + }, + { + "name": "Magical Corner", + "description": "Magical Corner", + "slug": "magicalcorner", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Novelty Store", + "description": "Novelty Store", + "slug": "noveltystore", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Pet Shop", + "description": "Pet Shop", + "slug": "petshop", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Space Port", + "description": "Space Port", + "slug": "spaceport", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Toy Store", + "description": "Toy Store", + "slug": "toystore", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Weapon Displays", + "description": "Weapon Displays", + "slug": "weapondisplays", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + }, + { + "name": "Wedding Shop", + "description": "Wedding Shop", + "slug": "weddingshop", + "assets_dir": "/shop/", + "world_filename": "vrml/shop.wrl", + "type": "shop" + } +] diff --git a/api/package-lock.json b/api/package-lock.json index 2482d6a0..2e1b8df1 100644 --- a/api/package-lock.json +++ b/api/package-lock.json @@ -2039,6 +2039,11 @@ "babel-preset-current-node-syntax": "^1.0.0" } }, + "badwords-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/badwords-list/-/badwords-list-1.0.0.tgz", + "integrity": "sha512-oWhaSG67e+HQj3OGHQt2ucP+vAPm1wTbdp2aDHeuh4xlGXBdWwzZ//pfu6swf5gZ8iX0b7JgmSo8BhgybbqszA==" + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2171,6 +2176,14 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "requires": { + "streamsearch": "^1.1.0" + } + }, "bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", @@ -2513,8 +2526,7 @@ "deepmerge": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" }, "defer-to-connect": { "version": "1.1.3", @@ -2592,6 +2604,39 @@ "esutils": "^2.0.2" } }, + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, "dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", @@ -2665,6 +2710,11 @@ "ansi-colors": "^4.1.1" } }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -2732,8 +2782,7 @@ "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, "eslint": { "version": "7.32.0", @@ -3202,6 +3251,14 @@ } } }, + "express-fileupload": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/express-fileupload/-/express-fileupload-1.4.3.tgz", + "integrity": "sha512-vRzZo2YELm68DfR/CX8RMXgeK9BTAANxigrKACPjCXFGEzkCt/QWbqaIXP3W61uaX/hLj0CAo3/EVelpSQXkqA==", + "requires": { + "busboy": "^1.6.0" + } + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -3556,6 +3613,17 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, "http-cache-semantics": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", @@ -3850,6 +3918,11 @@ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + }, "is-property": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", @@ -5161,6 +5234,11 @@ } } }, + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -5177,6 +5255,14 @@ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" }, + "node-cron": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/node-cron/-/node-cron-3.0.2.tgz", + "integrity": "sha512-iP8l0yGlNpE0e6q1o185yOApANRe47UPbLf4YxfbiNHt/RU5eBcGB/e0oudruheSf+LQeDMezqC5BVAb5wwRcQ==", + "requires": { + "uuid": "8.3.2" + } + }, "node-fetch": { "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", @@ -5427,6 +5513,11 @@ "lines-and-columns": "^1.1.6" } }, + "parse-srcset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", + "integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==" + }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -5473,8 +5564,7 @@ "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "picomatch": { "version": "2.3.0", @@ -5548,6 +5638,16 @@ } } }, + "postcss": { + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -5858,6 +5958,19 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "sanitize-html": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.10.0.tgz", + "integrity": "sha512-JqdovUd81dG4k87vZt6uA6YhDfWkUGruUu/aPmXLxXi45gZExnt9Bnw/qeQU8oGf82vPyaE0vO4aH0PbobB9JQ==", + "requires": { + "deepmerge": "^4.2.2", + "escape-string-regexp": "^4.0.0", + "htmlparser2": "^8.0.0", + "is-plain-object": "^5.0.0", + "parse-srcset": "^1.0.2", + "postcss": "^8.3.11" + } + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -5993,6 +6106,11 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, "source-map-support": { "version": "0.5.13", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", @@ -6036,6 +6154,11 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, + "streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" + }, "string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -6484,6 +6607,11 @@ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, "v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", diff --git a/api/package.json b/api/package.json index ea2dbc1d..bad12161 100644 --- a/api/package.json +++ b/api/package.json @@ -8,19 +8,23 @@ "build:prod": "tsc --project tsconfig.prod.json", "db:init": "ts-node -r dotenv/config db/scripts/create-db.ts && npm run db:migrate && npm run db:seed", "db:migrate": "knex migrate:latest --knexfile src/knexfile.ts", + "db:migrate:make": "knex migrate:make --knexfile src/knexfile.ts", "db:rollback": "knex migrate:rollback --knexfile src/knexfile.ts", "db:seed": "knex seed:run --knexfile src/knexfile.ts", "lint": "eslint -c .eslintrc.json src/**/*", "test": "jest", - "dev": "nodemon -e ts --exec \"node --inspect=0.0.0.0:9229 -r ts-node/register -r dotenv/config src/api.ts\"" + "dev": "nodemon -e ts --exec \"node --inspect=0.0.0.0:9229 -r ts-node/register -r dotenv/config src/api.ts\"", + "script": "ts-node -r dotenv/config" }, "author": "", "license": "ISC", "dependencies": { + "badwords-list": "^1.0.0", "bcrypt": "^5.0.1", "body-parser": "^1.19.0", "dotenv": "^10.0.0", "express": "^4.17.1", + "express-fileupload": "^1.4.3", "jsonwebtoken": "^8.5.1", "knex": "^2.0.0", "lodash": "^4.17.21", @@ -28,8 +32,10 @@ "morgan": "^1.10.0", "mysql": "^2.18.1", "mysql2": "^2.3.3", + "node-cron": "^3.0.2", "nodemailer": "^6.7.2", "reflect-metadata": "^0.1.13", + "sanitize-html": "^2.10.0", "typedi": "^0.10.0", "validator": "^13.6.0" }, diff --git a/api/src/api.ts b/api/src/api.ts index 808cf487..e80d1b4b 100644 --- a/api/src/api.ts +++ b/api/src/api.ts @@ -1,28 +1,35 @@ import 'reflect-metadata'; import * as http from 'http'; import express from 'express'; -import { - Request, - Response, -} from 'express'; +const fileUpload = require('express-fileupload'); +import { Request, Response } from 'express'; import morgan from 'morgan'; import { + adminRoutes, avatarRoutes, memberRoutes, messageRoutes, placeRoutes, objectInstanceRoutes, - hoodRoutes, + objectRoutes, colonyRoutes, + hoodRoutes, blockRoutes, homeRoutes, + messageboardRoutes, + inboxRoutes, + mallRoutes, + fleamarketRoutes, } from './routes'; +require('./cron/cron')(); + interface HttpException extends Error { status: number; } const app = express(); +app.use(fileUpload()); app.use(express.json()); app.use(express.urlencoded({ extended: true })); app.use(morgan('dev')); @@ -44,11 +51,17 @@ app.use('/api/member', memberRoutes); app.use('/api/place', placeRoutes); app.use('/api/message', messageRoutes); app.use('/api/object_instance', objectInstanceRoutes); +app.use('/api/object', objectRoutes); app.use('/api/avatar', avatarRoutes); app.use('/api/hood', hoodRoutes); app.use('/api/colony', colonyRoutes); app.use('/api/block', blockRoutes); app.use('/api/home', homeRoutes); +app.use('/api/messageboard', messageboardRoutes); +app.use('/api/admin', adminRoutes); +app.use('/api/inbox', inboxRoutes); +app.use('/api/mall', mallRoutes); +app.use('/api/fleamarket', fleamarketRoutes); app.use((request, response, next) => { const error = new Error('Not found'); @@ -58,7 +71,7 @@ app.use((request, response, next) => { app.use((error: HttpException, request: Request, response: Response) => { response.status(error.status || 500); - response.json({ error: { message: error.message }}); + response.json({ error: { message: error.message } }); }); const server = http.createServer(app); diff --git a/api/src/controllers/admin.controller.ts b/api/src/controllers/admin.controller.ts new file mode 100644 index 00000000..dfb5f206 --- /dev/null +++ b/api/src/controllers/admin.controller.ts @@ -0,0 +1,257 @@ +import {Request, Response} from 'express'; +import { Container } from 'typedi'; + +import { AdminService, MemberService, AvatarService } from '../services'; + +class AdminController { + constructor( + private adminService: AdminService, + private memberService: MemberService, + private avatarService: AvatarService, + ) {} + + public async addBan(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + const admin = await this.memberService.canAdmin(session.id); + if (admin) { + try { + await this.adminService.addBan( + request.body.ban_member_id, + request.body.time_frame, + request.body.type, + session.id, + request.body.reason, + ); + response.status(200).json({message: 'Ban added successfully'}); + } catch (error) { + console.log(error); + response.status(400).json({error}); + } + } else { + response.status(403).json({message: 'Access Denied'}); + } + } + + public async addDonor(request: Request, response: Response): Promise{ + const session = this.memberService.decryptSession(request, response); + if (!session) return; + const accessLevel = await this.memberService.getAccessLevel(session.id); + if (accessLevel === 'admin') { + try { + await this.adminService.addDonor( + request.body.member_id, + request.body.level, + ); + response.status(200).json({message: 'Donor added successfully'}); + } catch (e) { + console.log(e); + response.status(400).json({error: 'Error adding donor'}); + } + } else { + response.status(403).json({error: 'Access Denied'}); + } + } + + public async getBanHistory(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + const admin = await this.memberService.canAdmin(session.id); + if (admin) { + try { + const banHistory = await this.adminService + .getBanHistory(Number(request.query.ban_member_id.toString())); + response.status(200).json({banHistory}); + } catch (error) { + console.log(error); + response.status(400).json({error}); + } + } else { + response.status(403).json({message: 'Access Denied'}); + } + } + + public async deleteBan(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + const admin = await this.memberService.canAdmin(session.id); + if (admin) { + try { + const banId = Number(request.body.banId); + const reason = request.body.banReason; + const deleteBy = await this.memberService.getMemberInfoPublic(session.id); + const updateReason = `${reason} (Deleted by ${deleteBy.username})`; + await this.adminService.deleteBan(banId, updateReason); + response.status(200).json({message: 'Ban deleted successfully'}); + } catch (error) { + console.log(error); + response.status(400).json({error}); + } + } else { + response.status(403).json({message: 'Access Denied'}); + } + } + + public async getDonor(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + const accessLevel = await this.memberService.getAccessLevel(session.id); + if (accessLevel === 'admin') { + const currentLevel = await this + .adminService + .getDonor(Number(request.query.memberId)); + response.status(200).json({donorLevel: currentLevel}); + } else { + response.status(403).json({error: 'Access Denied'}); + } + } + + public async searchUsers(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + const admin = await this.memberService.canAdmin(session.id); + if (admin) { + try { + const results = await this.adminService.searchUsers( + request.query.search.toString(), + Number.parseInt(request.query.limit.toString()), + Number.parseInt(request.query.offset.toString()), + ); + response.status(200).json({results}); + } catch (error) { + console.log(error); + response.status(400).json({error}); + } + } else { + response.status(403).json({message: 'Access Denied'}); + } + } + + public async searchUserChat(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + const admin = await this.memberService.canAdmin(session.id); + if (admin) { + try { + const results = await this.adminService.searchUserChat( + request.query.search.toString(), + Number.parseInt(request.query.user.toString()), + Number.parseInt(request.query.limit.toString()), + Number.parseInt(request.query.offset.toString()), + ); + response.status(200).json({results}); + } catch (error) { + console.log(error); + response.status(400).json({error}); + } + } else { + response.status(403).json({message: 'Access Denied'}); + } + } + + public async avatars(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + const admin = await this.memberService.canAdmin(session.id); + if (admin) { + try { + const results = await this.adminService.searchAvatars( + parseInt(request.query.status.toString()), + parseInt(request.query.limit.toString()), + parseInt(request.query.offset.toString()), + ); + response.status(200).json({results}); + } catch (error) { + console.log(error); + response.status(400).json({error}); + } + } else { + response.status(403).json({message: 'Access Denied'}); + } + } + + public async avatarApprove(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + const admin = await this.memberService.canAdmin(session.id); + if (!admin) { + response.status(403).json({message: 'Access Denied'}); + return; + } + try { + this.avatarService.approve( + parseInt(request.body.id.toString()), + ); + response.status(200).json({'status':'success'}); + } catch (error) { + console.log(error); + response.status(400).json({error}); + } + } + public async avatarReject(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + const admin = await this.memberService.canAdmin(session.id); + if (!admin) { + response.status(403).json({message: 'Access Denied'}); + return; + } + try { + this.avatarService.reject( + parseInt(request.body.id.toString()), + ); + response.status(200).json({'status':'success'}); + } catch (error) { + console.log(error); + response.status(400).json({error}); + } + } + + public async places(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + const admin = await this.memberService.canAdmin(session.id); + if (admin) { + try { + const results = await this.adminService.searchPlaces( + request.query.type.toString(), + parseInt(request.query.limit.toString()), + parseInt(request.query.offset.toString()), + ); + + response.status(200).json({results}); + } catch (error) { + console.log(error); + response.status(400).json({error}); + } + } else { + response.status(403).json({message: 'Access Denied'}); + } + } + + public async placesUpdate(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + const admin = await this.memberService.canAdmin(session.id); + if (admin) { + try { + this.adminService.updatePlaces( + parseInt(request.body.id.toString()), + request.body.column.toString(), + request.body.content.toString(), + ); + response.status(200).json({status: 'success'}); + } catch (error) { + console.log(error); + response.status(400).json({error}); + } + } else { + response.status(403).json({message: 'Access Denied'}); + } + } +} + +const adminService = Container.get(AdminService); +const memberService = Container.get(MemberService); +const avatarService = Container.get(AvatarService); +export const adminController = new AdminController(adminService, memberService, avatarService); diff --git a/api/src/controllers/avatar.controller.ts b/api/src/controllers/avatar.controller.ts index f52fa3de..810544e0 100644 --- a/api/src/controllers/avatar.controller.ts +++ b/api/src/controllers/avatar.controller.ts @@ -1,43 +1,34 @@ import { Request, Response} from 'express'; +import {Container} from 'typedi'; +import validator from 'validator'; + +import { + AvatarService, + MemberService +} from '../services'; -import { db } from '../db'; -interface QueryParams { - limit: string, - order: string, - orderDirection: string, -} class AvatarController { - public static readonly MAX_LIMIT = 1000; - public static readonly VALID_ORDERS = ['id']; - public static readonly VALID_ORDER_DIRECTIONS = ['asc', 'desc']; - constructor() {} + constructor( + private avatarService: AvatarService, + private memberService: MemberService, + ) {} /** * Returns an ordered list of all avatars. */ public async getResults(request: Request, response: Response): Promise { - const { limit, order, orderDirection }: QueryParams = ( ( request.query)); - const parsedLimit = parseInt( limit); - - const queryLimit = (parsedLimit <= AvatarController.MAX_LIMIT) - ? parsedLimit - : 10; - - const orderBy = AvatarController.VALID_ORDERS.includes(order) - ? order - : 'id'; - - const queryOrderDirection = AvatarController.VALID_ORDER_DIRECTIONS.includes(orderDirection) - ? orderDirection - : ''; - try { - const avatars = await db.avatar - .select('id', 'name') - .orderBy(orderBy, queryOrderDirection) - .limit(queryLimit); + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken(apitoken); + if (!session) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + const avatars = await this.avatarService.getResults(session.id); response.status(200).json({ avatars }); } catch (error) { console.error(error); @@ -46,5 +37,150 @@ class AvatarController { }); } } + + public async add(request, response: Response): Promise { + let fileExtension; + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken(apitoken); + if (!session) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + + if (validator.isEmpty(request.body.name)) { + response.status(400).json({ + error: 'Avatar name is required.', + }); + return; + } + + if (!request.files) { + response.status(400).json({ + error: 'VRML file is required', + }); + return; + } + + if ( + typeof request.files.wrlFile === 'undefined' || + validator.isEmpty(request.files.wrlFile.name) + ) { + response.status(400).json({ + error: 'VRML file is required', + }); + return; + } + fileExtension = request.files.wrlFile.name.split('.').pop(); + if ( + fileExtension !== 'wrl' || + !['application/octet-stream', 'model/vrml', 'x-world/x-vrml', 'application/x-world'].includes( + request.files.wrlFile.mimetype, + ) + ) { + response.status(400).json({ + error: 'VRML file must be a .wrl file', + }); + return; + } + + if (request.files.wrlFile.size > AvatarService.WRL_FILESIZE_LIMIT) { + response.status(400).json({ + error: 'VRML file must less than 250kb', + }); + return; + } + + if ( + typeof request.files.textureFile !== 'undefined' && + !validator.isEmpty(request.files.textureFile.name) + ) { + fileExtension = request.files.textureFile.name.split('.').pop(); + if ( + !['jpeg', 'jpg'].includes(fileExtension) || + !['image/jpeg', 'image/pjpeg'].includes(request.files.textureFile.mimetype) + ) { + response.status(400).json({ + error: 'Texture file must be a .jpeg or .jpg file' + }); + return; + } + if (request.files.textureFile.size > AvatarService.TEXTURE_FILESIZE_LIMIT) { + response.status(400).json({ + error: 'Texture file must less than 250kb', + }); + return; + } + } + + if ( + typeof request.files.imageFile === 'undefined' || + validator.isEmpty(request.files.imageFile.name) + ) { + response.status(400).json({ + error: 'Thumbnail file is required.', + }); + return; + } + + fileExtension = request.files.imageFile.name.split('.').pop(); + if ( + !['jpeg', 'jpg'].includes(fileExtension) || + !['image/jpeg', 'image/pjpeg'].includes(request.files.imageFile.mimetype) + ) { + response.status(400).json({ + error: 'Thumbnail file must be a .jpeg or .jpg file', + }); + return; + } + if (request.files.imageFile.size > AvatarService.IMAGE_FILESIZE_LIMIT) { + response.status(400).json({ + error: 'Thumbnail file must less than 250kb', + }); + return; + } + + let gesturesString = ""; + if ( + typeof request.body.gestures !== 'undefined'|| + !validator.isEmpty(request.body.gestures) + ) { + gesturesString = JSON.stringify(request.body.gestures.split(",")); + } + + if ( + typeof request.body.private === 'undefined'|| + validator.isEmpty(request.body.private) + ) { + response.status(400).json({ + error: 'Usage access is required', + }); + return; + } + + try { + await this.avatarService.create( + request.files.wrlFile, + request.files.imageFile, + request.files.textureFile ?? null, + request.body.name, + gesturesString, + parseInt(request.body.private), + session.id, + ); + } catch (e) { + response.status(400).json({ + error: e, + }); + return; + } + + response.status(200).json({ + status: 'success', + }); + } } -export const avatarController = new AvatarController(); +const avatarService = Container.get(AvatarService); +const memberService = Container.get(MemberService); +export const avatarController = new AvatarController(avatarService, memberService); diff --git a/api/src/controllers/block.controller.ts b/api/src/controllers/block.controller.ts index d3320a0a..d797508c 100644 --- a/api/src/controllers/block.controller.ts +++ b/api/src/controllers/block.controller.ts @@ -1,27 +1,21 @@ -import { Request, Response} from 'express'; +import { Request, Response } from 'express'; import { Container } from 'typedi'; -import {db} from '../db'; -import { MemberService, BlockService } from '../services'; +import { MemberService, BlockService, HoodService } from '../services'; class BlockController { - constructor( private memberService: MemberService, private blockService: BlockService, + private hoodService: HoodService, ) {} public async getBlock(request: Request, response: Response): Promise { const { id } = request.params; try { - const [block] = await db.place.where({ 'id': parseInt(id) }); - const [mapLocation] = await db.mapLocation.where({ 'place_id': parseInt(id) }); - - const [hood] = await db.place.where({ 'id': mapLocation.parent_place_id }); - const [hoodMapLocation] = await db.mapLocation.where({ 'place_id': hood.id }); - - const [colony] = await db.place.where({ 'id': hoodMapLocation.parent_place_id }); - + const block = await this.blockService.find(parseInt(id)); + const hood = await this.blockService.getHood(parseInt(id)); + const colony = await this.hoodService.getColony(hood.id); response.status(200).json({ block: block, hood: hood, colony: colony }); } catch (error) { console.error(error); @@ -32,22 +26,60 @@ class BlockController { public async getLocations(request: Request, response: Response): Promise { const { id } = request.params; try { - const locations = await this.blockService - .getMapLocationAndPlaces(parseInt(id)); + const locations = await this.blockService.getMapLocationAndPlaces(parseInt(id)); response.status(200).json({ locations }); } catch (error) { console.error(error); response.status(400).json({ error }); } } + public async getAccessInfoByUsername(request: Request, response: Response): Promise { + const { id } = request.params; + try { + const data = await this.blockService.getAccessInfoByUsername(parseInt(id)); + response.status(200).json({ data }); + } catch (error) { + console.log(error); + response.status(400).json({ error }); + } + } + public async postAccessInfo(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken( apitoken); + if(!session) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + const { id } = request.params; + try { + const access = await this.blockService.canManageAccess(parseInt(id), session.id); + if (!access) { + response.status(403).json({error: 'Access Denied'}); + return; + } + } catch (error) { + console.log(error); + } + const deputies = request.body.deputies; + const owner = request.body.owner; + try { + await this.blockService.postAccessInfo(parseInt(id), deputies, owner); + response.status(200).json({success: true}); + } catch (error) { + console.log(error); + } + } + public async postLocations(request: Request, response: Response): Promise { const { id } = request.params; const { apitoken } = request.headers; try { - const session = this.memberService.decodeMemberToken( apitoken); - if (!session || !(await this.memberService.isAdmin(session.id))) { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.blockService.canAdmin(parseInt(id), session.id))) { response.status(400).json({ error: 'Invalid or missing token.', }); @@ -55,23 +87,51 @@ class BlockController { const { availableLocations } = request.body; - await db.mapLocation - .update({available: false }) - .where({ parent_place_id: parseInt(id) }); + await this.blockService.resetMapLocationAvailability(parseInt(id)); + + for (const location of availableLocations) { + await this.blockService.setMapLocationAvailable(parseInt(id), location); + } - for(const location of availableLocations) { - await db.mapLocation - .insert({ - parent_place_id: parseInt(id), - location: location, - available: true, - }) - .onConflict(['parent_place_id','location']) - .merge(['available']); + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + public async canAdmin(request: Request, response: Response): Promise { + const id = request.params.id; + const { apitoken } = request.headers; + + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.blockService.canAdmin(parseInt(id), session.id))) { + response.status(400).json({ + error: 'Invalid or missing token or access denied.', + }); + return; } + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } - response.status(200).json({'status': 'success'}); + public async canManageAccess(request: Request, response: Response): Promise { + const { id } = request.params; + const { apitoken } = request.headers; + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.blockService.canManageAccess(parseInt(id), session.id))) { + response.status(403).json({ + error: 'Invalid or missing token or access denied.', + }); + return; + } + response.status(200).json({ status: 'success' }); } catch (error) { console.error(error); response.status(400).json({ error }); @@ -80,4 +140,5 @@ class BlockController { } const memberService = Container.get(MemberService); const blockService = Container.get(BlockService); -export const blockController = new BlockController(memberService, blockService); +const hoodService = Container.get(HoodService); +export const blockController = new BlockController(memberService, blockService, hoodService); diff --git a/api/src/controllers/colony.controller.ts b/api/src/controllers/colony.controller.ts index 843593e3..b6b05bc0 100644 --- a/api/src/controllers/colony.controller.ts +++ b/api/src/controllers/colony.controller.ts @@ -1,33 +1,103 @@ -import { Request, Response} from 'express'; - -import { knex } from '../db'; +import { Request, Response } from 'express'; +import { Container } from 'typedi'; +import { PlaceService, ColonyService, MemberService } from '../services'; class ColonyController { - - constructor() {} + constructor( + private placeService: PlaceService, + private colonyService: ColonyService, + private memberService: MemberService, + ) {} public async getHoods(request: Request, response: Response): Promise { const { slug } = request.params; try { - - const hoods = await knex - .select('place.id', - 'place.name', - 'map_location.location', - ) - .from('place') - .innerJoin('map_location', 'map_location.place_id', 'place.id') - .innerJoin('place as colony', 'map_location.parent_place_id', 'colony.id') - .where('colony.slug', slug) - .orderBy('map_location.location'); + const colony = await this.placeService.findBySlug(slug); + const hoods = await this.colonyService.getHoods(colony.id); response.status(200).json({ hoods }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + public async getAccessInfoByUsername(request: Request, response: Response): Promise { + const { id } = request.params; + try { + const data = await this.colonyService.getAccessInfoByUsername(parseInt(id)); + response.status(200).json({ data }); + } catch (error) { + console.log(error); + response.status(400).json({ error }); + } + } + public async postAccessInfo(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken( apitoken); + if(!session) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + const { id } = request.params; + try { + const access = await this.colonyService.canManageAccess(parseInt(id), session.id); + if (!access) { + response.status(403).json({error: 'Access Denied'}); + return; + } + } catch (error) { + console.log(error); + } + const deputies = request.body.deputies; + const owner = request.body.owner; + try { + await this.colonyService.postAccessInfo(parseInt(id), deputies, owner); + response.status(200).json({success: true}); + } catch (error) { + console.log(error); + } + } + public async canAdmin(request: Request, response: Response): Promise { + const { id } = request.params; + const { apitoken } = request.headers; + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.colonyService.canAdmin(parseInt(id), session.id))) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + response.status(200).json({ status: 'success' }); } catch (error) { console.error(error); response.status(400).json({ error }); } } + public async canManageAccess(request: Request, response: Response): Promise { + const { id } = request.params; + const { apitoken } = request.headers; + + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.colonyService.canManageAccess(parseInt(id), session.id))) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } } -export const colonyController = new ColonyController(); +const placeService = Container.get(PlaceService); +const colonyService = Container.get(ColonyService); +const memberService = Container.get(MemberService); +export const colonyController = new ColonyController(placeService, colonyService, memberService); diff --git a/api/src/controllers/fleamarket.controller.ts b/api/src/controllers/fleamarket.controller.ts new file mode 100644 index 00000000..e59da650 --- /dev/null +++ b/api/src/controllers/fleamarket.controller.ts @@ -0,0 +1,41 @@ +import { Request, Response } from 'express'; +import { Container } from 'typedi'; + +import { + MemberService, + FleaMarketService, +} from '../services'; + +class FleamarketController { + constructor( + private memberService: MemberService, + private fleaMarketService: FleaMarketService, + + ) {} + + public async canAdmin(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.fleaMarketService.canAdmin(session.id))) { + response.status(400).json({ + error: 'Invalid or missing token or access denied.', + }); + return; + } + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + +} +const memberService = Container.get(MemberService); +const fleamarketService = Container.get(FleaMarketService); +export const fleamarketController = new FleamarketController( + memberService, + fleamarketService, +); diff --git a/api/src/controllers/home.controller.ts b/api/src/controllers/home.controller.ts index 42abe9d8..04796743 100644 --- a/api/src/controllers/home.controller.ts +++ b/api/src/controllers/home.controller.ts @@ -1,6 +1,7 @@ import { Request, Response } from 'express'; import { Container } from 'typedi'; import validator from 'validator'; +import * as badwords from 'badwords-list'; import { MemberService, @@ -48,7 +49,7 @@ class HomeController { if(homeData) { const blockData = await this.homeService.getHomeBlock(homeData.id); - const homeDesignData = await this.homeService.getPlaceHomeDesign(homeData.id); + const homeDesignData = await this.homeService.getPlaceHomeDesign(userId, homeData.id); response.status(200).json({ homeData: homeData, blockData: blockData, @@ -106,6 +107,13 @@ class HomeController { throw new Error('2D house is required'); } + const bannedwords = badwords.regex; + if(houseName.match(bannedwords) || + houseDescription.match(bannedwords) || + firstName.match(bannedwords) || + lastName.match(bannedwords)){ + throw new Error('This language can not be used on CTR!'); + } // check they don't already have a home const homeInfo = await this.homeService.getHome(session.id); @@ -116,15 +124,24 @@ class HomeController { // check if they have enough for the home const memberInfo = await this.memberService.getMemberInfo(session.id); + const donor = await this.memberService.getDonorLevel(session.id); + let donorLevel = null; + if(donor){ + donorLevel = Object.values(donor).toString(); + } let purchaseAmount = 0; if(home3d) { // check they have enough in their wallet to buy the 3d home // this is optional (if not null) - const homeDesignInfo = this.homeService.getHomeDesign(home3d); - if(homeDesignInfo.price > memberInfo.walletBalance) { - throw new Error('Not enough funds to purchase house.'); + const homeDesignInfo = await this.homeService.getHomeDesign(session.id, home3d); + if(donorLevel === 'Champion' && home3d === 'championhome'){ + purchaseAmount = 0; + } else { + if(homeDesignInfo.price > memberInfo.walletBalance) { + throw new Error('Not enough funds to purchase house.'); + } + purchaseAmount = homeDesignInfo.price; } - purchaseAmount = homeDesignInfo.price; } await this.homeService.createHome( @@ -216,21 +233,35 @@ class HomeController { throw new Error('2D house is required'); } + const bannedwords = badwords.regex; + if(homeName.match(bannedwords)){ + throw new Error('This language can not be used on CTR!'); + } + // check they already have a home const homeInfo = await this.homeService.getHome(session.id); if(!homeInfo) { throw new Error('You don\'t have a home yet.'); } else { - - const currentHomeDesign = await this.homeService.getPlaceHomeDesign(homeInfo.id); + const donor = await this.memberService.getDonorLevel(session.id); + let donorLevel = null; + if(donor){ + donorLevel = Object.values(donor).toString(); + } + const currentHomeDesign = await this + .homeService + .getPlaceHomeDesign(session.id, homeInfo.id); let refund = 0; let currentHomeDesignId = null; if(currentHomeDesign) { - refund = currentHomeDesign.price; + if(donorLevel === 'Champion' && currentHomeDesign.id === 'championhome'){ + refund = 0; + } else { + refund = currentHomeDesign.price; + } currentHomeDesignId = currentHomeDesign.id; } - // check if they have enough for the home const memberInfo = await this.memberService.getMemberInfo(session.id); let purchaseAmount = 0; @@ -239,16 +270,19 @@ class HomeController { ) { // check they have enough in their wallet to buy the 3d home // this is optional (if not null) - const homeDesignInfo = this.homeService.getHomeDesign(home3d); + const homeDesignInfo = await this.homeService.getHomeDesign(session.id, home3d); if(typeof homeDesignInfo.id === 'undefined') { throw new Error('Home design not found.'); } - if(homeDesignInfo.price > (memberInfo.walletBalance + refund)) { - throw new Error('Not enough funds to purchase house.'); + if(donorLevel === 'Champion' && home3d === 'championhome'){ + purchaseAmount = 0; + } else { + if(homeDesignInfo.price > (memberInfo.walletBalance + refund)) { + throw new Error('Not enough funds to purchase house.'); + } + purchaseAmount = homeDesignInfo.price; } - purchaseAmount = homeDesignInfo.price; - } await this.homeService.updateHome( @@ -261,7 +295,7 @@ class HomeController { if(home3d !== currentHomeDesignId) { if(refund > 0) { await this.memberService - .performHomeRefundTransaction(session.id, currentHomeDesign.price); + .performHomeRefundTransaction(session.id, refund); } if(purchaseAmount > 0) { diff --git a/api/src/controllers/hood.controller.ts b/api/src/controllers/hood.controller.ts index 927952b4..7594ce8a 100644 --- a/api/src/controllers/hood.controller.ts +++ b/api/src/controllers/hood.controller.ts @@ -1,17 +1,15 @@ -import { Request, Response} from 'express'; - -import {db, knex} from '../db'; +import { Request, Response } from 'express'; +import { HoodService, MemberService } from '../services'; +import { Container } from 'typedi'; class HoodController { - - constructor() {} + constructor(private hoodService: HoodService, private memberService: MemberService) {} public async getHood(request: Request, response: Response): Promise { const { id } = request.params; try { - const [hood] = await db.place.where({ 'id': parseInt(id) }); - const [mapLocation] = await db.mapLocation.where({ 'place_id': parseInt(id) }); - const [colony] = await db.place.where({ 'id': mapLocation.parent_place_id }); + const hood = await this.hoodService.find(parseInt(id)); + const colony = await this.hoodService.getColony(parseInt(id)); response.status(200).json({ hood: hood, colony: colony }); } catch (error) { @@ -23,24 +21,91 @@ class HoodController { public async getBlocks(request: Request, response: Response): Promise { const { id } = request.params; try { - - const blocks = await knex - .select('place.id', - 'place.name', - 'map_location.location', - ) - .from('place') - .innerJoin('map_location', 'map_location.place_id', 'place.id') - .where('map_location.parent_place_id', id) - .orderBy('map_location.location'); - + const blocks = await this.hoodService.getBlocks(parseInt(id)); response.status(200).json({ blocks }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + public async getAccessInfoByUsername(request: Request, response: Response): Promise { + const { id } = request.params; + try { + const data = await this.hoodService.getAccessInfoByUsername(parseInt(id)); + response.status(200).json({ data }); + } catch (error) { + console.log(error); + response.status(400).json({ error }); + } + } + + public async postAccessInfo(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken( apitoken); + if(!session) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + const { id } = request.params; + try { + const access = await this.hoodService.canManageAccess(parseInt(id), session.id); + if (!access) { + response.status(403).json({error: 'Access Denied'}); + return; + } + } catch (error) { + console.log(error); + } + const deputies = request.body.deputies; + const owner = request.body.owner; + try { + await this.hoodService.postAccessInfo(parseInt(id), deputies, owner); + response.status(200).json({success: true}); + } catch (error) { + console.log(error); + } + } + + public async canAdmin(request: Request, response: Response): Promise { + const { id } = request.params; + const { apitoken } = request.headers; + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.hoodService.canAdmin(parseInt(id), session.id))) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + response.status(200).json({ status: 'success' }); } catch (error) { console.error(error); response.status(400).json({ error }); } } + public async canManageAccess(request: Request, response: Response): Promise { + const { id } = request.params; + const { apitoken } = request.headers; + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.hoodService.canManageAccess(parseInt(id), session.id))) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } } -export const hoodController = new HoodController(); +const hoodService = Container.get(HoodService); +const memberService = Container.get(MemberService); +export const hoodController = new HoodController(hoodService, memberService); diff --git a/api/src/controllers/inbox.controller.ts b/api/src/controllers/inbox.controller.ts new file mode 100644 index 00000000..02c8783f --- /dev/null +++ b/api/src/controllers/inbox.controller.ts @@ -0,0 +1,302 @@ +import {Request, response, Response} from 'express'; +import validator from 'validator'; +import { Container } from 'typedi'; +import { + MemberService, + InboxService, + ColonyService, + HoodService, + BlockService, + PlaceService, + MallService, +} from '../services'; +import sanitizeHtml from 'sanitize-html'; + +class InboxController { + + constructor( + private memberService: MemberService, + private inboxService: InboxService, + private colonyService: ColonyService, + private hoodService: HoodService, + private blockService: BlockService, + private placeService: PlaceService, + private mallService: MallService, + ) { + } + + public async adminCheck(placeId, id, type): Promise { + if (type === 'colony') { + try { + return await this.colonyService.canAdmin(placeId, id); + } catch (e) { + console.log(e); + } + } else if (type === 'hood') { + try { + return await this.hoodService.canAdmin(placeId, id); + } catch (e) { + console.log(e); + } + } else if (type === 'block') { + try { + return await this.blockService.canAdmin(placeId, id); + } catch (e) { + console.log(e); + } + } else if (type === 'public') { + try { + const place = await this.placeService.findById(placeId); + const access = await this.memberService.getAccessLevel(id); + if(place.slug === 'mall' && access === 'none'){ + return await this.mallService.canAdmin(id); + } else { + return await this.memberService.canAdmin(id); + } + } catch (e) { + console.log(e); + } + } else { + try { + return await this.inboxService.getAdminInfo(placeId, id); + } catch (e) { + console.log(e); + } + } + } + public async getAdminInfo(request: Request, response: Response): Promise { + const placeId = Number.parseInt(request.body.place_id); + const type = request.body.type; + const {apitoken} = request.headers; + const session = this.memberService.decodeMemberToken(apitoken); + if (!session) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + const {id} = session; + const admin = await this.adminCheck(placeId, id, type); + response.status(200).json({admin}); + } + public async getInfo(request: Request, response: Response): Promise { + const placeId = Number.parseInt(request.body.place_id); + if (placeId <= 0) { + response.status(400).json({ + error: 'placeId is required.', + }); + return; + } + try { + const placeinfo = await this.inboxService.getInfo(placeId); + response.status(200).json({placeinfo}); + } catch (error) { + console.log(error); + response.status(400).json({ + error: 'A problem occurred while trying to fetch place information.', + }); + } + } + + public async getInboxMessages(request: Request, response: Response): Promise { + const placeId = Number.parseInt(request.body.place_id); + if (placeId <= 0) { + response.status(400).json({ + error: 'placeId is required.', + }); + return; + } + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken( apitoken); + if(!session) { + response.status(400).json({ + err: 'Invalid or missing token.', + }); + return; + } + const { id } = session; + if (this.inboxService.getAdminInfo(placeId, id)) { + try { + const inboxmessages = await this.inboxService.getInboxMessages(placeId); + response.status(200).json({inboxmessages}); + } catch (error) { + console.log(error); + response.status(400).json({ + error: 'A problem occurred while trying to fetch inbox messages.', + }); + } + } else { + response.status(403).json({error:'Access Denied'}); + } + } + + public async getMessage(request: Request, response: Response): Promise { + const messageId = Number.parseInt(request.body.message_id); + const placeId = Number.parseInt(request.body.place_id); + if (placeId <= 0) { + response.status(400).json({ + error: 'placeId is required.', + }); + return; + } + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken( apitoken); + if(!session) { + response.status(400).json({ + err: 'Invalid or missing token.', + }); + return; + } + const { id } = session; + if (this.inboxService.getAdminInfo(placeId, id)) { + try { + const [getmessage] = await this.inboxService.getMessage(messageId); + console.log(getmessage); + response.status(200).json(getmessage); + } catch (error) { + console.log(error); + response.status(400).json({ + err: 'A problems occurred when getting the message', + }); + } + } + } + + public async postInboxMessage(request: Request, response: Response): Promise { + const placeId = Number.parseInt(request.body.place_id); + const subject = request.body.subject; + const uncleanBody = request.body.body; + const cleanBody = await this.inboxService.sanitize(uncleanBody); + if (subject === '') { + response.status(400).json({ + error: 'A subject is required', + }); + return; + } + if (cleanBody === '') { + response.status(400).json({ + error: 'A message is required', + }); + return; + } + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken( apitoken); + if(!session) { + response.status(400).json({ + err: 'Invalid or missing token.', + }); + return; + } + const { id } = session; + try{ + const data = await this + .inboxService + .postInboxMessage(id, placeId, subject, cleanBody); + response.status(200).json({data}); + } catch (error) { + console.log(error); + response.status(400).json({ + err: 'An error occurred when trying to post message', + }); + } + } + + public async postInboxReply(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken( apitoken); + if(!session) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + const { id } = session; + const receiverId = Number.parseInt(request.body.memberId); + const subject = request.body.subject; + const uncleanBody = request.body.body; + const cleanBody = await this.inboxService.sanitize(uncleanBody); + const parentId = request.body.parent_id; + try { + const data = await this + .inboxService + .postInboxReply(id, receiverId, subject, cleanBody, parentId); + response.status(200).json({data}); + } catch (error){ + console.log(error.error); + response.status(400).json({ + error: `${error}`, + }); + } + } + + public async deleteInboxMessage(request: Request, response: Response): Promise { + const placeId = Number.parseInt(request.body.place_id); + const messageId = Number.parseInt(request.body.message_id); + const type = request.body.type; + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken( apitoken); + if(!session) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + const { id } = session; + const admin = await this.adminCheck(placeId, id, type); + if (admin) { + try { + await this.inboxService.deleteInboxMessage(messageId); + response.status(200).json({success: 'deleted'}); + } catch (error) { + console.log(error); + } + } else { + response.status(403).json({error:'Access Denied'}); + } + } + + public async changeInboxIntro(request: Request, response: Response): Promise { + const type = request.body.type; + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken( apitoken); + if(!session) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + const { id } = session; + const placeId = Number.parseInt(request.body.place_id); + const uncleanIntro = request.body.intro; + const cleanIntro = await this.inboxService.sanitize(uncleanIntro); + const admin = await this.adminCheck(placeId, id, type); + if (admin) { + try { + await this.inboxService.changeInboxIntro(placeId, cleanIntro); + response.status(200).json({ + success: 'intro updated', + }); + } catch (error) { + console.log(error); + response.status(400).json({error: 'Error on Updating'}); + } + } else { + response.status(403).json({error: 'Access Denied'}); + } + } +} +const memberService = Container.get(MemberService); +const inboxService = Container.get(InboxService); +const colonyServices = Container.get(ColonyService); +const hoodService = Container.get(HoodService); +const blockService = Container.get(BlockService); +const placeService = Container.get(PlaceService); +const mallService = Container.get(MallService); +export const inboxController = new InboxController( + memberService, + inboxService, + colonyServices, + hoodService, + blockService, + placeService, + mallService); diff --git a/api/src/controllers/index.ts b/api/src/controllers/index.ts index 953b0b80..3e74a230 100644 --- a/api/src/controllers/index.ts +++ b/api/src/controllers/index.ts @@ -1,9 +1,15 @@ +export * from './admin.controller'; export * from './avatar.controller'; export * from './block.controller'; export * from './colony.controller'; +export * from './fleamarket.controller'; export * from './home.controller'; export * from './hood.controller'; +export * from './mall.controller'; export * from './member.controller'; export * from './message.controller'; export * from './object-instance.controller'; +export * from './object.controller'; export * from './place.controller'; +export * from './messageboard.controller'; +export * from './inbox.controller'; diff --git a/api/src/controllers/mall.controller.ts b/api/src/controllers/mall.controller.ts new file mode 100644 index 00000000..64da1f35 --- /dev/null +++ b/api/src/controllers/mall.controller.ts @@ -0,0 +1,465 @@ +import { Request, Response } from 'express'; +import { Container } from 'typedi'; + +import { + MemberService, + MallService, + ObjectService, + WalletService, + ObjectInstanceService, +} from '../services'; + +class MallController { + constructor( + private memberService: MemberService, + private mallService: MallService, + private objectService: ObjectService, + private walletService: WalletService, + private objectInstanceService: ObjectInstanceService, + ) {} + + public async canAdmin(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.mallService.canAdmin(session.id))) { + response.status(400).json({ + error: 'Invalid or missing token or access denied.', + }); + return; + } + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + public async findStores(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + + try{ + const stores = await this.mallService.getMallStores(); + response.status(200).json({ status: 'success', stores: stores }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + + } + + public async findAllObjects(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.mallService.canAdmin(session.id))) { + response.status(400).json({ + error: 'Invalid or missing token or access denied.', + }); + return; + } + const columnValues = ['id', 'member_id', 'name', 'status']; + const compareValues = ['=', '!=', '>', '<', '>=', '<=']; + + const column = request.query.column.toString(); + const compare = request.query.compare.toString(); + const content = request.query.content.toString(); + + if(columnValues.includes(column) && compareValues.includes(compare)){ + const objects = await this.mallService + .getAllObjects( + column, + compare, + content, + Number(request.query.limit), + Number(request.query.offset), + ); + response.status(200).json({ status: 'success', objects: objects }); + } else { + response.status(400).json({ status: 'Failed: Invalid search params'}); + } + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + + } + + public async objectsPendingApproval(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.mallService.canAdmin(session.id))) { + response.status(400).json({ + error: 'Invalid or missing token or access denied.', + }); + return; + } + const objects = await this.objectService.getPendingObjects(); + const returnObjects = []; + + for (const obj of objects) { + const member = await this.memberService.find({ id: obj.member_id }); + obj.username = member.username; + returnObjects.push(obj); + } + response.status(200).json({ status: 'success', objects: returnObjects }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + public async approveObject(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.mallService.canAdmin(session.id))) { + response.status(400).json({ + error: 'Invalid or missing token or access denied.', + }); + return; + } + + this.objectService.updateStatusApproved( + parseInt(request.body.objectId)); + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + public async dropMallObject(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.mallService.canAdmin(session.id))) { + response.status(400).json({ + error: 'Invalid or missing token or access denied.', + }); + return; + } + + await this.objectService.updateObjectPlace( + parseInt(request.body.objectId),parseInt(request.body.shopId)); + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + public async removeMallObject(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.mallService.canAdmin(session.id))) { + response.status(400).json({ + error: 'Invalid or missing token or access denied.', + }); + return; + } + + this.objectService.removeMallObject( + parseInt(request.body.objectId)); + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + public async deleteMallObject(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.mallService.canAdmin(session.id))) { + response.status(400).json({ + error: 'Invalid or missing token or access denied.', + }); + return; + } + + this.objectService.deleteMallObject( + parseInt(request.body.objectId)); + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + public async updateObjectLimit(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.mallService.canAdmin(session.id))) { + response.status(400).json({ + error: 'Invalid or missing token or access denied.', + }); + return; + } + + this.objectService.updateObjectLimit( + parseInt(request.body.objectId),request.body.limit); + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + public async updateObjectName(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.mallService.canAdmin(session.id))) { + response.status(400).json({ + error: 'Invalid or missing token or access denied.', + }); + return; + } + + this.objectService.updateObjectName( + parseInt(request.body.objectId),request.body.name); + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + public async rejectObject(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.mallService.canAdmin(session.id))) { + response.status(400).json({ + error: 'Invalid or missing token or access denied.', + }); + return; + } + + const objectRecord = await this.objectService.findById(parseInt(request.body.id)); + if (!objectRecord) { + response.status(400).json({ + error: 'Invalid or missing object id.', + }); + return; + } + + const sellersFee = await this.objectService.getSellerFee( + objectRecord.quantity, + objectRecord.price, + ); + + this.objectService.updateStatusRejected(objectRecord.id); + + this.objectService.performObjectUploadRefundTransaction(objectRecord.member_id, sellersFee); + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + public async refundUnsoldInstances(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session || !(await this.mallService.canAdmin(session.id))) { + response.status(400).json({ + error: 'Invalid or missing token or access denied.', + }); + return; + } + + const objectRecord = await this.objectService.findById(parseInt(request.body.id)); + if (!objectRecord) { + response.status(400).json({ + error: 'Invalid or missing object id.', + }); + return; + } + + const instances = await this.objectInstanceService.countById(objectRecord.id); + const unsoldInstances = objectRecord.quantity - instances; + const newQuantity = objectRecord.quantity - unsoldInstances; + + const sellersFee = await this.objectService.getSellerFee( + unsoldInstances, + objectRecord.price, + ); + + this.objectService.updateObjectQuantity(objectRecord.id, newQuantity); + + this.objectService.performUnsoldObjectRefundTransaction(objectRecord.member_id, sellersFee); + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + public async objectsForSale(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + try { + const placeId = parseInt(request.params.id); + const objects = await this.objectService.getMallForSaleObjects(placeId); + response.status(200).json({ status: 'success', objects: objects }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + public async findByObjectId(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session) { + response.status(400).json({ + error: 'Invalid or missing token or access denied.', + }); + return; + } + const object = await this.objectService.findByObjectId(parseInt(request.params.id)); + response.status(200).json({ status: 'success', object: object }); + } catch(error){ + console.error(error); + response.status(400).json({ error }); + } + } + + public async findStore(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session) { + response.status(400).json({ + error: 'Invalid or missing token or access denied.', + }); + return; + } + const place = await this.mallService.getStore(parseInt(request.params.id)); + response.status(200).json({ status: 'success', place: place }); + } catch(error){ + console.error(error); + response.status(400).json({ error }); + } + } + + public async findByUsername(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + try { + const session = this.memberService.decodeMemberToken(apitoken); + if (!session) { + response.status(400).json({ + error: 'Invalid or missing token or access denied.', + }); + return; + } + const object = await this.objectService.findByUsername(request.params.username); + response.status(200).json({ status: 'success', object: object }); + } catch(error){ + console.error(error); + response.status(400).json({ error }); + } + } + + public async updateObjectPosition(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session || !(await this.mallService.canAdmin(session.id))) { + response.status(400).json({ + error: 'Invalid or missing token or access denied.', + }); + return; + } + try { + if ( + typeof request.body?.position.x === 'undefined' || + typeof request.body?.position.y === 'undefined' || + typeof request.body?.position.z === 'undefined' || + typeof request.body?.rotation.x === 'undefined' || + typeof request.body?.rotation.y === 'undefined' || + typeof request.body?.rotation.z === 'undefined' || + typeof request.body?.rotation.angle === 'undefined' + ) { + throw new Error('Invalid position or rotation.'); + } + + const id = Number.parseInt(request.params.id); + + await this.mallService.updateObjectPlacement( + id, + request.body.position, + request.body.rotation, + ); + + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error: error.message }); + } + } + + public async buyObject(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + + try { + const isForSale = await this.mallService.isObjectAvailable(request.body.id); + if (!isForSale) { + response.status(400).json({ + error: 'Object is no longer available.', + }); + return; + } + + const object = await this.objectService.findById(request.body.id); + const member = await this.memberService.find({ id: session.id }); + const wallet = await this.walletService.findById(member.wallet_id); + if (object.price > wallet.balance) { + response.status(400).json({ + error: 'Not enough funds to buy this object.', + }); + return; + } + + await this.objectInstanceService.add(object, session.id); + await this.objectService.performObjectPurchaseTransaction(session.id, object.price); + await this.objectService.performObjectProfitTransaction(object.member_id, object.price); + + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } +} +const memberService = Container.get(MemberService); +const mallService = Container.get(MallService); +const objectService = Container.get(ObjectService); +const walletService = Container.get(WalletService); +const objectInstanceService = Container.get(ObjectInstanceService); +export const mallController = new MallController( + memberService, + mallService, + objectService, + walletService, + objectInstanceService, +); + diff --git a/api/src/controllers/member.controller.ts b/api/src/controllers/member.controller.ts index 7041fe8f..f3e5748f 100644 --- a/api/src/controllers/member.controller.ts +++ b/api/src/controllers/member.controller.ts @@ -3,16 +3,10 @@ import bcrypt from 'bcrypt'; import { Request, Response } from 'express'; import { Container } from 'typedi'; import validator from 'validator'; +import * as badwords from 'badwords-list'; -import {db, knex} from '../db'; -import { - sendPasswordResetEmail, - sendPasswordResetUnknownEmail, -} from '../libs'; -import { - MemberService, - HomeService, -} from '../services'; +import { sendPasswordResetEmail, sendPasswordResetUnknownEmail } from '../libs'; +import { MemberService, HomeService, PlaceService } from '../services'; import { SessionInfo } from 'session-info.interface'; class MemberController { @@ -34,10 +28,27 @@ class MemberController { * @param memberService service for interacting with member models */ constructor( - private memberService: MemberService, + private memberService: MemberService, private homeService: HomeService, - ) {} + private placeService: PlaceService) {} + public async getAdminLevel(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + const accessLevel = await this.memberService.getAccessLevel(session.id); + response.status(200).json({ accessLevel }); + } + + public async getDonorLevel(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + try { + const donorLevel = await this.memberService.getDonorLevel(session.id); + response.status(200).json(donorLevel); + } catch (e) { + response.status(400).json({ error: 'Something went wrong try to get donor level.' }); + } + } /** * Controller method for providing member information @@ -49,11 +60,12 @@ class MemberController { try { let memberInfo; - if(typeof request.params.id !== 'undefined') { - - if(await memberService.isAdmin(session.id)) { + if (typeof request.params.id !== 'undefined') { + if (await this.memberService.canAdmin(session.id)) { + memberInfo = await this.memberService.getMemberInfoAdmin(parseInt(request.params.id)); + } else if (await this.memberService.canStaff(session.id)) { memberInfo = await this.memberService.getMemberInfoAdmin(parseInt(request.params.id)); - } else if(parseInt(request.params.id) === session.id) { + } else if (parseInt(request.params.id) === session.id) { memberInfo = await this.memberService.getMemberInfo(parseInt(request.params.id)); } else { memberInfo = await this.memberService.getMemberInfoPublic(parseInt(request.params.id)); @@ -72,6 +84,106 @@ class MemberController { } } + public async getMemberId(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if(!session) return; + + try { + const userId = await this.memberService.getMemberId(request.params.username); + response.status(200).json({ userId }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + public async check3d(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if(!session) return; + try { + const user3d = await this.memberService.check3d(request.body.username); + response.status(200).json({ user3d }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + public async getActivePlaces(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if(!session) return; + try { + const places = await this.memberService.getActivePlaces(); + response.status(200).json( places ); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + public async updateLatestActivity(request: Request, response: Response): Promise{ + const session = this.memberService.decryptSession(request, response); + if (!session) return; + try { + await this.memberService.updateLatestActivity(session.id); + response.status(200).json('status: success'); + } catch (error) { + console.log(error); + } + } + + public async getPrimaryRoleName(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + try { + const PrimaryRoleName = await this.memberService.getPrimaryRoleName(session.id); + response.status(200).json({ PrimaryRoleName }); + } catch (error) { + console.log(error); + } + } + + public async getRoles(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + try { + const roles = await this.memberService.getRoles(session.id); + response.status(200).json({ roles }); + } catch (error) { + console.log(error); + response.status(400).json({ error }); + } + } + + public async updateInfo(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + const { id } = session; + const { firstName, lastName, chatdefault } = request.body; + try { + await this.memberService.updateInfo(id, firstName, lastName, chatdefault); + response.status(200).json({ message: 'success' }); + } catch (error) { + response.status(400).json({ + error: 'Error on Updating', + }); + } + } + + /** isBanned results based on member status + * 1 = active + * 0 = banned + */ + public async isBanned(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + try { + const data = await this.memberService.isBanned(session.id); + response.status(200).json({ data }); + } catch (error) { + console.log(error); + } + } + /** Controller method for creating a new user session. */ public async login(request: Request, response: Response): Promise { const { username, password } = request.body; @@ -93,6 +205,21 @@ class MemberController { } } + public async joinedPlace(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + try { + const placeId = request.body.place_id; + const is3d = request.body.is_3d; + const id = session.id; + await this.memberService.joinedPlace(id, placeId, is3d); + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error: error.message }); + } + } + /** Controller method for resetting a user's password */ public async resetPassword(request: Request, response: Response): Promise { const { newPassword, newPassword2, resetToken } = request.body; @@ -145,17 +272,24 @@ class MemberController { if (_.isUndefined(apitoken)) { throw new Error('Missing token.'); } - const session = this.memberService.decodeMemberToken( apitoken); + const session = this.memberService.decodeMemberToken(apitoken); if (session) { // refresh client token with latest from database const token = await this.memberService.getMemberToken(session.id); - this.memberService.maybeGiveDailyCredits(session.id); - const homeInfo = await this.homeService.getHome(session.id); - session.hasHome = !!homeInfo; + const { banned, banInfo } = await this.memberService.isBanned(session.id); + if (!banned) { + await this.memberService.maybeGiveDailyCredits(session.id); + const homeInfo = await this.homeService.getHome(session.id); + const chatdefault = await this.memberService.getMemberChat(session.id); + session.hasHome = !!homeInfo; + session.chatdefault = chatdefault; + } response.status(200).json({ message: 'success', token, user: session, + banned: banned, + banInfo: banInfo, }); } else { throw new Error('Invalid or missing token'); @@ -178,8 +312,13 @@ class MemberController { throw new Error('An account with this email already exists.'); } if (await this.memberService.find({ username })) { - throw new Error('An account with this email already exists.'); + throw new Error('An account with this nickname already exists.'); } + const bannedwords = badwords.regex; + if(username.match(bannedwords)){ + throw new Error('This language can not be used on CTR!'); + } + const token = await this.memberService.createMemberAndLogin(email, username, password); response.status(200).json({ message: 'Signup Completed', @@ -240,7 +379,7 @@ class MemberController { return; } const validPassword = await bcrypt.compare(currentPassword, member.password); - if (!validPassword ) { + if (!validPassword) { response.status(400).json({ error: 'Incorrect current password.', }); @@ -257,6 +396,80 @@ class MemberController { } } + public async updatePrimaryRoleId(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + const { id } = session; + const { primaryRoleId } = request.body; + try { + await this.memberService.updatePrimaryRoleId(id, primaryRoleId); + response.status(200).json({ message: 'success' }); + } catch (error) { + response.status(400).json({ + error: 'Error on Updating', + }); + } + } + + public async getBackpack(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + + const username = request.params.username; + + try { + const objects = await this.memberService.getBackpack(username); + response.status(200).json({ message: 'success', objects: objects }); + } catch (error) { + response.status(400).json({ + error: 'Error on getting backpack', + }); + } + } + + public async getStorage(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + try { + const storage = await this.memberService.getStorage(session.id); + response.status(200).json({ storage }); + } catch (error) { + console.log(error); + response.status(400).json({ error }); + } + } + + public async updateStorage(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if(!session) return; + try { + const storage = await this.memberService.getStorageById(parseInt(request.body.id)); + if(!storage){ + throw new Error('Storage area not found!'); + } + if(storage && storage.member_id !== session.id){ + throw new Error('You do not own this storage area'); + } + let storageName = request.body.content.toString(); + storageName = storageName.replace(/[^0-9a-zA-Z \-[\]/()]/g, ''); + const bannedwords = badwords.regex; + if(storageName.match(bannedwords)){ + throw new Error('You can not use this language on CTR!'); + } + if(storage && storage.member_id === session.id){ + this.placeService.updatePlaces( + parseInt(request.body.id.toString()), + 'name', + storageName, + ); + response.status(200).json({status: 'success'}); + } + } catch (error) { + console.log(error); + response.status(400).json({ error }); + } + } + /** * Checks that the given login information is valid. * @param email user email @@ -272,7 +485,7 @@ class MemberController { } /** - * + * * @param email email address */ private validatePasswordResetInput(email: string): void { @@ -287,7 +500,7 @@ class MemberController { * @param username username * @param password password */ - private validateSignupInput(email: string, username: string, password: string):void { + private validateSignupInput(email: string, username: string, password: string): void { [email, username, password].forEach(item => { if (!item || !item.length) { console.log('Missing signup details'); @@ -307,9 +520,8 @@ class MemberController { throw new Error('Provide a valid email address'); } } - - } const memberService = Container.get(MemberService); const homeService = Container.get(HomeService); -export const memberController = new MemberController(memberService, homeService); +const placeService = Container.get(PlaceService); +export const memberController = new MemberController(memberService, homeService, placeService); diff --git a/api/src/controllers/message.controller.ts b/api/src/controllers/message.controller.ts index 91a94433..18777a34 100644 --- a/api/src/controllers/message.controller.ts +++ b/api/src/controllers/message.controller.ts @@ -2,12 +2,9 @@ import { Request, Response} from 'express'; import validator from 'validator'; import { Container } from 'typedi'; -import { - db, - knex, -} from '../db'; -import { Message } from 'models'; -import { MemberService } from '../services'; +import { MemberService, MessageService } from '../services'; + +const badwords = require('badwords-list'); interface QueryParams { limit: string, @@ -16,11 +13,11 @@ interface QueryParams { } class MessageController { - public static readonly MAX_QUERY_LIMIT = 1000; - public static readonly VALID_ORDERS = ['id']; - public static readonly VALID_ORDER_DIRECTIONS = ['asc', 'desc']; - constructor(private memberService: MemberService) {} + constructor( + private memberService: MemberService, + private messageService: MessageService, + ) {} /** Handles storing a user message to the database */ public async addMessage(request: Request, response: Response): Promise { @@ -33,7 +30,7 @@ class MessageController { return; } - if(parseInt(request.params.placeId) <= 0) { + if(Number.parseInt(request.params.placeId) <= 0) { response.status(400).json({ error: 'placeId is required.', }); @@ -46,19 +43,21 @@ class MessageController { }); return; } - const bannedwords = /(nigger)|(chinc)/i; + const bannedwords = badwords.regex; if (bannedwords.test(request.body.body)) { try { const { id } = session; const { body } = request.body; const placeId = Number.parseInt(request.params.placeId); - const [messageId] = await db.message - .insert({ - body, - member_id: id, - place_id: placeId, - status: 2, - }); + + + const messageId = await this.messageService.create( + id, + placeId, + body, + 2, + ); + response.status(200).json({ messageId }); } catch (error) { console.error(error); @@ -72,13 +71,12 @@ class MessageController { const { id } = session; const { body } = request.body; const placeId = Number.parseInt(request.params.placeId); - const [messageId] = await db.message - .insert({ - body, - member_id: id, - place_id: placeId, - status: 1, - }); + const messageId = await this.messageService.create( + id, + placeId, + body, + 1, + ); response.status(200).json({ messageId }); } catch (error) { console.error(error); @@ -88,6 +86,46 @@ class MessageController { } } } + + /** delete a message from the chat **/ + public async deleteMessage(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken( apitoken); + if(!session) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + + const messageId = Number.parseInt(request.params.messageid); + + if(messageId <= 0) { + response.status(400).json({ + error: 'messageId is required.', + }); + return; + } + + try { + // Check if the member has permission to delete the message + const admin = await this.memberService.canAdmin(session.id); + if (!admin) { + response.status(403).json({ + error: 'You do not have permission to delete this message.', + }); + return; + } + + await this.messageService.deleteMessage(messageId); + response.status(200).json({ success: true }); + } catch (error) { + console.error(error); + response.status(400).json({ + error: 'A problem occurred while trying to delete the message.', + }); + } + } /** Provides an ordered list of messages for the given place */ public async getResults(request: Request, response: Response): Promise { @@ -100,24 +138,14 @@ class MessageController { } const { limit, order, orderDirection }: QueryParams = ( ( request.query)); const parsedLimit = Number.parseInt(limit); - const queryLimit = (parsedLimit > 0 && parsedLimit <= MessageController.MAX_QUERY_LIMIT) - ? parsedLimit - : 10; - const queryOrder = MessageController.VALID_ORDERS.includes(order) - ? order - : 'id'; - const queryOrderDirection = MessageController.VALID_ORDER_DIRECTIONS.includes(orderDirection) - ? orderDirection - : 'desc'; try { - const messages = await knex - .select('message.id', 'message.body as msg', 'member.username as username') - .from('message') - .where('message.place_id', placeId) - .where('message.status', '1') - .innerJoin('member', 'message.member_id', 'member.id') - .orderBy(queryOrder, queryOrderDirection) - .limit(queryLimit); + + const messages = await this.messageService.getResults( + placeId, + order, + orderDirection, + parsedLimit, + ); response.status(200).json({ messages }); } catch (error) { console.error(error); @@ -128,4 +156,5 @@ class MessageController { } } const memberService = Container.get(MemberService); -export const messageController = new MessageController(memberService); +const messageService = Container.get(MessageService); +export const messageController = new MessageController(memberService, messageService); diff --git a/api/src/controllers/messageboard.controller.ts b/api/src/controllers/messageboard.controller.ts new file mode 100644 index 00000000..c7ae4153 --- /dev/null +++ b/api/src/controllers/messageboard.controller.ts @@ -0,0 +1,271 @@ +import {Request, response, Response} from 'express'; +import validator from 'validator'; +import { Container } from 'typedi'; +import { + MemberService, + MessageboardService, + ColonyService, + HoodService, + BlockService, + PlaceService, + MallService, +} from '../services'; +import sanitizeHtml from 'sanitize-html'; + +class MessageboardController { + + constructor( + private memberService: MemberService, + private messageboardService: MessageboardService, + private colonyService: ColonyService, + private hoodService: HoodService, + private blockService: BlockService, + private placeService: PlaceService, + private mallService: MallService, + ) { + } + + public async adminCheck(placeId, id, type): Promise { + if (type === 'colony') { + try { + return await this.colonyService.canAdmin(placeId, id); + } catch (e) { + console.log(e); + } + } else if (type === 'hood') { + try { + return await this.hoodService.canAdmin(placeId, id); + } catch (e) { + console.log(e); + } + } else if (type === 'block') { + try { + return await this.blockService.canAdmin(placeId, id); + } catch (e) { + console.log(e); + } + } else if (type === 'public') { + try { + const place = await this.placeService.findById(placeId); + const access = await this.memberService.getAccessLevel(id); + if(place.slug === 'mall' && access === 'none'){ + return await this.mallService.canAdmin(id); + } else { + return await this.memberService.canAdmin(id); + } + } catch (e) { + console.log(e); + } + } else { + try { + return await this.messageboardService.getAdminInfo(placeId, id); + } catch (e) { + console.log(e); + } + } + } + public async getAdminInfo(request: Request, response: Response): Promise { + const placeId = Number.parseInt(request.body.place_id); + const type = request.body.type; + const {apitoken} = request.headers; + const session = this.memberService.decodeMemberToken(apitoken); + if (!session) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + const {id} = session; + const admin = await this.adminCheck(placeId, id, type); + response.status(200).json({admin}); + } + public async getInfo(request: Request, response: Response): Promise { + const placeId = Number.parseInt(request.body.place_id); + if (placeId <= 0) { + response.status(400).json({ + error: 'placeId is required.', + }); + return; + } + try { + const placeinfo = await this.messageboardService.getInfo(placeId); + console.log(placeinfo); + response.status(200).json({placeinfo}); + } catch (error) { + console.log(error); + response.status(400).json({ + error: 'A problem occurred while trying to fetch place information.', + }); + } + } + + public async getMessageboardMessages(request: Request, response: Response): Promise { + const placeId = Number.parseInt(request.body.place_id); + if (placeId <= 0) { + response.status(400).json({ + error: 'placeId is required.', + }); + return; + } + try { + const messageboardmessages = await this.messageboardService.getMessageboardMessages(placeId); + response.status(200).json({messageboardmessages}); + } catch (error) { + console.log(error); + response.status(400).json({ + error: 'A problem occurred while trying to fetch message board messages.', + }); + } + } + + public async getMessage(request: Request, response: Response): Promise { + const messageId = Number.parseInt(request.body.message_id); + try { + const getmessage = await this.messageboardService.getMessage(messageId); + response.status(200).json({getmessage}); + } catch (error) { + console.log(error); + response.status(400).json({ + err: 'A problems occurred when getting the message', + }); + } + } + + public async postMessageboardMessage(request: Request, response: Response): Promise { + const placeId = Number.parseInt(request.body.place_id); + const subject = request.body.subject; + const uncleanBody = request.body.body; + const cleanBody = await this.messageboardService.sanitize(uncleanBody); + if (subject === '') { + response.status(400).json({ + error: 'A subject is required', + }); + return; + } + if (cleanBody === '') { + response.status(400).json({ + error: 'A message is required', + }); + return; + } + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken( apitoken); + if(!session) { + response.status(400).json({ + err: 'Invalid or missing token.', + }); + return; + } + const { id } = session; + try{ + const data = await this + .messageboardService + .postMessageboardMessage(id, placeId, subject, cleanBody); + response.status(200).json({data}); + } catch (error) { + console.log(error); + response.status(400).json({ + err: 'An error occurred when trying to post message', + }); + } + } + + public async postMessageboardReply(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken( apitoken); + if(!session) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + const { id } = session; + const placeId = Number.parseInt(request.body.place_id); + const subject = request.body.subject; + const uncleanBody = request.body.body; + const cleanBody = await this.messageboardService.sanitize(uncleanBody); + const parentId = request.body.parent_id; + try { + const data = await this + .messageboardService + .postMessageboardReply(id, placeId, subject, cleanBody, parentId); + response.status(200).json({data}); + } catch (error){ + console.log(error); + response.status(400).json({ + error: 'An error occurred when trying to post reply', + }); + } + } + + public async deleteMessageboardMessage(request: Request, response: Response): Promise { + const placeId = Number.parseInt(request.body.place_id); + const messageId = Number.parseInt(request.body.message_id); + const type = request.body.type; + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken( apitoken); + if(!session) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + const { id } = session; + const admin = await this.adminCheck(placeId, id, type); + if (admin) { + try { + await this.messageboardService.deleteMessageboardMessage(messageId); + response.status(200).json({success: 'deleted'}); + } catch (error) { + console.log(error); + } + } else { + response.status(403).json({error:'Access Denied'}); + } + } + + public async changeMessageboardIntro(request: Request, response: Response): Promise { + const type = request.body.type; + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken( apitoken); + if(!session) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + const { id } = session; + const placeId = Number.parseInt(request.body.place_id); + const uncleanIntro = request.body.intro; + const cleanIntro = await this.messageboardService.sanitize(uncleanIntro); + const admin = await this.adminCheck(placeId, id, type); + if (admin) { + try { + await this.messageboardService.changeMessageboardIntro(placeId, cleanIntro); + response.status(200).json({ + success: 'intro updated', + }); + } catch (error) { + console.log(error); + response.status(400).json({error: 'Error on Updating'}); + } + } else { + response.status(403).json({error: 'Access Denied'}); + } + } +} +const memberService = Container.get(MemberService); +const messageboardService = Container.get(MessageboardService); +const colonyServices = Container.get(ColonyService); +const hoodService = Container.get(HoodService); +const blockService = Container.get(BlockService); +const placeService = Container.get(PlaceService); +const mallService = Container.get(MallService); +export const messageboardController = new MessageboardController( + memberService, + messageboardService, + colonyServices, + hoodService, + blockService, + placeService, + mallService); diff --git a/api/src/controllers/object-instance.controller.ts b/api/src/controllers/object-instance.controller.ts index 823b2a74..e258ae50 100644 --- a/api/src/controllers/object-instance.controller.ts +++ b/api/src/controllers/object-instance.controller.ts @@ -1,42 +1,245 @@ -import { Request, Response} from 'express'; - -import { db } from '../db'; +import { Request, Response } from 'express'; +import { Container } from 'typedi'; +import { MemberService, ObjectInstanceService, PlaceService, FleaMarketService } from '../services'; +import * as badwords from 'badwords-list'; class ObjectInstanceController { - - constructor() {} + constructor( + private objectInstanceService: ObjectInstanceService, + private placeService: PlaceService, + private memberService: MemberService, + private fleaMarketService: FleaMarketService, + ) {} /** Stores the position of an object instance in the database */ public async updateObjectInstancePosition(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + try { if ( - !request.body?.position.x || - !request.body?.position.y || - !request.body?.position.z || - !request.body?.rotation.x || - !request.body?.rotation.y || - !request.body?.rotation.z || - !request.body?.rotation.angle + typeof request.body?.position.x === 'undefined' || + typeof request.body?.position.y === 'undefined' || + typeof request.body?.position.z === 'undefined' || + typeof request.body?.rotation.x === 'undefined' || + typeof request.body?.rotation.y === 'undefined' || + typeof request.body?.rotation.z === 'undefined' || + typeof request.body?.rotation.angle === 'undefined' ) { throw new Error('Invalid position or rotation.'); } - + const id = Number.parseInt(request.params.id); - const position = JSON.stringify({ - x: Number.parseFloat(request.body.position.x), - y: Number.parseFloat(request.body.position.y), - z: Number.parseFloat(request.body.position.z), - }); - const rotation = JSON.stringify({ - x: Number.parseFloat(request.body.rotation.x), - y: Number.parseFloat(request.body.rotation.y), - z: Number.parseFloat(request.body.rotation.z), - angle: Number.parseFloat(request.body.rotation.angle), + const objectInstance = await this.objectInstanceService.find(id); + const place = await this.placeService.findById(objectInstance.place_id); + let adminStatus = false; + if(place.slug === 'fleamarket'){ + adminStatus = await this.fleaMarketService.canAdmin(session.id); + } + if (!adminStatus && objectInstance.member_id != session.id) { + throw new Error('Not the owner of this object'); + } + + await this.objectInstanceService.updateObjectPlacement( + id, + request.body.position, + request.body.rotation, + ); + + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error: error.message }); + } + } + + public async dropObjectInstance(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + + try { + if ( + typeof request.body?.position.x === 'undefined' || + typeof request.body?.position.y === 'undefined' || + typeof request.body?.position.z === 'undefined' || + typeof request.body?.rotation.x === 'undefined' || + typeof request.body?.rotation.y === 'undefined' || + typeof request.body?.rotation.z === 'undefined' || + typeof request.body?.rotation.angle === 'undefined' + ) { + throw new Error('Invalid placeId, position or rotation.'); + } + + const id = Number.parseInt(request.params.id); + const objectInstance = await this.objectInstanceService.find(id); + const place = await this.placeService.findById(Number.parseInt(request.body.placeId)); + + if (place.slug !== 'fleamarket' && place.member_id != session.id) { + throw new Error('Not the owner of this place'); + } + + if (objectInstance.member_id != session.id) { + throw new Error('Not the owner of this object'); + } + + await this.objectInstanceService.updateObjectPlaceId(id, request.body.placeId); + await this.objectInstanceService.updateObjectPlacement( + id, + request.body.position, + request.body.rotation, + ); + const [objectInstanceData] = await this.objectInstanceService.getObjectInstanceWithObject(id); + + response.status(200).json({ status: 'success', object_instance: objectInstanceData }); + } catch (error) { + console.error(error); + response.status(400).json({ error: error.message }); + } + } + + public async updateObjectInstance(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken( apitoken); + if(!session) { + response.status(400).json({ + error: 'Invalid or missing token.', }); - - await db.objectInstance - .where({ id }) - .update({ position, rotation }); + return; + } + try{ + const objectInstance = await this.objectInstanceService.find(request.body.id); + if (objectInstance.member_id != session.id) { + throw new Error('You do not own this object!'); + } + + const objectId = Number.parseInt(request.body.id); + let objectName = request.body.name; + const objectPrice = request.body.price; + const objectBuyer = request.body.buyer; + + if( + objectName.length === 0 || + objectName === 'undefined'){ + objectName = null; + } + if(objectName === null){ + throw new Error('Object must have a name.'); + } + + const bannedwords = badwords.regex; + if(objectName.match(bannedwords)){ + throw new Error('This language can not be used on CTR!'); + } + if(objectBuyer !== null){ + if(objectBuyer.match(bannedwords)){ + throw new Error('This language can not be used on CTR!'); + } + } + + if(objectName !== null){ + await this.objectInstanceService.updateObjectInstanceName(objectId, objectName); + await this.objectInstanceService.updateObjectInstancePrice(objectId, objectPrice); + await this.objectInstanceService.updateObjectInstanceBuyer(objectId, objectBuyer); + } + } catch(error) { + console.error(error); + response.status(400).json({'error': error.message}); + } + } + + public async buyObjectInstance(request: Request, response: Response): Promise{ + const session = this.memberService.decryptSession(request, response); + if(!session) return; + try { + const objectId = Number.parseInt(request.body.id); + const buyerId = session.id; + const purchase = await this.objectInstanceService.buyObjectInstance(objectId, buyerId); + if(!purchase){ + throw new Error('Object purchase failed'); + } + response.status(200).json({ status: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error: error}); + } + } + + public async openObjectProperties(request: Request, response: Response): Promise{ + const session = this.memberService.decryptSession(request, response); + if(!session) return; + try { + const id = Number.parseInt(request.params.id); + const objectInstance = await this.objectInstanceService.getObjectInstanceWithObject(id); + response.status(200).json({objectInstance}); + } catch (error) { + console.error(error); + response.status(400).json({ error: error }); + } + } + + public async moveToBackpack(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + try { + const objects = request.body.id; + for (const obj of objects) { + await this.objectInstanceService.find(obj) + .then((response) => { + if(response.member_id !== session.id){ + throw new Error('You do not own this object!'); + } + this.objectInstanceService.updateObjectPlaceId(obj, 0); + }); + } + response.status(200).json({ message: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error: error }); + } + } + + public async moveToStorage(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + try { + const objects = request.body.id; + const place = await this.placeService.findById(request.body.place_id); + if(place.member_id !== session.id){ + throw new Error('You do not own this storage area!'); + } + for (const obj of objects) { + await this.objectInstanceService.find(obj) + .then((response) => { + if(response.member_id !== session.id){ + throw new Error('You do not own this object!'); + } + this.objectInstanceService.updateObjectPlaceId(obj, place.id); + }); + } + response.status(200).json({ message: 'success' }); + } catch (error) { + console.error(error); + response.status(400).json({ error: error }); + } + } + + public async pickUpObjectInstance(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if (!session) return; + + try { + const id = Number.parseInt(request.params.id); + const objectInstance = await this.objectInstanceService.find(id); + const place = await this.placeService.findById(objectInstance.place_id); + let adminStatus = false; + if(place.slug === 'fleamarket'){ + adminStatus = await this.fleaMarketService.canAdmin(session.id); + } + + if (!adminStatus && objectInstance.member_id != session.id) { + throw new Error('Not the owner of this object'); + } + await this.objectInstanceService.updateObjectPlaceId(id, 0); response.status(200).json({ status: 'success' }); } catch (error) { console.error(error); @@ -44,4 +247,13 @@ class ObjectInstanceController { } } } -export const objectInstanceController = new ObjectInstanceController(); +const objectInstanceService = Container.get(ObjectInstanceService); +const placeService = Container.get(PlaceService); +const memberService = Container.get(MemberService); +const fleaMarketService = Container.get(FleaMarketService); +export const objectInstanceController = new ObjectInstanceController( + objectInstanceService, + placeService, + memberService, + fleaMarketService, +); diff --git a/api/src/controllers/object.controller.ts b/api/src/controllers/object.controller.ts new file mode 100644 index 00000000..07c4076f --- /dev/null +++ b/api/src/controllers/object.controller.ts @@ -0,0 +1,218 @@ +import { Request, Response } from 'express'; +import { Container } from 'typedi'; +import { MemberService, ObjectService, WalletService } from '../services'; +import validator from 'validator'; +//import { ObjectInstanceService } from '../services'; + +class ObjectController { + constructor( + private memberService: MemberService, + private objectService: ObjectService, + private walletService: WalletService, + ) {} + + /** Validates and uploads an object for approval **/ + public async add(request, response: Response): Promise { + let fileExtension; + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken(apitoken); + if (!session) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + + if (validator.isEmpty(request.body.name)) { + response.status(400).json({ + error: 'Object name is required.', + }); + return; + } + + if (!validator.isInt(request.body.price)) { + response.status(400).json({ + error: 'Price must be a whole number.', + }); + return; + } else if (parseInt(request.body.price) < 10) { + response.status(400).json({ + error: 'Price must be a minimum of 10cc.', + }); + return; + } + + if (!validator.isInt(request.body.quantity)) { + response.status(400).json({ + error: 'Quantity must be a whole number.', + }); + return; + } else if (parseInt(request.body.quantity) < 10) { + response.status(400).json({ + error: 'Quantity must be a minimum of 10.', + }); + return; + } + + const member = await this.memberService.find({ id: session.id }); + const wallet = await this.walletService.findById(member.wallet_id); + const sellerFee = this.objectService.getSellerFee(request.body.quantity, request.body.price); + if (sellerFee > wallet.balance) { + response.status(400).json({ + error: 'Not enough funds to cover seller fee: ' + sellerFee + 'cc', + }); + return; + } + + if (!request.files) { + response.status(400).json({ + error: 'VRML file is required', + }); + return; + } + + if ( + typeof request.files.wrlFile === 'undefined' || + validator.isEmpty(request.files.wrlFile.name) + ) { + response.status(400).json({ + error: 'VRML file is required', + }); + return; + } + fileExtension = request.files.wrlFile.name.split('.').pop(); + if ( + fileExtension !== 'wrl' + || ![ + 'application/octet-stream', + 'model/vrml', + 'x-world/x-vrml', + 'application/x-world' + ].includes(request.files.wrlFile.mimetype) + ) { + response.status(400).json({ + error: 'VRML file must be a .wrl file', + }); + return; + } + + if (request.files.wrlFile.size > ObjectService.WRL_FILESIZE_LIMIT) { + response.status(400).json({ + error: 'VRML file must less than 80kb', + }); + return; + } + + if ( + typeof request.files.textureFile !== 'undefined' && + !validator.isEmpty(request.files.textureFile.name) + ) { + fileExtension = request.files.textureFile.name.split('.').pop(); + if ( + !['jpeg', 'jpg', 'gif', 'png'].includes(fileExtension) || + !['image/jpeg','image/pjpeg', 'image/gif', 'image/png'] + .includes(request.files.textureFile.mimetype) + ) { + response.status(400).json({ + error: 'Texture file must be a .jpeg, .jpg, .gif, or .png file', + }); + return; + } + if (request.files.textureFile.size > ObjectService.TEXTURE_FILESIZE_LIMIT) { + response.status(400).json({ + error: 'Texture file must less than 80kb', + }); + return; + } + } + + if ( + typeof request.files.imageFile === 'undefined' || + validator.isEmpty(request.files.imageFile.name) + ) { + response.status(400).json({ + error: 'Thumbnail file is required.', + }); + return; + } + + fileExtension = request.files.imageFile.name.split('.').pop(); + if ( + !['jpeg', 'jpg'].includes(fileExtension) || + !['image/jpeg', 'image/pjpeg'].includes(request.files.imageFile.mimetype) + ) { + response.status(400).json({ + error: 'Thumbnail file must be a .jpeg or .jpg file', + }); + return; + } + if (request.files.imageFile.size > ObjectService.IMAGE_FILESIZE_LIMIT) { + response.status(400).json({ + error: 'Thumbnail file must less than 80kb', + }); + return; + } + + try { + await this.objectService.create( + request.files.wrlFile, + request.files.imageFile, + request.files.textureFile ?? null, + request.body.name, + request.body.quantity, + request.body.price, + session.id, + ); + } catch (e) { + response.status(400).json({ + error: e, + }); + return; + } + + await this.objectService.performObjectUploadTransaction(session.id, sellerFee); + + response.status(200).json({ + status: 'success', + }); + } + + public async increaseQuantity(request: Request, response: Response): Promise { + const { apitoken } = request.headers; + const session = this.memberService.decodeMemberToken( apitoken); + if(!session) { + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + try{ + const object = await this.objectService.findById(request.body.objectId); + const increase = request.body.qty; + const member = await this.memberService.find({ id: session.id }); + const wallet = await this.walletService.findById(member.wallet_id); + const sellerFee = this.objectService.getSellerFee(increase, object.price); + if (object.member_id !== session.id) { + throw new Error('You do not own this object!'); + } + if (sellerFee > wallet.balance) { + throw new Error('You do not have enough CCs.'); + } + if (object.limit && object.quantity + increase > object.limit){ + throw new Error('You can not upload more than what the object is limited to.'); + } + await this.objectService.performObjectRestockTransaction(session.id, sellerFee); + await this.objectService.increaseQuantity(object.id, object.quantity + increase, object.status); + response.status(200).json({ + status: 'success', + }); + } catch(error) { + console.error(error); + response.status(400).json({'error': error.message}); + } + } +} +const memberService = Container.get(MemberService); +const objectService = Container.get(ObjectService); +const walletService = Container.get(WalletService); +export const objectController = new ObjectController(memberService, objectService, walletService); diff --git a/api/src/controllers/place.controller.ts b/api/src/controllers/place.controller.ts index 69bb9e1b..ac975b01 100644 --- a/api/src/controllers/place.controller.ts +++ b/api/src/controllers/place.controller.ts @@ -1,16 +1,27 @@ -import { Request, Response} from 'express'; +import { Request, Response } from 'express'; +import { PlaceService, MemberService } from '../services'; +import { Container } from 'typedi'; -import { db } from '../db'; +import * as badwords from 'badwords-list'; class PlaceController { - - constructor() {} + constructor(private placeService: PlaceService, private memberService: MemberService) {} /** Provides data about the place with the given slug */ public async getPlace(request: Request, response: Response): Promise { const { slug } = request.params; try { - const [place] = await db.place.where({ slug }); + const place = await this.placeService.findBySlug(slug); + response.status(200).json({ place }); + } catch (error) { + console.error(error); + response.status(400).json({ error }); + } + } + + public async getPlaceById(request: Request, response: Response): Promise { + try { + const place = await this.placeService.findById(parseInt(request.params.id)); response.status(200).json({ place }); } catch (error) { console.error(error); @@ -22,12 +33,32 @@ class PlaceController { public async getPlaceObjects(request: Request, response: Response): Promise { const { placeId } = request.params; try { - const objects = await db.objectInstance.where({ place_id: parseInt(placeId) }); + const objects = await this.placeService.getPlaceObjects(parseInt(placeId)); response.status(200).json({ object_instance: objects }); } catch (error) { console.error(error); response.status(400).json({ error: error.message }); } } + + public async addStorage(request: Request, response: Response): Promise { + const session = this.memberService.decryptSession(request, response); + if(!session) return; + try { + let storageName = request.body.name.toString(); + storageName = storageName.replace(/[^0-9a-zA-Z \-[\]/()]/g, ''); + const bannedwords = badwords.regex; + if(storageName.match(bannedwords)){ + throw new Error('You can not use this language on CTR!'); + } + await this.placeService.addStorage(storageName, session.id); + response.status(200).json({status: 'success'}); + } catch (error) { + console.error(error); + response.status(400).json({ error: error.message }); + } + } } -export const placeController = new PlaceController(); +const placeService = Container.get(PlaceService); +const memberService = Container.get(MemberService); +export const placeController = new PlaceController(placeService, memberService); diff --git a/api/src/controllers/role-assignment.controller.ts b/api/src/controllers/role-assignment.controller.ts new file mode 100644 index 00000000..4d4460fa --- /dev/null +++ b/api/src/controllers/role-assignment.controller.ts @@ -0,0 +1,11 @@ +import { Request, Response } from 'express'; +import { Container } from 'typedi'; + +import { RoleAssignmentService } from '../services'; + +class RoleAssignmentController { + constructor(private roleService: RoleAssignmentService) {} + +} +const roleAssignmentService = Container.get(RoleAssignmentService); +export const roleController = new RoleAssignmentController(roleAssignmentService); diff --git a/api/src/controllers/role.controller.ts b/api/src/controllers/role.controller.ts new file mode 100644 index 00000000..66b02547 --- /dev/null +++ b/api/src/controllers/role.controller.ts @@ -0,0 +1,10 @@ +import { Request, Response } from 'express'; +import { Container } from 'typedi'; + +import { RoleService } from '../services'; + +class RoleController { + constructor(private roleService: RoleService) {} +} +const roleService = Container.get(RoleService); +export const roleController = new RoleController(roleService); diff --git a/api/src/cron/cron.ts b/api/src/cron/cron.ts new file mode 100644 index 00000000..c2d124d8 --- /dev/null +++ b/api/src/cron/cron.ts @@ -0,0 +1,19 @@ +import cron from 'node-cron'; + +const cronTab = [ + { + interval: '*/5 0,1,2,3,4 * * 5', + task: 'role-credit', + }, +]; + +module.exports = () => { + console.log('Cron Initiated'); + cronTab.forEach(job => { + cron.schedule(job.interval, () => { + require('./' + job.task)(); + }, { + timezone: 'America/New_York', + }); + }); +}; diff --git a/api/src/cron/role-credit.ts b/api/src/cron/role-credit.ts new file mode 100644 index 00000000..e31c055e --- /dev/null +++ b/api/src/cron/role-credit.ts @@ -0,0 +1,19 @@ +import { Container } from 'typedi'; +import { RoleAssignmentService } from '../services'; + +module.exports = async () => { + console.log('CRON[role-credit]: Running...'); + const roleAssignmentService = Container.get(RoleAssignmentService); + const batch = await roleAssignmentService.getMembersDueRoleCredit(20); + console.log(`CRON[role-credit]: ${ batch.length } to process...`); + for(const row of batch) { + await roleAssignmentService.giveWeeklyRoleCredit( + row.member_id, + row.xp, + row.wallet_id, + row.income_xp, + row.income_cc, + row.role_id, + ); + } +}; diff --git a/api/src/db/db.class.ts b/api/src/db/db.class.ts index be19ffb4..d3099e9a 100644 --- a/api/src/db/db.class.ts +++ b/api/src/db/db.class.ts @@ -19,6 +19,9 @@ export class Db { get home() { return this.knex('home'); } + get mallObject() { + return this.knex('mall_object'); + } get mapLocation() { return this.knex('map_location'); } @@ -28,12 +31,21 @@ export class Db { get message() { return this.knex('message'); } + get object() { + return this.knex('object'); + } get objectInstance() { return this.knex('object_instance'); } get place() { return this.knex('place'); } + get role() { + return this.knex('role'); + } + get roleAssignment() { + return this.knex('role_assignment'); + } get transaction() { return this.knex('transaction'); } diff --git a/api/src/knexfile.ts b/api/src/knexfile.ts index 6a0daee6..9cebb342 100644 --- a/api/src/knexfile.ts +++ b/api/src/knexfile.ts @@ -13,6 +13,7 @@ const config: { [key: string]: Knex.Config } = { user: process.env.DB_USER, password: process.env.DB_PASS, database: process.env.DB_DATABASE, + charset: 'utf8mb4', }, pool: { min: 2, @@ -35,6 +36,7 @@ const config: { [key: string]: Knex.Config } = { user: process.env.DB_USER, password: process.env.DB_PASS, database: process.env.DB_DATABASE, + charset: 'utf8mb4', }, pool: { min: 2, diff --git a/api/src/libs/mail.ts b/api/src/libs/mail.ts index 4208ce53..4ebf00d1 100644 --- a/api/src/libs/mail.ts +++ b/api/src/libs/mail.ts @@ -13,7 +13,7 @@ export const sendEmail = async (data): Promise => { }); await transporter.sendMail({ - from: 'Cybertown Revival ', + from: 'Cybertown Revival ', to: data.to, subject: data.subject, html: data.body, @@ -32,7 +32,7 @@ export const sendPasswordResetEmail = async (email: string, resetToken: string): please ignore this email

- + Reset my password

diff --git a/api/src/repositories/avatar/avatar.repository.ts b/api/src/repositories/avatar/avatar.repository.ts index f65b4e66..2b384344 100644 --- a/api/src/repositories/avatar/avatar.repository.ts +++ b/api/src/repositories/avatar/avatar.repository.ts @@ -6,16 +6,132 @@ import { Avatar } from 'models'; /** Repository for fetching/interacting with avatar data in the database. */ @Service() export class AvatarRepository { - constructor(private db: Db) {} /** * Finds an avatar with the given search parameters if one exists. * @param avatarSearchParams object containing properties of an avatar for searching on * @returns promise resolving in the found avatar object, or rejecting on error + * Finds all avatars + * @returns promise resolving in the found avatars object, or rejecting on error */ public async find(avatarSearchParams: Partial): Promise { const [avatar] = await this.db.avatar.where(avatarSearchParams); return avatar; } + + /** + * Finds all avatars + * @returns promise resolving in the found avatars object, or rejecting on error + */ + public async findAll(): Promise { + return this.db.avatar.where({ status: 1 }); + } + + /** + * gets all the avatars a memberId can access + * @param memberId + * @returns + */ + public async findAllForMemberId(memberId): Promise { + return this.db.avatar + .where({ + status: 1, + }) + .andWhere(builder => { + builder.where({ private: 0 }).orWhere({ private: 1, member_id: memberId }); + }); + } + + /** + * gets avatar by id a memberId can access + * @param avatarId + * @param memberId + * @returns + */ + public async getByIdAndMemberId(avatarId, memberId): Promise { + return this.db.avatar + .where({ + id: avatarId, + status: 1, + }) + .andWhere(builder => { + builder.where({ private: 0 }).orWhere({ private: 1, member_id: memberId }); + }); + } + + public async updateStatus(id, status): Promise { + return this.db.avatar + .update({ + status: status, + }) + .where({ + id: id + }); + } + + /** + * + * @param directory + * @param fileName + * @param image + * @param name + * @param gestures + * @param privateStatus + * @param memberId + * @returns + */ + public async create( + directory: string, + fileName: string, + image: string, + name: string, + gestures: string, + privateStatus: number, + memberId: number, + status: number, + ): Promise { + const [avatar] = await this.db.avatar.insert({ + directory: directory, + filename: fileName, + image: image, + name: name, + gestures: gestures, + private: privateStatus, + member_id: memberId, + status: status, + }); + + return avatar; + } + + /** + * This is to assist with the pagination of the avatar search + * @param status + * @return number + */ + public async totalByStatus(status: number): Promise { + return this.db.avatar.count('id as count').where({ + status: status, + }); + } + + /** + * returns results of avatars by status (pagination) + * @param status + * @param limit + * @param offset + * @returns + */ + public async findByStatus(status: number, limit: number, offset: number): Promise { + return this.db.avatar + .select(['avatar.*', 'member.username']) + .leftJoin('member', 'avatar.member_id', 'member.id') + .where({ + 'avatar.status': status, + }) + .orderBy('avatar.id') + .limit(limit) + .offset(offset); + } } diff --git a/api/src/repositories/ban/ban.repository.ts b/api/src/repositories/ban/ban.repository.ts new file mode 100644 index 00000000..0f0ebbe9 --- /dev/null +++ b/api/src/repositories/ban/ban.repository.ts @@ -0,0 +1,62 @@ +import {Service} from 'typedi'; + +import {Db} from '../../db/db.class'; +import {knex} from '../../db'; +import {Member} from 'models'; + +@Service() +export class BanRepository { + constructor( + private db: Db, + ) { + } + + public async addBan(ban_member_id, end_date, type, assigner_member_id, reason) { + return knex('ban') + .insert({ + ban_member_id: ban_member_id, + end_date: end_date, + type: type, + assigner_member_id: assigner_member_id, + reason: reason, + }); + } + + public async deleteBan(banId: number, updateReason: string): Promise { + return knex('ban') + .where({id: banId}) + .update({ + status: 0, + reason: updateReason, + }); + } + + public async getBanHistory(ban_member_id: number): Promise { + return knex + .select( + 'ban.id', + 'ban.created_at', + 'ban.end_date', + 'ban.type', + 'member.username', + 'ban.reason', + ) + .from('ban') + .innerJoin('member', 'ban.assigner_member_id', 'member.id') + .where('ban.ban_member_id', ban_member_id) + .where('ban.status', 1) + .orderBy('ban.created_at', 'desc'); + } + + public async getBanMaxDate(member_id): Promise { + return this.db.knex + .select('end_date', 'reason', 'type') + .from('ban') + .where('ban_member_id', member_id) + .where('status', 1) + .orderBy('end_date', 'desc') + .limit(1) + .first(); + } + +} diff --git a/api/src/repositories/block/block.repository.ts b/api/src/repositories/block/block.repository.ts index 48d118cf..75b0a86e 100644 --- a/api/src/repositories/block/block.repository.ts +++ b/api/src/repositories/block/block.repository.ts @@ -1,15 +1,89 @@ -import { Service } from 'typedi'; +import {Service} from 'typedi'; -import { Db } from '../../db/db.class'; -import {knex} from '../../db'; +import {Db} from '../../db/db.class'; +import {Place} from '../../types/models'; @Service() export class BlockRepository { - constructor(private db: Db) {} + public async find(blockId: number): Promise { + return this.db.place.where({ type: 'block', id: blockId }).first(); + } + + public async getAccessInfoByUsername( + blockId, + ownerCode, + deputyCode): Promise<{ owner: any[]; deputies: any[] }> { + const owner: any[] = await this.db.knex + .select( + 'member.username', + ) + .from('role_assignment') + .where('role_assignment.place_id', blockId) + .where('role_assignment.role_id', ownerCode) + .innerJoin('member', 'role_assignment.member_id', 'member.id'); + const deputies: any[] = await this.db.knex + .select( + 'member.username', + ) + .from('role_assignment') + .where('role_assignment.place_id', blockId) + .where('role_assignment.role_id', deputyCode) + .innerJoin('member', 'role_assignment.member_id', 'member.id'); + return {deputies, owner}; + } + + public async getAccessInfoByID( + blockId, + ownerCode, + deputyCode): Promise<{ owner: any[]; deputies: any[] }> { + const owner: any[] = await this.db.knex + .select( + 'member_id', + ) + .from('role_assignment') + .where('place_id', blockId) + .where('role_id', ownerCode); + const deputies: any[] = await this.db.knex + .select( + 'member_id', + ) + .from('role_assignment') + .where('place_id', blockId) + .where('role_id', deputyCode); + return {deputies, owner}; + } + + public async addIdToAssignment( + blockId: number, + memberId: number, + roleId: number, + ): Promise { + return this.db.knex('role_assignment') + .insert( + { + role_id: roleId, + member_id: memberId, + place_id: blockId, + }, + ); + } + + public async removeIdFromAssignment( + blockId: number, + memberId: number, + roleId: number, + ): Promise { + return this.db.knex('role_assignment') + .where('place_id', blockId) + .where('member_id', memberId) + .where('role_id', roleId) + .del(); + } + public async getMapLocationAndPlacesByBlockId(blockId: number): Promise { - const locations = await knex + const locations = await this.db.knex .select( 'map_location.location', 'map_location.available', @@ -26,5 +100,4 @@ export class BlockRepository { return locations; } - } diff --git a/api/src/repositories/colony/colony.repository.ts b/api/src/repositories/colony/colony.repository.ts new file mode 100644 index 00000000..35f6cb4d --- /dev/null +++ b/api/src/repositories/colony/colony.repository.ts @@ -0,0 +1,95 @@ +import { Service } from 'typedi'; + +import { Db } from '../../db/db.class'; +import { knex } from '../../db'; +import { Place } from '../../types/models'; + +@Service() +export class ColonyRepository { + constructor(private db: Db) {} + + public async find(colonyId: number): Promise { + return this.db.place.where({ type: 'colony', id: colonyId }).first(); + } + + public async getAccessInfoByUsername( + colonyId, + ownerCode, + deputyCode): Promise<{ owner: any[]; deputies: any[] }> { + const owner: any[] = await this.db.knex + .select( + 'member.username', + ) + .from('role_assignment') + .where('role_assignment.place_id', colonyId) + .where('role_assignment.role_id', ownerCode) + .innerJoin('member', 'role_assignment.member_id', 'member.id'); + const deputies: any[] = await this.db.knex + .select( + 'member.username', + ) + .from('role_assignment') + .where('role_assignment.place_id', colonyId) + .where('role_assignment.role_id', deputyCode) + .innerJoin('member', 'role_assignment.member_id', 'member.id'); + return {deputies, owner}; + } + + public async getAccessInfoByID( + colonyId, + ownerCode, + deputyCode): Promise<{ owner: any[]; deputies: any[] }> { + const owner: any[] = await this.db.knex + .select( + 'member_id', + ) + .from('role_assignment') + .where('place_id', colonyId) + .where('role_id', ownerCode); + const deputies: any[] = await this.db.knex + .select( + 'member_id', + ) + .from('role_assignment') + .where('place_id', colonyId) + .where('role_id', deputyCode); + return {deputies, owner}; + } + + public async getHoods(colonyId: number): Promise { + return this.db.knex + .select('place.id', 'place.name', 'map_location.location') + .from('place') + .innerJoin('map_location', 'map_location.place_id', 'place.id') + .innerJoin('place as colony', 'map_location.parent_place_id', 'colony.id') + .where('colony.id', colonyId) + .orderBy('map_location.location'); + } + + public async addIdToAssignment( + colonyId: number, + memberId: number, + roleId: number, + ): Promise { + return this.db.knex('role_assignment') + .insert( + { + role_id: roleId, + member_id: memberId, + place_id: colonyId, + }, + ); + } + + public async removeIdFromAssignment( + colonyId: number, + memberId: number, + roleId: number, + ): Promise { + return this.db.knex('role_assignment') + .where('place_id', colonyId) + .where('member_id', memberId) + .where('role_id', roleId) + .del(); + } +} diff --git a/api/src/repositories/home-design/home-design.repository.ts b/api/src/repositories/home-design/home-design.repository.ts index fe5c5dfa..9319f6ac 100644 --- a/api/src/repositories/home-design/home-design.repository.ts +++ b/api/src/repositories/home-design/home-design.repository.ts @@ -51,6 +51,10 @@ export class HomeDesignRepository { 'id': '008', 'price': 100000, }, + { + 'id': 'championhome', + 'price': 100000, + }, ] constructor() {} diff --git a/api/src/repositories/hood/hood.repository.ts b/api/src/repositories/hood/hood.repository.ts new file mode 100644 index 00000000..5b0b2783 --- /dev/null +++ b/api/src/repositories/hood/hood.repository.ts @@ -0,0 +1,94 @@ +import { Service } from 'typedi'; + +import { Db } from '../../db/db.class'; +import { knex } from '../../db'; +import { Place } from '../../types/models'; + +@Service() +export class HoodRepository { + constructor(private db: Db) {} + + public async find(hoodId: number): Promise { + return this.db.place.where({ type: 'hood', id: hoodId }).first(); + } + + public async getAccessInfoByUsername( + hoodId, + ownerCode, + deputyCode): Promise<{ owner: any[]; deputies: any[] }> { + const owner: any[] = await this.db.knex + .select( + 'member.username', + ) + .from('role_assignment') + .where('role_assignment.place_id', hoodId) + .where('role_assignment.role_id', ownerCode) + .innerJoin('member', 'role_assignment.member_id', 'member.id'); + const deputies: any[] = await this.db.knex + .select( + 'member.username', + ) + .from('role_assignment') + .where('role_assignment.place_id', hoodId) + .where('role_assignment.role_id', deputyCode) + .innerJoin('member', 'role_assignment.member_id', 'member.id'); + return {deputies, owner}; + } + + public async getAccessInfoByID( + hoodId, + ownerCode, + deputyCode): Promise<{ owner: any[]; deputies: any[] }> { + const owner: any[] = await this.db.knex + .select( + 'member_id', + ) + .from('role_assignment') + .where('place_id', hoodId) + .where('role_id', ownerCode); + const deputies: any[] = await this.db.knex + .select( + 'member_id', + ) + .from('role_assignment') + .where('place_id', hoodId) + .where('role_id', deputyCode); + return {deputies, owner}; + } + + public async addIdToAssignment( + hoodId: number, + memberId: number, + roleId: number, + ): Promise { + return this.db.knex('role_assignment') + .insert( + { + role_id: roleId, + member_id: memberId, + place_id: hoodId, + }, + ); + } + + public async removeIdFromAssignment( + hoodId: number, + memberId: number, + roleId: number, + ): Promise { + return this.db.knex('role_assignment') + .where('place_id', hoodId) + .where('member_id', memberId) + .where('role_id', roleId) + .del(); + } + + public async getBlocks(hoodId: number): Promise { + return knex + .select('place.id', 'place.name', 'map_location.location') + .from('place') + .innerJoin('map_location', 'map_location.place_id', 'place.id') + .where('map_location.parent_place_id', hoodId) + .orderBy('map_location.location'); + } +} diff --git a/api/src/repositories/inbox/inbox.repository.ts b/api/src/repositories/inbox/inbox.repository.ts new file mode 100644 index 00000000..44605eaa --- /dev/null +++ b/api/src/repositories/inbox/inbox.repository.ts @@ -0,0 +1,147 @@ +import { Service } from 'typedi'; + +import { Db } from '../../db'; +import {knex} from '../../db'; +import {Member, Inbox, Place} from 'models'; +import {response} from 'express'; + +@Service() +export class InboxRepository { + + public async changeInboxIntro( + placeId: number, + Intro: string, + ): Promise { + return knex('place') + .where('id', placeId) + .update({inbox_intro: Intro}); + } + constructor(private db: Db) {} + + public async deleteInboxMessage( + messageId: number, + ): Promise { + return knex('inbox') + .where('id', messageId) + .update({status: 0}); + } + + public async getAdminInfo( + placeId: number, + memberId: number, + ): Promise { + const admininfo = await knex + .select( + 'admin', + ) + .from('member') + .where('id', memberId); + const placeinfo = await knex + .select('member_id') + .from('place') + .where('id', placeId); + if (admininfo[0].admin || placeinfo[0].member_id === memberId) { + const admin = 1; + return admin; + } else { + const admin = 0; + return admin; + } + } + + public async getHomeId( + memberId: number, + ): Promise { + return knex + .select('id') + .from('place') + .where('member_id', memberId); + } + + public async getInfo( + placeId: number, + ): Promise { + return knex + .select( + 'place.inbox_intro as inbox_intro', + 'place.name as name', + 'place.type as type', + ) + .from('place') + .where('place.id', placeId); + } + + public async getInboxMessages( + placeId: number, + ): Promise { + return knex + .select( + 'inbox.created_at', + 'inbox.id', + 'inbox.reply', + 'inbox.subject', + 'member.username', + 'inbox.parent_id', + ) + .from('inbox') + .where('inbox.place_id', placeId) + .where('inbox.status', 1) + .innerJoin('member', 'inbox.member_id', 'member.id') + .orderBy('inbox.parent_id', 'desc') + .orderBy('inbox.id', 'asc'); + } + + public async getMessage( + messageId: number, + ): Promise { + return knex + .select( + 'message', + 'member_id', + ) + .from('inbox') + .where('id', messageId); + } + + public async postInboxMessage( + memberId: number, + placeId: number, + subject: string, + message: string, + ): Promise { + const parentId = await knex('inbox') + .insert( + { + member_id: memberId, + place_id: placeId, + subject: subject, + message: message, + parent_id: 0, + }, + ['id'], + ); + return knex('inbox') + .where('id', '=', parentId) + .update({'parent_id': parentId}); + } + + public async postInboxReply( + memberId: number, + placeId: number, + subject: string, + message: string, + parentId: number, + ): Promise { + return knex('inbox') + .insert( + { + member_id: memberId, + place_id: placeId, + subject: subject, + message: message, + parent_id: parentId, + reply: 1, + }, + ); + } +} diff --git a/api/src/repositories/index.ts b/api/src/repositories/index.ts index 3e15d9be..cfd6a3af 100644 --- a/api/src/repositories/index.ts +++ b/api/src/repositories/index.ts @@ -1,9 +1,20 @@ export * from './avatar/avatar.repository'; +export * from './ban/ban.repository'; export * from './block/block.repository'; +export * from './colony/colony.repository'; export * from './home/home.repository'; export * from './home-design/home-design.repository'; +export * from './hood/hood.repository'; +export * from './mall-object/mall-object.repository'; export * from './map-location/map-location.repository'; export * from './member/member.repository'; +export * from './message/message.repository'; +export * from './object/object.repository'; +export * from './object-instance/object-instance.repository'; +export * from './role/role.repository'; +export * from './role-assignment/role-assignment.repository'; export * from './place/place.repository'; export * from './transaction/transaction.repository'; export * from './wallet/wallet.repository'; +export * from './messageboard/messageboard.repository'; +export * from './inbox/inbox.repository'; diff --git a/api/src/repositories/mall-object/mall-object.repository.ts b/api/src/repositories/mall-object/mall-object.repository.ts new file mode 100644 index 00000000..d9abd970 --- /dev/null +++ b/api/src/repositories/mall-object/mall-object.repository.ts @@ -0,0 +1,61 @@ +import { Service } from 'typedi'; + +import { Db } from '../../db/db.class'; +import { MallObject } from '../../types/models'; + +/** Repository for fetching/interacting with mall data in the database. */ +@Service() +export class MallRepository { + + constructor(private db: Db) {} + + public async addToMallObjects(objectId: number): Promise { + await this.db.mallObject.insert({object_id: objectId}); + } + + public async getMallForSale( + placeId: number): Promise { + const objects = await this.db.mallObject + .select('object.*', 'mall_object.place_id', 'mall_object.position', 'mall_object.rotation') + .where('place_id', placeId) + .where('object.status', 1) + .join('object', 'object.id', 'mall_object.object_id') + .join('place', 'place.id', 'mall_object.place_id'); + return objects; + } + + public async getStore(objectId: number): Promise { + const place = await this.db.mallObject + .select('place.*') + .where('mall_object.object_id', objectId) + .join('place', 'place.id', 'mall_object.place_id'); + return place; + } + + public async findByObjectId(objectId: number): Promise { + const object = await this.db.mallObject.where({object_id: objectId}); + return object; + } + + public async updateObjectPlace( + mallObjectId: number, + shopId: number, + ): Promise { + await this.db.mallObject.where({ object_id: mallObjectId }).update({ + place_id: shopId, + position: '{"x":0.0,"y":1.75,"z":0.0}', + rotation: '{"x":0,"y":0,"z":0,"angle":0}', + }); + } + + public async updateObjectPlacement( + mallObjectId: number, + positionStr: string, + rotationStr: string, + ): Promise { + await this.db.mallObject.where({ object_id: mallObjectId }).update({ + position: positionStr, + rotation: rotationStr, + }); + } +} diff --git a/api/src/repositories/map-location/map-location.repository.ts b/api/src/repositories/map-location/map-location.repository.ts index 7a006843..0ad39b0c 100644 --- a/api/src/repositories/map-location/map-location.repository.ts +++ b/api/src/repositories/map-location/map-location.repository.ts @@ -39,4 +39,23 @@ export class MapLocationRepository { .where({parent_place_id: parentPlaceId, location: location}); } + public async resetAvailabilityByParentPlaceId(parentPlaceId: number): Promise { + await this.db.mapLocation + .update({available: false }) + .where({ parent_place_id: parentPlaceId }); + + } + + public async createAvailableLocation(parentPlaceId: number , location: number): Promise { + await this.db.mapLocation + .insert({ + parent_place_id: parentPlaceId, + location: location, + available: true, + }) + .onConflict(['parent_place_id','location']) + .merge(['available']); + } + + } diff --git a/api/src/repositories/member/member.repository.ts b/api/src/repositories/member/member.repository.ts index ff55c621..b96c0c28 100644 --- a/api/src/repositories/member/member.repository.ts +++ b/api/src/repositories/member/member.repository.ts @@ -1,17 +1,13 @@ -import { Service } from 'typedi'; - +import {Service} from 'typedi'; import { Db } from '../../db/db.class'; -import { - Member, - Wallet, -} from 'models'; +import { Member, Wallet } from 'models'; +import {knex} from '../../db'; /** Repository for interacting with member table data in the database. */ @Service() export class MemberRepository { - constructor(private db: Db) {} - + /** * Creates a new member with the given parameters. * @param memberParams parameters to be used for the new member @@ -25,7 +21,7 @@ export class MemberRepository { wallet_id: walletId, }); return memberId; - }); + }); } /** @@ -46,6 +42,27 @@ export class MemberRepository { public async findById(memberId: number): Promise { return this.find({ id: memberId }); } + + public async findIdByUsername(username: string): Promise { + return this.db.knex + .select('id') + .from('member') + .where('username', username); + } + + public async check3d(username: string): Promise { + return this.db.knex + .select('is_3d') + .from('member') + .where('username', username); + } + + public async getActivePlaces(current: Date): Promise { + return this.db.knex + .select('place_id') + .from('member') + .where('last_activity','>=', current); + } /** * Finds a member with the given password reset token if one exists. @@ -59,6 +76,58 @@ export class MemberRepository { .limit(1) .first(); } + + public async getPrimaryRoleName(memberId: number): Promise { + return this.db.knex + .select('role.name', 'member.primary_role_id') + .from('member') + .where('member.id', memberId) + .join('role', 'member.primary_role_id', 'role.id'); + } + + /** + * This is to assist with the pagination of the user search + * @param search + * @return number + */ + public async getTotal(search: string): Promise { + return knex + .count('id as count') + .from('member') + .where(this.like('username', search)); + } + + public async countByPlaceId(placeId: number, active: Date): Promise { + return knex + .count('id as count') + .from('member') + .where('place_id', placeId) + .where('last_activity', '>=', active); + } + + public async searchUsers(search: string, limit: number, offset: number): Promise { + return knex + .select( + 'id', + 'username', + 'email', + 'last_daily_login_credit', + ) + .from('member') + .where(this.like('username', search)) + .orWhere(this.like('email', search)) + .orderBy('id') + .limit(limit) + .offset(offset); + } + + public async joinedPlace(memberId: number, props: Partial): Promise { + await this.db.member.where({id: memberId}).update(props); + } + + public async updateLatestActivity(memberId: number, props: Partial): Promise { + await this.db.member.where({id: memberId}).update(props); + } /** * Updates properties on the member record with the given id. @@ -67,13 +136,26 @@ export class MemberRepository { * @param returning optional. defaults to false. returns the updated record if true. * @returns promise resolving in the updated member object, or rejecting on error */ - public async update(memberId: number, props: Partial, returning = false): - Promise { - await this.db.member - .where({ id: memberId }) - .update(props); - return returning - ? this.findById(memberId) - : undefined; + public async update( + memberId: number, + props: Partial, + returning = false, + ): Promise { + await this.db.member.where({ id: memberId }).update(props); + return returning ? this.findById(memberId) : undefined; + } + + /** + * This is used to bind the user inputted value to prevent + * SQL injection attempts while using a Knex Raw + * @param field + * @param value + * @private + */ + private like(field: string, value: string) { + return function() { + this.whereRaw('?? LIKE ?', [field, `%${value}%`]); + }; } + } diff --git a/api/src/repositories/message/message.repository.ts b/api/src/repositories/message/message.repository.ts new file mode 100644 index 00000000..e10b3419 --- /dev/null +++ b/api/src/repositories/message/message.repository.ts @@ -0,0 +1,102 @@ +import { Service } from 'typedi'; + +import { Db } from '../../db/db.class'; +import {knex} from '../../db'; +import {Message} from '../../types/models'; + +@Service() +export class MessageRepository { + + constructor(private db: Db) {} + + public async create( + memberId: number, + placeId: number, + messageBody: string, + status: number, + ): Promise { + const [message] = await this.db.message + .insert({ + body: messageBody, + member_id: memberId, + place_id: placeId, + status: status, + }); + + return message; + } + + public async deleteMessage(id: number): Promise { + return knex('message') + .where('id', id) + .update({ + status: 0, + }); + } + + public async getChatTotal(search: string, user: number): Promise { + return knex + .count('message.id as count') + .from('message') + .innerJoin('place', 'message.place_id', 'place.id') + .where('message.member_id', user) + .where(this.like('place.name', search)); + } + + public async getResults( + placeId: number, + orderField: string, + orderDirection: string, + limit:number, + ): Promise { + return knex + .select( + 'message.id', + 'message.body as msg', + 'member.username as username', + ) + .from('message') + .where('message.place_id', placeId) + .where('message.status', '1') + .innerJoin('member', 'message.member_id', 'member.id') + .orderBy(orderField, orderDirection) + .limit(limit); + } + + public async searchUserChat( + search: string, + user: number, + limit: number, + offset: number, + ): Promise { + return knex + .select( + 'message.id', + 'message.body', + 'message.created_at', + 'message.status', + 'place.name', + ) + .from('message') + .innerJoin('place', 'message.place_id', 'place.id') + .where('message.member_id', user) + .where(this.like('place.name', search)) + .orderBy('message.created_at', 'desc') + .limit(limit) + .offset(offset); + } + + /** + * This is used to bind the user inputted value to prevent + * SQL injection attempts while using a Knex Raw + * @param field + * @param value + * @private + */ + private like(field: string, value: string) { + return function() { + this.whereRaw('?? LIKE ?', [field, `%${value}%`]); + }; + } + +} diff --git a/api/src/repositories/messageboard/messageboard.repository.ts b/api/src/repositories/messageboard/messageboard.repository.ts new file mode 100644 index 00000000..6bdc83cb --- /dev/null +++ b/api/src/repositories/messageboard/messageboard.repository.ts @@ -0,0 +1,136 @@ +import { Service } from 'typedi'; + +import { Db } from '../../db'; +import {knex} from '../../db'; +import {Member, MessageBoard, Place} from 'models'; +import {response} from 'express'; + +@Service() +export class MessageboardRepository { + + public async changeMessageboardIntro( + placeId: number, + Intro: string, + ): Promise { + return knex('place') + .where('id', placeId) + .update({messageboard_intro: Intro}); + } + constructor(private db: Db) {} + + public async deleteMessageboardMessage( + messageId: number, + ): Promise { + return knex('messageboard') + .where('id', messageId) + .update({status: 0}); + } + + public async getAdminInfo( + placeId: number, + memberId: number, + ): Promise { + const admininfo = await knex + .select( + 'admin', + ) + .from('member') + .where('id', memberId); + const placeinfo = await knex + .select('member_id') + .from('place') + .where('id', placeId); + if (admininfo[0].admin || placeinfo[0].member_id === memberId) { + const admin = 1; + return admin; + } else { + const admin = 0; + return admin; + } + } + public async getInfo( + placeId: number, + ): Promise { + return knex + .select( + 'place.messageboard_intro as messageboard_intro', + 'place.name as name', + 'place.type as type', + ) + .from('place') + .where('place.id', placeId); + } + + public async getMessageboardMessages( + placeId: number, + ): Promise { + return knex + .select( + 'messageboard.created_at', + 'messageboard.id', + 'messageboard.reply', + 'messageboard.subject', + 'member.username', + 'messageboard.parent_id', + ) + .from('messageboard') + .where('messageboard.place_id', placeId) + .where('messageboard.status', 1) + .innerJoin('member', 'messageboard.member_id', 'member.id') + .orderBy('messageboard.parent_id', 'desc') + .orderBy('messageboard.id', 'asc'); + } + + public async getMessage( + messageId: number, + ): Promise { + return knex + .select( + 'message', + ) + .from('messageboard') + .where('id', messageId); + } + + public async postMessageboardMessage( + memberId: number, + placeId: number, + subject: string, + message: string, + ): Promise { + const parentId = await knex('messageboard') + .insert( + { + member_id: memberId, + place_id: placeId, + subject: subject, + message: message, + parent_id: 0, + }, + ['id'], + ); + return knex('messageboard') + .where('id', '=', parentId) + .update({'parent_id': parentId}); + } + + public async postMessageboardReply( + memberId: number, + placeId: number, + subject: string, + message: string, + parentId: number, + ): Promise { + return knex('messageboard') + .insert( + { + member_id: memberId, + place_id: placeId, + subject: subject, + message: message, + parent_id: parentId, + reply: 1, + }, + ); + } +} diff --git a/api/src/repositories/object-instance/object-instance.repository.ts b/api/src/repositories/object-instance/object-instance.repository.ts new file mode 100644 index 00000000..c98c86b7 --- /dev/null +++ b/api/src/repositories/object-instance/object-instance.repository.ts @@ -0,0 +1,122 @@ +import { Service } from 'typedi'; +import {knex} from '../../db'; +import { Db } from '../../db/db.class'; +import { ObjectInstance, Object } from 'models'; + +@Service() +export class ObjectInstanceRepository { + constructor(private db: Db) {} + + public async find(objectInstanceId: number): Promise { + const [objectInstance] = await this.db.objectInstance.where({ + id: objectInstanceId, + }); + return objectInstance; + } + + public async create( + objectId: number, objectName: string, memberId: number, placeId: number): Promise { + const [objectInstance] = await this.db.objectInstance.insert({ + object_id: objectId, + object_name: objectName, + member_id: memberId, + place_id: placeId, + }); + return objectInstance; + } + + public async findByPlaceId(placeId: number): Promise { + return this.db.objectInstance + .select('object_instance.*', 'object.filename', 'object.directory', 'object.name') + .where({ place_id: placeId }) + .join('object', 'object.id', 'object_instance.object_id') + .orderBy('object_instance.object_name', 'asc'); + } + + public async getObjectInstanceWithObject(objectInstanceId: number): Promise { + return this.db.objectInstance + .select( + 'object_instance.*', + 'object.filename', + 'object.image', + 'object.directory', + 'object.name', + 'member.username') + .where('object_instance.id', objectInstanceId) + .join('object', 'object.id', 'object_instance.object_id') + .join('member', 'member.id', 'object_instance.member_id' ); + } + + public async updateObjectPlaceId(objectInstanceId: number, placeId: number): Promise { + await this.db.objectInstance.where({ id: objectInstanceId }).update({ + place_id: placeId, + }); + } + + public async updateObjectPlacement( + objectInstanceId: number, + positionStr: string, + rotationStr: string, + ): Promise { + await this.db.objectInstance.where({ id: objectInstanceId }).update({ + position: positionStr, + rotation: rotationStr, + }); + } + + public async updateObjectInstanceOwner( + objectId: number, + buyerId: number, + ): Promise { + return knex('object_instance') + .where('id', objectId) + .update({ + member_id: buyerId, + place_id: '0', + object_price: null, + object_buyer: null}); + } + + public async updateObjectInstanceName( + objectId: number, + objectName: string, + ): Promise { + return knex('object_instance') + .where('id', objectId) + .update({object_name: objectName}); + } + + public async updateObjectInstancePrice( + objectId: number, + objectPrice: string, + ): Promise { + return knex('object_instance') + .where('id', objectId) + .update({object_price: objectPrice}); + } + + public async updateObjectInstanceBuyer( + objectId: number, + objectBuyer: string, + ): Promise { + return knex('object_instance') + .where('id', objectId) + .update({object_buyer: objectBuyer}); + } + + public async countByObjectId(objectId: number): Promise { + const count = await this.db.objectInstance + .count('object_id as total') + .where('object_id', objectId); + return parseInt(Object.values(count[0])[0]); + } + + public async getMemberBackpack(memberId: number): Promise { + return await this.db.objectInstance + .select('object_instance.*', 'object.filename', 'object.directory', 'object.name') + .join('object', 'object_instance.object_id', 'object.id') + .where('object_instance.member_id', memberId) + .where('place_id', 0) + .orderBy('object_instance.object_name', 'asc'); + } +} diff --git a/api/src/repositories/object/object.repository.ts b/api/src/repositories/object/object.repository.ts new file mode 100644 index 00000000..75904eed --- /dev/null +++ b/api/src/repositories/object/object.repository.ts @@ -0,0 +1,120 @@ +import { Service } from 'typedi'; + +import { Db } from '../../db/db.class'; +import { Object } from 'models'; + +@Service() +export class ObjectRepository { + constructor(private db: Db) {} + + public async find(objectSearchParams: Partial): Promise { + const [object] = await this.db.object.where(objectSearchParams); + return object; + } + + public async findById(objectId: number): Promise { + return this.find({ id: objectId }); + } + + /** + * + * @param directory + * @param fileName + * @param image + * @param name + * @param quantity + * @param price + * @param memberId + * @param directory + * @returns + */ + public async create( + directory: string, + fileName: string, + image: string, + texture: string, + name: string, + quantity: number, + price: number, + memberId: number, + ): Promise { + const [object] = await this.db.object.insert({ + directory: directory, + filename: fileName, + image: image, + texture: texture, + name: name, + quantity: quantity, + price: price, + member_id: memberId, + }); + + return object; + } + + public async findByStatus(status: number): Promise { + const objects = await this.db.object.where('status', status); + return objects; + } + + public async update(objectId: number, props: object): Promise { + await this.db.object.where({ id: objectId }).update(props); + } + + public async updateObjectLimit(objectId: number, limit: number): Promise { + await this.db.object.where({ id: objectId }).update('limit', limit); + } + + public async increaseObjectQuantity( + objectId: number, props: object): Promise { + await this.db.object.where({ id: objectId }).update(props); + } + + public async updateObjectName(objectId: number, name: string): Promise { + await this.db.object.where({ id: objectId }).update('name', name); + } + + public async getMallForSale(status: number, mallExpiration: string): Promise { + const objects = await this.db.object + .where('status', status) + .where('mall_expiration', '>', mallExpiration); + return objects; + } + + public async findAllObjects( + column: string, + compare: string, + content: string, + limit: number, + offset: number, + ): Promise { + const objects = await this.db.object + .select('object.*') + .where(column, compare, content) + .limit(limit) + .offset(offset); + return objects; + } + + public async getUserUploadedObjects(userId: number): Promise { + const object = await this.db.object + .select('object.*', 'member.username') + .where('object.member_id', userId) + .where('object.status', '>=', 1) + .join('member', 'member.id', 'object.member_id'); + return object; + } + + public async getMallObject(objectId: number): Promise { + const object = await this.db.object + .select('object.*', 'member.username') + .where('object.id', objectId) + .where('object.status', 1) + .join('member', 'member.id', 'object.member_id'); + return object; + } + + public async total(column: string, compare: string, content: string): Promise { + return this.db.object.count('id as count').where(column, compare, content); + } +} diff --git a/api/src/repositories/place/place.repository.ts b/api/src/repositories/place/place.repository.ts index 8e182e65..d6536a2a 100644 --- a/api/src/repositories/place/place.repository.ts +++ b/api/src/repositories/place/place.repository.ts @@ -1,7 +1,7 @@ import { Service } from 'typedi'; import { Db } from '../../db/db.class'; -import {Home, Place} from '../../types/models'; +import {Home, Place, Store} from '../../types/models'; /** Repository for fetching/interacting with place data in the database. */ @Service() @@ -19,6 +19,14 @@ export class PlaceRepository { return place; } + public async findBySlug(slug: string): Promise { + return this.db.place.where({ slug: slug }).first(); + } + + public async findAllStores(): Promise { + return this.db.place.where({type: 'shop', status: 1}); + } + /** * Finds a place record which is a home for a given member id * @param memberId @@ -28,6 +36,13 @@ export class PlaceRepository { return place; } + public async findStorageByUserID(memberId: number): Promise { + return await this.db.place + .select('place.name', 'place.id') + .where({type: 'storage', member_id: memberId}) + .orderBy('place.name', 'asc'); + } + /** * Creates a new place with the given parameters. * @param placeParams parameters to be used for the new place @@ -48,4 +63,35 @@ export class PlaceRepository { : undefined; } + public async updatePlaces(id: number, column: string, content: string): Promise { + await this.db.place + .where({id: id}) + .update(column, content); + } + + /** + * This is to assist with the pagination of the place search + * @param type + * @return string + */ + public async totalByType(type: string): Promise { + return this.db.place.count('id as count').where('type', type); + } + + /** + * returns results of places by type (pagination) + * @param type + * @param limit + * @param offset + * @returns + */ + public async findByType(type: string, limit: number, offset: number): Promise { + return this.db.place + .select(['place.*']) + .where('place.type', type) + .orderBy('place.id') + .limit(limit) + .offset(offset); + } + } diff --git a/api/src/repositories/role-assignment/role-assignment.repository.spec.ts b/api/src/repositories/role-assignment/role-assignment.repository.spec.ts new file mode 100644 index 00000000..5d964bff --- /dev/null +++ b/api/src/repositories/role-assignment/role-assignment.repository.spec.ts @@ -0,0 +1,24 @@ +import { Container } from 'typedi'; + +import { Db } from '../../db/db.class'; +import { RoleAssignmentRepository } from './role-assignment.repository'; + +describe('RoleAssignmentRepository', () => { + let db; + let service: RoleAssignmentRepository; + + beforeEach(() => { + db = { + Role: { + insert: jest.fn(), + }, + }; + Container.reset(); + Container.set(Db, db); + service = Container.get(RoleAssignmentRepository); + }); + + it('should create', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/api/src/repositories/role-assignment/role-assignment.repository.ts b/api/src/repositories/role-assignment/role-assignment.repository.ts new file mode 100644 index 00000000..f3fa25e1 --- /dev/null +++ b/api/src/repositories/role-assignment/role-assignment.repository.ts @@ -0,0 +1,115 @@ +import { Service } from 'typedi'; + +import { Db } from '../../db/db.class'; +import { knex } from 'knex'; +import { RoleAssignment } from '../../types/models'; + +/** Repository for fetching/interacting with role assignment data in the database. */ +@Service() +export class RoleAssignmentRepository { + constructor(private db: Db) {} + + public async addDonor(member_id: number, roleId: any): Promise { + try{ + await this.db.knex('role_assignment') + .where('member_id', member_id) + .whereIn('role_id', [ + roleId.supporter, + roleId.advocate, + roleId.devotee, + roleId.champion, + ]) + .del(); + } finally { + if (roleId.donorLevel !== undefined) { + await this.db.knex('role_assignment').insert({ + member_id: member_id, + role_id: roleId.donorLevel, + }); + } + } + } + + public async getByMemberId(memberId: number): Promise { + const roleResults = await this.db.roleAssignment.where('member_id', memberId); + return roleResults; + } + + public async getDonor(memberId: number, roleId: any): Promise { + return this.db.knex + .select('role.name') + .from('role_assignment') + .innerJoin('role', 'role_assignment.role_id', 'role.id') + .where('role_assignment.member_id', memberId) + .whereIn('role_id', [ + roleId.supporter, + roleId.advocate, + roleId.devotee, + roleId.champion, + ]) + .limit(1) + .first(); + } + + public async getRoleNameAndIdByMemberId(memberId: number): Promise { + return this.db.knex + .distinct( + 'role_assignment.role_id as id', + 'role.name as name', + ) + .from('role_assignment') + .leftJoin('role', 'role_assignment.role_id', 'role.id') + .where('role_assignment.member_id', memberId); + } + + /** + * query finds all users with job who meet pay requirements + * the inner join is just there to check for holding a job + * then the for function will gather the highest paying role information per user + * the for function also packages all the information for the return + * @param limit + * @returns list of users with jobs that earned pay + */ + public async getMembersDueRoleCredit(limit: number): Promise { + const query = await this.db.knex + .select( + 'member.id', + 'member.wallet_id', + 'member.xp', + ) + .from('member') + .innerJoin('role_assignment', 'member.id', 'role_assignment.member_id') + .where('member.status', 1) + .whereRaw('DATE(member.last_weekly_role_credit) != DATE(NOW())') + .whereRaw('DATE(member.last_daily_login_credit) >= DATE(NOW() - INTERVAL 7 DAY)') + .limit(limit) + .distinct('member.id'); + + const results = []; + for (const index in query) { + const member_info = query[index]; + const role_info = await this.db.knex + .select( + 'role_assignment.role_id', + 'role.income_cc', + 'role.income_xp', + ) + .from('role_assignment') + .innerJoin('role', 'role_assignment.role_id', 'role.id') + .where('role_assignment.member_id', member_info.id) + .orderBy('role.income_cc','desc') + .first(); + if (role_info) { + results[index] = { + member_id: member_info.id, + role_id: role_info.role_id, + wallet_id: member_info.wallet_id, + xp: member_info.xp, + income_cc: role_info.income_cc, + income_xp: role_info.income_xp, + }; + } + } + return results; + } +} diff --git a/api/src/repositories/role/role.repository.spec.ts b/api/src/repositories/role/role.repository.spec.ts new file mode 100644 index 00000000..f936cadc --- /dev/null +++ b/api/src/repositories/role/role.repository.spec.ts @@ -0,0 +1,10 @@ +import { Service } from 'typedi'; + +import { Db } from '../../db/db.class'; +import { RoleAssignment } from '../../types/models'; + +/** Repository for fetching/interacting with role assignment data in the database. */ +@Service() +export class RoleAssignmentRepository { + constructor(private db: Db) {} +} diff --git a/api/src/repositories/role/role.repository.ts b/api/src/repositories/role/role.repository.ts new file mode 100644 index 00000000..b8a0702c --- /dev/null +++ b/api/src/repositories/role/role.repository.ts @@ -0,0 +1,26 @@ +import { Service } from 'typedi'; + +import { Db } from '../../db/db.class'; +import { Role } from '../../types/models'; + +/** Repository for fetching/interacting with role data in the database. */ +@Service() +export class RoleRepository { + constructor(private db: Db) { + this.populateRoleMap(); + } + public roleMap: any = {}; + + private async populateRoleMap(): Promise { + const roles = await this.findAll(); + + roles.forEach(role => { + const sanitizedName = role.name.replace(/\s/g, ''); + this.roleMap[sanitizedName] = role.id; + }); + } + + public async findAll(): Promise { + return this.db.role.where({}); + } +} diff --git a/api/src/repositories/transaction/transaction.repository.ts b/api/src/repositories/transaction/transaction.repository.ts index f3f56d7d..bbecaa02 100644 --- a/api/src/repositories/transaction/transaction.repository.ts +++ b/api/src/repositories/transaction/transaction.repository.ts @@ -1,16 +1,11 @@ import { Service } from 'typedi'; import { Db } from '../../db/db.class'; -import { - Transaction, - TransactionReason, - Wallet, -} from '../../types/models'; +import { Transaction, TransactionReason, Wallet } from '../../types/models'; /** Repository for creating/interacting with transaction/wallet data in the database. */ @Service() export class TransactionRepository { - constructor(private db: Db) {} /** @@ -20,8 +15,10 @@ export class TransactionRepository { * @param amount amount transacted * @returns promise resolving in the created transaction object, or rejecting on error */ - public async createDailyCreditTransaction(walletId: number, amount: number): - Promise { + public async createDailyCreditTransaction( + walletId: number, + amount: number, + ): Promise { return await this.db.knex.transaction(async trx => { const wallet = await trx('wallet').where({ id: walletId }).first(); await trx('wallet') @@ -53,8 +50,10 @@ export class TransactionRepository { * @param amount amount transacted * @returns promise resolving in the created transaction object, or rejecting on error */ - public async createHomePurchaseTransaction(walletId: number, amount: number): - Promise { + public async createHomePurchaseTransaction( + walletId: number, + amount: number, + ): Promise { return await this.db.knex.transaction(async trx => { const wallet = await trx('wallet').where({ id: walletId }).first(); await trx('wallet') @@ -76,8 +75,7 @@ export class TransactionRepository { * @param amount amount transacted * @returns promise resolving in the created transaction object, or rejecting on error */ - public async createHomeRefundTransaction(walletId: number, amount: number): - Promise { + public async createHomeRefundTransaction(walletId: number, amount: number): Promise { return await this.db.knex.transaction(async trx => { const wallet = await trx('wallet').where({ id: walletId }).first(); await trx('wallet') @@ -91,4 +89,171 @@ export class TransactionRepository { return this.find({ id: transactionId }); }); } + public async createWeeklyRoleCreditTransaction( + walletId: number, + amount: number, + roleId: number, + ): Promise { + return await this.db.knex.transaction(async trx => { + const wallet = await trx('wallet').where({ id: walletId }).first(); + await trx('wallet') + .where({ id: walletId }) + .update({ balance: wallet.balance + amount }); + const [transactionId] = await trx('transaction').insert({ + amount, + reason: `${TransactionReason.WeeklyCredit} for ${roleId}`, + recipient_wallet_id: walletId, + }); + return this.find({ id: transactionId }); + }); + } + public async createSystemCreditTransaction( + walletId: number, + amount: number, + ): Promise { + return await this.db.knex.transaction(async trx => { + const wallet = await trx('wallet').where({ id: walletId }).first(); + await trx('wallet') + .where({ id: walletId }) + .update({ balance: wallet.balance + amount }); + const [transactionId] = await trx('transaction').insert({ + amount, + reason: TransactionReason.SystemToMember, + recipient_wallet_id: walletId, + }); + return this.find({ id: transactionId }); + }); + } + + public async createObjectUploadTransaction( + walletId: number, + amount: number, + ): Promise { + return await this.db.knex.transaction(async trx => { + const wallet = await trx('wallet').where({ id: walletId }).first(); + await trx('wallet') + .where({ id: walletId }) + .update({ balance: wallet.balance - amount }); + const [transactionId] = await trx('transaction').insert({ + amount, + reason: TransactionReason.ObjectUpload, + recipient_wallet_id: walletId, + }); + return this.find({ id: transactionId }); + }); + } + + public async createObjectRestockTransaction( + walletId: number, + amount: number, + ): Promise { + return await this.db.knex.transaction(async trx => { + const wallet = await trx('wallet').where({ id: walletId }).first(); + await trx('wallet') + .where({ id: walletId }) + .update({ balance: wallet.balance - amount }); + const [transactionId] = await trx('transaction').insert({ + amount, + reason: TransactionReason.ObjectRestock, + recipient_wallet_id: walletId, + }); + return this.find({ id: transactionId }); + }); + } + + public async createObjectUploadRefundTransaction( + walletId: number, + amount: number, + ): Promise { + return await this.db.knex.transaction(async trx => { + const wallet = await trx('wallet').where({ id: walletId }).first(); + await trx('wallet') + .where({ id: walletId }) + .update({ balance: wallet.balance + amount }); + const [transactionId] = await trx('transaction').insert({ + amount, + reason: TransactionReason.ObjectUploadRefund, + recipient_wallet_id: walletId, + }); + return this.find({ id: transactionId }); + }); + } + + public async createUnsoldObjectRefundTransaction( + walletId: number, + amount: number, + ): Promise { + return await this.db.knex.transaction(async trx => { + const wallet = await trx('wallet').where({ id: walletId }).first(); + await trx('wallet') + .where({ id: walletId }) + .update({ balance: wallet.balance + amount }); + const [transactionId] = await trx('transaction').insert({ + amount, + reason: TransactionReason.ObjectUnsoldInstancesRefund, + recipient_wallet_id: walletId, + }); + return this.find({ id: transactionId }); + }); + } + + public async createObjectPurchaseTransaction( + walletId: number, + amount: number, + ): Promise { + return await this.db.knex.transaction(async trx => { + const wallet = await trx('wallet').where({ id: walletId }).first(); + await trx('wallet') + .where({ id: walletId }) + .update({ balance: wallet.balance - amount }); + const [transactionId] = await trx('transaction').insert({ + amount, + reason: TransactionReason.ObjectPurchase, + recipient_wallet_id: walletId, + }); + return this.find({ id: transactionId }); + }); + } + + public async createObjectProfitTransaction( + walletId: number, + amount: number, + ): Promise { + return await this.db.knex.transaction(async trx => { + const wallet = await trx('wallet').where({ id: walletId }).first(); + await trx('wallet') + .where({ id: walletId }) + .update({ balance: wallet.balance + amount }); + const [transactionId] = await trx('transaction').insert({ + amount, + reason: TransactionReason.ObjectProfit, + recipient_wallet_id: walletId, + }); + return this.find({ id: transactionId }); + }); + } + + public async createObjectSellTransaction( + buyerId: number, + sellerId: number, + amount: number, + ): Promise { + return await this.db.knex.transaction(async trx => { + const sellerWallet = await trx('wallet').where({ id: sellerId }).first(); + const buyerWallet = await trx('wallet').where({ id: buyerId }).first(); + await trx('wallet') + .where({ id: sellerId }) + .update({ balance: sellerWallet.balance + amount }); + await trx('wallet') + .where({ id: buyerId }) + .update({ balance: buyerWallet.balance - amount }); + const [transactionId] = await trx('transaction').insert({ + amount, + reason: TransactionReason.ObjectSell, + recipient_wallet_id: sellerId, + sender_wallet_id: buyerId, + }); + return this.find({ id: transactionId }); + }); + } } diff --git a/api/src/repositories/wallet/wallet.repository.ts b/api/src/repositories/wallet/wallet.repository.ts index 5397737a..e9dada64 100644 --- a/api/src/repositories/wallet/wallet.repository.ts +++ b/api/src/repositories/wallet/wallet.repository.ts @@ -18,4 +18,8 @@ export class WalletRepository { const [wallet] = await this.db.wallet.where({ id: walletId }); return wallet; } + + public async addMoney(walletId: number, newAmount: number): Promise { + + } } diff --git a/api/src/routes/admin.routes.ts b/api/src/routes/admin.routes.ts new file mode 100644 index 00000000..68c5a46e --- /dev/null +++ b/api/src/routes/admin.routes.ts @@ -0,0 +1,30 @@ +import Router from 'express'; +import {adminController} from '../controllers'; + +const adminRoutes = Router(); +adminRoutes.post('/ban', (request, response) => + adminController.addBan(request, response)); +adminRoutes.post('/donor', (request, response) => + adminController.addDonor(request, response)); +adminRoutes.post('/deleteban', (request, response) => + adminController.deleteBan(request, response)); +adminRoutes.get('/banhistory', (request, response) => + adminController.getBanHistory(request, response)); +adminRoutes.get('/donor', (request, response) => + adminController.getDonor(request, response)); +adminRoutes.get('/usersearch', (request, response) => + adminController.searchUsers(request, response)); +adminRoutes.get('/userchat', (request, response) => + adminController.searchUserChat(request, response)); +adminRoutes.get('/avatars', (request, response) => + adminController.avatars(request, response)); +adminRoutes.post('/avatars/approve', (request, response) => + adminController.avatarApprove(request, response)); +adminRoutes.post('/avatars/reject', (request, response) => + adminController.avatarReject(request, response)); +adminRoutes.get('/places', (request, response) => + adminController.places(request, response)); +adminRoutes.post('/places/update', (request, response) => + adminController.placesUpdate(request, response)); + +export {adminRoutes}; diff --git a/api/src/routes/avatar.routes.ts b/api/src/routes/avatar.routes.ts index 059e813e..9145995e 100644 --- a/api/src/routes/avatar.routes.ts +++ b/api/src/routes/avatar.routes.ts @@ -5,5 +5,6 @@ import { avatarController} from '../controllers'; const avatarRoutes = Router(); avatarRoutes.get('', (request, response) => avatarController.getResults(request, response)); +avatarRoutes.post('/upload', (request, response) => avatarController.add(request, response)); export { avatarRoutes }; diff --git a/api/src/routes/block.routes.ts b/api/src/routes/block.routes.ts index 1d833dae..9f0a9770 100644 --- a/api/src/routes/block.routes.ts +++ b/api/src/routes/block.routes.ts @@ -1,14 +1,26 @@ -import Router from 'express'; +import Router, {request, response} from 'express'; import { blockController } from '../controllers'; const blockRoutes = Router(); -blockRoutes.get('/:id/locations', - (request, response) => blockController.getLocations(request, response)); -blockRoutes.get('/:id', - (request, response) => blockController.getBlock(request, response)); -blockRoutes.post('/:id/locations', - (request, response) => blockController.postLocations(request, response)); - +blockRoutes.get('/:id/locations', (request, response) => + blockController.getLocations(request, response), +); +blockRoutes.get('/:id', (request, response) => blockController.getBlock(request, response)); +blockRoutes.get('/:id/can_admin', (request, response) => + blockController.canAdmin(request, response), +); +blockRoutes.get('/:id/can_manage_access', (request, response) => + blockController.canManageAccess(request, response), +); +blockRoutes.post('/:id/locations', (request, response) => + blockController.postLocations(request, response), +); +blockRoutes.get('/:id/getAccessInfo', (request, response) => + blockController.getAccessInfoByUsername(request, response), +); +blockRoutes.post('/:id/postAccessInfo', (request, response) => + blockController.postAccessInfo(request, response), +); export { blockRoutes }; diff --git a/api/src/routes/colony.routes.ts b/api/src/routes/colony.routes.ts index 22e91a08..0e78324e 100644 --- a/api/src/routes/colony.routes.ts +++ b/api/src/routes/colony.routes.ts @@ -1,10 +1,24 @@ import Router from 'express'; -import { colonyController } from '../controllers'; +import {colonyController} from '../controllers'; const colonyRoutes = Router(); -colonyRoutes.get('/:slug/hoods', - (request, response) => colonyController.getHoods(request, response)); +colonyRoutes.get('/:slug/hoods', (request, response) => + colonyController.getHoods(request, response), +); +colonyRoutes.get('/:id/can_admin', (request, response) => + colonyController.canAdmin(request, response), +); + +colonyRoutes.get('/:id/can_manage_access', (request, response) => + colonyController.canManageAccess(request, response), +); +colonyRoutes.get('/:id/getAccessInfo', (request, response) => + colonyController.getAccessInfoByUsername(request, response), +); +colonyRoutes.post('/:id/postAccessInfo', (request, response) => + colonyController.postAccessInfo(request, response), +); export { colonyRoutes }; diff --git a/api/src/routes/fleamarket.routes.ts b/api/src/routes/fleamarket.routes.ts new file mode 100644 index 00000000..1aae4771 --- /dev/null +++ b/api/src/routes/fleamarket.routes.ts @@ -0,0 +1,14 @@ +import Router from 'express'; + +import { fleamarketController } from '../controllers'; + +/** + * This file sets up routing for home routes. + * @note All paths used here will be prepended with `/api/home`. + */ + +const fleamarketRoutes = Router(); +fleamarketRoutes.get('/can_admin', (request, response) => + fleamarketController.canAdmin(request, response)); + +export { fleamarketRoutes }; diff --git a/api/src/routes/hood.routes.ts b/api/src/routes/hood.routes.ts index dcc595b5..f5b40b7f 100644 --- a/api/src/routes/hood.routes.ts +++ b/api/src/routes/hood.routes.ts @@ -1,12 +1,19 @@ import Router from 'express'; -import { hoodController } from '../controllers'; +import {hoodController} from '../controllers'; const hoodRoutes = Router(); -hoodRoutes.get('/:id/blocks', - (request, response) => hoodController.getBlocks(request, response)); -hoodRoutes.get('/:id', - (request, response) => hoodController.getHood(request, response)); - +hoodRoutes.get('/:id/blocks', (request, response) => hoodController.getBlocks(request, response)); +hoodRoutes.get('/:id', (request, response) => hoodController.getHood(request, response)); +hoodRoutes.get('/:id/can_admin', (request, response) => hoodController.canAdmin(request, response)); +hoodRoutes.get('/:id/can_manage_access', (request, response) => + hoodController.canManageAccess(request, response), +); +hoodRoutes.get('/:id/getAccessInfo', (request, response) => + hoodController.getAccessInfoByUsername(request, response), +); +hoodRoutes.post('/:id/postAccessInfo', (request, response) => + hoodController.postAccessInfo(request, response), +); export { hoodRoutes }; diff --git a/api/src/routes/inbox.routes.ts b/api/src/routes/inbox.routes.ts new file mode 100644 index 00000000..dac4fb30 --- /dev/null +++ b/api/src/routes/inbox.routes.ts @@ -0,0 +1,24 @@ +import Router from 'express'; + +import { inboxController } from '../controllers'; + +const inboxRoutes = Router(); + +inboxRoutes.post('/changeinboxintro/', + (request, response) => inboxController.changeInboxIntro(request, response)); +inboxRoutes.post('/deletemessage/', + (request, response) => inboxController.deleteInboxMessage(request, response)); +inboxRoutes.post('/info/', + (request, response) => inboxController.getInfo(request, response)); +inboxRoutes.post('/getadmininfo/', + (request, response) => inboxController.getAdminInfo(request, response)); +inboxRoutes.post('/getmessage/', + (request, response) => inboxController.getMessage(request, response)); +inboxRoutes.post('/messages/', + (request, response) => inboxController.getInboxMessages(request, response)); +inboxRoutes.post('/postmessage/', + (request, response) => inboxController.postInboxMessage(request, response)); +inboxRoutes.post('/postreply/', + (request, response) => inboxController.postInboxReply(request, response)); + +export { inboxRoutes }; diff --git a/api/src/routes/index.ts b/api/src/routes/index.ts index 588075c2..5c515070 100644 --- a/api/src/routes/index.ts +++ b/api/src/routes/index.ts @@ -1,9 +1,15 @@ +export * from './admin.routes'; export * from './avatar.routes'; export * from './block.routes'; export * from './colony.routes'; +export * from './fleamarket.routes'; export * from './home.routes'; export * from './hood.routes'; +export * from './mall.routes'; export * from './member.routes'; export * from './message.routes'; export * from './object-instance.routes'; +export * from './object.routes'; export * from './place.routes'; +export * from './messageboard.routes'; +export * from './inbox.routes'; diff --git a/api/src/routes/mall.routes.ts b/api/src/routes/mall.routes.ts new file mode 100644 index 00000000..8dd16a91 --- /dev/null +++ b/api/src/routes/mall.routes.ts @@ -0,0 +1,44 @@ +import Router from 'express'; + +import { mallController } from '../controllers'; + +/** + * This file sets up routing for home routes. + * @note All paths used here will be prepended with `/api/home`. + */ + +const mallRoutes = Router(); +mallRoutes.get('/can_admin', (request, response) => mallController.canAdmin(request, response)); +mallRoutes.get('/pending_approval', (request, response) => + mallController.objectsPendingApproval(request, response), +); +mallRoutes.get('/stores', (request, response) => mallController.findStores(request,response)); +mallRoutes.get('/all_objects', (request, response) => + mallController.findAllObjects(request,response)); +mallRoutes.post('/approve', (request, response) => mallController.approveObject(request, response)); +mallRoutes.post('/reject', (request, response) => mallController.rejectObject(request, response)); +mallRoutes.post('/refund', (request, response) => + mallController.refundUnsoldInstances(request, response)); +mallRoutes.post('/limit', (request, response) => + mallController.updateObjectLimit(request, response)); +mallRoutes.post('/updateObjectName', (request, response) => + mallController.updateObjectName(request, response)); +mallRoutes.post('/drop', (request, response) => mallController.dropMallObject(request, response)); +mallRoutes.post('/remove', (request, response) => + mallController.removeMallObject(request, response)); +mallRoutes.post('/delete', (request, response) => + mallController.deleteMallObject(request, response)); +mallRoutes.get('/objects/:id', (request, response) => + mallController.objectsForSale(request, response), +); +mallRoutes.get('/object/:id', (request, response) => + mallController.findByObjectId(request, response)); +mallRoutes.get('/store/:id', (request, response) => + mallController.findStore(request, response)); +mallRoutes.get('/user/:username', (request, response) => + mallController.findByUsername(request, response)); +mallRoutes.post('/:id/position', (request, response) => + mallController.updateObjectPosition(request, response)); +mallRoutes.post('/buy', (request, response) => mallController.buyObject(request, response)); + +export { mallRoutes }; diff --git a/api/src/routes/member.routes.ts b/api/src/routes/member.routes.ts index 05f1aea7..88182bf1 100644 --- a/api/src/routes/member.routes.ts +++ b/api/src/routes/member.routes.ts @@ -1,4 +1,4 @@ -import Router from 'express'; +import Router, { response } from 'express'; import { memberController } from '../controllers'; @@ -9,19 +9,53 @@ import { memberController } from '../controllers'; const memberRoutes = Router(); memberRoutes.post('/signup', (request, response) => memberController.signup(request, response)); +memberRoutes.post('/is_banned', (request, response) => + memberController.isBanned(request, response), +); +memberRoutes.post('/joined', (request, response) => + memberController.joinedPlace(request, response)); +memberRoutes.get('/getrolename', (request, response) => + memberController.getPrimaryRoleName(request, response), +); +memberRoutes.get('/getadminlevel', (request, response) => + memberController.getAdminLevel(request, response), +); +memberRoutes.get('/getdonorlevel', (request, response) => + memberController.getDonorLevel(request, response), +); memberRoutes.post('/login', (request, response) => memberController.login(request, response)); memberRoutes.get('/session', (request, response) => memberController.session(request, response)); -memberRoutes.post('/update_password', - (request, response) => memberController.updatePassword(request, response)); -memberRoutes.post('/update_avatar', - (request, response) => memberController.updateAvatar(request, response)); -memberRoutes.post('/send_password_reset', - (request, response) => memberController.sendPasswordReset(request, response)); -memberRoutes.post('/reset_password', - (request, response) => memberController.resetPassword(request, response)); -memberRoutes.get('/info', - (request, response) => memberController.getInfo(request, response)); -memberRoutes.get('/info/:id', - (request, response) => memberController.getInfo(request, response)); +memberRoutes.post('/update_password', (request, response) => + memberController.updatePassword(request, response), +); +memberRoutes.post('/update_role', (request, response) => + memberController.updatePrimaryRoleId(request, response), +); +memberRoutes.post('/updateinfo', (request, response) => + memberController.updateInfo(request, response), +); +memberRoutes.post('/update_avatar', (request, response) => + memberController.updateAvatar(request, response), +); +memberRoutes.post('/send_password_reset', (request, response) => + memberController.sendPasswordReset(request, response), +); +memberRoutes.post('/reset_password', (request, response) => + memberController.resetPassword(request, response), +); +memberRoutes.get('/info', (request, response) => memberController.getInfo(request, response)); +memberRoutes.get('/storage', (request, response) => memberController.getStorage(request, response)); +memberRoutes.post('/storage/update', (request, response) => + memberController.updateStorage(request, response)); +memberRoutes.post('/ping', (request, response) => + memberController.updateLatestActivity(request, response)); +memberRoutes.get('/info/:id', (request, response) => memberController.getInfo(request, response)); +memberRoutes.get('/roles', (request, response) => memberController.getRoles(request, response)); +memberRoutes.post('/check3d', (request, response) => memberController.check3d(request, response)); +memberRoutes.get('/places', (request, response) => + memberController.getActivePlaces(request, response)); +memberRoutes.get('/backpack/:username', (request, response) => + memberController.getBackpack(request, response), +); export { memberRoutes }; diff --git a/api/src/routes/message.routes.ts b/api/src/routes/message.routes.ts index ab22ba81..cd34ef81 100644 --- a/api/src/routes/message.routes.ts +++ b/api/src/routes/message.routes.ts @@ -7,6 +7,8 @@ messageRoutes.get('/place/:placeId', (request, response) => messageController.getResults(request, response)); messageRoutes.post('/place/:placeId', (request, response) => messageController.addMessage(request, response)); +messageRoutes.post('/message/:messageid', + (request, response) => messageController.deleteMessage(request, response)); export { messageRoutes }; diff --git a/api/src/routes/messageboard.routes.ts b/api/src/routes/messageboard.routes.ts new file mode 100644 index 00000000..099f372e --- /dev/null +++ b/api/src/routes/messageboard.routes.ts @@ -0,0 +1,24 @@ +import Router from 'express'; + +import { messageboardController } from '../controllers'; + +const messageboardRoutes = Router(); + +messageboardRoutes.post('/changemessageboardintro/', + (request, response) => messageboardController.changeMessageboardIntro(request, response)); +messageboardRoutes.post('/deletemessage/', + (request, response) => messageboardController.deleteMessageboardMessage(request, response)); +messageboardRoutes.post('/info/', + (request, response) => messageboardController.getInfo(request, response)); +messageboardRoutes.post('/getadmininfo/', + (request, response) => messageboardController.getAdminInfo(request, response)); +messageboardRoutes.post('/getmessage/', + (request, response) => messageboardController.getMessage(request, response)); +messageboardRoutes.post('/messages/', + (request, response) => messageboardController.getMessageboardMessages(request, response)); +messageboardRoutes.post('/postmessage/', + (request, response) => messageboardController.postMessageboardMessage(request, response)); +messageboardRoutes.post('/postreply/', + (request, response) => messageboardController.postMessageboardReply(request, response)); + +export { messageboardRoutes }; diff --git a/api/src/routes/object-instance.routes.ts b/api/src/routes/object-instance.routes.ts index 618b193c..c5fa7af3 100644 --- a/api/src/routes/object-instance.routes.ts +++ b/api/src/routes/object-instance.routes.ts @@ -3,7 +3,28 @@ import Router from 'express'; import { objectInstanceController } from '../controllers'; const objectInstanceRoutes = Router(); -objectInstanceRoutes.post('/:id/position', - (request, response) => objectInstanceController.updateObjectInstancePosition(request, response)); +objectInstanceRoutes.post('/:id/position', (request, response) => + objectInstanceController.updateObjectInstancePosition(request, response), +); +objectInstanceRoutes.post('/:id/drop', (request, response) => + objectInstanceController.dropObjectInstance(request, response), +); +objectInstanceRoutes.post('/:id/pickup', (request, response) => + objectInstanceController.pickUpObjectInstance(request, response), +); +objectInstanceRoutes.post('/:id/properties', (request, response) => + objectInstanceController.openObjectProperties(request, response), +); +objectInstanceRoutes.post('/update/', (request, response) => + objectInstanceController.updateObjectInstance(request, response), +); +objectInstanceRoutes.post('/buy/', (request, response) => + objectInstanceController.buyObjectInstance(request, response), +); +objectInstanceRoutes.post('/backpack', (request, response) => + objectInstanceController.moveToBackpack(request, response)); + +objectInstanceRoutes.post('/storage', (request, response) => + objectInstanceController.moveToStorage(request, response)); export { objectInstanceRoutes }; diff --git a/api/src/routes/object.routes.ts b/api/src/routes/object.routes.ts new file mode 100644 index 00000000..ee72c3cb --- /dev/null +++ b/api/src/routes/object.routes.ts @@ -0,0 +1,10 @@ +import Router from 'express'; + +import { objectController } from '../controllers'; + +const objectRoutes = Router(); +objectRoutes.post('/add', (request, response) => objectController.add(request, response)); +objectRoutes.post('/increase_quantity', (request, response) => + objectController.increaseQuantity(request, response)); + +export { objectRoutes }; diff --git a/api/src/routes/place.routes.ts b/api/src/routes/place.routes.ts index 6b0a99eb..0bb83c21 100644 --- a/api/src/routes/place.routes.ts +++ b/api/src/routes/place.routes.ts @@ -1,11 +1,15 @@ import Router from 'express'; -import { placeController } from '../controllers'; +import {placeController} from '../controllers'; const placeRoutes = Router(); placeRoutes.get('/:placeId/object_instance', (request, response) => placeController.getPlaceObjects(request, response)); placeRoutes.get('/:slug', (request, response) => placeController.getPlace(request, response)); +placeRoutes.get('/:id', + (request, response) => placeController.getPlaceById(request, response)); +placeRoutes.post('/add_storage', (request, response) => + placeController.addStorage(request, response)); export { placeRoutes }; diff --git a/api/src/services/admin/admin.services.ts b/api/src/services/admin/admin.services.ts new file mode 100644 index 00000000..3d38645b --- /dev/null +++ b/api/src/services/admin/admin.services.ts @@ -0,0 +1,113 @@ +import { Service } from 'typedi'; + +import { + BanRepository, + MemberRepository, + MessageRepository, + RoleAssignmentRepository, + RoleRepository, + AvatarRepository, + PlaceRepository, +} from '../../repositories'; + +@Service() +export class AdminService { + constructor( + private banRepository: BanRepository, + private memberRepository: MemberRepository, + private messageRepository: MessageRepository, + private roleAssignmentRepository: RoleAssignmentRepository, + private roleRepository: RoleRepository, + private avatarRespository: AvatarRepository, + private placeRepository: PlaceRepository, + ) {} + + public async addBan(ban_member_id, time_frame, type, assigner_member_id, reason): Promise { + const end_date = new Date(); + end_date.setTime(end_date.getTime() + time_frame * 24 * 60 * 60 * 1000); + end_date.getUTCDate(); + await this.banRepository.addBan(ban_member_id, end_date, type, assigner_member_id, reason); + } + + public async addDonor(member_id: number, donor: string): Promise { + const donorId = { + supporter: await this.roleRepository.roleMap.Supporter, + advocate: await this.roleRepository.roleMap.Advocate, + devotee: await this.roleRepository.roleMap.Devotee, + champion: await this.roleRepository.roleMap.Champion, + donorLevel: await this.roleRepository.roleMap[donor], + }; + try { + await this.roleAssignmentRepository.addDonor(member_id, donorId); + } catch (e) { + console.log(e); + } + } + + public async deleteBan(banId: number, updateReason: string): Promise{ + await this.banRepository.deleteBan(banId, updateReason); + } + + public async getBanHistory(ban_member_id: number): Promise { + return await this.banRepository.getBanHistory(ban_member_id); + } + + public async getDonor(member_id: number): Promise { + const donorId = { + supporter: await this.roleRepository.roleMap.Supporter, + advocate: await this.roleRepository.roleMap.Advocate, + devotee: await this.roleRepository.roleMap.Devotee, + champion: await this.roleRepository.roleMap.Champion, + }; + try { + return await this.roleAssignmentRepository.getDonor(member_id, donorId); + } catch (e) { + console.log(e); + } + } + + public async searchUsers(search: string, limit: number, offset: number): Promise { + const users = await this.memberRepository.searchUsers(search, limit, offset); + const total = await this.memberRepository.getTotal(search); + return { + users: users, + total: total, + }; + } + + public async searchUserChat( + search: string, + user: number, + limit: number, + offset: number, + ): Promise { + const messages = await this.messageRepository.searchUserChat(search, user, limit, offset); + const total = await this.messageRepository.getChatTotal(search, user); + return { + messages: messages, + total: total, + }; + } + + public async searchAvatars(status: number, limit: number, offset: number): Promise { + const avatars = await this.avatarRespository.findByStatus(status, limit, offset); + const total = await this.avatarRespository.totalByStatus(status); + return { + avatars: avatars, + total: total, + }; + } + + public async updatePlaces(id: number, column: string, content: string): Promise { + await this.placeRepository.updatePlaces(id, column, content); + } + + public async searchPlaces(type: string, limit: number, offset: number): Promise { + const places = await this.placeRepository.findByType(type, limit, offset); + const total = await this.placeRepository.totalByType(type); + return { + places: places, + total: total, + }; + } +} diff --git a/api/src/services/avatar/avatar.service.ts b/api/src/services/avatar/avatar.service.ts new file mode 100644 index 00000000..6d2531d8 --- /dev/null +++ b/api/src/services/avatar/avatar.service.ts @@ -0,0 +1,111 @@ +import crypto from 'crypto'; +const fs = require('fs'); +import { Service } from 'typedi'; +import { Avatar } from 'models'; + +import { + AvatarRepository, +} from '../../repositories'; + +/** Service for dealing with avatars */ +@Service() +export class AvatarService { + constructor( + private avatarRepository: AvatarRepository, + ) {} + + public static readonly WRL_FILESIZE_LIMIT = 250000; + public static readonly TEXTURE_FILESIZE_LIMIT = 250000; + public static readonly IMAGE_FILESIZE_LIMIT = 250000; + + public static readonly STATUS_DELETED = 0; + public static readonly STATUS_ACTIVE = 1; + public static readonly STATUS_PENDING = 2; + + + /** + * Finds all avatars + * @returns promise resolving all avatars object, or rejecting on error + */ + public async findAll(): Promise { + return await this.avatarRepository.findAll(); + } + + /** + * Finds all avatars a member id can access + * @returns promise resolving all avatars object, or rejecting on error + */ + public async getResults(memberId : number): Promise { + return await this.avatarRepository.findAllForMemberId(memberId); + } + + /** + * create an avatar (file upload and record) + * @param wrlFile + * @param imageFile + * @param textureFile + * @param name + * @param gestures + * @param privateStatus + * @param memberId + */ + public async create(wrlFile, imageFile, textureFile, name, gestures, privateStatus, memberId) { + let uuid = crypto.randomUUID(); + let fileName = crypto.randomBytes(8).toString('hex'); + + const assets = await this.uploadAvatarFiles( + uuid, + fileName, + wrlFile, + imageFile, + textureFile ?? null, + ); + + this.avatarRepository.create( + uuid, + assets.filename, + assets.image, + name, + gestures, + privateStatus, + memberId, + AvatarService.STATUS_PENDING + ); + } + + public async uploadAvatarFiles( + directoryName, + fileName, + wrlFile, + imageFile, + textureFile?, + ): Promise { + let uploadPath = process.env.ASSETS_DIR + '/avatars/' + directoryName; + const response = { + filename: null, + image: null, + texture: null, + }; + + fs.mkdirSync(uploadPath); + wrlFile.mv(uploadPath + '/' + fileName + '.wrl'); + response.filename = fileName + '.wrl'; + + let imageExtension = imageFile.name.split('.').pop(); + imageFile.mv(uploadPath + '/' + fileName + '.' + imageExtension); + response.image = fileName + '.' + imageExtension; + + if (textureFile) { + textureFile.mv(uploadPath + '/' + textureFile.name); + response.texture = textureFile.name; + } + return response; + } + + public async approve(id): Promise { + await this.avatarRepository.updateStatus(id,AvatarService.STATUS_ACTIVE); + } + public async reject(id): Promise { + await this.avatarRepository.updateStatus(id,AvatarService.STATUS_DELETED); + } +} diff --git a/api/src/services/block/block.service.ts b/api/src/services/block/block.service.ts index 26c6a848..55752571 100644 --- a/api/src/services/block/block.service.ts +++ b/api/src/services/block/block.service.ts @@ -2,18 +2,216 @@ import { Service } from 'typedi'; import { BlockRepository, + MapLocationRepository, + HoodRepository, + RoleAssignmentRepository, + RoleRepository, + MemberRepository, } from '../../repositories'; +import {Member, Place} from '../../types/models'; +import {includes} from 'lodash'; /** Service for dealing with blocks */ @Service() export class BlockService { - constructor( private blockRepository: BlockRepository, + private mapLocationRepository: MapLocationRepository, + private hoodRepository: HoodRepository, + private roleAssignmentRepository: RoleAssignmentRepository, + private roleRepository: RoleRepository, + private memberRepository: MemberRepository, ) {} + + private async updateDeputyId(deputy: any): Promise { + let newDeputies = 0; + if (deputy.username !== null) { + const result = await this.memberRepository.findIdByUsername(deputy.username); + newDeputies = result[0].id; + } + return newDeputies; + } + + public async find(blockId: number): Promise { + return await this.blockRepository.find(blockId); + } + + public async getHood(blockId: number): Promise { + const blockMapLocation = await this.mapLocationRepository.findPlaceIdMapLocation(blockId); + return await this.hoodRepository.find(blockMapLocation.parent_place_id); + } + + public async getAccessInfoByUsername(blockId: number): Promise { + const deputyCode = await this.roleRepository.roleMap.BlockDeputy; + const ownerCode = await this.roleRepository.roleMap.BlockLeader; + return await this.blockRepository.getAccessInfoByUsername(blockId, ownerCode, deputyCode); + } + + public async postAccessInfo( + blockId: number, + givenDeputies: any, + givenOwner: string): Promise { + /** + * old is coming from database + * new is coming from access rights page + */ + const deputyCode = await this.roleRepository.roleMap.BlockDeputy; + const ownerCode = await this.roleRepository.roleMap.BlockLeader; + let oldOwner = null; + let newOwner = null; + const oldDeputies = [0,0,0,0,0,0,0,0]; + const newDeputies = [0,0,0,0,0,0,0,0]; + const data = await this.blockRepository.getAccessInfoByID(blockId, ownerCode, deputyCode); + if (data.owner.length > 0) { + oldOwner = data.owner[0].member_id; + } else { + oldOwner = 0; + } + try { + newOwner = await this.memberRepository.findIdByUsername(givenOwner); + newOwner = newOwner[0].id; + } catch (error) { + newOwner = 0; + } + if (newOwner !== 0) { + if (oldOwner !== 0) { + await this.blockRepository.removeIdFromAssignment(blockId, oldOwner, ownerCode); + const response: any = await this.memberRepository.getPrimaryRoleName(oldOwner); + if (response.length !== 0) { + const primaryRoleId = response[0].primary_role_id; + if (ownerCode === primaryRoleId){ + await this.memberRepository.update(oldOwner, {primary_role_id: null}); + } + } + } + await this.blockRepository.addIdToAssignment(blockId, newOwner, ownerCode); + } + data.deputies.forEach((deputies, index) => { + oldDeputies[index] = deputies.member_id; + }); + for (let i = 0; i < givenDeputies.length; i++) { + newDeputies[i] = await this.updateDeputyId(givenDeputies[i]); + } + oldDeputies.forEach((oldDeputies, index) => { + if (oldDeputies !== newDeputies[index]) { + if (newDeputies[index] === 0) { + try { + this.blockRepository.removeIdFromAssignment(blockId, oldDeputies, deputyCode); + } catch (e) { + console.log(e); + } + if (oldDeputies !== 0) { + this.memberRepository.getPrimaryRoleName(oldDeputies) + .then((response: any) => { + if (response.length !== 0) { + const primaryRoleId = response[0].primary_role_id; + if (primaryRoleId && deputyCode === primaryRoleId) { + this.memberRepository.update(oldDeputies, {primary_role_id: null}); + } + } + }); + } + } else { + try { + this.blockRepository.removeIdFromAssignment(blockId, oldDeputies, deputyCode); + this.memberRepository.getPrimaryRoleName(oldDeputies) + .then((response: any) => { + if (response.length !== 0) { + const primaryRoleId = response[0].primary_role_id; + if (deputyCode === primaryRoleId) { + this.memberRepository.update(oldDeputies, {primary_role_id: null}); + } + } + }); + this.blockRepository.addIdToAssignment(blockId, newDeputies[index], deputyCode); + } catch (e) { + console.log(e); + } + } + } + }); + } public async getMapLocationAndPlaces(blockId: number): Promise { - const locations = await this.blockRepository.getMapLocationAndPlacesByBlockId(blockId); - return locations; + return await this.blockRepository.getMapLocationAndPlacesByBlockId(blockId); + } + + public async resetMapLocationAvailability(blockId: number): Promise { + return await this.mapLocationRepository.resetAvailabilityByParentPlaceId(blockId); + } + + public async setMapLocationAvailable(blockId: number, location: number): Promise { + return await this.mapLocationRepository.createAvailableLocation(blockId, location); + } + + public async canAdmin(blockId: number, memberId: number): Promise { + const roleAssignments = await this.roleAssignmentRepository.getByMemberId(memberId); + const hood = await this.getHood(blockId); + const hoodMapLocation = await this.mapLocationRepository.findPlaceIdMapLocation(hood.id); + const colonyId = hoodMapLocation.parent_place_id; + + if ( + roleAssignments.find(assignment => { + return ( + [ + this.roleRepository.roleMap.Admin, + this.roleRepository.roleMap.CityMayor, + this.roleRepository.roleMap.DeputyMayor, + ].includes(assignment.role_id) || + ([ + this.roleRepository.roleMap.ColonyLeader, + this.roleRepository.roleMap.ColonyDeputy, + ].includes(assignment.role_id) && + assignment.place_id === colonyId) || + ([ + this.roleRepository.roleMap.NeighborhoodDeputy, + this.roleRepository.roleMap.NeighborhoodLeader, + ].includes(assignment.role_id) && + assignment.place_id === hood.id) || + ([ + this.roleRepository.roleMap.BlockDeputy, + this.roleRepository.roleMap.BlockLeader, + ].includes(assignment.role_id) && + assignment.place_id === blockId) + ); + }) + ) { + return true; + } + return false; + } + + public async canManageAccess(blockId: number, memberId: number): Promise { + const roleAssignments = await this.roleAssignmentRepository.getByMemberId(memberId); + const hood = await this.getHood(blockId); + const hoodMapLocation = await this.mapLocationRepository.findPlaceIdMapLocation(hood.id); + const colonyId = hoodMapLocation.parent_place_id; + + if ( + roleAssignments.find(assignment => { + return ( + [ + this.roleRepository.roleMap.Admin, + this.roleRepository.roleMap.CityMayor, + this.roleRepository.roleMap.DeputyMayor, + ].includes(assignment.role_id) || + ([ + this.roleRepository.roleMap.ColonyLeader, + this.roleRepository.roleMap.ColonyDeputy, + ].includes(assignment.role_id) && + assignment.place_id === colonyId) || + ([ + this.roleRepository.roleMap.NeighborhoodDeputy, + this.roleRepository.roleMap.NeighborhoodLeader, + ].includes(assignment.role_id) && + assignment.place_id === hood.id) || + ([this.roleRepository.roleMap.BlockLeader].includes(assignment.role_id) && + assignment.place_id === blockId) + ); + }) + ) { + return true; + } + return false; } } diff --git a/api/src/services/colony/colony.service.ts b/api/src/services/colony/colony.service.ts new file mode 100644 index 00000000..e4462afd --- /dev/null +++ b/api/src/services/colony/colony.service.ts @@ -0,0 +1,178 @@ +import { Service } from 'typedi'; + +import { + ColonyRepository, + RoleAssignmentRepository, + RoleRepository, + MemberRepository, +} from '../../repositories'; +import { Place } from '../../types/models'; +import * as console from 'console'; +import {includes} from 'lodash'; + +/** Service for dealing with colony */ +@Service() +export class ColonyService { + constructor( + private colonyRepository: ColonyRepository, + private roleAssignmentRepository: RoleAssignmentRepository, + private roleRepository: RoleRepository, + private memberRepository: MemberRepository, + ) {} + + private async updateDeputyId(deputy: any): Promise { + let newDeputies = 0; + console.log(deputy.username); + if (deputy.username !== null) { + if (deputy.username.length > 0) { + const result = await this.memberRepository.findIdByUsername(deputy.username); + newDeputies = result[0].id; + } + } + return newDeputies; + } + + public async find(colonyId: number): Promise { + return await this.colonyRepository.find(colonyId); + } + + public async getHoods(colonyId: number): Promise { + return await this.colonyRepository.getHoods(colonyId); + } + + public async getAccessInfoByUsername(colonyId: number): Promise { + const deputyCode = await this.roleRepository.roleMap.ColonyDeputy; + const ownerCode = await this.roleRepository.roleMap.ColonyLeader; + return await this.colonyRepository.getAccessInfoByUsername(colonyId, ownerCode, deputyCode); + } + + public async postAccessInfo( + colonyId: number, + givenDeputies: any, + givenOwner: string): Promise { + /** + * old is coming from database + * new is coming from access rights page + */ + const deputyCode = await this.roleRepository.roleMap.ColonyDeputy; + const ownerCode = await this.roleRepository.roleMap.ColonyLeader; + let oldOwner = null; + let newOwner = null; + const oldDeputies = [0,0,0,0,0,0,0,0]; + const newDeputies = [0,0,0,0,0,0,0,0]; + const data = await this.colonyRepository.getAccessInfoByID(colonyId, ownerCode, deputyCode); + if (data.owner.length > 0) { + oldOwner = data.owner[0].member_id; + } else { + oldOwner = 0; + } + try { + newOwner = await this.memberRepository.findIdByUsername(givenOwner); + newOwner = newOwner[0].id; + } catch (error) { + newOwner = 0; + } + if (newOwner !== 0) { + if (oldOwner !== 0) { + await this.colonyRepository.removeIdFromAssignment(colonyId, oldOwner, ownerCode); + const response: any = await this.memberRepository.getPrimaryRoleName(oldOwner); + if (response.length !== 0) { + const primaryRoleId = response[0].primary_role_id; + if (ownerCode === primaryRoleId){ + await this.memberRepository.update(oldOwner, {primary_role_id: null}); + } + } + } + await this.colonyRepository.addIdToAssignment(colonyId, newOwner, ownerCode); + } + data.deputies.forEach((deputies, index) => { + oldDeputies[index] = deputies.member_id; + }); + for (let i = 0; i < givenDeputies.length; i++) { + newDeputies[i] = await this.updateDeputyId(givenDeputies[i]); + } + oldDeputies.forEach((oldDeputies, index) => { + if (oldDeputies !== newDeputies[index]) { + if (newDeputies[index] === 0) { + try { + this.colonyRepository.removeIdFromAssignment(colonyId, oldDeputies, deputyCode); + } catch (e) { + console.log(e); + } + if (oldDeputies !== 0) { + this.memberRepository.getPrimaryRoleName(oldDeputies) + .then((response: any) => { + if (response.length !== 0) { + const primaryRoleId = response[0].primary_role_id; + if (primaryRoleId && deputyCode === primaryRoleId) { + this.memberRepository.update(oldDeputies, {primary_role_id: null}); + } + } + }); + } + } else { + try { + this.colonyRepository.removeIdFromAssignment(colonyId, oldDeputies, deputyCode); + this.memberRepository.getPrimaryRoleName(oldDeputies) + .then((response: any) => { + if (response.length !== 0) { + const primaryRoleId = response[0].primary_role_id; + if (deputyCode === primaryRoleId) { + this.memberRepository.update(oldDeputies, {primary_role_id: null}); + } + } + }); + this.colonyRepository.addIdToAssignment(colonyId, newDeputies[index], deputyCode); + } catch (e) { + console.log(e); + } + } + } + }); + } + + public async canAdmin(colonyId: number, memberId: number): Promise { + const roleAssignments = await this.roleAssignmentRepository.getByMemberId(memberId); + + if ( + roleAssignments.find(assignment => { + return ( + [ + this.roleRepository.roleMap.Admin, + this.roleRepository.roleMap.CityMayor, + this.roleRepository.roleMap.DeputyMayor, + ].includes(assignment.role_id) || + ([ + this.roleRepository.roleMap.ColonyLeader, + this.roleRepository.roleMap.ColonyDeputy, + ].includes(assignment.role_id) && + assignment.place_id === colonyId) + ); + }) + ) { + return true; + } + else return false; + } + + public async canManageAccess(colonyId: number, memberId: number): Promise { + const roleAssignments = await this.roleAssignmentRepository.getByMemberId(memberId); + + if ( + roleAssignments.find(assignment => { + return ( + [ + this.roleRepository.roleMap.Admin, + this.roleRepository.roleMap.CityMayor, + this.roleRepository.roleMap.DeputyMayor, + ].includes(assignment.role_id) || + ([this.roleRepository.roleMap.ColonyLeader].includes(assignment.role_id) && + assignment.place_id === colonyId) + ); + }) + ) { + return true; + } + return false; + } +} diff --git a/api/src/services/fleamarket/fleamarket.service.ts b/api/src/services/fleamarket/fleamarket.service.ts new file mode 100644 index 00000000..996889f7 --- /dev/null +++ b/api/src/services/fleamarket/fleamarket.service.ts @@ -0,0 +1,31 @@ +import { Service } from 'typedi'; + +import { + RoleAssignmentRepository, + RoleRepository, +} from '../../repositories'; + +/** Service for dealing with the flea market */ +@Service() +export class FleaMarketService { + constructor( + private roleAssignmentRepository: RoleAssignmentRepository, + private roleRepository: RoleRepository, + ) {} + + public async canAdmin(memberId: number): Promise { + const roleAssignments = await this.roleAssignmentRepository.getByMemberId(memberId); + if ( + roleAssignments.find(assignment => { + return [ + this.roleRepository.roleMap.Admin, + this.roleRepository.roleMap.FleaMarketDeputy, + this.roleRepository.roleMap.FleaMarketChief, + ].includes(assignment.role_id); + }) + ) { + return true; + } + return false; + } +} diff --git a/api/src/services/home/home.service.ts b/api/src/services/home/home.service.ts index c18edf41..741bf4ed 100644 --- a/api/src/services/home/home.service.ts +++ b/api/src/services/home/home.service.ts @@ -5,6 +5,8 @@ import { MapLocationRepository, HomeDesignRepository, HomeRepository, + RoleAssignmentRepository, + RoleRepository, } from '../../repositories'; import { Place, HomeDesign } from '../../types/models'; @@ -17,6 +19,8 @@ export class HomeService { private mapLocationRespository: MapLocationRepository, private homeDesignRespository: HomeDesignRepository, private homeRepository: HomeRepository, + private roleAssignmentRepository: RoleAssignmentRepository, + private roleRepository: RoleRepository, ) {} @@ -36,13 +40,12 @@ export class HomeService { } - public async getPlaceHomeDesign(homePlaceId: number): Promise { - const homeInfo = await this.homeRepository.findById(homePlaceId); + public async getPlaceHomeDesign(memberId: number, homePlaceId: number): Promise { + const homeInfo = await this.homeRepository.findById(homePlaceId); return this.homeDesignRespository.find(homeInfo.home_design_id); - } - public getHomeDesign(homeDesignId: string): HomeDesign { + public async getHomeDesign(memberId: number, homeDesignId: string): Promise { return this.homeDesignRespository.find(homeDesignId); } diff --git a/api/src/services/hood/hood.service.ts b/api/src/services/hood/hood.service.ts new file mode 100644 index 00000000..5162ef76 --- /dev/null +++ b/api/src/services/hood/hood.service.ts @@ -0,0 +1,195 @@ +import { Service } from 'typedi'; + +import { + MapLocationRepository, + HoodRepository, + ColonyRepository, + RoleAssignmentRepository, + RoleRepository, + MemberRepository, +} from '../../repositories'; +import { Place } from '../../types/models'; +import {includes} from 'lodash'; + +/** Service for dealing with blocks */ +@Service() +export class HoodService { + constructor( + private mapLocationRepository: MapLocationRepository, + private hoodRepository: HoodRepository, + private colonyRepository: ColonyRepository, + private roleAssignmentRepository: RoleAssignmentRepository, + private roleRepository: RoleRepository, + private memberRepository: MemberRepository, + ) {} + + private async updateDeputyId(deputy: any): Promise { + let newDeputies = 0; + if (deputy.username !== null) { + const result = await this.memberRepository.findIdByUsername(deputy.username); + newDeputies = result[0].id; + } + return newDeputies; + } + + public async find(hoodId: number): Promise { + return await this.hoodRepository.find(hoodId); + } + + public async getAccessInfoByUsername(hoodId: number): Promise { + const deputyCode = await this.roleRepository.roleMap.NeighborhoodDeputy; + const ownerCode = await this.roleRepository.roleMap.NeighborhoodLeader; + return await this.hoodRepository.getAccessInfoByUsername(hoodId, ownerCode, deputyCode); + } + + public async postAccessInfo( + hoodId: number, + givenDeputies: any, + givenOwner: string): Promise { + /** + * old is coming from database + * new is coming from access rights page + */ + const deputyCode = await this.roleRepository.roleMap.NeighborhoodDeputy; + const ownerCode = await this.roleRepository.roleMap.NeighborhoodLeader; + let oldOwner = null; + let newOwner = null; + const oldDeputies = [0,0,0,0,0,0,0,0]; + const newDeputies = [0,0,0,0,0,0,0,0]; + const data = await this.hoodRepository.getAccessInfoByID(hoodId, ownerCode, deputyCode); + if (data.owner.length > 0) { + oldOwner = data.owner[0].member_id; + } else { + oldOwner = 0; + } + try { + newOwner = await this.memberRepository.findIdByUsername(givenOwner); + newOwner = newOwner[0].id; + } catch (error) { + newOwner = 0; + } + if (newOwner !== 0) { + if (oldOwner !== 0) { + await this.hoodRepository.removeIdFromAssignment(hoodId, oldOwner, ownerCode); + const response: any = await this.memberRepository.getPrimaryRoleName(oldOwner); + if (response.length !== 0) { + const primaryRoleId = response[0].primary_role_id; + if (ownerCode === primaryRoleId){ + await this.memberRepository.update(oldOwner, {primary_role_id: null}); + } + } + } + await this.hoodRepository.addIdToAssignment(hoodId, newOwner, ownerCode); + } + data.deputies.forEach((deputies, index) => { + oldDeputies[index] = deputies.member_id; + }); + for (let i = 0; i < givenDeputies.length; i++) { + newDeputies[i] = await this.updateDeputyId(givenDeputies[i]); + } + oldDeputies.forEach((oldDeputies, index) => { + if (oldDeputies !== newDeputies[index]) { + if (newDeputies[index] === 0) { + try { + this.hoodRepository.removeIdFromAssignment(hoodId, oldDeputies, deputyCode); + } catch (e) { + console.log(e); + } + if (oldDeputies !== 0) { + this.memberRepository.getPrimaryRoleName(oldDeputies) + .then((response: any) => { + if (response.length !== 0) { + const primaryRoleId = response[0].primary_role_id; + if (primaryRoleId && deputyCode === primaryRoleId) { + this.memberRepository.update(oldDeputies, {primary_role_id: null}); + } + } + }); + } + } else { + try { + this.hoodRepository.removeIdFromAssignment(hoodId, oldDeputies, deputyCode); + this.memberRepository.getPrimaryRoleName(oldDeputies) + .then((response: any) => { + if (response.length !== 0) { + const primaryRoleId = response[0].primary_role_id; + if (deputyCode === primaryRoleId) { + this.memberRepository.update(oldDeputies, {primary_role_id: null}); + } + } + }); + this.hoodRepository.addIdToAssignment(hoodId, newDeputies[index], deputyCode); + } catch (e) { + console.log(e); + } + } + } + }); + } + + public async getColony(hoodId: number): Promise { + const hoodMapLocation = await this.mapLocationRepository.findPlaceIdMapLocation(hoodId); + return await this.colonyRepository.find(hoodMapLocation.parent_place_id); + } + + public async getBlocks(hoodId: number): Promise { + return await this.hoodRepository.getBlocks(hoodId); + } + + public async canAdmin(hoodId: number, memberId: number): Promise { + const roleAssignments = await this.roleAssignmentRepository.getByMemberId(memberId); + const colony = await this.getColony(hoodId); + + if ( + roleAssignments.find(assignment => { + return ( + [ + this.roleRepository.roleMap.Admin, + this.roleRepository.roleMap.CityMayor, + this.roleRepository.roleMap.DeputyMayor, + ].includes(assignment.role_id) || + ([ + this.roleRepository.roleMap.ColonyLeader, + this.roleRepository.roleMap.ColonyDeputy, + ].includes(assignment.role_id) && + assignment.place_id === colony.id) || + ([ + this.roleRepository.roleMap.NeighborhoodDeputy, + this.roleRepository.roleMap.NeighborhoodLeader, + ].includes(assignment.role_id) && + assignment.place_id === hoodId) + ); + }) + ) { + return true; + } + return false; + } + + public async canManageAccess(hoodId: number, memberId: number): Promise { + const roleAssignments = await this.roleAssignmentRepository.getByMemberId(memberId); + const colony = await this.getColony(hoodId); + + if ( + roleAssignments.find(assignment => { + return ( + [ + this.roleRepository.roleMap.Admin, + this.roleRepository.roleMap.CityMayor, + this.roleRepository.roleMap.DeputyMayor, + ].includes(assignment.role_id) || + ([ + this.roleRepository.roleMap.ColonyLeader, + this.roleRepository.roleMap.ColonyDeputy, + ].includes(assignment.role_id) && + assignment.place_id === colony.id) || + ([this.roleRepository.roleMap.NeighborhoodLeader].includes(assignment.role_id) && + assignment.place_id === hoodId) + ); + }) + ) { + return true; + } + return false; + } +} diff --git a/api/src/services/inbox/inbox.service.ts b/api/src/services/inbox/inbox.service.ts new file mode 100644 index 00000000..f836eb3b --- /dev/null +++ b/api/src/services/inbox/inbox.service.ts @@ -0,0 +1,157 @@ +import { Service } from 'typedi'; + +import { InboxRepository, ColonyRepository } from '../../repositories'; +import sanitizeHtml from 'sanitize-html'; +import { stringify } from 'ts-jest'; + +/** Service for dealing with messages on message boards */ +@Service() +export class InboxService { + public static readonly MAX_QUERY_LIMIT = 1000; + public static readonly VALID_ORDERS = ['id', 'date']; + public static readonly VALID_ORDER_DIRECTIONS = ['asc', 'desc']; + + constructor(private inboxRepository: InboxRepository) {} + + public async changeInboxIntro(placeId, Intro): Promise { + console.log(`Service${placeId}`); + return await this.inboxRepository.changeInboxIntro(placeId, Intro); + } + public async deleteInboxMessage(messageId): Promise { + return await this.inboxRepository.deleteInboxMessage(messageId); + } + + public async getAdminInfo(placeId, memberId): Promise { + return await this.inboxRepository.getAdminInfo(placeId, memberId); + } + public async getInfo(placeId: number): Promise { + return await this.inboxRepository.getInfo(placeId); + } + + public async getInboxMessages(placeId: number): Promise { + return await this.inboxRepository.getInboxMessages(placeId); + } + + public async postInboxMessage( + memberId: number, + placeId: number, + subject: string, + message: string, + ): Promise { + return await this.inboxRepository.postInboxMessage(memberId, placeId, subject, message); + } + + public async postInboxReply( + senderMemberId: number, + receiverMemberId: number, + subject: string, + message: string, + parentId: number, + ): Promise { + const [placeId] = await this.inboxRepository.getHomeId(receiverMemberId); + if (placeId === undefined) { + throw Error('User does not have an inbox setup.'); + } + return await this.inboxRepository.postInboxReply( + senderMemberId, + placeId.id, + subject, + message, + parentId, + ); + } + + public async sanitize(uncleanInfo: string): Promise { + const cleanInfo = sanitizeHtml(uncleanInfo, { + allowedTags: [ + 'address', + 'article', + 'aside', + 'footer', + 'header', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'hgroup', + 'main', + 'nav', + 'section', + 'blockquote', + 'dd', + 'div', + 'dl', + 'dt', + 'figcaption', + 'figure', + 'hr', + 'li', + 'main', + 'ol', + 'p', + 'pre', + 'ul', + 'a', + 'abbr', + 'b', + 'bdi', + 'bdo', + 'br', + 'cite', + 'code', + 'data', + 'dfn', + 'em', + 'i', + 'kbd', + 'mark', + 'q', + 'rb', + 'rp', + 'rt', + 'rtc', + 'ruby', + 's', + 'samp', + 'small', + 'span', + 'strong', + 'sub', + 'sup', + 'time', + 'u', + 'var', + 'wbr', + 'caption', + 'col', + 'colgroup', + 'table', + 'tbody', + 'td', + 'tfoot', + 'th', + 'thead', + 'tr', + 'img', + 'font', + 'center', + 'map', + 'area', + ], + disallowedTagsMode: 'discard', + allowedAttributes: { + a: ['href', 'name', 'target'], + img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], + font: ['color', 'size'], + map: [ 'name' ], + area: [ 'alt', 'title', 'href', 'coords', 'shape', 'target', 'class' ], + }, + }); + return cleanInfo; + } + public async getMessage(messageId: number): Promise { + return await this.inboxRepository.getMessage(messageId); + } +} diff --git a/api/src/services/index.ts b/api/src/services/index.ts index 3ef3af95..79192d05 100644 --- a/api/src/services/index.ts +++ b/api/src/services/index.ts @@ -1,3 +1,18 @@ +export * from './admin/admin.services'; +export * from './avatar/avatar.service'; +export * from './block/block.service'; +export * from './colony/colony.service'; +export * from './fleamarket/fleamarket.service'; export * from './home/home.service'; +export * from './hood/hood.service'; +export * from './mall/mall.service'; export * from './member/member.service'; -export * from './block/block.service'; +export * from './message/message.service'; +export * from './object/object.service'; +export * from './object-instance/object-instance.service'; +export * from './role/role.service'; +export * from './role-assignment/role-assignment.service'; +export * from './place/place.service'; +export * from './wallet/wallet.service'; +export * from './messageboard/messageboard.service'; +export * from './inbox/inbox.service'; diff --git a/api/src/services/mall/mall.service.ts b/api/src/services/mall/mall.service.ts new file mode 100644 index 00000000..6dc453db --- /dev/null +++ b/api/src/services/mall/mall.service.ts @@ -0,0 +1,123 @@ +import { Service } from 'typedi'; + +import { + RoleAssignmentRepository, + RoleRepository, + ObjectInstanceRepository, + ObjectRepository, + PlaceRepository, + MallRepository, + MemberRepository +} from '../../repositories'; +import { MallObjectPosition, MallObjectRotation } from 'models'; + +/** Service for dealing with the mall */ +@Service() +export class MallService { + constructor( + private roleAssignmentRepository: RoleAssignmentRepository, + private roleRepository: RoleRepository, + private objectRepository: ObjectRepository, + private objectInstanceRepository: ObjectInstanceRepository, + private placeRepository: PlaceRepository, + private mallRepository: MallRepository, + private memberRepository: MemberRepository, + ) {} + + public async canAdmin(memberId: number): Promise { + const roleAssignments = await this.roleAssignmentRepository.getByMemberId(memberId); + if ( + roleAssignments.find(assignment => { + return [ + this.roleRepository.roleMap.Admin, + this.roleRepository.roleMap.MallDeputy, + this.roleRepository.roleMap.MallManager, + ].includes(assignment.role_id); + }) + ) { + return true; + } + return false; + } + + public async isObjectAvailable(objectId: number): Promise { + const object = await this.objectRepository.find({ id: objectId }); + if (!object) { + return false; + } + const instances = await this.objectInstanceRepository.countByObjectId(objectId); + + if (object.status !== 1) { + return false; + } + + if (instances >= object.quantity) { + return false; + } + return true; + } + + public async getMallStores(){ + const stores = await this.placeRepository.findAllStores(); + return stores; + } + + public async getAllObjects( + column: string, compare: string, content: string, limit: number, offset: number){ + const returnObjects= []; + const objects = await this.objectRepository + .findAllObjects(column, compare, content, limit, offset); + objects.forEach(obj => { + const user = this.memberRepository.findById(obj.member_id); + const store = this.mallRepository.getStore(obj.id); + if(store){ + store.then((value) => { + obj.store = value[0]; + }); + } + user.then((value) => { + obj.username = value.username; + }); + const instances = this.objectInstanceRepository.countByObjectId(obj.id); + instances.then((value) => { + obj.instances = value; + }); + returnObjects.push(obj); + }); + + const total = await this.objectRepository.total(column, compare, content); + return { + objects: returnObjects, + total: total, + }; + } + + public async getStore(id: number){ + const stores = await this.mallRepository.getStore(id); + return stores; + } + + public async updateObjectPlacement( + mallObjectId: number, + positionObj: MallObjectPosition, + rotationObj: MallObjectRotation, + ): Promise { + const position = JSON.stringify({ + x: Number.parseFloat(positionObj.x), + y: Number.parseFloat(positionObj.y), + z: Number.parseFloat(positionObj.z), + }); + const rotation = JSON.stringify({ + x: Number.parseFloat(rotationObj.x), + y: Number.parseFloat(rotationObj.y), + z: Number.parseFloat(rotationObj.z), + angle: Number.parseFloat(rotationObj.angle), + }); + + return await this.mallRepository.updateObjectPlacement( + mallObjectId, + position, + rotation, + ); + } +} diff --git a/api/src/services/member/member.service.ts b/api/src/services/member/member.service.ts index b58641bc..ad0f0ca4 100644 --- a/api/src/services/member/member.service.ts +++ b/api/src/services/member/member.service.ts @@ -6,14 +6,18 @@ import { Service } from 'typedi'; import { AvatarRepository, + BanRepository, + MapLocationRepository, MemberRepository, + PlaceRepository, + RoleAssignmentRepository, + RoleRepository, TransactionRepository, WalletRepository, - PlaceRepository, - MapLocationRepository, + ObjectInstanceRepository, } from '../../repositories'; -import { Member, Place } from '../../types/models'; -import { MemberInfoView } from '../../types/views'; +import { Member } from '../../types/models'; +import { MemberInfoView, MemberAdminView } from '../../types/views'; import { SessionInfo } from 'session-info.interface'; import { Request, Response } from 'express'; @@ -24,6 +28,10 @@ export class MemberService { public static readonly DAILY_CC_AMOUNT = 50; /** Amount of experience points a member received each day they log in */ public static readonly DAILY_XP_AMOUNT = 5; + /** Amount of cityccash an employed member receives each day they log in */ + public static readonly DAILY_CC_EMPLOYED_AMOUNT = 100; + /** Amount of experience points an employed member received each day they log in */ + public static readonly DAILY_XP_EMPLOYED_AMOUNT = 10; /** Duration in minutes until a password reset attempt expires */ public static readonly PASSWORD_RESET_EXPIRATION_DURATION = 15; /** Number of times to salt member passwords */ @@ -31,13 +39,74 @@ export class MemberService { constructor( private avatarRepository: AvatarRepository, + private banRepository: BanRepository, private memberRepository: MemberRepository, private transactionRepository: TransactionRepository, private walletRepository: WalletRepository, private placeRepository: PlaceRepository, private mapLocationRespository: MapLocationRepository, + private roleAssignmentRepository: RoleAssignmentRepository, + private objectInstanceRepository: ObjectInstanceRepository, + private roleRepository: RoleRepository, ) {} + public async canAdmin(memberId: number): Promise { + const roleAssignments = await this.roleAssignmentRepository.getByMemberId(memberId); + // Extracted admin roles into a constant for easy management + const ADMIN_ROLES = [ + this.roleRepository.roleMap.Admin, + this.roleRepository.roleMap.CityMayor, + this.roleRepository.roleMap.DeputyMayor, + this.roleRepository.roleMap.CityCouncil, + this.roleRepository.roleMap.SecurityCaptain, + this.roleRepository.roleMap.SecurityChief, + this.roleRepository.roleMap.SecurityLieutenant, + this.roleRepository.roleMap.SecurityOfficer, + this.roleRepository.roleMap.SecuritySergeant, + ]; + return !!roleAssignments.find(assignment => ADMIN_ROLES.includes(assignment.role_id)); + } + + public async canStaff(memberId: number): Promise { + const roleAssignments = await this.roleAssignmentRepository.getByMemberId(memberId); + // Extracted staff roles into a constant for easy management + const STAFF_ROLES = [ + this.roleRepository.roleMap.ColonyLeader, + this.roleRepository.roleMap.ColonyDeputy, + this.roleRepository.roleMap.NeighborhoodLeader, + this.roleRepository.roleMap.NeighborhoodDeputy, + this.roleRepository.roleMap.BlockLeader, + this.roleRepository.roleMap.BlockDeputy, + ]; + return !!roleAssignments.find(assignment => STAFF_ROLES.includes(assignment.role_id)); + } + + public async joinedPlace(id: number, placeId: number, is3d: number): Promise { + const now = new Date(); + await this.memberRepository.joinedPlace(id, { + place_id: placeId, + is_3d: is3d, + last_activity: now, + }); + } + + public async getAccessLevel(memberId: number): Promise { + const access = await this.canAdmin(memberId); + const roleAssignments = await this.roleAssignmentRepository.getByMemberId(memberId); + const admin = !!roleAssignments.find( + assignment => assignment.role_id === this.roleRepository.roleMap.Admin, + ); + let accessLevel; + if (access && admin) { + accessLevel = 'admin'; + } else if (access) { + accessLevel = 'security'; + } else { + accessLevel = 'none'; + } + return accessLevel; + } + /** * Creates a new member with the given email, username, and password. If successful, distributes * daily login bonuses, and returns an encoded member token. @@ -46,8 +115,12 @@ export class MemberService { * @param password raw member password * @returns promise resolving in the session token for the newly created member */ - public async createMemberAndLogin(email: string, username: string, password: string): - Promise { + + public async createMemberAndLogin( + email: string, + username: string, + password: string, + ): Promise { const hashedPassword = await this.encryptPassword(password); const memberId = await this.memberRepository.create({ email, @@ -64,7 +137,7 @@ export class MemberService { * @returns decoded session info */ public decodeMemberToken(token: string): SessionInfo { - return ( jwt.verify(token, process.env.JWT_SECRET)); + return jwt.verify(token, process.env.JWT_SECRET); } /** @@ -102,6 +175,16 @@ export class MemberService { return this.memberRepository.findByPasswordResetToken(resetToken); } + public async getDonorLevel(memberId: number): Promise { + const donorId = { + supporter: await this.roleRepository.roleMap.Supporter, + advocate: await this.roleRepository.roleMap.Advocate, + devotee: await this.roleRepository.roleMap.Devotee, + champion: await this.roleRepository.roleMap.Champion, + }; + return await this.roleAssignmentRepository.getDonor(memberId, donorId); + } + /** * Builds a member info view. * @param memberId id of member to retrieve info for @@ -118,8 +201,15 @@ export class MemberService { xp: member.xp, firstName: member.firstname, lastName: member.lastname, + chatdefault: member.chatdefault, + primary_role_id: member.primary_role_id, }; } + + public async getMemberChat(memberId: number): Promise { + const member = await this.find({ id: memberId }); + return member.chatdefault; + } /** * Builds a member info public view. @@ -134,6 +224,7 @@ export class MemberService { immigrationDate: member.created_at, username: member.username, xp: member.xp, + chatdefault: member.chatdefault, }; } @@ -142,7 +233,7 @@ export class MemberService { * @param memberId id of member to retrieve info for * @returns promise resolving in a member info view object, or rejecting on error */ - public async getMemberInfoAdmin(memberId: number): Promise { + public async getMemberInfoAdmin(memberId: number): Promise { const member = await this.find({ id: memberId }); const wallet = await this.walletRepository.findById(member.wallet_id); return { @@ -153,6 +244,10 @@ export class MemberService { xp: member.xp, firstName: member.firstname, lastName: member.lastname, + chatdefault: member.chatdefault, + last_daily_login_credit: member.last_daily_login_credit, + last_weekly_role_credit: member.last_weekly_role_credit, + lastAccess: member.last_activity, }; } @@ -166,6 +261,15 @@ export class MemberService { return this.encodeMemberToken(member); } + public async getPrimaryRoleName(memberId: number): Promise { + return this.memberRepository.getPrimaryRoleName(memberId); + } + + public async getRoles(memberId: number): Promise { + const roles = await this.roleAssignmentRepository.getRoleNameAndIdByMemberId(memberId); + return roles; + } + /** * Determines if the member with the given id has received their daily login bonus since the * beginning (00:00:00) of the current day. @@ -173,7 +277,7 @@ export class MemberService { * @returns `true` if the member has received their daily login bonus today, `false` otherwise */ public hasReceivedLoginCreditToday(member: Member): boolean { - const today = new Date().setHours(0, 0, 0, 0); + const today = new Date().setHours(0, 0, 0, 0); return member.last_daily_login_credit.getTime() >= today; } @@ -187,17 +291,39 @@ export class MemberService { return member.admin; } + /** + * Checks if the user is currently banned + * @param memberId + * @return banned boolean true if banned + */ + public async isBanned(memberId: number): Promise { + let banned = false; + const member = await this.memberRepository.findById(memberId); + const banInfo = await this.banRepository.getBanMaxDate(memberId); + if (typeof banInfo !== 'undefined') { + const endDate = new Date(banInfo.end_date); + const currentDate = new Date(); + if (member.status === 0 || endDate > currentDate) { + banned = true; + } + } else { + if (member.status === 0) banned = true; + } + return { banned, banInfo }; + } + /** * Validates the given username and password and logs a user in. * @param username username of member to be logged in * @param password password of member to be logged in - * @returns + * @returns */ public async login(username: string, password: string): Promise { const member = await this.memberRepository.find({ username }); if (!member) throw new Error('Account not found.'); const validPassword = await bcrypt.compare(password, member.password); if (!validPassword) throw new Error('Incorrect login details.'); + if (member.status === 0) throw new Error('banned'); this.maybeGiveDailyCredits(member.id); return this.encodeMemberToken(member); } @@ -211,17 +337,20 @@ export class MemberService { public async maybeGiveDailyCredits(memberId: number): Promise { const member = await this.memberRepository.findById(memberId); if (!this.hasReceivedLoginCreditToday(member)) { - await this.transactionRepository.createDailyCreditTransaction( - member.wallet_id, - MemberService.DAILY_CC_AMOUNT, - ); - await this.memberRepository.update( - memberId, - { - last_daily_login_credit: new Date(), - xp: member.xp + MemberService.DAILY_XP_AMOUNT, - }, - ); + let ccIncrease = MemberService.DAILY_CC_AMOUNT; + let xpIncrease = MemberService.DAILY_XP_AMOUNT; + + const roles = await this.roleAssignmentRepository.getByMemberId(memberId); + if (roles.length > 0) { + ccIncrease = MemberService.DAILY_CC_EMPLOYED_AMOUNT; + xpIncrease = MemberService.DAILY_XP_EMPLOYED_AMOUNT; + } + + await this.transactionRepository.createDailyCreditTransaction(member.wallet_id, ccIncrease); + await this.memberRepository.update(memberId, { + last_daily_login_credit: new Date(), + xp: member.xp + xpIncrease, + }); } } @@ -233,11 +362,10 @@ export class MemberService { * error */ public async updateAvatar(memberId: number, avatarId: number): Promise { - const avatar = await this.avatarRepository.find({ - id: avatarId, - status: 1, - private: false, - }); + const avatar = await this.avatarRepository.getByIdAndMemberId( + avatarId, + memberId + ); if (_.isUndefined(avatar)) throw new Error(`No avatar exists with id ${avatarId}`); await this.memberRepository.update(memberId, { avatar_id: avatarId }); } @@ -254,6 +382,10 @@ export class MemberService { await this.memberRepository.update(memberId, { password: hashedPassword }); } + public async updatePrimaryRoleId(memberId: number, primaryRoleId: number): Promise { + await this.memberRepository.update(memberId, { primary_role_id: primaryRoleId }); + } + /** * Encodes a JSON web token for the member with the given memberId. * @param member member object to encode a token for @@ -280,12 +412,14 @@ export class MemberService { private encryptPassword(password: string): Promise { return bcrypt.hash(password, MemberService.SALT_ROUNDS); } - + /** - * Updates a members first and last name + * Updates a members default chat choice firstname and lastname * @param memberId id of the member * @param firstName string of the first name * @param lastName string of the last name + * @param chatdefault string of the chatdefault + * Must retain updateName here for first time home creation firstname/lastname addition */ public async updateName(memberId: number, firstName: string, lastName: string): Promise { await this.memberRepository.update(memberId, { @@ -293,6 +427,14 @@ export class MemberService { lastname: lastName, }); } + public async updateInfo( + memberId: number, firstName: string, lastName: string, chatdefault: number): Promise { + await this.memberRepository.update(memberId, { + firstname: firstName, + lastname: lastName, + chatdefault: chatdefault, + }); + } /** * Deducts the amount for a house purchase from a member's wallet @@ -314,22 +456,111 @@ export class MemberService { await this.transactionRepository.createHomeRefundTransaction(member.wallet_id, amount); } + public async getMemberId(username: string): Promise { + const userId = await this.memberRepository.findIdByUsername(username); + return userId; + } + + public async check3d(username: string): Promise { + const user = await this.memberRepository.check3d(username); + return user; + } + + public async updateLatestActivity(memberId: number): Promise { + const now = new Date(); + await this.memberRepository.updateLatestActivity(memberId, { + last_activity: now, + }); + } + + public async getActivePlaces(): Promise { + const returnPlaces = []; + const placeIds = []; + const activeTime = new Date(Date.now() - 5 * 60000); + const places = await this.memberRepository.getActivePlaces(activeTime); + for (const place of places) { + if(placeIds.indexOf(place.place_id) === -1){ + placeIds.push(place.place_id); + const userPlace = await this.placeRepository.findById(place.place_id); + const userCount = await this.memberRepository.countByPlaceId(place.place_id, activeTime); + place.name = userPlace.name; + place.slug = userPlace.slug; + place.type = userPlace.type; + if(userPlace.member_id){ + const userOwner = await this.memberRepository.findById(userPlace.member_id); + place.username = userOwner.username; + } + place.count = userCount[0].count; + returnPlaces.push(place); + } + } + return returnPlaces; + } + /** * Attempts to decode the session token present in the request and automatically responds with a * 400 error if decryption is unsuccessful - * @param request express request object + * @param request Express request object + * @param response Express response object used for sending error messages in case of token + * decryption failure * @returns session info object if decoding was successful, `void` otherwise */ public decryptSession(request: Request, response: Response): SessionInfo { const { apitoken } = request.headers; - const session = this.decodeMemberToken( apitoken); - if (!session) { + + if (!apitoken || typeof apitoken !== 'string') { + response.status(400).json({ + error: 'Invalid token.', + }); + return; + } + + try { + const session = this.decodeMemberToken(apitoken); + if (!session) { + console.log('Invalid or missing Token'); + response.status(400).json({ + error: 'Invalid or missing token.', + }); + return; + } + return session; + } catch (error) { + console.log('Malformed JWT token (expected if logged out)'); response.status(400).json({ - error: 'Invalid or missing token.', + error: 'Malformed JWT token.', }); return; } - return session; } + public async getBackpack(username: string): Promise { + let memberId = null; + let userId = null; + try { + memberId = await this.memberRepository.findIdByUsername(username); + userId = memberId[0].id; + } catch (error) { + userId = null; + } + if(userId !== null){ + return await this.objectInstanceRepository.getMemberBackpack(userId); + } + } + + public async getStorage(memberId: number): Promise { + const units = []; + const unit = await this.placeRepository.findStorageByUserID(memberId); + for (const storage of unit) { + const objects = await this.objectInstanceRepository.findByPlaceId(storage.id); + storage.count = objects.length; + units.push(storage); + } + return units; + } + + public async getStorageById(placeId: number): Promise { + const unit = await this.placeRepository.findById(placeId); + return unit; + } } diff --git a/api/src/services/message/message.service.ts b/api/src/services/message/message.service.ts new file mode 100644 index 00000000..d7ba0711 --- /dev/null +++ b/api/src/services/message/message.service.ts @@ -0,0 +1,57 @@ +import { Service } from 'typedi'; + +import { + MessageRepository, +} from '../../repositories'; +import {Message} from 'models'; + +/** Service for dealing with messages */ +@Service() +export class MessageService { + public static readonly MAX_QUERY_LIMIT = 1000; + public static readonly VALID_ORDERS = ['id']; + public static readonly VALID_ORDER_DIRECTIONS = ['asc', 'desc']; + + constructor( + private messageRepository: MessageRepository, + ) {} + + public async create( + memberId: number, + placeId: number, + messageBody: string, + status: number, + ): Promise { + return await this.messageRepository.create(memberId, placeId, messageBody, status); + } + + public async deleteMessage(messageId: number): Promise { + await this.messageRepository.deleteMessage(messageId); + } + + public async getResults( + placeId: number, + orderField: string, + orderDirection: string, + limit:number, + ): Promise { + const queryLimit = (limit > 0 && limit <= MessageService.MAX_QUERY_LIMIT) + ? limit + : 10; + const queryOrder = MessageService.VALID_ORDERS.includes(orderField) + ? orderField + : 'id'; + const queryOrderDirection = MessageService.VALID_ORDER_DIRECTIONS.includes(orderDirection) + ? orderDirection + : 'desc'; + + return await this.messageRepository.getResults( + placeId, + queryOrder, + queryOrderDirection, + queryLimit, + ); + } + + +} diff --git a/api/src/services/messageboard/messageboard.service.ts b/api/src/services/messageboard/messageboard.service.ts new file mode 100644 index 00000000..910fce45 --- /dev/null +++ b/api/src/services/messageboard/messageboard.service.ts @@ -0,0 +1,109 @@ +import { Service } from 'typedi'; + +import { + MessageboardRepository, + ColonyRepository, +} from '../../repositories'; +import sanitizeHtml from 'sanitize-html'; + +/** Service for dealing with messages on message boards */ +@Service() +export class MessageboardService { + public static readonly MAX_QUERY_LIMIT = 1000; + public static readonly VALID_ORDERS = ['id','date']; + public static readonly VALID_ORDER_DIRECTIONS = ['asc', 'desc']; + + constructor( + private messageboardRepository: MessageboardRepository, + ) {} + + public async changeMessageboardIntro( + placeId, + Intro, + ): Promise { + console.log(`Service${ placeId}`); + return await this.messageboardRepository.changeMessageboardIntro(placeId, Intro); + } + public async deleteMessageboardMessage( + messageId, + ): Promise { + return await this + .messageboardRepository + .deleteMessageboardMessage(messageId); + } + + public async getAdminInfo( + placeId, + memberId, + ): Promise { + return await this.messageboardRepository.getAdminInfo(placeId, memberId); + } + public async getInfo( + placeId: number, + ): Promise { + return await this.messageboardRepository.getInfo(placeId); + } + + public async getMessageboardMessages( + placeId: number, + ): Promise { + return await this.messageboardRepository.getMessageboardMessages(placeId); + } + + public async postMessageboardMessage( + memberId: number, + placeId: number, + subject: string, + message: string, + ): Promise { + return await this + .messageboardRepository + .postMessageboardMessage(memberId, placeId, subject, message); + } + + public async postMessageboardReply( + memberId: number, + placeId: number, + subject: string, + message: string, + parentId: number, + ): Promise{ + return await this + .messageboardRepository + .postMessageboardReply(memberId, placeId, subject, message, parentId); + } + + public async sanitize( + uncleanInfo: string, + ): Promise{ + const cleanInfo = sanitizeHtml(uncleanInfo, { + allowedTags: [ + 'address', 'article', 'aside', 'footer', 'header', 'h1', 'h2', 'h3', 'h4', + 'h5', 'h6', 'hgroup', 'main', 'nav', 'section', 'blockquote', 'dd', 'div', + 'dl', 'dt', 'figcaption', 'figure', 'hr', 'li', 'main', 'ol', 'p', 'pre', + 'ul', 'a', 'abbr', 'b', 'bdi', 'bdo', 'br', 'cite', 'code', 'data', 'dfn', + 'em', 'i', 'kbd', 'mark', 'q', 'rb', 'rp', 'rt', 'rtc', 'ruby', 's', 'samp', + 'small', 'span', 'strong', 'sub', 'sup', 'time', 'u', 'var', 'wbr', 'caption', + 'col', 'colgroup', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'tr', 'img', + 'font', 'center', 'map', 'area', + ], + disallowedTagsMode: 'discard', + allowedAttributes: { + a: [ 'href', 'name', 'target' ], + img: [ 'src', 'srcset', 'alt', 'title', 'width', 'height', 'usemap' ], + font: [ 'color', 'size' ], + map: [ 'name' ], + area: [ 'alt', 'title', 'href', 'coords', 'shape', 'target', 'class' ], + }, + }); + return cleanInfo; + } + public async getMessage( + messageId: number, + ): Promise{ + return await this + .messageboardRepository + .getMessage(messageId); + console.log('Service'); + } +} diff --git a/api/src/services/object-instance/object-instance.service.ts b/api/src/services/object-instance/object-instance.service.ts new file mode 100644 index 00000000..4a4b357a --- /dev/null +++ b/api/src/services/object-instance/object-instance.service.ts @@ -0,0 +1,105 @@ +import { Service } from 'typedi'; + +import { + ObjectInstanceRepository, + WalletRepository, + TransactionRepository, + MemberRepository } from '../../repositories'; +import { ObjectInstancePosition, ObjectInstanceRotation } from 'models'; +import { Object } from 'models'; + +/** Service for dealing with blocks */ +@Service() +export class ObjectInstanceService { + constructor( + private objectInstanceRepository: ObjectInstanceRepository, + private walletRepository: WalletRepository, + private transactionRepository: TransactionRepository, + private memberRepository: MemberRepository) {} + + public async find(objectInstanceId: number): Promise { + return await this.objectInstanceRepository.find(objectInstanceId); + } + + public async updateObjectPlacement( + objectInstanceId: number, + positionObj: ObjectInstancePosition, + rotationObj: ObjectInstanceRotation, + ): Promise { + const position = JSON.stringify({ + x: Number.parseFloat(positionObj.x), + y: Number.parseFloat(positionObj.y), + z: Number.parseFloat(positionObj.z), + }); + const rotation = JSON.stringify({ + x: Number.parseFloat(rotationObj.x), + y: Number.parseFloat(rotationObj.y), + z: Number.parseFloat(rotationObj.z), + angle: Number.parseFloat(rotationObj.angle), + }); + + return await this.objectInstanceRepository.updateObjectPlacement( + objectInstanceId, + position, + rotation, + ); + } + + public async countById(objectId: number): Promise { + return await this.objectInstanceRepository.countByObjectId(objectId); + } + + public async updateObjectPlaceId(objectInstanceId: number, placeId: number): Promise { + return await this.objectInstanceRepository.updateObjectPlaceId(objectInstanceId, placeId); + } + + public async updateObjectInstanceName(objectId,objectName): Promise { + return await this.objectInstanceRepository.updateObjectInstanceName( + objectId, objectName); + } + + public async updateObjectInstancePrice(objectId,objectPrice): Promise { + return await this.objectInstanceRepository.updateObjectInstancePrice( + objectId, objectPrice); + } + + public async updateObjectInstanceBuyer(objectId,objectBuyer): Promise { + return await this.objectInstanceRepository.updateObjectInstanceBuyer( + objectId, objectBuyer); + } + + public async add(object: Partial, memberId: number): Promise { + await this.objectInstanceRepository.create(object.id, object.name, memberId, 0); + } + + public async getObjectInstanceWithObject(objectInstanceId: number): Promise { + return await this.objectInstanceRepository.getObjectInstanceWithObject(objectInstanceId); + } + + public async buyObjectInstance(objectId: number, buyerId: number): Promise { + const object = await this.objectInstanceRepository.getObjectInstanceWithObject(objectId); + const buyer = await this.memberRepository.findById(buyerId); + const seller = await this.memberRepository.findById(object[0].member_id); + const sellerWallet = await this.walletRepository.findById(seller.wallet_id); + const buyerWallet = await this.walletRepository.findById(buyer.wallet_id); + + try{ + if(!object[0].object_price && object[0].object_price !== 0){ + throw new Error('The object is not for sale!'); + } + if(buyerWallet.balance < object[0].object_price){ + throw new Error('Insufficient funds.'); + } + if(object[0].object_buyer && + buyer.username.toLowerCase() !== object[0].object_buyer.toLowerCase()){ + throw new Error('You are not the buyer that is listed on the object!'); + } + await this.transactionRepository + .createObjectSellTransaction(buyerWallet.id, sellerWallet.id, object[0].object_price); + await this.objectInstanceRepository.updateObjectInstanceOwner(objectId, buyerId); + return true; + } catch(error) { + console.error(error); + } + } +} diff --git a/api/src/services/object/object.service.ts b/api/src/services/object/object.service.ts new file mode 100644 index 00000000..c9f5bd49 --- /dev/null +++ b/api/src/services/object/object.service.ts @@ -0,0 +1,269 @@ +import crypto from 'crypto'; +const fs = require('fs'); +import { Service } from 'typedi'; +import { Object } from '../../types/models'; + +import { + ObjectRepository, + MemberRepository, + TransactionRepository, + ObjectInstanceRepository, + MallRepository, +} from '../../repositories'; + +/** Service for dealing with blocks */ +@Service() +export class ObjectService { + constructor( + private objectRepository: ObjectRepository, + private memberRepository: MemberRepository, + private transactionRepository: TransactionRepository, + private objectInstanceRepository: ObjectInstanceRepository, + private mallRepository: MallRepository, + ) {} + + public static readonly WRL_FILESIZE_LIMIT = 81920; + public static readonly TEXTURE_FILESIZE_LIMIT = 81920; + public static readonly IMAGE_FILESIZE_LIMIT = 81920; + public static readonly SELLER_FEE_PERCENT = 0.2; + public static readonly STATUS_DELETED = 0; + public static readonly STATUS_ACTIVE = 1; + public static readonly STATUS_PENDING = 2; + public static readonly STATUS_APPROVED = 3; + public static readonly STATUS_INACTIVE = 4; + public static readonly MALL_EXPIRATION_DAYS = 7; + + public async find(objectSearchParams: Partial): Promise { + return this.objectRepository.find(objectSearchParams); + } + + public async findById(objectId: number): Promise { + return this.objectRepository.findById(objectId); + } + + public async findByObjectId(objectId: number): Promise { + const returnObjects = []; + const object = await this.objectRepository.getMallObject(objectId); + for (const obj of object) { + const instances = await this.objectInstanceRepository.countByObjectId(obj.id); + obj.instances = instances; + returnObjects.push(obj); + } + return returnObjects; + } + + public async findByUsername(username: string): Promise { + const returnObjects = []; + const user = await this.memberRepository.findIdByUsername(username); + const object = await this.objectRepository.getUserUploadedObjects(user[0].id); + for (const obj of object) { + const instances = await this.objectInstanceRepository.countByObjectId(obj.id); + obj.instances = instances; + returnObjects.push(obj); + } + return returnObjects; + } + + public async getPendingObjects() { + return await this.objectRepository.findByStatus(ObjectService.STATUS_PENDING); + } + + public async getMallForSaleObjects(placeId: number) { + const objects = await this.mallRepository.getMallForSale( + placeId, + ); + return objects; + } + + public async updateStatusApproved(objectId: number) { + this.mallRepository.addToMallObjects(objectId); + const expirationDate = new Date(); + expirationDate.setDate(expirationDate.getDate() + ObjectService.MALL_EXPIRATION_DAYS); + + return await this.objectRepository.update(objectId, { + status: ObjectService.STATUS_APPROVED, + mall_expiration: expirationDate.toJSON().slice(0, 19).replace('T', ' '), + }); + } + + public async updateObjectPlace(objectId: number, shopId: number) { + await this.mallRepository.findByObjectId(objectId) + .then(data => { + if(!data[0]){ + this.mallRepository.addToMallObjects(objectId); + } + }); + await this.mallRepository.updateObjectPlace(objectId, shopId); + + return await this.objectRepository.update(objectId, { + status: ObjectService.STATUS_ACTIVE, + }); + } + + public async removeMallObject(objectId: number) { + return await this.objectRepository.update(objectId, { + status: ObjectService.STATUS_APPROVED, + }); + } + + public async deleteMallObject(objectId: number) { + return await this.objectRepository.update(objectId, { + status: ObjectService.STATUS_DELETED, + }); + } + + public async increaseQuantity(objectId: number, quantity: number, status: number) { + if(status === 1){ + return await this.objectRepository.increaseObjectQuantity(objectId, { + quantity: quantity, + }); + } else { + return await this.objectRepository.increaseObjectQuantity(objectId, { + quantity: quantity, + status: ObjectService.STATUS_APPROVED, + }); + } + + } + + public async updateObjectLimit(objectId: number, limit: number) { + return await this.objectRepository.updateObjectLimit(objectId, limit); + } + + public async updateObjectName(objectId: number, name: string) { + return await this.objectRepository.updateObjectName(objectId, name); + } + + public async updateStatusRejected(objectId: number) { + return await this.objectRepository.update(objectId, { + status: ObjectService.STATUS_DELETED, + }); + } + + public async updateObjectQuantity(objectId: number, quantity: number) { + return await this.objectRepository.update(objectId, { + quantity: quantity, + status: ObjectService.STATUS_INACTIVE, + }); + } + + public async uploadObjectFiles( + directoryName, + fileName, + wrlFile, + imageFile, + textureFile?, + ): Promise { + let uploadPath = process.env.ASSETS_DIR + '/object/' + directoryName; + const response = { + filename: null, + image: null, + texture: null, + }; + + fs.mkdirSync(uploadPath); + wrlFile.mv(uploadPath + '/' + fileName + '.wrl'); + response.filename = fileName + '.wrl'; + + let imageExtension = imageFile.name.split('.').pop(); + imageFile.mv(uploadPath + '/' + fileName + '.' + imageExtension); + response.image = fileName + '.' + imageExtension; + + if (textureFile) { + textureFile.mv(uploadPath + '/' + textureFile.name); + response.texture = textureFile.name; + } + return response; + } + + /** + * returns the seller fee for submitting an object + * + * @param quantity + * @param price + * @returns + */ + public getSellerFee(quantity: number, price: number): number { + return quantity * price * ObjectService.SELLER_FEE_PERCENT; + } + + /** + * create an object (file upload and record) + * @param wrlFile + * @param imageFile + * @param textureFile + * @param name + * @param quantity + * @param price + * @param memberId + */ + public async create(wrlFile, imageFile, textureFile, name, quantity, price, memberId) { + let uuid = crypto.randomUUID(); + let fileName = crypto.randomBytes(8).toString('hex'); + + const assets = await this.uploadObjectFiles( + uuid, + fileName, + wrlFile, + imageFile, + textureFile ?? null, + ); + + this.objectRepository.create( + uuid, + assets.filename, + assets.image, + assets.texture, + name, + quantity, + price, + memberId, + ); + } + + /** + * Deducts the amount for an object upload from a member's wallet + * @param memberId id of a member + * @param amount amount to deduct + */ + public async performObjectUploadTransaction(memberId: number, amount: number): Promise { + const member = await this.memberRepository.findById(memberId); + await this.transactionRepository.createObjectUploadTransaction(member.wallet_id, amount); + } + + public async performObjectRestockTransaction(memberId: number, amount: number): Promise { + const member = await this.memberRepository.findById(memberId); + await this.transactionRepository.createObjectRestockTransaction(member.wallet_id, amount); + } + + /** + * Refunds the amount for an object upload to a member's wallet + * @param memberId id of a member + * @param amount amount to refund + */ + public async performObjectUploadRefundTransaction( + memberId: number, + amount: number, + ): Promise { + const member = await this.memberRepository.findById(memberId); + await this.transactionRepository.createObjectUploadRefundTransaction(member.wallet_id, amount); + } + + public async performUnsoldObjectRefundTransaction( + memberId: number, + amount: number, + ): Promise { + const member = await this.memberRepository.findById(memberId); + await this.transactionRepository.createUnsoldObjectRefundTransaction(member.wallet_id, amount); + } + + public async performObjectPurchaseTransaction(memberId: number, amount: number): Promise { + const member = await this.memberRepository.findById(memberId); + await this.transactionRepository.createObjectPurchaseTransaction(member.wallet_id, amount); + } + + public async performObjectProfitTransaction(memberId: number, amount: number): Promise { + const member = await this.memberRepository.findById(memberId); + await this.transactionRepository.createObjectProfitTransaction(member.wallet_id, amount); + } +} diff --git a/api/src/services/place/place.service.ts b/api/src/services/place/place.service.ts new file mode 100644 index 00000000..ab79e472 --- /dev/null +++ b/api/src/services/place/place.service.ts @@ -0,0 +1,33 @@ +import { Service } from 'typedi'; + +import { PlaceRepository, ObjectInstanceRepository } from '../../repositories'; +import { Place, ObjectInstance } from '../../types/models'; + +/** Service for dealing with blocks */ +@Service() +export class PlaceService { + constructor( + private placeRepository: PlaceRepository, + private objectInstanceRepository: ObjectInstanceRepository, + ) {} + + public async findById(placeId: number): Promise { + return await this.placeRepository.findById(placeId); + } + + public async findBySlug(slug: string): Promise { + return await this.placeRepository.findBySlug(slug); + } + + public async getPlaceObjects(placeId: number): Promise { + return await this.objectInstanceRepository.findByPlaceId(placeId); + } + + public async addStorage(name: string, memberId: number): Promise { + await this.placeRepository.create({name: name, type: 'storage', member_id: memberId}); + } + + public async updatePlaces(id: number, column: string, content: string): Promise { + await this.placeRepository.updatePlaces(id, column, content); + } +} diff --git a/api/src/services/role-assignment/role-assignment.service.spec.ts b/api/src/services/role-assignment/role-assignment.service.spec.ts new file mode 100644 index 00000000..8a2b8b05 --- /dev/null +++ b/api/src/services/role-assignment/role-assignment.service.spec.ts @@ -0,0 +1,21 @@ +import { Container } from 'typedi'; +import { createSpyObj } from 'jest-createspyobj'; + +import { RoleAssignmentService } from './role-assignment.service'; +import { RoleAssignmentRepository } from '../../repositories'; + +describe('RoleAssignmentService', () => { + let roleAssignmentRepository: jest.Mocked; + let service: RoleAssignmentService; + + beforeEach(() => { + roleAssignmentRepository = createSpyObj(RoleAssignmentRepository); + Container.reset(); + Container.set(RoleAssignmentRepository, roleAssignmentRepository); + service = Container.get(RoleAssignmentService); + }); + + it('should create', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/api/src/services/role-assignment/role-assignment.service.ts b/api/src/services/role-assignment/role-assignment.service.ts new file mode 100644 index 00000000..ef763cf5 --- /dev/null +++ b/api/src/services/role-assignment/role-assignment.service.ts @@ -0,0 +1,53 @@ +import { Service } from 'typedi'; + +import { RoleAssignment } from '../../types/models'; +import { + RoleAssignmentRepository, + MemberRepository, + TransactionRepository, +} from '../../repositories'; + +/** Service for interacting with roles */ +@Service() +export class RoleAssignmentService { + constructor( + private roleAssignmentRepository: RoleAssignmentRepository, + private memberRepository: MemberRepository, + private transactionRepository: TransactionRepository, + ) {} + + public async getMembersRoles(memberId: number): Promise { + const response = this.roleAssignmentRepository.getByMemberId(memberId); + return response; + } + + /** + * Grabs all payments due to users from database 50 at a time and + * places them in response array sorts respone into highest cc payout + * then drops all other payouts to the same user + */ + public async getMembersDueRoleCredit(limit: number): Promise { + const response = await this.roleAssignmentRepository.getMembersDueRoleCredit(limit); + return response; + } + public async giveWeeklyRoleCredit( + memberId: number, + memberXp: number, + walletId: number, + incomeXp: number, + incomeCc: number, + roleId: number, + ): Promise { + await this.transactionRepository.createWeeklyRoleCreditTransaction( + walletId, + incomeCc, + roleId, + ); + + await this.memberRepository.update(memberId, { + last_weekly_role_credit: new Date(), + xp: memberXp + incomeXp, + + }); + } +} diff --git a/api/src/services/role/role.service.spec.ts b/api/src/services/role/role.service.spec.ts new file mode 100644 index 00000000..7a96f686 --- /dev/null +++ b/api/src/services/role/role.service.spec.ts @@ -0,0 +1,21 @@ +import { Container } from 'typedi'; +import { createSpyObj } from 'jest-createspyobj'; + +import { RoleService } from './role.service'; +import { RoleRepository } from '../../repositories'; + +describe('RoleService', () => { + let roleRepository: jest.Mocked; + let service: RoleService; + + beforeEach(() => { + roleRepository = createSpyObj(RoleRepository); + Container.reset(); + Container.set(RoleRepository, roleRepository); + service = Container.get(RoleService); + }); + + it('should create', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/api/src/services/role/role.service.ts b/api/src/services/role/role.service.ts new file mode 100644 index 00000000..07dc44f7 --- /dev/null +++ b/api/src/services/role/role.service.ts @@ -0,0 +1,10 @@ +import { Service } from 'typedi'; + +import { Role } from '../../types/models'; +import { RoleRepository } from '../../repositories'; + +/** Service for interacting with roles */ +@Service() +export class RoleService { + constructor(private roleRepository: RoleRepository) {} +} diff --git a/api/src/services/wallet/wallet.service.spec.ts b/api/src/services/wallet/wallet.service.spec.ts index 89b590da..8638709b 100644 --- a/api/src/services/wallet/wallet.service.spec.ts +++ b/api/src/services/wallet/wallet.service.spec.ts @@ -1,26 +1,17 @@ import { Container } from 'typedi'; +import { createSpyObj } from 'jest-createspyobj'; -import { Db } from '../../db/db.class'; -import { Wallet } from 'models'; import { WalletService } from './wallet.service'; +import { WalletRepository } from '../../repositories'; describe('WalletService', () => { - const fakeWallet: Partial = { id: 42 }; - let db; + let walletRepository: jest.Mocked; let service: WalletService; beforeEach(() => { - db = { - wallet: { - insert: jest.fn().mockResolvedValue([fakeWallet.id]), - }, - }; + walletRepository = createSpyObj(WalletRepository); Container.reset(); - Container.set(Db, db); + Container.set(WalletRepository, walletRepository); service = Container.get(WalletService); }); - - it('should create', () => { - expect(service).toBeTruthy(); - }); }); diff --git a/api/src/types/models/avatar.model.ts b/api/src/types/models/avatar.model.ts index 8e924331..a5960972 100644 --- a/api/src/types/models/avatar.model.ts +++ b/api/src/types/models/avatar.model.ts @@ -6,6 +6,8 @@ export interface Avatar extends Model { gestures: string; member_id: number; name: string; - private: boolean; + private: number; status: number; + directory: string; + image: string; } diff --git a/api/src/types/models/inbox.model.ts b/api/src/types/models/inbox.model.ts new file mode 100644 index 00000000..716a58b9 --- /dev/null +++ b/api/src/types/models/inbox.model.ts @@ -0,0 +1,13 @@ +import { Model } from './model'; + +export interface Inbox extends Model { + place_id: number; + placeinfo: any; + date: string; + member_id: number; + subject: string; + message: string; + parent_id: number; + reply: boolean; + status: boolean; +} diff --git a/api/src/types/models/index.ts b/api/src/types/models/index.ts index 631ad0e2..292bfcc3 100644 --- a/api/src/types/models/index.ts +++ b/api/src/types/models/index.ts @@ -1,10 +1,21 @@ export * from './avatar.model'; +export * from './mall.model'; export * from './map-location.model'; export * from './member.model'; export * from './message.model'; +export * from './store.model'; +export * from './object.model'; +export * from './mall-object.position.model'; +export * from './mall-object.rotation.model'; export * from './object-instance.model'; +export * from './object-instance.position.model'; +export * from './object-instance.rotation.model'; +export * from './role.model'; +export * from './role-assignment.model'; export * from './place.model'; export * from './transaction.model'; export * from './wallet.model'; export * from './home-design.model'; export * from './home.model'; +export * from './messageboard.model'; +export * from './inbox.model'; diff --git a/api/src/types/models/mall-object.position.model.ts b/api/src/types/models/mall-object.position.model.ts new file mode 100644 index 00000000..7b7f1131 --- /dev/null +++ b/api/src/types/models/mall-object.position.model.ts @@ -0,0 +1,8 @@ +import { Model } from './model'; + +/** Defines an MallObject Position object as stored in the db */ +export interface MallObjectPosition extends Model { + x: string, + y: string, + z: string, +} \ No newline at end of file diff --git a/api/src/types/models/mall-object.rotation.model.ts b/api/src/types/models/mall-object.rotation.model.ts new file mode 100644 index 00000000..7b4b087f --- /dev/null +++ b/api/src/types/models/mall-object.rotation.model.ts @@ -0,0 +1,9 @@ +import { Model } from './model'; + +/** Defines an MallObject Rotation object as stored in the db */ +export interface MallObjectRotation extends Model { + x: string, + y: string, + z: string, + angle: string, +} \ No newline at end of file diff --git a/api/src/types/models/mall.model.ts b/api/src/types/models/mall.model.ts new file mode 100644 index 00000000..8d2e9266 --- /dev/null +++ b/api/src/types/models/mall.model.ts @@ -0,0 +1,9 @@ +import { Model } from './model'; + +/** Defines an Mall object as stored in the db */ +export interface MallObject extends Model { + object_id: number; + place_id: number; + position: string; + rotation: string; +} \ No newline at end of file diff --git a/api/src/types/models/member.model.ts b/api/src/types/models/member.model.ts index d04ee3d1..14762acc 100644 --- a/api/src/types/models/member.model.ts +++ b/api/src/types/models/member.model.ts @@ -28,4 +28,20 @@ export interface Member extends Model { firstname: string; /** the real last name */ lastname: string; + /** default chat choice */ + chatdefault: number; + /** the role they wish to display in chat */ + primary_role_id?: number; + /** this last time they received role based credits */ + last_weekly_role_credit: Date; + /** this is the max end date of the last ban the user has */ + end_date?: string; + /** this is the ban status for the user */ + banned: boolean; + /** this is the last place the user loaded chat */ + place_id: number; + /** This determines if the user is 2D or 3D */ + is_3d: number; + /** This is when the user was last active */ + last_activity?: Date; } diff --git a/api/src/types/models/messageboard.model.ts b/api/src/types/models/messageboard.model.ts new file mode 100644 index 00000000..5731c57b --- /dev/null +++ b/api/src/types/models/messageboard.model.ts @@ -0,0 +1,13 @@ +import { Model } from './model'; + +export interface MessageBoard extends Model { + place_id: number; + placeinfo: any; + date: string; + member_id: number; + subject: string; + message: string; + parent_id: number; + reply: boolean; + status: boolean; +} diff --git a/api/src/types/models/object-instance.model.ts b/api/src/types/models/object-instance.model.ts index f87e5904..831124a0 100644 --- a/api/src/types/models/object-instance.model.ts +++ b/api/src/types/models/object-instance.model.ts @@ -2,7 +2,11 @@ import { Model } from './model'; /** Defines an ObjectInstance object as stored in the db */ export interface ObjectInstance extends Model { + id: number; object_id: number; + object_name: string; + object_price: number; + object_buyer: string; member_id: number; place_id: number; position: string; diff --git a/api/src/types/models/object-instance.position.model.ts b/api/src/types/models/object-instance.position.model.ts new file mode 100644 index 00000000..0b96124c --- /dev/null +++ b/api/src/types/models/object-instance.position.model.ts @@ -0,0 +1,8 @@ +import { Model } from './model'; + +/** Defines an ObjectInstance Position object as stored in the db */ +export interface ObjectInstancePosition extends Model { + x: string, + y: string, + z: string, +} diff --git a/api/src/types/models/object-instance.rotation.model.ts b/api/src/types/models/object-instance.rotation.model.ts new file mode 100644 index 00000000..a9da7793 --- /dev/null +++ b/api/src/types/models/object-instance.rotation.model.ts @@ -0,0 +1,9 @@ +import { Model } from './model'; + +/** Defines an ObjectInstance Rotation object as stored in the db */ +export interface ObjectInstanceRotation extends Model { + x: string, + y: string, + z: string, + angle: string, +} diff --git a/api/src/types/models/object.model.ts b/api/src/types/models/object.model.ts new file mode 100644 index 00000000..294655c9 --- /dev/null +++ b/api/src/types/models/object.model.ts @@ -0,0 +1,17 @@ +import { Model } from './model'; + +/** Defines an ObjectInstance object as stored in the db */ +export interface Object extends Model { + id: number; + filename: string; + image: string; + texture: string; + member_id: number; + name: string; + quantity: number; + limit: number; + price: number; + status: number; + directory: string; + mall_expiration: Date; +} diff --git a/api/src/types/models/role-assignment.model.ts b/api/src/types/models/role-assignment.model.ts new file mode 100644 index 00000000..1e6400c8 --- /dev/null +++ b/api/src/types/models/role-assignment.model.ts @@ -0,0 +1,11 @@ +import { Model } from './model'; + +/** Defines a RoleAssignment object as stored in the db */ +export interface RoleAssignment extends Model { + /** ID of member holding the role assignment */ + member_id: number; + /** ID of role being assigned */ + role_id: number; + /** ID of place id role is assigned to */ + place_id: number; +} diff --git a/api/src/types/models/role.model.ts b/api/src/types/models/role.model.ts new file mode 100644 index 00000000..869dc851 --- /dev/null +++ b/api/src/types/models/role.model.ts @@ -0,0 +1,15 @@ +import { Model } from './model'; + +/** Defines a Role object as stored in the db */ +export interface Role extends Model { + /** Defines whether or not the role is active/available in the system */ + active: boolean; + /** Name of the role */ + name: string; + /** City cash income earned by memebers with the role */ + income_cc: number; + /** Experience point income earned by members with the role */ + income_xp: number; + /** Amount of experience required for a user to hold the role */ + required_xp: number; +} diff --git a/api/src/types/models/store.model.ts b/api/src/types/models/store.model.ts new file mode 100644 index 00000000..f16963bf --- /dev/null +++ b/api/src/types/models/store.model.ts @@ -0,0 +1,15 @@ +import { Model } from './model'; + +/** Defines a Store object as stored in the db */ +export interface Store extends Model { + assets_dir?: string; + description?: string; + name: string; + slug?: string; + status: number; + world_filename?: string; + type: string; + map_background_icon?: number; + map_icon_index?: number; + member_id: number; +} diff --git a/api/src/types/models/transaction.model.ts b/api/src/types/models/transaction.model.ts index 813e4c3e..ec7eada2 100644 --- a/api/src/types/models/transaction.model.ts +++ b/api/src/types/models/transaction.model.ts @@ -14,6 +14,15 @@ export enum TransactionReason { SystemToMember = 'system-to-member', /** Used for refunding payments to users when they sell a house */ HomeRefund = 'home-refund', + /** Used for weekly job credits to user */ + WeeklyCredit = 'weekly-role-credit', + ObjectUpload = 'object-upload', + ObjectUploadRefund = 'object-upload-refund', + ObjectUnsoldInstancesRefund = 'object-unsold-instances-refund', + ObjectPurchase = 'object-purchase', + ObjectProfit = 'object-profit', + ObjectSell = 'object-sell', + ObjectRestock = 'object-restock', } /** Defines a Transaction object as stored in the db */ @@ -21,7 +30,7 @@ export interface Transaction extends Model { /** Number of CCs moved */ amount: number; /** The reason the transaction was created */ - reason: TransactionReason; + reason: string; /** ID of the wallet that received CCs. Can be null if the recipient is the system. */ recipient_wallet_id?: number; /** ID of the wallet that sent CCS. Can be null if the sender is the system. */ diff --git a/api/src/types/views/member-info.view.interface.ts b/api/src/types/views/member-info.view.interface.ts index 9394242d..2c55c702 100644 --- a/api/src/types/views/member-info.view.interface.ts +++ b/api/src/types/views/member-info.view.interface.ts @@ -17,4 +17,35 @@ export interface MemberInfoView { firstName?: string; /** members last name **/ lastName?: string; + /**primary role id that the member wants displayed in chat**/ + primary_role_id?: number; + /**add chatdefault */ + chatdefault?: number; +} + +export interface MemberAdminView { + /** Member's email address */ + email?: string; + /** Date the member's account was created */ + immigrationDate: Date; + /** The member's username */ + username: string; + /** The amount of CCs contained in the member's wallet */ + walletBalance?: number; + /** Amount of experience points the member has accrued over the lifetime of their account */ + xp: number; + /** members first name **/ + firstName?: string; + /** members last name **/ + lastName?: string; + /**primary role id that the member wants displayed in chat**/ + primary_role_id?: number; + /**last login to the system**/ + last_daily_login_credit: Date; + /**last date the user was paid out by the system**/ + last_weekly_role_credit: Date; + /**add chatdefault */ + chatdefault?: number; + /**Last Access */ + lastAccess: Date; } diff --git a/docker-compose.yml b/docker-compose.yml index 5c607016..72e3755f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,72 +1,70 @@ -version: '3' +version: "3" services: - nginx: - image: nginx:alpine - ports: - - "8001:80" - - "443:443" - depends_on: - - "ct-api" - - "ct-socket" - - "db" - links: - - "ct-api" - - "ct-socket" - - "db" - volumes: - - ./:/var/www/cybertown - - ./docker/nginx/vhost.conf:/etc/nginx/conf.d/cybertown.conf - - ./docker/ssl:/etc/ssl - working_dir: - /var/www/cybertown + nginx: + image: nginx:alpine + ports: + - "8001:80" + - "443:443" + depends_on: + - "ct-api" + - "ct-socket" + - "db" + links: + - "ct-api" + - "ct-socket" + - "db" + volumes: + - ./:/var/www/cybertown + - ./docker/nginx/vhost.conf:/etc/nginx/conf.d/cybertown.conf + - ./docker/ssl:/etc/ssl + working_dir: /var/www/cybertown - db: - image: mysql:5.7 - ports: - - "3360:3306" - volumes: - - data:/var/lib/mysql - environment: - MYSQL_ROOT_PASSWORD: pw - MYSQL_DATABASE: cybertown + db: + image: mysql:5.7 + ports: + - "3360:3306" + volumes: + - data:/var/lib/mysql + environment: + MYSQL_ROOT_PASSWORD: pw + MYSQL_DATABASE: cybertown - ct-api: - image: node:14 - depends_on: - - "db" - links: - - "db" - volumes: - - ./api:/usr/src/app - working_dir: - /usr/src/app - ports: - - "3000:3000" - - "9229:9229" - command: bash -c "npm install && npm run dev" + ct-api: + image: node:14 + depends_on: + - "db" + links: + - "db" + volumes: + - ./api:/usr/src/app + - ./spa:/usr/src/spa + working_dir: /usr/src/app + ports: + - "3000:3000" + - "9229:9229" + command: bash -c "npm install && npm run dev" - ct-socket: - image: node:14 - depends_on: - - "db" - links: - - "db" - volumes: - - ./spa:/usr/src/app - working_dir: - /usr/src/app - ports: - - "8000:8000" - - "9230:9230" - command: bash -c "npm install && npm run dev-server" + ct-socket: + image: node:14 + depends_on: + - "db" + links: + - "db" + volumes: + - ./spa:/usr/src/app + working_dir: /usr/src/app + ports: + - "8000:8000" + - "9230:9230" + command: bash -c "npm install && npm run dev-server" - mailhog: - image: mailhog/mailhog:latest - logging: - driver: 'none' # disable saving logs - ports: - - 1025:1025 - - 8025:8025 + mailhog: + image: mailhog/mailhog:latest + logging: + driver: "none" # disable saving logs + ports: + - 1025:1025 + - 8025:8025 volumes: - data: + data: diff --git a/spa/.gitignore b/spa/.gitignore index 1521c8b7..89f90111 100644 --- a/spa/.gitignore +++ b/spa/.gitignore @@ -1 +1,3 @@ dist +node_modules +assets/object diff --git a/spa/assets/avatars/1/default.png b/spa/assets/avatars/1/default.png new file mode 100644 index 00000000..cd86b391 Binary files /dev/null and b/spa/assets/avatars/1/default.png differ diff --git a/spa/assets/avatars/10/abu.png b/spa/assets/avatars/10/abu.png new file mode 100644 index 00000000..6b618d7b Binary files /dev/null and b/spa/assets/avatars/10/abu.png differ diff --git a/spa/assets/avatars/11/jaz.png b/spa/assets/avatars/11/jaz.png new file mode 100644 index 00000000..a9e71ef9 Binary files /dev/null and b/spa/assets/avatars/11/jaz.png differ diff --git a/spa/assets/avatars/2/m1.png b/spa/assets/avatars/2/m1.png new file mode 100644 index 00000000..85423497 Binary files /dev/null and b/spa/assets/avatars/2/m1.png differ diff --git a/spa/assets/avatars/3/davis.png b/spa/assets/avatars/3/davis.png new file mode 100644 index 00000000..9f5c6faa Binary files /dev/null and b/spa/assets/avatars/3/davis.png differ diff --git a/spa/assets/avatars/4/george.png b/spa/assets/avatars/4/george.png new file mode 100644 index 00000000..9dc38077 Binary files /dev/null and b/spa/assets/avatars/4/george.png differ diff --git a/spa/assets/avatars/5/jeni.png b/spa/assets/avatars/5/jeni.png new file mode 100644 index 00000000..cfdadc6c Binary files /dev/null and b/spa/assets/avatars/5/jeni.png differ diff --git a/spa/assets/avatars/6/kellie.png b/spa/assets/avatars/6/kellie.png new file mode 100644 index 00000000..73389770 Binary files /dev/null and b/spa/assets/avatars/6/kellie.png differ diff --git a/spa/assets/avatars/7/ken.png b/spa/assets/avatars/7/ken.png new file mode 100644 index 00000000..1662c730 Binary files /dev/null and b/spa/assets/avatars/7/ken.png differ diff --git a/spa/assets/avatars/8/lili.png b/spa/assets/avatars/8/lili.png new file mode 100644 index 00000000..a7f1fd59 Binary files /dev/null and b/spa/assets/avatars/8/lili.png differ diff --git a/spa/assets/avatars/9/lora.png b/spa/assets/avatars/9/lora.png new file mode 100644 index 00000000..e55486ff Binary files /dev/null and b/spa/assets/avatars/9/lora.png differ diff --git a/spa/assets/externprotos/malldirectory/malldirectory.wrl b/spa/assets/externprotos/malldirectory/malldirectory.wrl index c27d2e89..3df2d46a 100644 --- a/spa/assets/externprotos/malldirectory/malldirectory.wrl +++ b/spa/assets/externprotos/malldirectory/malldirectory.wrl @@ -9,59 +9,62 @@ PROTO MallDirectory[ field SFVec3f position 0 0 0 field SFRotation rotation 0 1 0 0 field MFString storeNames [ - "Homebuilder", - "Furniture Shop", - "Bedroom Showcase" - "Appliance Shop", - "Electronics Store", - "Kitchen Store", - "Grocery Store" - "Office Store", - "Large Item Shop", "Antique Shop" - "Collectibles" - "Bargain Outlet", - "Holiday Shop", - "Garden Store", - "Carpet Shop", - "Fine Art Shop", - "Poster Store" - "Gift Store", - "Novelty Store", - "Toy Store", - "Athletic Shop" + "Appliance Shop" "Aquatics Shop" - "Pet Shop", - "Car Dealer", -"Weapon Displays" + "Bargain Outlet" + "Bedroom Showcase" + "Car Dealer" + "Carpet Shop" + "Collectibles" + "Electronics Store" + "Fine Art Shop" + "Furniture Store" + "Garden Store" + "General Store" + "Gift Shop" + "HOLDS DEPOT" + "Holiday Shop" + "Homebuilder" + "Jewelry Store" + "Kitchen Store" + "Large Item Shop" + "Magical Corner" + "Novelty Store" + "Pet Store" + "Space Port" + "Toy Store" + "Weapons Displays" + "Wedding Shop" ] field MFString storeUrls [ - "/cgi-bin/cybertown/place?plc=iwosmall&force=p",#home builder - "/cgi-bin/cybertown/place?ID=0000000000000904&plc=shop&ac=index3d",#Furniture Store - "/cgi-bin/cybertown/place?ID=0000000000000915&plc=shop&ac=index3d"#Bedroom Showcase - "/cgi-bin/cybertown/place?ID=0000000000000903&plc=shop&ac=index3d", #Appliance Shop - "/cgi-bin/cybertown/place?ID=0000000000000907&plc=shop&ac=index3d",#Electtronics Store - "/cgi-bin/cybertown/place?ID=000000000000090c&plc=shop&ac=index3d",#Kitchen Store - "/cgi-bin/cybertown/place?ID=0000000000000916&plc=shop&ac=index3d"#grocery store - "/cgi-bin/cybertown/place?ID=000000000000090d&plc=shop&ac=index3d",#Office Store - "/cgi-bin/cybertown/place?ID=000000000000090e&plc=shop&ac=index3d",#large item shop - "/cgi-bin/cybertown/place?ID=0000000000000911&plc=shop&ac=index3d"#Antiques - "/cgi-bin/cybertown/place?ID=000000000000090f&plc=shop&ac=index3d"#CT Collectibles - "/cgi-bin/cybertown/place?ID=0000000000000913&plc=shop&ac=index3d"#bargain Outlet - "/cgi-bin/cybertown/place?ID=0000000000000914&plc=shop&ac=index3d"#Holiday Shop - "/cgi-bin/cybertown/place?ID=0000000000000906&plc=shop&ac=index3d",#Garden Store -"/cgi-bin/cybertown/place?ID=0000000000000905&plc=shop&ac=index3d",#Carpet Shop - "/cgi-bin/cybertown/place?ID=0000000000000901&plc=shop&ac=index3d",# Fine Art Shop - "/cgi-bin/cybertown/place?ID=0000000000000917&plc=shop&ac=index3d"# Poster Store - "/cgi-bin/cybertown/place?ID=0000000000000902&plc=shop&ac=index3d",#Gift Store - "/cgi-bin/cybertown/place?ID=0000000000000908&plc=shop&ac=index3d",#Novelty Store - "/cgi-bin/cybertown/place?ID=0000000000000909&plc=shop&ac=index3d",#Toy Store - "/cgi-bin/cybertown/place?ID=0000000000000910&plc=shop&ac=index3d"#Athletics Store - "/cgi-bin/cybertown/place?ID=0000000000000912&plc=shop&ac=index3d"#Aquatics Store - "/cgi-bin/cybertown/place?ID=000000000000090a&plc=shop&ac=index3d",#Pet Shop - "/cgi-bin/cybertown/place?ID=000000000000090b&plc=shop&ac=index3d",#Car Dealer Store -"/cgi-bin/cybertown/place?ID=0000000000000918&plc=shop&ac=index3d"#armaments Displays - + "/#/place/antiqueshop" + "/#/place/applianceshop" + "/#/place/aquaticsshop" + "/#/place/bargainoutlet" + "/#/place/bedroomshowcase" + "/#/place/cardealer" + "/#/place/carpetshop" + "/#/place/collectibles" + "/#/place/electronicsstore" + "/#/place/fineartshop" + "/#/place/furniturestore" + "/#/place/gardenstore" + "/#/place/generalstore" + "/#/place/giftshop" + "/#/place/holdsdepot" + "/#/place/holidayshop" + "/#/place/homebuilder" + "/#/place/jewelrystore" + "/#/place/kitchenstore" + "/#/place/largeitemshop" + "/#/place/magicalcorner" + "/#/place/noveltystore" + "/#/place/petshop" + "/#/place/spaceport" + "/#/place/toystore" + "/#/place/weapondisplays" + "/#/place/weddingshop" ] field MFString storeParams [ diff --git a/spa/assets/externprotos/shared_xite.wrl b/spa/assets/externprotos/shared_xite.wrl index f72e4813..7a3aa37b 100644 --- a/spa/assets/externprotos/shared_xite.wrl +++ b/spa/assets/externprotos/shared_xite.wrl @@ -213,8 +213,20 @@ DEF TS TouchSensor isOver IS isOver touchTime IS touchTime } -Group{children IS children} -]} +DEF LOD1 LOD { + range [ + 40 + ] + level [ + Group{children IS children} + Group { + children [ + ] + } + ] +} +] +} #BEGIN MOVE HUD CODE# DEF SOSwitch Switch{ @@ -342,19 +354,19 @@ function set_enable(v,t){ choice_changed = 0; } function set_X(v,t){ - newPosition = (Browser.viewpointOrientation.multVec((new SFVec3f(v[0],0,0)).subtract(XlastChange))).multiply(rate); + newPosition = new X3D.SFRotation(X3D.getBrowser().viewpointOrientation).multVec((new SFVec3f(v[0],0,0)).subtract(XlastChange)).multiply(rate); currentPosition = currentPosition.add(newPosition); position_changed = currentPosition; XlastChange = new SFVec3f(v[0],0,0); } function set_Y(v,t){ - newPosition = (Browser.viewpointOrientation.multVec((new SFVec3f(0,v[1],0)).subtract(YlastChange))).multiply(rate); + newPosition = new X3D.SFRotation(X3D.getBrowser().viewpointOrientation).multVec((new SFVec3f(0,v[1],0)).subtract(YlastChange)).multiply(rate); currentPosition = currentPosition.add(newPosition); position_changed = currentPosition; YlastChange = new SFVec3f(0,v[1],0); } function set_Z(v,t){ - newPosition = (Browser.viewpointOrientation.multVec((new SFVec3f(0,0,v[1])).subtract(ZlastChange))).multiply(rate); + newPosition = new X3D.SFRotation(X3D.getBrowser().viewpointOrientation).multVec((new SFVec3f(0,0,v[1])).subtract(ZlastChange)).multiply(rate); currentPosition = currentPosition.add(newPosition); position_changed = currentPosition; ZlastChange = new SFVec3f(0,0,v[1]); diff --git a/spa/assets/img/homes/Picon3Dchampionhome.gif b/spa/assets/img/homes/Picon3Dchampionhome.gif new file mode 100644 index 00000000..3abe814e Binary files /dev/null and b/spa/assets/img/homes/Picon3Dchampionhome.gif differ diff --git a/spa/assets/img/place/bank/bank.jpg b/spa/assets/img/place/bank/bank.jpg new file mode 100644 index 00000000..55027f18 Binary files /dev/null and b/spa/assets/img/place/bank/bank.jpg differ diff --git a/spa/assets/img/place/employment/employment.jpg b/spa/assets/img/place/employment/employment.jpg new file mode 100644 index 00000000..7032b9d7 Binary files /dev/null and b/spa/assets/img/place/employment/employment.jpg differ diff --git a/spa/assets/object/ObjectPreview.wrl b/spa/assets/object/ObjectPreview.wrl new file mode 100644 index 00000000..2d03f5bf --- /dev/null +++ b/spa/assets/object/ObjectPreview.wrl @@ -0,0 +1,13 @@ +#VRML V2.0 utf8 +WorldInfo { + title "ObjectPreview" + info [ + "Blank world to view objects in." + ] +} + +DEF Scene Group {} +NavigationInfo { +headlight TRUE +type "EXAMINE" +} diff --git a/spa/assets/worlds/000/home.wrl b/spa/assets/worlds/000/home.wrl index 8c3bf820..a8383871 100644 --- a/spa/assets/worlds/000/home.wrl +++ b/spa/assets/worlds/000/home.wrl @@ -34,12 +34,55 @@ eventOut SFVec3f newPosition eventOut SFRotation newRotation ] "/externprotos/shared_xite.wrl#SharedObject" +EXTERNPROTO SharedEvent [ +exposedField SFString name +exposedField SFString type +eventIn SFTime set_time +eventOut SFTime timeToServer +eventIn SFTime timeFromServer +eventOut SFTime time_changed +] [ "/externprotos/shared_xite.wrl#SharedEvent" ] + +PROTO BlaxxunZone [#PROTO supplied by BLAXXUN +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars +exposedField MFNode events NULL +exposedField MFNode avatars NULL +exposedField SFString myAvatarURL "" +exposedField SFString myAvatarName "" +exposedField SFFloat number_avatars 0 +eventOut MFNode avatars_added +eventOut MFNode avatars_removed +exposedField MFNode avatarLOD [] +exposedField MFFloat avatarRange [] +]{ +Transform { +addChildren IS addEvents +removeChildren IS removeEvents +children IS events +} +Transform { + addChildren IS addAvatars + removeChildren IS removeAvatars + children IS avatars +} +}# END BlaxxunZone + +DEF SharedZone BlaxxunZone { + events [ + + ] +} + DEF Scene Group {} NavigationInfo { +avatarSize [ +.25 1.75 .75 +] +speed 2.25 headlight FALSE -type "WALK" -visibilityLimit 70 -speed 3.0 } @@ -61,42 +104,68 @@ skyColor [ ] } -DirectionalLight { -on TRUE -#intensity 1 -color 1 1 1 -direction -7 -6 -9 -}, -DirectionalLight { -on TRUE -#intensity 1 -color 1 1 1 -direction 9 2 7 -} -DirectionalLight { -on TRUE -#intensity 0.5 -color 1 1 1 -direction 0 1 0 -} -DirectionalLight { -#intensity 0 -ambientIntensity 1 +DEF dad_Global_1 Transform { + translation 125 -100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_1 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_2 Transform { + translation 125 100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_2 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_3 Transform { + translation -125 100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_3 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_4 Transform { + translation -125 -100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_4 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] } - - DEF Camera01 Viewpoint { position -2.06 2.088 -0.1127 orientation 0.009396 0.9999 0.009396 -1.571 - fieldOfView 0.7854 + fieldOfView 0.785 description "Camera01" } DEF Camera01 Viewpoint { position -2.06 2.088 -0.1127 orientation 0.009396 0.9999 0.009396 -1.571 - fieldOfView 0.7854 + fieldOfView 0.785 description "Camera01" } DEF corridwall01-ROOT Transform { diff --git a/spa/assets/worlds/001/home.wrl b/spa/assets/worlds/001/home.wrl index 079e21de..3b59fcc9 100644 --- a/spa/assets/worlds/001/home.wrl +++ b/spa/assets/worlds/001/home.wrl @@ -34,17 +34,57 @@ eventOut SFVec3f newPosition eventOut SFRotation newRotation ] "/externprotos/shared_xite.wrl#SharedObject" +EXTERNPROTO SharedEvent [ +exposedField SFString name +exposedField SFString type +eventIn SFTime set_time +eventOut SFTime timeToServer +eventIn SFTime timeFromServer +eventOut SFTime time_changed +] [ "/externprotos/shared_xite.wrl#SharedEvent" ] + +PROTO BlaxxunZone [#PROTO supplied by BLAXXUN +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars +exposedField MFNode events NULL +exposedField MFNode avatars NULL +exposedField SFString myAvatarURL "" +exposedField SFString myAvatarName "" +exposedField SFFloat number_avatars 0 +eventOut MFNode avatars_added +eventOut MFNode avatars_removed +exposedField MFNode avatarLOD [] +exposedField MFFloat avatarRange [] +]{ +Transform { +addChildren IS addEvents +removeChildren IS removeEvents +children IS events +} +Transform { + addChildren IS addAvatars + removeChildren IS removeAvatars + children IS avatars +} +}# END BlaxxunZone + +DEF SharedZone BlaxxunZone { + events [ + + ] +} + DEF Scene Group {} NavigationInfo { +avatarSize [ +.25 1.75 .75 +] +speed 2.5 headlight FALSE -type "WALK" -visibilityLimit 70 -speed 3 - } - - Background { skyAngle [ 0,0.2,0.4,0.6,0.8,1.0,1.2,1.4,1.6 @@ -63,30 +103,57 @@ skyColor [ ] } -DirectionalLight { -on TRUE -#intensity 1 -color 1 1 1 -direction -7 -6 -9 -}, -DirectionalLight { -on TRUE -#intensity 1 -color 1 1 1 -direction 9 2 7 -} -DirectionalLight { -on TRUE -#intensity 0.5 -color 1 1 1 -direction 0 1 0 -} -DirectionalLight { -#intensity 0 -ambientIntensity 1 +DEF dad_Global_1 Transform { + translation 125 -100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_1 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_2 Transform { + translation 125 100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_2 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_3 Transform { + translation -125 100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_3 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_4 Transform { + translation -125 -100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_4 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] } - DEF Camera01 Viewpoint { position 13.13 1.65 3.605 orientation 0 1 0 -1.013 diff --git a/spa/assets/worlds/002/home.wrl b/spa/assets/worlds/002/home.wrl index 38236c53..c78110c1 100644 --- a/spa/assets/worlds/002/home.wrl +++ b/spa/assets/worlds/002/home.wrl @@ -34,13 +34,55 @@ eventOut SFVec3f newPosition eventOut SFRotation newRotation ] "/externprotos/shared_xite.wrl#SharedObject" +EXTERNPROTO SharedEvent [ +exposedField SFString name +exposedField SFString type +eventIn SFTime set_time +eventOut SFTime timeToServer +eventIn SFTime timeFromServer +eventOut SFTime time_changed +] [ "/externprotos/shared_xite.wrl#SharedEvent" ] + +PROTO BlaxxunZone [#PROTO supplied by BLAXXUN +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars +exposedField MFNode events NULL +exposedField MFNode avatars NULL +exposedField SFString myAvatarURL "" +exposedField SFString myAvatarName "" +exposedField SFFloat number_avatars 0 +eventOut MFNode avatars_added +eventOut MFNode avatars_removed +exposedField MFNode avatarLOD [] +exposedField MFFloat avatarRange [] +]{ +Transform { +addChildren IS addEvents +removeChildren IS removeEvents +children IS events +} +Transform { + addChildren IS addAvatars + removeChildren IS removeAvatars + children IS avatars +} +}# END BlaxxunZone + +DEF SharedZone BlaxxunZone { + events [ + + ] +} + DEF Scene Group {} NavigationInfo { +avatarSize [ +.25 1.75 .75 +] +speed 2.5 headlight FALSE -type "WALK" -visibilityLimit 70 -speed 2 - } @@ -63,27 +105,55 @@ skyColor [ ] } -DirectionalLight { -on TRUE -#intensity 1 -color 1 1 1 -direction -7 -6 -9 -}, -DirectionalLight { -on TRUE -#intensity 1 -color 1 1 1 -direction 9 2 7 -} -DirectionalLight { -on TRUE -#intensity 0.5 -color 1 1 1 -direction 0 1 0 -} -DirectionalLight { -#intensity 0 -ambientIntensity 1 +DEF dad_Global_1 Transform { + translation 125 -100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_1 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_2 Transform { + translation 125 100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_2 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_3 Transform { + translation -125 100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_3 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_4 Transform { + translation -125 -100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_4 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] } DEF Camera01 Viewpoint { diff --git a/spa/assets/worlds/003/home.wrl b/spa/assets/worlds/003/home.wrl index 461d7069..957f969e 100644 --- a/spa/assets/worlds/003/home.wrl +++ b/spa/assets/worlds/003/home.wrl @@ -42,6 +42,33 @@ eventIn SFTime timeFromServer eventOut SFTime time_changed ] [ "/externprotos/shared_xite.wrl#SharedEvent" ] +PROTO BlaxxunZone [#PROTO supplied by BLAXXUN +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars +exposedField MFNode events NULL +exposedField MFNode avatars NULL +exposedField SFString myAvatarURL "" +exposedField SFString myAvatarName "" +exposedField SFFloat number_avatars 0 +eventOut MFNode avatars_added +eventOut MFNode avatars_removed +exposedField MFNode avatarLOD [] +exposedField MFFloat avatarRange [] +]{ +Transform { +addChildren IS addEvents +removeChildren IS removeEvents +children IS events +} +Transform { + addChildren IS addAvatars + removeChildren IS removeAvatars + children IS avatars +} +}# END BlaxxunZone + DEF SharedZone BlaxxunZone { events [ DEF F_SELight SharedEvent { name "F_SELight" } diff --git a/spa/assets/worlds/004/home.wrl b/spa/assets/worlds/004/home.wrl index 88aa8a7a..c4041f9e 100644 --- a/spa/assets/worlds/004/home.wrl +++ b/spa/assets/worlds/004/home.wrl @@ -42,6 +42,33 @@ eventIn SFTime timeFromServer eventOut SFTime time_changed ] [ "/externprotos/shared_xite.wrl#SharedEvent" ] +PROTO BlaxxunZone [#PROTO supplied by BLAXXUN +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars +exposedField MFNode events NULL +exposedField MFNode avatars NULL +exposedField SFString myAvatarURL "" +exposedField SFString myAvatarName "" +exposedField SFFloat number_avatars 0 +eventOut MFNode avatars_added +eventOut MFNode avatars_removed +exposedField MFNode avatarLOD [] +exposedField MFFloat avatarRange [] +]{ +Transform { +addChildren IS addEvents +removeChildren IS removeEvents +children IS events +} +Transform { + addChildren IS addAvatars + removeChildren IS removeAvatars + children IS avatars +} +}# END BlaxxunZone + DEF SharedZone BlaxxunZone { events [ DEF F_SELight SharedEvent { name "F_SELight" } diff --git a/spa/assets/worlds/005/home.wrl b/spa/assets/worlds/005/home.wrl index a671094d..c35a2dd5 100644 --- a/spa/assets/worlds/005/home.wrl +++ b/spa/assets/worlds/005/home.wrl @@ -42,6 +42,33 @@ eventIn SFTime timeFromServer eventOut SFTime time_changed ] [ "/externprotos/shared_xite.wrl#SharedEvent" ] +PROTO BlaxxunZone [#PROTO supplied by BLAXXUN +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars +exposedField MFNode events NULL +exposedField MFNode avatars NULL +exposedField SFString myAvatarURL "" +exposedField SFString myAvatarName "" +exposedField SFFloat number_avatars 0 +eventOut MFNode avatars_added +eventOut MFNode avatars_removed +exposedField MFNode avatarLOD [] +exposedField MFFloat avatarRange [] +]{ +Transform { +addChildren IS addEvents +removeChildren IS removeEvents +children IS events +} +Transform { + addChildren IS addAvatars + removeChildren IS removeAvatars + children IS avatars +} +}# END BlaxxunZone + DEF SharedZone BlaxxunZone { events [ DEF F_SELight SharedEvent { name "F_SELight" } diff --git a/spa/assets/worlds/006/home.wrl b/spa/assets/worlds/006/home.wrl index 36ed7bd8..8c0d52b0 100644 --- a/spa/assets/worlds/006/home.wrl +++ b/spa/assets/worlds/006/home.wrl @@ -1,5 +1,26 @@ #VRML V2.0 utf8 +EXTERNPROTO BlaxxunZone [ +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars +exposedField MFNode events +exposedField MFNode avatars +eventOut MFNode events_added +eventOut MFNode events_removed +eventOut MFNode avatars_added +eventOut MFNode avatars_removed +eventIn SFInt32 set_myAvatarGesture +eventIn SFInt32 myAvatarGestureFromServer +eventOut SFInt32 myAvatarGesture_changed +eventOut SFInt32 myAvatarGestureToServer +exposedField MFString sendToChat +exposedField SFFloat beamToDistance +exposedField MFString groupChatName +exposedField MFString groupChat +] "/externprotos/shared_xite.wrl#BlaxxunZone" + EXTERNPROTO SharedObject [ exposedField SFVec3f translation exposedField SFRotation rotation @@ -11,7 +32,7 @@ eventOut SFBool isOver eventOut SFTime touchTime eventOut SFVec3f newPosition eventOut SFRotation newRotation -] "/externprotos/bxx/shared_xite.wrl#SharedObject" +] "/externprotos/shared_xite.wrl#SharedObject" PROTO Televator [ eventIn SFFloat set_time @@ -235,11 +256,11 @@ DEF lights_on SharedEvent{name "P_lightson"} } NavigationInfo { -avatarSize [ .25 1.6 .75 ] +avatarSize [ +.25 1.75 .75 +] +speed 2.5 headlight FALSE -speed 10 -type "WALK" -#visibilityLimit 100 } Viewpoint { @@ -268,6 +289,56 @@ fieldOfView .785 description "Patio" } +DEF dad_Global_1 Transform { + translation 125 -100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_1 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_2 Transform { + translation 125 100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_2 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_3 Transform { + translation -125 100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_3 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_4 Transform { + translation -125 -100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_4 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} DEF l1 DirectionalLight {direction -.75 -.4 -.5} DEF l2 DirectionalLight {direction .4 .4 .5} diff --git a/spa/assets/worlds/007/home.wrl b/spa/assets/worlds/007/home.wrl index 0b4c7086..9494c09a 100644 --- a/spa/assets/worlds/007/home.wrl +++ b/spa/assets/worlds/007/home.wrl @@ -1,5 +1,26 @@ #VRML V2.0 utf8 +EXTERNPROTO BlaxxunZone [ +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars +exposedField MFNode events +exposedField MFNode avatars +eventOut MFNode events_added +eventOut MFNode events_removed +eventOut MFNode avatars_added +eventOut MFNode avatars_removed +eventIn SFInt32 set_myAvatarGesture +eventIn SFInt32 myAvatarGestureFromServer +eventOut SFInt32 myAvatarGesture_changed +eventOut SFInt32 myAvatarGestureToServer +exposedField MFString sendToChat +exposedField SFFloat beamToDistance +exposedField MFString groupChatName +exposedField MFString groupChat +] "/externprotos/shared_xite.wrl#BlaxxunZone" + EXTERNPROTO SharedObject [ exposedField SFVec3f translation exposedField SFRotation rotation @@ -11,7 +32,7 @@ eventOut SFBool isOver eventOut SFTime touchTime eventOut SFVec3f newPosition eventOut SFRotation newRotation -] "/externprotos/bxx/shared_xite.wrl#SharedObject" +] "/externprotos/shared_xite.wrl#SharedObject" PROTO CeilingFan1[ field SFVec3f position 0 0 0 @@ -338,11 +359,11 @@ DEF l2 DirectionalLight {direction .4 .4 .5} DEF l4 DirectionalLight {direction 0 -.2 -.5} NavigationInfo { -avatarSize [ .25 1.6 .5 ] +avatarSize [ +.25 1.75 .75 +] +speed 2.5 headlight FALSE -speed 10 -type "WALK" -visibilityLimit 100 } Viewpoint { @@ -6199,6 +6220,57 @@ groundColor[0 0 0.5,0 .5 .75,1 1 1] groundAngle [1.309,1.571] } +DEF dad_Global_1 Transform { + translation 125 -100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_1 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_2 Transform { + translation 125 100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_2 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_3 Transform { + translation -125 100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_3 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_4 Transform { + translation -125 -100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_4 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} + DEF sunLight2 PointLight{color 1 1 1 intensity 1 location 0 0 0 on TRUE radius 100} DEF sunLight DirectionalLight{direction -1 0 0 color 1 1 .99} DEF moonLight DirectionalLight{direction 1 0 0 intensity .4 color .2 .2 .3} diff --git a/spa/assets/worlds/008/animwater.gif b/spa/assets/worlds/008/animwater.gif new file mode 100644 index 00000000..67256d33 Binary files /dev/null and b/spa/assets/worlds/008/animwater.gif differ diff --git a/spa/assets/worlds/008/bridgefloor.jpg b/spa/assets/worlds/008/bridgefloor.jpg new file mode 100644 index 00000000..aa89cc6d Binary files /dev/null and b/spa/assets/worlds/008/bridgefloor.jpg differ diff --git a/spa/assets/worlds/008/bubbles.wav b/spa/assets/worlds/008/bubbles.wav new file mode 100644 index 00000000..293f50e3 Binary files /dev/null and b/spa/assets/worlds/008/bubbles.wav differ diff --git a/spa/assets/worlds/008/butler.wav b/spa/assets/worlds/008/butler.wav new file mode 100644 index 00000000..6f5d5464 Binary files /dev/null and b/spa/assets/worlds/008/butler.wav differ diff --git a/spa/assets/worlds/008/checkers.jpg b/spa/assets/worlds/008/checkers.jpg new file mode 100644 index 00000000..982791f3 Binary files /dev/null and b/spa/assets/worlds/008/checkers.jpg differ diff --git a/spa/assets/worlds/008/clouds2.png b/spa/assets/worlds/008/clouds2.png new file mode 100644 index 00000000..d81a4ad3 Binary files /dev/null and b/spa/assets/worlds/008/clouds2.png differ diff --git a/spa/assets/worlds/008/doors.wav b/spa/assets/worlds/008/doors.wav new file mode 100644 index 00000000..2867586d Binary files /dev/null and b/spa/assets/worlds/008/doors.wav differ diff --git a/spa/assets/worlds/008/drum.wav b/spa/assets/worlds/008/drum.wav new file mode 100644 index 00000000..dec71b14 Binary files /dev/null and b/spa/assets/worlds/008/drum.wav differ diff --git a/spa/assets/worlds/008/earth2.gif b/spa/assets/worlds/008/earth2.gif new file mode 100644 index 00000000..c3fc86f3 Binary files /dev/null and b/spa/assets/worlds/008/earth2.gif differ diff --git a/spa/assets/worlds/008/fire.wav b/spa/assets/worlds/008/fire.wav new file mode 100644 index 00000000..2a9ed305 Binary files /dev/null and b/spa/assets/worlds/008/fire.wav differ diff --git a/spa/assets/worlds/008/flame3.png b/spa/assets/worlds/008/flame3.png new file mode 100644 index 00000000..cb19636b Binary files /dev/null and b/spa/assets/worlds/008/flame3.png differ diff --git a/spa/assets/worlds/008/floor.gif b/spa/assets/worlds/008/floor.gif new file mode 100644 index 00000000..5944214f Binary files /dev/null and b/spa/assets/worlds/008/floor.gif differ diff --git a/spa/assets/worlds/008/game_selector_screen.jpg b/spa/assets/worlds/008/game_selector_screen.jpg new file mode 100644 index 00000000..b982d3aa Binary files /dev/null and b/spa/assets/worlds/008/game_selector_screen.jpg differ diff --git a/spa/assets/worlds/008/glow2.png b/spa/assets/worlds/008/glow2.png new file mode 100644 index 00000000..3a81d813 Binary files /dev/null and b/spa/assets/worlds/008/glow2.png differ diff --git a/spa/assets/worlds/008/goldtrim.jpg b/spa/assets/worlds/008/goldtrim.jpg new file mode 100644 index 00000000..718f1261 Binary files /dev/null and b/spa/assets/worlds/008/goldtrim.jpg differ diff --git a/spa/assets/worlds/008/graystone.gif b/spa/assets/worlds/008/graystone.gif new file mode 100644 index 00000000..d42ce058 Binary files /dev/null and b/spa/assets/worlds/008/graystone.gif differ diff --git a/spa/assets/worlds/008/home.wrl b/spa/assets/worlds/008/home.wrl new file mode 100644 index 00000000..0c4268bf --- /dev/null +++ b/spa/assets/worlds/008/home.wrl @@ -0,0 +1,11539 @@ +#VRML V2.0 utf8 + +#checker board is now shared +NavigationInfo { +avatarSize [ +.25 1.75 .75 +] +speed 3.5 +headlight TRUE +} + +EXTERNPROTO BlaxxunZone [ +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars +exposedField MFNode events +exposedField MFNode avatars +eventOut MFNode events_added +eventOut MFNode events_removed +eventOut MFNode avatars_added +eventOut MFNode avatars_removed +eventIn SFInt32 set_myAvatarGesture +eventIn SFInt32 myAvatarGestureFromServer +eventOut SFInt32 myAvatarGesture_changed +eventOut SFInt32 myAvatarGestureToServer +exposedField MFString sendToChat +exposedField SFFloat beamToDistance +exposedField MFString groupChatName +exposedField MFString groupChat +] "/externprotos/shared_xite.wrl#BlaxxunZone" + +EXTERNPROTO SharedObject [ +exposedField SFVec3f translation +exposedField SFRotation rotation +exposedField MFNode children +exposedField SFString name +exposedField SFString id +eventIn SFBool startMove +eventOut SFBool isOver +eventOut SFTime touchTime +eventOut SFVec3f newPosition +eventOut SFRotation newRotation +] "/externprotos/shared_xite.wrl#SharedObject" + + + +############################################################################# +#RevesableClock PROTO +############################################################################# + +PROTO ReversableClock[ + +eventIn SFTime set_toggle +eventIn SFTime set_forward +eventIn SFTime set_reverse +exposedField SFBool run TRUE +exposedField SFBool isForward TRUE + +exposedField SFTime cycleInterval 1 +exposedField SFBool loop FALSE +exposedField SFBool enabled TRUE +exposedField SFTime startTime 0 +exposedField SFTime stopTime 0 +eventOut SFFloat fraction_changed +eventOut SFBool isActive +eventOut SFTime time +eventOut SFTime cycleTime +]{ + +Group{ children[ + +DEF t TimeSensor{ +cycleInterval IS cycleInterval +loop IS loop +enabled IS enabled +startTime IS startTime +stopTime IS stopTime +isActive IS isActive +time IS time +cycleTime IS cycleTime +} + +DEF s Script{ +eventIn SFFloat set_fraction +eventIn SFTime set_toggle IS set_toggle +eventIn SFTime set_forward IS set_forward +eventIn SFTime set_reverse IS set_reverse + +exposedField SFBool run IS run +exposedField SFBool isForward IS isForward + +field SFNode clock USE t +eventOut SFFloat fraction_changed IS fraction_changed + +directOutput TRUE +url"vrmlscript: + +function set_fraction(v,t){ + if(isForward){fraction_changed = v;} + else{fraction_changed = 1-v;} +} + +function set_toggle(v,t){ + if(isForward){isForward = false;} + else{isForward = true;} + if(run){clock.stopTime = t; clock.startTime = t + .01;} +} + +function set_forward(v,t){ + isForward = true; + if(run){clock.stopTime = t; clock.startTime = t + .01;} +} + +function set_reverse(v,t){ + isForward = false; + if(run){clock.stopTime = t; clock.startTime = t + .01;} +} + +"} +]} +ROUTE t.fraction_changed TO s.set_fraction +} + +EXTERNPROTO SharedEvent [ +exposedField SFString name +exposedField SFString type +eventIn SFTime set_time +eventOut SFTime timeToServer +eventIn SFTime timeFromServer +eventOut SFTime time_changed +] [ "/externprotos/shared_xite.wrl#SharedEvent" ] + +PROTO BlaxxunZone [#PROTO supplied by BLAXXUN +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars +exposedField MFNode events [] +exposedField MFNode avatars [] +exposedField SFString myAvatarURL "" +exposedField SFString myAvatarName "" +exposedField SFFloat number_avatars 0 +eventOut MFNode avatars_added +eventOut MFNode avatars_removed +exposedField MFNode avatarLOD [] +exposedField MFFloat avatarRange [] +]{ +Transform { +addChildren IS addEvents +removeChildren IS removeEvents +children IS events +} +Transform { + addChildren IS addAvatars + removeChildren IS removeAvatars + children IS avatars +} +}# END BlaxxunZone + +DEF SharedZone BlaxxunZone { + events [ + + ] +} + + +######################################################################### +#Drink +######################################################################### + +PROTO Drink[ +eventIn SFNode set_sharedZone +field SFVec3f startPosition 0 0 0 +field SFVec3f liquid_offset 0 0 0 +field SFInt32 myBottle -1 + +exposedField MFVec3f pourKeys [1 .000001 1,1 1 1] +exposedField SFInt32 drinkID -1 +exposedField MFNode glass_geometry [] +exposedField MFNode liquid_geometry [] +eventOut SFTime drinkTime_changed +]{ + +DEF move Transform{translation IS startPosition +children Collision{collide FALSE +children[ +DEF drink_sensor TouchSensor{} +Group{children IS glass_geometry} +Shape{appearance Appearance{material Material{transparency 1}}geometry Box{size .5 .5 .5}} +DEF liquid Transform{children IS liquid_geometry translation IS liquid_offset scale .00001 .00001 .00001} +DEF liquid_clock TimeSensor{cycleInterval 1 loop FALSE enabled TRUE} +DEF liquid_interp PositionInterpolator{key[0,1] keyValue IS pourKeys} + +DEF move_clock TimeSensor{cycleInterval 2 loop FALSE enabled TRUE} +DEF move_interp PositionInterpolator{key[0,1] keyValue[]} + +Group{children[ +DEF foating_coaster Group{ children[ +Shape { +appearance Appearance {material Material {diffuseColor 0 0 0 specularColor .63 .92 1}} +geometry IndexedFaceSet {creaseAngle .5 +coord Coordinate { point [ 0 0 -.05 0 .01 -.05 .019 0 -.046 .019 .01 -.046 .035 0 -.035 .035 .01 -.035 .046 0 -.019 .046 .01 -.019 .05 0 0 .05 .01 0 .046 0 .019 .046 .01 .019 .035 0 .035 .035 .01 .035 .019 0 .046 .019 .01 .046 0 0 .05 0 .01 .05 -.019 0 .046 -.019 .01 .046 -.035 0 .035 -.035 .01 .035 -.046 0 .019 -.046 .01 .019 -.05 0 0 -.05 .01 0 -.046 0 -.019 -.046 .01 -.019 -.035 0 -.035 -.035 .01 -.035 -.019 0 -.046 -.019 .01 -.046 0 .01 0 ] } +coordIndex [ 0 1 3 2 -1 2 3 5 4 -1 4 5 7 6 -1 6 7 9 8 -1 8 9 11 10 -1 10 11 13 12 -1 12 13 15 14 -1 14 15 17 16 -1 16 17 19 18 -1 18 19 21 20 -1 20 21 23 22 -1 22 23 25 24 -1 24 25 27 26 -1 26 27 29 28 -1 28 29 31 30 -1 30 31 1 0 -1 32 31 29 -1 32 29 27 -1 32 27 25 -1 32 25 23 -1 32 23 21 -1 32 21 19 -1 32 19 17 -1 32 17 15 -1 32 15 13 -1 32 13 11 -1 32 11 9 -1 32 9 7 -1 32 7 5 -1 32 5 3 -1 32 3 1 -1 32 1 31 -1 ] +}} +Shape { +appearance Appearance {material DEF c_mat Material { shininess 1 transparency .9}} +geometry IndexedFaceSet {creaseAngle .5 +coord Coordinate { point [ 0 -.025 -.035 0 0 -.041 .016 0 -.038 .014 -.025 -.033 .03 0 -.029 .025 -.025 -.025 .039 0 -.015 .033 -.025 -.013 .042 0 .001 .036 -.025 .001 .039 0 .017 .033 -.025 .015 .03 0 .03 .025 -.025 .026 .016 0 .04 .014 -.025 .034 0 0 .043 0 -.025 .037 -.016 0 .04 -.014 -.025 .034 -.03 0 .03 -.025 -.025 .026 -.039 0 .017 -.033 -.025 .015 -.042 0 .001 -.036 -.025 .001 -.039 0 -.015 -.033 -.025 -.013 -.03 0 -.029 -.025 -.025 -.025 -.016 0 -.038 -.014 -.025 -.033 ] } +coordIndex [ 0 1 2 3 -1 3 2 4 5 -1 5 4 6 7 -1 7 6 8 9 -1 9 8 10 11 -1 11 10 12 13 -1 13 12 14 15 -1 15 14 16 17 -1 17 16 18 19 -1 19 18 20 21 -1 21 20 22 23 -1 23 22 24 25 -1 25 24 26 27 -1 27 26 28 29 -1 29 28 30 31 -1 31 30 1 0 -1 ] +}} +DEF c_interp ColorInterpolator{key[0,.5,1] keyValue[0 1 1,.8 1 1,0 1 1]} +DEF c_clock TimeSensor{cycleInterval 1 loop TRUE} +ROUTE c_clock.fraction_changed TO c_interp.set_fraction +ROUTE c_interp.value_changed TO c_mat.set_diffuseColor +ROUTE c_interp.value_changed TO c_mat.set_emissiveColor +]} +]} + + +DEF s Script{ + +eventIn SFBool set_fillActive +eventIn SFString set_position +eventIn SFTime set_drink +eventIn SFBool set_up +eventIn SFNode set_sharedZone IS set_sharedZone + +field SFNode sharedDrink Group{} +field SFNode move_interp USE move_interp +field SFInt32 myBottle IS myBottle +field SFInt32 drinkID IS drinkID +field SFVec3f start_position IS startPosition +field SFBool moved FALSE + +eventOut SFTime fillTime_changed +eventOut MFString message_changed +eventOut SFTime moveTime_changed +eventOut SFString position_changed +eventOut SFInt32 destroy_changed +eventOut SFTime drinkTime_changed IS drinkTime_changed +eventOut SFBool set_up_changed + +directOutput TRUE +url"vrmlscript: + +function get_sharedZone(){ + start = new SFVec3f(0,1000,0); + end = new SFVec3f(0,-1000,0); + ray = Browser.computeRayHit(start,end).hitPath[0].children; + for(i = 0; i < ray.length; i++){if(ray[i].getName() == 'SharedZone' && ray[i].getType() == 'BlaxxunZone'){thisSharedZone = ray[i]; }} + return thisSharedZone; +} + +function get_bottle(){ + start = new SFVec3f(0,1000,0); + end = new SFVec3f(0,-1000,0); + ray = Browser.computeRayHit(start,end).hitPath[0].children; + for(i = 0; i < ray.length; i++){if(ray[i].getName() == 'bottle' + myBottle && ray[i].getType() == 'Bottle'){thisBottle = ray[i]; }} + return thisBottle; +} + +function send_position(){ + v = Browser.viewpointPosition.add(Browser.viewpointOrientation.multVec(new SFVec3f(.25,-.25,-.75))); + position_changed = drinkID + '|' + v; +} + +function set_position(v,t){ + thisID = v.substring(0,v.indexOf('|')); + posString = v.substring((v.indexOf('|') + 1),v.length); + if(thisID == new SFString(drinkID)){ + pos = Browser.createVrmlFromString('Transform{ translation ' +posString+ '}'); + moved = true; + move_interp.keyValue = new MFVec3f(start_position,pos[0].translation); + moveTime_changed = t; + } +} + +function destroy_drink(){ + Browser.deleteRoute(Browser.getScript(),'position_changed',sharedDrink,'set_string'); + Browser.deleteRoute(sharedDrink,'string_changed',Browser.getScript(),'set_position'); + destroy_changed = drinkID; +} + +function set_drink(v,t){ + if(!moved){send_position();} + else{destroy_drink(); drinkTime_changed = t;} +} + +function set_sharedZone(v){ + sharedZone = v; + + for(i = 0; i < sharedZone.events.length; i++){if(sharedZone.events[i].getName() == ('bottle_destroy' + myBottle)){sharedDrink = sharedZone.events[i]; }} + + Browser.addRoute(Browser.getScript(),'position_changed',sharedDrink,'set_string'); + Browser.addRoute(sharedDrink,'string_changed',Browser.getScript(),'set_position'); + Browser.addRoute(Browser.getScript(),'destroy_changed',sharedDrink,'set_int32'); + + bottle = get_bottle(); + Browser.addRoute(Browser.getScript(),'drinkTime_changed',bottle,'set_count'); + + fillTime_changed = Browser.getTime() + .25; +} + + +function initialize(){ + //set_up_changed = true; +} + +"} + +]}} +ROUTE s.set_up_changed TO s.set_up +ROUTE drink_sensor.touchTime TO s.set_drink +ROUTE s.fillTime_changed TO liquid_clock.set_startTime +ROUTE liquid_clock.fraction_changed TO liquid_interp.set_fraction +ROUTE liquid_interp.value_changed TO liquid.set_scale +ROUTE s.moveTime_changed TO move_clock.set_startTime +ROUTE move_clock.fraction_changed TO move_interp.set_fraction +ROUTE move_interp.value_changed TO move.set_translation +}#END Drink PROTO + + + + + + + +######################################################################### +#Bottle +######################################################################### + +PROTO FauxDrink[ + +field SFVec3f startPosition 0 0 0 +field SFVec3f liquid_offset 0 0 0 +field SFInt32 myBottle -1 +exposedField SFNode sharedZone Group{} +exposedField MFVec3f pourKeys [1 .000001 1,1 1 1] +exposedField SFInt32 drinkID -1 +exposedField MFNode glass_geometry [] +exposedField MFNode liquid_geometry [] +eventOut SFTime drinkTime_changed +]{} + +PROTO Bottle[ +eventIn SFTime set_count +field SFInt32 bottleID -1 +field MFVec3f pourKeys [1 .000001 1,1 1 1] +exposedField SFNode sharedZone BlaxxunZone{} +exposedField SFVec3f translation 0 0 0 +exposedField SFRotation rotation 0 1 0 0 +exposedField SFVec3f liquid_offset 0 0 0 +exposedField MFNode glass_geometry [] +exposedField MFNode liquid_geometry [] +exposedField MFNode bottle_geometry [Group{children[DEF Trigger TouchSensor{}]}] +exposedField MFNode drinks [] + +eventOut SFTime effectTime_changed +]{ + +DEF drinks Group{children[FauxDrink{}]} +Transform{ translation IS translation rotation IS rotation +children[ +DEF bottle Group{children IS bottle_geometry} + + +DEF s Script{ + +eventIn SFTime make_drink +eventIn SFInt32 make +eventIn SFInt32 destroy +eventIn SFBool set_up +eventIn SFTime set_count IS set_count + +field SFVec3f position IS translation +field SFInt32 bottleID IS bottleID +field SFVec3f liquid_offset IS liquid_offset +field MFNode glass_geometry IS glass_geometry +field MFNode liquid_geometry IS liquid_geometry +field SFNode sharedZone IS sharedZone +field SFNode trigger Group{} +field SFNode bottle USE bottle +field SFNode drinks USE drinks +field MFVec3f pourKeys IS pourKeys + +field SFTime last_time 0 +field SFInt32 drink_count 0 + +eventOut SFInt32 make_changed +eventOut SFBool set_up_changed +eventOut SFTime effectTime_changed IS effectTime_changed + + +url"vrmlscript: + +function get_sharedZone(){ + start = new SFVec3f(0,1000,0); + end = new SFVec3f(0,-1000,0); + ray = Browser.computeRayHit(start,end).hitPath[0].children; + for(i = 0; i < ray.length; i++){if(ray[i].getName() == 'SharedZone' && ray[i].getType() == 'BlaxxunZone'){thisSharedZone = ray[i]; }} + return thisSharedZone; +} + +function make_drink(v,t){ + if(t < lastTime + 5 ){return;} + ID = ((bottleID * 100000000) + Math.round((t - Math.round(t)) * 10000000)); + make_changed = ID; +} + +function make(v,t){ + thisDrink = Browser.createVrmlFromString('Drink{ drinkID ' + v + ' myBottle ' + bottleID + ' startPosition ' + position + ' liquid_offset ' + liquid_offset + '}'); + thisDrink[0].pourKeys = pourKeys; + thisDrink[0].set_sharedZone = sharedZone; + drinks.addChildren = thisDrink; + + for(i = 0; i < drinks.children.length; i++){ + if(drinks.children[i].drinkID == v){ + drinks.children[i].glass_geometry = glass_geometry; + drinks.children[i].liquid_geometry = liquid_geometry; + } + } + lastTime = t; + +} + +function destroy(v){ for(i = 0; i < drinks.children.length; i++){if(drinks.children[i].drinkID == v){ drinks.removeChildren = new MFNode(drinks.children[i]); }}} + +function set_count(v,t){ + drink_count++; + if(drink_count > 10){effectTime_changed = t;} +} + +function set_up(){ + //sharedZone = get_sharedZone(); + + for(i = 0; i < bottle.children[0].children.length; i++){if(bottle.children[0].children[i].getName() == 'Trigger'+bottleID && bottle.children[0].children[i].getType() == 'TouchSensor'){trigger = bottle.children[0].children[i]; }} + Browser.addRoute(trigger,'touchTime',Browser.getScript(),'make_drink'); + + make_drink_se = Browser.createVrmlFromString('DEF bottle_make' + bottleID + ' SharedEvent{name \"bottle_make' + bottleID + '\"}'); + sharedZone.addEvents = make_drink_se; + for(i = 0; i < sharedZone.events.length; i++){if(sharedZone.events[i].getName() == ('bottle_make' + bottleID)){sharedMake = sharedZone.events[i]; }} + Browser.addRoute(Browser.getScript(),'make_changed',sharedMake,'set_int32'); + Browser.addRoute(sharedMake,'int32_changed',Browser.getScript(),'make'); + + destroy_drink_se = Browser.createVrmlFromString('DEF bottle_destroy' + bottleID + ' SharedEvent{name \"bottle_destroy' + bottleID + '\"}'); + sharedZone.addEvents = destroy_drink_se; + for(i = 0; i < sharedZone.events.length; i++){if(sharedZone.events[i].getName() == ('bottle_destroy' + bottleID)){sharedDestroy = sharedZone.events[i]; }} + Browser.addRoute(sharedDestroy,'int32_changed',Browser.getScript(),'destroy'); +} + +function initialize(){ + + set_up_changed = true; +} + +"} +]} + +ROUTE s.set_up_changed TO s.set_up + +}#END Bottle PROTO + + + +######################################################################### +#PlaceInfo +######################################################################### + + +PROTO PlaceInfo[ +eventIn SFTime get_info +eventIn SFString set_info +field SFString name "" +field SFBool onLoad FALSE +exposedField SFString ID "" +exposedField SFString plc "" +exposedField SFString DTY "" +exposedField SFString name "" +exposedField SFBool isOwner FALSE +eventOut SFTime info_changed +]{ + +DEF s Script{ +eventIn SFTime get_info IS get_info +eventIn SFString set_info IS set_info +eventIn SFTime get_infoOnload +field SFString PI_name IS name +field SFBool onLoad IS onLoad +exposedField SFString ID IS ID +exposedField SFString plc IS plc +exposedField SFString DTY IS DTY +exposedField SFString name IS name +exposedField SFBool isOwner IS isOwner +eventOut SFTime getInfo_changed +eventOut SFTime info_changed IS info_changed +url"vrmlscript: + +function get_info(){ + //if(ID != ''){return;} + Browser.loadURL(new MFString('javascript:getInfo(\"' + PI_name + '\")'), new MFString('target=action')); +} + +function set_info(v,t){ + if(v == ''){return;} + + info = new MFString(); + startIndex = 0; + for(i = 0; i < 5; i++){ + info[info.length] = v.substring(startIndex, v.indexOf('|',startIndex)); + startIndex = v.indexOf('|',startIndex) + 1; + } + ID = info[0]; + plc = info[1]; + DTY = info[2]; + name = info[3]; + if(info[4] == 'TRUE'){isOwner = true;} else{isOwner = false;} + info_changed = t; + //print(info); +} + +function get_infoOnload(){ + get_info(); +} + +function initialize(){ + if(onLoad){getInfo_changed = Browser.getTime();} +} + +"} +ROUTE s.getInfo_changed TO s.get_infoOnload +}#END PlaceInfo PROTO + +######################################################################### +#AvatarWardrobe +######################################################################### +PROTO AvatarWardrobe[ +eventIn SFString reset_info +field SFString name "" +field SFNode PI Group{} +]{ + +Group{ children[ +#################### +#Base Geometry +#################### + +Group{children[ +Transform{children [ +Shape {appearance Appearance {material Material {}texture ImageTexture {url "plainmarble2.jpg"}} +geometry IndexedFaceSet {ccw TRUE solid TRUE +coord Coordinate { point [-0.5614 0.01613 0.5762, -0.004092 0.01924 -0.3941, -0.004638 0.2154 -0.398, -0.5651 0.2123 0.5787, 0.5578 0.01769 0.5733, 0.5608 0.2139 0.5764, -0.6954 0.8245 0.6553, -0.007703 0.8283 -0.5455, 0.6917 0.8264 0.6518, -0.007586 0.7438 -0.5457, 0.6918 0.7139 0.6515, 0.6906 0.7417 0.7069, -0.007547 0.7158 -0.5458, -0.6952 0.712 0.655, -0.6957 0.7398 0.7093, -0.004389 0.6873 -0.3199, 0.4942 0.6859 0.5384, -0.501 0.6845 0.5422, -0.004505 0.5961 -0.4885, 0.64 0.5943 0.6222, -0.6474 0.5925 0.6271, -0.00574 0.5036 -0.488, 0.6388 0.5019 0.6227, -0.6438 0.5001 0.6249, -0.4223 0.411 0.4961, -0.003647 0.4133 -0.2297, 0.4155 0.4121 0.4926]} +coordIndex [3, 2, 1, -1, 1, 0, 3, -1, 5, 3, 0, -1, 0, 4, 5, -1, 2, 5, 4, -1, 4, 1, 2, -1, 1, 4, 0, -1, 6, 8, 7, -1, 9, 11, 10, -1, 12, 9, 10, -1, 14, 13, 10, -1, 10, 11, 14, -1, 9, 12, 13, -1, 13, 14, 9, -1, 10, 16, 15, -1, 15, 12, 10, -1, 13, 17, 16, -1, 16, 10, 13, -1, 12, 15, 17, -1, 17, 13, 12, -1, 16, 19, 18, -1, 18, 15, 16, -1, 17, 20, 19, 16, -1, 15, 18, 20, 17, -1, 19, 22, 21, 18, -1, 20, 23, 22, -1, 22, 19, 20, -1, 18, 21, 23, -1, 23, 20, 18, -1, 25, 24, 23, -1, 23, 21, 25, -1, 26, 25, 21, 22, -1, 24, 26, 22, -1, 22, 23, 24, -1, 2, 3, 24, -1, 24, 25, 2, -1, 5, 2, 25, 26, -1, 3, 5, 26, -1, 26, 24, 3, -1, 9, 6, 7, -1, 14, 6, 9, -1, 6, 14, 11, -1, 11, 8, 6, -1, 8, 11, 9, -1, 9, 7, 8, -1] +texCoord TextureCoordinate { point [0.4836 0.1478, 0.09381 0.9355, 0.2923 0.4511, 0.7312 0.4509, 0.8733 0.9358, 0.2865 0.4412, 0.03171 0.01621, 0.3155 0.924, 0.9931 0.02361, 0.9976 0.9978, 0.7756 0.8129, 0.7751 0.9428, 0.2599 0.9423, 0.7599 0.9401, 0.2758 0.8122, 0.3301 0.7443, 0.2756 0.9412, 0.6896 0.7445, 0.2774 0.4423, 0.7045 0.6306, 0.7426 0.4428, 0.2618 0.9509, 0.7254 0.4414, 0.7618 0.9505, 0.6754 0.7724, 0.3488 0.7722, 0.7559 0.9412, 0.003737 0, -0.000303 1, 0.9981 0, 0.9997 1, 0.9997 1, -0.0002648 1, 0.9983 0, 0.003265 0, 0.02494 0.9975, 0.9976 0.9975, 0.9743 0.0025, 0.002619 0.0025, 0.02527 0.9931, 0.9777 0.9931, 0.9777 0.261, 0.9777 0.01875, 0.02527 0.01875, 0.003336 0.261, 0.9972 0.9975, 0.002238 0.9975, 0.9958 0.0025, 0.00575 0.0025, 0.003788 0, 0.9977 0, 0.9997 1, -0.0002525 1, 0.0003685 0.9978, 0.9976 0.269, 0.0003685 0.00366, 0.001941 0.269, 0.9976 0.00366, 0.9975 0.9975, 0.0025 0.9975, 0.9975 0.0025, 0.0025 0.0025, 0.9915 0.005, 0.995 0.995, 0.008462 0.005, 0.005 0.995, 0.2796 0.9406, 0.7796 0.9384, 0.7086 0.7438, 0.3506 0.7436, 0.7489 0.449, 0.3103 0.449, 0.7796 0.949, 0.2796 0.949, 0.6922 0.7708, 0.367 0.7708, 0.3459 0.6312, 0.7569 0.4428, 0.293 0.4437, 0.2559 0.9408, 0.3424 0.7625, 0.669 0.7623, 0.7611 0.4413, 0.2981 0.4406]} +texCoordIndex [52, 51, 50, -1, 50, 49, 52, -1, 30, 28, 27, -1, 27, 29, 30, -1, 63, 65, 64, -1, 64, 62, 63, -1, 1, 4, 0, -1, 6, 8, 7, -1, 54, 56, 55, -1, 57, 54, 55, -1, 16, 14, 10, -1, 10, 11, 16, -1, 41, 42, 43, -1, 43, 44, 41, -1, 66, 69, 68, -1, 68, 67, 66, -1, 14, 76, 19, -1, 19, 10, 14, -1, 12, 15, 17, -1, 17, 13, 12, -1, 69, 83, 82, -1, 82, 68, 69, -1, 76, 78, 77, 19, -1, 15, 18, 20, 17, -1, 59, 61, 60, 58, -1, 32, 34, 33, -1, 33, 31, 32, -1, 45, 47, 48, -1, 48, 46, 45, -1, 25, 24, 23, -1, 23, 21, 25, -1, 75, 74, 72, 73, -1, 80, 81, 26, -1, 26, 79, 80, -1, 2, 3, 24, -1, 24, 25, 2, -1, 71, 70, 74, 75, -1, 5, 22, 81, -1, 81, 80, 5, -1, 41, 39, 40, -1, 44, 39, 41, -1, 35, 38, 37, -1, 37, 36, 35, -1, 53, 56, 54, -1, 54, 9, 53, -1] +}} +]} +]}#end Base + +#################### +#Lights +#################### + +Group{children[ +#BackLight +Shape {appearance DEF Gold Appearance {material Material {}texture ImageTexture {url "goldtrim.jpg"}} +geometry IndexedFaceSet {ccw TRUE solid TRUE +coord Coordinate { point [0.03823 0.9415 -0.4732, 0.008261 0.8285 -0.4983, 0.01223 0.8241 -0.4898, 0.05461 0.9232 -0.4381, -0.0013 0.9491 -0.4877, -0.0013 0.8303 -0.5018, -0.04083 0.9415 -0.4732, -0.01086 0.8285 -0.4983, -0.05721 0.9232 -0.4381, -0.01483 0.8241 -0.4898, -0.04083 0.9049 -0.4031, -0.01086 0.8196 -0.4814, -0.0013 0.8973 -0.3885, -0.0013 0.8178 -0.4778, 0.03823 0.9049 -0.4031, 0.008261 0.8196 -0.4814]} +coordIndex [3, 2, 1, 0, -1, 0, 1, 5, 4, -1, 4, 5, 7, 6, -1, 6, 7, 9, 8, -1, 8, 9, 11, 10, -1, 10, 11, 13, 12, -1, 12, 13, 15, 14, -1, 14, 15, 2, 3, -1, 8, 10, 12, 14, 3, 0, 4, 6, -1, 7, 5, 1, 2, 15, 13, 11, 9, -1] +texCoord TextureCoordinate { point [0.8141 0.9996, 0.8141 0.01439, 0.6315 0.01447, 0.6315 0.9995, 0.9966 0.9995, 0.9966 0.01447, -0.2814 0.9996, -0.2814 0.01439, -0.09881 0.9995, -0.09881 0.01447, 0.08376 0.9996, 0.08376 0.01439, 0.2663 0.9995, 0.2663 0.01447, 0.4489 0.9996, 0.4489 0.01439, -0.464 0.9995, -0.464 0.01447, -0.464 0.01447, -0.6465 0.01439, -0.25 0.07558]} +texCoordIndex [3, 2, 1, 0, -1, 0, 1, 5, 4, -1, 16, 17, 7, 6, -1, 6, 7, 9, 8, -1, 8, 9, 11, 10, -1, 10, 11, 13, 12, -1, 12, 13, 15, 14, -1, 14, 15, 2, 3, -1, 8, 10, 12, 14, 3, 0, 4, 6, -1, 7, 18, 19, 20, 15, 13, 11, 9, -1] +}} +#RightLight +Shape {appearance USE Gold +geometry IndexedFaceSet {ccw TRUE solid TRUE creaseAngle 3.142 +coord Coordinate { point [0.6361 0.9115 0.5438, 0.6585 0.822 0.6199, 0.662 0.8277 0.6278, 0.6507 0.9351 0.5764, 0.6006 0.8887 0.5365, 0.6499 0.8165 0.6181, 0.5651 0.88 0.5588, 0.6413 0.8144 0.6235, 0.5504 0.8906 0.5975, 0.6377 0.8169 0.6329, 0.565 0.9142 0.6301, 0.6413 0.8226 0.6408, 0.6005 0.937 0.6374, 0.6499 0.8282 0.6425, 0.636 0.9456 0.6151, 0.6584 0.8303 0.6371]} +coordIndex [3, 2, 1, 0, -1, 0, 1, 5, 4, -1, 4, 5, 7, 6, -1, 6, 7, 9, 8, -1, 8, 9, 11, 10, -1, 10, 11, 13, 12, -1, 12, 13, 15, 14, -1, 14, 15, 2, 3, -1, 8, 10, 12, 14, 3, 0, 4, 6, -1, 7, 5, 1, 2, 15, 13, 11, 9, -1] +texCoord TextureCoordinate { point [0.8137 0.9892, 0.8137 0.0141, 0.633 0.01417, 0.633 0.9891, 0.9944 0.9891, 0.9944 0.01417, -0.2705 0.9892, -0.2705 0.0141, -0.08984 0.9891, -0.08984 0.01417, 0.09086 0.9892, 0.09086 0.0141, 0.2716 0.9891, 0.2716 0.01417, 0.4523 0.9892, 0.4523 0.0141, -0.4512 0.9891, -0.4512 0.01417, -0.4512 0.01417, -0.6319 0.0141, -0.8126 0.01417]} +texCoordIndex [3, 2, 1, 0, -1, 0, 1, 5, 4, -1, 16, 17, 7, 6, -1, 6, 7, 9, 8, -1, 8, 9, 11, 10, -1, 10, 11, 13, 12, -1, 12, 13, 15, 14, -1, 14, 15, 2, 3, -1, 8, 10, 12, 14, 3, 0, 4, 6, -1, 7, 18, 19, 20, 15, 13, 11, 9, -1] +}} +#LeftLight +Shape {appearance USE Gold +geometry IndexedFaceSet { ccw TRUE solid TRUE creaseAngle 3.142 +coord Coordinate { point [-0.5761 0.8946 0.5588, -0.638 0.8142 0.6221, -0.6332 0.8156 0.6312, -0.5564 0.9004 0.5964, -0.6149 0.9036 0.5433, -0.6474 0.8164 0.6184, -0.6502 0.9222 0.5589, -0.6559 0.8209 0.6221, -0.6612 0.9394 0.5965, -0.6586 0.825 0.6312, -0.6415 0.9452 0.634, -0.6538 0.8264 0.6403, -0.6027 0.9362 0.6496, -0.6444 0.8243 0.6441, -0.5674 0.9176 0.634, -0.6359 0.8198 0.6403]} +coordIndex [3, 2, 1, 0, -1, 0, 1, 5, 4, -1, 4, 5, 7, 6, -1, 6, 7, 9, 8, -1, 8, 9, 11, 10, -1, 10, 11, 13, 12, -1, 12, 13, 15, 14, -1, 14, 15, 2, 3, -1, 8, 10, 12, 14, 3, 0, 4, 6, -1, 7, 5, 1, 2, 15, 13, 11, 9, -1] +texCoord TextureCoordinate { point [1.171 0.9932, 1.171 0.01065, 0.989 0.01073, 0.989 0.9931, 1.353 0.9931, 1.353 0.01073, 0.07862 0.9932, 0.07862 0.01065, 0.2607 0.9931, 0.2607 0.01073, 0.4428 0.9932, 0.4428 0.01065, 0.6249 0.9931, 0.6249 0.01073, 0.807 0.9932, 0.807 0.01065, -0.1035 0.9931, -0.1035 0.01073, -0.1035 0.01073, -0.2855 0.01065, -0.4676 0.01073]} +texCoordIndex [3, 2, 1, 0, -1, 0, 1, 5, 4, -1, 16, 17, 7, 6, -1, 6, 7, 9, 8, -1, 8, 9, 11, 10, -1, 10, 11, 13, 12, -1, 12, 13, 15, 14, -1, 14, 15, 2, 3, -1, 8, 10, 12, 14, 3, 0, 4, 6, -1, 7, 18, 19, 20, 15, 13, 11, 9, -1] +}} +]}#end Lights + +#################### +#beams +#################### +Group{children[ + +DEF beamclock TimeSensor{loop FALSE cycleInterval 1 startTime -1} +DEF beamclock2 TimeSensor{loop FALSE cycleInterval 1 startTime -1} +DEF beamtrans ScalarInterpolator{key[0,.25,.5,.75,1]keyValue[1,.75,.5,.25,0]} + +Shape { appearance DEF Light Appearance {material DEF beamlight Material {emissiveColor 0 0 0 transparency 1}texture ImageTexture {url "light3.png"}} +geometry IndexedFaceSet {ccw TRUE solid TRUE creaseAngle 3.142 +coord Coordinate { point [-0.0013 0.8921 -0.3885, -0.001294 1.737 0.1321, 0.08872 1.754 0.0994, 0.03823 0.8997 -0.4031, -0.09132 1.754 0.0994, -0.1282 1.795 0.01962, -0.09132 1.837 -0.05973, -0.001294 1.854 -0.09295, 0.08872 1.837 -0.05973, 0.1256 1.795 0.01962, 0.05461 0.918 -0.4381, 0.03823 0.9363 -0.4732, -0.0013 0.9438 -0.4877, -0.04083 0.9363 -0.4732, -0.05721 0.918 -0.4381, -0.04083 0.8997 -0.4031]} +coordIndex [3, 2, 1, -1, 1, 0, 3, -1, 7, 6, 5, 4, 1, 2, 9, 8, -1, 10, 9, 2, -1, 2, 3, 10, -1, 11, 8, 9, -1, 9, 10, 11, -1, 12, 7, 8, 11, -1, 13, 6, 7, 12, -1, 14, 5, 6, -1, 6, 13, 14, -1, 15, 4, 5, -1, 5, 14, 15, -1, 0, 1, 4, -1, 4, 15, 0, -1, 11, 10, 3, 0, 15, 14, 13, 12, -1] +texCoord TextureCoordinate { point [0.5 0.0004995, 0.5 0.9995, 0.625 0.9995, 0.625 0.0004995, 0.375 0.9995, 0.25 0.9995, 0.1255 0.9995, 1 0.9995, 0.8745 0.9995, 0.75 0.9995, 0.75 0.0004995, 0.875 0.0004995, 1 0.0004995, 0.125 0.0004995, 0.25 0.0004995, 0.375 0.0004995, 0 0.9995, 0 0.9995, 0 0.0004995, 0 0.0004995]} +texCoordIndex [ +3, 2, 1, -1, 1, 0, 3, -1, 16, 6, 5, 4, 1, 2, 9, 8, -1, 10, 9, 2, -1, 2, 3, 10, -1, 11, 8, 9, -1, 9, 10, 11, -1, 12, 7, 8, 11, -1, 13, 6, 17, 18, -1, 14, 5, 6, -1, 6, 13, 14, -1, 15, 4, 5, -1, 5, 14, 15, -1, 0, 1, 4, -1, 4, 15, 0, -1, 11, 10, 3, 0, 15, 14, 13, 19, -1] +}} +Shape {appearance USE Light +geometry IndexedFaceSet {ccw TRUE solid TRUE creaseAngle 3.142 +coord Coordinate { point [0.6005 0.9344 0.6374, 0.2082 1.693 0.3747, 0.3016 1.716 0.3162, 0.636 0.943 0.6151, 0.115 1.633 0.3556, 0.07644 1.571 0.27, 0.1152 1.543 0.168, 0.2086 1.566 0.1095, 0.3019 1.626 0.1286, 0.3404 1.688 0.2143, 0.6507 0.9325 0.5764, 0.6361 0.9089 0.5438, 0.6006 0.8861 0.5365, 0.5651 0.8774 0.5588, 0.5504 0.888 0.5975, 0.565 0.9115 0.6301]} +coordIndex [3, 2, 1, 0, -1, 7, 6, 5, 4, 1, 2, 9, 8, -1, 10, 9, 2, 3, -1, 11, 8, 9, 10, -1, 12, 7, 8, 11, -1, 13, 6, 7, 12, -1, 14, 5, 6, 13, -1, 15, 4, 5, 14, -1, 0, 1, 4, 15, -1, 11, 10, 3, 0, 15, 14, 13, 12, -1] +texCoord TextureCoordinate { point [0.5 0.0004995, 0.5 0.9995, 0.625 0.9995, 0.625 0.0004995, 0.375 0.9995, 0.25 0.9995, 0.125 0.9995, 1.324e-005 0.9995, 0.875 0.9995, 0.75 0.9995, 0.75 0.0004995, 0.875 0.0004995, 0.125 0.0004995, 0.25 0.0004995, 0.375 0.0004995, -0.125 0.9995, 0 0.0004995, -0.125 0.9995, 0 0.0004995, 0 0.0004995]} +texCoordIndex [3, 2, 1, 0, -1, 7, 6, 5, 4, 1, 2, 9, 15, -1, 10, 9, 2, 3, -1, 11, 8, 9, 10, -1, 16, 7, 17, 11, -1, 12, 6, 7, 18, -1, 13, 5, 6, 12, -1, 14, 4, 5, 13, -1, 0, 1, 4, 14, -1, 11, 10, 3, 0, 14, 13, 12, 19, -1] +}} +Shape {appearance USE Light +geometry IndexedFaceSet {ccw TRUE solid TRUE creaseAngle 3.142 +coord Coordinate { point [-0.6027 0.9344 0.6496, -0.2946 1.762 0.4358, -0.2139 1.72 0.4001, -0.5674 0.9159 0.634, -0.3831 1.783 0.4002, -0.4281 1.769 0.3146, -0.4029 1.73 0.2286, -0.3225 1.688 0.1929, -0.2337 1.667 0.2285, -0.1887 1.68 0.3144, -0.5564 0.8986 0.5964, -0.5761 0.8928 0.5588, -0.6149 0.9019 0.5433, -0.6502 0.9205 0.5589, -0.6612 0.9377 0.5965, -0.6415 0.9435 0.634]} +coordIndex [3, 2, 1, 0, -1, 7, 6, 5, 4, 1, 2, 9, 8, -1, 10, 9, 2, 3, -1, 11, 8, 9, 10, -1, 12, 7, 8, 11, -1, 13, 6, 7, 12, -1, 14, 5, 6, 13, -1, 15, 4, 5, 14, -1, 0, 1, 4, 15, -1, 11, 10, 3, 0, 15, 14, 13, 12, -1] +texCoord TextureCoordinate { point [0.5008 0.0004995, 0.4997 0.9995, 0.625 0.9995, 0.625 0.0004995, 0.375 0.9995, 0.2502 0.9995, 0.125 0.9995, 0.0002563 0.9995, 0.875 0.9995, 0.7498 0.9995, 0.7492 0.0004995, 0.8739 0.0004995, 0.125 0.0004995, 0.2508 0.0004995, 0.3761 0.0004995, -0.125 0.9995, -0.0007998 0.0004995, -0.125 0.9995, -0.0007998 0.0004995, -0.0007998 0.0004995]} +texCoordIndex [3, 2, 1, 0, -1, 7, 6, 5, 4, 1, 2, 9, 15, -1, 10, 9, 2, 3, -1, 11, 8, 9, 10, -1, 16, 7, 17, 11, -1, 12, 6, 7, 18, -1, 13, 5, 6, 12, -1, 14, 4, 5, 13, -1, 0, 1, 4, 14, -1, 11, 10, 3, 0, 14, 13, 12, 19, -1] +}} +]} + +#################### +#Buttons +#################### +Transform{ scale 1.1 1.1 1.1 translation 0 -.2 .05 children[ + +#Select Button +Transform {children [ +DEF SelectTouch TouchSensor{enabled FALSE} +Shape {appearance USE Gold +geometry IndexedFaceSet { ccw TRUE solid TRUE +coord Coordinate { point [0 0.9 .6, -0.1 0.85 .6, -0.1 0.75 .6, 0 0.7 .6, 0.1 0.75 .6, 0.1 0.85 .6]} +coordIndex [3, 2, 1, 0, 5, 4, -1, 2, 3, 4, 5, 0, 1, -1] +texCoord TextureCoordinate { point [0.5059 0.0004997, 0.005758 0.2468, 0.0004997 0.744, 0.4941 0.9995, 0.9942 0.7532, 0.9995 0.256]} +texCoordIndex [3, 2, 1, 0, 5, 4, -1, 2, 3, 4, 5, 0, 1, -1] +} +}]} + +#Scroll Back through the index +Transform {children [ +DEF BackTouch TouchSensor{enabled FALSE} +Shape {appearance USE Gold +geometry IndexedFaceSet { ccw TRUE solid TRUE +coord Coordinate { point [-.15 .7 .6, -.35 .8 .6, -.15 .9 .6]} +coordIndex [0, 2, 1, -1, 2, 0, 1, -1] +texCoord TextureCoordinate { point [0.01672 0.02879, 0.5091 1, 1.017 0.02637]} +texCoordIndex [0, 2, 1, -1, 2, 0, 1, -1] +}}]} + +#Scroll Forward through the index +Transform {children [ +DEF ForwardTouch TouchSensor{enabled FALSE} +Shape {appearance USE Gold +geometry IndexedFaceSet { ccw TRUE solid TRUE +coord Coordinate { point [.15 .9 .6, .35 .8 .6, .15 .7 .6]} +coordIndex [0, 2, 1, -1, 2, 0, 1, -1] +texCoord TextureCoordinate { point [0.01672 0.02879, 0.5091 1, 1.017 0.02637]} +texCoordIndex [0, 2, 1, -1, 2, 0, 1, -1] +}}]} + +#Configure your changer here +DEF config_switch Switch{ whichChoice -1 +choice[ + +Transform{ scale 1.5 1.5 1.5 children[ +DEF config TouchSensor{enabled FALSE} +Transform{translation 0 .3 .4 children[ +Shape{ appearance Appearance{material Material{diffuseColor 1 1 1}}geometry Text{string "Configure" fontStyle FontStyle{family "ARIAL" style "BOLD" justify "MIDDLE" size .05}}} +]} +Transform{translation 0 .31 .4 children[ +Shape { appearance DEF Light Appearance {material Material {}texture ImageTexture {url "light3.png"}}geometry Box{size .2 .1 .001}} +]}]} +]}#end Switch + +]} + +#################### +#Information HUD +#################### + +Transform {translation 0 .9 .65 +children[ + +Shape { + appearance Appearance {material Material {diffuseColor 0 1 1}} + geometry DEF prev_text Text {fontStyle FontStyle {size .15 family "ARIAL" style "BOLD" justify "MIDDLE"}string ""} +} +Shape { + appearance Appearance {material Material {diffuseColor 0 1 1 }} + geometry DEF forward_text Text {fontStyle FontStyle {size .15 family "ARIAL" style "BOLD" justify "MIDDLE"}string ""} +} +Shape { + appearance Appearance {material Material {diffuseColor 0 1 1 }} + geometry DEF select_text Text {fontStyle FontStyle {size .15 family "ARIAL" style "BOLD" justify "MIDDLE"}string ""} +} +Shape { + appearance Appearance {material Material {diffuseColor 0 1 1 }} + geometry DEF config_text Text {fontStyle FontStyle {size .15 family "ARIAL" style "BOLD" justify "MIDDLE"}string ""} +} + +]} + +#################### +#Avatar +#################### + +Transform{translation 0 2.5 .250 children[DEF myAvatar Inline{url "" }]} + +#################### +#Scripts +#################### + +DEF config_script Script{ eventIn SFBool Over eventOut MFString choice_changed url"vrmlscript: function Over(v,t){if(v){choice_changed = new MFString('CONFIGURE AVATAR SELECTION');}else{choice_changed = new MFString('');}}"} +DEF previous_script Script{eventIn SFBool Over eventOut MFString choice_changed url"vrmlscript: function Over(v,t){if(v){choice_changed = new MFString('PREVIOUS SELECTION');} else{choice_changed = new MFString('');}}"} +DEF forward_script Script{ eventIn SFBool Over eventOut MFString choice_changed url"vrmlscript: function Over(v,t){if(v){choice_changed = new MFString('NEXT SELECTION');} else{choice_changed = new MFString('');}}"} +DEF select_script Script{ eventIn SFBool Over eventOut MFString choice_changed url"vrmlscript: function Over(v,t){if(v){choice_changed = new MFString('SELECT THIS AVATAR');} else{choice_changed = new MFString('');}}"} + +DEF get_delay TimeSensor{cycleInterval 10} +DEF LoadScript Script{ + +eventIn MFNode receive +eventIn SFTime set_forward +eventIn SFTime set_backward +eventIn SFTime set_avatar +eventIn SFTime set_config +eventIn SFTime set_pi +eventIn SFString reset_info IS reset_info +eventIn SFBool get_info + +field MFString loadURL ["/cgi-bin/cybertown/edit?tpl=common/avatarwardrobe/avatarinfo&mime=.wrl"] +field SFNode self USE LoadScript +field SFInt32 count 0 +field SFNode PI IS PI +field SFString name IS name + +exposedField MFString avatar [""] +field SFBool isOwner FALSE + +eventOut MFString currentAvatar +eventOut SFInt32 configChoice_changed +eventOut SFBool enabled_changed +eventOut SFTime getTime_changed + +url "vrmlscript: + +function set_config(){ + u = new MFString('javascript:loadInfo(\"/cgi-bin/cybertown/edit?tpl=common/avatarwardrobe/avatarupdate&T_awname=' + name + '\")'); + p = new MFString('target=action'); + Browser.loadURL(u,p); +} + +function receive(v,t){ + avatar = v[0].avatarUrls; + //print(v[0].avatarUrls); + currentAvatar = new MFString(avatar[0]); +} + +function set_forward(v,t){ + count++; + if (count == 4 ) {count = 0;} + currentAvatar = new MFString(avatar[count]); +} + +function set_backward(v,t){ + count--; + if (count == -1) {count = 0;} + currentAvatar = new MFString(avatar[count]); +} + +function set_avatar(v,t){ + u = new MFString('/cgi-bin/cybertown/edit?tpl=common/avatarwardrobe/defaultavatar&AVU='+ currentAvatar +'&fool=b.html'); + p = new MFString('target=audio'); + Browser.loadURL(u,p); + + u2 = new MFString('http://www1.cybertown.com/cgi-bin/cybertown/property?ID=' + PI.ID +'&ac=3D&T_OWNER=' + PI.isOwner + '&T_setAvatar=' + currentAvatar[0] +'&T_refresh=false&IE=x.bxx'); + p2 = new MFString(); + Browser.loadURL(u2,p2); +} + +function reset_info(v,t){ + getTime_changed = t; +} + +function get_info(){ + if(v){return;} + + u = new MFString('/cgi-bin/cybertown/edit?tpl=common/avatarwardrobe/avatarinfo&T_placeID='+PI.ID+'&mime=.wrl'); + //Browser.createVrmlFromURL(loadURL,self,'receive'); + //print(u); + Browser.createVrmlFromURL(u,self,'receive'); +} + +function set_pi(v,t){ + isOwner = PI.isOwner; + enabled_changed = true; + if(isOwner){configChoice_changed = 0;} + get_info(false); +} + +function initialize(){ + get_info(false); + Browser.addRoute(PI,'info_changed',Browser.getScript(),'set_pi'); +} + +"} +]} +ROUTE LoadScript.currentAvatar TO myAvatar.set_url +ROUTE LoadScript.configChoice_changed TO config_switch.set_whichChoice +ROUTE LoadScript.getTime_changed TO get_delay.set_startTime +#ROUTE get_delay.isActive TO LoadScript.get_info +ROUTE LoadScript.enabled_changed TO ForwardTouch.set_enabled +ROUTE LoadScript.enabled_changed TO BackTouch.set_enabled +ROUTE LoadScript.enabled_changed TO SelectTouch.set_enabled +ROUTE LoadScript.enabled_changed TO config.set_enabled +ROUTE ForwardTouch.touchTime TO LoadScript.set_forward +ROUTE BackTouch.touchTime TO LoadScript.set_backward +ROUTE SelectTouch.touchTime TO LoadScript.set_avatar +ROUTE config.touchTime TO LoadScript.set_config +ROUTE ForwardTouch.touchTime TO beamclock.startTime +ROUTE BackTouch.touchTime TO beamclock2.startTime +ROUTE beamclock.fraction_changed TO beamtrans.set_fraction +ROUTE beamclock2.fraction_changed TO beamtrans.set_fraction +ROUTE beamtrans.value_changed TO beamlight.set_transparency +ROUTE config.isOver TO config_script.Over +ROUTE ForwardTouch.isOver TO forward_script.Over +ROUTE BackTouch.isOver TO previous_script.Over +ROUTE SelectTouch.isOver TO select_script.Over +ROUTE previous_script.choice_changed TO prev_text.set_string +ROUTE config_script.choice_changed TO config_text.set_string +ROUTE forward_script.choice_changed TO forward_text.set_string +ROUTE select_script.choice_changed TO select_text.set_string +}#END AvatarWardrobe PROTO + + + + +######################################################################### +#LoopCountClock +######################################################################### + +PROTO LoopCountClock[ + eventIn SFTime set_startTime + eventIn SFTime set_stopTime + exposedField SFTime cycleInterval 1 + exposedField SFFloat loopCount 10 + exposedField SFBool enabled TRUE + eventOut SFTime cycleTime + eventOut SFFloat fraction_changed + eventOut SFFloat reset_changed + eventOut SFBool isActive + eventOut SFTime time + eventOut SFTime done +]{ +DEF clock TimeSensor{ + cycleInterval IS cycleInterval + cycleTime IS cycleTime + fraction_changed IS fraction_changed + isActive IS isActive + time IS time + enabled FALSE + loop TRUE +} +Group{ children[ +DEF start_clock TimeSensor{cycleInterval .01 loop FALSE enabled TRUE} +DEF stop_clock TimeSensor{cycleInterval .01 loop FALSE enabled TRUE} +DEF s Script{ + eventIn SFTime set_startTime IS set_startTime + eventIn SFTime set_stopTime IS set_stopTime + eventIn SFTime set_start + eventIn SFTime set_stop + eventIn SFTime set_loop + field SFFloat loops 0 + exposedField SFFloat loopCount IS loopCount + exposedField SFBool enabled IS enabled + eventOut SFTime startClock_changed + eventOut SFTime stopClock_changed + eventOut SFBool clockEnabled_changed + eventOut SFFloat reset_changed IS reset_changed + eventOut SFTime done IS done +url"vrmlscript: +function set_startTime(v,t){startClock_changed = t;} +function set_startTime(v,t){stopClock_changed = t;} +function set_start(v,t){ + if(enabled){ + clockEnabled_changed = true; + loops = 0; + } +} +function set_stop(v,t){ + clockEnabled_changed = false; + loops = 0; + reset_changed = 0; +} +function set_loop(v,t){ + loops++; + if(loops > loopCount){clockEnabled_changed = false; done = t;} +} +"} +]} +ROUTE s.startClock_changed TO start_clock.set_startTime +ROUTE s.stopClock_changed TO stop_clock.set_startTime +ROUTE start_clock.cycleTime TO s.set_start +ROUTE stop_clock.cycleTime TO s.set_stop +ROUTE s.clockEnabled_changed TO clock.set_enabled +ROUTE clock.cycleTime TO s.set_loop +}#END LoopCountClock PROTO + + + +######################################################################### +#FizzEffect +######################################################################### + +PROTO FizzEffect[ + eventIn SFTime set_time +]{ +DEF trans Transform{ children[ + DEF effect_view Viewpoint{} + #Transform{ translation 0 0 3 children Box{}} +]} +DEF default_view Viewpoint{position 0 1.75 0} +DEF clock1 LoopCountClock {cycleInterval 10 loopCount 2} +DEF pinterp PositionInterpolator { +key [ +0 .0333 .0667 .1 .133 .167 .2 .233 .267 .3 .333 .367 .4 .433 .467 .5 .533 .567 .6 .633 .667 .7 .733 .767 .8 .833 .867 .9 .933 .967 1] +keyValue [ 0 0 0 0 .65 0 0 1.0 0 0 1.2 0 0 1.0 0 0 .4 0 0 .2 0 0 .4 0 0 1.0 0 0 1.2 0 0 1.0 0 0 .4 0 0 .2 0 0 .4 0 0 1.0 0 0 1.2 0 0 1.0 0 0 .4 0 0 .2 0 0 .4 0 0 1.0 0 0 1.2 0 0 1.0 0 0 .4 0 0 .2 0 0 .4 0 0 1.0 0 0 1.2 0 0 1.0 0 0 .2 0 0 0 0]} +DEF clock2 LoopCountClock {cycleInterval .5 loopCount 3} +DEF ointerp OrientationInterpolator { +key [0 .5 1] +keyValue [0 1 0 0,0 1 0 3.14,0 1 0 6.28] +} +DEF clock3 LoopCountClock {cycleInterval 4 loopCount 3} +DEF winterp OrientationInterpolator { +key [0 .25 .75 1] +keyValue [0 0 1 0,0 0 1 .1,0 0 1 -.1,0 0 1 0] +} +DEF s Script{ +eventIn SFTime set_time IS set_time +eventIn SFBool set_active +field SFBool isActive FALSE +eventOut SFVec3f position_changed +eventOut SFRotation orientation_changed +eventOut SFVec3f center_changed +eventOut SFBool effectBind_changed +eventOut SFBool defaultBind_changed +eventOut SFTime startTime_changed +url"vrmlscript: +function set_time(v,t){ + if(isActive){return;} + isActive = true; + center_changed = Browser.viewpointPosition; + position_changed = Browser.viewpointPosition; + orientation_changed = Browser.viewpointOrientation; + effectBind_changed = true; + startTime_changed = t + .1; +} +function set_active(v,t){ + if(v){Browser.setGravity(false);} + else{ + Browser.setGravity(true); + isActive = false; + position_changed = Browser.viewpointPosition; + orientation_changed = Browser.viewpointOrientation; + defaultBind_changed = true; + } +} +"} +ROUTE s.center_changed TO trans.set_center +ROUTE s.position_changed TO effect_view.set_position +ROUTE s.orientation_changed TO effect_view.set_orientation +ROUTE s.effectBind_changed TO effect_view.set_bind +ROUTE s.position_changed TO default_view.set_position +ROUTE s.orientation_changed TO default_view.set_orientation +ROUTE s.defaultBind_changed TO default_view.set_bind +ROUTE s.startTime_changed TO clock1.set_startTime +ROUTE s.startTime_changed TO clock2.set_startTime +ROUTE clock1.fraction_changed TO pinterp.set_fraction +ROUTE clock2.fraction_changed TO ointerp.set_fraction +ROUTE clock3.fraction_changed TO winterp.set_fraction +ROUTE pinterp.value_changed TO trans.set_translation +ROUTE ointerp.value_changed TO trans.set_rotation +ROUTE winterp.value_changed TO trans.set_rotation +ROUTE clock1.reset_changed TO pinterp.set_fraction +ROUTE clock1.isActive TO s.set_active +ROUTE clock2.done TO clock3.set_startTime +}#END FizzEffect PROTO + + + + + + + + + + + + + + + + + +DEF SharedZone BlaxxunZone { +events [ + +DEF sharedTime1 SharedEvent { name "P_T1" }#shares the trigger +DEF sharedSound1 SharedEvent { name "P_S1" }#shares the trigger + +DEF sharedTime2 SharedEvent { name "P_T2" } +DEF sharedSound2 SharedEvent { name "P_S2" }#shares the trigger + +DEF sharedTime3 SharedEvent { name "P_T3" } +DEF sharedSound3 SharedEvent { name "P_S3" }#shares the trigger + +DEF sharedTime4 SharedEvent { name "P_T4" } +DEF sharedSound4 SharedEvent { name "P_S4" }#shares the trigger + +DEF sharedTime5 SharedEvent { name "P_T5" } +DEF sharedSound5 SharedEvent { name "P_S5" }#shares the trigger5 + +DEF sharedTime6 SharedEvent { name "P_T6" } +DEF sharedSound6 SharedEvent { name "P_S6" }#shares the trigger + +DEF sharedTime7 SharedEvent { name "P_T7" } +DEF sharedSound7 SharedEvent { name "P_S7" }#shares the trigger + + +]} + + + +#PROTO switchMe[ +#eventIn SFTime touchTime +#eventOut SFTime openStartTime +#eventOut SFTime closedStartTime +#field SFBool isOpen FALSE +#]{ + +#DEF on_off_button Script{ +#eventIn SFTime touchTime IS touchTime +#eventOut SFTime openStartTime IS openStartTime +#eventOut SFTime closedStartTime IS closedStartTime +#field SFBool isOpen IS isOpen + +#url"vrmlscript: + +#function touchTime(t){ +#if (!isOpen){isOpen = true; openStartTime = t; } +#else{ isOpen = false; closedStartTime = t;} +#} + +#" +#} + +#}#end proto switchMe + +PROTO SharedToggle[ +eventIn SFBool set_toggleState +eventOut SFTime trueTime_changed +eventOut SFTime falseTime_changed +]{ + +Script{ + +eventIn SFBool set_toggleState IS set_toggleState +eventOut SFTime trueTime_changed IS trueTime_changed +eventOut SFTime falseTime_changed IS falseTime_changed + +url"vrmlscript: + +function set_toggleState(v,t){ + if(v){trueTime_changed = t;} + else{falseTime_changed = t;} +} + +"} +} + + +DEF SharedToggle1 SharedToggle{} +DEF SharedToggle2 SharedToggle{} +DEF SharedToggle3 SharedToggle{} +DEF SharedToggle4 SharedToggle{} +DEF SharedToggle5 SharedToggle{} +DEF SharedToggle6 SharedToggle{} +DEF SharedToggle7 SharedToggle{} + +PROTO Toggle[ +eventIn SFTime set_toggle +exposedField SFBool toggleState FALSE +eventOut SFBool state_changed +]{ +Script{ +eventIn SFTime set_toggle IS set_toggle +exposedField SFBool toggleState IS toggleState +eventOut SFBool state_changed IS state_changed +url"vrmlscript: +function set_toggle(){ + if(toggleState){toggleState = false;} + else{toggleState = true;} + state_changed = toggleState; +} +"} +} +DEF Toggle1 Toggle{} +DEF Toggle2 Toggle{} +DEF Toggle3 Toggle{} +DEF Toggle4 Toggle{} +DEF Toggle5 Toggle{} +DEF Toggle6 Toggle{} +DEF Toggle7 Toggle{} + + +PROTO touchBool[#used for binding bed viewpoint when clicked. +eventIn SFTime touchTime +eventOut SFBool IsTouched +] +{ + +Script{ +#this script converts touchtime to a true boolean +eventIn SFTime touchTime IS touchTime +eventOut SFBool IsTouched IS IsTouched +url "vrmlscript: +function touchTime(v){ +if(touchTime == .1){return;} +else{IsTouched = true;} +} +" +} +} + +PROTO Planter[ +field SFVec3f translation 0 0 0 +field SFRotation rotation 0 0 0 0 +field SFVec3f scale 1 1 1 +] +{ +LOD{ +center IS translation +range[40] +level[ +Transform { +translation IS translation #13.845 0.049571 2.2319 +scale IS scale +children [ +Transform{ +children[ +DEF plant_pod Transform { +translation 0 0 0 +scale 0.9 0.9 0.9 +children [ +Shape { +appearance Appearance { +material Material {} +texture ImageTexture { +url "window.png" +} +} +geometry DEF plant_pod-FACES IndexedFaceSet { creaseAngle 2 +ccw TRUE +solid FALSE +coord DEF plant_pod-COORD Coordinate { point [ +0 0 0, 1 0 0, 0.809 0 -0.588, 0.309 0 -0.951, -0.309 0 -0.951, +-0.809 0 -0.588, -1 0 0, -0.809 0 0.588, -0.309 0 0.951, 0.309 0 0.951, +0.809 0 0.588, 1 0.553 0, 0.809 0.553 -0.588, 0.309 0.553 -0.951, +-0.309 0.553 -0.951, -0.809 0.553 -0.588, -1 0.553 0, -0.809 0.553 0.588, +-0.309 0.553 0.951, 0.309 0.553 0.951, 0.809 0.553 0.588, 1 4 0, +0.809 4 -0.588, 0.309 4 -0.951, -0.309 4 -0.951, -0.809 4 -0.588, +-1 4 0, -0.809 4 0.588, -0.309 4 0.951, 0.309 4 0.951, 0.809 4 0.588] +} +texCoord DEF plant_pod-TEXCOORD TextureCoordinate { point [ +1.5 1, 2.25 1, 1.95 1, 1.65 1, 1.35 1, 1.05 1, 0.75 1, 0.45 1, +0.15 1, 2.85 1, 2.55 1, 2.25 0.861, 1.95 0.861, 1.65 0.861, 1.35 0.861, +1.05 0.861, 0.75 0.861, 0.45 0.861, 0.15 0.861, 2.85 0.861, 2.55 0.861, +-0.15 1, -0.15 0.861, -0.15 1, -0.15 0.861, 2.25 0.000499, 2.54 1, +2.25 1, 2.54 0.000499, 2.84 1, 2.84 0.000499, 0.157 1, 0.157 0.000499, +0.461 1, 0.461 0.000499, 0.75 1, 0.75 0.000499, 1.04 1, 1.04 0.000499, +1.34 1, 1.34 0.000499, 1.66 1, 1.66 0.000499, 1.96 1, 1.96 0.000499, +-0.157 0.000499, -0.157 1, -0.157 0.000499] +} +coordIndex [ +11, 22, 21, -1, 11, 12, 22, -1, 12, 23, 22, -1, 12, 13, 23, -1, +13, 24, 23, -1, 13, 14, 24, -1, 14, 25, 24, -1, 14, 15, 25, -1, +15, 26, 25, -1, 15, 16, 26, -1, 16, 27, 26, -1, 16, 17, 27, -1, +17, 28, 27, -1, 17, 18, 28, -1, 18, 29, 28, -1, 18, 19, 29, -1, +19, 30, 29, -1, 19, 20, 30, -1, 20, 21, 30, -1, 20, 11, 21, -1] +texCoordIndex [ +25, 26, 27, -1, 25, 28, 26, -1, 28, 29, 26, -1, 28, 30, 29, -1, +45, 31, 46, -1, 47, 32, 31, -1, 32, 33, 31, -1, 32, 34, 33, -1, +34, 35, 33, -1, 34, 36, 35, -1, 36, 37, 35, -1, 36, 38, 37, -1, +38, 39, 37, -1, 38, 40, 39, -1, 40, 41, 39, -1, 40, 42, 41, -1, +42, 43, 41, -1, 42, 44, 43, -1, 44, 27, 43, -1, 44, 25, 27, -1] +} +} +Shape { +appearance Appearance { +material Material { +diffuseColor 0.5 0.5 0.5 +ambientIntensity 0.1 +specularColor 0.045 0.045 0.045 +shininess 0.287 +transparency 0 +} +} +geometry DEF plant_pod-FACES IndexedFaceSet { +ccw TRUE +solid TRUE +coord USE plant_pod-COORD +coordIndex [ +] +} +} +Shape { +appearance Appearance { +material Material { +diffuseColor 0.5 0.5 0.5 +ambientIntensity 0.1 +specularColor 0.045 0.045 0.045 +shininess 0.287 +transparency 0 +} +} +geometry DEF plant_pod-FACES IndexedFaceSet { +ccw TRUE +solid TRUE +coord USE plant_pod-COORD +coordIndex [ +] +} +} +Shape { +appearance Appearance { +material Material { +diffuseColor 0.106 0.671 0.651 +ambientIntensity 0.159 +specularColor 0.045 0.045 0.045 +shininess 0.287 +transparency 0 +} +texture ImageTexture { +url "rustymetal2.jpg" +} +} +geometry DEF plant_pod-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +coord USE plant_pod-COORD +texCoord USE plant_pod-TEXCOORD +coordIndex [ +0, 2, 1, -1, 0, 3, 2, -1, 0, 4, 3, -1, 0, 5, 4, -1, 0, 6, 5, -1, +0, 7, 6, -1, 0, 8, 7, -1, 0, 9, 8, -1, 0, 10, 9, -1, 0, 1, 10, -1, +1, 12, 11, -1, 1, 2, 12, -1, 2, 13, 12, -1, 2, 3, 13, -1, 3, 14, 13, -1, +3, 4, 14, -1, 4, 15, 14, -1, 4, 5, 15, -1, 5, 16, 15, -1, 5, 6, 16, -1, +6, 17, 16, -1, 6, 7, 17, -1, 7, 18, 17, -1, 7, 8, 18, -1, 8, 19, 18, -1, +8, 9, 19, -1, 9, 20, 19, -1, 9, 10, 20, -1, 10, 11, 20, -1, 10, 1, 11, -1, +] +texCoordIndex [ +0, 2, 1, -1, 0, 3, 2, -1, 0, 4, 3, -1, 0, 5, 4, -1, 0, 6, 5, -1, +0, 7, 6, -1, 0, 8, 7, -1, 0, 21, 8, -1, 0, 10, 9, -1, 0, 1, 10, -1, +1, 12, 11, -1, 1, 2, 12, -1, 2, 13, 12, -1, 2, 3, 13, -1, 3, 14, 13, -1, +3, 4, 14, -1, 4, 15, 14, -1, 4, 5, 15, -1, 5, 16, 15, -1, 5, 6, 16, -1, +6, 17, 16, -1, 6, 7, 17, -1, 7, 18, 17, -1, 7, 8, 18, -1, 8, 22, 18, -1, +8, 23, 24, -1, 9, 20, 19, -1, 9, 10, 20, -1, 10, 11, 20, -1, +10, 1, 11, -1, ] +} +} +] +} +DEF Billboard01 Transform { +translation 0.00631 1.74 -0.00391 +children [ +DEF Billboard01-TIMER TimeSensor { loop TRUE cycleInterval 167 }, +DEF Billboard01 Billboard { +axisOfRotation 0 1 0 +children [ +DEF plant Transform { +translation -0.00631 -1.74 -0.563 +rotation 0 -1 0 -1.57 +scale 1 1 1.5 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 0.388 0.529 0.192 +ambientIntensity 0.123 +specularColor 0.045 0.045 0.045 +shininess 0.287 +transparency 0 +} +texture ImageTexture { +url "tree2.gif" +} +} +geometry DEF plant-FACES IndexedFaceSet { +ccw TRUE +solid TRUE +coord DEF plant-COORD Coordinate { point [ +-0.563 0 0.541, -0.563 0 -0.541, -0.563 3.48 0.541, -0.563 3.48 -0.541] +} +texCoord DEF plant-TEXCOORD TextureCoordinate { point [ +0.999 0.000999, 0.0005 0.000999, 1 2, 0.000501 2] +} +coordIndex [ +1, 0, 2, -1, 2, 3, 1, -1] +texCoordIndex [ +1, 0, 2, -1, 2, 3, 1, -1] +} +} +] +} +] } +] +} +]} +] +} +Group{} +]}#end LOD + +}#end PROTO + +PROTO Flash[ +field SFVec3f translation 0 0 0 +field SFVec3f scale 1 1 1 +field SFRotation rotation 0 0 0 1 +] +{ +Transform { +translation IS translation +scale IS scale +rotation IS rotation +children [ +DEF Billboard01-TIMER TimeSensor { loop TRUE cycleInterval 1 }, +DEF Billboard01 Billboard { +axisOfRotation 0 0 0 +children [ +DEF Box01 Transform { +translation 0 0 0 +children [ +DEF Box01-SCALE-INTERP PositionInterpolator { +key [0, 0.6, 0.7, ] +keyValue [1 1 1, 1 1 1, 0.08 0.08 0.08, ] }, +DEF Box01-SCALE-ORI-INTERP OrientationInterpolator { +key [0, 0.6, 0.7, ] +keyValue [1 0 0 0, 1 0 0 0, 1 0 0 0, ] }, +Shape { +appearance DEF Glow2 Appearance { +material Material { +diffuseColor 0.1922 0.5608 0.3843 +ambientIntensity 0.1264 +specularColor 0.045 0.045 0.045 +shininess 0.2875 +transparency 0.3 +emissiveColor 0.1922 0.5608 0.3843 +} +texture ImageTexture { +url "glow2.png" +} +} +geometry DEF Box01-FACES IndexedFaceSet { +ccw TRUE +solid TRUE +convex TRUE +coord DEF Box01-COORD Coordinate { point [ +-5 -5 0, 5 -5 0, -5 5 0, 5 5 0] +} +coordIndex [ +0, 1, 3, 2, -1] +texCoord DEF Box01-TEXCOORD TextureCoordinate { point [ +0.0004995 0.0004997, 0.9995 0.0004995, 0.0004996 0.9995, 0.9995 0.9995] +} +texCoordIndex [ +0, 1, 3, 2, -1] +} +} +] +} +] } +] +ROUTE Billboard01-TIMER.fraction_changed TO Box01-SCALE-INTERP.set_fraction +ROUTE Box01-SCALE-INTERP.value_changed TO Box01.set_scale +ROUTE Billboard01-TIMER.fraction_changed TO Box01-SCALE-ORI-INTERP.set_fraction +ROUTE Box01-SCALE-ORI-INTERP.value_changed TO Box01.set_scaleOrientation +} +}#end flash PROTO + + +################################# +#background, lights, viewpoints +################################# +Background { +skyColor [0 0 0, 0 0 0, 0.11176 0.12941 0.52157, ] +skyAngle [1.3359, 1.6453, ] +groundColor [0.8549 0.92549 0.93725, ] +} + +DEF viewpoint_living_room Viewpoint { +position 16.392 1.75 -10.204 +orientation 0 -1 0 -1.9596 +#fieldOfView 0.73628 +description "Living Room" +} +DirectionalLight { +intensity 1 +color 0.99216 0.95686 0.58039 +direction 0.88108 -0.47174 0.034103 +on TRUE +} +DirectionalLight { +intensity 1 +color 0.84706 0.98824 1 +direction -0.65954 -0.50403 -0.55764 +on TRUE +} +DirectionalLight { +intensity 1 +color 0.97647 0.81961 0.77647 +direction -0.18561 -0.48848 0.8526 +on TRUE +} +DirectionalLight { +intensity 1 +color 0.41176 0.46667 0.47451 +direction 0.14241 0.96221 -0.23209 +on TRUE +} +#DEF Direct04-TIMER TimeSensor { loop TRUE cycleInterval 166.67 }, + + +DEF viewpoint_bedroom Viewpoint { +position 40.711 1.75 -53.619 +orientation 0 -1 0 -1.8231 +#fieldOfView 0.73628 +description "Bedroom" +} + +DEF viewpoint_rec_room Viewpoint { +position -59.76 7.238 -86.352 +orientation 0 -1 0 -3.3025 +#fieldOfView 0.73628 +description "Recreation Room" +} +DEF viewpoint_den Viewpoint { +position -46.995 1.75 73.049 +orientation 0 1 0 -0.33779 +#fieldOfView 0.73628 +description "Den" +} +DEF viewpoint_mediation_room Viewpoint { +position 56.482 1.75 90.987 +orientation 0 -1 0 -0.32896 +#fieldOfView 0.73628 +description "Meditation Room" +} +DEF viewpoint_hover_deck Viewpoint { +position 8.0423 9.272 8.2477 +orientation 0 -1 0 -1.4163 +#fieldOfView 0.73628 +description "Hover Deck" +} +DEF viewpoint_bed Viewpoint { +position 60.777 1.1944 -79.859 +orientation -0.23778 -0.90709 0.34736 -2.0303 +fieldOfView 1.4657 +description "" +} + +DEF bldg Transform { +translation 0 0 0 +scale 0.71429 1 0.71429 +children [ +Shape { +appearance DEF Glass Appearance { +material Material {} +texture ImageTexture { +url "window.png" +} +} +geometry DEF bldg-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +coord DEF bldg-COORD Coordinate { point [ +-8.8899 0 1.2261, 8.8711 0 1.2261, 28.285 0 20.55, 10.804 0 33.251, +-10.804 0 33.251, -28.285 0 20.55, -7.1832 -2 -5.2165, -2.7429 -2 -8.4425, +2.7455 -2 -8.4425, 7.1858 -2 -5.2165, 17.752 0 1.2261, -17.77 0 1.2261, +-14.368 -1 -10.436, -5.4871 -1 -16.888, 5.4898 -1 -16.888, 14.37 -1 -10.436, +20.95 0 1.2261, -21.005 0 1.2261, -16.988 0 -12.372, -6.4989 0 -19.992, +6.466 0 -19.992, 16.955 0 -12.372, 34.952 0 1.2261, -34.973 0 1.2261, +-28.285 0 -20.55, -10.804 0 -33.251, 10.804 0 -33.251, 28.285 0 -20.55, +-7.8976 -3 -1.2261, 7.9111 -3 -1.2261, -6.3987 -3 -4.656, -2.4465 -3 -7.5274, +2.4386 -3 -7.5274, 6.3908 -3 -4.656, 8.8854 -2 -0.4087, -8.8756 -2 -0.4087, +16.752 -2 -0.4087, -16.753 -2 -0.4087, -13.557 -2 -9.8575, -5.181 -2 -15.943, +5.1727 -2 -15.943, 13.549 -2 -9.8575, 17.759 -1 0.4087, -17.763 -1 0.4087, +19.954 -1 0.40869, -20.003 -1 0.40869, -16.184 -1 -11.796, -6.1949 -1 -19.054, +6.1526 -1 -19.054, 16.142 -1 -11.796, -8.8491 3.761 1.1789, -20.556 3.761 -14.946, +-25.401 3.761 1.179, -7.1608 3.761 -5.2035, -7.8555 3.761 -24.173, +-2.7317 3.761 -8.4214, 7.8428 3.761 -24.173, 2.743 3.761 -8.4214, +20.543 3.761 -14.946, 7.1722 3.761 -5.2035, 25.399 3.761 1.179, +8.8632 3.761 1.1789, 20.556 3.761 15.6, 7.8555 3.761 24.828, +-7.8428 3.761 24.828, -20.543 3.761 15.6, 17.162 7.522 1.2022, +13.889 7.522 10.932, 5.3078 7.522 17.167, -5.2992 7.522 17.167, +-13.88 7.522 10.932, -17.163 7.522 1.2022, 10.804 0.8 33.251, +28.285 0.8 20.55, -10.804 0.8 33.251, -28.285 0.8 20.55, 34.952 0.8 1.2261, +-34.973 0.8 1.2261, -28.285 0.8 -20.55, -10.804 0.8 -33.251, +10.804 0.8 -33.251, 28.285 0.8 -20.55, -20.556 4.561 -14.946, +-25.401 4.561 1.179, -8.8491 4.561 1.1789, -7.1608 4.561 -5.2035, +-7.8555 4.561 -24.173, -2.7317 4.561 -8.4214, 7.8428 4.561 -24.173, +2.743 4.561 -8.4214, 20.543 4.561 -14.946, 7.1722 4.561 -5.2035, +25.399 4.561 1.179, 8.8632 4.561 1.1789, 20.556 4.561 15.6, 7.8555 4.561 24.828, +-7.8428 4.561 24.828, -20.543 4.561 15.6, 13.889 8.322 10.932, +17.162 8.322 1.2022, 5.3078 8.322 17.167, -5.2992 8.322 17.167, +-13.88 8.322 10.932, -17.163 8.322 1.2022, 11.452 2.7587 35.523, +30.157 2.7587 21.933, -11.668 2.7587 35.523, -30.373 2.7587 21.933, +37.291 2.7587 1.2561, -37.529 2.7587 1.2561, -27.202 6.5197 1.2052, +27.155 6.5197 1.2052, 21.972 6.5197 16.636, 8.383 6.5197 26.509, +-8.4142 6.5197 26.509, -22.003 6.5197 16.636, -8.1677 3.7586 -24.927, +8.0006 3.7586 -24.927, 21.081 3.7586 -15.424, -8.2761 3.761 1.1802, +-8.2761 4.561 1.1802, 8.3587 4.561 1.1809, 8.3587 3.761 1.1809, +8.3636 8.322 1.2071, 8.3636 7.522 1.2071, 3.1591 7.522 1.2022, +3.1591 8.322 1.2022, 27.811 0 30.576, 20.734 0 35.718, -20.172 0 35.349, +-27.249 0 30.207, -26.728 0 -29.346, -19.65 0 -34.488, 19.65 0 -34.488, +26.728 0 -29.346, 20.026 2.4295 36.232, 28.519 2.4295 30.062, +-19.464 2.4295 35.863, -27.957 2.4295 29.693, -26.728 0.8 -29.346, +-19.65 0.8 -34.488, 19.65 0.8 -34.488, 26.728 0.8 -29.346, 63.313 0 79.441, +56.236 0 84.583, -55.674 0 84.214, -62.751 0 79.071, -62.23 0 -78.21, +-55.152 0 -83.352, 55.152 0 -83.352, 62.23 0 -78.21, 55.528 2.4295 85.097, +64.021 2.4295 78.926, -54.966 2.4295 84.728, -63.459 2.4295 78.557, +-62.303 0.8 -78.311, -55.204 0.8 -83.424, 55.152 0.8 -83.352, +62.23 0.8 -78.21, 68.69 4.9189 -93.981, 102.14 3.78 -103.22, +97.126 3.78 -118.64, 84.01 3.78 -128.17, 67.798 3.78 -128.17, +54.682 3.78 -118.64, 97.126 3.78 -87.805, 104.33 2.2447 -103.22, +98.901 2.2447 -119.93, 84.688 2.2447 -130.26, 67.12 2.2447 -130.26, +52.906 2.2447 -119.93, 47.477 2.2447 -103.22, 52.906 2.2447 -86.515, +67.12 2.2447 -76.188, 84.688 2.2447 -76.188, 98.901 2.2447 -86.515, +104.33 1.5353 -103.22, 98.901 1.5353 -119.93, 84.688 1.5353 -130.26, +67.12 1.5353 -130.26, 52.906 1.5353 -119.93, 47.477 1.5353 -103.22, +52.906 1.5353 -86.515, 67.12 1.5353 -76.188, 84.688 1.5353 -76.188, +98.901 1.5353 -86.515, 102.14 0 -103.22, 97.126 0 -118.64, 84.01 0 -128.17, +67.798 0 -128.17, 54.682 0 -118.64, 49.672 0 -103.22, 54.682 0 -87.805, +67.798 0 -78.276, 84.01 0 -78.276, 97.126 0 -87.805, 93.081 0 -109.54, +90.576 0 -117.25, 84.018 0 -122.01, 75.912 0 -122.01, 69.354 0 -117.25, +66.849 0 -109.54, 69.354 0 -101.83, 75.912 0 -97.067, 84.018 0 -97.067, +90.576 0 -101.83, 79.965 -1 -109.54, 91.769 -1 -109.54, 89.515 -1 -116.48, +83.613 -1 -120.77, 76.317 -1 -120.77, 70.415 -1 -116.48, 68.161 -1 -109.54, +70.415 -1 -102.6, 76.317 -1 -98.314, 83.613 -1 -98.314, 89.515 -1 -102.6, +55.152 0.8 -83.353, 62.23 0.8 -78.21, 55.152 0 -83.353, 62.23 0 -78.21, +108.32 3.7357 -146.47, 123.47 3.78 -142.4, 120.1 3.78 -152.78, +111.27 3.78 -159.19, 100.36 3.78 -159.19, 91.53 3.78 -152.78, +120.1 3.78 -132.02, 125.72 2.2447 -142.4, 121.92 2.2447 -154.1, +111.97 2.2447 -161.33, 99.668 2.2447 -161.33, 89.719 2.2447 -154.1, +121.92 2.2447 -130.71, 125.72 1.5353 -142.4, 121.92 1.5353 -154.1, +111.97 1.5353 -161.33, 99.668 1.5353 -161.33, 89.719 1.5353 -154.1, +85.918 1.5353 -142.4, 85.918 2.2447 -142.4, 89.719 1.5353 -130.71, +89.719 2.2447 -130.71, 99.668 2.2447 -123.48, 99.668 1.5353 -123.48, +111.97 1.5353 -123.48, 111.97 2.2447 -123.48, 121.92 1.5353 -130.71, +123.47 0 -142.4, 120.1 0 -152.78, 111.27 0 -159.19, 100.36 0 -159.19, +91.53 0 -152.78, 88.158 0 -142.4, 91.53 0 -132.02, 100.36 0 -125.61, +111.27 0 -125.61, 120.1 0 -132.02, 117.84 0 -146.82, 116.09 0 -152.22, +111.5 0 -155.56, 105.82 0 -155.56, 101.23 0 -152.22, 99.479 0 -146.82, +101.23 0 -141.43, 105.82 0 -138.09, 111.5 0 -138.09, 116.09 0 -141.43, +116.92 -1 -146.82, 108.66 -1 -146.82, 115.34 -1 -151.68, 111.21 -1 -154.68, +106.11 -1 -154.68, 101.97 -1 -151.68, 100.4 -1 -146.82, 101.97 -1 -141.97, +106.11 -1 -138.97, 111.21 -1 -138.97, 115.34 -1 -141.97, 98.607 3.78 -120.68, +85.491 3.78 -130.21, 79.392 8.6681 108.93, 75.121 0 135.9, 106.36 0 113.2, +83.664 0 81.964, 52.424 0 104.66, 77.758 8.0083 119.25, 76.372 6.1293 128, +75.446 3.3171 133.85, 89.712 8.0083 110.57, 98.462 6.1293 111.95, +104.31 3.3171 112.88, 81.027 8.0083 98.612, 82.412 6.1293 89.863, +83.338 3.3171 84.017, 69.072 8.0083 107.3, 60.323 6.1293 105.91, +54.477 3.3171 104.99, 85.766 0 135.48, 95.441 0 131.02, 102.67 0 123.2, +105.94 0 102.56, 101.48 0 92.883, 93.659 0 85.651, 73.018 0 82.382, +56.111 0 94.666, 52.842 0 115.31, 57.302 0 124.98, 65.126 0 132.21, +88.658 7.0774 121.69, 87.659 4.2585 131.23, 98.045 4.2585 123.69, +92.146 7.0774 99.666, 101.69 4.2585 100.67, 94.145 4.2585 90.279, +70.126 7.0774 96.179, 71.125 4.2585 86.633, 60.739 4.2585 94.179, +66.639 7.0774 118.2, 57.093 4.2585 117.2, 64.639 4.2585 127.59, +78.111 0 117.02, 81.304 0 116.9, 84.207 0 115.56, 86.376 0 113.21, +87.483 0 110.21, 87.357 0 107.02, 86.019 0 104.12, 83.672 0 101.95, +80.674 0 100.84, 77.48 0 100.97, 74.577 0 102.31, 72.408 0 104.65, +71.302 0 107.65, 71.427 0 110.84, 72.765 0 113.75, 75.112 0 115.92, +78.111 0.9408 117.02, 81.304 0.9408 116.9, 84.207 0.9408 115.56, +86.376 0.9408 113.21, 87.483 0.9408 110.21, 87.357 0.9408 107.02, +86.019 0.9408 104.12, 83.672 0.9408 101.95, 80.674 0.9408 100.84, +77.48 0.9408 100.97, 74.577 0.9408 102.31, 72.408 0.9408 104.65, +71.302 0.9408 107.65, 71.427 0.9408 110.84, 72.765 0.9408 113.75, +75.112 0.9408 115.92, 63.313 0 79.441, 56.236 0 84.583, 64.021 2.4295 78.926, +55.528 2.4295 85.097, -87.531 4.9338 91.147, -81.023 9.8222 95.875, +-109.28 6.1969 118.4, -72.978 4.9338 84.802, -87.531 3.5376e-005 91.147, +-72.978 3.4025e-005 84.802, -102.19 -4.8883 128.28, -109.28 -1.263 118.4, +-103.8 -1.2974 130.68, -103.8 6.2026 130.68, -102.19 9.8222 128.28, +-90.653 9.8222 136.66, -92.469 6.2026 138.91, -78.678 6.1969 140.64, +-66.377 9.8222 106.52, -59.869 4.9338 111.24, -58.332 4.9338 95.443, +-58.332 3.2885e-005 95.443, -90.653 -4.8883 136.66, -59.869 3.2307e-005 111.24, +-78.678 -1.263 140.64, -92.469 -1.2974 138.91, -63.459 2.4295 78.557, +-62.751 0 79.071, -54.966 2.4295 84.728, -55.674 0 84.214, -84.191 3.4842e-005 105.2, +-74.62 3.4576e-005 112.15, -74.62 0.79203 112.15, -59.869 0.79203 111.24, +-87.531 0.79204 91.147, -84.191 0.79203 105.2, -76.32 15.599 -105.23, +-72.759 14.836 -100.15, -71.362 14.836 -101.5, -70.45 14.836 -103.21, +-70.113 14.836 -105.13, -70.383 14.836 -107.05, -71.235 14.836 -108.79, +-72.584 14.836 -110.19, -74.299 14.836 -111.1, -76.211 14.836 -111.44, +-78.134 14.836 -111.17, -79.88 14.836 -110.32, -81.277 14.836 -108.97, +-82.189 14.836 -107.26, -82.526 14.836 -105.34, -82.256 14.836 -103.42, +-81.404 14.836 -101.67, -80.055 14.836 -100.28, -78.341 14.836 -99.365, +-76.428 14.836 -99.028, -74.505 14.836 -99.298, -69.547 12.62 -95.562, +-66.89 12.62 -98.129, -65.156 12.62 -101.39, -58.961 19.119 -108.92, +-59.488 19.119 -112.57, -61.112 19.119 -115.88, -63.674 19.119 -118.54, +-66.922 19.119 -120.29, -76.114 12.62 -117.04, -79.772 12.62 -116.53, +-83.092 12.62 -114.91, -85.749 12.62 -112.34, -87.483 12.62 -109.08, +-93.678 19.119 -101.55, -93.151 19.119 -97.903, -91.527 19.119 -94.586, +-88.965 19.119 -91.925, -85.717 19.119 -90.182, -76.526 12.62 -93.429, +-72.868 12.62 -93.943, -66.998 10.026 -91.922, -63.341 10.026 -95.454, +-60.954 10.026 -99.943, -54.547 12.034 -108.82, -55.273 12.034 -113.84, +-57.508 12.034 -118.41, -61.034 12.034 -122.07, -65.504 12.034 -124.47, +-76.036 10.026 -121.48, -81.071 10.026 -120.78, -85.641 10.026 -118.55, +-89.298 10.026 -115.01, -91.685 10.026 -110.53, -98.093 12.034 -101.65, +-97.366 12.034 -96.628, -95.131 12.034 -92.062, -91.605 12.034 -88.4, +-87.135 12.034 -86, -76.603 10.026 -88.986, -71.568 10.026 -89.693, +-65.362 5.4784 -89.585, -61.062 5.4784 -93.737, -58.256 5.4784 -99.014, +-51.713 5.488 -108.76, -52.566 5.488 -114.66, -55.194 5.488 -120.03, +-59.339 5.488 -124.33, -64.594 5.488 -127.15, -75.986 5.4784 -124.34, +-81.905 5.4784 -123.5, -87.277 5.4784 -120.88, -91.577 5.4784 -116.73, +-94.383 5.4784 -111.45, -100.93 5.488 -101.71, -100.07 5.488 -95.809, +-97.445 5.488 -90.442, -93.301 5.488 -86.137, -88.045 5.488 -83.316, +-76.653 5.4784 -86.133, -70.734 5.4784 -86.965, -60.277 0 -93.145, +-57.327 0 -98.694, -50.736 1.1751 -108.73, -51.634 1.1751 -114.94, +-54.397 1.1751 -120.58, -58.755 1.1751 -125.11, -64.28 1.1751 -128.08, +-75.969 0 -125.32, -82.193 0 -124.44, -87.841 0 -121.69, -92.362 0 -117.32, +-95.313 0 -111.77, -101.9 1.1751 -101.73, -101.01 1.1751 -95.527, +-98.242 1.1751 -89.884, -93.885 1.1751 -85.357, -88.359 1.1751 -82.391, +-76.67 0 -85.15, -70.447 0 -86.025, -57.327 0 -98.694, -56.235 0 -104.88, +-57.11 0 -111.11, -59.865 0 -116.76, -64.231 0 -121.28, -69.78 0 -124.23, +-75.969 0 -125.32, -95.313 0 -111.77, -96.404 0 -105.58, -95.529 0 -99.361, +-92.774 0 -93.713, -88.408 0 -89.192, -82.859 0 -86.241, -76.67 0 -85.15, +-64.849 25.052 -107.14, -64.523 25.052 -109.04, -64.8 25.052 -110.96, +-65.654 25.052 -112.7, -67.001 25.052 -114.1, -68.708 25.052 -115.02, +-70.61 25.052 -115.36, -87.79 25.052 -103.33, -88.116 25.052 -101.43, +-87.839 25.052 -99.51, -86.985 25.052 -97.766, -85.638 25.052 -96.367, +-83.931 25.052 -95.451, -82.029 25.052 -95.106, -59.581 19.119 -105.29, +-70.539 19.119 -120.94, -93.058 19.119 -105.17, -82.1 19.119 -89.525, +-55.4 12.034 -103.83, -70.482 12.034 -125.37, -97.239 12.034 -106.64, +-82.157 12.034 -85.097, -52.716 5.488 -102.89, -70.446 5.488 -128.21, +-99.923 5.488 -107.57, -82.193 5.488 -82.254, -51.791 1.1751 -102.57, +-70.434 1.1751 -129.19, -100.85 1.1751 -107.9, -82.205 1.1751 -81.274, +-51.791 1.1751 -102.57, -50.736 1.1751 -108.73, -51.634 1.1751 -114.94, +-54.397 1.1751 -120.58, -58.755 1.1751 -125.11, -64.28 1.1751 -128.08, +-70.434 1.1751 -129.19, -101.9 1.1751 -101.73, -101.01 1.1751 -95.527, +-98.242 1.1751 -89.884, -93.885 1.1751 -85.357, -88.359 1.1751 -82.391, +-82.205 1.1751 -81.274, -65.08 3.6474 -89.182, -70.59 3.6474 -86.495, +-60.67 3.6474 -93.441, -58.525 2.5265 -80.509, -62.355 2.5265 -78.641, +-55.459 2.5265 -83.47, -70.023 5.4785 -96.242, -66.996 5.4785 -99.017, +-64.882 5.4785 -102.4, -61.061 5.4881 -105.08, -60.09 5.4881 -108.72, +-60.328 5.4881 -112.29, -61.751 5.4881 -115.44, -64.22 5.4881 -117.85, +-67.494 5.4881 -119.29, -71.251 5.4881 -119.63, -75.072 5.4785 -116.95, +-78.975 5.4785 -116.12, -82.618 5.4785 -114.23, -85.645 5.4785 -111.45, +-87.759 5.4785 -108.07, -91.58 5.4881 -105.39, -92.551 5.4881 -101.75, +-92.313 5.4881 -98.179, -90.89 5.4881 -95.034, -88.421 5.4881 -92.621, +-85.147 5.4881 -91.176, -81.39 5.4881 -90.842, -77.569 5.4785 -93.517, +-73.666 5.4785 -94.347, -94.53 7.7193 -128.39, -98.836 7.7199 -124.25, +-94.626 2.8585 -128.71, -99.154 2.8591 -124.36, -87.097 7.8897 -133.1, +-91.614 7.8698 -130.76, -86.565 3.0245 -133.15, -91.875 3.0011 -130.41, +-94.121 7.7938 -131.92, -98.948 7.9325 -133.13, -94.081 2.933 -131.36, +-99.302 3.0772 -133.41, -93.496 7.7227 -136.54, -93.347 2.8494 -136.79, +-70.023 6.43 -96.242, -66.996 6.43 -99.017, -64.882 6.43 -102.4, +-61.061 6.4396 -105.08, -60.09 6.4396 -108.72, -60.328 6.4396 -112.29, +-61.751 6.4396 -115.44, -64.22 6.4396 -117.85, -67.494 6.4396 -119.29, +-71.251 6.4396 -119.63, -75.072 6.43 -116.95, -78.975 6.43 -116.12, +-82.618 6.43 -114.23, -85.645 6.43 -111.45, -87.759 6.43 -108.07, +-91.58 6.4396 -105.39, -92.551 6.4396 -101.75, -92.313 6.4396 -98.179, +-90.89 6.4396 -95.034, -88.421 6.4396 -92.621, -85.147 6.4396 -91.176, +-81.39 6.4396 -90.842, -77.569 6.43 -93.517, -73.666 6.43 -94.347] +} +texCoord DEF bldg-TEXCOORD TextureCoordinate { point [ +1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 0 0, +1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 0 0, 1 0, 0 0, 1 0, 0 0, 1 1, 1 0, +1 1, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 1 1, 0 0, 0 1, 1 1, 1 1, 1 1, +1 1, 1 1, 1 0, 0 0, 0 0, 1 0, 0 0, 1 0, 0 0, 1 0, 0 0, 1 0, 1 0, +0 0, 0 0, 1 0, 1 0, 1 0, 0 0, 1 0, 1 0, 1 0, 1 0, 1 0, 0 0, 1 0, +1 0, 1 1, 0 0, 1 0, 0 0, 1 0, 0 0, 1 0, 0 1, 1 0, 0 0, 1 1, 0 1, +1 1, 0 1, 1 1, 0 1, 1 1, 0 0, 1 0, 0 0, 0 0, 0 0, 0 0, 0 1, 1 0, +0 1, 0 1, 0 1, 0 0, 0 1, 1 1, 1 0, 1 1, 1 1, 0 1, 0 1, 1 1, 1 1, +1 1, 1 1, 1 1, 1 1, 0 1, 1 1, 0 1, 1 1, 0 1, 1 1, 0 1, 1 1, 0 0, +0 0, 0 1, 1 1, 1 0, 1 1, 1 0, 0 0, 1 0, 0 0, 0 1, 1 1, 1 0, 0 0, +1 0, 0 0, 0 0, 0 0, 0 0, 1 0, 0 0, 1 1, 1 0, 0 0, 1 0, 0 0, 0 0, +0 0, 0 0, 0 0, 0 0, 1 1, 0 0, 1 0, 0 0, 1 0, 1 0, 1 0, 1 0, 0 1, +1 0, 0 1, 0 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 0 0, +0 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 0 1, 1 0, 1 1, +1 1, 1 1, 1 0, 0 0, 0 0, 0 0, 0 1, 1 1, 1 0, 0 0, 0 0, 0 0, 0 0, +1 1, 1 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 1 1, 1 1, 0 1, 0 1, 0 0, +1 1, 1 1, 0 0, 1 0, 1 0, 1 0, 1 0, 1 0, 0 1, 1 1, 1 0, 0 1, 0 0, +1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 0 1, 0 0, 1 1, 1 1, +1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 0 1, 1 1, 1 1, 0 0, 1 0, 1 0, +1 0, 1 1, 1 1, 1 1, 1 1, 1 1, 0 0, 1 1, 1 1, 0 0, 1 1, 1 1, 0 0, +1 0, 1 0, 0 1, 1 0, 1 0, 0 1, 1 0, 0 0, 1 0, 1 0, 0 1, 1 1, 0 0, +1 1, 1 1, 0 0, 1 1, 1 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 0, 1 0, 1 0, +1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, +0 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, +1 1, 1 1, 1 1, 1 1, 0 1, 0 1, 1 1, 0 0, 1 0, 0 1, 0 0, 1 0, 0 0, +1 1, 1 1, 1 0, 0 0, 1 1, 1 0, 0 1, 1 0, 0 0, 0 0, 0 0, 1 0, 1 0, +0 0, 1 1, 1 1, 0 1, 0 1, 0 1, 1 1, 1 0, 0 0, 0 1, 0 1, 1 1, 1 1, +1 1, 1 0, 0 0, 0 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 0 0, 0 0, 0 0, +0 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 1, 1 0, 0 0, 0 0, 0 0, 0 0, +0 0, 0 0, 0 0, 1 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, +1 0, 1 1, 1 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 1 0, 0 0, 1 0, +0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 1 0, 1 1, 0 0, 0 1, 0 0, 0 0, +0 0, 0 0, 0 0, 0 0, 1 0, 1 0, 0 0, 0 1, 0 0, 0 0, 0 0, 0 0, 0 0, +0 0, 0 0, 1 0, 1 1, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 1 0, 1 0, 1 0, +0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 1 0, 0 1, 0 0, 0 0, 0 0, 0 0, +0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 1, 1 1, 1 1, +1 1, 1 1, 1 1, 1 1, 0 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 0 1, 1 1, +0 1, 1 1, 0 1, 1 1, 0 1, 1 1, 0 1, 1 1, 0 1, 1 1, 0 1, 1 1, 0 1, +1 1, 0 1, 0 1, 0 1, 0 1, 0 1, 0 1, 0 1, 0 1, 0 1, 0 1, 0 1, 0 1, +0 1, 0 0, 0 0, 1 0, 0 1, 0 1, 0 0, 0 0, 1 0, 0 0, 1 0, 0 0, 0 0, +0 0, 0 0, 0 0, 0 0, 1 0, 0 0, 0 0, 0 0, 0 0, 1 0, 0 0, 0 0, 0 0, +0 0, 0 0, 0 0, 1 0, 0 0, 1 0, 1 1, 1 0, 0 0, 1 0, 0 0, 1 0, 0 0, +1 0, 1 0, 0 1, 0 0, 1 1, 0 1, 0 1, 1 1, 0 1, 1 1, 0 1, 0 1, 0 1, +0 1, 0 1, 0 1, 1 1, 0 1, 0 1, 0 1, 0 1, 1 1, 0 1, 0 1, 0 1, 0 1, +0 1, 0 1, 1 1, 0 1, 1 1, 0 1, 0 0, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, +0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 1 1, 0 0, 1 0, +1 1, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, +1 1, 1 1, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, +0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 0, 1 1, 0 0, 1 0, 1 1, 0 1, +0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, +0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 1, +1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, +0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 1, 0 0, 1 0, 1 1, 1 1, 0 1, +0 0, 0 0, 1 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 1, 0 0, 1 0, +1 1, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, +0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, +0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, +1 0, 1 1, 1 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 0, 0 0, 1 0, 1 1, 1 1, +0 0, 0 0, 1 0, 1 1, 1 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, +1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 1, 1 1, +0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, +1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 1, 0 0, 1 0, 1 1, +1 1, 0 1, 0 0, 0 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 1, 1 1, 0 1, 0 0, +0 0, 1 1, 0 1, 0 0, 1 1, 1 1, 0 0, 1 0, 1 1, 0 1, 0 0, 0 0, 1 1, +0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 0, +1 1, 0 0, 1 1, 0 0, 1 1, 0 0, 1 1, 0 0, 0 0, 1 1, 1 1, 0 1, 0 0, +0 0, 1 1, 0 1, 1 1, 0 0, 0 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, +1 1, 0 0, 0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 1 1, +0 1, 0 0, 1 1, 1 1, 0 1, 1 1, 0 1, 0 0, 1 1, 0 0, 1 0, 0 1, 0 0, +0 0, 1 1, 0 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, +0 0, 1 0, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, +1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 1 1, 0 1, 0 0, 0 0, 0 0, +1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, +1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, +0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 1 1, 0 1, +0 0, 0 0, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, +0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, +0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 1 1, 0 0, 0 0, +1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 1 1, +0 1, 0 0, 1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 1 1, 0 1, +1 1, 1 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, +1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, +0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, +0 0, 0 0, 1 1, 1 0, 1 1, 0 0, 1 1, 1 1, 0 0, 0 0, 1 1, 0 0, 1 0, +1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 1, 0 0, 0 0, +1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, +1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 1 1, 0 1, 0 0, 0 0, 0 0, 1 0, 1 1, +0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, +0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, +1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 0, +1 1, 0 1, 0 0, 0 0, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 1, 1 1, +0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, +0 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 1, 1 1, +0 1, 1 1, 0 0, 0 0, 1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 1 1, 0 1, 0 0, +1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 1 1, +0 1, 0 0, 1 1, 0 1, 1 1, 1 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, +1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, +0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, +0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, +0 0, 1 0, 1 1, 1 1, 0 0, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 0, +1 1, 0 1, 0 0, 0 0, 1 1, 0 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, +1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, +1 0, 1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, +0 0, 1 1, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 1, 0 0, 0 0, 1 0, 1 1, +0 0, 1 0, 1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 0 1, 0 0, +0 0, 1 0, 1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 1 0, 1 1, 0 0, +1 1, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 1, 0 0, 0 0, 1 0, 1 1, 0 0, +1 0, 1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 0 1, 0 0, 0 0, +1 0, 1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 1 0, 1 1, 1 1, 0 1, +0 0, 1 1, 0 1, 0 0, 0 1, 0 0, 0 0, 1 0, 1 1, 0 1, 0 0, 0 1, 0 0, +0 0, 1 0, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 0 1, 0 0, 0 1, 0 0, 0 0, +1 1, 1 0, 1 1, 0 0, 1 1, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 1, 0 1, +0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, +0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, +0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, +0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, +1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 0, 0 0, 1 0, 1 1, +1 1, 0 1, 0 0, 0 0, 1 1, 0 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, +1 1, 0 1, 0 0, 1 1, 0 0, 1 0, 1 1, 0 1, 0 0, 1 1, 0 0, 1 0, 1 1, +0 1, 0 0, 0 0, 1 1, 0 1, 1 1, 0 1, 0 0, 1 1, 0 0, 1 0, 1 1, 0 1, +0 0, 1 1, 0 0, 1 0, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 1 1, 0 1, 0 0, +0 0, 1 1, 0 1, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 1 1, 0 1, 0 0, +1 0, 1 1, 0 0, 1 1, 0 1, 1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 0 1, 0 0, +1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 1 1, 0 1, 0 0, 0 0, +1 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 0, 1 1, 0 1, 1 1, 0 0, 0 0, 1 0, +1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, +0 1, 0 0, 0 0, 1 1, 0 0, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, +1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, +0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, +1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, +1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 1, 0 0, 0 0, +1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 1 1, 0 1, 0 0, +0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, +1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, +0 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, +0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, +1 1, 0 1, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, +0 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, +0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, +1 0, 1 1, 0 0, 1 1, 0 1, 1 1, 0 1, 0 0, 0 0, 0 0, 1 0, 1 1, 0 0, +1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 1 1, 0 1, 0 0, 1 1, 0 0, 1 0, +0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, +1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, +1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, +1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 1 1, 0 1, 0 0, 1 1, 0 0, 1 0, +0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, +1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, +1 0, 1 1, 0 0, 1 1, 0 1, 1 1, 0 1, 0 0, 0 0, 0 0, 1 0, 1 1, 0 0, +1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 1 1, 0 1, 0 0, 1 1, 0 0, 1 0, +0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, +1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, +1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, +1 1, 1 1, 0 1, 1 1, 0 1, 0 0, 1 1, 0 0, 1 0, 0 0, 1 0, 1 1, 1 1, +0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, +1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, +0 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 0 0, 0 0, 1 0, 1 1, 0 0, 1 1, +0 1, 1 1, 0 1, 0 0, 1 1, 0 0, 1 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, +1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, +0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, +1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 1 1, 0 1, 0 0, +1 1, 0 0, 1 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, +0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, +1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 1 1, 0 0, 1 0, 0 0, 1 0, +1 1, 1 1, 0 0, 1 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, +0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, +1 1, 1 1, 0 1, 1 1, 0 0, 1 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, +1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, +0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 1, +0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, +0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 1, +0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, +0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 0, 1 1, 0 1, 0 0, +0 0, 1 0, 1 1, 1 1, 0 0, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 0, +1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 0, 1 1, 0 1, 0 0, 0 0, 1 0, +1 1, 1 1, 0 0, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 0, 1 1, 0 1, +0 0, 0 0, 1 0, 1 1, 1 1, 0 0, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, +0 0, 1 0, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 0, 0 0, 1 0, 1 1, +1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, +0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 1, 1 0, 1 1, 0 0, +1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, +1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 1, 1 1, +0 0, 1 1, 0 1, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, +1 1, 0 0, 1 0, 1 1, 1 1, 1 1, 0 0, 0 0, 1 1, 1 1, 0 1, 0 0, 0 0, +1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 1, 1 1, +0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, +1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 1, 1 1, 0 1, +0 0, 0 0, 1 0, 1 1, 1 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 0 0, 1 1, +1 1, 0 0, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, +1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, +1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, +0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, +0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, +0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, +1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, +1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, +1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, +0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, +0 0, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, +0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 1, +0 0, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, +0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, +1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, +0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, +1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, +0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 0, +1 1, 0 0, 1 1, 0 0, 1 1, 0 0, 1 1, 0 0, 2.9961 0.00049949, 2.9985 0.9995, +0.0014986 0.00050008, 0.003904 0.9995, 0.00099897 0.00050062, +1.7705 0.00049943, 1.9974 0.5, 1.999 0.9995, 0.0042036 0.9995, +1.999 0.9995, 0.00099915 0.5, 0.22732 0.00049993, 1.9958 0.00049949, +0.0026025 0.9995, 2.9985 0.9995, 0.0014984 0.9995, 0.16591 0.00050083, +2.8335 0.00049964, 1 0, 0 0, 0 6, 1 6, 1 0, 1 6, 0 0, 0 6, 1 0, +0 0, 0 6, 1 6, 1 0, 1 6, 0 0, 0 6, 0 0, 1 0, 1 6, 0 6, 0 0, 1 0, +1 6, 0 6, 0 0, 1 0, 1 6, 0 6, 0 0, 1 0, 1 6, 0 6, 0 0, 1 0, 1 6, +1 6, 0 6, 0 0, 0 0, 1 6, 0 0, 1 6, 0 0, 1 0, 1 6, 1 6, 0 6, 0 0, +0 0, 1 6, 0 0, 1 6, 0 0, 1 6, 0 0, 1 6, 0 0, 1 6, 0 0, 1 6, 1 1, +0 1, 0 0] +} +coordIndex [ +35, 34, 29, -1, 29, 28, 35, -1, 35, 0, 34, -1, 6, 35, 28, -1, +28, 30, 6, -1, 7, 6, 30, -1, 30, 31, 7, -1, 8, 7, 31, -1, 31, 32, 8, -1, +9, 8, 32, -1, 32, 33, 9, -1, 34, 9, 33, -1, 33, 29, 34, -1, 0, 1, 34, -1, +1, 42, 36, -1, 36, 34, 1, -1, 13, 12, 38, -1, 38, 39, 13, -1, +14, 13, 39, -1, 39, 40, 14, -1, 15, 14, 40, -1, 40, 41, 15, -1, +42, 15, 41, -1, 41, 36, 42, -1, 1, 10, 42, -1, 18, 17, 45, -1, +45, 46, 18, -1, 19, 18, 46, -1, 46, 47, 19, -1, 20, 19, 47, -1, +47, 48, 20, -1, 21, 20, 48, -1, 48, 49, 21, -1, 16, 21, 49, -1, +49, 44, 16, -1, 38, 12, 43, -1, 38, 43, 37, -1, 35, 37, 43, -1, +35, 43, 11, -1, 35, 11, 0, -1, 74, 72, 3, -1, 3, 4, 74, -1, 73, 76, 22, -1, +22, 2, 73, -1, 77, 75, 5, -1, 5, 23, 77, -1, 78, 77, 23, -1, +23, 24, 78, -1, 76, 81, 27, -1, 27, 22, 76, -1, 82, 83, 52, -1, +52, 51, 82, -1, 84, 85, 53, -1, 53, 50, 84, -1, 86, 82, 51, -1, +51, 54, 86, -1, 85, 87, 55, -1, 55, 53, 85, -1, 88, 86, 54, -1, +54, 56, 88, -1, 87, 89, 57, -1, 57, 55, 87, -1, 90, 88, 56, -1, +56, 58, 90, -1, 89, 91, 59, -1, 59, 57, 89, -1, 92, 90, 58, -1, +58, 60, 92, -1, 91, 93, 61, -1, 61, 59, 91, -1, 94, 92, 60, -1, +60, 62, 94, -1, 95, 94, 62, -1, 62, 63, 95, -1, 96, 95, 63, -1, +63, 64, 96, -1, 97, 96, 64, -1, 64, 65, 97, -1, 83, 97, 65, -1, +65, 52, 83, -1, 98, 99, 66, -1, 66, 67, 98, -1, 100, 98, 67, -1, +67, 68, 100, -1, 101, 100, 68, -1, 68, 69, 101, -1, 102, 101, 69, -1, +69, 70, 102, -1, 103, 102, 70, -1, 70, 71, 103, -1, 106, 104, 72, -1, +72, 74, 106, -1, 105, 108, 76, -1, 76, 73, 105, -1, 109, 107, 75, -1, +75, 77, 109, -1, 112, 111, 92, -1, 92, 94, 112, -1, 113, 112, 94, -1, +94, 95, 113, -1, 114, 113, 95, -1, 95, 96, 114, -1, 115, 114, 96, -1, +96, 97, 115, -1, 110, 115, 97, -1, 97, 83, 110, -1, 63, 62, 105, -1, +105, 104, 63, -1, 64, 63, 104, -1, 104, 106, 64, -1, 65, 64, 106, -1, +106, 107, 65, -1, 62, 60, 108, -1, 108, 105, 62, -1, 52, 65, 107, -1, +107, 109, 52, -1, 67, 66, 111, -1, 111, 112, 67, -1, 68, 67, 112, -1, +112, 113, 68, -1, 69, 68, 113, -1, 113, 114, 69, -1, 70, 69, 114, -1, +114, 115, 70, -1, 71, 70, 115, -1, 115, 110, 71, -1, 119, 120, 84, -1, +84, 50, 119, -1, 121, 122, 61, -1, 61, 93, 121, -1, 123, 124, 66, -1, +66, 99, 123, -1, 125, 126, 103, -1, 103, 71, 125, -1, 73, 2, 127, -1, +127, 136, 73, -1, 128, 72, 135, -1, 72, 128, 3, -1, 74, 4, 129, -1, +129, 137, 74, -1, 130, 75, 138, -1, 75, 130, 5, -1, 78, 24, 131, -1, +131, 139, 78, -1, 25, 79, 140, -1, 140, 132, 25, -1, 80, 26, 133, -1, +133, 141, 80, -1, 27, 81, 142, -1, 142, 134, 27, -1, 135, 136, 152, -1, +152, 151, 135, -1, 136, 127, 143, -1, 143, 152, 136, -1, 128, 135, 151, -1, +151, 144, 128, -1, 138, 137, 153, -1, 153, 154, 138, -1, 137, 129, 145, -1, +145, 153, 137, -1, 130, 138, 154, -1, 154, 146, 130, -1, 139, 131, 147, -1, +147, 155, 139, -1, 132, 140, 156, -1, 156, 148, 132, -1, 141, 133, 149, -1, +149, 157, 141, -1, 134, 142, 158, -1, 158, 150, 134, -1, 135, 136, 105, -1, +135, 105, 104, -1, 135, 104, 72, -1, 136, 73, 105, -1, 75, 138, 107, -1, +137, 74, 106, -1, 137, 106, 107, -1, 137, 107, 138, -1, 160, 166, 167, -1, +160, 167, 161, -1, 162, 168, 169, -1, 162, 169, 163, -1, 163, 169, 170, -1, +163, 170, 164, -1, 165, 175, 166, -1, 165, 166, 160, -1, 170, 180, 181, -1, +170, 181, 171, -1, 171, 181, 182, -1, 171, 182, 172, -1, 173, 183, 184, -1, +173, 184, 174, -1, 174, 184, 185, -1, 174, 185, 175, -1, 176, 186, 187, -1, +176, 187, 177, -1, 178, 188, 189, -1, 178, 189, 179, -1, 179, 189, 190, -1, +179, 190, 180, -1, 180, 190, 191, -1, 180, 191, 181, -1, 181, 191, 192, -1, +181, 192, 182, -1, 183, 193, 194, -1, 183, 194, 184, -1, 184, 194, 195, -1, +184, 195, 185, -1, 185, 195, 186, -1, 185, 186, 176, -1, 207, 206, 208, -1, +208, 206, 209, -1, 209, 206, 210, -1, 210, 206, 211, -1, 211, 206, 212, -1, +212, 206, 213, -1, 213, 206, 214, -1, 214, 206, 215, -1, 215, 206, 216, -1, +216, 206, 207, -1, 197, 196, 207, -1, 207, 208, 197, -1, 198, 197, 208, -1, +208, 209, 198, -1, 199, 198, 209, -1, 209, 210, 199, -1, 200, 199, 210, -1, +210, 211, 200, -1, 201, 200, 211, -1, 211, 212, 201, -1, 202, 201, 212, -1, +212, 213, 202, -1, 203, 202, 213, -1, 213, 214, 203, -1, 204, 203, 214, -1, +214, 215, 204, -1, 205, 204, 215, -1, 215, 216, 205, -1, 196, 205, 216, -1, +216, 207, 196, -1, 172, 182, 217, -1, 183, 173, 218, -1, 219, 217, 182, -1, +182, 192, 219, -1, 183, 220, 193, -1, 220, 183, 218, -1, 222, 228, 229, -1, +222, 229, 223, -1, 223, 229, 230, -1, 223, 230, 224, -1, 224, 230, 231, -1, +224, 231, 225, -1, 225, 231, 232, -1, 225, 232, 226, -1, 227, 233, 228, -1, +227, 228, 222, -1, 232, 238, 239, -1, 232, 239, 240, -1, 240, 239, 241, -1, +240, 241, 242, -1, 243, 244, 245, -1, 243, 245, 246, -1, 246, 245, 247, -1, +246, 247, 233, -1, 234, 248, 249, -1, 234, 249, 235, -1, 235, 249, 250, -1, +235, 250, 236, -1, 236, 250, 251, -1, 236, 251, 237, -1, 237, 251, 252, -1, +237, 252, 238, -1, 238, 252, 253, -1, 238, 253, 239, -1, 239, 253, 254, -1, +239, 254, 241, -1, 244, 255, 256, -1, 244, 256, 245, -1, 245, 256, 257, -1, +245, 257, 247, -1, 247, 257, 248, -1, 247, 248, 234, -1, 268, 269, 270, -1, +270, 269, 271, -1, 271, 269, 272, -1, 272, 269, 273, -1, 273, 269, 274, -1, +274, 269, 275, -1, 275, 269, 276, -1, 276, 269, 277, -1, 277, 269, 278, -1, +278, 269, 268, -1, 259, 258, 268, -1, 268, 270, 259, -1, 260, 259, 270, -1, +270, 271, 260, -1, 261, 260, 271, -1, 271, 272, 261, -1, 262, 261, 272, -1, +272, 273, 262, -1, 263, 262, 273, -1, 273, 274, 263, -1, 264, 263, 274, -1, +274, 275, 264, -1, 265, 264, 275, -1, 275, 276, 265, -1, 266, 265, 276, -1, +276, 277, 266, -1, 267, 266, 277, -1, 277, 278, 267, -1, 258, 267, 278, -1, +278, 268, 258, -1, 177, 187, 255, -1, 255, 244, 177, -1, 188, 178, 241, -1, +241, 254, 188, -1, 281, 286, 289, -1, 286, 287, 309, -1, 286, 309, 289, -1, +289, 309, 290, -1, 287, 288, 310, -1, 287, 310, 309, -1, 309, 310, 311, -1, +309, 311, 290, -1, 290, 311, 291, -1, 288, 282, 298, -1, 288, 298, 310, -1, +310, 298, 299, -1, 310, 299, 311, -1, 311, 299, 300, -1, 311, 300, 291, -1, +291, 300, 283, -1, 281, 289, 292, -1, 289, 290, 312, -1, 289, 312, 292, -1, +292, 312, 293, -1, 290, 291, 313, -1, 290, 313, 312, -1, 312, 313, 314, -1, +312, 314, 293, -1, 293, 314, 294, -1, 291, 283, 301, -1, 291, 301, 313, -1, +313, 301, 302, -1, 313, 302, 314, -1, 314, 302, 303, -1, 314, 303, 294, -1, +294, 303, 284, -1, 281, 292, 295, -1, 292, 293, 315, -1, 292, 315, 295, -1, +295, 315, 296, -1, 293, 294, 316, -1, 293, 316, 315, -1, 315, 316, 317, -1, +315, 317, 296, -1, 296, 317, 297, -1, 294, 284, 304, -1, 294, 304, 316, -1, +317, 305, 297, -1, 297, 305, 285, -1, 281, 295, 286, -1, 295, 296, 318, -1, +295, 318, 286, -1, 286, 318, 287, -1, 296, 297, 319, -1, 296, 319, 318, -1, +318, 319, 320, -1, 318, 320, 287, -1, 287, 320, 288, -1, 297, 285, 306, -1, +297, 306, 319, -1, 319, 306, 307, -1, 319, 307, 320, -1, 320, 307, 308, -1, +320, 308, 288, -1, 288, 308, 282, -1, 337, 338, 322, -1, 322, 321, 337, -1, +338, 339, 323, -1, 323, 322, 338, -1, 339, 340, 324, -1, 324, 323, 339, -1, +340, 341, 325, -1, 325, 324, 340, -1, 341, 342, 326, -1, 326, 325, 341, -1, +342, 343, 327, -1, 327, 326, 342, -1, 343, 344, 328, -1, 328, 327, 343, -1, +344, 345, 329, -1, 329, 328, 344, -1, 345, 346, 330, -1, 330, 329, 345, -1, +346, 347, 331, -1, 331, 330, 346, -1, 347, 348, 332, -1, 332, 331, 347, -1, +348, 349, 333, -1, 333, 332, 348, -1, 349, 350, 334, -1, 334, 333, 349, -1, +350, 351, 335, -1, 335, 334, 350, -1, 351, 352, 336, -1, 336, 335, 351, -1, +352, 337, 321, -1, 321, 336, 352, -1, 317, 316, 355, -1, 355, 356, 317, -1, +316, 304, 353, -1, 353, 355, 316, -1, 305, 317, 356, -1, 356, 354, 305, -1, +357, 359, 367, -1, 357, 367, 358, -1, 363, 364, 361, -1, 370, 372, 371, -1, +370, 371, 368, -1, 373, 360, 358, -1, 373, 358, 371, -1, 362, 374, 375, -1, +362, 375, 363, -1, 375, 376, 377, -1, 358, 360, 357, -1, 362, 363, 361, -1, +372, 373, 371, -1, 374, 376, 375, -1, 367, 368, 371, -1, 367, 371, 358, -1, +362, 360, 379, -1, 379, 380, 362, -1, 360, 373, 381, -1, 381, 379, 360, -1, +373, 374, 382, -1, 382, 381, 373, -1, 385, 386, 376, -1, 376, 384, 385, -1, +387, 388, 383, -1, 383, 361, 387, -1, 388, 385, 384, -1, 384, 383, 388, -1, +389, 390, 391, -1, 389, 391, 392, -1, 389, 392, 393, -1, 389, 393, 394, -1, +389, 394, 395, -1, 389, 395, 396, -1, 389, 396, 397, -1, 389, 397, 398, -1, +389, 398, 399, -1, 389, 399, 400, -1, 389, 400, 401, -1, 389, 401, 402, -1, +389, 402, 403, -1, 389, 403, 404, -1, 389, 404, 405, -1, 389, 405, 406, -1, +389, 406, 407, -1, 389, 407, 408, -1, 389, 408, 409, -1, 389, 409, 390, -1, +390, 410, 411, -1, 390, 411, 391, -1, 391, 411, 412, -1, 391, 412, 392, -1, +503, 517, 413, -1, 503, 413, 504, -1, 504, 413, 414, -1, 504, 414, 505, -1, +505, 414, 415, -1, 505, 415, 506, -1, 506, 415, 416, -1, 506, 416, 507, -1, +507, 416, 417, -1, 507, 417, 508, -1, 508, 417, 518, -1, 508, 518, 509, -1, +398, 418, 419, -1, 398, 419, 399, -1, 399, 419, 420, -1, 399, 420, 400, -1, +400, 420, 421, -1, 400, 421, 401, -1, 401, 421, 422, -1, 401, 422, 402, -1, +510, 519, 423, -1, 510, 423, 511, -1, 511, 423, 424, -1, 511, 424, 512, -1, +512, 424, 425, -1, 512, 425, 513, -1, 513, 425, 426, -1, 513, 426, 514, -1, +514, 426, 427, -1, 514, 427, 515, -1, 515, 427, 520, -1, 515, 520, 516, -1, +408, 428, 429, -1, 408, 429, 409, -1, 409, 429, 410, -1, 409, 410, 390, -1, +410, 430, 431, -1, 410, 431, 411, -1, 411, 431, 432, -1, 411, 432, 412, -1, +517, 521, 433, -1, 517, 433, 413, -1, 413, 433, 434, -1, 413, 434, 414, -1, +414, 434, 435, -1, 414, 435, 415, -1, 415, 435, 436, -1, 415, 436, 416, -1, +416, 436, 437, -1, 416, 437, 417, -1, 417, 437, 522, -1, 417, 522, 518, -1, +418, 438, 439, -1, 418, 439, 419, -1, 419, 439, 440, -1, 419, 440, 420, -1, +420, 440, 441, -1, 420, 441, 421, -1, 421, 441, 442, -1, 421, 442, 422, -1, +519, 523, 443, -1, 519, 443, 423, -1, 423, 443, 444, -1, 423, 444, 424, -1, +424, 444, 445, -1, 424, 445, 425, -1, 425, 445, 446, -1, 425, 446, 426, -1, +426, 446, 447, -1, 426, 447, 427, -1, 427, 447, 524, -1, 427, 524, 520, -1, +428, 448, 449, -1, 428, 449, 429, -1, 429, 449, 430, -1, 429, 430, 410, -1, +430, 450, 451, -1, 430, 451, 431, -1, 431, 451, 452, -1, 431, 452, 432, -1, +521, 525, 453, -1, 521, 453, 433, -1, 433, 453, 454, -1, 433, 454, 434, -1, +434, 454, 455, -1, 434, 455, 435, -1, 435, 455, 456, -1, 435, 456, 436, -1, +436, 456, 457, -1, 436, 457, 437, -1, 437, 457, 526, -1, 437, 526, 522, -1, +438, 458, 459, -1, 438, 459, 439, -1, 440, 460, 461, -1, 440, 461, 441, -1, +441, 461, 462, -1, 441, 462, 442, -1, 523, 527, 463, -1, 523, 463, 443, -1, +443, 463, 464, -1, 443, 464, 444, -1, 444, 464, 465, -1, 444, 465, 445, -1, +445, 465, 466, -1, 445, 466, 446, -1, 446, 466, 467, -1, 446, 467, 447, -1, +447, 467, 528, -1, 447, 528, 524, -1, 448, 468, 469, -1, 448, 469, 449, -1, +449, 469, 450, -1, 449, 450, 430, -1, 450, 546, 548, -1, 548, 470, 471, -1, +451, 471, 452, -1, 525, 529, 472, -1, 525, 472, 453, -1, 453, 472, 473, -1, +453, 473, 454, -1, 454, 473, 474, -1, 454, 474, 455, -1, 455, 474, 475, -1, +455, 475, 456, -1, 456, 475, 476, -1, 456, 476, 457, -1, 457, 476, 530, -1, +457, 530, 526, -1, 458, 477, 478, -1, 458, 478, 459, -1, 459, 478, 479, -1, +459, 479, 460, -1, 461, 480, 481, -1, 461, 481, 462, -1, 527, 531, 482, -1, +527, 482, 463, -1, 463, 482, 483, -1, 463, 483, 464, -1, 464, 483, 484, -1, +464, 484, 465, -1, 465, 484, 485, -1, 465, 485, 466, -1, 466, 485, 486, -1, +466, 486, 467, -1, 467, 486, 532, -1, 467, 532, 528, -1, 468, 487, 488, -1, +468, 547, 469, -1, 469, 546, 450, -1, 529, 533, 534, -1, 529, 534, 472, -1, +472, 534, 535, -1, 472, 535, 473, -1, 473, 535, 536, -1, 473, 536, 474, -1, +474, 536, 537, -1, 474, 537, 475, -1, 475, 537, 538, -1, 475, 538, 476, -1, +476, 538, 539, -1, 476, 539, 530, -1, 531, 540, 482, -1, 482, 540, 541, -1, +482, 541, 483, -1, 483, 541, 542, -1, 483, 542, 484, -1, 484, 542, 543, -1, +484, 543, 485, -1, 485, 543, 544, -1, 485, 544, 486, -1, 486, 544, 545, -1, +486, 545, 532, -1, 393, 392, 503, -1, 503, 504, 393, -1, 394, 393, 504, -1, +504, 505, 394, -1, 395, 394, 505, -1, 505, 506, 395, -1, 396, 395, 506, -1, +506, 507, 396, -1, 397, 396, 507, -1, 507, 508, 397, -1, 398, 397, 508, -1, +508, 509, 398, -1, 403, 402, 510, -1, 510, 511, 403, -1, 404, 403, 511, -1, +511, 512, 404, -1, 405, 404, 512, -1, 512, 513, 405, -1, 406, 405, 513, -1, +513, 514, 406, -1, 407, 406, 514, -1, 514, 515, 407, -1, 408, 407, 515, -1, +515, 516, 408, -1, 392, 412, 517, -1, 517, 503, 392, -1, 418, 398, 509, -1, +509, 518, 418, -1, 402, 422, 519, -1, 519, 510, 402, -1, 428, 408, 516, -1, +516, 520, 428, -1, 412, 432, 521, -1, 521, 517, 412, -1, 438, 418, 518, -1, +518, 522, 438, -1, 422, 442, 523, -1, 523, 519, 422, -1, 448, 428, 520, -1, +520, 524, 448, -1, 432, 452, 525, -1, 525, 521, 432, -1, 458, 438, 522, -1, +522, 526, 458, -1, 442, 462, 527, -1, 527, 523, 442, -1, 468, 448, 524, -1, +524, 528, 468, -1, 452, 471, 529, -1, 529, 525, 452, -1, 477, 458, 526, -1, +526, 530, 477, -1, 462, 481, 531, -1, 531, 527, 462, -1, 487, 468, 528, -1, +528, 532, 487, -1, 471, 489, 533, -1, 533, 529, 471, -1, 489, 490, 534, -1, +534, 533, 489, -1, 490, 491, 535, -1, 535, 534, 490, -1, 491, 492, 536, -1, +536, 535, 491, -1, 492, 493, 537, -1, 537, 536, 492, -1, 493, 494, 538, -1, +538, 537, 493, -1, 494, 495, 539, -1, 539, 538, 494, -1, 495, 477, 530, -1, +530, 539, 495, -1, 481, 496, 531, -1, 496, 497, 540, -1, 540, 531, 496, -1, +497, 498, 541, -1, 541, 540, 497, -1, 498, 499, 542, -1, 542, 541, 498, -1, +499, 500, 543, -1, 543, 542, 499, -1, 500, 501, 544, -1, 544, 543, 500, -1, +501, 502, 545, -1, 545, 544, 501, -1, 502, 487, 532, -1, 532, 545, 502, -1, +469, 547, 546, -1, 468, 488, 547, -1, 451, 548, 471, -1, 450, 548, 451, -1, +548, 546, 549, -1, 549, 551, 548, -1, 470, 548, 551, -1, 551, 148, 470, -1, +546, 547, 550, -1, 550, 549, 546, -1, 547, 488, 147, -1, 147, 550, 547, -1, +460, 479, 578, -1, 578, 576, 460, -1, 440, 439, 580, -1, 580, 581, 440, -1, +460, 440, 581, -1, 581, 583, 460, -1, 576, 578, 586, -1, 586, 584, 576, -1, +577, 576, 584, -1, 584, 585, 577, -1, 583, 581, 584, -1, 584, 586, 583, -1, +581, 580, 588, -1, 588, 584, 581, -1, 588, 584, 585, -1, 577, 461, 460, -1, +577, 460, 576, -1, 590, 591, 553, -1, 553, 552, 590, -1, 591, 592, 554, -1, +554, 553, 591, -1, 593, 594, 556, -1, 556, 555, 593, -1, 594, 595, 557, -1, +557, 556, 594, -1, 595, 596, 558, -1, 558, 557, 595, -1, 596, 597, 559, -1, +559, 558, 596, -1, 597, 598, 560, -1, 560, 559, 597, -1, 598, 599, 561, -1, +561, 560, 598, -1, 600, 601, 563, -1, 563, 562, 600, -1, 601, 602, 564, -1, +564, 563, 601, -1, 602, 603, 565, -1, 565, 564, 602, -1, 603, 604, 566, -1, +566, 565, 603, -1, 605, 606, 568, -1, 568, 567, 605, -1, 606, 607, 569, -1, +569, 568, 606, -1, 607, 608, 570, -1, 570, 569, 607, -1, 608, 609, 571, -1, +571, 570, 608, -1, 609, 610, 572, -1, 572, 571, 609, -1, 610, 611, 573, -1, +573, 572, 610, -1, 612, 613, 575, -1, 575, 574, 612, -1, 613, 590, 552, -1, +552, 575, 613, -1, 592, 591, 553, -1, 553, 554, 592, -1, 594, 593, 555, -1, +555, 556, 594, -1, 595, 594, 556, -1, 556, 557, 595, -1, 596, 595, 557, -1, +557, 558, 596, -1, 597, 596, 558, -1, 558, 559, 597, -1, 598, 597, 559, -1, +559, 560, 598, -1, 599, 598, 560, -1, 560, 561, 599, -1, 601, 600, 562, -1, +562, 563, 601, -1, 602, 601, 563, -1, 563, 564, 602, -1, 603, 602, 564, -1, +564, 565, 603, -1, 604, 603, 565, -1, 565, 566, 604, -1, 606, 605, 567, -1, +567, 568, 606, -1, 607, 606, 568, -1, 568, 569, 607, -1, 608, 607, 569, -1, +569, 570, 608, -1, 609, 608, 570, -1, 570, 571, 609, -1, 610, 609, 571, -1, +571, 572, 610, -1, 611, 610, 572, -1, 572, 573, 611, -1, 613, 612, 574, -1, +574, 575, 613, -1, 590, 613, 575, -1, 575, 552, 590, -1, 592, 593, 555, -1, +555, 554, 592, -1, 599, 600, 562, -1, 562, 561, 599, -1, 604, 605, 567, -1, +567, 566, 604, -1, 611, 612, 574, -1, 574, 573, 611, -1, 593, 592, 554, -1, +554, 555, 593, -1, 600, 599, 561, -1, 561, 562, 600, -1, 605, 604, 566, -1, +566, 567, 605, -1, 612, 611, 573, -1, 573, 574, 612, -1, 591, 590, 552, -1, +552, 553, 591, -1] +texCoordIndex [ +2687, 2688, 2689, -1, 2689, 2690, 2687, -1, 2673, 2674, 2675, -1, +576, 577, 578, -1, 24, 579, 580, -1, 581, 4, 582, -1, 26, 583, 584, -1, +585, 5, 586, -1, 27, 587, 588, -1, 589, 6, 590, -1, 28, 591, 592, -1, +593, 7, 594, -1, 29, 25, 595, -1, 2674, 2676, 2675, -1, 2682, 2683, 2684, -1, +2684, 2685, 2682, -1, 596, 597, 598, -1, 599, 600, 601, -1, 602, 9, 603, -1, +32, 604, 605, -1, 606, 10, 607, -1, 33, 608, 609, -1, 610, 11, 611, -1, +34, 30, 612, -1, 2682, 2686, 2683, -1, 613, 13, 614, -1, 36, 615, 616, -1, +617, 14, 618, -1, 37, 619, 620, -1, 621, 15, 622, -1, 38, 623, 624, -1, +625, 16, 626, -1, 39, 627, 628, -1, 629, 17, 630, -1, 40, 35, 12, -1, +631, 8, 632, -1, 31, 633, 634, -1, 2677, 2678, 2679, -1, 2677, 2679, 2680, -1, +2677, 2680, 2681, -1, 635, 636, 637, -1, 638, 639, 640, -1, 641, 642, 643, -1, +644, 645, 646, -1, 647, 648, 649, -1, 650, 651, 652, -1, 653, 654, 655, -1, +19, 656, 657, -1, 658, 659, 660, -1, 661, 18, 662, -1, 663, 664, 665, -1, +666, 667, 668, -1, 669, 670, 671, -1, 672, 673, 674, -1, 675, 73, 676, -1, +42, 677, 678, -1, 679, 680, 681, -1, 682, 44, 76, -1, 683, 77, 684, -1, +45, 685, 686, -1, 687, 688, 689, -1, 690, 46, 78, -1, 691, 79, 692, -1, +47, 693, 694, -1, 695, 696, 697, -1, 698, 48, 80, -1, 699, 81, 700, -1, +49, 701, 702, -1, 703, 704, 705, -1, 706, 50, 82, -1, 707, 708, 709, -1, +710, 711, 712, -1, 713, 714, 715, -1, 716, 717, 718, -1, 719, 720, 721, -1, +722, 723, 724, -1, 725, 726, 727, -1, 728, 729, 730, -1, 731, 732, 733, -1, +734, 735, 736, -1, 737, 738, 739, -1, 740, 741, 742, -1, 743, 89, 744, -1, +745, 746, 747, -1, 748, 91, 749, -1, 750, 751, 752, -1, 753, 92, 754, -1, +755, 756, 757, -1, 758, 93, 759, -1, 760, 761, 762, -1, 763, 764, 765, -1, +766, 767, 768, -1, 769, 770, 771, -1, 67, 772, 773, -1, 774, 775, 776, -1, +777, 68, 778, -1, 779, 780, 781, -1, 83, 782, 783, -1, 784, 785, 786, -1, +85, 787, 788, -1, 789, 790, 791, -1, 86, 792, 793, -1, 794, 795, 796, -1, +87, 797, 798, -1, 799, 800, 801, -1, 88, 74, 802, -1, 803, 804, 805, -1, +806, 807, 808, -1, 809, 54, 810, -1, 811, 812, 813, -1, 814, 55, 815, -1, +816, 817, 818, -1, 819, 51, 820, -1, 99, 821, 53, -1, 822, 56, 823, -1, +824, 100, 43, -1, 825, 826, 827, -1, 102, 828, 829, -1, 830, 58, 831, -1, +103, 832, 833, -1, 834, 59, 835, -1, 104, 836, 837, -1, 838, 60, 839, -1, +105, 840, 841, -1, 842, 61, 843, -1, 106, 101, 844, -1, 845, 108, 846, -1, +75, 41, 107, -1, 847, 110, 848, -1, 52, 84, 109, -1, 849, 112, 850, -1, +57, 90, 111, -1, 851, 114, 852, -1, 94, 62, 113, -1, 853, 0, 854, -1, +855, 856, 857, -1, 858, 859, 860, -1, 861, 862, 1, -1, 863, 2, 864, -1, +865, 866, 867, -1, 868, 869, 870, -1, 871, 872, 3, -1, 873, 20, 874, -1, +875, 876, 69, -1, 877, 70, 878, -1, 879, 880, 21, -1, 881, 22, 882, -1, +883, 884, 71, -1, 885, 72, 886, -1, 887, 888, 23, -1, 2723, 2724, 2725, -1, +2726, 2727, 2728, -1, 2729, 2695, 2730, -1, 2696, 2693, 2692, -1, +2731, 2691, 2732, -1, 2694, 2698, 2697, -1, 2733, 2734, 2735, -1, +2736, 2737, 2738, -1, 2739, 2703, 2740, -1, 2704, 2701, 2700, -1, +2741, 2699, 2742, -1, 2702, 2706, 2705, -1, 2743, 2708, 2744, -1, +2709, 2710, 2707, -1, 2745, 2712, 2746, -1, 2713, 2714, 2711, -1, +2747, 2716, 2748, -1, 2717, 2718, 2715, -1, 2749, 2720, 2750, -1, +2721, 2722, 2719, -1, 889, 890, 891, -1, 892, 893, 894, -1, 115, 95, 63, -1, +116, 64, 96, -1, 66, 895, 896, -1, 897, 65, 898, -1, 899, 97, 900, -1, +117, 98, 118, -1, 915, 916, 917, -1, 918, 919, 920, -1, 921, 922, 923, -1, +924, 925, 926, -1, 927, 928, 929, -1, 125, 930, 126, -1, 931, 932, 933, -1, +127, 934, 122, -1, 952, 953, 954, -1, 132, 955, 956, -1, 957, 958, 959, -1, +133, 960, 961, -1, 962, 963, 964, -1, 965, 966, 967, -1, 968, 969, 970, -1, +136, 971, 972, -1, 977, 978, 979, -1, 980, 981, 982, -1, 983, 984, 985, -1, +986, 987, 988, -1, 989, 151, 990, -1, 141, 991, 992, -1, 993, 152, 994, -1, +142, 995, 996, -1, 997, 153, 998, -1, 143, 999, 1000, -1, 1001, 1002, 1003, -1, +1004, 1005, 1006, -1, 1007, 156, 1008, -1, 146, 1009, 1010, -1, +1011, 157, 1012, -1, 147, 148, 138, -1, 1013, 1014, 1015, -1, +1016, 1017, 1018, -1, 1019, 1020, 1021, -1, 1022, 1023, 1024, -1, +1025, 1026, 1027, -1, 1028, 1029, 1030, -1, 1031, 1032, 1033, -1, +1034, 1035, 1036, -1, 1037, 1038, 1039, -1, 1040, 168, 1041, -1, +1042, 1043, 1044, -1, 1045, 1046, 1047, -1, 1048, 159, 1049, -1, +170, 1050, 1051, -1, 1052, 160, 1053, -1, 171, 1054, 1055, -1, +1056, 161, 1057, -1, 172, 1058, 1059, -1, 1060, 162, 1061, -1, +173, 1062, 1063, -1, 1064, 163, 1065, -1, 174, 1066, 1067, -1, +1068, 164, 1069, -1, 175, 1070, 1071, -1, 1072, 165, 1073, -1, +176, 1074, 1075, -1, 1076, 166, 1077, -1, 177, 1078, 1079, -1, +1080, 167, 1081, -1, 178, 169, 158, -1, 134, 1082, 1083, -1, +1084, 135, 1085, -1, 1086, 179, 1087, -1, 144, 154, 181, -1, +1088, 1089, 155, -1, 182, 145, 180, -1, 1104, 1105, 1106, -1, +1107, 1108, 1109, -1, 1110, 1111, 1112, -1, 185, 1113, 1114, -1, +1115, 1116, 1117, -1, 186, 1118, 1119, -1, 1120, 1121, 1122, -1, +187, 1123, 188, -1, 1124, 1125, 1126, -1, 189, 1127, 184, -1, +1149, 1150, 1151, -1, 194, 1152, 1153, -1, 1154, 1155, 1156, -1, +202, 1157, 1158, -1, 1159, 1160, 1161, -1, 1162, 1163, 1164, -1, +1165, 1166, 1167, -1, 208, 1168, 1169, -1, 1174, 1175, 1176, -1, +1177, 1178, 1179, -1, 1180, 211, 1181, -1, 197, 1182, 1183, -1, +1184, 212, 1185, -1, 198, 1186, 1187, -1, 1188, 213, 1189, -1, +199, 1190, 1191, -1, 1192, 214, 1193, -1, 200, 1194, 1195, -1, +1196, 215, 1197, -1, 201, 1198, 1199, -1, 1200, 1201, 1202, -1, +1203, 1204, 1205, -1, 1206, 218, 1207, -1, 207, 1208, 1209, -1, +1210, 219, 1211, -1, 209, 210, 196, -1, 1212, 1213, 1214, -1, +1215, 1216, 1217, -1, 1218, 1219, 1220, -1, 1221, 1222, 1223, -1, +1224, 1225, 1226, -1, 1227, 1228, 1229, -1, 1230, 1231, 1232, -1, +1233, 1234, 1235, -1, 1236, 1237, 1238, -1, 1239, 231, 1240, -1, +1241, 1242, 1243, -1, 1244, 1245, 1246, -1, 1247, 221, 1248, -1, +232, 1249, 1250, -1, 1251, 222, 1252, -1, 233, 1253, 1254, -1, +1255, 223, 1256, -1, 234, 1257, 1258, -1, 1259, 224, 1260, -1, +235, 1261, 1262, -1, 1263, 225, 1264, -1, 236, 1265, 1266, -1, +1267, 226, 1268, -1, 237, 1269, 1270, -1, 1271, 227, 1272, -1, +238, 1273, 1274, -1, 1275, 228, 1276, -1, 239, 1277, 1278, -1, +1279, 229, 1280, -1, 240, 230, 220, -1, 1303, 149, 1304, -1, +217, 206, 139, -1, 1305, 140, 1306, -1, 203, 216, 150, -1, 1307, 1308, 1309, -1, +1310, 1311, 1312, -1, 1313, 1314, 1315, -1, 1316, 1317, 1318, -1, +1319, 1320, 1321, -1, 1322, 1323, 1324, -1, 1325, 1326, 1327, -1, +271, 1328, 1329, -1, 1330, 1331, 1332, -1, 1333, 1334, 1335, -1, +1336, 1337, 1338, -1, 1339, 260, 1340, -1, 272, 1341, 1342, -1, +1343, 261, 1344, -1, 273, 1345, 1346, -1, 1347, 262, 1348, -1, +1349, 1350, 1351, -1, 1352, 1353, 1354, -1, 251, 1355, 1356, -1, +1357, 1358, 1359, -1, 1360, 1361, 1362, -1, 252, 1363, 1364, -1, +1365, 1366, 1367, -1, 274, 1368, 1369, -1, 1370, 1371, 1372, -1, +1373, 245, 1374, -1, 253, 1375, 1376, -1, 1377, 263, 1378, -1, +275, 1379, 1380, -1, 1381, 264, 1382, -1, 276, 1383, 1384, -1, +1385, 265, 1386, -1, 1387, 1388, 1389, -1, 1390, 1391, 1392, -1, +254, 1393, 1394, -1, 1395, 1396, 1397, -1, 1398, 1399, 1400, -1, +255, 1401, 1402, -1, 1403, 1404, 1405, -1, 277, 1406, 1407, -1, +1408, 1409, 1410, -1, 1411, 246, 1412, -1, 256, 1413, 1414, -1, +1415, 1416, 1417, -1, 1418, 1419, 1420, -1, 243, 1421, 1422, -1, +1423, 1424, 1425, -1, 257, 1426, 1427, -1, 248, 1428, 1429, -1, +1430, 1431, 1432, -1, 258, 1433, 1434, -1, 1435, 1436, 1437, -1, +280, 1438, 1439, -1, 249, 1440, 1441, -1, 1442, 247, 1443, -1, +259, 1444, 1445, -1, 1446, 268, 1447, -1, 281, 1448, 1449, -1, +1450, 269, 1451, -1, 282, 1452, 1453, -1, 250, 270, 244, -1, +1454, 1455, 1456, -1, 1457, 1458, 1459, -1, 1460, 1461, 1462, -1, +1463, 284, 300, -1, 1464, 1465, 1466, -1, 1467, 285, 301, -1, +1468, 1469, 1470, -1, 1471, 286, 302, -1, 1472, 1473, 1474, -1, +1475, 287, 303, -1, 1476, 1477, 1478, -1, 1479, 288, 304, -1, +1480, 1481, 1482, -1, 1483, 289, 305, -1, 1484, 1485, 1486, -1, +1487, 290, 306, -1, 1488, 1489, 1490, -1, 1491, 291, 307, -1, +1492, 1493, 1494, -1, 1495, 292, 308, -1, 1496, 1497, 1498, -1, +1499, 293, 309, -1, 1500, 1501, 1502, -1, 1503, 294, 310, -1, +1504, 1505, 1506, -1, 1507, 295, 311, -1, 1508, 1509, 1510, -1, +1511, 296, 312, -1, 1512, 1513, 1514, -1, 1515, 297, 313, -1, +1516, 299, 1517, -1, 283, 298, 314, -1, 1518, 1519, 1520, -1, +1521, 1522, 1523, -1, 1524, 266, 1525, -1, 315, 317, 278, -1, +1526, 279, 1527, -1, 318, 316, 267, -1, 1528, 1529, 1530, -1, +1531, 1532, 1533, -1, 2751, 2752, 2753, -1, 1552, 1553, 1554, -1, +1555, 1556, 1557, -1, 1558, 1559, 1560, -1, 1561, 1562, 1563, -1, +1564, 1565, 1566, -1, 1567, 1568, 1569, -1, 1582, 1583, 1584, -1, +1591, 1592, 1593, -1, 1594, 1595, 1596, -1, 1605, 1606, 1607, -1, +1608, 1609, 1610, -1, 1616, 330, 1617, -1, 329, 333, 320, -1, +1623, 1624, 1625, -1, 1626, 342, 324, -1, 1627, 1628, 1629, -1, +1630, 341, 322, -1, 1631, 336, 1632, -1, 344, 343, 335, -1, 1633, 348, 1634, -1, +338, 1635, 1636, -1, 1637, 1638, 1639, -1, 1640, 323, 349, -1, +1641, 347, 1642, -1, 346, 345, 350, -1, 1643, 1644, 1645, -1, +1646, 1647, 1648, -1, 1649, 1650, 1651, -1, 1652, 1653, 1654, -1, +1655, 1656, 1657, -1, 1658, 1659, 1660, -1, 1661, 1662, 1663, -1, +1664, 1665, 1666, -1, 1667, 1668, 1669, -1, 1670, 1671, 1672, -1, +1673, 1674, 1675, -1, 1676, 1677, 1678, -1, 1679, 1680, 1681, -1, +1682, 1683, 1684, -1, 1685, 1686, 1687, -1, 1688, 1689, 1690, -1, +1691, 1692, 1693, -1, 1694, 1695, 1696, -1, 1697, 1698, 1699, -1, +351, 1700, 1701, -1, 1702, 1703, 1704, -1, 1705, 1706, 1707, -1, +1708, 1709, 1710, -1, 353, 1711, 1712, -1, 1713, 1714, 1715, -1, +1716, 1717, 1718, -1, 1719, 1720, 1721, -1, 1722, 1723, 1724, -1, +1725, 1726, 1727, -1, 1728, 1729, 1730, -1, 1731, 1732, 1733, -1, +1734, 1735, 1736, -1, 1737, 1738, 1739, -1, 1740, 1741, 1742, -1, +1743, 1744, 1745, -1, 1746, 1747, 1748, -1, 1749, 1750, 1751, -1, +1752, 1753, 1754, -1, 1755, 1756, 1757, -1, 361, 1758, 1759, -1, +1760, 1761, 1762, -1, 362, 1763, 1764, -1, 1765, 1766, 1767, -1, +363, 1768, 1769, -1, 1770, 1771, 1772, -1, 1773, 1774, 1775, -1, +1776, 1777, 1778, -1, 1779, 1780, 1781, -1, 1782, 1783, 1784, -1, +1785, 1786, 1787, -1, 1788, 1789, 1790, -1, 1791, 1792, 1793, -1, +1794, 1795, 1796, -1, 1797, 1798, 1799, -1, 1800, 1801, 1802, -1, +1803, 1804, 1805, -1, 1806, 1807, 1808, -1, 1809, 1810, 1811, -1, +1812, 1813, 1814, -1, 371, 1815, 352, -1, 1816, 1817, 1818, -1, +1819, 1820, 1821, -1, 1822, 1823, 1824, -1, 373, 1825, 1826, -1, +1827, 1828, 1829, -1, 1830, 1831, 1832, -1, 1833, 1834, 1835, -1, +375, 1836, 1837, -1, 1838, 1839, 1840, -1, 376, 1841, 1842, -1, +1843, 1844, 1845, -1, 377, 1846, 1847, -1, 1848, 1849, 1850, -1, +378, 1851, 1852, -1, 1853, 1854, 1855, -1, 379, 1856, 1857, -1, +1858, 1859, 1860, -1, 1861, 1862, 1863, -1, 1864, 1865, 1866, -1, +381, 1867, 1868, -1, 1869, 1870, 1871, -1, 382, 1872, 1873, -1, +1874, 1875, 1876, -1, 383, 1877, 1878, -1, 1879, 1880, 1881, -1, +1882, 1883, 1884, -1, 1885, 1886, 1887, -1, 385, 1888, 1889, -1, +1890, 1891, 1892, -1, 386, 1893, 1894, -1, 1895, 1896, 1897, -1, +387, 1898, 1899, -1, 1900, 1901, 1902, -1, 388, 1903, 1904, -1, +1905, 1906, 1907, -1, 389, 1908, 1909, -1, 1910, 1911, 1912, -1, +1913, 1914, 1915, -1, 1916, 1917, 1918, -1, 391, 1919, 372, -1, +1920, 1921, 1922, -1, 1923, 1924, 1925, -1, 1926, 1927, 1928, -1, +393, 1929, 1930, -1, 1931, 1932, 1933, -1, 1934, 1935, 1936, -1, +1937, 1938, 1939, -1, 395, 1940, 1941, -1, 1942, 1943, 1944, -1, +396, 1945, 1946, -1, 1947, 1948, 1949, -1, 397, 1950, 1951, -1, +1952, 1953, 1954, -1, 398, 1955, 1956, -1, 1957, 1958, 1959, -1, +399, 1960, 1961, -1, 1962, 1963, 1964, -1, 1965, 1966, 1967, -1, +1968, 1969, 1970, -1, 1971, 1972, 1973, -1, 1974, 1975, 1976, -1, +403, 1977, 1978, -1, 1979, 1980, 1981, -1, 1982, 1983, 1984, -1, +1985, 1986, 1987, -1, 405, 1988, 1989, -1, 1990, 1991, 1992, -1, +406, 1993, 1994, -1, 1995, 1996, 1997, -1, 407, 1998, 1999, -1, +2000, 2001, 2002, -1, 408, 2003, 2004, -1, 2005, 2006, 2007, -1, +409, 2008, 2009, -1, 2010, 2011, 2012, -1, 2013, 2014, 2015, -1, +2016, 2017, 2018, -1, 411, 2019, 392, -1, 2020, 2021, 2022, -1, +2023, 2024, 2025, -1, 2026, 2027, 2028, -1, 2029, 2030, 2031, -1, +2032, 2033, 2034, -1, 2035, 2036, 2037, -1, 415, 2038, 2039, -1, +2040, 2041, 2042, -1, 416, 2043, 2044, -1, 2045, 2046, 2047, -1, +417, 2048, 2049, -1, 2050, 2051, 2052, -1, 418, 2053, 2054, -1, +2055, 2056, 2057, -1, 419, 2058, 2059, -1, 2060, 2061, 2062, -1, +2063, 2064, 2065, -1, 2066, 440, 2067, -1, 2068, 2069, 2070, -1, +2071, 2072, 2073, -1, 2074, 2075, 2076, -1, 2077, 2078, 2079, -1, +2080, 2081, 2082, -1, 2083, 2084, 2085, -1, 425, 2086, 2087, -1, +2088, 2089, 2090, -1, 426, 2091, 2092, -1, 2093, 2094, 2095, -1, +427, 2096, 2097, -1, 2098, 2099, 2100, -1, 428, 2101, 2102, -1, +2103, 2104, 2105, -1, 429, 2106, 2107, -1, 2108, 2109, 2110, -1, +2111, 2112, 2113, -1, 2114, 2115, 2116, -1, 2117, 2118, 2119, -1, +2120, 2121, 2122, -1, 2123, 2124, 2125, -1, 434, 2126, 2127, -1, +2128, 2129, 2130, -1, 435, 2131, 2132, -1, 2133, 2134, 2135, -1, +436, 2136, 2137, -1, 2138, 2139, 2140, -1, 437, 2141, 2142, -1, +2143, 2144, 2145, -1, 438, 2146, 2147, -1, 2148, 2149, 2150, -1, +2151, 2152, 2153, -1, 444, 2154, 2155, -1, 2156, 2157, 2158, -1, +445, 2159, 2160, -1, 2161, 2162, 2163, -1, 446, 2164, 2165, -1, +2166, 2167, 2168, -1, 447, 2169, 2170, -1, 2171, 2172, 2173, -1, +448, 2174, 2175, -1, 2176, 2177, 2178, -1, 2179, 2180, 2181, -1, +2182, 355, 2183, -1, 466, 2184, 2185, -1, 2186, 356, 2187, -1, +467, 2188, 2189, -1, 2190, 357, 2191, -1, 468, 2192, 2193, -1, +2194, 358, 2195, -1, 469, 2196, 2197, -1, 2198, 359, 2199, -1, +470, 2200, 2201, -1, 2202, 2203, 2204, -1, 2205, 2206, 2207, -1, +2208, 365, 2209, -1, 473, 2210, 2211, -1, 2212, 366, 2213, -1, +474, 2214, 2215, -1, 2216, 367, 2217, -1, 475, 2218, 2219, -1, +2220, 368, 2221, -1, 476, 2222, 2223, -1, 2224, 369, 2225, -1, +477, 2226, 2227, -1, 2228, 2229, 2230, -1, 2231, 465, 354, -1, +2232, 360, 2233, -1, 471, 2234, 2235, -1, 2236, 2237, 2238, -1, +2239, 472, 364, -1, 2240, 370, 2241, -1, 478, 2242, 2243, -1, +2244, 2245, 2246, -1, 2247, 479, 374, -1, 2248, 380, 2249, -1, +480, 2250, 2251, -1, 2252, 2253, 2254, -1, 2255, 481, 384, -1, +2256, 390, 2257, -1, 482, 2258, 2259, -1, 2260, 2261, 2262, -1, +2263, 483, 394, -1, 2264, 400, 2265, -1, 484, 2266, 2267, -1, +2268, 2269, 2270, -1, 2271, 485, 404, -1, 2272, 410, 2273, -1, +486, 2274, 2275, -1, 2276, 2277, 2278, -1, 2279, 487, 414, -1, +2280, 420, 2281, -1, 488, 2282, 2283, -1, 2284, 2285, 2286, -1, +2287, 489, 424, -1, 2288, 2289, 2290, -1, 490, 2291, 2292, -1, +2293, 2294, 2295, -1, 2296, 491, 2297, -1, 2298, 2299, 2300, -1, +2301, 495, 451, -1, 2302, 2303, 2304, -1, 2305, 496, 452, -1, +2306, 2307, 2308, -1, 2309, 497, 453, -1, 2310, 2311, 2312, -1, +2313, 498, 454, -1, 2314, 2315, 2316, -1, 2317, 499, 455, -1, +2318, 2319, 2320, -1, 2321, 500, 456, -1, 2322, 439, 2323, -1, +492, 501, 457, -1, 443, 2324, 2325, -1, 2326, 2327, 2328, -1, +2329, 493, 458, -1, 2330, 2331, 2332, -1, 2333, 502, 459, -1, +2334, 2335, 2336, -1, 2337, 503, 460, -1, 2338, 2339, 2340, -1, +2341, 504, 461, -1, 2342, 2343, 2344, -1, 2345, 505, 462, -1, +2346, 2347, 2348, -1, 2349, 506, 463, -1, 2350, 449, 2351, -1, +494, 507, 464, -1, 431, 2352, 2353, -1, 430, 2354, 2355, -1, +2356, 2357, 433, -1, 412, 2358, 413, -1, 2359, 2360, 2361, -1, +2362, 2363, 2364, -1, 2365, 510, 2366, -1, 513, 120, 432, -1, +2367, 2368, 2369, -1, 2370, 511, 508, -1, 2371, 450, 2372, -1, +119, 512, 509, -1, 2373, 441, 2374, -1, 2375, 2376, 2377, -1, +2383, 2384, 2385, -1, 2386, 2387, 2388, -1, 2393, 402, 2394, -1, +2395, 2396, 2397, -1, 2398, 540, 2399, -1, 2400, 2401, 2402, -1, +2408, 2409, 2410, -1, 2411, 2412, 2413, -1, 2419, 2420, 2421, -1, +2422, 548, 545, -1, 2423, 542, 2424, -1, 2425, 2426, 543, -1, +2427, 546, 2428, -1, 2431, 423, 2432, -1, 539, 422, 538, -1, +2433, 2434, 2435, -1, 2436, 2437, 2438, -1, 2439, 2440, 2441, -1, +2442, 2443, 2444, -1, 2445, 2446, 2447, -1, 2448, 2449, 2450, -1, +2451, 2452, 2453, -1, 2454, 2455, 2456, -1, 2457, 2458, 2459, -1, +2460, 2461, 2462, -1, 2463, 2464, 2465, -1, 2466, 2467, 2468, -1, +2469, 2470, 2471, -1, 2472, 2473, 2474, -1, 2475, 2476, 2477, -1, +2478, 2479, 2480, -1, 2481, 2482, 2483, -1, 2484, 2485, 2486, -1, +2487, 2488, 2489, -1, 2490, 2491, 2492, -1, 2493, 2494, 2495, -1, +2496, 2497, 2498, -1, 2499, 2500, 2501, -1, 2502, 2503, 2504, -1, +2505, 2506, 2507, -1, 2508, 2509, 2510, -1, 2511, 2512, 2513, -1, +2514, 2515, 2516, -1, 2517, 2518, 2519, -1, 2520, 2521, 2522, -1, +2523, 2524, 2525, -1, 2526, 2527, 2528, -1, 2529, 2530, 2531, -1, +2532, 2533, 2534, -1, 2535, 2536, 2537, -1, 2538, 2539, 2540, -1, +2541, 2542, 2543, -1, 2544, 2545, 2546, -1, 2547, 2548, 2549, -1, +2550, 2551, 2552, -1, 2553, 2554, 2555, -1, 2556, 2557, 2558, -1, +2559, 2560, 2561, -1, 2562, 2563, 2564, -1, 2565, 556, 2566, -1, +518, 2567, 2568, -1, 2569, 557, 2570, -1, 519, 2571, 2572, -1, +2573, 558, 2574, -1, 520, 2575, 2576, -1, 2577, 559, 2578, -1, +521, 2579, 2580, -1, 2581, 560, 2582, -1, 522, 2583, 2584, -1, +2585, 2586, 2587, -1, 2588, 2589, 2590, -1, 2591, 563, 2592, -1, +525, 2593, 2594, -1, 2595, 564, 2596, -1, 526, 2597, 2598, -1, +2599, 565, 2600, -1, 527, 2601, 2602, -1, 2603, 2604, 2605, -1, +2606, 2607, 2608, -1, 2609, 568, 2610, -1, 530, 2611, 2612, -1, +2613, 569, 2614, -1, 531, 2615, 2616, -1, 2617, 570, 2618, -1, +532, 2619, 2620, -1, 2621, 571, 2622, -1, 533, 2623, 2624, -1, +2625, 572, 2626, -1, 534, 2627, 2628, -1, 2629, 2630, 2631, -1, +2632, 2633, 2634, -1, 2635, 575, 2636, -1, 537, 2637, 2638, -1, +2639, 2640, 2641, -1, 2642, 2643, 2644, -1, 2645, 2646, 2647, -1, +2648, 2649, 2650, -1, 2651, 2652, 2653, -1, 2654, 2655, 2656, -1, +2657, 2658, 2659, -1, 2660, 2661, 2662, -1, 2663, 554, 2664, -1, +516, 517, 555, -1, 2665, 561, 2666, -1, 523, 524, 562, -1, 2667, 566, 2668, -1, +528, 529, 567, -1, 2669, 573, 2670, -1, 535, 536, 574, -1, 2671, 552, 2672, -1, +514, 515, 553, -1] +} +} +Shape { +appearance DEF FloorTex Appearance { +material Material {} +texture ImageTexture { +url "floor.gif" +} +} +geometry DEF bldg-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +coord USE bldg-COORD +texCoord USE bldg-TEXCOORD +coordIndex [ +159, 160, 161, -1, 159, 161, 162, -1, 159, 162, 163, -1, 159, 163, 164, -1, +159, 165, 160, -1, 166, 176, 177, -1, 166, 177, 167, -1, 168, 178, 179, -1, +168, 179, 169, -1, 169, 179, 180, -1, 169, 180, 170, -1, 175, 185, 176, -1, +175, 176, 166, -1, 221, 222, 223, -1, 221, 223, 224, -1, 221, 224, 225, -1, +221, 225, 226, -1, 221, 227, 222, -1, 228, 234, 235, -1, 228, 235, 229, -1, +229, 235, 236, -1, 229, 236, 230, -1, 230, 236, 237, -1, 230, 237, 231, -1, +231, 237, 238, -1, 231, 238, 232, -1, 233, 247, 234, -1, 233, 234, 228, -1, +162, 161, 279, -1, 279, 280, 162, -1, 161, 167, 243, -1, 243, 279, 161, -1, +168, 162, 280, -1, 280, 242, 168, -1, 167, 177, 244, -1, 244, 243, 167, -1, +178, 168, 242, -1, 242, 241, 178, -1, 360, 362, 361, -1, 360, 361, 357, -1, +365, 366, 359, -1, 365, 359, 364, -1, 366, 369, 368, -1, 366, 368, 367, -1, +374, 373, 372, -1, 374, 372, 376, -1, 369, 378, 377, -1, 369, 377, 370, -1, +363, 375, 378, -1, 363, 378, 365, -1, 363, 365, 364, -1, 366, 367, 359, -1, +369, 370, 368, -1, 378, 375, 377, -1, 357, 361, 364, -1, 357, 364, 359, -1, +372, 370, 377, -1, 372, 377, 376, -1, 378, 369, 366, -1, 378, 366, 365, -1, +480, 461, 577, -1, 577, 579, 480, -1, 439, 459, 582, -1, 582, 580, 439, -1, +579, 577, 585, -1, 585, 587, 579, -1, 580, 582, 589, -1, 589, 588, 580, -1, +587, 585, 588, -1, 587, 588, 589, -1, ] +texCoordIndex [ +901, 902, 903, -1, 904, 905, 906, -1, 907, 908, 909, -1, 910, 911, 912, -1, +121, 913, 914, -1, 935, 936, 937, -1, 938, 939, 940, -1, 941, 942, 943, -1, +944, 945, 946, -1, 947, 948, 949, -1, 131, 950, 951, -1, 973, 974, 975, -1, +137, 976, 128, -1, 1090, 1091, 1092, -1, 1093, 1094, 1095, -1, +1096, 1097, 1098, -1, 1099, 1100, 1101, -1, 183, 1102, 1103, -1, +1128, 1129, 1130, -1, 1131, 1132, 1133, -1, 1134, 1135, 1136, -1, +191, 1137, 1138, -1, 1139, 1140, 1141, -1, 192, 1142, 1143, -1, +1144, 1145, 1146, -1, 193, 1147, 1148, -1, 1170, 1171, 1172, -1, +195, 1173, 190, -1, 1281, 1282, 1283, -1, 1284, 1285, 1286, -1, +1287, 1288, 1289, -1, 1290, 241, 123, -1, 1291, 124, 1292, -1, +242, 1293, 1294, -1, 1295, 1296, 1297, -1, 1298, 205, 129, -1, +1299, 130, 1300, -1, 204, 1301, 1302, -1, 1534, 1535, 1536, -1, +1537, 1538, 1539, -1, 1540, 1541, 1542, -1, 1543, 1544, 1545, -1, +1546, 1547, 1548, -1, 1549, 1550, 1551, -1, 1570, 1571, 1572, -1, +1573, 1574, 1575, -1, 1576, 1577, 1578, -1, 1579, 1580, 1581, -1, +1585, 1586, 1587, -1, 1588, 1589, 1590, -1, 325, 1597, 1598, -1, +1599, 1600, 1601, -1, 1602, 1603, 1604, -1, 1611, 337, 1612, -1, +1613, 1614, 1615, -1, 319, 326, 321, -1, 1618, 332, 1619, -1, +334, 339, 1620, -1, 1621, 331, 1622, -1, 340, 328, 327, -1, 2378, 2379, 2380, -1, +2381, 2382, 442, -1, 2389, 421, 2390, -1, 2391, 2392, 401, -1, +2403, 2404, 2405, -1, 2406, 2407, 541, -1, 2414, 544, 2415, -1, +2416, 2417, 2418, -1, 2429, 547, 2430, -1, 549, 550, 551, -1, +] +} +} +] +} + +#################################################### +#water +#################################################### +DEF water Transform { +translation 0 0 0 +children [ +DEF water-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +Collision{ +collide FALSE +children[ +Shape { +appearance Appearance { +material Material { +diffuseColor 0.40784 0.61569 0.66667 +ambientIntensity 0.13464 +specularColor 0.72 0.72 0.72 +shininess 0.24 +transparency 0.6 +} +texture MovieTexture { +url "animwater.gif" +} +} +geometry DEF water-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +coord DEF water-COORD Coordinate { point [ +83.983 -0.2387 -104.87, 82.767 -0.19614 -108.62, 79.582 -0.26727 -110.93, +75.646 -0.26727 -110.93, 72.462 -0.19614 -108.62, 71.245 -0.2387 -104.87, +72.462 -0.28126 -101.13, 75.646 -0.21013 -98.818, 79.582 -0.21013 -98.818, +82.767 -0.28126 -101.13, 77.645 -0.23842 -104.88] +} +texCoord DEF water-TEXCOORD TextureCoordinate { point [ +0.9995 0.5, 0.9041 0.80871, 0.65435 0.9995, 0.34565 0.9995, 0.095896 0.80871, +0.00049987 0.5, 0.095896 0.19129, 0.34565 0.00049958, 0.65435 0.00049952, +0.9041 0.19129, 0.50243 0.50067] +} +coordIndex [ +0, 1, 10, -1, 1, 2, 10, -1, 2, 3, 10, -1, 3, 4, 10, -1, 4, 5, 10, -1, +5, 6, 10, -1, 6, 7, 10, -1, 7, 8, 10, -1, 8, 9, 10, -1, 9, 0, 10, -1] +texCoordIndex [ +0, 1, 10, -1, 1, 2, 10, -1, 2, 3, 10, -1, 3, 4, 10, -1, 4, 5, 10, -1, +5, 6, 10, -1, 6, 7, 10, -1, 7, 8, 10, -1, 8, 9, 10, -1, 9, 0, 10, -1] +} +} +DEF water-COORD-INTERP CoordinateInterpolator { +key [0, 0.011111, 0.022222, 0.033333, 0.044444, 0.055556, 0.066667, +0.077778, 0.088889, 0.1, 0.11111, 0.12222, 0.13333, 0.14444, +0.15556, 0.16667, 0.17778, 0.18889, 0.2, 0.21111, 0.22222, 0.23333, +0.24444, 0.25556, 0.26667, 0.27778, 0.28889, 0.3, 0.31111, 0.32222, +0.33333, 0.34444, 0.35556, 0.36667, 0.37778, 0.38889, 0.4, 0.41111, +0.42222, 0.43333, 0.44444, 0.45556, 0.46667, 0.47778, 0.48889, +0.5, 0.51111, 0.52222, 0.53333, 0.54444, 0.55556, 0.56667, 0.57778, +0.58889, 0.6, 0.61111, 0.62222, 0.63333, 0.64444, 0.65556, 0.66667, +0.67778, 0.68889, 0.7, 0.71111, 0.72222, 0.73333, 0.74444, 0.75556, +0.76667, 0.77778, 0.78889, 0.8, 0.81111, 0.82222, 0.83333, 0.84444, +0.85556, 0.86667, 0.87778, 0.88889, 0.9, 0.91111, 0.92222, 0.93333, +0.94444, 0.95556, 0.96667, 0.97778, 0.98889, 1, ] +keyValue [83.983 -0.2387 -104.87, +82.767 -0.19614 -108.62, 79.582 -0.26727 -110.93, 75.646 -0.26727 -110.93, +72.462 -0.19614 -108.62, 71.245 -0.2387 -104.87, 72.462 -0.28126 -101.13, +75.646 -0.21013 -98.818, 79.582 -0.21013 -98.818, 82.767 -0.28126 -101.13, +77.645 -0.23842 -104.88, 83.983 -0.24259 -104.87, 82.767 -0.19372 -108.62, +79.582 -0.26385 -110.93, 75.646 -0.26385 -110.93, 72.462 -0.19372 -108.62, +71.245 -0.24259 -104.87, 72.462 -0.27864 -101.13, 75.646 -0.20685 -98.818, +79.582 -0.20685 -98.818, 82.767 -0.27864 -101.13, 77.645 -0.24231 -104.88, +83.983 -0.24646 -104.87, 82.767 -0.19153 -108.62, 79.582 -0.26032 -110.93, +75.646 -0.26032 -110.93, 72.462 -0.19153 -108.62, 71.245 -0.24646 -104.87, +72.462 -0.27582 -101.13, 75.646 -0.20374 -98.818, 79.582 -0.20374 -98.818, +82.767 -0.27582 -101.13, 77.645 -0.24619 -104.88, 83.983 -0.2503 -104.87, +82.767 -0.18957 -108.62, 79.582 -0.25668 -110.93, 75.646 -0.25668 -110.93, +72.462 -0.18957 -108.62, 71.245 -0.2503 -104.87, 72.462 -0.27283 -101.13, +75.646 -0.20079 -98.818, 79.582 -0.20079 -98.818, 82.767 -0.27283 -101.13, +77.645 -0.25002 -104.88, 83.983 -0.25408 -104.87, 82.767 -0.18784 -108.62, +79.582 -0.25295 -110.93, 75.646 -0.25295 -110.93, 72.462 -0.18784 -108.62, +71.245 -0.25408 -104.87, 72.462 -0.26967 -101.13, 75.646 -0.19803 -98.818, +79.582 -0.19803 -98.818, 82.767 -0.26967 -101.13, 77.645 -0.25381 -104.88, +83.983 -0.25778 -104.87, 82.767 -0.18637 -108.62, 79.582 -0.24915 -110.93, +75.646 -0.24915 -110.93, 72.462 -0.18637 -108.62, 71.245 -0.25778 -104.87, +72.462 -0.26635 -101.13, 75.646 -0.19546 -98.818, 79.582 -0.19546 -98.818, +82.767 -0.26635 -101.13, 77.645 -0.25752 -104.88, 83.983 -0.26139 -104.87, +82.767 -0.18514 -108.62, 79.582 -0.2453 -110.93, 75.646 -0.2453 -110.93, +72.462 -0.18514 -108.62, 71.245 -0.26139 -104.87, 72.462 -0.26291 -101.13, +75.646 -0.19311 -98.818, 79.582 -0.19311 -98.818, 82.767 -0.26291 -101.13, +77.645 -0.26114 -104.88, 83.983 -0.26489 -104.87, 82.767 -0.18418 -108.62, +79.582 -0.24142 -110.93, 75.646 -0.24142 -110.93, 72.462 -0.18418 -108.62, +71.245 -0.26489 -104.87, 72.462 -0.25934 -101.13, 75.646 -0.19097 -98.818, +79.582 -0.19097 -98.818, 82.767 -0.25934 -101.13, 77.645 -0.26464 -104.88, +83.983 -0.26826 -104.87, 82.767 -0.18349 -108.62, 79.582 -0.23753 -110.93, +75.646 -0.23753 -110.93, 72.462 -0.18349 -108.62, 71.245 -0.26826 -104.87, +72.462 -0.25567 -101.13, 75.646 -0.18907 -98.818, 79.582 -0.18907 -98.818, +82.767 -0.25567 -101.13, 77.645 -0.26803 -104.88, 83.983 -0.27149 -104.87, +82.767 -0.18306 -108.62, 79.582 -0.23364 -110.93, 75.646 -0.23364 -110.93, +72.462 -0.18306 -108.62, 71.245 -0.27149 -104.87, 72.462 -0.25193 -101.13, +75.646 -0.18742 -98.818, 79.582 -0.18742 -98.818, 82.767 -0.25193 -101.13, +77.645 -0.27126 -104.88, 83.983 -0.27456 -104.87, 82.767 -0.18291 -108.62, +79.582 -0.22978 -110.93, 75.646 -0.22978 -110.93, 72.462 -0.18291 -108.62, +71.245 -0.27456 -104.87, 72.462 -0.24811 -101.13, 75.646 -0.18601 -98.818, +79.582 -0.18601 -98.818, 82.767 -0.24811 -101.13, 77.645 -0.27434 -104.88, +83.983 -0.27745 -104.87, 82.767 -0.18302 -108.62, 79.582 -0.22596 -110.93, +75.646 -0.22596 -110.93, 72.462 -0.18302 -108.62, 71.245 -0.27745 -104.87, +72.462 -0.24425 -101.13, 75.646 -0.18486 -98.818, 79.582 -0.18486 -98.818, +82.767 -0.24425 -101.13, 77.645 -0.27725 -104.88, 83.983 -0.28016 -104.87, +82.767 -0.18341 -108.62, 79.582 -0.2222 -110.93, 75.646 -0.2222 -110.93, +72.462 -0.18341 -108.62, 71.245 -0.28016 -104.87, 72.462 -0.24037 -101.13, +75.646 -0.18397 -98.818, 79.582 -0.18397 -98.818, 82.767 -0.24037 -101.13, +77.645 -0.27997 -104.88, 83.983 -0.28266 -104.87, 82.767 -0.18407 -108.62, +79.582 -0.21852 -110.93, 75.646 -0.21852 -110.93, 72.462 -0.18407 -108.62, +71.245 -0.28266 -104.87, 72.462 -0.23647 -101.13, 75.646 -0.18335 -98.818, +79.582 -0.18335 -98.818, 82.767 -0.23647 -101.13, 77.645 -0.28249 -104.88, +83.983 -0.28495 -104.87, 82.767 -0.18499 -108.62, 79.582 -0.21494 -110.93, +75.646 -0.21494 -110.93, 72.462 -0.18499 -108.62, 71.245 -0.28495 -104.87, +72.462 -0.23259 -101.13, 75.646 -0.18299 -98.818, 79.582 -0.18299 -98.818, +82.767 -0.23259 -101.13, 77.645 -0.28479 -104.88, 83.983 -0.28701 -104.87, +82.767 -0.18618 -108.62, 79.582 -0.21148 -110.93, 75.646 -0.21148 -110.93, +72.462 -0.18618 -108.62, 71.245 -0.28701 -104.87, 72.462 -0.22874 -101.13, +75.646 -0.18291 -98.818, 79.582 -0.18291 -98.818, 82.767 -0.22874 -101.13, +77.645 -0.28687 -104.88, 83.983 -0.28884 -104.87, 82.767 -0.18762 -108.62, +79.582 -0.20815 -110.93, 75.646 -0.20815 -110.93, 72.462 -0.18762 -108.62, +71.245 -0.28884 -104.87, 72.462 -0.22493 -101.13, 75.646 -0.1831 -98.818, +79.582 -0.1831 -98.818, 82.767 -0.22493 -101.13, 77.645 -0.28872 -104.88, +83.983 -0.29043 -104.87, 82.767 -0.18931 -108.62, 79.582 -0.20497 -110.93, +75.646 -0.20497 -110.93, 72.462 -0.18931 -108.62, 71.245 -0.29043 -104.87, +72.462 -0.22119 -101.13, 75.646 -0.18356 -98.818, 79.582 -0.18356 -98.818, +82.767 -0.22119 -101.13, 77.645 -0.29032 -104.88, 83.983 -0.29176 -104.87, +82.767 -0.19124 -108.62, 79.582 -0.20195 -110.93, 75.646 -0.20195 -110.93, +72.462 -0.19124 -108.62, 71.245 -0.29176 -104.87, 72.462 -0.21754 -101.13, +75.646 -0.18429 -98.818, 79.582 -0.18429 -98.818, 82.767 -0.21754 -101.13, +77.645 -0.29167 -104.88, 83.983 -0.29283 -104.87, 82.767 -0.1934 -108.62, +79.582 -0.19911 -110.93, 75.646 -0.19911 -110.93, 72.462 -0.1934 -108.62, +71.245 -0.29283 -104.87, 72.462 -0.21399 -101.13, 75.646 -0.18529 -98.818, +79.582 -0.18529 -98.818, 82.767 -0.21399 -101.13, 77.645 -0.29276 -104.88, +83.983 -0.29364 -104.87, 82.767 -0.19578 -108.62, 79.582 -0.19646 -110.93, +75.646 -0.19646 -110.93, 72.462 -0.19578 -108.62, 71.245 -0.29364 -104.87, +72.462 -0.21056 -101.13, 75.646 -0.18654 -98.818, 79.582 -0.18654 -98.818, +82.767 -0.21056 -101.13, 77.645 -0.29359 -104.88, 83.983 -0.29418 -104.87, +82.767 -0.19837 -108.62, 79.582 -0.19402 -110.93, 75.646 -0.19402 -110.93, +72.462 -0.19837 -108.62, 71.245 -0.29418 -104.87, 72.462 -0.20727 -101.13, +75.646 -0.18805 -98.818, 79.582 -0.18805 -98.818, 82.767 -0.20727 -101.13, +77.645 -0.29415 -104.88, 83.983 -0.29445 -104.87, 82.767 -0.20116 -108.62, +79.582 -0.1918 -110.93, 75.646 -0.1918 -110.93, 72.462 -0.20116 -108.62, +71.245 -0.29445 -104.87, 72.462 -0.20413 -101.13, 75.646 -0.18981 -98.818, +79.582 -0.18981 -98.818, 82.767 -0.20413 -101.13, 77.645 -0.29444 -104.88, +83.983 -0.29445 -104.87, 82.767 -0.20413 -108.62, 79.582 -0.18981 -110.93, +75.646 -0.18981 -110.93, 72.462 -0.20413 -108.62, 71.245 -0.29445 -104.87, +72.462 -0.20116 -101.13, 75.646 -0.1918 -98.818, 79.582 -0.1918 -98.818, +82.767 -0.20116 -101.13, 77.645 -0.29446 -104.88, 83.983 -0.29418 -104.87, +82.767 -0.20727 -108.62, 79.582 -0.18805 -110.93, 75.646 -0.18805 -110.93, +72.462 -0.20727 -108.62, 71.245 -0.29418 -104.87, 72.462 -0.19837 -101.13, +75.646 -0.19402 -98.818, 79.582 -0.19402 -98.818, 82.767 -0.19837 -101.13, +77.645 -0.29421 -104.88, 83.983 -0.29364 -104.87, 82.767 -0.21056 -108.62, +79.582 -0.18654 -110.93, 75.646 -0.18654 -110.93, 72.462 -0.21056 -108.62, +71.245 -0.29364 -104.87, 72.462 -0.19578 -101.13, 75.646 -0.19646 -98.818, +79.582 -0.19646 -98.818, 82.767 -0.19578 -101.13, 77.645 -0.29369 -104.88, +83.983 -0.29283 -104.87, 82.767 -0.21399 -108.62, 79.582 -0.18529 -110.93, +75.646 -0.18529 -110.93, 72.462 -0.21399 -108.62, 71.245 -0.29283 -104.87, +72.462 -0.1934 -101.13, 75.646 -0.19911 -98.818, 79.582 -0.19911 -98.818, +82.767 -0.1934 -101.13, 77.645 -0.2929 -104.88, 83.983 -0.29176 -104.87, +82.767 -0.21754 -108.62, 79.582 -0.18429 -110.93, 75.646 -0.18429 -110.93, +72.462 -0.21754 -108.62, 71.245 -0.29176 -104.87, 72.462 -0.19124 -101.13, +75.646 -0.20195 -98.818, 79.582 -0.20195 -98.818, 82.767 -0.19124 -101.13, +77.645 -0.29184 -104.88, 83.983 -0.29042 -104.87, 82.767 -0.2212 -108.62, +79.582 -0.18356 -110.93, 75.646 -0.18356 -110.93, 72.462 -0.2212 -108.62, +71.245 -0.29042 -104.87, 72.462 -0.18931 -101.13, 75.646 -0.20497 -98.818, +79.582 -0.20497 -98.818, 82.767 -0.18931 -101.13, 77.645 -0.29053 -104.88, +83.983 -0.28884 -104.87, 82.767 -0.22493 -108.62, 79.582 -0.1831 -110.93, +75.646 -0.1831 -110.93, 72.462 -0.22493 -108.62, 71.245 -0.28884 -104.87, +72.462 -0.18762 -101.13, 75.646 -0.20815 -98.818, 79.582 -0.20815 -98.818, +82.767 -0.18762 -101.13, 77.645 -0.28896 -104.88, 83.983 -0.28701 -104.87, +82.767 -0.22874 -108.62, 79.582 -0.18291 -110.93, 75.646 -0.18291 -110.93, +72.462 -0.22874 -108.62, 71.245 -0.28701 -104.87, 72.462 -0.18618 -101.13, +75.646 -0.21148 -98.818, 79.582 -0.21148 -98.818, 82.767 -0.18618 -101.13, +77.645 -0.28715 -104.88, 83.983 -0.28495 -104.87, 82.767 -0.23259 -108.62, +79.582 -0.18299 -110.93, 75.646 -0.18299 -110.93, 72.462 -0.23259 -108.62, +71.245 -0.28495 -104.87, 72.462 -0.18499 -101.13, 75.646 -0.21494 -98.818, +79.582 -0.21494 -98.818, 82.767 -0.18499 -101.13, 77.645 -0.2851 -104.88, +83.983 -0.28266 -104.87, 82.767 -0.23648 -108.62, 79.582 -0.18335 -110.93, +75.646 -0.18335 -110.93, 72.462 -0.23648 -108.62, 71.245 -0.28266 -104.87, +72.462 -0.18407 -101.13, 75.646 -0.21852 -98.818, 79.582 -0.21852 -98.818, +82.767 -0.18407 -101.13, 77.645 -0.28283 -104.88, 83.983 -0.28016 -104.87, +82.767 -0.24037 -108.62, 79.582 -0.18397 -110.93, 75.646 -0.18397 -110.93, +72.462 -0.24037 -108.62, 71.245 -0.28016 -104.87, 72.462 -0.18341 -101.13, +75.646 -0.2222 -98.818, 79.582 -0.2222 -98.818, 82.767 -0.18341 -101.13, +77.645 -0.28034 -104.88, 83.983 -0.27745 -104.87, 82.767 -0.24425 -108.62, +79.582 -0.18486 -110.93, 75.646 -0.18486 -110.93, 72.462 -0.24425 -108.62, +71.245 -0.27745 -104.87, 72.462 -0.18302 -101.13, 75.646 -0.22596 -98.818, +79.582 -0.22596 -98.818, 82.767 -0.18302 -101.13, 77.645 -0.27765 -104.88, +83.983 -0.27456 -104.87, 82.767 -0.24811 -108.62, 79.582 -0.18601 -110.93, +75.646 -0.18601 -110.93, 72.462 -0.24811 -108.62, 71.245 -0.27456 -104.87, +72.462 -0.18291 -101.13, 75.646 -0.22978 -98.818, 79.582 -0.22978 -98.818, +82.767 -0.18291 -101.13, 77.645 -0.27477 -104.88, 83.983 -0.27149 -104.87, +82.767 -0.25193 -108.62, 79.582 -0.18742 -110.93, 75.646 -0.18742 -110.93, +72.462 -0.25193 -108.62, 71.245 -0.27149 -104.87, 72.462 -0.18306 -101.13, +75.646 -0.23364 -98.818, 79.582 -0.23364 -98.818, 82.767 -0.18306 -101.13, +77.645 -0.27171 -104.88, 83.983 -0.26826 -104.87, 82.767 -0.25568 -108.62, +79.582 -0.18907 -110.93, 75.646 -0.18907 -110.93, 72.462 -0.25568 -108.62, +71.245 -0.26826 -104.87, 72.462 -0.18349 -101.13, 75.646 -0.23753 -98.818, +79.582 -0.23753 -98.818, 82.767 -0.18349 -101.13, 77.645 -0.26849 -104.88, +83.983 -0.26489 -104.87, 82.767 -0.25934 -108.62, 79.582 -0.19097 -110.93, +75.646 -0.19097 -110.93, 72.462 -0.25934 -108.62, 71.245 -0.26489 -104.87, +72.462 -0.18418 -101.13, 75.646 -0.24142 -98.818, 79.582 -0.24142 -98.818, +82.767 -0.18418 -101.13, 77.645 -0.26513 -104.88, 83.983 -0.26139 -104.87, +82.767 -0.26291 -108.62, 79.582 -0.19311 -110.93, 75.646 -0.19311 -110.93, +72.462 -0.26291 -108.62, 71.245 -0.26139 -104.87, 72.462 -0.18514 -101.13, +75.646 -0.2453 -98.818, 79.582 -0.2453 -98.818, 82.767 -0.18514 -101.13, +77.645 -0.26164 -104.88, 83.983 -0.25778 -104.87, 82.767 -0.26635 -108.62, +79.582 -0.19546 -110.93, 75.646 -0.19546 -110.93, 72.462 -0.26635 -108.62, +71.245 -0.25778 -104.87, 72.462 -0.18637 -101.13, 75.646 -0.24915 -98.818, +79.582 -0.24915 -98.818, 82.767 -0.18637 -101.13, 77.645 -0.25804 -104.88, +83.983 -0.25407 -104.87, 82.767 -0.26967 -108.62, 79.582 -0.19803 -110.93, +75.646 -0.19803 -110.93, 72.462 -0.26967 -108.62, 71.245 -0.25407 -104.87, +72.462 -0.18784 -101.13, 75.646 -0.25295 -98.818, 79.582 -0.25295 -98.818, +82.767 -0.18784 -101.13, 77.645 -0.25434 -104.88, 83.983 -0.2503 -104.87, +82.767 -0.27283 -108.62, 79.582 -0.20079 -110.93, 75.646 -0.20079 -110.93, +72.462 -0.27283 -108.62, 71.245 -0.2503 -104.87, 72.462 -0.18957 -101.13, +75.646 -0.25668 -98.818, 79.582 -0.25668 -98.818, 82.767 -0.18957 -101.13, +77.645 -0.25057 -104.88, 83.983 -0.24646 -104.87, 82.767 -0.27582 -108.62, +79.582 -0.20374 -110.93, 75.646 -0.20374 -110.93, 72.462 -0.27582 -108.62, +71.245 -0.24646 -104.87, 72.462 -0.19153 -101.13, 75.646 -0.26032 -98.818, +79.582 -0.26032 -98.818, 82.767 -0.19153 -101.13, 77.645 -0.24673 -104.88, +83.983 -0.24259 -104.87, 82.767 -0.27864 -108.62, 79.582 -0.20686 -110.93, +75.646 -0.20686 -110.93, 72.462 -0.27864 -108.62, 71.245 -0.24259 -104.87, +72.462 -0.19372 -101.13, 75.646 -0.26385 -98.818, 79.582 -0.26385 -98.818, +82.767 -0.19372 -101.13, 77.645 -0.24286 -104.88, 83.983 -0.2387 -104.87, +82.767 -0.28126 -108.62, 79.582 -0.21013 -110.93, 75.646 -0.21013 -110.93, +72.462 -0.28126 -108.62, 71.245 -0.2387 -104.87, 72.462 -0.19614 -101.13, +75.646 -0.26727 -98.818, 79.582 -0.26727 -98.818, 82.767 -0.19614 -101.13, +77.645 -0.23897 -104.88, 83.983 -0.2348 -104.87, 82.767 -0.28367 -108.62, +79.582 -0.21354 -110.93, 75.646 -0.21354 -110.93, 72.462 -0.28367 -108.62, +71.245 -0.2348 -104.87, 72.462 -0.19876 -101.13, 75.646 -0.27054 -98.818, +79.582 -0.27054 -98.818, 82.767 -0.19876 -101.13, 77.645 -0.23508 -104.88, +83.983 -0.23093 -104.87, 82.767 -0.28586 -108.62, 79.582 -0.21708 -110.93, +75.646 -0.21708 -110.93, 72.462 -0.28586 -108.62, 71.245 -0.23093 -104.87, +72.462 -0.20157 -101.13, 75.646 -0.27366 -98.818, 79.582 -0.27366 -98.818, +82.767 -0.20157 -101.13, 77.645 -0.23121 -104.88, 83.983 -0.2271 -104.87, +82.767 -0.28783 -108.62, 79.582 -0.22072 -110.93, 75.646 -0.22072 -110.93, +72.462 -0.28783 -108.62, 71.245 -0.2271 -104.87, 72.462 -0.20457 -101.13, +75.646 -0.2766 -98.818, 79.582 -0.2766 -98.818, 82.767 -0.20457 -101.13, +77.645 -0.22737 -104.88, 83.983 -0.22332 -104.87, 82.767 -0.28955 -108.62, +79.582 -0.22444 -110.93, 75.646 -0.22444 -110.93, 72.462 -0.28955 -108.62, +71.245 -0.22332 -104.87, 72.462 -0.20773 -101.13, 75.646 -0.27937 -98.818, +79.582 -0.27937 -98.818, 82.767 -0.20773 -101.13, 77.645 -0.22358 -104.88, +83.983 -0.21961 -104.87, 82.767 -0.29103 -108.62, 79.582 -0.22824 -110.93, +75.646 -0.22824 -110.93, 72.462 -0.29103 -108.62, 71.245 -0.21961 -104.87, +72.462 -0.21104 -101.13, 75.646 -0.28193 -98.818, 79.582 -0.28193 -98.818, +82.767 -0.21104 -101.13, 77.645 -0.21987 -104.88, 83.983 -0.216 -104.87, +82.767 -0.29225 -108.62, 79.582 -0.23209 -110.93, 75.646 -0.23209 -110.93, +72.462 -0.29225 -108.62, 71.245 -0.216 -104.87, 72.462 -0.21449 -101.13, +75.646 -0.28429 -98.818, 79.582 -0.28429 -98.818, 82.767 -0.21449 -101.13, +77.645 -0.21626 -104.88, 83.983 -0.2125 -104.87, 82.767 -0.29321 -108.62, +79.582 -0.23597 -110.93, 75.646 -0.23597 -110.93, 72.462 -0.29321 -108.62, +71.245 -0.2125 -104.87, 72.462 -0.21805 -101.13, 75.646 -0.28642 -98.818, +79.582 -0.28642 -98.818, 82.767 -0.21805 -101.13, 77.645 -0.21275 -104.88, +83.983 -0.20913 -104.87, 82.767 -0.29391 -108.62, 79.582 -0.23986 -110.93, +75.646 -0.23986 -110.93, 72.462 -0.29391 -108.62, 71.245 -0.20913 -104.87, +72.462 -0.22172 -101.13, 75.646 -0.28832 -98.818, 79.582 -0.28832 -98.818, +82.767 -0.22172 -101.13, 77.645 -0.20937 -104.88, 83.983 -0.2059 -104.87, +82.767 -0.29433 -108.62, 79.582 -0.24375 -110.93, 75.646 -0.24375 -110.93, +72.462 -0.29433 -108.62, 71.245 -0.2059 -104.87, 72.462 -0.22547 -101.13, +75.646 -0.28998 -98.818, 79.582 -0.28998 -98.818, 82.767 -0.22547 -101.13, +77.645 -0.20613 -104.88, 83.983 -0.20283 -104.87, 82.767 -0.29449 -108.62, +79.582 -0.24762 -110.93, 75.646 -0.24762 -110.93, 72.462 -0.29449 -108.62, +71.245 -0.20283 -104.87, 72.462 -0.22928 -101.13, 75.646 -0.29138 -98.818, +79.582 -0.29138 -98.818, 82.767 -0.22928 -101.13, 77.645 -0.20305 -104.88, +83.983 -0.19994 -104.87, 82.767 -0.29437 -108.62, 79.582 -0.25144 -110.93, +75.646 -0.25144 -110.93, 72.462 -0.29437 -108.62, 71.245 -0.19994 -104.87, +72.462 -0.23314 -101.13, 75.646 -0.29254 -98.818, 79.582 -0.29254 -98.818, +82.767 -0.23314 -101.13, 77.645 -0.20014 -104.88, 83.983 -0.19724 -104.87, +82.767 -0.29398 -108.62, 79.582 -0.25519 -110.93, 75.646 -0.25519 -110.93, +72.462 -0.29398 -108.62, 71.245 -0.19724 -104.87, 72.462 -0.23702 -101.13, +75.646 -0.29343 -98.818, 79.582 -0.29343 -98.818, 82.767 -0.23702 -101.13, +77.645 -0.19742 -104.88, 83.983 -0.19473 -104.87, 82.767 -0.29332 -108.62, +79.582 -0.25887 -110.93, 75.646 -0.25887 -110.93, 72.462 -0.29332 -108.62, +71.245 -0.19473 -104.87, 72.462 -0.24092 -101.13, 75.646 -0.29405 -98.818, +79.582 -0.29405 -98.818, 82.767 -0.24092 -101.13, 77.645 -0.1949 -104.88, +83.983 -0.19244 -104.87, 82.767 -0.2924 -108.62, 79.582 -0.26245 -110.93, +75.646 -0.26245 -110.93, 72.462 -0.2924 -108.62, 71.245 -0.19244 -104.87, +72.462 -0.2448 -101.13, 75.646 -0.2944 -98.818, 79.582 -0.2944 -98.818, +82.767 -0.2448 -101.13, 77.645 -0.1926 -104.88, 83.983 -0.19038 -104.87, +82.767 -0.29122 -108.62, 79.582 -0.26591 -110.93, 75.646 -0.26591 -110.93, +72.462 -0.29122 -108.62, 71.245 -0.19038 -104.87, 72.462 -0.24866 -101.13, +75.646 -0.29448 -98.818, 79.582 -0.29448 -98.818, 82.767 -0.24866 -101.13, +77.645 -0.19052 -104.88, 83.983 -0.18855 -104.87, 82.767 -0.28978 -108.62, +79.582 -0.26924 -110.93, 75.646 -0.26924 -110.93, 72.462 -0.28978 -108.62, +71.245 -0.18855 -104.87, 72.462 -0.25246 -101.13, 75.646 -0.29429 -98.818, +79.582 -0.29429 -98.818, 82.767 -0.25246 -101.13, 77.645 -0.18867 -104.88, +83.983 -0.18697 -104.87, 82.767 -0.28809 -108.62, 79.582 -0.27243 -110.93, +75.646 -0.27243 -110.93, 72.462 -0.28809 -108.62, 71.245 -0.18697 -104.87, +72.462 -0.2562 -101.13, 75.646 -0.29383 -98.818, 79.582 -0.29383 -98.818, +82.767 -0.2562 -101.13, 77.645 -0.18707 -104.88, 83.983 -0.18564 -104.87, +82.767 -0.28615 -108.62, 79.582 -0.27544 -110.93, 75.646 -0.27544 -110.93, +72.462 -0.28615 -108.62, 71.245 -0.18564 -104.87, 72.462 -0.25985 -101.13, +75.646 -0.2931 -98.818, 79.582 -0.2931 -98.818, 82.767 -0.25985 -101.13, +77.645 -0.18572 -104.88, 83.983 -0.18456 -104.87, 82.767 -0.28399 -108.62, +79.582 -0.27828 -110.93, 75.646 -0.27828 -110.93, 72.462 -0.28399 -108.62, +71.245 -0.18456 -104.87, 72.462 -0.2634 -101.13, 75.646 -0.29211 -98.818, +79.582 -0.29211 -98.818, 82.767 -0.2634 -101.13, 77.645 -0.18463 -104.88, +83.983 -0.18375 -104.87, 82.767 -0.28161 -108.62, 79.582 -0.28093 -110.93, +75.646 -0.28093 -110.93, 72.462 -0.28161 -108.62, 71.245 -0.18375 -104.87, +72.462 -0.26683 -101.13, 75.646 -0.29085 -98.818, 79.582 -0.29085 -98.818, +82.767 -0.26683 -101.13, 77.645 -0.1838 -104.88, 83.983 -0.18321 -104.87, +82.767 -0.27902 -108.62, 79.582 -0.28337 -110.93, 75.646 -0.28337 -110.93, +72.462 -0.27902 -108.62, 71.245 -0.18321 -104.87, 72.462 -0.27012 -101.13, +75.646 -0.28934 -98.818, 79.582 -0.28934 -98.818, 82.767 -0.27012 -101.13, +77.645 -0.18324 -104.88, 83.983 -0.18294 -104.87, 82.767 -0.27623 -108.62, +79.582 -0.28559 -110.93, 75.646 -0.28559 -110.93, 72.462 -0.27623 -108.62, +71.245 -0.18294 -104.87, 72.462 -0.27326 -101.13, 75.646 -0.28759 -98.818, +79.582 -0.28759 -98.818, 82.767 -0.27326 -101.13, 77.645 -0.18295 -104.88, +83.983 -0.18294 -104.87, 82.767 -0.27326 -108.62, 79.582 -0.28759 -110.93, +75.646 -0.28759 -110.93, 72.462 -0.27326 -108.62, 71.245 -0.18294 -104.87, +72.462 -0.27623 -101.13, 75.646 -0.28559 -98.818, 79.582 -0.28559 -98.818, +82.767 -0.27623 -101.13, 77.645 -0.18293 -104.88, 83.983 -0.18321 -104.87, +82.767 -0.27012 -108.62, 79.582 -0.28934 -110.93, 75.646 -0.28934 -110.93, +72.462 -0.27012 -108.62, 71.245 -0.18321 -104.87, 72.462 -0.27902 -101.13, +75.646 -0.28337 -98.818, 79.582 -0.28337 -98.818, 82.767 -0.27902 -101.13, +77.645 -0.18318 -104.88, 83.983 -0.18375 -104.87, 82.767 -0.26683 -108.62, +79.582 -0.29085 -110.93, 75.646 -0.29085 -110.93, 72.462 -0.26683 -108.62, +71.245 -0.18375 -104.87, 72.462 -0.28161 -101.13, 75.646 -0.28093 -98.818, +79.582 -0.28093 -98.818, 82.767 -0.28161 -101.13, 77.645 -0.18371 -104.88, +83.983 -0.18456 -104.87, 82.767 -0.2634 -108.62, 79.582 -0.29211 -110.93, +75.646 -0.29211 -110.93, 72.462 -0.2634 -108.62, 71.245 -0.18456 -104.87, +72.462 -0.28399 -101.13, 75.646 -0.27828 -98.818, 79.582 -0.27828 -98.818, +82.767 -0.28399 -101.13, 77.645 -0.1845 -104.88, 83.983 -0.18564 -104.87, +82.767 -0.25985 -108.62, 79.582 -0.2931 -110.93, 75.646 -0.2931 -110.93, +72.462 -0.25985 -108.62, 71.245 -0.18564 -104.87, 72.462 -0.28616 -101.13, +75.646 -0.27544 -98.818, 79.582 -0.27544 -98.818, 82.767 -0.28616 -101.13, +77.645 -0.18555 -104.88, 83.983 -0.18697 -104.87, 82.767 -0.2562 -108.62, +79.582 -0.29383 -110.93, 75.646 -0.29383 -110.93, 72.462 -0.2562 -108.62, +71.245 -0.18697 -104.87, 72.462 -0.28809 -101.13, 75.646 -0.27243 -98.818, +79.582 -0.27243 -98.818, 82.767 -0.28809 -101.13, 77.645 -0.18686 -104.88, +83.983 -0.18855 -104.87, 82.767 -0.25246 -108.62, 79.582 -0.29429 -110.93, +75.646 -0.29429 -110.93, 72.462 -0.25246 -108.62, 71.245 -0.18855 -104.87, +72.462 -0.28978 -101.13, 75.646 -0.26924 -98.818, 79.582 -0.26924 -98.818, +82.767 -0.28978 -101.13, 77.645 -0.18843 -104.88, 83.983 -0.19038 -104.87, +82.767 -0.24866 -108.62, 79.582 -0.29448 -110.93, 75.646 -0.29448 -110.93, +72.462 -0.24866 -108.62, 71.245 -0.19038 -104.87, 72.462 -0.29122 -101.13, +75.646 -0.26591 -98.818, 79.582 -0.26591 -98.818, 82.767 -0.29122 -101.13, +77.645 -0.19024 -104.88, 83.983 -0.19244 -104.87, 82.767 -0.2448 -108.62, +79.582 -0.2944 -110.93, 75.646 -0.2944 -110.93, 72.462 -0.2448 -108.62, +71.245 -0.19244 -104.87, 72.462 -0.2924 -101.13, 75.646 -0.26245 -98.818, +79.582 -0.26245 -98.818, 82.767 -0.2924 -101.13, 77.645 -0.19229 -104.88, +83.983 -0.19473 -104.87, 82.767 -0.24092 -108.62, 79.582 -0.29405 -110.93, +75.646 -0.29405 -110.93, 72.462 -0.24092 -108.62, 71.245 -0.19473 -104.87, +72.462 -0.29332 -101.13, 75.646 -0.25887 -98.818, 79.582 -0.25887 -98.818, +82.767 -0.29332 -101.13, 77.645 -0.19456 -104.88, 83.983 -0.19724 -104.87, +82.767 -0.23702 -108.62, 79.582 -0.29343 -110.93, 75.646 -0.29343 -110.93, +72.462 -0.23702 -108.62, 71.245 -0.19724 -104.87, 72.462 -0.29398 -101.13, +75.646 -0.25519 -98.818, 79.582 -0.25519 -98.818, 82.767 -0.29398 -101.13, +77.645 -0.19705 -104.88, 83.983 -0.19994 -104.87, 82.767 -0.23314 -108.62, +79.582 -0.29254 -110.93, 75.646 -0.29254 -110.93, 72.462 -0.23314 -108.62, +71.245 -0.19994 -104.87, 72.462 -0.29437 -101.13, 75.646 -0.25143 -98.818, +79.582 -0.25143 -98.818, 82.767 -0.29437 -101.13, 77.645 -0.19974 -104.88, +83.983 -0.20284 -104.87, 82.767 -0.22928 -108.62, 79.582 -0.29138 -110.93, +75.646 -0.29138 -110.93, 72.462 -0.22928 -108.62, 71.245 -0.20284 -104.87, +72.462 -0.29449 -101.13, 75.646 -0.24762 -98.818, 79.582 -0.24762 -98.818, +82.767 -0.29449 -101.13, 77.645 -0.20262 -104.88, 83.983 -0.2059 -104.87, +82.767 -0.22547 -108.62, 79.582 -0.28998 -110.93, 75.646 -0.28998 -110.93, +72.462 -0.22547 -108.62, 71.245 -0.2059 -104.87, 72.462 -0.29433 -101.13, +75.646 -0.24375 -98.818, 79.582 -0.24375 -98.818, 82.767 -0.29433 -101.13, +77.645 -0.20568 -104.88, 83.983 -0.20913 -104.87, 82.767 -0.22172 -108.62, +79.582 -0.28832 -110.93, 75.646 -0.28832 -110.93, 72.462 -0.22172 -108.62, +71.245 -0.20913 -104.87, 72.462 -0.29391 -101.13, 75.646 -0.23986 -98.818, +79.582 -0.23986 -98.818, 82.767 -0.29391 -101.13, 77.645 -0.2089 -104.88, +83.983 -0.2125 -104.87, 82.767 -0.21805 -108.62, 79.582 -0.28642 -110.93, +75.646 -0.28642 -110.93, 72.462 -0.21805 -108.62, 71.245 -0.2125 -104.87, +72.462 -0.29321 -101.13, 75.646 -0.23597 -98.818, 79.582 -0.23597 -98.818, +82.767 -0.29321 -101.13, 77.645 -0.21226 -104.88, 83.983 -0.216 -104.87, +82.767 -0.21449 -108.62, 79.582 -0.28429 -110.93, 75.646 -0.28429 -110.93, +72.462 -0.21449 -108.62, 71.245 -0.216 -104.87, 72.462 -0.29225 -101.13, +75.646 -0.23209 -98.818, 79.582 -0.23209 -98.818, 82.767 -0.29225 -101.13, +77.645 -0.21575 -104.88, 83.983 -0.21962 -104.87, 82.767 -0.21104 -108.62, +79.582 -0.28193 -110.93, 75.646 -0.28193 -110.93, 72.462 -0.21104 -108.62, +71.245 -0.21962 -104.87, 72.462 -0.29103 -101.13, 75.646 -0.22824 -98.818, +79.582 -0.22824 -98.818, 82.767 -0.29103 -101.13, 77.645 -0.21935 -104.88, +83.983 -0.22332 -104.87, 82.767 -0.20773 -108.62, 79.582 -0.27937 -110.93, +75.646 -0.27937 -110.93, 72.462 -0.20773 -108.62, 71.245 -0.22332 -104.87, +72.462 -0.28955 -101.13, 75.646 -0.22444 -98.818, 79.582 -0.22444 -98.818, +82.767 -0.28955 -101.13, 77.645 -0.22305 -104.88, 83.983 -0.2271 -104.87, +82.767 -0.20457 -108.62, 79.582 -0.2766 -110.93, 75.646 -0.2766 -110.93, +72.462 -0.20457 -108.62, 71.245 -0.2271 -104.87, 72.462 -0.28783 -101.13, +75.646 -0.22072 -98.818, 79.582 -0.22072 -98.818, 82.767 -0.28783 -101.13, +77.645 -0.22683 -104.88, 83.983 -0.23093 -104.87, 82.767 -0.20157 -108.62, +79.582 -0.27366 -110.93, 75.646 -0.27366 -110.93, 72.462 -0.20157 -108.62, +71.245 -0.23093 -104.87, 72.462 -0.28586 -101.13, 75.646 -0.21708 -98.818, +79.582 -0.21708 -98.818, 82.767 -0.28586 -101.13, 77.645 -0.23066 -104.88, +83.983 -0.23481 -104.87, 82.767 -0.19876 -108.62, 79.582 -0.27054 -110.93, +75.646 -0.27054 -110.93, 72.462 -0.19876 -108.62, 71.245 -0.23481 -104.87, +72.462 -0.28367 -101.13, 75.646 -0.21354 -98.818, 79.582 -0.21354 -98.818, +82.767 -0.28367 -101.13, 77.645 -0.23453 -104.88, 83.983 -0.2387 -104.87, +82.767 -0.19614 -108.62, 79.582 -0.26727 -110.93, 75.646 -0.26727 -110.93, +72.462 -0.19614 -108.62, 71.245 -0.2387 -104.87, 72.462 -0.28126 -101.13, +75.646 -0.21013 -98.818, 79.582 -0.21013 -98.818, 82.767 -0.28126 -101.13, +77.645 -0.23842 -104.88, ] +} + +]}#end collide +] +ROUTE water-TIMER.fraction_changed TO water-COORD-INTERP.set_fraction +ROUTE water-COORD-INTERP.value_changed TO water-COORD.set_point +} +#################################################### +#stairs +#################################################### +DEF stairs_enclosure Transform { +translation 0 0 0 +scale 0.71429 1 0.71429 +children [ +Shape { +appearance USE Glass + +geometry DEF stairs_enclosure-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF stairs_enclosure-COORD Coordinate { point [ +-8.2817 0 1.1873, -7.2463 0.62683 -2.9765, -4.1837 1.2537 -6.0392, +0 1.8805 -7.1602, 4.1837 2.5073 -6.0392, 7.2463 3.1342 -2.9766, +8.3673 3.761 1.2071, -8.2817 7 1.1873, -7.2463 7.6268 -2.9765, +-4.1837 8.2537 -6.0392, 0 8.8805 -7.1602, 4.1837 9.5073 -6.0392, +7.2463 10.134 -2.9766, 8.3673 10.761 1.2071, -3.2474 0 1.2269, +-2.7382 0.62683 -0.3738, -1.5809 1.2537 -1.5311, 0 1.8805 -1.9547, +1.5809 2.5073 -1.5311, 2.7382 3.1342 -0.37381, 3.1618 3.761 1.2071, +-3.2474 7 1.2269, -2.7382 7.6268 -0.3738, -1.5809 8.2537 -1.5311, +0 8.8805 -1.9547, 1.5809 9.5073 -1.5311, 2.7382 10.134 -0.37381, +3.1618 10.761 1.2071] +} +coordIndex [ +0, 1, 8, 7, -1, 1, 2, 9, 8, -1, 2, 3, 10, 9, -1, 3, 4, 11, 10, +-1, 4, 5, 12, 11, -1, 5, 6, 13, 12, -1, 14, 15, 22, 21, -1, 15, +16, 23, 22, -1, 16, 17, 24, 23, -1, 17, 18, 25, 24, -1, 18, 19, +26, 25, -1, 19, 20, 27, 26, -1] +texCoord DEF stairs_enclosure-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 1, 0 1, 0 1, 0 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, +0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 1, 1 0, 0 1, +0 1, 0 1, 0 1, 0 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, +1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 1] +} +texCoordIndex [ +7, 8, 9, 1, -1, 10, 11, 12, 2, -1, 13, 14, 15, 3, -1, 16, 17, +18, 4, -1, 19, 20, 21, 5, -1, 22, 0, 23, 6, -1, 31, 32, 33, 25, +-1, 34, 35, 36, 26, -1, 37, 38, 39, 27, -1, 40, 41, 42, 28, -1, +43, 44, 45, 29, -1, 46, 24, 47, 30, -1] +} +} +] +} +DEF stairs Transform { +translation 0 0 0 +scale 0.71429 1 0.71429 +children [ +DEF stairs-TIMER TimeSensor { loop TRUE cycleInterval 166.67 }, +Shape { +appearance DEF StepsTex Appearance { +material Material {} +texture ImageTexture { +url "steps.gif" +} +} +geometry DEF stairs-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +coord DEF stairs-COORD Coordinate { point [ +-81.905 5.4784 -123.5, -87.277 5.4784 -120.88, -87.841 0 -121.69, +-92.362 0 -117.32, -94.626 2.8585 -128.71, -99.154 2.8591 -124.36, +-86.565 3.0245 -133.15, -91.875 3.0011 -130.41, -94.081 2.933 -131.36, +-99.302 3.0772 -133.41, -93.347 2.8494 -136.79, -3.2474 0 1.2269, +-8.2817 0 1.1873, -2.7382 0.62683 -0.3738, -7.2463 0.62683 -2.9765, +-1.5809 1.2537 -1.5311, -4.1837 1.2537 -6.0392, 0 1.8805 -1.9547, +0 1.8805 -7.1602, 1.5809 2.5073 -1.5311, 4.1837 2.5073 -6.0392, +2.7382 3.1342 -0.37381, 7.2463 3.1342 -2.9766, 3.1618 3.761 1.2071, +8.3673 3.761 1.2071, -3.2474 7 1.2269, -8.2817 7 1.1873, -2.7382 7.6268 -0.3738, +-7.2463 7.6268 -2.9765, -1.5809 8.2537 -1.5311, -4.1837 8.2537 -6.0392, +0 8.8805 -1.9547, 0 8.8805 -7.1602, 1.5809 9.5073 -1.5311, 4.1837 9.5073 -6.0392, +2.7382 10.134 -0.37381, 7.2463 10.134 -2.9766, 3.1618 10.761 1.2071, +8.3673 10.761 1.2071, -3.2474 3.761 1.2269, -8.2817 3.761 1.1873, +-2.7382 4.3879 -0.3738, -7.2463 4.3879 -2.9765, -1.5809 5.0147 -1.5311, +-4.1837 5.0147 -6.0392, 0 5.6415 -1.9547, 0 5.6415 -7.1602, 1.5809 6.2684 -1.5311, +4.1837 6.2684 -6.0392, 2.7382 6.8952 -0.37381, 7.2463 6.8952 -2.9766, +3.1618 7.522 1.2071, 8.3673 7.522 1.2071] +} +texCoord DEF stairs-TEXCOORD TextureCoordinate { point [ +0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, +1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 1 1, +0 1, 0 0, 1 0, 1 0, 0 0, 1 0, 0 0, 1 0, 0 0, 1 0, 0 0, 1 0, 0 0, +1 1, 0 1, 0 0, 1 0, 1 0, 0 0, 1 0, 0 0, 1 0, 0 0, 1 0, 0 0, 1 0, +0 0, 1 1, 0 1, 0 0, 1 0, 1 0, 0 0, 1 0, 0 0, 1 0, 0 0, 1 0, 0 0, +1 0, 0 0, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, +1 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 1, +0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, +1 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 0 0, 1 1, 1 1, 0 1, +0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, +1 1, 1 1, 0 1, 0 0, 1 1] +} +coordIndex [ +2, 3, 5, -1, 5, 4, 2, -1, 0, 1, 7, -1, 7, 6, 0, -1, 4, 5, 9, -1, +9, 8, 4, -1, 6, 7, 8, -1, 8, 10, 6, -1, 10, 9, 8, -1, 11, 12, 14, -1, +14, 13, 11, -1, 13, 14, 16, -1, 16, 15, 13, -1, 15, 16, 18, -1, +18, 17, 15, -1, 17, 18, 20, -1, 20, 19, 17, -1, 19, 20, 22, -1, +22, 21, 19, -1, 21, 22, 24, -1, 24, 23, 21, -1, 25, 26, 28, -1, +28, 27, 25, -1, 27, 28, 30, -1, 30, 29, 27, -1, 29, 30, 32, -1, +32, 31, 29, -1, 31, 32, 34, -1, 34, 33, 31, -1, 33, 34, 36, -1, +36, 35, 33, -1, 35, 36, 38, -1, 38, 37, 35, -1, 39, 40, 42, -1, +42, 41, 39, -1, 41, 42, 44, -1, 44, 43, 41, -1, 43, 44, 46, -1, +46, 45, 43, -1, 45, 46, 48, -1, 48, 47, 45, -1, 47, 48, 50, -1, +50, 49, 47, -1, 49, 50, 52, -1, 52, 51, 49, -1] +texCoordIndex [ +5, 6, 7, -1, 8, 9, 1, -1, 10, 11, 12, -1, 13, 14, 0, -1, 15, 16, 17, -1, +18, 19, 2, -1, 20, 21, 22, -1, 23, 24, 3, -1, 25, 26, 4, -1, +69, 28, 70, -1, 71, 72, 27, -1, 73, 29, 74, -1, 75, 76, 30, -1, +77, 31, 78, -1, 79, 80, 32, -1, 81, 33, 82, -1, 83, 84, 34, -1, +85, 35, 86, -1, 87, 88, 36, -1, 89, 37, 90, -1, 39, 40, 38, -1, +91, 42, 92, -1, 93, 94, 41, -1, 95, 43, 96, -1, 97, 98, 44, -1, +99, 45, 100, -1, 101, 102, 46, -1, 103, 47, 104, -1, 105, 106, 48, -1, +107, 49, 108, -1, 109, 110, 50, -1, 111, 51, 112, -1, 53, 54, 52, -1, +113, 56, 114, -1, 115, 116, 55, -1, 117, 57, 118, -1, 119, 120, 58, -1, +121, 59, 122, -1, 123, 124, 60, -1, 125, 61, 126, -1, 127, 128, 62, -1, +129, 63, 130, -1, 131, 132, 64, -1, 133, 65, 134, -1, 67, 68, 66, -1] +} +} +] +} +####################################################### +#floors +###################################################### +DEF floors Transform { +translation 0 0 0 +scale 0.71429 1 0.71429 +children [ +DEF floors-TIMER TimeSensor { loop TRUE cycleInterval 166.67 }, +Shape { +appearance USE FloorTex +geometry DEF floors-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +coord DEF floors-COORD Coordinate { point [ +-8.8899 0 1.2261, 8.8711 0 1.2261, 28.285 0 20.55, 10.804 0 33.251, +-10.804 0 33.251, -28.285 0 20.55, 17.752 0 1.2261, -17.77 0 1.2261, +-14.368 -1 -10.436, -5.4871 -1 -16.888, 5.4898 -1 -16.888, 14.37 -1 -10.436, +20.95 0 1.2261, -21.005 0 1.2261, -16.988 0 -12.372, -6.4989 0 -19.992, +6.466 0 -19.992, 16.955 0 -12.372, 34.952 0 1.2261, -34.973 0 1.2261, +-28.285 0 -20.55, -10.804 0 -33.251, 10.804 0 -33.251, 28.285 0 -20.55, +-7.8976 -3 -1.2261, 7.9111 -3 -1.2261, -6.3987 -3 -4.656, -2.4465 -3 -7.5274, +2.4386 -3 -7.5274, 6.3908 -3 -4.656, 17.759 -1 0.4087, -17.763 -1 0.4087, +19.954 -1 0.40869, -20.003 -1 0.40869, -16.184 -1 -11.796, -6.1949 -1 -19.054, +6.1526 -1 -19.054, 16.142 -1 -11.796, -8.8491 3.761 1.1789, -20.556 3.761 -14.946, +-25.401 3.761 1.179, -7.1608 3.761 -5.2035, -7.8555 3.761 -24.173, +-2.7317 3.761 -8.4214, 7.8428 3.761 -24.173, 2.743 3.761 -8.4214, +20.543 3.761 -14.946, 7.1722 3.761 -5.2035, 25.399 3.761 1.179, +8.8632 3.761 1.1789, 20.556 3.761 15.6, 7.8555 3.761 24.828, +-7.8428 3.761 24.828, -20.543 3.761 15.6, 17.162 7.522 1.2022, +13.889 7.522 10.932, -0.13785 7.522 1.2022, 5.3078 7.522 17.167, +-5.2992 7.522 17.167, -13.88 7.522 10.932, -17.163 7.522 1.2022, +27.811 0 30.576, 20.734 0 35.718, -20.172 0 35.349, -27.249 0 30.207, +-26.728 0 -29.346, -19.65 0 -34.488, 19.65 0 -34.488, 26.728 0 -29.346, +63.313 0 79.441, 56.236 0 84.583, -55.674 0 84.214, -62.751 0 79.071, +-62.23 0 -78.21, -55.152 0 -83.352, 55.152 0 -83.352, 62.23 0 -78.21, +102.14 0 -103.22, 97.126 0 -118.64, 84.01 0 -128.17, 67.798 0 -128.17, +54.682 0 -118.64, 49.672 0 -103.22, 54.682 0 -87.805, 67.798 0 -78.276, +84.01 0 -78.276, 97.126 0 -87.805, 93.081 0 -109.54, 90.576 0 -117.25, +84.018 0 -122.01, 75.912 0 -122.01, 69.354 0 -117.25, 66.849 0 -109.54, +69.354 0 -101.83, 75.912 0 -97.067, 84.018 0 -97.067, 90.576 0 -101.83, +55.152 0 -83.353, 62.23 0 -78.21, 123.47 0 -142.4, 120.1 0 -152.78, +111.27 0 -159.19, 100.36 0 -159.19, 91.53 0 -152.78, 88.158 0 -142.4, +91.53 0 -132.02, 100.36 0 -125.61, 111.27 0 -125.61, 120.1 0 -132.02, +117.84 0 -146.82, 116.09 0 -152.22, 111.5 0 -155.56, 105.82 0 -155.56, +101.23 0 -152.22, 99.479 0 -146.82, 101.23 0 -141.43, 105.82 0 -138.09, +111.5 0 -138.09, 116.09 0 -141.43, 75.121 0 135.9, 106.36 0 113.2, +83.664 0 81.964, 52.424 0 104.66, 85.766 0 135.48, 95.441 0 131.02, +102.67 0 123.2, 105.94 0 102.56, 101.48 0 92.883, 93.659 0 85.651, +73.018 0 82.382, 63.343 0 86.843, 56.111 0 94.666, 52.842 0 115.31, +57.302 0 124.98, 65.126 0 132.21, 78.111 0 117.02, 81.304 0 116.9, +84.207 0 115.56, 86.376 0 113.21, 87.483 0 110.21, 87.357 0 107.02, +86.019 0 104.12, 83.672 0 101.95, 80.674 0 100.84, 77.48 0 100.97, +74.577 0 102.31, 72.408 0 104.65, 71.302 0 107.65, 71.427 0 110.84, +72.765 0 113.75, 75.112 0 115.92, 63.313 0 79.441, 59.775 0 82.012, +56.236 0 84.583, -87.531 3.5376e-005 91.147, -72.978 3.4025e-005 84.802, +-58.332 3.2885e-005 95.443, -59.869 3.2307e-005 111.24, -84.191 3.4842e-005 105.2, +-74.62 3.4576e-005 112.15, -65.362 5.4784 -89.585, -61.062 5.4784 -93.737, +-58.256 5.4784 -99.014, -51.713 5.488 -108.76, -52.566 5.488 -114.66, +-55.194 5.488 -120.03, -59.339 5.488 -124.33, -64.594 5.488 -127.15, +-75.986 5.4784 -124.34, -81.905 5.4784 -123.5, -87.277 5.4784 -120.88, +-91.577 5.4784 -116.73, -94.383 5.4784 -111.45, -100.93 5.488 -101.71, +-100.07 5.488 -95.809, -97.445 5.488 -90.442, -93.301 5.488 -86.137, +-88.045 5.488 -83.316, -76.653 5.4784 -86.133, -70.734 5.4784 -86.965, +-64.798 0 -88.78, -60.277 0 -93.145, -57.327 0 -98.694, -75.969 0 -125.32, +-82.193 0 -124.44, -87.841 0 -121.69, -92.362 0 -117.32, -95.313 0 -111.77, +-76.67 0 -85.15, -70.447 0 -86.025, -64.798 0 -88.78, -60.277 0 -93.145, +-57.327 0 -98.694, -56.235 0 -104.88, -57.11 0 -111.11, -59.865 0 -116.76, +-64.231 0 -121.28, -69.78 0 -124.23, -75.969 0 -125.32, -82.193 0 -124.44, +-87.841 0 -121.69, -92.362 0 -117.32, -95.313 0 -111.77, -96.404 0 -105.58, +-95.529 0 -99.361, -92.774 0 -93.713, -88.408 0 -89.192, -82.859 0 -86.241, +-76.67 0 -85.15, -70.447 0 -86.025, -76.32 0 -105.23, -52.716 5.488 -102.89, +-70.446 5.488 -128.21, -99.923 5.488 -107.57, -82.193 5.488 -82.254, +-58.691 0 -80.781, -70.023 5.4785 -96.242, -66.996 5.4785 -99.017, +-64.882 5.4785 -102.4, -61.061 5.4881 -105.08, -60.09 5.4881 -108.72, +-60.328 5.4881 -112.29, -61.751 5.4881 -115.44, -64.22 5.4881 -117.85, +-67.494 5.4881 -119.29, -71.251 5.4881 -119.63, -75.072 5.4785 -116.95, +-78.975 5.4785 -116.12, -82.618 5.4785 -114.23, -85.645 5.4785 -111.45, +-87.759 5.4785 -108.07, -91.58 5.4881 -105.39, -92.551 5.4881 -101.75, +-92.313 5.4881 -98.179, -90.89 5.4881 -95.034, -88.421 5.4881 -92.621, +-85.147 5.4881 -91.176, -81.39 5.4881 -90.842, -77.569 5.4785 -93.517, +-73.666 5.4785 -94.347, -7.1832 -2 -5.2165, -2.7429 -2 -8.4425, +2.7455 -2 -8.4425, 7.1858 -2 -5.2165, 8.8854 -2 -0.4087, -8.8756 -2 -0.4087, +16.752 -2 -0.4087, -16.753 -2 -0.4087, -13.557 -2 -9.8575, -5.181 -2 -15.943, +5.1727 -2 -15.943, 13.549 -2 -9.8575, 0.0070515 3.761 1.1789, +0.0067477 -3 -1.2261, 0.95708 0 17.239, -65.655 3.3455e-005 90.123, +17.752 0 1.2261, -17.77 0 1.2261, 20.95 0 1.2261, -21.005 0 1.2261, +17.759 -1 0.4087, -17.763 -1 0.4087, 19.954 -1 0.40869, -20.003 -1 0.40869] +} +texCoord DEF floors-TEXCOORD TextureCoordinate { point [ +0 0, 0 0, 0 0, 0 1, 0 1, 1 0, 0 0, 1 0, 0 0, 0 0, 1 0, 0 0, 1 0, +0 0, 0 0, 0 0, 0 0, 0 0, 1 1, 0 1, 0 0, 1 0, 0 0, 1 0, 1 1, 1 0, +0 0, 0 0, 0 0, 0 1, 1 0, 0 1, 1 1, 1 1, 0 1, 0 1, 1 1, 0 1, 0 0, +1 0, 1 1, 1 1, 1 0, 1 1, 1 0, 1 1, 1 0, 1 1, 1 0, 1 1, 0 0, 0 1, +1 1, 0 1, 1 1, 1 0, 0 0, 0 1, 0 1, 0 1, 1 1, 1 1, 0 0, 1 0, 1 1, +1 0, 0 0, 1 0, 0 0, 0 0, 0 0, 0 0, 1 0, 0 0, 1 1, 0 0, 1 0, 1 0, +1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 0 1, 0 1, 1 1, 1 0, 0 0, 0 0, 0 0, +0 0, 0 0, 1 1, 0 1, 0 0, 1 1, 0 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, +1 0, 1 0, 0 1, 0 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, 1 0, +0 0, 0 0, 1 0, 1 0, 1 0, 1 0, 0 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, +1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 0 1, 0 1, 1 1, 0 0, +0 0, 0 0, 0 0, 1 0, 0 1, 0 0, 1 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, +1 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 1 0, 0 0, 1 0, +0 1, 0 1, 0 0, 0 0, 0 0, 0 0, 0 1, 0 0, 1 1, 1 0, 0 0, 0 0, 0 0, +0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, +0 0, 0 0, 1 1, 0 0, 1 0, 0 0, 1 0, 0 0, 0 0, 0 1, 1 1, 0 1, 1 1, +0 1, 0 1, 0 1, 0 1, 0 1, 0 1, 1 1, 0 1, 0 1, 0 1, 0 1, 1 1, 0 1, +0 1, 0 1, 0 1, 0 1, 0 1, 1 1, 0 1, 0 0, 0 0, 0 0, 0 0, 1 0, 0 0, +1 1, 0 1, 0 1, 0 1, 0 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 0, +0 0, 0 1, 1 1, 1 1, 0 1, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, +1 0, 1 1, 0 0, 0 1, 0 0, 1 1, 0 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, +1 1, 0 1, 0 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, +0 0, 1 0, 1 1, 0 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, +1 0, 1 1, 0 0, 1 1, 0 1, 1 0, 1 1, 0 0, 1 1, 0 1, 1 0, 1 1, 0 0, +1 1, 0 1, 1 0, 1 1, 0 0, 1 1, 0 1, 1 1, 0 0, 0 0, 1 0, 1 1, 0 0, +1 1, 0 1, 1 1, 0 1, 0 0, 1 1, 0 0, 0 1, 0 0, 1 1, 0 0, 0 1, 0 0, +1 1, 0 0, 0 1, 0 0, 1 1, 0 0, 0 1, 0 0, 1 1, 0 0, 0 0, 1 1, 0 1, +1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 0 1, 0 0, 1 1, 0 0, 0 0, 1 1, +0 0, 1 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 1, 1 1, 0 1, 0 0, +0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, 1 1, +0 1, 0 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 1, +1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 0 0, +1 1, 0 1, 0 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 1 1, 0 0, +1 1, 0 0, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, +1 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 1, 1 1, 0 1, 0 0, 1 1, +1 1, 0 1, 0 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 1, 0 0, 1 1, 0 1, 0 0, +1 1, 1 1, 0 1, 1 1, 0 0, 0 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, +1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, +0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, +0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 0 1, +0 0, 0 0, 1 0, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 0 1, 0 0, 0 0, 1 1, +0 1, 0 0, 0 0, 1 1, 0 1, 0 0, 0 0, 1 1, 0 0, 0 0, 1 0, 1 1, 1 1, +0 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 1 1, 0 1, 0 0, +1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, 0 0, +1 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 1 0, +1 1, 1 1, 0 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 1, 1 1, +0 1, 0 0, 1 1, 0 0, 1 0, 1 1, 0 1, 0 0, 1 1, 0 1, 1 1, 0 1, 1 1, +0 1, 1 1, 0 1, 1 1, 0 1, 1 1, 0 1, 1 1, 0 1, 1 1, 0 1, 1 1, 0 1, +1 1, 0 1, 1 1, 0 1, 1 1, 0 1, 1 1, 0 1, 1 1, 0 1, 1 1, 0 1, 1 1, +0 1, 1 1, 0 1, 1 1, 0 1, 1 1, 0 0, 0 1, 0 0, 0 0, 1 1, 1 1, 0 1, +0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, +0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, +1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, +1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, +1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, +0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, +0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, +0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, +1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, +1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, +1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, +0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, +1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, +0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, +1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, +0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, +1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 1, 0 0, 0 0, 1 0, +1 1, 1 1, 0 1, 0 0, 0 0, 1 0, 1 1, 1 1, 0 0, 1 1, 0 0, 1 1, 0 0, +1 1, 0 0, 1 1, 0 0, 0 0, 1 1, 1 0, 1 1, 0 0, 1 1, 1 0, 1 1, 0 0, +1 1, 1 0, 1 1, 0 0, 1 1, 1 0, 1 1, 0 0, 1 1, 0 0, 1 1, 1 1, 0 0, +1 1, 0 0, 1 1, 0 0, 1 1, 0 0, 1 0, 1 6, 0 6, 0 0, 1 0, 1 6, 0 6, +0 0, 1 0, 1 6, 0 6, 0 0, 1 0, 1 6, 0 6, 0 0, 1 6, 0 0, 1 6, 0 0, +1 6, 0 0, 1 6] +} +coordIndex [ +0, 254, 1, -1, 6, 254, 2, -1, 0, 7, 254, -1, 5, 254, 7, -1, 24, 253, 26, -1, +26, 253, 27, -1, 27, 253, 28, -1, 253, 25, 29, -1, 1, 254, 6, -1, +6, 2, 12, -1, 5, 7, 13, -1, 8, 35, 34, -1, 8, 9, 35, -1, 10, 37, 36, -1, +10, 11, 37, -1, 11, 32, 37, -1, 11, 30, 32, -1, 12, 2, 18, -1, +5, 13, 19, -1, 13, 20, 19, -1, 13, 14, 20, -1, 14, 21, 20, -1, +14, 15, 21, -1, 15, 22, 21, -1, 15, 16, 22, -1, 16, 23, 22, -1, +16, 17, 23, -1, 17, 18, 23, -1, 17, 12, 18, -1, 8, 34, 33, -1, +8, 33, 31, -1, 5, 4, 254, -1, 38, 39, 40, -1, 38, 41, 39, -1, +41, 42, 39, -1, 41, 43, 42, -1, 43, 44, 42, -1, 43, 45, 44, -1, +45, 46, 44, -1, 45, 47, 46, -1, 47, 48, 46, -1, 47, 49, 48, -1, +49, 50, 48, -1, 52, 38, 53, -1, 49, 252, 51, -1, 252, 52, 51, -1, +252, 38, 52, -1, 38, 40, 53, -1, 54, 56, 55, -1, 56, 57, 55, -1, +56, 58, 57, -1, 56, 59, 58, -1, 56, 60, 59, -1, 2, 3, 62, -1, +62, 61, 2, -1, 4, 5, 64, -1, 64, 63, 4, -1, 20, 21, 66, -1, 66, 65, 20, -1, +22, 23, 68, -1, 68, 67, 22, -1, 61, 62, 70, -1, 70, 69, 61, -1, +63, 64, 72, -1, 72, 71, 63, -1, 65, 66, 74, -1, 74, 73, 65, -1, +67, 68, 76, -1, 76, 75, 67, -1, 77, 87, 88, -1, 77, 88, 78, -1, +78, 88, 89, -1, 78, 89, 79, -1, 79, 89, 90, -1, 79, 90, 80, -1, +80, 90, 91, -1, 80, 91, 81, -1, 81, 91, 92, -1, 81, 92, 82, -1, +82, 92, 93, -1, 82, 93, 83, -1, 83, 93, 94, -1, 83, 94, 84, -1, +84, 94, 95, -1, 84, 95, 85, -1, 85, 95, 96, -1, 85, 96, 86, -1, +86, 96, 87, -1, 86, 87, 77, -1, 98, 97, 83, -1, 83, 84, 98, -1, +99, 109, 110, -1, 99, 110, 100, -1, 100, 110, 111, -1, 100, 111, 101, -1, +101, 111, 112, -1, 101, 112, 102, -1, 102, 112, 113, -1, 102, 113, 103, -1, +103, 113, 114, -1, 103, 114, 104, -1, 104, 114, 115, -1, 104, 115, 105, -1, +105, 115, 116, -1, 105, 116, 106, -1, 106, 116, 117, -1, 106, 117, 107, -1, +107, 117, 118, -1, 107, 118, 108, -1, 108, 118, 109, -1, 108, 109, 99, -1, +78, 79, 105, -1, 105, 106, 78, -1, 135, 136, 123, -1, 123, 119, 135, -1, +136, 137, 124, -1, 124, 123, 136, -1, 137, 138, 125, -1, 125, 124, 137, -1, +138, 139, 120, -1, 120, 125, 138, -1, 139, 140, 126, -1, 126, 120, 139, -1, +140, 141, 127, -1, 127, 126, 140, -1, 141, 142, 128, -1, 128, 127, 141, -1, +142, 143, 121, -1, 121, 128, 142, -1, 143, 144, 129, -1, 129, 121, 143, -1, +144, 145, 130, -1, 130, 129, 144, -1, 145, 146, 131, -1, 131, 130, 145, -1, +146, 147, 122, -1, 122, 131, 146, -1, 147, 148, 132, -1, 132, 122, 147, -1, +148, 149, 133, -1, 133, 132, 148, -1, 149, 150, 134, -1, 134, 133, 149, -1, +150, 135, 119, -1, 119, 134, 150, -1, 129, 130, 152, -1, 152, 151, 129, -1, +130, 131, 153, -1, 153, 152, 130, -1, 255, 155, 72, -1, 255, 71, 156, -1, +255, 157, 156, -1, 154, 255, 155, -1, 255, 158, 159, -1, 255, 159, 157, -1, +180, 190, 191, -1, 180, 191, 181, -1, 181, 191, 192, -1, 181, 192, 182, -1, +183, 198, 199, -1, 183, 199, 184, -1, 184, 199, 200, -1, 184, 200, 185, -1, +185, 200, 201, -1, 185, 201, 186, -1, 186, 201, 202, -1, 186, 202, 187, -1, +188, 208, 209, -1, 188, 209, 189, -1, 189, 209, 190, -1, 189, 190, 180, -1, +210, 191, 190, -1, 210, 192, 191, -1, 210, 193, 192, -1, 210, 194, 193, -1, +210, 195, 194, -1, 210, 196, 195, -1, 210, 197, 196, -1, 210, 198, 197, -1, +210, 199, 198, -1, 210, 200, 199, -1, 210, 201, 200, -1, 210, 202, 201, -1, +210, 203, 202, -1, 210, 204, 203, -1, 210, 205, 204, -1, 210, 206, 205, -1, +210, 207, 206, -1, 210, 208, 207, -1, 210, 209, 208, -1, 210, 190, 209, -1, +180, 181, 74, -1, 74, 215, 180, -1, 189, 180, 215, -1, 215, 73, 189, -1, +216, 217, 161, -1, 161, 160, 216, -1, 217, 218, 162, -1, 162, 161, 217, -1, +219, 220, 163, -1, 163, 211, 219, -1, 220, 221, 164, -1, 164, 163, 220, -1, +221, 222, 165, -1, 165, 164, 221, -1, 222, 223, 166, -1, 166, 165, 222, -1, +223, 224, 167, -1, 167, 166, 223, -1, 224, 225, 212, -1, 212, 167, 224, -1, +226, 227, 169, -1, 169, 168, 226, -1, 227, 228, 170, -1, 170, 169, 227, -1, +228, 229, 171, -1, 171, 170, 228, -1, 229, 230, 172, -1, 172, 171, 229, -1, +231, 232, 173, -1, 173, 213, 231, -1, 232, 233, 174, -1, 174, 173, 232, -1, +233, 234, 175, -1, 175, 174, 233, -1, 234, 235, 176, -1, 176, 175, 234, -1, +235, 236, 177, -1, 177, 176, 235, -1, 236, 237, 214, -1, 214, 177, 236, -1, +238, 239, 179, -1, 179, 178, 238, -1, 239, 216, 160, -1, 160, 179, 239, -1, +218, 217, 161, -1, 161, 162, 218, -1, 220, 219, 211, -1, 211, 163, 220, -1, +221, 220, 163, -1, 163, 164, 221, -1, 222, 221, 164, -1, 164, 165, 222, -1, +223, 222, 165, -1, 165, 166, 223, -1, 224, 223, 166, -1, 166, 167, 224, -1, +225, 224, 167, -1, 167, 212, 225, -1, 227, 226, 168, -1, 168, 169, 227, -1, +228, 227, 169, -1, 169, 170, 228, -1, 229, 228, 170, -1, 170, 171, 229, -1, +230, 229, 171, -1, 171, 172, 230, -1, 232, 231, 213, -1, 213, 173, 232, -1, +233, 232, 173, -1, 173, 174, 233, -1, 234, 233, 174, -1, 174, 175, 234, -1, +235, 234, 175, -1, 175, 176, 235, -1, 236, 235, 176, -1, 176, 177, 236, -1, +237, 236, 177, -1, 177, 214, 237, -1, 239, 238, 178, -1, 178, 179, 239, -1, +216, 239, 179, -1, 179, 160, 216, -1, 218, 219, 211, -1, 211, 162, 218, -1, +225, 226, 168, -1, 168, 212, 225, -1, 230, 231, 213, -1, 213, 172, 230, -1, +237, 238, 178, -1, 178, 214, 237, -1, 219, 218, 162, -1, 162, 211, 219, -1, +226, 225, 212, -1, 212, 168, 226, -1, 231, 230, 172, -1, 172, 213, 231, -1, +238, 237, 214, -1, 214, 178, 238, -1, 217, 216, 160, -1, 160, 161, 217, -1, +245, 248, 247, -1, 245, 240, 248, -1, 240, 249, 248, -1, 240, 241, 249, -1, +241, 250, 249, -1, 241, 242, 250, -1, 242, 251, 250, -1, 242, 243, 251, -1, +243, 246, 251, -1, 243, 244, 246, -1, 9, 36, 35, -1, 9, 10, 36, -1, +50, 49, 51, -1, 28, 253, 29, -1, 254, 4, 3, -1, 254, 3, 2, -1, +154, 158, 255, -1, 71, 255, 72, -1, 256, 258, 262, -1, 262, 260, 256, -1, +259, 257, 261, -1, 261, 263, 259, -1] +texCoordIndex [ +252, 253, 254, -1, 255, 256, 257, -1, 0, 258, 259, -1, 260, 261, 262, -1, +24, 263, 264, -1, 26, 265, 266, -1, 27, 267, 268, -1, 269, 25, 270, -1, +1, 271, 272, -1, 6, 273, 274, -1, 275, 7, 276, -1, 277, 278, 279, -1, +280, 281, 282, -1, 283, 284, 285, -1, 286, 287, 288, -1, 289, 290, 37, -1, +11, 30, 32, -1, 291, 292, 293, -1, 294, 295, 296, -1, 297, 298, 19, -1, +13, 299, 300, -1, 301, 302, 303, -1, 14, 304, 305, -1, 306, 307, 308, -1, +15, 309, 310, -1, 311, 312, 313, -1, 16, 314, 315, -1, 316, 317, 318, -1, +17, 12, 18, -1, 319, 34, 320, -1, 8, 33, 31, -1, 321, 322, 323, -1, +324, 325, 326, -1, 327, 328, 329, -1, 330, 331, 39, -1, 41, 332, 333, -1, +334, 335, 42, -1, 43, 336, 337, -1, 338, 339, 44, -1, 45, 340, 341, -1, +342, 343, 46, -1, 47, 344, 345, -1, 346, 347, 48, -1, 348, 349, 350, -1, +351, 352, 353, -1, 354, 355, 356, -1, 240, 357, 52, -1, 38, 40, 53, -1, +54, 358, 359, -1, 360, 361, 55, -1, 362, 363, 57, -1, 364, 365, 58, -1, +56, 60, 59, -1, 366, 367, 368, -1, 369, 370, 371, -1, 372, 5, 373, -1, +374, 375, 376, -1, 377, 21, 378, -1, 379, 380, 20, -1, 381, 23, 382, -1, +383, 384, 22, -1, 931, 916, 932, -1, 917, 918, 915, -1, 933, 920, 934, -1, +921, 922, 919, -1, 935, 924, 936, -1, 925, 926, 923, -1, 937, 928, 938, -1, +929, 930, 927, -1, 385, 386, 387, -1, 388, 389, 390, -1, 391, 76, 392, -1, +393, 394, 395, -1, 396, 77, 397, -1, 398, 399, 400, -1, 401, 78, 402, -1, +68, 403, 404, -1, 405, 79, 406, -1, 69, 407, 408, -1, 409, 80, 410, -1, +70, 411, 412, -1, 413, 81, 414, -1, 415, 416, 417, -1, 418, 82, 419, -1, +420, 421, 422, -1, 423, 83, 424, -1, 73, 425, 426, -1, 427, 84, 428, -1, +74, 75, 65, -1, 429, 85, 430, -1, 71, 72, 86, -1, 431, 432, 433, -1, +434, 435, 436, -1, 437, 98, 438, -1, 88, 439, 440, -1, 441, 99, 442, -1, +89, 443, 444, -1, 445, 100, 446, -1, 90, 447, 448, -1, 449, 101, 450, -1, +91, 451, 452, -1, 453, 102, 454, -1, 92, 455, 456, -1, 457, 103, 458, -1, +459, 460, 461, -1, 462, 104, 463, -1, 464, 465, 466, -1, 467, 105, 468, -1, +95, 469, 470, -1, 471, 106, 472, -1, 96, 97, 87, -1, 473, 67, 474, -1, +93, 94, 66, -1, 475, 476, 477, -1, 478, 479, 480, -1, 481, 482, 483, -1, +484, 111, 124, -1, 485, 486, 487, -1, 488, 112, 125, -1, 489, 490, 491, -1, +492, 113, 126, -1, 493, 494, 495, -1, 496, 108, 127, -1, 497, 498, 499, -1, +500, 114, 128, -1, 501, 502, 503, -1, 504, 115, 129, -1, 505, 506, 507, -1, +508, 116, 130, -1, 509, 510, 511, -1, 512, 109, 131, -1, 513, 514, 515, -1, +516, 517, 132, -1, 518, 519, 520, -1, 521, 522, 133, -1, 523, 524, 525, -1, +526, 527, 134, -1, 528, 529, 530, -1, 531, 110, 135, -1, 532, 533, 534, -1, +535, 120, 136, -1, 536, 537, 538, -1, 539, 121, 137, -1, 540, 123, 541, -1, +107, 122, 138, -1, 542, 543, 544, -1, 545, 139, 117, -1, 546, 119, 547, -1, +141, 140, 118, -1, 548, 549, 550, -1, 551, 552, 553, -1, 554, 555, 144, -1, +556, 557, 143, -1, 558, 559, 560, -1, 561, 147, 145, -1, 562, 563, 564, -1, +565, 566, 567, -1, 568, 569, 570, -1, 571, 572, 170, -1, 573, 574, 575, -1, +171, 576, 577, -1, 578, 579, 580, -1, 172, 581, 582, -1, 583, 584, 585, -1, +173, 586, 587, -1, 588, 589, 590, -1, 174, 591, 175, -1, 592, 593, 594, -1, +176, 595, 596, -1, 597, 598, 599, -1, 600, 601, 602, -1, 603, 604, 605, -1, +606, 607, 179, -1, 608, 609, 180, -1, 610, 611, 181, -1, 612, 613, 182, -1, +614, 615, 183, -1, 616, 617, 184, -1, 618, 619, 185, -1, 620, 621, 186, -1, +622, 623, 187, -1, 624, 625, 188, -1, 626, 627, 189, -1, 628, 629, 190, -1, +630, 631, 191, -1, 632, 633, 192, -1, 634, 635, 193, -1, 636, 637, 194, -1, +638, 639, 195, -1, 640, 641, 196, -1, 198, 178, 197, -1, 642, 169, 643, -1, +64, 644, 645, -1, 646, 168, 647, -1, 203, 63, 177, -1, 648, 649, 650, -1, +651, 652, 653, -1, 654, 655, 656, -1, 657, 658, 659, -1, 660, 661, 662, -1, +663, 664, 665, -1, 666, 667, 668, -1, 669, 670, 671, -1, 672, 673, 674, -1, +675, 676, 677, -1, 678, 679, 680, -1, 681, 682, 683, -1, 684, 685, 686, -1, +687, 688, 689, -1, 690, 691, 692, -1, 693, 694, 695, -1, 696, 697, 698, -1, +699, 700, 701, -1, 702, 703, 704, -1, 705, 706, 707, -1, 708, 709, 710, -1, +711, 712, 713, -1, 714, 715, 716, -1, 717, 718, 719, -1, 720, 721, 722, -1, +723, 724, 725, -1, 726, 727, 728, -1, 729, 730, 731, -1, 732, 733, 734, -1, +735, 736, 737, -1, 738, 739, 740, -1, 741, 742, 743, -1, 744, 745, 746, -1, +747, 748, 749, -1, 750, 751, 752, -1, 753, 754, 755, -1, 756, 757, 758, -1, +759, 760, 761, -1, 762, 763, 764, -1, 765, 766, 767, -1, 768, 769, 770, -1, +771, 772, 773, -1, 774, 775, 776, -1, 777, 778, 779, -1, 780, 208, 781, -1, +151, 782, 783, -1, 784, 209, 785, -1, 152, 786, 787, -1, 788, 210, 789, -1, +153, 790, 791, -1, 792, 211, 793, -1, 154, 794, 795, -1, 796, 212, 797, -1, +155, 798, 799, -1, 800, 801, 802, -1, 803, 804, 805, -1, 806, 215, 807, -1, +157, 808, 809, -1, 810, 216, 811, -1, 158, 812, 813, -1, 814, 217, 815, -1, +159, 816, 817, -1, 818, 819, 820, -1, 821, 822, 823, -1, 824, 220, 825, -1, +161, 826, 827, -1, 828, 221, 829, -1, 162, 830, 831, -1, 832, 222, 833, -1, +163, 834, 835, -1, 836, 223, 837, -1, 164, 838, 839, -1, 840, 224, 841, -1, +165, 842, 843, -1, 844, 845, 846, -1, 847, 848, 849, -1, 850, 227, 851, -1, +167, 852, 853, -1, 854, 855, 856, -1, 857, 858, 859, -1, 860, 861, 862, -1, +863, 864, 865, -1, 866, 867, 868, -1, 869, 870, 871, -1, 872, 873, 874, -1, +875, 876, 877, -1, 878, 206, 879, -1, 150, 199, 207, -1, 880, 213, 881, -1, +200, 156, 214, -1, 882, 218, 883, -1, 160, 201, 219, -1, 884, 225, 885, -1, +202, 166, 226, -1, 886, 204, 887, -1, 148, 149, 205, -1, 888, 889, 235, -1, +233, 890, 891, -1, 892, 893, 236, -1, 228, 894, 895, -1, 896, 897, 237, -1, +229, 898, 899, -1, 900, 901, 238, -1, 230, 902, 903, -1, 904, 905, 239, -1, +231, 232, 234, -1, 906, 907, 35, -1, 9, 10, 36, -1, 50, 49, 51, -1, +28, 241, 29, -1, 908, 4, 909, -1, 242, 3, 2, -1, 142, 146, 910, -1, +61, 243, 62, -1, 911, 246, 912, -1, 250, 248, 244, -1, 913, 245, 914, -1, +249, 251, 247, -1] +} +} +] +} +################################################################## +#checkers +################################################################## +#DEF open_or_closed7 switchMe{} +LOD{ +center 0 0 0 +range[40] +level[ +Group{} +Transform{ +children[ +DEF board01 Transform { +translation 0 0 0 +rotation 0 -1 0 -0.61087 +children [ +DEF board01-TIMER ReversableClock{cycleInterval 2.0333 isForward FALSE} #TimeSensor { loop FALSE cycleInterval 2.0333 }, +DEF board01-TIMER-closed TimeSensor { loop FALSE cycleInterval 2.0333 }, + +Shape { +appearance DEF CheckersTex Appearance { +material Material {} +texture ImageTexture { +url "checkers.jpg" +} +} +geometry DEF board01-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF board01-COORD Coordinate { point [ +-7.3509 4.7531 -95.764, -4.4463 4.7531 -95.764, -7.3509 4.7531 -98.669, +-4.4463 4.7531 -98.669] +} +coordIndex [ +0, 1, 3, 2, -1] +texCoord DEF board01-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +DEF board02 Transform { +translation 0.30692 9.1995 -1.9049e-005 +rotation 0 0 -1 -1.5708 +children [ +DEF board02-POS-INTERP PositionInterpolator { +key [0, 0.016393, 0.032787, 0.04918, 0.065574, 0.081967, ] +keyValue [0.30692 9.1995 -1.9049e-005, 0.30692 9.1995 -1.9049e-005, +1.6466 7.042 -1.897e-005, 2.0587 4.5362 -1.8947e-005, +1.4805 2.0633 -1.9094e-005, 0 0 -1.9126e-005, ] }, +DEF board02-ROT-INTERP OrientationInterpolator { +key [0, 0.016393, 0.032787, 0.04918, 0.065574, 0.081967, ] +keyValue [0 0 -1 -1.5708, 0 0 -1 -1.5708, 0 0 -1 -1.1781, 0 0 -1 -0.7854, +0 0 -1 -0.3927, 1 0 0 0, ] }, +## +DEF board02-POS-INTERP-closed PositionInterpolator { +key [0, 0.92, 0.94, 0.96, 0.98, 1, ] +keyValue [0 0 -1.583e-005, 0 0 -1.583e-005, 1.634 2.431 -1.573e-005, +2.0209 5.487 -1.9214e-005, 0.95916 8.3786 -1.9026e-005, +0.30692 9.1995 -1.9047e-005, ] }, +DEF board02-ROT-INTERP-closed OrientationInterpolator { +key [0, 0.92, 0.94, 0.96, 0.98, 1, ] +keyValue [1 0 0 0, 1 0 0 0, 0 0 -1 -0.45392, 0 0 -1 -0.93173, +0 0 -1 -1.4095, 0 0 -1 -1.5708, ] }, +Shape { +appearance USE CheckersTex +geometry DEF board02-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF board02-COORD Coordinate { point [ +-4.4463 4.7531 -95.764, -1.5417 4.7531 -95.764, -4.4463 4.7531 -98.669, +-1.5417 4.7531 -98.669] +} +coordIndex [ +0, 1, 3, 2, -1] +texCoord DEF board02-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +DEF board03 Transform { +translation 3.2115 6.2948 1.2902e-005 +rotation 0 0 -1 -1.5708 +children [ +DEF board03-POS-INTERP PositionInterpolator { +key [0, 0.081967, 0.098361, 0.11475, 0.13115, 0.14754, ] +keyValue [3.2115 6.2948 1.2902e-005, 3.2115 6.2948 1.8221e-005, +3.4396 4.3585 1.8458e-005, 2.9094 2.4823 1.8346e-005, +1.7016 0.95179 1.8331e-005, 0 0 1.8199e-005, ] }, +DEF board03-ROT-INTERP OrientationInterpolator { +key [0, 0.081967, 0.098361, 0.11475, 0.13115, 0.14754, ] +keyValue [0 0 -1 -1.5708, 0 0 -1 -1.5708, 0 0 -1 -1.1781, 0 0 -1 -0.7854, +0 0 -1 -0.3927, 1 0 0 0, ] }, +## +DEF board03-POS-INTERP-closed PositionInterpolator { +key [0, 0.84, 0.86, 0.88, 0.9, 0.92, 0.94, ] +keyValue [0 0 1.8341e-005, 0 0 1.8341e-005, 0.52831 0.20515 1.8366e-005, +2.3878 1.6664 1.8394e-005, 3.3671 3.819 1.8631e-005, +3.2469 6.1808 1.8525e-005, 3.2115 6.2948 1.9685e-005, +] }, +DEF board03-ROT-INTERP-closed OrientationInterpolator { +key [0, 0.84, 0.86, 0.88, 0.9, 0.92, 0.94, ] +keyValue [1 0 0 0, 1 0 0 0, 0 0 -1 -0.11348, 0 0 -1 -0.59129, +0 0 -1 -1.0691, 0 0 -1 -1.5469, 0 0 -1 -1.5708, ] }, + +Shape { +appearance USE CheckersTex +geometry DEF board03-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF board03-COORD Coordinate { point [ +-1.5417 4.7531 -95.764, 1.3629 4.7531 -95.764, -1.5417 4.7531 -98.669, +1.3629 4.7531 -98.669] +} +coordIndex [ +0, 1, 3, 2, -1] +texCoord DEF board03-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +DEF board04 Transform { +translation 6.1161 3.3902 -1.0328e-005 +rotation 0 0 -1 -1.5708 +children [ +DEF board04-POS-INTERP PositionInterpolator { +key [0, 0.14754, 0.16393, 0.18033, 0.19672, 0.21311, ] +keyValue [6.1161 3.3902 -1.0328e-005, 6.1161 3.3902 -1.1793e-005, +5.2327 1.675 -1.1867e-005, 3.7602 0.42844 -1.1802e-005, +1.9227 -0.15975 -1.1645e-005, 0 0 -1.1588e-005, ] }, +DEF board04-ROT-INTERP OrientationInterpolator { +key [0, 0.14754, 0.16393, 0.18033, 0.19672, 0.21311, ] +keyValue [0 0 -1 -1.5708, 0 0 -1 -1.5708, 0 0 -1 -1.1781, 0 0 -1 -0.7854, +0 0 -1 -0.3927, 1 0 0 0, ] }, +## +DEF board04-POS-INTERP-closed PositionInterpolator { +key [0, 0.78, 0.8, 0.82, 0.84, 0.86, ] +keyValue [0 0 -1.1415e-005, 0 0 -1.1415e-005, 1.2349 -0.18988 -1.1408e-005, +3.5182 0.30289 -1.1481e-005, 5.3205 1.7888 -1.1666e-005, +6.1161 3.3902 0, ] }, +DEF board04-ROT-INTERP-closed OrientationInterpolator { +key [0, 0.78, 0.8, 0.82, 0.84, 0.86, ] +keyValue [1 0 0 0, 1 0 0 0, 0 0 -1 -0.25335, 0 0 -1 -0.73026, +0 0 -1 -1.2072, 0 0 -1 -1.5708, ] }, +Shape { +appearance USE CheckersTex +geometry DEF board04-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF board04-COORD Coordinate { point [ +1.3629 4.7531 -95.764, 4.2675 4.7531 -95.764, 1.3629 4.7531 -98.669, +4.2675 4.7531 -98.669] +} +coordIndex [ +0, 1, 3, 2, -1] +texCoord DEF board04-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +DEF board08 Transform { +translation 0 100.52 -91.011 +rotation 1 0 0 -1.5708 +children [ +DEF board08-POS-INTERP PositionInterpolator { +key [0, 0.13115, 0.14754, 0.16393, 0.21311, 0.22951, 0.2459, 0.2623, 0.27869, ] +keyValue [0 100.52 -91.011, 0 100.52 -91.011, 0 100.52 -91.011, +0 100.52 -91.011, 0 100.52 -91.011, 0 91.409 -54.726, +0 69.108 -24.688, 0 37.009 -5.4707, 0 0 0, ] }, +DEF board08-ROT-INTERP OrientationInterpolator { +key [0, 0.21311, 0.22951, 0.2459, 0.2623, 0.27869, ] +keyValue [1 0 0 -1.5708, 1 0 0 -1.5708, 1 0 0 -1.1781, 1 0 0 -0.7854, +1 0 0 -0.3927, 1 0 0 0, ] }, +## +DEF board08-POS-INTERP-closed PositionInterpolator { +key [0, 0.72, 0.74, 0.76, 0.78, 0.8, ] +keyValue [0 0 0, 0 0 0, 0 36.874 -5.4226, 0 74.819 -30.311, 0 97.07 -69.86, +0 100.52 -91.011, ] }, +DEF board08-ROT-INTERP-closed OrientationInterpolator { +key [0, 0.72, 0.74, 0.76, 0.78, 0.8, ] +keyValue [1 0 0 0, 1 0 0 0, 1 0 0 -0.39121, 1 0 0 -0.86901, 1 0 0 -1.3468, +1 0 0 -1.5708, ] }, +Shape { +appearance USE CheckersTex +geometry DEF board08-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF board08-COORD Coordinate { point [ +1.3629 4.7531 -92.86, 4.2675 4.7531 -92.86, 1.3629 4.7531 -95.764, +4.2675 4.7531 -95.764] +} +coordIndex [ +0, 1, 3, 2, -1] +texCoord DEF board08-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +DEF board07 Transform { +translation -3.3902 6.1161 0 +rotation 0 0 1 -1.5708 +children [ +DEF board07-POS-INTERP PositionInterpolator { +key [0, 0.065574, 0.081967, 0.16393, 0.18033, 0.27869, 0.29508, 0.31148, +0.32787, 0.34426, ] +keyValue [-3.3902 6.1161 0, -3.3902 6.116 0, -3.3902 6.1161 0, +-3.3902 6.1161 0, -3.3902 6.1161 0, -3.3902 6.1161 0, +-3.55 4.1934 0, -2.9618 2.3559 0, -1.7152 0.88337 0, +0 0 0, ] }, +DEF board07-ROT-INTERP OrientationInterpolator { +key [0, 0.27869, 0.29508, 0.31148, 0.32787, 0.34426, ] +keyValue [0 0 1 -1.5708, 0 0 1 -1.5708, 0 0 1 -1.1781, 0 0 1 -0.7854, +0 0 1 -0.3927, 1 0 0 0, ] }, +## +DEF board07-POS-INTERP-closed PositionInterpolator { +key [0, 0.64, 0.66, 0.68, 0.7, 0.72, 0.74, 0.86, 0.88, 0.9, 0.92, +] +keyValue [0 0 0, 0 0 0, -0.23944 0.075285 0, -2.211 1.336 0, +-3.3821 3.3621 0, -3.4903 5.6998 0, -3.3902 6.1161 0, +-3.3902 6.1161 0, -3.3902 6.1161 0, -3.3902 6.116 0, +-3.3902 6.1161 0, ] }, +DEF board07-ROT-INTERP-closed OrientationInterpolator { +key [0, 0.64, 0.66, 0.68, 0.7, 0.72, 0.74, ] +keyValue [1 0 0 0, 1 0 0 0, 0 0 1 -0.050767, 0 0 1 -0.52858, +0 0 1 -1.0064, 0 0 1 -1.4842, 0 0 1 -1.5708, ] }, + +Shape { +appearance USE CheckersTex +geometry DEF board07-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF board07-COORD Coordinate { point [ +-1.5417 4.7531 -92.86, 1.3629 4.7531 -92.86, -1.5417 4.7531 -95.764, +1.3629 4.7531 -95.764] +} +coordIndex [ +0, 1, 3, 2, -1] +texCoord DEF board07-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +DEF board06 Transform { +translation -6.2948 3.2115 0 +rotation 0 0 1 -1.5708 +children [ +DEF board06-POS-INTERP PositionInterpolator { +key [0, 0.016393, 0.032787, 0.04918, 0.065574, 0.081967, 0.34426, +0.36066, 0.37705, 0.39344, 0.40984, ] +keyValue [-6.2948 3.2115 0, -6.2948 3.2115 0, -6.2948 3.2115 -1.4177e-005, +-6.2948 3.2115 0, -6.2948 3.2115 0, -6.2948 3.2115 0, +-6.2948 3.2115 0, -5.343 1.5099 0, -3.8125 0.30203 0, +-1.9363 -0.22817 0, 0 0 0, ] }, +DEF board06-ROT-INTERP OrientationInterpolator { +key [0, 0.34426, 0.36066, 0.37705, 0.39344, 0.40984, ] +keyValue [0 0 1 -1.5708, 0 0 1 -1.5708, 0 0 1 -1.1781, 0 0 1 -0.7854, +0 0 1 -0.3927, 1 0 0 0, ] }, +## +DEF board06-POS-INTERP-closed PositionInterpolator { +key [0, 0.58, 0.6, 0.62, 0.64, 0.66, 0.96, 0.98, 1, ] +keyValue [0 0 0, 0 0 0, -0.92919 -0.20609 0, -3.274 0.066101 0, +-5.2322 1.3842 0, -6.2948 3.2115 0, -6.2948 3.2115 0, +-6.2948 3.2115 -1.3334e-005, -6.2948 3.2115 0, ] }, +DEF board06-ROT-INTERP-closed OrientationInterpolator { +key [0, 0.58, 0.6, 0.62, 0.64, 0.66, ] +keyValue [1 0 0 0, 1 0 0 0, 0 0 1 -0.19076, 0 0 1 -0.66766, 0 0 1 -1.1446, +0 0 1 -1.5708, ] }, +Shape { +appearance USE CheckersTex +geometry DEF board06-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF board06-COORD Coordinate { point [ +-4.4463 4.7531 -92.86, -1.5417 4.7531 -92.86, -4.4463 4.7531 -95.764, +-1.5417 4.7531 -95.764] +} +coordIndex [ +0, 1, 3, 2, -1] +texCoord DEF board06-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +DEF board05 Transform { +translation -9.1994 0.30688 1.0132e-005 +rotation 0 0 1 -1.5708 +children [ +DEF board05-POS-INTERP PositionInterpolator { +key [0, .00001, 0.016393, 0.032787, 0.16393, 0.18033, 0.40984, 0.42623, 0.44262, +0.45902, 0.47541, ] +keyValue [-8.6621 0.85377 -9.4312,-9.1994 0.30688 1.0132e-005, -9.1994 0.30688 1.0132e-005, +-9.1994 0.30686 2.0881e-005, -9.1994 0.30685 2.4704e-005, +-9.1994 0.30687 1.7847e-005, -9.1994 0.30687 1.2956e-005, +-7.1361 -1.1736 1.6474e-005, -4.6633 -1.7518 1.6144e-005, +-2.1574 -1.3397 1.6687e-005, 0 0 1.6698e-005, ] }, +DEF board05-ROT-INTERP OrientationInterpolator { +key [0, 0.40984, 0.42623, 0.44262, 0.45902, 0.47541, ] +keyValue [0 0 1 -1.5708, 0 0 1 -1.5708, 0 0 1 -1.1781, 0 0 1 -0.7854, +0 0 1 -0.3927, 1 0 0 0, ] }, +## +DEF board05-POS-INTERP-closed PositionInterpolator { +key [0, 0.52, 0.54, 0.56, 0.58, 0.6, 0.8, 0.82, 0.96, 0.98, 1, ] +keyValue [0 0 1.6315e-005, 0 0 1.6315e-005, -1.7712 -1.1803 1.6144e-005, +-4.7992 -1.7459 1.5946e-005, -7.7481 -0.85573 1.6e-005, +-9.1994 0.30687 1.305e-005, -9.1994 0.30686 1.2633e-005, +-9.1994 0.30687 1.177e-005, -9.1994 0.30686 1.3263e-005, +-9.1994 0.30686 2.7221e-005, -8.6621 0.85377 -9.4312, +] }, +DEF board05-ROT-INTERP-closed OrientationInterpolator { +key [0, 0.52, 0.54, 0.56, 0.58, 0.6, ] +keyValue [1 0 0 0, 1 0 0 0, 0 0 1 -0.32849, 0 0 1 -0.8063, 0 0 1 -1.2841, +0 0 1 -1.5708, ] }, +DEF board05-SCALE-INTERP PositionInterpolator { +key [0,.0000001, 0.52, 0.54, 0.54112, 0.54112, 0.56, 0.57013, 0.57013, 0.58, +0.58175, 0.58175, 0.6, 0.617, 0.617, 0.62, 0.62238, 0.62238, +0.64, 0.64138, 0.64138, 0.66, 0.67013, 0.67013, 0.68, 0.68012, +0.7, 0.70763, 0.70763, 0.72, 0.74, 0.74075, 0.74075, 0.76, 0.78, +0.783, 0.783, 0.8, 0.81513, 0.81513, 0.82, 0.82987, 0.82987, +0.84, 0.842, 0.842, 0.86, 0.876, 0.876, 0.88, 0.89075, 0.89075, +0.9, 0.92, 0.93238, 0.93238, 0.94, 0.94263, 0.94263, 0.96, 0.96725, +0.96725, 0.98, 1, ] +keyValue [0.9 0.9 0.9, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, +1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, +1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, +1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, +1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, +1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, +1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, +1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, +] }, +DEF board05-SCALE-ORI-INTERP-closed OrientationInterpolator { +key [0, 0.52, 0.54, 0.54112, 0.54112, 0.56, 0.57013, 0.57013, 0.58, +0.58175, 0.58175, 0.6, 0.617, 0.617, 0.62, 0.62238, 0.62238, +0.64, 0.64138, 0.64138, 0.66, 0.67013, 0.67013, 0.68, 0.68012, +0.7, 0.70763, 0.70763, 0.72, 0.74, 0.74075, 0.74075, 0.76, 0.78, +0.783, 0.783, 0.8, 0.81513, 0.81513, 0.82, 0.82987, 0.82987, +0.84, 0.842, 0.842, 0.86, 0.876, 0.876, 0.88, 0.89075, 0.89075, +0.9, 0.92, 0.93238, 0.93238, 0.94, 0.94263, 0.94263, 0.96, 0.96725, +0.96725, 0.98, 1, ] +keyValue [1 0 0 0, 1 0 0 0, -0.34899 -0.38903 -0.85256 -0.07214, +0 -0.10662 -0.9943 -0.24039, 0.072132 -0.43616 -0.89697 -0.079585, +0.12947 0.33629 -0.93282 -0.1955, 0.047714 0 -0.99886 -0.27466, +-0.6844 0 0.72911 -0.042673, 0.98894 0 0.14833 -0.1534, +0.99815 0 0.060815 -0.18776, 0.48236 0 -0.87597 -0.13424, +-0.91824 -0.39602 0 -0.17371, -0.14531 -0.042099 -0.98849 -0.40473, +-0.16168 0.26362 -0.95098 -0.49584, -0.37135 0.67856 -0.63376 -0.1218, +-0.80373 0 -0.59499 -0.22847, -0.53889 -0.80693 -0.2418 -0.1127, +0.11733 -0.88868 -0.44326 -0.21412, 0.57492 0 -0.81821 -0.080262, +-0.38446 0 -0.92314 -0.17238, 0.021127 0 0.99978 -0.020576, +0.27472 0 0.96152 -0.033394, 0.50094 0 -0.86548 -0.049846, +-0.012355 0.13507 -0.99076 -0.22862, 0.72928 0 0.68421 -0.13832, +0.98018 0 0.19813 -0.25616, 0.78429 0 0.62039 -0.14261, +-0.28913 0.065343 -0.95506 -0.10592, 0.28155 -0.86046 -0.42466 -0.019433, +0.40199 0 -0.91564 -0.074081, 0.23665 -0.45956 -0.85604 -0.15304, +-0.41751 -0.64302 -0.64203 -0.2209, -0.27564 -0.47038 -0.83831 -0.30203, +-0.35317 -0.51214 -0.78294 -0.23851, -0.71556 0 -0.69855 -0.022764, +0.047179 0 0.99889 -0.37075, 0.1902 0 0.98175 -0.15633, +0.89224 0 0.45157 -0.11669, -0.97934 0 0.2022 -0.12115, +-0.85869 0.42635 0.28439 -0.096729, -0.19502 0.9808 0 -0.034608, +-0.842 0 -0.53948 -0.036472, 0.34608 -0.16675 0.92327 -0.14938, +0.39762 0 0.91755 -0.06728, -0.48673 0 0.87355 -0.077925, +-0.65573 0 -0.75499 -0.014281, -0.77601 0 -0.63072 -0.037761, +-0.54274 0 0.8399 -0.053282, -0.95088 0 0.30955 -0.061433, +-0.98398 0 0.17828 -0.12406, 0.99806 0 -0.062254 -0.047916, +-0.46954 0.59647 -0.65096 -0.069334, -0.22841 0 -0.97356 -0.043721, +-0.57165 0 -0.8205 -0.098851, 0.38371 0 -0.92345 -0.19897, +0.059915 0 -0.9982 -0.069206, 0.0085475 0 -0.99996 -0.11705, +-0.29292 0 -0.95614 -0.35191, -0.43604 -0.64214 -0.63049 -0.20906, +-0.88047 0 -0.4741 -0.34021, 0 0.99378 -0.11139 -0.77132, +0.97115 0 0.23845 -0.02538, 0 1 0 -0.7854, ] }, +Shape { +appearance USE CheckersTex +geometry DEF board05-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF board05-COORD Coordinate { point [ +-7.3509 4.7531 -92.86, -4.4463 4.7531 -92.86, -7.3509 4.7531 -95.764, +-4.4463 4.7531 -95.764] +} +coordIndex [ +0, 1, 3, 2, -1] +texCoord DEF board05-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +DEF board09 Transform { +translation 0 97.613 -88.107 +rotation 1 0 0 -1.5708 +children [ +DEF board09-POS-INTERP PositionInterpolator { +key [0, 0.098361, 0.11475, 0.19672, 0.21311, 0.22951, 0.47541, 0.4918, +0.5082, 0.52459, 0.54098, ] +keyValue [0 97.613 -88.107, 0 97.613 -88.107, 0 97.613 -88.107, +0 97.613 -88.107, 0 97.613 -88.106, 0 97.613 -88.106, +0 97.613 -88.107, 0 88.725 -52.932, 0 67.054 -23.837, +0 35.898 -5.2496, 0 0 0, ] }, +DEF board09-ROT-INTERP OrientationInterpolator { +key [0, 0.47541, 0.4918, 0.5082, 0.52459, 0.54098, ] +keyValue [1 0 0 -1.5708, 1 0 0 -1.5708, 1 0 0 -1.1781, 1 0 0 -0.7854, +1 0 0 -0.3927, 1 0 0 0, ] }, +## +DEF board09-POS-INTERP-closed PositionInterpolator { +key [0, 0.46, 0.48, 0.5, 0.52, 0.54, 0.82, 0.84, 0.86, 0.94, 0.96, +0.98, 1, ] +keyValue [0 0 0, 0 0 0, 0 42.219 -7.7606, 0 77.154 -34.519, 0 95.872 -74.346, +0 97.613 -88.107, 0 97.613 -88.107, 0 97.613 -88.106, +0 97.613 -88.107, 0 97.613 -88.106, 0 97.613 -88.107, +0 97.613 -88.106, 1.0516e-005 97.613 -88.106, ] }, +DEF board09-ROT-INTERP-closed OrientationInterpolator { +key [0, 0.46, 0.48, 0.5, 0.52, 0.54, ] +keyValue [1 0 0 0, 1 0 0 0, 1 0 0 -0.46586, 1 0 0 -0.94367, 1 0 0 -1.4215, +1 0 0 -1.5708, ] }, +Shape { +appearance USE CheckersTex +geometry DEF board09-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF board09-COORD Coordinate { point [ +-7.3509 4.7531 -89.955, -4.4463 4.7531 -89.955, -7.3509 4.7531 -92.86, +-4.4463 4.7531 -92.86] +} +coordIndex [ +0, 1, 3, 2, -1] +texCoord DEF board09-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +DEF board10 Transform { +translation 0.49413 9.2738 2.7422 +rotation 0 0 -1 -1.5708 +scale 1.03 1.03 1.03 +scaleOrientation -0.15438 0.56315 -0.8118 -0.043472 +children [ +DEF board10-POS-INTERP PositionInterpolator { +key [0, 0.016393, 0.032787, 0.04918, 0.065574, 0.081967, 0.37705, +0.39344, 0.40984, 0.44262, 0.45902, 0.54098, 0.55738, 0.57377, +0.59016, 0.60656, ] +keyValue [0.49413 9.2738 2.7422, 0.30687 9.1994 0, 0.30686 9.1994 0, +0.30686 9.1994 0, 0.30687 9.1994 0, 0.30686 9.1994 0, +0.30686 9.1994 -1.4481e-005, 0.30686 9.1994 0, 0.30686 9.1994 -1.6062e-005, +0.30686 9.1994 -1.9742e-005, 0.30686 9.1994 0, 0.30686 9.1994 0, +1.6466 7.042 0, 2.0587 4.5362 0, 1.4805 2.0633 0, 0 0 0, +] }, +DEF board10-ROT-INTERP OrientationInterpolator { +key [0, 0.54098, 0.55738, 0.57377, 0.59016, 0.60656, ] +keyValue [0 0 -1 -1.5708, 0 0 -1 -1.5708, 0 0 -1 -1.1781, 0 0 -1 -0.7854, +0 0 -1 -0.3927, 1 0 0 0, ] }, +DEF board10-SCALE-INTERP PositionInterpolator { +key [0, 0.016393, 0.032377, 0.032377, 0.032787, 0.035451, 0.035451, +0.04918, 0.065574, 0.081967, 0.098361, 0.098975, 0.098975, 0.11475, +0.11516, 0.11516, 0.13115, 0.1333, 0.1333, 0.14754, 0.16393, +0.18033, 0.18453, 0.18453, 0.19672, 0.21311, 0.22951, 0.2459, +0.2623, 0.27869, 0.29191, 0.29191, 0.29508, 0.29518, 0.29518, +0.31148, 0.31977, 0.31977, 0.32787, 0.34426, 0.36066, 0.37705, +0.39344, 0.39641, 0.39641, 0.40984, 0.421, 0.421, 0.42623, 0.44262, +0.45902, 0.47541, 0.4918, 0.50215, 0.50215, 0.5082, 0.52459, +0.54098, 0.55738, 0.57305, 0.57305, 0.57377, 0.59016, 0.60656, +] +keyValue [1.03 1.03 1.03, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, +1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, +1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, +1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, +1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, +1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, +1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, +1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, 1 1 1, +1 1 1, 1 1 1, ] }, +DEF board10-SCALE-ORI-INTERP OrientationInterpolator { +key [0, 0.016393, 0.032377, 0.032377, 0.032787, 0.035451, 0.035451, +0.04918, 0.065574, 0.081967, 0.098361, 0.098975, 0.098975, 0.11475, +0.11516, 0.11516, 0.13115, 0.1333, 0.1333, 0.14754, 0.16393, +0.18033, 0.18453, 0.18453, 0.19672, 0.21311, 0.22951, 0.2459, +0.2623, 0.27869, 0.29191, 0.29191, 0.29508, 0.29518, 0.29518, +0.31148, 0.31977, 0.31977, 0.32787, 0.34426, 0.36066, 0.37705, +0.39344, 0.39641, 0.39641, 0.40984, 0.421, 0.421, 0.42623, 0.44262, +0.45902, 0.47541, 0.4918, 0.50215, 0.50215, 0.5082, 0.52459, +0.54098, 0.55738, 0.57305, 0.57305, 0.57377, 0.59016, 0.60656, +] +keyValue [-0.15438 0.56315 -0.8118 -0.043472, 0 0 -1 -0.12041, +-0.99905 0.043637 0 -0.021313, 0 -0.38378 0.92343 -0.23894, +0.71905 -0.54062 0.43669 -0.26721, 1 0 0 0, 0 -0.99858 -0.053314 -0.2255, +0 0.99997 -0.0081133 -0.1703, 1 0 0 0, 1 0 0 0, -0.9467 -0.3206 0.031126 -0.30639, +-0.85191 -0.52101 0.052853 -0.64831, 0.82669 0 -0.56266 -0.095758, +0 -0.56375 -0.82594 -0.18751, 0.93475 0 -0.35531 -0.18577, +0 0.21195 -0.97728 -0.31517, 0.31009 0.34116 -0.88738 -0.11163, +0 0.98296 -0.18381 -0.047757, 0 0.25378 0.96726 -0.34129, +0 0 1 -0.1204, 0.40469 -0.34208 0.84806 -0.17902, 0.58322 -0.8123 0.0056182 -0.35471, +0.63696 0 0.7709 -0.096648, -0.52548 0 0.85081 -0.20727, +-0.99981 -0.019679 0 -0.14725, 1 0 0 0, 1 0 0 0, 0 -0.48163 -0.87637 -0.34515, +-0.19452 0 -0.9809 -0.13602, 0 1 0 -0.061088, 0 0.95867 0.28451 -0.40578, +0 -0.99941 0.034478 -0.2601, -0.25507 -0.76795 0.58753 -0.13126, +-0.98454 0 0.17514 -0.058888, -0.49636 0.84528 0.1978 -0.37235, +0.17913 0 -0.98383 -0.33833, 0.99987 0.01599 0 -0.27103, +0 -0.65458 0.75599 -0.27944, 0 0.60738 0.79441 -0.1955, +0 0 1 -0.1204, 1 0 0 0, -0.73036 0 0.68306 -0.56909, +0 -0.78947 0.61379 -0.24943, 0.20414 -0.81145 0.54761 -0.63894, +0.62932 0 -0.77714 -0.020972, 0 1 0 -0.26038, -0.06708 0.99769 0.011073 -0.29826, +0.2237 -0.971 -0.08439 -0.20286, -0.059955 -0.99711 -0.046678 -0.47165, +0 -0.66441 -0.74736 -0.32534, 0.66946 -0.74285 0 -0.14864, +0 0 1 -0.081276, 0 -0.17628 0.98434 -0.26989, 0.62859 0 0.77774 -0.37401, +-0.80147 0.59792 0.011635 -0.74962, 0 0.9727 -0.23207 -0.17246, +1 0 0 0, 1 0 0 0, -0.79397 0.49758 0.34934 -0.38249, +0 0.72024 0.69373 -0.26867, -0.99091 0 -0.13456 -0.16322, +-0.99139 0 -0.13097 -0.085278, 0 0.99787 -0.065256 -0.1996, +1 0 0 0, ] }, +## +DEF board10-POS-INTERP-closed PositionInterpolator { +key [0, 0.38, 0.4, 0.42, 0.44, 0.46, 0.48, 0.6, 0.62, 0.76, 0.78, +0.96, 0.98, ] +keyValue [0 0 -1.0982e-005, 0 0 -1.0982e-005, 0.57106 0.6073 -1.0893e-005, +1.9143 3.373 -1.4138e-005, 1.8381 6.4467 0, 0.35953 9.1424 0, +0.30686 9.1994 0, 0.30686 9.1994 -1.6429e-005, 0.30686 9.1994 -1.4674e-005, +0.30686 9.1994 0, 0.30686 9.1994 -1.9187e-005, 0.30687 9.1994 0, +0.30686 9.1994 -1.3172e-005, ] }, +DEF board10-ROT-INTERP-closed OrientationInterpolator { +key [0, 0.38, 0.4, 0.42, 0.44, 0.46, 0.48, ] +keyValue [1 0 0 0, 1 0 0 0, 0 0 -1 -0.12817, 0 0 -1 -0.60507, +0 0 -1 -1.082, 0 0 -1 -1.5589, 0 0 -1 -1.5708, ] }, + + +Shape { +appearance USE CheckersTex +geometry DEF board10-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF board10-COORD Coordinate { point [ +-4.4463 4.7531 -89.955, -1.5417 4.7531 -89.955, -4.4463 4.7531 -92.86, +-1.5417 4.7531 -92.86] +} +coordIndex [ +0, 1, 3, 2, -1] +texCoord DEF board10-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +DEF board11 Transform { +translation 3.2115 6.2948 1.1365e-005 +rotation 0 0 -1 -1.5708 +children [ +DEF board11-POS-INTERP PositionInterpolator { +key [0, 0.032787, 0.04918, 0.065574, 0.081967, 0.14754, 0.16393, 0.2623, +0.27869, 0.29508, 0.31148, 0.60656, 0.62295, 0.63934, 0.65574, +0.67213, ] +keyValue [3.2115 6.2948 1.1365e-005, 3.2115 6.2948 1.3052e-005, +3.2115 6.2948 0, 3.2115 6.2948 0, 3.2115 6.2948 1.1534e-005, +3.2115 6.2948 0, 3.2115 6.2948 1.3203e-005, 3.2115 6.2948 1.1893e-005, +3.2115 6.2948 0, 3.2115 6.2948 1.5384e-005, 3.2115 6.2948 0, +3.2115 6.2948 0, 3.4396 4.3585 0, 2.9094 2.4823 0, +1.7016 0.95179 0, 0 0 0, ] }, +DEF board11-ROT-INTERP OrientationInterpolator { +key [0, 0.60656, 0.62295, 0.63934, 0.65574, 0.67213, ] +keyValue [0 0 -1 -1.5708, 0 0 -1 -1.5708, 0 0 -1 -1.1781, 0 0 -1 -0.7854, +0 0 -1 -0.3927, 1 0 0 0, ] }, +## +DEF board11-POS-INTERP-closed PositionInterpolator { +key [0, 0.32, 0.34, 0.36, 0.38, 0.4, 0.7, 0.72, 0.74, 0.78, 0.8, 0.86, +0.88, 0.9, 0.98, 1, ] +keyValue [0 0 0, 0 0 0, 1.1943 0.57184 0, 2.8106 2.2982 0, 3.452 4.5745 0, +3.2115 6.2948 0, 3.2115 6.2948 0, 3.2114 6.2948 0, +3.2115 6.2948 1.1378e-005, 3.2115 6.2948 1.4494e-005, +3.2115 6.2948 0, 3.2115 6.2948 1.0868e-005, 3.2115 6.2948 1.1475e-005, +3.2115 6.2948 0, 3.2115 6.2948 1.0072e-005, 3.2115 6.2948 1.2493e-005, +] }, +DEF board11-ROT-INTERP-closed OrientationInterpolator { +key [0, 0.32, 0.34, 0.36, 0.38, 0.4, ] +keyValue [1 0 0 0, 1 0 0 0, 0 0 -1 -0.26578, 0 0 -1 -0.74359, +0 0 -1 -1.2214, 0 0 -1 -1.5708, ] }, +Shape { +appearance USE CheckersTex +geometry DEF board11-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF board11-COORD Coordinate { point [ +-1.5417 4.7531 -89.955, 1.3629 4.7531 -89.955, -1.5417 4.7531 -92.86, +1.3629 4.7531 -92.86] +} +coordIndex [ +0, 1, 3, 2, -1] +texCoord DEF board11-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +DEF board12 Transform { +translation 6.116 3.3902 0 +rotation 0 0 -1 -1.5708 +children [ +DEF board12-POS-INTERP PositionInterpolator { +key [0, 0.22951, 0.2459, 0.2623, 0.42623, 0.44262, 0.45902, 0.67213, +0.68852, 0.70492, 0.72131, 0.7377, ] +keyValue [6.116 3.3902 0, 6.1161 3.3902 0, 6.1161 3.3902 -1.0428e-005, +6.1161 3.3902 0, 6.116 3.3902 0, 6.1161 3.3902 0, 6.116 3.3902 0, +6.1161 3.3902 0, 5.2327 1.675 0, 3.7602 0.42844 0, +1.9227 -0.15975 0, 0 0 0, ] }, +DEF board12-ROT-INTERP OrientationInterpolator { +key [0, 0.67213, 0.68852, 0.70492, 0.72131, 0.7377, ] +keyValue [0 0 -1 -1.5708, 0 0 -1 -1.5708, 0 0 -1 -1.1781, 0 0 -1 -0.7854, +0 0 -1 -0.3927, 1 0 0 0, ] }, +## +DEF board12-POS-INTERP-closed PositionInterpolator { +key [0, 0.26, 0.28, 0.3, 0.32, 0.34, 0.56, 0.58, 0.6, 0.62, 0.64, +0.66, 0.68, 0.78, 0.8, 0.82, 0.84, ] +keyValue [0 0 0, 0 0 0, 1.974 -0.15363 0, 4.1619 0.67691 0, 5.7228 2.4205 0, +6.1161 3.3902 0, 6.116 3.3902 0, 6.1161 3.3902 0, 6.1161 3.3902 0, +6.116 3.3902 0, 6.116 3.3902 0, 6.116 3.3902 0, 6.116 3.3902 0, +6.1161 3.3902 0, 6.116 3.3902 0, 6.1161 3.3902 0, 6.1161 3.3902 0, +] }, +DEF board12-ROT-INTERP-closed OrientationInterpolator { +key [0, 0.26, 0.28, 0.3, 0.32, 0.34, ] +keyValue [1 0 0 0, 1 0 0 0, 0 0 -1 -0.40315, 0 0 -1 -0.88096, +0 0 -1 -1.3588, 0 0 -1 -1.5708, ] }, +Shape { +appearance USE CheckersTex +geometry DEF board12-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF board12-COORD Coordinate { point [ +1.3629 4.7531 -89.955, 4.2675 4.7531 -89.955, 1.3629 4.7531 -92.86, +4.2675 4.7531 -92.86] +} +coordIndex [ +0, 1, 3, 2, -1] +texCoord DEF board12-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +DEF board16 Transform { +translation -1.1225e-005 94.708 -85.202 +rotation 1 0 0 -1.5708 +children [ +DEF board16-POS-INTERP PositionInterpolator { +key [0, 0.13115, 0.14754, 0.16393, 0.18033, 0.21311, 0.22951, 0.2459, +0.27869, 0.29508, 0.31148, 0.32787, 0.5082, 0.52459, 0.54098, +0.55738, 0.57377, 0.7377, 0.7541, 0.77049, 0.78689, 0.80328, +] +keyValue [-1.1225e-005 94.708 -85.202, 0 94.708 -85.202, 0 94.708 -85.202, +1.2533e-005 94.708 -85.202, 0 94.708 -85.202, 0 94.708 -85.202, +0 94.708 -85.202, 0 94.708 -85.202, 0 94.708 -85.202, +0 94.708 -85.202, 0 94.708 -85.202, 0 94.708 -85.202, +0 94.708 -85.202, 0 94.708 -85.202, 0 94.708 -85.202, +0 94.708 -85.202, 0 94.708 -85.202, 0 94.708 -85.202, +0 86.042 -51.139, 0 65 -22.986, 0 34.786 -5.0285, 0 0 0, +] }, +DEF board16-ROT-INTERP OrientationInterpolator { +key [0, 0.7377, 0.7541, 0.77049, 0.78689, 0.80328, ] +keyValue [1 0 0 -1.5708, 1 0 0 -1.5708, 1 0 0 -1.1781, 1 0 0 -0.7854, +1 0 0 -0.3927, 1 0 0 0, ] }, +## +DEF board16-POS-INTERP-closed PositionInterpolator { +key [0, 0.18, 0.2, 0.22, 0.24, 0.26, 0.28, 0.62, 0.64, 0.66, 0.68, +0.82, 0.84, 0.86, 0.88, ] +keyValue [0 0 0, 0 0 0, 0 5.9047 0.11812, 0 47.122 -10.461, 0 78.885 -38.779, +0 94.105 -78.518, 0 94.708 -85.202, 0 94.708 -85.202, +0 94.708 -85.202, 0 94.708 -85.202, 0 94.708 -85.202, +0 94.708 -85.202, -1.2051e-005 94.708 -85.202, 0 94.708 -85.202, +0 94.708 -85.202, ] }, +DEF board16-ROT-INTERP-closed OrientationInterpolator { +key [0, 0.18, 0.2, 0.22, 0.24, 0.26, 0.28, ] +keyValue [1 0 0 0, 1 0 0 0, 1 0 0 -0.065574, 1 0 0 -0.54248, +1 0 0 -1.0194, 1 0 0 -1.4963, 1 0 0 -1.5708, ] }, +Shape { +appearance USE CheckersTex +geometry DEF board16-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF board16-COORD Coordinate { point [ +1.3629 4.7531 -87.05, 4.2675 4.7531 -87.05, 1.3629 4.7531 -89.955, +4.2675 4.7531 -89.955] +} +coordIndex [ +0, 1, 3, 2, -1] +texCoord DEF board16-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +DEF board15 Transform { +translation -3.3902 6.1161 0 +rotation 0 0 1 -1.5708 +children [ +DEF board15-POS-INTERP PositionInterpolator { +key [0, 0.016393, 0.081967, 0.098361, 0.11475, 0.18033, 0.19672, 0.21311, +0.22951, 0.2459, 0.80328, 0.81967, 0.83607, 0.85246, 0.86885, +] +keyValue [-3.3902 6.1161 0, -3.3902 6.1161 1.6481e-005, -3.3902 6.1161 1.3741e-005, +-3.3902 6.1161 0, -3.3902 6.116 1.6191e-005, -3.3902 6.1161 1.5844e-005, +-3.3902 6.116 0, -3.3902 6.116 1.5087e-005, -3.3902 6.116 1.5995e-005, +-3.3902 6.1161 0, -3.3902 6.1161 0, -3.55 4.1934 0, +-2.9618 2.3559 0, -1.7152 0.88337 0, 0 0 0, ] }, +DEF board15-ROT-INTERP OrientationInterpolator { +key [0, 0.80328, 0.81967, 0.83607, 0.85246, 0.86885, ] +keyValue [0 0 1 -1.5708, 0 0 1 -1.5708, 0 0 1 -1.1781, 0 0 1 -0.7854, +0 0 1 -0.3927, 1 0 0 0, ] }, +## +DEF board15-POS-INTERP-closed PositionInterpolator { +key [0, 0.12, 0.14, 0.16, 0.18, 0.2, 0.32, 0.34, 0.38, 0.4, 0.46, +0.48, 0.5, 0.74, 0.76, 0.8, 0.82, 0.84, 0.86, 0.94, 0.96, ] +keyValue [0 0 0, 0 0 0, -0.93059 0.37253 0, -2.6881 1.9178 0, +-3.5382 4.0981 0, -3.3902 6.1161 1.0251e-005, -3.3902 6.1161 0, +-3.3902 6.1161 1.5093e-005, -3.3902 6.116 0, -3.3902 6.1161 1.0925e-005, +-3.3902 6.1161 1.456e-005, -3.3902 6.116 0, -3.3902 6.1161 1.3653e-005, +-3.3902 6.1161 0, -3.3902 6.116 0, -3.3902 6.1161 0, +-3.3902 6.1161 1.8765e-005, -3.3902 6.1161 0, -3.3902 6.1161 1.6077e-005, +-3.3902 6.116 1.3812e-005, -3.3902 6.1161 0, ] }, +DEF board15-ROT-INTERP-closed OrientationInterpolator { +key [0, 0.12, 0.14, 0.16, 0.18, 0.2, ] +keyValue [1 0 0 0, 1 0 0 0, 0 0 1 -0.20307, 0 0 1 -0.68088, 0 0 1 -1.1587, +0 0 1 -1.5708, ] }, +Shape { +appearance USE CheckersTex +geometry DEF board15-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF board15-COORD Coordinate { point [ +-1.5417 4.7531 -87.05, 1.3629 4.7531 -87.05, -1.5417 4.7531 -89.955, +1.3629 4.7531 -89.955] +} +coordIndex [ +0, 1, 3, 2, -1] +texCoord DEF board15-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +DEF board14 Transform { +translation -6.2948 3.2115 0 +rotation 0 0 1 -1.5708 +children [ +DEF board14-POS-INTERP PositionInterpolator { +key [0, 0.11475, 0.13115, 0.14754, 0.16393, 0.18033, 0.19672, 0.21311, +0.22951, 0.2459, 0.2623, 0.27869, 0.40984, 0.42623, 0.4918, 0.5082, +0.65574, 0.67213, 0.86885, 0.88525, 0.90164, 0.91803, 0.93443, +] +keyValue [-6.2948 3.2115 0, -6.2948 3.2115 1.1162e-005, -6.2948 3.2115 0, +-6.2948 3.2115 0, -6.2948 3.2115 0, -6.2948 3.2115 0, +-6.2948 3.2115 0, -6.2948 3.2115 1.9261e-005, -6.2948 3.2115 0, +-6.2948 3.2115 0, -6.2948 3.2115 0, -6.2948 3.2115 0, +-6.2948 3.2115 0, -6.2948 3.2115 0, -6.2948 3.2115 0, +-6.2948 3.2115 0, -6.2948 3.2115 0, -6.2948 3.2115 0, +-6.2948 3.2115 0, -5.343 1.5099 0, -3.8125 0.30203 0, +-1.9363 -0.22817 0, 0 0 0, ] }, +DEF board14-ROT-INTERP OrientationInterpolator { +key [0, 0.86885, 0.88525, 0.90164, 0.91803, 0.93443, ] +keyValue [0 0 1 -1.5708, 0 0 1 -1.5708, 0 0 1 -1.1781, 0 0 1 -0.7854, +0 0 1 -0.3927, 1 0 0 0, ] }, +## +DEF board14-POS-INTERP-closed PositionInterpolator { +key [0, 0.06, 0.08, 0.1, 0.12, 0.14, 0.5, 0.52, 0.76, 0.78, 0.8, 0.92, +0.94, 0.96, 0.98, ] +keyValue [0 0 0, 0 0 0, -1.6756 -0.24198 0, -3.9575 0.37901 0, +-5.6983 1.9798 0, -6.2948 3.2115 0, -6.2948 3.2115 0, +-6.2948 3.2115 0, -6.2948 3.2115 0, -6.2948 3.2115 -1.0008e-005, +-6.2948 3.2115 0, -6.2948 3.2115 1.2872e-005, -6.2948 3.2115 0, +-6.2948 3.2115 0, -6.2948 3.2115 1.3851e-005, ] }, +DEF board14-ROT-INTERP-closed OrientationInterpolator { +key [0, 0.06, 0.08, 0.1, 0.12, 0.14, ] +keyValue [1 0 0 0, 1 0 0 0, 0 0 1 -0.34044, 0 0 1 -0.81825, 0 0 1 -1.2961, +0 0 1 -1.5708, ] }, +Shape { +appearance USE CheckersTex +geometry DEF board14-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF board14-COORD Coordinate { point [ +-4.4463 4.7531 -87.05, -1.5417 4.7531 -87.05, -4.4463 4.7531 -89.955, +-1.5417 4.7531 -89.955] +} +coordIndex [ +0, 1, 3, 2, -1] +texCoord DEF board14-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +DEF board13 Transform { +translation -9.1994 0.30687 0 +rotation 0 0 1 -1.5708 +children [ +DEF board13-POS-INTERP PositionInterpolator { +key [0, 0.016393, 0.032787, 0.04918, 0.11475, 0.13115, 0.14754, 0.19672, +0.21311, 0.2459, 0.2623, 0.5082, 0.52459, 0.54098, 0.72131, 0.7377, +0.93443, 0.95082, 0.96721, 0.98361, 1, ] +keyValue [-9.1994 0.30687 0, -9.1994 0.30687 0, -9.1994 0.30687 -1.323e-005, +-9.1994 0.30687 0, -9.1994 0.30687 0, -9.1994 0.30687 2.0788e-005, +-9.1994 0.30687 0, -9.1994 0.30687 0, -9.1994 0.30688 -1.0764e-005, +-9.1994 0.30688 0, -9.1994 0.30688 0, -9.1994 0.30686 0, +-9.1994 0.30688 0, -9.1994 0.30687 0, -9.1994 0.30687 0, +-9.1994 0.30687 0, -9.1994 0.30687 0, -7.1361 -1.1736 0, +-4.6633 -1.7518 0, -2.1574 -1.3397 0, 0 0 0, ] }, +DEF board13-ROT-INTERP OrientationInterpolator { +key [0, 0.93443, 0.95082, 0.96721, 0.98361, 1, ] +keyValue [0 0 1 -1.5708, 0 0 1 -1.5708, 0 0 1 -1.1781, 0 0 1 -0.7854, +0 0 1 -0.3927, 1 0 0 0, ] }, + +## +DEF board13-POS-INTERP-closed PositionInterpolator { +key [0, 0.02, 0.04, 0.06, 0.08, 0.34, 0.36, 0.38, 0.4, 0.46, 0.48, +0.76, 0.78, 0.82, 0.84, 0.9, 0.92, 0.94, ] +keyValue [0 0 0, -2.6836 -1.5122 0, -5.7621 -1.6211 0, -8.5458 -0.30213 0, +-9.1994 0.30687 0, -9.1994 0.30688 0, -9.1994 0.30687 0, +-9.1994 0.30687 0, -9.1994 0.30687 0, -9.1994 0.30688 0, +-9.1994 0.30686 0, -9.1994 0.30687 0, -9.1994 0.30687 0, +-9.1994 0.30686 0, -9.1994 0.30687 1.2645e-005, -9.1994 0.30687 0, +-9.1994 0.30686 -1.7909e-005, -9.1994 0.30687 0, ] }, +DEF board13-ROT-INTERP-closed OrientationInterpolator { +key [0, 0.02, 0.04, 0.06, 0.08, ] +keyValue [1 0 0 0, 0 0 1 -0.47781, 0 0 1 -0.95562, 0 0 1 -1.4334, +0 0 1 -1.5708, ] }, +Shape { +appearance USE CheckersTex +geometry DEF board13-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF board13-COORD Coordinate { point [ +-7.3509 4.7531 -87.05, -4.4463 4.7531 -87.05, -7.3509 4.7531 -89.955, +-4.4463 4.7531 -89.955] +} +coordIndex [ +0, 1, 3, 2, -1] +texCoord DEF board13-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +] +} +] +} +] +} +] +} +] +} +] +} +] +} +] +} +] +} +] +} +] +} +] +} +] +} +] +} +] +} +] +ROUTE SharedToggle7.trueTime_changed TO board01-TIMER.set_forward + +#ROUTE SharedToggle7.trueTime_changed TO board01-TIMER.startTime +#ROUTE open_or_closed7.openStartTime TO board01-TIMER.startTime +ROUTE board01-TIMER.fraction_changed TO board02-POS-INTERP.set_fraction +ROUTE board02-POS-INTERP.value_changed TO board02.set_translation +ROUTE board01-TIMER.fraction_changed TO board02-ROT-INTERP.set_fraction +ROUTE board02-ROT-INTERP.value_changed TO board02.set_rotation +ROUTE board01-TIMER.fraction_changed TO board03-POS-INTERP.set_fraction +ROUTE board03-POS-INTERP.value_changed TO board03.set_translation +ROUTE board01-TIMER.fraction_changed TO board03-ROT-INTERP.set_fraction +ROUTE board03-ROT-INTERP.value_changed TO board03.set_rotation +ROUTE board01-TIMER.fraction_changed TO board04-POS-INTERP.set_fraction +ROUTE board04-POS-INTERP.value_changed TO board04.set_translation +ROUTE board01-TIMER.fraction_changed TO board04-ROT-INTERP.set_fraction +ROUTE board04-ROT-INTERP.value_changed TO board04.set_rotation +ROUTE board01-TIMER.fraction_changed TO board08-POS-INTERP.set_fraction +ROUTE board08-POS-INTERP.value_changed TO board08.set_translation +ROUTE board01-TIMER.fraction_changed TO board08-ROT-INTERP.set_fraction +ROUTE board08-ROT-INTERP.value_changed TO board08.set_rotation +ROUTE board01-TIMER.fraction_changed TO board07-POS-INTERP.set_fraction +ROUTE board07-POS-INTERP.value_changed TO board07.set_translation +ROUTE board01-TIMER.fraction_changed TO board07-ROT-INTERP.set_fraction +ROUTE board07-ROT-INTERP.value_changed TO board07.set_rotation +ROUTE board01-TIMER.fraction_changed TO board06-POS-INTERP.set_fraction +ROUTE board06-POS-INTERP.value_changed TO board06.set_translation +ROUTE board01-TIMER.fraction_changed TO board06-ROT-INTERP.set_fraction +ROUTE board06-ROT-INTERP.value_changed TO board06.set_rotation +ROUTE board01-TIMER.fraction_changed TO board05-POS-INTERP.set_fraction +ROUTE board05-POS-INTERP.value_changed TO board05.set_translation +ROUTE board01-TIMER.fraction_changed TO board05-ROT-INTERP.set_fraction +ROUTE board05-ROT-INTERP.value_changed TO board05.set_rotation +ROUTE board01-TIMER.fraction_changed TO board05-SCALE-INTERP.set_fraction +ROUTE board05-SCALE-INTERP.value_changed TO board05.set_scale + + +ROUTE board01-TIMER.fraction_changed TO board09-POS-INTERP.set_fraction +ROUTE board09-POS-INTERP.value_changed TO board09.set_translation +ROUTE board01-TIMER.fraction_changed TO board09-ROT-INTERP.set_fraction +ROUTE board09-ROT-INTERP.value_changed TO board09.set_rotation +ROUTE board01-TIMER.fraction_changed TO board10-POS-INTERP.set_fraction +ROUTE board10-POS-INTERP.value_changed TO board10.set_translation +ROUTE board01-TIMER.fraction_changed TO board10-ROT-INTERP.set_fraction +ROUTE board10-ROT-INTERP.value_changed TO board10.set_rotation +ROUTE board01-TIMER.fraction_changed TO board10-SCALE-INTERP.set_fraction +ROUTE board10-SCALE-INTERP.value_changed TO board10.set_scale +ROUTE board01-TIMER.fraction_changed TO board10-SCALE-ORI-INTERP.set_fraction +ROUTE board10-SCALE-ORI-INTERP.value_changed TO board10.set_scaleOrientation +ROUTE board01-TIMER.fraction_changed TO board11-POS-INTERP.set_fraction +ROUTE board11-POS-INTERP.value_changed TO board11.set_translation +ROUTE board01-TIMER.fraction_changed TO board11-ROT-INTERP.set_fraction +ROUTE board11-ROT-INTERP.value_changed TO board11.set_rotation +ROUTE board01-TIMER.fraction_changed TO board12-POS-INTERP.set_fraction +ROUTE board12-POS-INTERP.value_changed TO board12.set_translation +ROUTE board01-TIMER.fraction_changed TO board12-ROT-INTERP.set_fraction +ROUTE board12-ROT-INTERP.value_changed TO board12.set_rotation +ROUTE board01-TIMER.fraction_changed TO board16-POS-INTERP.set_fraction +ROUTE board16-POS-INTERP.value_changed TO board16.set_translation +ROUTE board01-TIMER.fraction_changed TO board16-ROT-INTERP.set_fraction +ROUTE board16-ROT-INTERP.value_changed TO board16.set_rotation +ROUTE board01-TIMER.fraction_changed TO board15-POS-INTERP.set_fraction +ROUTE board15-POS-INTERP.value_changed TO board15.set_translation +ROUTE board01-TIMER.fraction_changed TO board15-ROT-INTERP.set_fraction +ROUTE board15-ROT-INTERP.value_changed TO board15.set_rotation +ROUTE board01-TIMER.fraction_changed TO board14-POS-INTERP.set_fraction +ROUTE board14-POS-INTERP.value_changed TO board14.set_translation +ROUTE board01-TIMER.fraction_changed TO board14-ROT-INTERP.set_fraction +ROUTE board14-ROT-INTERP.value_changed TO board14.set_rotation +ROUTE board01-TIMER.fraction_changed TO board13-POS-INTERP.set_fraction +ROUTE board13-POS-INTERP.value_changed TO board13.set_translation +ROUTE board01-TIMER.fraction_changed TO board13-ROT-INTERP.set_fraction +ROUTE board13-ROT-INTERP.value_changed TO board13.set_rotation +########### +#ROUTE open_or_closed7.closedStartTime TO board01-TIMER-closed.startTime + +ROUTE SharedToggle7.falseTime_changed TO board01-TIMER.set_reverse + + +ROUTE SharedToggle7.falseTime_changed TO board01-TIMER-closed.startTime +ROUTE board01-TIMER-closed.fraction_changed TO board02-POS-INTERP-closed.set_fraction +ROUTE board02-POS-INTERP-closed.value_changed TO board02.set_translation +ROUTE board01-TIMER-closed.fraction_changed TO board02-ROT-INTERP-closed.set_fraction +ROUTE board02-ROT-INTERP-closed.value_changed TO board02.set_rotation +ROUTE board01-TIMER-closed.fraction_changed TO board03-POS-INTERP-closed.set_fraction +ROUTE board03-POS-INTERP-closed.value_changed TO board03.set_translation +ROUTE board01-TIMER-closed.fraction_changed TO board03-ROT-INTERP-closed.set_fraction +ROUTE board03-ROT-INTERP-closed.value_changed TO board03.set_rotation +ROUTE board01-TIMER-closed.fraction_changed TO board04-POS-INTERP-closed.set_fraction +ROUTE board04-POS-INTERP-closed.value_changed TO board04.set_translation +ROUTE board01-TIMER-closed.fraction_changed TO board04-ROT-INTERP-closed.set_fraction +ROUTE board04-ROT-INTERP-closed.value_changed TO board04.set_rotation +ROUTE board01-TIMER-closed.fraction_changed TO board08-POS-INTERP-closed.set_fraction +ROUTE board08-POS-INTERP-closed.value_changed TO board08.set_translation +ROUTE board01-TIMER-closed.fraction_changed TO board08-ROT-INTERP-closed.set_fraction +ROUTE board08-ROT-INTERP-closed.value_changed TO board08.set_rotation +ROUTE board01-TIMER-closed.fraction_changed TO board07-POS-INTERP-closed.set_fraction +ROUTE board07-POS-INTERP-closed.value_changed TO board07.set_translation +ROUTE board01-TIMER-closed.fraction_changed TO board07-ROT-INTERP-closed.set_fraction +ROUTE board07-ROT-INTERP-closed.value_changed TO board07.set_rotation +ROUTE board01-TIMER-closed.fraction_changed TO board06-POS-INTERP-closed.set_fraction +ROUTE board06-POS-INTERP-closed.value_changed TO board06.set_translation +ROUTE board01-TIMER-closed.fraction_changed TO board06-ROT-INTERP-closed.set_fraction +ROUTE board06-ROT-INTERP-closed.value_changed TO board06.set_rotation +ROUTE board01-TIMER-closed.fraction_changed TO board05-POS-INTERP-closed.set_fraction +ROUTE board05-POS-INTERP-closed.value_changed TO board05.set_translation +ROUTE board01-TIMER-closed.fraction_changed TO board05-ROT-INTERP-closed.set_fraction +ROUTE board05-ROT-INTERP-closed.value_changed TO board05.set_rotation +#ROUTE board01-TIMER-closed.fraction_changed TO board05-SCALE-INTERP-closed.set_fraction +#ROUTE board05-SCALE-INTERP-closed.value_changed TO board05.set_scale +#ROUTE board01-TIMER-closed.fraction_changed TO board05-SCALE-ORI-INTERP-closed.set_fraction +#ROUTE board05-SCALE-ORI-INTERP-closed.value_changed TO board05.set_scaleOrientation +#ROUTE board01-TIMER-closed.fraction_changed TO board09-POS-INTERP-closed.set_fraction +ROUTE board09-POS-INTERP-closed.value_changed TO board09.set_translation +ROUTE board01-TIMER-closed.fraction_changed TO board09-ROT-INTERP-closed.set_fraction +ROUTE board09-ROT-INTERP-closed.value_changed TO board09.set_rotation +ROUTE board01-TIMER-closed.fraction_changed TO board10-POS-INTERP-closed.set_fraction +ROUTE board10-POS-INTERP-closed.value_changed TO board10.set_translation +ROUTE board01-TIMER-closed.fraction_changed TO board10-ROT-INTERP-closed.set_fraction +ROUTE board10-ROT-INTERP-closed.value_changed TO board10.set_rotation +ROUTE board01-TIMER-closed.fraction_changed TO board11-POS-INTERP-closed.set_fraction +ROUTE board11-POS-INTERP-closed.value_changed TO board11.set_translation +ROUTE board01-TIMER-closed.fraction_changed TO board11-ROT-INTERP-closed.set_fraction +ROUTE board11-ROT-INTERP-closed.value_changed TO board11.set_rotation +ROUTE board01-TIMER-closed.fraction_changed TO board12-POS-INTERP-closed.set_fraction +ROUTE board12-POS-INTERP-closed.value_changed TO board12.set_translation +ROUTE board01-TIMER-closed.fraction_changed TO board12-ROT-INTERP-closed.set_fraction +ROUTE board12-ROT-INTERP-closed.value_changed TO board12.set_rotation +ROUTE board01-TIMER-closed.fraction_changed TO board16-POS-INTERP-closed.set_fraction +ROUTE board16-POS-INTERP-closed.value_changed TO board16.set_translation +ROUTE board01-TIMER-closed.fraction_changed TO board16-ROT-INTERP-closed.set_fraction +ROUTE board16-ROT-INTERP-closed.value_changed TO board16.set_rotation +ROUTE board01-TIMER-closed.fraction_changed TO board15-POS-INTERP-closed.set_fraction +ROUTE board15-POS-INTERP-closed.value_changed TO board15.set_translation +ROUTE board01-TIMER-closed.fraction_changed TO board15-ROT-INTERP-closed.set_fraction +ROUTE board15-ROT-INTERP-closed.value_changed TO board15.set_rotation +ROUTE board01-TIMER-closed.fraction_changed TO board14-POS-INTERP-closed.set_fraction +ROUTE board14-POS-INTERP-closed.value_changed TO board14.set_translation +ROUTE board01-TIMER-closed.fraction_changed TO board14-ROT-INTERP-closed.set_fraction +ROUTE board14-ROT-INTERP-closed.value_changed TO board14.set_rotation +ROUTE board01-TIMER-closed.fraction_changed TO board13-POS-INTERP-closed.set_fraction +ROUTE board13-POS-INTERP-closed.value_changed TO board13.set_translation +ROUTE board01-TIMER-closed.fraction_changed TO board13-ROT-INTERP-closed.set_fraction +ROUTE board13-ROT-INTERP-closed.value_changed TO board13.set_rotation + +} +DEF checker_switch Transform { +translation -60.615 9.596 -76.322 +scale 0.9834 0.59004 0.9834 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 0.74902 0.84314 0.85882 +ambientIntensity 0.81699 +specularColor 1.296 1.296 1.296 +shininess 0.43 +transparency 0 +} +} +geometry DEF checker_switch-FACES IndexedFaceSet { creaseAngle 2 +ccw TRUE +solid TRUE +convex TRUE +colorPerVertex FALSE +color Color { color [ +0.74902 0.84314 0.85882, 0.78431 0.18431 0.066667 ] } +colorIndex [ +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0] +coord DEF checker_switch-COORD Coordinate { point [ +0 0.81771 0, 0.061898 0.80113 0, 0.038593 0.80113 -0.048393, +-0.013774 0.80113 -0.060346, -0.055768 0.80113 -0.026856, -0.055768 0.80113 0.026856, +-0.013774 0.80113 0.060346, 0.038593 0.80113 0.048393, 0.10721 0.75582 0, +0.066844 0.75582 -0.08382, -0.023856 0.75582 -0.10452, -0.096593 0.75582 -0.046517, +-0.096593 0.75582 0.046517, -0.023856 0.75582 0.10452, 0.066844 0.75582 0.08382, +0.1238 0.69392 0, 0.077185 0.69392 -0.096787, -0.027547 0.69392 -0.12069, +-0.11154 0.69392 -0.053713, -0.11154 0.69392 0.053713, -0.027547 0.69392 0.12069, +0.077185 0.69392 0.096787, 0.1238 0.1238 0, 0.077185 0.1238 -0.096787, +-0.027547 0.1238 -0.12069, -0.11154 0.1238 -0.053713, -0.11154 0.1238 0.053713, +-0.027547 0.1238 0.12069, 0.077185 0.1238 0.096787, 0.10721 0.061898 0, +0.066844 0.061898 -0.08382, -0.023856 0.061898 -0.10452, -0.096593 0.061898 -0.046517, +-0.096593 0.061898 0.046517, -0.023856 0.061898 0.10452, 0.066844 0.061898 0.08382, +0.061898 0.016585 0, 0.038593 0.016585 -0.048393, -0.013774 0.016585 -0.060346, +-0.055768 0.016585 -0.026856, -0.055768 0.016585 0.026856, -0.013774 0.016585 0.060346, +0.038593 0.016585 0.048393, 0 0 0] +} +coordIndex [ +0, 1, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, +-1, 0, 6, 7, -1, 0, 7, 1, -1, 1, 8, 9, 2, -1, 2, 9, 10, 3, -1, +3, 10, 11, 4, -1, 4, 11, 12, 5, -1, 5, 12, 13, 6, -1, 6, 13, +14, 7, -1, 7, 14, 8, 1, -1, 8, 15, 16, 9, -1, 9, 16, 17, 10, +-1, 10, 17, 18, 11, -1, 11, 18, 19, 12, -1, 12, 19, 20, 13, -1, +13, 20, 21, 14, -1, 14, 21, 15, 8, -1, 15, 22, 23, 16, -1, 16, +23, 24, 17, -1, 17, 24, 25, 18, -1, 18, 25, 26, 19, -1, 19, 26, +27, 20, -1, 20, 27, 28, 21, -1, 21, 28, 22, 15, -1, 22, 29, 30, +23, -1, 23, 30, 31, 24, -1, 24, 31, 32, 25, -1, 25, 32, 33, 26, +-1, 26, 33, 34, 27, -1, 27, 34, 35, 28, -1, 28, 35, 29, 22, -1, +29, 36, 37, 30, -1, 30, 37, 38, 31, -1, 31, 38, 39, 32, -1, 32, +39, 40, 33, -1, 33, 40, 41, 34, -1, 34, 41, 42, 35, -1, 35, 42, +36, 29, -1, 36, 43, 37, -1, 37, 43, 38, -1, 38, 43, 39, -1, 39, +43, 40, -1, 40, 43, 41, -1, 41, 43, 42, -1, 42, 43, 36, -1] +} +} +DEF TouchSensor07-SENSOR TouchSensor { enabled TRUE } +] +} +]}#end group +]} +DEF Sound01 Transform { +translation -60.909 7.1177 -76.748 +children [ +DEF Sound01 Sound { +direction 0 0 1 +intensity 1 +location 0 0 0 +maxBack 30 +maxFront 30 +minBack 10 +minFront 10 +priority 0 +spatialize TRUE +source +DEF AudioClip01 AudioClip { +description "" +url "drum.wav" +pitch 1 +loop FALSE +stopTime 1 +} +} +] +} +#ROUTE TouchSensor07-SENSOR.touchTime TO sharedTime7.set_time +#ROUTE sharedTime7.time_changed TO open_or_closed7.touchTime +ROUTE TouchSensor07-SENSOR.touchTime TO Toggle7.set_toggle +ROUTE Toggle7.state_changed TO sharedTime7.set_bool +ROUTE sharedTime7.bool_changed TO SharedToggle7.set_toggleState + + + +ROUTE TouchSensor07-SENSOR.touchTime TO AudioClip01.set_startTime +################################################# +#flash +################################################# +Flash{translation 61.492 -3.7794 84.378} +Flash{translation -68.576 -8.5153 94.527} +Flash{translation -54.511 -3.7506 -75.177} +Flash{translation 68.359 -3.9156 -92.031} + +Flash{translation -13.128 -17.459 -1903.6 scale 7.1 7.1 7.1} +Flash{translation 100.06 -12.116 -1903.3 scale 7.1 7.1 7.1} +Flash{translation -3721.3 26.02 88.608 rotation 0 -1 0 -1.5708 scale 7.1 7.1 7.1} +Flash{translation -3721 -17.06 -24.582 rotation 0 -1 0 -1.5708 scale 7.1 7.1 7.1} +Flash{translation 2956.9 22.881 2496.7 rotation 0 -1 0 -4.0143 scale 7.1 7.1 7.1} +Flash{translation 2917.5 -12.134 2554 rotation 0 -1 0 -4.0143 scale 7.1 7.1 7.1} + + +DEF lights Transform { +translation 0 0 0 +scale 0.013112 0.013112 0.013112 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 0.71765 0.8549 0.86667 +ambientIntensity 0.10458 +specularColor 0.558 0.558 0.558 +shininess 0.335 +transparency 0 +} +} +geometry DEF lights-FACES IndexedFaceSet { +ccw TRUE +solid TRUE +convex TRUE +coord DEF lights-COORD Coordinate { point [ +5223.8 -0.30049 -7018.5, 5206.1 -0.30049 -7008.3, 5206.1 -0.30049 -7028.8, +5215.3 -249.34 -7018.5, 5210.3 -249.34 -7015.6, 5210.3 -249.34 -7021.4, +5212 -298.88 -7018.5, 5222.1 -276.43 -7018.5, 5206.9 -276.43 -7009.8, +5206.9 -276.43 -7027.3, -4144.6 -0.30049 -5733, -4158.1 -249.34 -5730.1, +-4153.1 -249.34 -5733, -4162.3 -0.30049 -5722.7, -4158.1 -249.34 -5735.9, +-4162.3 -0.30049 -5743.2, -4161.5 -276.43 -5724.2, -4146.4 -276.43 -5733, +-4161.5 -276.43 -5741.7, -4156.4 -298.88 -5733, -5216.2 -369.4 7208, +-5229.7 -623.42 7211, -5224.7 -623.42 7208, -5233.9 -372.86 7218.3, +-5229.7 -623.42 7205.1, -5233.9 -369.4 7197.8, -5233.1 -650.51 7216.8, +-5217.9 -650.51 7208, -5233.1 -650.51 7199.3, -5228 -672.95 7208, +4700 -0.30049 6435.2, 4686.5 -249.34 6438.1, 4691.5 -249.34 6435.2, +4682.3 -0.30049 6445.4, 4686.5 -249.34 6432.3, 4682.3 -0.30049 6425, +4683.1 -276.43 6443.9, 4698.2 -276.43 6435.2, 4683.1 -276.43 6426.4, +4688.2 -298.88 6435.2, 7.0467 949.19 49.286, 0.45974 1121 43.165, +2.468 1121 46.643, 0.45953 949.19 37.878, -1.5484 1121 46.643, +-6.1274 949.19 49.287, 0.46049 1139.7 38.529, 6.4846 1139.7 48.962, +-5.5631 1139.7 48.962, 0.45998 1155.1 45.484] +} +coordIndex [ +4, 3, 0, 1, -1, 5, 4, 1, 2, -1, 3, 5, 2, 0, -1, 3, 4, 8, 7, -1, +4, 5, 9, 8, -1, 5, 3, 7, 9, -1, 7, 8, 6, -1, 8, 9, 6, -1, 9, +7, 6, -1, 11, 12, 10, 13, -1, 14, 11, 13, 15, -1, 12, 14, 15, +10, -1, 12, 11, 16, 17, -1, 11, 14, 18, 16, -1, 14, 12, 17, 18, +-1, 17, 16, 19, -1, 16, 18, 19, -1, 18, 17, 19, -1, 20, 21, 22, +-1, 20, 23, 21, -1, 23, 24, 21, -1, 23, 25, 24, -1, 22, 24, 25, +20, -1, 22, 21, 26, 27, -1, 21, 24, 28, 26, -1, 24, 22, 27, 28, +-1, 27, 26, 29, -1, 26, 28, 29, -1, 28, 27, 29, -1, 31, 32, 30, +33, -1, 34, 31, 33, 35, -1, 32, 34, 35, 30, -1, 32, 31, 36, 37, +-1, 31, 34, 38, 36, -1, 34, 32, 37, 38, -1, 37, 36, 39, -1, 36, +38, 39, -1, 38, 37, 39, -1, 41, 42, 40, 43, -1, 44, 41, 43, 45, +-1, 42, 44, 45, 40, -1, 42, 41, 46, 47, -1, 41, 44, 48, 46, -1, +44, 42, 47, 48, -1, 47, 46, 49, -1, 46, 48, 49, -1, 48, 47, 49, +-1] +} +} +] +} +################################################# +#flyby animation +################################################# +Transform { +children [ +DEF approach_flyby Viewpoint { +position -8331.2 -586.57 34.495 +orientation -0.06959 0.99515 -0.06959 -1.5757 +#fieldOfView 0.73628 +description "Approach Flyby" +} +DEF approach_flyby-TIMER TimeSensor { loop TRUE cycleInterval 10 }, + +DEF approach_flyby-POS-INTERP PositionInterpolator { +key [0, 0.0125, 0.025, 0.0375, 0.05, 0.0625, 0.075, 0.0875, 0.1, 0.1125, +0.125, 0.1375, 0.15, 0.1625, 0.175, 0.1875, 0.2, 0.2125, 0.225, +0.2375, 0.25, 0.2625, 0.275, 0.2875, 0.3, 0.3125, 0.325, 0.3375, +0.35, 0.3625, 0.375, 0.3875, 0.4, 0.4125, 0.425, 0.4375, 0.45, +0.4625, 0.475, 0.4875, 0.5, 0.5125, 0.525, 0.5375, 0.55, 0.5625, +0.575, 0.5875, 0.6, 0.6125, 0.625, 0.6375, 0.65, 0.6625, 0.675, +0.6875, 0.7, 0.7125, 0.725, 0.7375, 0.75, 0.7625, 0.775, 0.7875, +0.8, 0.8125, 0.825, 0.8375, 0.85, 0.8625, 0.875, 0.8875, 0.9, +0.9125, 0.925, 0.9375, 0.95, 0.9625, 0.975, 0.9875, 1, ] +keyValue [-8331.2 -586.57 34.495, -8150 -578.09 34.495, -7969.4 -569.61 34.495, +-7789.4 -561.13 34.495, -7610.1 -552.64 34.495, -7431.4 -544.16 34.495, +-7253.4 -535.67 34.495, -7076 -527.19 34.495, -6899.3 -518.7 34.495, +-6723.2 -510.21 34.495, -6547.7 -501.72 34.495, -6372.9 -493.23 34.495, +-6198.7 -484.74 34.495, -6025.2 -476.25 34.495, -5852.3 -467.75 34.495, +-5680 -459.26 34.495, -5508.4 -450.76 34.495, -5337.4 -442.27 34.495, +-5167.1 -433.77 34.495, -4997.4 -425.27 34.495, -4828.4 -416.77 34.495, +-4660 -408.27 34.495, -4489.9 -399.85 34.495, -4316.3 -391.57 34.495, +-4139.8 -383.42 34.495, -3961.1 -375.37 34.495, -3780.8 -367.39 34.495, +-3599.7 -359.47 34.495, -3418.2 -351.58 34.495, -3237.3 -343.69 34.495, +-3057.4 -335.79 34.495, -2879.2 -327.84 34.495, -2703.4 -319.84 34.495, +-2530.7 -311.75 34.495, -2361.8 -303.55 34.495, -2197.2 -295.21 34.495, +-2037.6 -286.72 34.495, -1883.8 -278.05 34.495, -1736.3 -269.18 34.495, +-1595.9 -260.08 34.495, -1463.2 -250.74 34.495, -1338.8 -241.12 34.495, +-1223.4 -231.21 34.495, -1117.6 -220.97 34.495, -1020.4 -210.28 34.495, +-929.67 -199.08 34.495, -845.03 -187.52 34.495, -766.03 -175.74 34.495, +-692.21 -163.89 34.495, -623.14 -152.1 34.495, -558.36 -140.51 34.495, +-497.42 -129.28 34.495, -439.88 -118.53 34.495, -385.28 -108.41 34.495, +-334.81 -98.734 34.702, -289.59 -89.233 35.239, -249.16 -79.958 35.982, +-213.04 -70.952 36.808, -180.76 -62.262 37.593, -151.83 -53.933 38.213, +-125.79 -46.01 38.543, -102.16 -38.539 38.461, -80.451 -31.565 37.841, +-60.201 -25.134 36.56, -40.929 -19.291 34.495, -23.503 -14.151 31.736, +-8.8802 -9.7077 28.476, 3.2714 -5.8232 24.743, 13.286 -2.3597 20.565, +21.498 0.82071 15.97, 28.241 3.8557 10.986, 33.848 6.8832 5.6411, +38.654 10.041 -0.037297, 42.492 13.26 -6.0628, 44.972 16.379 -12.468, +46.094 19.4 -19.253, 45.858 22.32 -26.418, 44.264 25.142 -33.962, +41.313 27.864 -41.887, 37.003 30.486 -50.191, 31.336 33.009 -58.874, +] }, +DEF approach_flyby-ROT-INTERP OrientationInterpolator { +key [0, 0.5375, 0.55, 0.5625, 0.575, 0.5875, 0.6, 0.6125, 0.625, 0.6375, +0.65, 0.6625, 0.675, 0.6875, 0.7, 0.7125, 0.725, 0.7375, 0.75, +0.7625, 0.775, 0.7875, 0.8, 0.8125, 0.825, 0.8375, 0.85, 0.8625, +0.875, 0.8875, 0.9, 0.9125, 0.925, 0.9375, 0.95, 0.9625, 0.975, +0.9875, 1, ] +keyValue [-0.06959 0.99515 -0.06959 -1.5757, -0.069587 0.99515 -0.069587 -1.5757, +0.073944 -0.9945 0.074109 -4.7046, 0.078318 -0.9938 0.078942 -4.6982, +0.082648 -0.99304 0.083951 -4.6898, 0.086902 -0.99223 0.088998 -4.6808, +0.091075 -0.9914 0.093948 -4.6727, 0.095194 -0.99056 0.098666 -4.6671, +0.099312 -0.98971 0.10301 -4.6655, 0.1035 -0.98887 0.10686 -4.6693, +0.10786 -0.98806 0.11006 -4.6802, -0.11248 0.98727 -0.11248 -1.5836, +-0.11653 0.9866 -0.11424 -1.5645, -0.11935 0.9861 -0.11557 -1.5526, +-0.12145 0.98573 -0.11652 -1.5438, -0.12336 0.98543 -0.11712 -1.5336, +-0.12568 0.9851 -0.11742 -1.5179, -0.12908 0.98465 -0.1175 -1.4923, +-0.13429 0.98397 -0.11738 -1.4527, -0.14212 0.98291 -0.11704 -1.3948, +-0.15354 0.98128 -0.11626 -1.3144, -0.16976 0.9788 -0.11457 -1.2073, +-0.19241 0.97501 -0.11109 -1.0693, -0.22635 0.96869 -0.10195 -0.87046, +-0.28313 0.95543 -0.0836 -0.59947, -0.43303 0.89968 -0.055341 -0.28221, +-0.55113 -0.83404 0.025386 -0.11034, 0.0041813 -0.99999 -0.0009464 -0.4452, +0.067389 -0.99734 -0.027945 -0.78809, 0.078607 -0.99575 -0.047905 -1.0984, +0.076184 -0.99523 -0.060871 -1.3529, 0.071708 -0.99496 -0.070077 -1.5528, +0.068401 -0.99453 -0.078971 -1.7194, 0.066528 -0.99384 -0.088683 -1.8603, +0.06562 -0.99286 -0.099605 -1.9831, 0.064893 -0.99163 -0.11161 -2.0956, +0.063393 -0.99023 -0.12422 -2.2058, 0.060045 -0.9888 -0.13661 -2.3216, +0.053721 -0.98759 -0.1476 -2.4515, ] }, + +ROUTE approach_flyby-TIMER.fraction_changed TO approach_flyby-POS-INTERP.set_fraction +ROUTE approach_flyby-POS-INTERP.value_changed TO approach_flyby.set_position +ROUTE approach_flyby-TIMER.fraction_changed TO approach_flyby-ROT-INTERP.set_fraction +ROUTE approach_flyby-ROT-INTERP.value_changed TO approach_flyby.set_orientation +#ROUTE approach_flyby.bindTime TO approach_flyby-TIMER.set_startTime + + + + + +DEF space_odyssey_flyby Viewpoint { +position -229.12 -12.617 0 +orientation 0 1 0 -1.5708 +#fieldOfView 0.73628 +description "Space Odyssey Flyby" +} +DEF space_odyssey_flyby-TIMER TimeSensor { loop TRUE cycleInterval 10 }, +DEF space_odyssey_flyby-POS-INTERP PositionInterpolator { +key [0, 0.0125, 0.025, 0.0375, 0.05, 0.0625, 0.075, 0.0875, 0.1, 0.1125, +0.125, 0.1375, 0.15, 0.1625, 0.175, 0.1875, 0.2, 0.2125, 0.225, +0.2375, 0.25, 0.2625, 0.275, 0.2875, 0.3, 0.3125, 0.325, 0.3375, +0.35, 0.3625, 0.375, 0.3875, 0.4, 0.4125, 0.425, 0.4375, 0.45, +0.4625, 0.475, 0.4875, 0.5, 0.5125, 0.525, 0.5375, 0.55, 0.5625, +0.575, 0.5875, 0.6, 0.6125, 0.625, 0.6375, 0.65, 0.6625, 0.675, +0.6875, 0.7, 0.7125, 0.725, 0.7375, 0.75, 0.7625, 0.775, 0.7875, +0.8, 0.8125, 0.825, 0.8375, 0.85, 0.8625, 0.875, 0.8875, 0.9, +0.9125, 0.925, 0.9375, 0.95, 0.9625, 0.975, 0.9875, 1, ] +keyValue [-229.12 -12.617 0, -228.42 -12.545 17.977, -226.3 -12.335 35.843, +-222.79 -11.992 53.488, -217.91 -11.526 70.803, -211.68 -10.941 87.681, +-204.15 -10.247 104.02, -195.36 -9.449 119.72, -185.36 -8.5551 134.67, +-174.23 -7.5723 148.8, -162.01 -6.5076 162.01, -148.8 -5.3681 174.23, +-134.67 -4.1611 185.36, -119.72 -2.8935 195.36, -104.02 -1.5726 204.15, +-87.681 -0.20533 211.68, -70.803 1.201 217.91, -53.488 2.6394 222.79, +-35.843 4.1027 226.3, -17.977 5.5838 228.42, -2.29e-005 7.0756 229.12, +17.977 8.5709 228.42, 35.843 10.063 226.3, 53.488 11.544 222.79, +70.803 13.007 217.91, 87.681 14.445 211.68, 104.02 15.852 204.15, +119.72 17.219 195.36, 134.67 18.54 185.36, 148.8 19.808 174.23, +162.01 21.015 162.01, 174.23 22.154 148.8, 185.36 23.219 134.67, +195.36 24.202 119.72, 204.15 25.095 104.02, 211.68 25.893 87.681, +217.91 26.588 70.803, 222.79 27.172 53.488, 226.3 27.639 35.843, +228.42 27.981 17.977, 229.12 28.192 5.6411e-005, 228.42 28.264 -17.977, +226.3 28.184 -35.842, 222.79 27.952 -53.487, 217.91 27.575 -70.803, +211.68 27.062 -87.681, 204.15 26.42 -104.02, 195.36 25.658 -119.72, +185.36 24.785 -134.67, 174.23 23.809 -148.8, 162.01 22.737 -162.01, +148.8 21.579 -174.23, 134.68 20.342 -185.36, 119.72 19.034 -195.36, +104.02 17.665 -204.15, 87.682 16.242 -211.68, 70.803 14.773 -217.91, +53.488 13.267 -222.79, 35.843 11.733 -226.3, 17.977 10.177 -228.42, +0.00016311 8.6092 -229.12, -17.977 7.0372 -228.42, +-35.842 5.4694 -226.3, -53.487 3.9139 -222.79, -70.803 2.3792 -217.91, +-87.681 0.87336 -211.68, -104.02 -0.59525 -204.15, +-119.72 -2.0184 -195.36, -134.67 -3.3877 -185.36, -148.8 -4.6951 -174.23, +-162.01 -5.9322 -162.01, -174.23 -7.0906 -148.8, -185.36 -8.1623 -134.68, +-195.36 -9.1388 -119.72, -204.15 -10.012 -104.02, -211.68 -10.774 -87.682, +-217.91 -11.415 -70.803, -222.79 -11.929 -53.488, -226.3 -12.306 -35.843, +-228.42 -12.538 -17.977, -229.12 -12.617 -0.00017071, +] }, +DEF space_odyssey_flyby-ROT-INTERP OrientationInterpolator { +key [0, 0.0125, 0.025, 0.0375, 0.05, 0.0625, 0.075, 0.0875, 0.1, 0.1125, +0.125, 0.1375, 0.15, 0.1625, 0.175, 0.1875, 0.2, 0.2125, 0.225, +0.2375, 0.25, 0.2625, 0.275, 0.2875, 0.3, 0.3125, 0.325, 0.3375, +0.35, 0.3625, 0.375, 0.3875, 0.4, 0.4125, 0.425, 0.4375, 0.45, +0.4625, 0.475, 0.4875, 0.5, 0.5125, 0.525, 0.5375, 0.55, 0.5625, +0.575, 0.5875, 0.6, 0.6125, 0.625, 0.6375, 0.65, 0.6625, 0.675, +0.6875, 0.7, 0.7125, 0.725, 0.7375, 0.75, 0.7625, 0.775, 0.7875, +0.8, 0.8125, 0.825, 0.8375, 0.85, 0.8625, 0.875, 0.8875, 0.9, +0.9125, 0.925, 0.9375, 0.95, 0.9625, 0.975, 0.9875, 1, ] +keyValue [0 1 0 -1.5708, 0.00016355 1 0.00015119 -1.4923, 0.00069614 1 0.00059458 -1.4137, +0.0016683 1 0.0013152 -1.3352, 0.0031633 0.99999 0.0022983 -1.2566, +0.0052808 0.99998 0.0035285 -1.1781, 0.0081444 0.99995 0.0049909 -1.0996, +0.011911 0.99991 0.0066702 -1.0211, 0.016783 0.99982 0.0085514 -0.94262, +0.023034 0.99968 0.010619 -0.86418, 0.031037 0.99944 0.012856 -0.7858, +0.041327 0.99903 0.015246 -0.70749, 0.054695 0.99834 0.017771 -0.62929, +0.072366 0.99717 0.020409 -0.55126, 0.096345 0.99508 0.02313 -0.47348, +0.13015 0.99116 0.025888 -0.39611, 0.18047 0.98316 0.028584 -0.31945, +0.26158 0.96468 0.03096 -0.24416, 0.40773 0.91254 0.032089 -0.17206, +0.69749 0.71607 0.027405 -0.10963, 1 0 0 -0.082748, +0.74951 -0.66133 -0.029448 -0.11868, 0.51749 -0.85472 -0.040728 -0.18364, +0.39364 -0.91809 -0.04659 -0.25642, 0.32123 -0.94563 -0.050878 -0.3319, +0.27419 -0.96013 -0.054539 -0.40857, 0.24105 -0.96879 -0.057871 -0.48584, +0.21623 -0.97444 -0.060983 -0.56346, 0.19672 -0.97837 -0.063917 -0.64128, +0.18077 -0.98126 -0.06669 -0.71923, 0.16732 -0.98346 -0.069304 -0.79726, +0.15565 -0.9852 -0.071755 -0.87533, 0.1453 -0.98661 -0.074033 -0.95342, +0.13594 -0.98779 -0.076131 -1.0315, 0.12734 -0.98878 -0.078035 -1.1096, +0.11933 -0.98965 -0.079734 -1.1877, 0.11178 -0.99041 -0.081216 -1.2658, +0.10461 -0.99109 -0.082466 -1.3439, 0.097733 -0.99171 -0.083472 -1.4219, +0.091108 -0.99227 -0.08422 -1.5, 0.084695 -0.9928 -0.084695 -1.578, +0.078466 -0.9933 -0.084884 -1.656, 0.072394 -0.99377 -0.084762 -1.734, +0.066477 -0.99422 -0.084325 -1.812, 0.060731 -0.99465 -0.083589 -1.8901, +0.055171 -0.99506 -0.082569 -1.9681, 0.049811 -0.99545 -0.081284 -2.0461, +0.044661 -0.99581 -0.079748 -2.1241, 0.039732 -0.99616 -0.077978 -2.2022, +0.035033 -0.99649 -0.075992 -2.2803, 0.030571 -0.9968 -0.073804 -2.3585, +0.026352 -0.9971 -0.071431 -2.4366, 0.022384 -0.99737 -0.068891 -2.5148, +0.01867 -0.99763 -0.0662 -2.5931, 0.015215 -0.99787 -0.063375 -2.6713, +0.012021 -0.9981 -0.060433 -2.7496, 0.0090897 -0.99831 -0.05739 -2.828, +0.0064227 -0.99851 -0.054265 -2.9063, 0.0040196 -0.99869 -0.051074 -2.9847, +0.0018794 -0.99885 -0.047835 -3.0631, 0 -0.99901 -0.044565 -3.1416, +-0.001622 -0.99915 -0.041282 -3.2201, -0.0029909 -0.99927 -0.038004 -3.2986, +-0.0041126 -0.99939 -0.034747 -3.3771, -0.0049941 -0.99949 -0.031531 -3.4556, +-0.0056438 -0.99958 -0.028373 -3.5341, -0.0060717 -0.99966 -0.025291 -3.6127, +-0.0062896 -0.99973 -0.022301 -3.6912, -0.0063111 -0.99979 -0.019424 -3.7698, +-0.0061516 -0.99984 -0.016675 -3.8483, -0.005829 -0.99988 -0.014073 -3.9269, +-0.0053638 -0.99992 -0.011635 -4.0055, -0.0047791 -0.99994 -0.0093795 -4.084, +-0.0041015 -0.99996 -0.0073238 -4.1626, -0.0033615 -0.99998 -0.0054854 -4.2411, +-0.0025938 -0.99999 -0.0038819 -4.3197, -0.0018388 -1 -0.002531 -4.3982, +-0.0011429 -1 -0.0014497 -4.4768, -0.00056028 -1 -0.00065598 -4.5553, +-0.00015428 -1 -0.00016691 -4.6338, 0 -1 0 -4.7124, +] }, +ROUTE space_odyssey_flyby-TIMER.fraction_changed TO space_odyssey_flyby-POS-INTERP.set_fraction +ROUTE space_odyssey_flyby-POS-INTERP.value_changed TO space_odyssey_flyby.set_position +ROUTE space_odyssey_flyby-TIMER.fraction_changed TO space_odyssey_flyby-ROT-INTERP.set_fraction +ROUTE space_odyssey_flyby-ROT-INTERP.value_changed TO space_odyssey_flyby.set_orientation +DEF starwars_flyby Viewpoint { +position 77.352 -20.958 -105.25 +orientation -0.76939 0.58461 -0.25743 -1.0397 +#fieldOfView 0.73628 +description "Starwars Flyby" +} +DEF starwars_flyby-TIMER TimeSensor { loop TRUE cycleInterval 10 }, +DEF starwars_flyby-POS-INTERP PositionInterpolator { +key [0, 0.0125, 0.025, 0.0375, 0.05, 0.0625, 0.075, 0.0875, 0.1, 0.1125, +0.125, 0.1375, 0.15, 0.1625, 0.175, 0.1875, 0.2, 0.2125, 0.225, +0.2375, 0.25, 0.2625, 0.275, 0.2875, 0.3, 0.3125, 0.325, 0.3375, +0.35, 0.3625, 0.375, 0.3875, 0.4, 0.4125, 0.425, 0.4375, 0.45, +0.4625, 0.475, 0.4875, 0.5, 0.5125, 0.525, 0.5375, 0.55, 0.5625, +0.575, 0.5875, 0.6, 0.6125, 0.625, 0.6375, 0.65, 0.6625, 0.675, +0.6875, 0.7, 0.7125, 0.725, 0.7375, 0.75, 0.7625, 0.775, 0.7875, +0.8, 0.8125, 0.825, 0.8375, 0.85, 0.8625, 0.875, 0.8875, 0.9, +0.9125, 0.925, 0.9375, 0.95, 0.9625, 0.975, 0.9875, 1, ] +keyValue [77.352 -20.958 -105.25, 74.945 -20.958 -102.06, 72.538 -20.958 -98.866, +70.131 -20.958 -95.672, 67.725 -20.958 -92.478, 65.318 -20.958 -89.284, +62.911 -20.958 -86.09, 60.504 -20.958 -82.896, 58.098 -20.958 -79.702, +55.691 -20.958 -76.508, 53.284 -20.958 -73.314, 50.877 -20.958 -70.121, +48.471 -20.958 -66.927, 46.064 -20.958 -63.733, 43.657 -20.958 -60.539, +41.25 -20.958 -57.345, 38.844 -20.958 -54.151, 36.437 -20.958 -50.957, +34.03 -20.958 -47.763, 31.623 -20.958 -44.57, 29.216 -20.958 -41.376, +26.81 -20.958 -38.182, 24.403 -20.958 -34.988, 21.996 -20.958 -31.794, +19.589 -20.958 -28.6, 17.183 -20.958 -25.406, 14.776 -20.958 -22.212, +12.369 -20.958 -19.019, 9.9624 -20.958 -15.825, 7.5556 -20.958 -12.631, +5.1488 -20.958 -9.4369, 2.7421 -20.958 -6.243, 0.33532 -20.958 -3.0491, +-2.0714 -20.958 0.14479, -4.4782 -20.958 3.3387, -6.885 -20.958 6.5326, +-9.2917 -20.958 9.7264, -11.698 -20.958 12.92, -14.105 -20.958 16.114, +-16.512 -20.958 19.308, -18.919 -20.958 22.502, -21.326 -20.958 25.696, +-23.732 -20.958 28.89, -26.139 -20.958 32.084, -28.546 -20.958 35.277, +-30.953 -20.958 38.471, -33.359 -20.958 41.665, -35.766 -20.958 44.859, +-38.173 -20.958 48.053, -40.58 -20.958 51.247, -42.986 -20.958 54.441, +-45.393 -20.958 57.635, -47.8 -20.958 60.829, -50.207 -20.958 64.022, +-52.613 -20.958 67.216, -55.02 -20.958 70.41, -57.427 -20.958 73.604, +-59.834 -20.958 76.798, -62.24 -20.958 79.992, -64.647 -20.958 83.186, +-67.054 -20.958 86.38, -69.461 -20.958 89.573, -71.868 -20.958 92.767, +-74.274 -20.958 95.961, -76.681 -20.958 99.155, -79.088 -20.958 102.35, +-81.495 -20.958 105.54, -83.901 -20.958 108.74, -86.308 -20.958 111.93, +-88.715 -20.958 115.12, -91.122 -20.958 118.32, -93.528 -20.958 121.51, +-95.935 -20.958 124.71, -98.342 -20.958 127.9, -100.75 -20.958 131.09, +-103.16 -20.958 134.29, -105.56 -20.958 137.48, -107.97 -20.958 140.68, +-110.38 -20.958 143.87, -112.78 -20.958 147.06, -115.19 -20.958 150.26, +] }, +DEF starwars_flyby-ROT-INTERP OrientationInterpolator { +key [0, 0.0125, 0.025, 0.0375, 0.05, 0.0625, 0.075, 0.0875, 0.1, 0.1125, +0.125, 0.1375, 0.15, 0.1625, 0.175, 0.1875, 0.2, 0.2125, 0.225, +0.2375, 0.25, 0.2625, 0.275, 0.2875, 0.3, 0.3125, 0.325, 0.3375, +0.35, 0.3625, 0.375, 0.3875, 0.4, 0.4125, 0.425, 0.4375, 0.45, +0.4625, 0.475, 0.4875, 0.5, 0.5125, 0.525, 0.5375, 0.55, 0.5625, +0.575, 0.5875, 0.6, 0.6125, 0.625, 0.6375, 0.65, 0.6625, 0.675, +0.6875, 0.7, 0.7125, 0.725, 0.7375, 0.75, 0.7625, 0.775, 0.7875, +0.8, 0.8125, 0.825, 0.8375, 0.85, 0.8625, 0.875, 0.8875, 0.9, +0.9125, 0.925, 0.9375, 0.95, 0.9625, 0.975, 0.9875, 1, ] +keyValue [-0.76939 0.58461 -0.25743 -1.0397, -0.76911 0.58501 -0.25734 -1.0391, +-0.7683 0.5862 -0.25707 -1.0373, -0.76695 0.58816 -0.25662 -1.0345, +-0.76508 0.59087 -0.25599 -1.0305, -0.76267 0.59432 -0.25519 -1.0255, +-0.75972 0.59851 -0.2542 -1.0195, -0.75619 0.60345 -0.25302 -1.0125, +-0.75207 0.60916 -0.25164 -1.0046, -0.74731 0.61563 -0.25005 -0.99567, +-0.74187 0.62291 -0.24823 -0.98585, -0.73569 0.631 -0.24616 -0.97513, +-0.72873 0.63993 -0.24383 -0.96354, -0.72089 0.64972 -0.24121 -0.95113, +-0.71211 0.6604 -0.23827 -0.93792, -0.7023 0.67197 -0.23499 -0.92398, +-0.69137 0.68447 -0.23133 -0.90936, -0.67921 0.69788 -0.22726 -0.89414, +-0.66571 0.71219 -0.22274 -0.87841, -0.65076 0.72739 -0.21774 -0.86227, +-0.63426 0.74342 -0.21222 -0.84584, -0.61611 0.76021 -0.20615 -0.82924, +-0.59621 0.77765 -0.19949 -0.81264, -0.57449 0.79562 -0.19222 -0.79619, +-0.55093 0.81394 -0.18434 -0.78005, -0.52554 0.8324 -0.17584 -0.7644, +-0.49838 0.85077 -0.16676 -0.74941, -0.4696 0.86879 -0.15712 -0.73524, +-0.43939 0.88618 -0.14702 -0.72204, -0.40806 0.90269 -0.13654 -0.70993, +-0.37598 0.91805 -0.1258 -0.699, -0.34359 0.93206 -0.11496 -0.68932, +-0.3114 0.94455 -0.10419 -0.68089, -0.27995 0.95543 -0.09367 -0.67371, +-0.2498 0.96468 -0.083583 -0.66772, -0.22152 0.97233 -0.07412 -0.66285, +-0.19564 0.97849 -0.06546 -0.65897, -0.17266 0.98329 -0.057772 -0.65598, +-0.15305 0.98689 -0.051209 -0.65376, -0.13721 0.98948 -0.04591 -0.65216, +-0.12552 0.9912 -0.041997 -0.65111, -0.11829 0.99219 -0.039579 -0.65051, +-0.11582 0.99251 -0.038753 -0.65031, -0.11883 0.99212 -0.03976 -0.65055, +-0.12762 0.9909 -0.0427 -0.65129, -0.14178 0.98876 -0.047439 -0.6526, +-0.16087 0.98551 -0.053826 -0.65461, -0.18436 0.98092 -0.061687 -0.65745, +-0.21168 0.97477 -0.070826 -0.66131, -0.24216 0.96685 -0.081025 -0.66634, +-0.27509 0.957 -0.092044 -0.67269, -0.30972 0.94516 -0.10363 -0.68048, +-0.3453 0.93135 -0.11553 -0.68979, -0.38108 0.91571 -0.12751 -0.70065, +-0.4164 0.89844 -0.13932 -0.71301, -0.45067 0.87986 -0.15079 -0.72678, +-0.48342 0.86031 -0.16175 -0.74184, -0.51432 0.84016 -0.17209 -0.758, +-0.54311 0.81976 -0.18172 -0.77505, -0.56969 0.79945 -0.19061 -0.79276, +-0.59401 0.77952 -0.19875 -0.8109, -0.61611 0.76021 -0.20615 -0.82924, +-0.63608 0.74169 -0.21283 -0.84758, -0.65404 0.72412 -0.21884 -0.8657, +-0.67012 0.70758 -0.22422 -0.88343, -0.68448 0.69212 -0.22903 -0.90062, +-0.69727 0.67778 -0.2333 -0.91713, -0.70862 0.66456 -0.2371 -0.93287, +-0.71868 0.65244 -0.24047 -0.94772, -0.72755 0.64142 -0.24343 -0.96164, +-0.73535 0.63145 -0.24604 -0.97454, -0.74217 0.62251 -0.24833 -0.98639, +-0.7481 0.61456 -0.25031 -0.99714, -0.75321 0.60758 -0.25202 -1.0068, +-0.75756 0.60154 -0.25348 -1.0152, -0.76119 0.59643 -0.25469 -1.0225, +-0.76413 0.59223 -0.25567 -1.0285, -0.76642 0.58894 -0.25644 -1.0333, +-0.76806 0.58655 -0.25699 -1.0368, -0.76905 0.5851 -0.25732 -1.0389, +-0.76939 0.58461 -0.25743 -1.0397, ] }, +ROUTE starwars_flyby-TIMER.fraction_changed TO starwars_flyby-POS-INTERP.set_fraction +ROUTE starwars_flyby-POS-INTERP.value_changed TO starwars_flyby.set_position +ROUTE starwars_flyby-TIMER.fraction_changed TO starwars_flyby-ROT-INTERP.set_fraction +ROUTE starwars_flyby-ROT-INTERP.value_changed TO starwars_flyby.set_orientation + + + +DEF camdum01 Transform { +translation 0 -12.617 0 +rotation -0.57735 -0.57735 0.57735 -2.0944 +children [ +DEF camdum01-TIMER TimeSensor { loop TRUE cycleInterval 10 }, +DEF camdum01-ROT-INTERP OrientationInterpolator { +key [0, 0.0125, 0.025, 0.0375, 0.05, 0.0625, 0.075, 0.0875, 0.1, 0.1125, +0.125, 0.1375, 0.15, 0.1625, 0.175, 0.1875, 0.2, 0.2125, 0.225, +0.2375, 0.25, 0.2625, 0.275, 0.2875, 0.3, 0.3125, 0.325, 0.3375, +0.35, 0.3625, 0.375, 0.3875, 0.4, 0.4125, 0.425, 0.4375, 0.45, +0.4625, 0.475, 0.4875, 0.5, 0.5125, 0.525, 0.5375, 0.55, 0.5625, +0.575, 0.5875, 0.6, 0.6125, 0.625, 0.6375, 0.65, 0.6625, 0.675, +0.6875, 0.7, 0.7125, 0.725, 0.7375, 0.75, 0.7625, 0.775, 0.7875, +0.8, 0.8125, 0.825, 0.8375, 0.85, 0.8625, 0.875, 0.8875, 0.9, +0.9125, 0.925, 0.9375, 0.95, 0.9625, 0.975, 0.9875, 1, ] +keyValue [-0.57735 -0.57735 0.57735 -2.0944, -0.54713 -0.59188 0.59188 -2.1403, +-0.51696 -0.60529 0.60529 -2.1873, -0.4869 -0.61763 0.61763 -2.2354, +-0.45697 -0.62896 0.62896 -2.2843, -0.42719 -0.63934 0.63934 -2.3341, +-0.39759 -0.64881 0.64881 -2.3847, -0.36818 -0.65744 0.65744 -2.436, +-0.33896 -0.66525 0.66525 -2.488, -0.30993 -0.67229 0.67229 -2.5405, +-0.28108 -0.6786 0.6786 -2.5936, -0.25242 -0.68421 0.68421 -2.6471, +-0.22392 -0.68915 0.68915 -2.701, -0.19557 -0.69345 0.69345 -2.7553, +-0.16737 -0.69713 0.69713 -2.8099, -0.13928 -0.70021 0.70021 -2.8648, +-0.1113 -0.70271 0.70271 -2.9199, -0.0834 -0.70464 0.70464 -2.9752, +-0.055565 -0.70601 0.70601 -3.0306, -0.027772 -0.70683 0.70683 -3.0861, +0 -0.70711 0.70711 -3.1416, 0.027771 -0.70683 0.70683 -3.1971, +0.055564 -0.70601 0.70601 -3.2526, 0.0834 -0.70464 0.70464 -3.308, +0.1113 -0.70271 0.70271 -3.3633, 0.13928 -0.70021 0.70021 -3.4184, +0.16737 -0.69713 0.69713 -3.4733, 0.19557 -0.69345 0.69345 -3.5279, +0.22392 -0.68915 0.68915 -3.5822, 0.25242 -0.68421 0.68421 -3.6361, +0.28108 -0.6786 0.6786 -3.6896, 0.30993 -0.67229 0.67229 -3.7427, +0.33896 -0.66525 0.66525 -3.7952, 0.36818 -0.65744 0.65744 -3.8472, +0.39759 -0.64881 0.64881 -3.8985, 0.42719 -0.63934 0.63934 -3.949, +0.45697 -0.62896 0.62896 -3.9989, 0.4869 -0.61763 0.61763 -4.0478, +0.51696 -0.60529 0.60529 -4.0958, 0.54713 -0.59188 0.59188 -4.1429, +0.57735 -0.57735 0.57735 -4.1888, -0.60757 0.56163 -0.56163 -2.0497, +-0.63772 0.54466 -0.54466 -2.0062, -0.66771 0.52638 -0.52638 -1.9641, +-0.69746 0.50673 -0.50673 -1.9236, -0.72683 0.48565 -0.48565 -1.8846, +-0.7557 0.4631 -0.4631 -1.8473, -0.78392 0.43902 -0.43902 -1.8119, +-0.81131 0.41338 -0.41338 -1.7784, -0.83769 0.38618 -0.38618 -1.747, +-0.86286 0.35741 -0.35741 -1.7178, -0.88659 0.32708 -0.32708 -1.6909, +-0.90866 0.29524 -0.29524 -1.6664, -0.92884 0.26196 -0.26196 -1.6445, +-0.94691 0.22733 -0.22733 -1.6253, -0.96264 0.19148 -0.19148 -1.6089, +-0.97582 0.15456 -0.15456 -1.5953, -0.98628 0.11673 -0.11673 -1.5846, +-0.99386 0.078219 -0.078219 -1.577, -0.99846 0.03923 -0.03923 -1.5723, +-1 0 0 -1.5708, -0.99846 -0.039229 0.039229 -1.5723, +-0.99386 -0.078218 0.078218 -1.577, -0.98628 -0.11673 0.11673 -1.5846, +-0.97582 -0.15455 0.15455 -1.5953, -0.96264 -0.19148 0.19148 -1.6089, +-0.94691 -0.22733 0.22733 -1.6253, -0.92884 -0.26196 0.26196 -1.6445, +-0.90866 -0.29524 0.29524 -1.6664, -0.88659 -0.32708 0.32708 -1.6909, +-0.86286 -0.35741 0.35741 -1.7178, -0.83769 -0.38618 0.38618 -1.747, +-0.81131 -0.41338 0.41338 -1.7784, -0.78392 -0.43902 0.43902 -1.8119, +-0.7557 -0.46309 0.46309 -1.8473, -0.72683 -0.48565 0.48565 -1.8846, +-0.69746 -0.50673 0.50673 -1.9236, -0.66771 -0.52638 0.52638 -1.9641, +-0.63772 -0.54466 0.54466 -2.0062, -0.60757 -0.56163 0.56163 -2.0497, +-0.57735 -0.57735 0.57735 -2.0944, ] }, +] +ROUTE camdum01-TIMER.fraction_changed TO camdum01-ROT-INTERP.set_fraction +ROUTE camdum01-ROT-INTERP.value_changed TO camdum01.set_rotation +} +DEF camdum02 Transform { +translation 77.352 -20.958 -105.25 +rotation -0.23024 -0.68811 0.68811 -2.689 +children [ +DEF camdum02-TIMER TimeSensor { loop TRUE cycleInterval 10 }, +DEF camdum02-POS-INTERP PositionInterpolator { +key [0, 0.0125, 0.025, 0.0375, 0.05, 0.0625, 0.075, 0.0875, 0.1, 0.1125, +0.125, 0.1375, 0.15, 0.1625, 0.175, 0.1875, 0.2, 0.2125, 0.225, +0.2375, 0.25, 0.2625, 0.275, 0.2875, 0.3, 0.3125, 0.325, 0.3375, +0.35, 0.3625, 0.375, 0.3875, 0.4, 0.4125, 0.425, 0.4375, 0.45, +0.4625, 0.475, 0.4875, 0.5, 0.5125, 0.525, 0.5375, 0.55, 0.5625, +0.575, 0.5875, 0.6, 0.6125, 0.625, 0.6375, 0.65, 0.6625, 0.675, +0.6875, 0.7, 0.7125, 0.725, 0.7375, 0.75, 0.7625, 0.775, 0.7875, +0.8, 0.8125, 0.825, 0.8375, 0.85, 0.8625, 0.875, 0.8875, 0.9, +0.9125, 0.925, 0.9375, 0.95, 0.9625, 0.975, 0.9875, 1, ] +keyValue [77.352 -20.958 -105.25, 74.945 -20.958 -102.06, 72.538 -20.958 -98.866, +70.131 -20.958 -95.672, 67.725 -20.958 -92.478, 65.318 -20.958 -89.284, +62.911 -20.958 -86.09, 60.504 -20.958 -82.896, 58.098 -20.958 -79.702, +55.691 -20.958 -76.508, 53.284 -20.958 -73.314, 50.877 -20.958 -70.121, +48.471 -20.958 -66.927, 46.064 -20.958 -63.733, 43.657 -20.958 -60.539, +41.25 -20.958 -57.345, 38.844 -20.958 -54.151, 36.437 -20.958 -50.957, +34.03 -20.958 -47.763, 31.623 -20.958 -44.57, 29.216 -20.958 -41.376, +26.81 -20.958 -38.182, 24.403 -20.958 -34.988, 21.996 -20.958 -31.794, +19.589 -20.958 -28.6, 17.183 -20.958 -25.406, 14.776 -20.958 -22.212, +12.369 -20.958 -19.019, 9.9624 -20.958 -15.825, 7.5556 -20.958 -12.631, +5.1489 -20.958 -9.4369, 2.7421 -20.958 -6.243, 0.33533 -20.958 -3.0491, +-2.0714 -20.958 0.14478, -4.4782 -20.958 3.3387, -6.885 -20.958 6.5325, +-9.2917 -20.958 9.7264, -11.698 -20.958 12.92, -14.105 -20.958 16.114, +-16.512 -20.958 19.308, -18.919 -20.958 22.502, -21.326 -20.958 25.696, +-23.732 -20.958 28.89, -26.139 -20.958 32.084, -28.546 -20.958 35.277, +-30.953 -20.958 38.471, -33.359 -20.958 41.665, -35.766 -20.958 44.859, +-38.173 -20.958 48.053, -40.58 -20.958 51.247, -42.986 -20.958 54.441, +-45.393 -20.958 57.635, -47.8 -20.958 60.829, -50.207 -20.958 64.022, +-52.613 -20.958 67.216, -55.02 -20.958 70.41, -57.427 -20.958 73.604, +-59.834 -20.958 76.798, -62.24 -20.958 79.992, -64.647 -20.958 83.186, +-67.054 -20.958 86.38, -69.461 -20.958 89.573, -71.868 -20.958 92.767, +-74.274 -20.958 95.961, -76.681 -20.958 99.155, -79.088 -20.958 102.35, +-81.495 -20.958 105.54, -83.901 -20.958 108.74, -86.308 -20.958 111.93, +-88.715 -20.958 115.12, -91.122 -20.958 118.32, -93.528 -20.958 121.51, +-95.935 -20.958 124.71, -98.342 -20.958 127.9, -100.75 -20.958 131.09, +-103.16 -20.958 134.29, -105.56 -20.958 137.48, -107.97 -20.958 140.68, +-110.38 -20.958 143.87, -112.78 -20.958 147.06, -115.19 -20.958 150.26, +] }, +] +ROUTE camdum02-TIMER.fraction_changed TO camdum02-POS-INTERP.set_fraction +ROUTE camdum02-POS-INTERP.value_changed TO camdum02.set_translation +} +DEF camdum03 Transform { +translation -8331.2 -586.57 34.495 +rotation -0.54854 -0.63103 0.54854 -2.0157 +children [ +DEF camdum03-TIMER TimeSensor { loop TRUE cycleInterval 10 }, +DEF camdum03-POS-INTERP PositionInterpolator { +key [0, 0.0125, 0.025, 0.0375, 0.05, 0.0625, 0.075, 0.0875, 0.1, 0.1125, +0.125, 0.1375, 0.15, 0.1625, 0.175, 0.1875, 0.2, 0.2125, 0.225, +0.2375, 0.25, 0.2625, 0.275, 0.2875, 0.3, 0.3125, 0.325, 0.3375, +0.35, 0.3625, 0.375, 0.3875, 0.4, 0.4125, 0.425, 0.4375, 0.45, +0.4625, 0.475, 0.4875, 0.5, 0.5125, 0.525, 0.5375, 0.55, 0.5625, +0.575, 0.5875, 0.6, 0.6125, 0.625, 0.6375, 0.65, 0.6625, 0.675, +0.6875, 0.7, 0.7125, 0.725, 0.7375, 0.75, 0.7625, 0.775, 0.7875, +0.8, 0.8125, 0.825, 0.8375, 0.85, 0.8625, 0.875, 0.8875, 0.9, +0.9125, 0.925, 0.9375, 0.95, 0.9625, 0.975, 0.9875, 1, ] +keyValue [-8331.2 -586.57 34.495, -8150 -578.09 34.495, -7969.4 -569.61 34.495, +-7789.4 -561.13 34.495, -7610.1 -552.64 34.495, -7431.4 -544.16 34.495, +-7253.4 -535.67 34.495, -7076 -527.19 34.495, -6899.3 -518.7 34.495, +-6723.2 -510.21 34.495, -6547.7 -501.72 34.495, -6372.9 -493.23 34.495, +-6198.7 -484.74 34.495, -6025.2 -476.25 34.495, -5852.3 -467.75 34.495, +-5680 -459.26 34.495, -5508.4 -450.76 34.495, -5337.4 -442.27 34.495, +-5167.1 -433.77 34.495, -4997.4 -425.27 34.495, -4828.4 -416.77 34.495, +-4660 -408.27 34.495, -4489.9 -399.85 34.495, -4316.3 -391.57 34.495, +-4139.8 -383.42 34.495, -3961.1 -375.37 34.495, -3780.8 -367.39 34.495, +-3599.7 -359.47 34.495, -3418.2 -351.58 34.495, -3237.3 -343.69 34.495, +-3057.4 -335.79 34.495, -2879.2 -327.84 34.495, -2703.4 -319.84 34.495, +-2530.7 -311.75 34.495, -2361.8 -303.55 34.495, -2197.2 -295.21 34.495, +-2037.6 -286.72 34.495, -1883.8 -278.05 34.495, -1736.3 -269.18 34.495, +-1595.9 -260.08 34.495, -1463.2 -250.74 34.495, -1338.8 -241.12 34.495, +-1223.4 -231.21 34.495, -1117.6 -220.97 34.495, -1020.4 -210.28 34.495, +-929.67 -199.08 34.495, -845.03 -187.52 34.495, -766.03 -175.74 34.495, +-692.21 -163.89 34.495, -623.14 -152.1 34.495, -558.36 -140.51 34.495, +-497.42 -129.28 34.495, -439.88 -118.53 34.495, -385.28 -108.41 34.495, +-334.81 -98.734 34.702, -289.59 -89.233 35.239, -249.16 -79.958 35.982, +-213.04 -70.952 36.808, -180.76 -62.262 37.593, -151.83 -53.933 38.213, +-125.79 -46.01 38.543, -102.16 -38.539 38.461, -80.451 -31.565 37.841, +-60.201 -25.134 36.56, -40.929 -19.291 34.495, -23.503 -14.151 31.736, +-8.8802 -9.7077 28.476, 3.2714 -5.8232 24.743, 13.286 -2.3597 20.565, +21.498 0.82071 15.97, 28.241 3.8557 10.986, 33.848 6.8832 5.6411, +38.654 10.041 -0.037301, 42.492 13.26 -6.0628, 44.972 16.379 -12.468, +46.094 19.4 -19.253, 45.858 22.32 -26.418, 44.264 25.142 -33.962, +41.313 27.864 -41.887, 37.003 30.486 -50.191, 31.336 33.009 -58.874, +] }, +DEF camdum03-ROT-INTERP OrientationInterpolator { +key [0, 0.5375, 0.55, 0.5625, 0.575, 0.5875, 0.6, 0.6125, 0.625, 0.6375, +0.65, 0.6625, 0.675, 0.6875, 0.7, 0.7125, 0.725, 0.7375, 0.75, +0.7625, 0.775, 0.7875, 0.8, 0.8125, 0.825, 0.8375, 0.85, 0.8625, +0.875, 0.8875, 0.9, 0.9125, 0.925, 0.9375, 0.95, 0.9625, 0.975, +0.9875, 1, ] +keyValue [-0.54854 -0.63103 0.54854 -2.0157, -0.54854 -0.63103 0.54854 -2.0157, +-0.54736 -0.63409 0.54619 -2.0093, -0.54733 -0.63672 0.54316 -2.0002, +-0.54796 -0.6391 0.53972 -1.9896, -0.54876 -0.64142 0.53614 -1.9787, +-0.54921 -0.64387 0.53273 -1.9685, -0.54881 -0.64664 0.52978 -1.9602, +-0.54705 -0.64992 0.52758 -1.9549, -0.5434 -0.65388 0.52645 -1.9538, +-0.53738 -0.65867 0.52667 -1.958, -0.52848 -0.66439 0.52848 -1.9687, +-0.52037 -0.66976 0.52975 -1.9813, -0.51579 -0.67393 0.52894 -1.9916, +-0.5129 -0.67752 0.52716 -2.0015, -0.50987 -0.68113 0.52544 -2.0133, +-0.50488 -0.68531 0.52482 -2.029, -0.49616 -0.69055 0.52627 -2.0507, +-0.48197 -0.69722 0.53065 -2.0808, -0.46063 -0.70548 0.53862 -2.1216, +-0.43053 -0.71521 0.55056 -2.1759, -0.39017 -0.72588 0.56645 -2.2467, +-0.33823 -0.73648 0.58583 -2.3375, -0.26537 -0.74574 0.61111 -2.4716, +-0.16918 -0.74971 0.63978 -2.6613, -0.057915 -0.74454 0.66506 -2.8913, +0.061895 -0.72829 0.68247 -3.1439, 0.18501 -0.70046 0.6893 -3.3994, +0.30616 -0.66192 0.6842 -3.6377, 0.41858 -0.61576 0.66755 -3.8408, +0.5135 -0.56859 0.64267 -3.9944, 0.59041 -0.52483 0.61317 -4.1015, +-0.65605 0.48323 -0.57973 -2.1066, -0.71192 0.44427 -0.54387 -2.0561, +-0.75994 0.40751 -0.50638 -2.0234, -0.80216 0.37163 -0.46736 -2.0022, +-0.84049 0.33455 -0.4262 -1.9869, -0.87647 0.29356 -0.38159 -1.9725, +-0.91097 0.24535 -0.33157 -1.9554, ] }, +] +ROUTE camdum03-TIMER.fraction_changed TO camdum03-POS-INTERP.set_fraction +ROUTE camdum03-POS-INTERP.value_changed TO camdum03.set_translation +ROUTE camdum03-TIMER.fraction_changed TO camdum03-ROT-INTERP.set_fraction +ROUTE camdum03-ROT-INTERP.value_changed TO camdum03.set_rotation +} +] +} +######################################### +#planet & Atmosphere +######################################### +DEF Inline_planet Transform { +children [ +DEF atmosphere Transform { +translation 0 0 0 +rotation -1 0 0 -1.571 +children [ +DEF atmosphere-TIMER TimeSensor { loop TRUE cycleInterval 500 }, +DEF atmosphere-ROT-INTERP OrientationInterpolator { +key [0, 0.2, 0.4, 0.6, 0.8, 1, ] +keyValue [-1 0 0 -1.571, -0.6975 -0.5067 0.5067 -1.924, -0.2239 -0.6892 0.6892 -2.701, +0.2239 -0.6892 0.6892 -3.582, -0.6975 0.5067 -0.5067 -1.924, +-1 0 0 -1.571, ] }, +Shape { +appearance Appearance { +material Material { +diffuseColor 0.9686 0.9804 0.9843 +ambientIntensity 0 +specularColor 0 0 0 +shininess 0.05 +transparency .5 +emissiveColor 0.9686 0.9804 0.9843 +} +texture ImageTexture { +url "clouds2.png" +} +} +geometry DEF atmosphere-FACES IndexedFaceSet { creaseAngle 2 +ccw TRUE +solid FALSE +convex TRUE +coord DEF atmosphere-COORD Coordinate { point [ +-2.572e-005 -0.0003874 251.8, -0.0002667 -5513 388.2, -1427 -5325 388.2, +-2757 -4775 388.2, -3898 -3898 388.2, -4775 -2757 388.2, -5325 -1427 388.2, +-5513 0.0002181 388.2, -5325 1427 388.2, -4775 2757 388.2, -3898 3898 388.2, +-2757 4775 388.2, -1427 5325 388.2, 0.0006972 5513 388.2, 1427 5325 388.2, +2757 4775 388.2, 3898 3898 388.2, 4775 2757 388.2, 5325 1427 388.2, +5513 -0.001228 388.2, 5325 -1427 388.2, 4775 -2757 388.2, 3898 -3898 388.2, +2757 -4775 388.2, 1427 -5325 388.2, -0.0003698 -8460 545.8, -2190 -8172 545.8, +-4230 -7326 545.8, -5982 -5982 545.8, -7326 -4230 545.8, -8172 -2190 545.8, +-8460 0.000514 545.8, -8172 2190 545.8, -7326 4230 545.8, -5982 5982 545.8, +-4230 7326 545.8, -2190 8172 545.8, 0.001109 8460 545.8, 2190 8172 545.8, +4230 7326 545.8, 5982 5982 545.8, 7326 4230 545.8, 8172 2190 545.8, +8460 -0.001705 545.8, 8172 -2190 545.8, 7326 -4230 545.8, 5982 -5982 545.8, +4230 -7326 545.8, 2190 -8172 545.8] +} +coordIndex [ +0, 1, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, +-1, 0, 6, 7, -1, 0, 7, 8, -1, 0, 8, 9, -1, 0, 9, 10, -1, 0, 10, +11, -1, 0, 11, 12, -1, 0, 12, 13, -1, 0, 13, 14, -1, 0, 14, 15, +-1, 0, 15, 16, -1, 0, 16, 17, -1, 0, 17, 18, -1, 0, 18, 19, -1, +0, 19, 20, -1, 0, 20, 21, -1, 0, 21, 22, -1, 0, 22, 23, -1, 0, +23, 24, -1, 0, 24, 1, -1, 1, 25, 26, 2, -1, 2, 26, 27, 3, -1, +3, 27, 28, 4, -1, 4, 28, 29, 5, -1, 5, 29, 30, 6, -1, 6, 30, +31, 7, -1, 7, 31, 32, 8, -1, 8, 32, 33, 9, -1, 9, 33, 34, 10, +-1, 10, 34, 35, 11, -1, 11, 35, 36, 12, -1, 12, 36, 37, 13, -1, +13, 37, 38, 14, -1, 14, 38, 39, 15, -1, 15, 39, 40, 16, -1, 16, +40, 41, 17, -1, 17, 41, 42, 18, -1, 18, 42, 43, 19, -1, 19, 43, +44, 20, -1, 20, 44, 45, 21, -1, 21, 45, 46, 22, -1, 22, 46, 47, +23, -1, 23, 47, 48, 24, -1, 24, 48, 25, 1, -1] +texCoord DEF atmosphere-TEXCOORD TextureCoordinate { point [ +2 2, 2 3.302, 1.663 3.258, 1.349 3.128, 1.079 2.921, 0.8724 2.651, +0.7423 2.337, 0.6979 2, 0.7423 1.663, 0.8724 1.349, 1.079 1.079, +1.349 0.8724, 1.663 0.7423, 2 0.6979, 2.337 0.7423, 2.651 0.8724, +2.921 1.079, 3.128 1.349, 3.258 1.663, 3.302 2, 3.258 2.337, +3.128 2.651, 2.921 2.921, 2.651 3.128, 2.337 3.258, 2 3.998, +1.483 3.93, 1.001 3.73, 0.5872 3.413, 0.2697 2.999, 0.07008 2.517, +0.001998 2, 0.07008 1.483, 0.2697 1.001, 0.5872 0.5872, 1.001 0.2697, +1.483 0.07008, 2 0.001998, 2.517 0.07008, 2.999 0.2697, 3.413 0.5872, +3.73 1.001, 3.93 1.483, 3.998 2, 3.93 2.517, 3.73 2.999, 3.413 3.413, +2.999 3.73, 2.517 3.93] +} +texCoordIndex [ +0, 1, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, +-1, 0, 6, 7, -1, 0, 7, 8, -1, 0, 8, 9, -1, 0, 9, 10, -1, 0, 10, +11, -1, 0, 11, 12, -1, 0, 12, 13, -1, 0, 13, 14, -1, 0, 14, 15, +-1, 0, 15, 16, -1, 0, 16, 17, -1, 0, 17, 18, -1, 0, 18, 19, -1, +0, 19, 20, -1, 0, 20, 21, -1, 0, 21, 22, -1, 0, 22, 23, -1, 0, +23, 24, -1, 0, 24, 1, -1, 1, 25, 26, 2, -1, 2, 26, 27, 3, -1, +3, 27, 28, 4, -1, 4, 28, 29, 5, -1, 5, 29, 30, 6, -1, 6, 30, +31, 7, -1, 7, 31, 32, 8, -1, 8, 32, 33, 9, -1, 9, 33, 34, 10, +-1, 10, 34, 35, 11, -1, 11, 35, 36, 12, -1, 12, 36, 37, 13, -1, +13, 37, 38, 14, -1, 14, 38, 39, 15, -1, 15, 39, 40, 16, -1, 16, +40, 41, 17, -1, 17, 41, 42, 18, -1, 18, 42, 43, 19, -1, 19, 43, +44, 20, -1, 20, 44, 45, 21, -1, 21, 45, 46, 22, -1, 22, 46, 47, +23, -1, 23, 47, 48, 24, -1, 24, 48, 25, 1, -1] +} +} +] +ROUTE atmosphere-TIMER.fraction_changed TO atmosphere-ROT-INTERP.set_fraction +ROUTE atmosphere-ROT-INTERP.value_changed TO atmosphere.set_rotation +} +DEF planet Transform { +translation 0 0 0 +rotation -1 0 0 -1.571 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 1 1 1 +ambientIntensity 0.01961 +specularColor 0.045 0.045 0.045 +shininess 0.2875 +transparency 0 +emissiveColor 1 1 1 +} +texture ImageTexture { +url "earth2.gif" +} +} +geometry DEF planet-FACES IndexedFaceSet { creaseAngle 2 +ccw TRUE +solid TRUE +convex TRUE +coord DEF planet-COORD Coordinate { point [ +-2.572e-005 -0.0002289 335.2, -0.0002667 -5513 471.6, -1427 -5325 471.6, +-2757 -4775 471.6, -3898 -3898 471.6, -4775 -2757 471.6, -5325 -1427 471.6, +-5513 0.0003588 471.6, -5325 1427 471.6, -4775 2757 471.6, -3898 3898 471.6, +-2757 4775 471.6, -1427 5325 471.6, 0.0006972 5513 471.6, 1427 5325 471.6, +2757 4775 471.6, 3898 3898 471.6, 4775 2757 471.6, 5325 1427 471.6, +5513 -0.001087 471.6, 5325 -1427 471.6, 4775 -2757 471.6, 3898 -3898 471.6, +2757 -4775 471.6, 1427 -5325 471.6, -0.0003698 -8460 629.1, -2190 -8172 629.1, +-4230 -7326 629.1, -5982 -5982 629.1, -7326 -4230 629.1, -8172 -2190 629.1, +-8460 0.0006341 629.1, -8172 2190 629.1, -7326 4230 629.1, -5982 5982 629.1, +-4230 7326 629.1, -2190 8172 629.1, 0.001109 8460 629.1, 2190 8172 629.1, +4230 7326 629.1, 5982 5982 629.1, 7326 4230 629.1, 8172 2190 629.1, +8460 -0.001585 629.1, 8172 -2190 629.1, 7326 -4230 629.1, 5982 -5982 629.1, +4230 -7326 629.1, 2190 -8172 629.1] +} +coordIndex [ +0, 1, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, +-1, 0, 6, 7, -1, 0, 7, 8, -1, 0, 8, 9, -1, 0, 9, 10, -1, 0, 10, +11, -1, 0, 11, 12, -1, 0, 12, 13, -1, 0, 13, 14, -1, 0, 14, 15, +-1, 0, 15, 16, -1, 0, 16, 17, -1, 0, 17, 18, -1, 0, 18, 19, -1, +0, 19, 20, -1, 0, 20, 21, -1, 0, 21, 22, -1, 0, 22, 23, -1, 0, +23, 24, -1, 0, 24, 1, -1, 1, 25, 26, 2, -1, 2, 26, 27, 3, -1, +3, 27, 28, 4, -1, 4, 28, 29, 5, -1, 5, 29, 30, 6, -1, 6, 30, +31, 7, -1, 7, 31, 32, 8, -1, 8, 32, 33, 9, -1, 9, 33, 34, 10, +-1, 10, 34, 35, 11, -1, 11, 35, 36, 12, -1, 12, 36, 37, 13, -1, +13, 37, 38, 14, -1, 14, 38, 39, 15, -1, 15, 39, 40, 16, -1, 16, +40, 41, 17, -1, 17, 41, 42, 18, -1, 18, 42, 43, 19, -1, 19, 43, +44, 20, -1, 20, 44, 45, 21, -1, 21, 45, 46, 22, -1, 22, 46, 47, +23, -1, 23, 47, 48, 24, -1, 24, 48, 25, 1, -1] +texCoord DEF planet-TEXCOORD TextureCoordinate { point [ +0.5 0.5, 0.5 0.813, 0.419 0.8023, 0.3435 0.7711, 0.2787 0.7213, +0.2289 0.6565, 0.1977 0.581, 0.187 0.5, 0.1977 0.419, 0.2289 0.3435, +0.2787 0.2787, 0.3435 0.2289, 0.419 0.1977, 0.5 0.187, 0.581 0.1977, +0.6565 0.2289, 0.7213 0.2787, 0.7711 0.3435, 0.8023 0.419, 0.813 0.5, +0.8023 0.581, 0.7711 0.6565, 0.7213 0.7213, 0.6565 0.7711, 0.581 0.8023, +0.5 0.9803, 0.3757 0.9639, 0.2599 0.9159, 0.1604 0.8396, 0.08406 0.7401, +0.03608 0.6243, 0.01971 0.5, 0.03608 0.3757, 0.08406 0.2599, +0.1604 0.1604, 0.2599 0.08406, 0.3757 0.03608, 0.5 0.01971, 0.6243 0.03608, +0.7401 0.08406, 0.8396 0.1604, 0.9159 0.2599, 0.9639 0.3757, +0.9803 0.5, 0.9639 0.6243, 0.9159 0.7401, 0.8396 0.8396, 0.7401 0.9159, +0.6243 0.9639] +} +texCoordIndex [ +0, 1, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, +-1, 0, 6, 7, -1, 0, 7, 8, -1, 0, 8, 9, -1, 0, 9, 10, -1, 0, 10, +11, -1, 0, 11, 12, -1, 0, 12, 13, -1, 0, 13, 14, -1, 0, 14, 15, +-1, 0, 15, 16, -1, 0, 16, 17, -1, 0, 17, 18, -1, 0, 18, 19, -1, +0, 19, 20, -1, 0, 20, 21, -1, 0, 21, 22, -1, 0, 22, 23, -1, 0, +23, 24, -1, 0, 24, 1, -1, 1, 25, 26, 2, -1, 2, 26, 27, 3, -1, +3, 27, 28, 4, -1, 4, 28, 29, 5, -1, 5, 29, 30, 6, -1, 6, 30, +31, 7, -1, 7, 31, 32, 8, -1, 8, 32, 33, 9, -1, 9, 33, 34, 10, +-1, 10, 34, 35, 11, -1, 11, 35, 36, 12, -1, 12, 36, 37, 13, -1, +13, 37, 38, 14, -1, 14, 38, 39, 15, -1, 15, 39, 40, 16, -1, 16, +40, 41, 17, -1, 17, 41, 42, 18, -1, 18, 42, 43, 19, -1, 19, 43, +44, 20, -1, 20, 44, 45, 21, -1, 21, 45, 46, 22, -1, 22, 46, 47, +23, -1, 23, 47, 48, 24, -1, 24, 48, 25, 1, -1] +} +} +] +} + + +] +} +###################################################### +#fireplace +###################################################### + +Group{ +children[ +Flash{translation 0.04043 14.923 0.57681} +DEF fireplace Transform { +translation 0 0 0 +scale 0.71429 1 0.71429 +children [ +DEF Sound01 Transform { +translation -0.025692 -1.3635 -0.42409 +rotation 0 -1 0 -3.1416 +children [ +DEF Sound01 Sound { +direction 0 0 1 +intensity 1 +location 0 0 0 +maxBack 4.032 +maxFront 5.3806 +minBack 0.65671 +minFront 0.96354 +priority 0 +spatialize TRUE +source +DEF AudioClip01 AudioClip { +description "" +url "fire.wav" +pitch 1 +loop TRUE +startTime 1 +} +} +] +} + +DEF inline_flame Transform { +translation 0 0 0 +children [ + +DEF flame Transform { +translation 0.00572 -1.78 -1.14 +scale 1.26 0.609 0.965 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 0.192 0.561 0.384 +ambientIntensity 0.126 +specularColor 0.045 0.045 0.045 +shininess 0.287 +transparency 0 +emissiveColor 0.192 0.561 0.384 +} +texture DEF FlameTex ImageTexture { +url "flame3.png" +} +textureTransform DEF tt2 TextureTransform { +center 0.4 0.4 +scale 2 1 +} +} +geometry DEF flame-FACES IndexedFaceSet { +creaseAngle 3.14 +ccw TRUE +solid TRUE +convex TRUE +coord DEF flame-COORD Coordinate { point [ +0 1.28 0, 0 0.943 -0.406, -0.239 0.943 -0.329, -0.386 0.943 -0.126, +-0.386 0.943 0.126, -0.239 0.943 0.329, 0 0.943 0.406, 0.239 0.943 0.329, +0.386 0.943 0.126, 0.386 0.943 -0.126, 0.239 0.943 -0.329, 0 0.283 -0.651, +-0.383 0.283 -0.527, -0.619 0.283 -0.201, -0.619 0.283 0.201, +-0.383 0.283 0.527, 0 0.283 0.651, 0.383 0.283 0.527, 0.619 0.283 0.201, +0.619 0.283 -0.201, 0.383 0.283 -0.527, 0 -0.214 -0.684, -0.402 -0.214 -0.553, +-0.65 -0.214 -0.211, -0.65 -0.214 0.211, -0.402 -0.214 0.553, +0 -0.214 0.684, 0.402 -0.214 0.553, 0.65 -0.214 0.211, 0.65 -0.214 -0.211, +0.402 -0.214 -0.553, 0 -0.559 -0.516, -0.303 -0.559 -0.417, -0.491 -0.559 -0.159, +-0.491 -0.559 0.159, -0.303 -0.559 0.417, 0 -0.559 0.516, 0.303 -0.559 0.417, +0.491 -0.559 0.159, 0.491 -0.559 -0.159, 0.303 -0.559 -0.417] +} +coordIndex [ +0, 1, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, +-1, 0, 6, 7, -1, 0, 7, 8, -1, 0, 8, 9, -1, 0, 9, 10, -1, 0, 10, +1, -1, 1, 11, 12, 2, -1, 2, 12, 13, 3, -1, 3, 13, 14, 4, -1, +4, 14, 15, 5, -1, 5, 15, 16, 6, -1, 6, 16, 17, 7, -1, 7, 17, +18, 8, -1, 8, 18, 19, 9, -1, 9, 19, 20, 10, -1, 10, 20, 11, 1, +-1, 11, 21, 22, 12, -1, 12, 22, 23, 13, -1, 13, 23, 24, 14, -1, +14, 24, 25, 15, -1, 15, 25, 26, 16, -1, 16, 26, 27, 17, -1, 17, +27, 28, 18, -1, 18, 28, 29, 19, -1, 19, 29, 30, 20, -1, 20, 30, +21, 11, -1, 21, 31, 32, 22, -1, 22, 32, 33, 23, -1, 23, 33, 34, +24, -1, 24, 34, 35, 25, -1, 25, 35, 36, 26, -1, 26, 36, 37, 27, +-1, 27, 37, 38, 28, -1, 28, 38, 39, 29, -1, 29, 39, 40, 30, -1, +30, 40, 31, 21, -1] +texCoord DEF flame-TEXCOORD TextureCoordinate { point [ +0.5 1, 1 0.818, 0.0962 0.818, 0.198 0.818, 0.302 0.818, 0.404 0.818, +0.5 0.818, 0.596 0.818, 0.698 0.818, 0.802 0.818, 0.904 0.818, +1 0.459, 0.0962 0.459, 0.198 0.459, 0.302 0.459, 0.404 0.459, +0.5 0.459, 0.596 0.459, 0.698 0.459, 0.802 0.459, 0.904 0.459, +1 0.189, 0.0962 0.189, 0.198 0.189, 0.302 0.189, 0.404 0.189, +0.5 0.189, 0.596 0.189, 0.698 0.189, 0.802 0.189, 0.904 0.189, +1 0.0005, 0.0962 0.0005, 0.198 0.0005, 0.302 0.0005, 0.404 0.0005, +0.5 0.0005, 0.596 0.0005, 0.698 0.0005, 0.802 0.0005, 0.904 0.0005, +0 0.818, 0 0.818, 0 0.459, 0 0.459, 0 0.189, 0 0.189, 0 0.0005] +} +texCoordIndex [ +0, 41, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, +-1, 0, 6, 7, -1, 0, 7, 8, -1, 0, 8, 9, -1, 0, 9, 10, -1, 0, 10, +1, -1, 42, 43, 12, 2, -1, 2, 12, 13, 3, -1, 3, 13, 14, 4, -1, +4, 14, 15, 5, -1, 5, 15, 16, 6, -1, 6, 16, 17, 7, -1, 7, 17, +18, 8, -1, 8, 18, 19, 9, -1, 9, 19, 20, 10, -1, 10, 20, 11, 1, +-1, 44, 45, 22, 12, -1, 12, 22, 23, 13, -1, 13, 23, 24, 14, -1, +14, 24, 25, 15, -1, 15, 25, 26, 16, -1, 16, 26, 27, 17, -1, 17, +27, 28, 18, -1, 18, 28, 29, 19, -1, 19, 29, 30, 20, -1, 20, 30, +21, 11, -1, 46, 47, 32, 22, -1, 22, 32, 33, 23, -1, 23, 33, 34, +24, -1, 24, 34, 35, 25, -1, 25, 35, 36, 26, -1, 26, 36, 37, 27, +-1, 27, 37, 38, 28, -1, 28, 38, 39, 29, -1, 29, 39, 40, 30, -1, +30, 40, 31, 21, -1] +} +} +] +} +DEF flame01 Transform { +translation 0.00572 -1.84 -1.14 +scale 1.03 0.495 0.784 +children [ + + +DEF sClock TimeSensor { +enabled TRUE +cycleInterval 1.5 +loop TRUE +} +DEF sVis VisibilitySensor{ +size 15 15 15 +} +DEF sInterp ScalarInterpolator{ +key [ 0, 1 ] +keyValue [ 0, -1 ] +} + +DEF ss Script { +eventIn SFFloat set_trans +eventIn SFBool set_choice +eventOut SFVec2f value_changed +eventOut SFInt32 choice_changed +url "vrmlscript: +function set_trans(v){value_changed = new SFVec2f(0,v);} +function set_choice(v){ +if(v){choice_changed = 0;} +else{choice_changed = -1;} +} +" +} + + +Shape { +appearance Appearance { +material Material { +diffuseColor 0.192 0.561 0.384 +ambientIntensity 0.126 +specularColor 0.045 0.045 0.045 +shininess 0.287 +transparency 0 +emissiveColor 0.192 0.561 0.384 +} +texture USE FlameTex +textureTransform DEF tt TextureTransform { +center 0.5 0.5 +scale 2 1 +} +} +geometry DEF flame01-FACES IndexedFaceSet { +creaseAngle 3.14 +ccw TRUE +solid TRUE +convex TRUE +coord DEF flame01-COORD Coordinate { point [ +0 1.28 0, 0 0.943 -0.406, -0.239 0.943 -0.329, -0.386 0.943 -0.126, +-0.386 0.943 0.126, -0.239 0.943 0.329, 0 0.943 0.406, 0.239 0.943 0.329, +0.386 0.943 0.126, 0.386 0.943 -0.126, 0.239 0.943 -0.329, 0 0.283 -0.651, +-0.383 0.283 -0.527, -0.619 0.283 -0.201, -0.619 0.283 0.201, +-0.383 0.283 0.527, 0 0.283 0.651, 0.383 0.283 0.527, 0.619 0.283 0.201, +0.619 0.283 -0.201, 0.383 0.283 -0.527, 0 -0.214 -0.684, -0.402 -0.214 -0.553, +-0.65 -0.214 -0.211, -0.65 -0.214 0.211, -0.402 -0.214 0.553, +0 -0.214 0.684, 0.402 -0.214 0.553, 0.65 -0.214 0.211, 0.65 -0.214 -0.211, +0.402 -0.214 -0.553, 0 -0.559 -0.516, -0.303 -0.559 -0.417, -0.491 -0.559 -0.159, +-0.491 -0.559 0.159, -0.303 -0.559 0.417, 0 -0.559 0.516, 0.303 -0.559 0.417, +0.491 -0.559 0.159, 0.491 -0.559 -0.159, 0.303 -0.559 -0.417] +} +coordIndex [ +0, 1, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, +-1, 0, 6, 7, -1, 0, 7, 8, -1, 0, 8, 9, -1, 0, 9, 10, -1, 0, 10, +1, -1, 1, 11, 12, 2, -1, 2, 12, 13, 3, -1, 3, 13, 14, 4, -1, +4, 14, 15, 5, -1, 5, 15, 16, 6, -1, 6, 16, 17, 7, -1, 7, 17, +18, 8, -1, 8, 18, 19, 9, -1, 9, 19, 20, 10, -1, 10, 20, 11, 1, +-1, 11, 21, 22, 12, -1, 12, 22, 23, 13, -1, 13, 23, 24, 14, -1, +14, 24, 25, 15, -1, 15, 25, 26, 16, -1, 16, 26, 27, 17, -1, 17, +27, 28, 18, -1, 18, 28, 29, 19, -1, 19, 29, 30, 20, -1, 20, 30, +21, 11, -1, 21, 31, 32, 22, -1, 22, 32, 33, 23, -1, 23, 33, 34, +24, -1, 24, 34, 35, 25, -1, 25, 35, 36, 26, -1, 26, 36, 37, 27, +-1, 27, 37, 38, 28, -1, 28, 38, 39, 29, -1, 29, 39, 40, 30, -1, +30, 40, 31, 21, -1] +texCoord DEF flame01-TEXCOORD TextureCoordinate { point [ +0.5 1, 0.25 0.818, 0.354 0.818, 0.452 0.818, 0.548 0.818, 0.646 0.818, +0.75 0.818, 0.854 0.818, 0.952 0.818, 0.0477 0.818, 0.146 0.818, +0.25 0.459, 0.354 0.459, 0.452 0.459, 0.548 0.459, 0.646 0.459, +0.75 0.459, 0.854 0.459, 0.952 0.459, 0.0477 0.459, 0.146 0.459, +0.25 0.189, 0.354 0.189, 0.452 0.189, 0.548 0.189, 0.646 0.189, +0.75 0.189, 0.854 0.189, 0.952 0.189, 0.0477 0.189, 0.146 0.189, +0.25 0.0005, 0.354 0.0005, 0.452 0.0005, 0.548 0.0005, 0.646 0.0005, +0.75 0.0005, 0.854 0.0005, 0.952 0.0005, 0.0477 0.0005, 0.146 0.0005, +-0.0477 0.818, -0.0477 0.818, -0.0477 0.459, -0.0477 0.459, -0.0477 0.189, +-0.0477 0.189, -0.0477 0.0005] +} +texCoordIndex [ +0, 1, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, +-1, 0, 6, 7, -1, 0, 7, 8, -1, 0, 41, 9, -1, 0, 9, 10, -1, 0, +10, 1, -1, 1, 11, 12, 2, -1, 2, 12, 13, 3, -1, 3, 13, 14, 4, +-1, 4, 14, 15, 5, -1, 5, 15, 16, 6, -1, 6, 16, 17, 7, -1, 7, +17, 18, 8, -1, 42, 43, 19, 9, -1, 9, 19, 20, 10, -1, 10, 20, +11, 1, -1, 11, 21, 22, 12, -1, 12, 22, 23, 13, -1, 13, 23, 24, +14, -1, 14, 24, 25, 15, -1, 15, 25, 26, 16, -1, 16, 26, 27, 17, +-1, 17, 27, 28, 18, -1, 44, 45, 29, 19, -1, 19, 29, 30, 20, -1, +20, 30, 21, 11, -1, 21, 31, 32, 22, -1, 22, 32, 33, 23, -1, 23, +33, 34, 24, -1, 24, 34, 35, 25, -1, 25, 35, 36, 26, -1, 26, 36, +37, 27, -1, 27, 37, 38, 28, -1, 46, 47, 39, 29, -1, 29, 39, 40, +30, -1, 30, 40, 31, 21, -1] +} +} + +ROUTE sVis.isActive TO sClock.set_enabled +ROUTE ss.value_changed TO tt.set_translation +ROUTE ss.value_changed TO tt2.set_translation +ROUTE sClock.fraction_changed TO sInterp.set_fraction +ROUTE sInterp.value_changed TO ss.set_trans +]}#end flame + + + +] +} + +#DEF fireplace-TIMER TimeSensor { loop TRUE cycleInterval 166.67 }, +Shape { +appearance Appearance { +material Material { +diffuseColor 0.10588 0.67059 0.65098 +ambientIntensity 0.1586 +specularColor 0.045 0.045 0.045 +shininess 0.2875 +transparency 0 +} +texture ImageTexture { +url "rustymetal2.jpg" +} +} +geometry DEF fireplace-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +coord DEF fireplace-COORD Coordinate { point [ +1.45 -3 -1.4514, 1.2558 -3 -2.1764, 0.72502 -3 -2.7071, 0 -3 -2.9014, +-0.72502 -3 -2.7071, -1.2558 -3 -2.1764, -1.45 -3 -1.4514, 2.0294 -1.9982 -0.70488, +1.7575 -1.9982 -1.9326, 1.0147 -1.9982 -2.8314, 0 -1.9982 -3.1604, +-1.0147 -1.9982 -2.8314, -1.7575 -1.9982 -1.9326, -2.0294 -1.9982 -0.70487, +2.419 -1.2608 -0.050035, 2.0949 -1.2608 -1.6345, 1.2095 -1.2608 -2.7944, +0 -1.2608 -3.219, -1.2095 -1.2608 -2.7944, -2.0949 -1.2608 -1.6345, +-2.419 -1.2608 -0.050035, 1.3087 0.058648 1.0061, 1.1333 0.058648 0.021536, +0.65433 0.058648 -0.62511, 0 0.058648 -0.8618, -0.65433 0.058648 -0.62511, +-1.1333 0.058648 0.021536, -1.3087 0.058648 1.0061, 0.67258 1.25 1.0027, +0.58247 1.25 0.57122, 0.33629 1.25 0.25533, 0 1.25 0.1397, -0.33629 1.25 0.25533, +-0.58247 1.25 0.57122, -0.67258 1.25 1.0027, 0.36078 12.62 0.98591, +0.31244 12.62 0.80552, 0.18039 12.62 0.67347, 0 12.62 0.62513, +-0.18039 12.62 0.67347, -0.31244 12.62 0.80552, -0.36078 12.62 0.98591, +1.8914 -2.1385 -0.81785, 1.6367 -2.1385 -1.9239, 0.94073 -2.1385 -2.7337, +-0.0099557 -2.1385 -3.03, -0.96064 -2.1385 -2.7337, -1.6566 -2.1385 -1.9239, +-1.9113 -2.1385 -0.81785] +} +texCoord DEF fireplace-TEXCOORD TextureCoordinate { point [ +0.79941 0.0018782, 0.7593 0.0018783, 0.64971 0.0018783, 0.5 0.0018783, +0.35029 0.0018783, 0.2407 0.0018783, 0.20059 0.0018783, 0.91904 0.24279, +0.8629 0.24279, 0.70952 0.24279, 0.5 0.24279, 0.29048 0.24279, +0.1371 0.24279, 0.080963 0.24279, 0.9995 0.42011, 0.93258 0.42011, +0.74975 0.42011, 0.5 0.42011, 0.25025 0.42011, 0.06742 0.42011, +0.00049952 0.42011, 0.77022 0.73739, 0.73402 0.73739, 0.63511 0.73739, +0.5 0.73739, 0.36489 0.73739, 0.26598 0.73739, 0.22978 0.73739, +0.63888 1.0239, 0.62027 1.0239, 0.56944 1.0239, 0.5 1.0239, 0.43056 1.0239, +0.37973 1.0239, 0.36112 1.0239, 0.5745 3.7581, 0.56452 3.7581, +0.53725 3.7581, 0.5 3.7581, 0.46275 3.7581, 0.43549 3.7581, 0.4255 3.7581, +0.89056 0.20906, 0.83796 0.20906, 0.69425 0.20906, 0.49794 0.20906, +0.30164 0.20906, 0.15793 0.20906, 0.10533 0.20906] +} +coordIndex [ +0, 8, 7, -1, 0, 1, 8, -1, 1, 9, 8, -1, 1, 2, 9, -1, 2, 10, 9, -1, +2, 3, 10, -1, 3, 11, 10, -1, 3, 4, 11, -1, 4, 12, 11, -1, 4, 5, 12, -1, +5, 13, 12, -1, 5, 6, 13, -1, 6, 0, 7, -1, 6, 7, 13, -1, 14, 22, 21, -1, +14, 15, 22, -1, 15, 23, 22, -1, 15, 16, 23, -1, 16, 24, 23, -1, +16, 17, 24, -1, 17, 25, 24, -1, 17, 18, 25, -1, 18, 26, 25, -1, +18, 19, 26, -1, 19, 27, 26, -1, 19, 20, 27, -1, 21, 29, 28, -1, +21, 22, 29, -1, 22, 30, 29, -1, 22, 23, 30, -1, 23, 31, 30, -1, +23, 24, 31, -1, 24, 32, 31, -1, 24, 25, 32, -1, 25, 33, 32, -1, +25, 26, 33, -1, 26, 34, 33, -1, 26, 27, 34, -1, 28, 36, 35, -1, +28, 29, 36, -1, 29, 37, 36, -1, 29, 30, 37, -1, 30, 38, 37, -1, +30, 31, 38, -1, 31, 39, 38, -1, 31, 32, 39, -1, 32, 40, 39, -1, +32, 33, 40, -1, 33, 41, 40, -1, 33, 34, 41, -1, 34, 28, 35, -1, +34, 35, 41, -1, 27, 21, 28, -1, 27, 28, 34, -1, 14, 21, 27, -1, +14, 27, 20, -1] +texCoordIndex [ +0, 8, 7, -1, 0, 1, 8, -1, 1, 9, 8, -1, 1, 2, 9, -1, 2, 10, 9, -1, +2, 3, 10, -1, 3, 11, 10, -1, 3, 4, 11, -1, 4, 12, 11, -1, 4, 5, 12, -1, +5, 13, 12, -1, 5, 6, 13, -1, 6, 0, 7, -1, 6, 7, 13, -1, 14, 22, 21, -1, +14, 15, 22, -1, 15, 23, 22, -1, 15, 16, 23, -1, 16, 24, 23, -1, +16, 17, 24, -1, 17, 25, 24, -1, 17, 18, 25, -1, 18, 26, 25, -1, +18, 19, 26, -1, 19, 27, 26, -1, 19, 20, 27, -1, 21, 29, 28, -1, +21, 22, 29, -1, 22, 30, 29, -1, 22, 23, 30, -1, 23, 31, 30, -1, +23, 24, 31, -1, 24, 32, 31, -1, 24, 25, 32, -1, 25, 33, 32, -1, +25, 26, 33, -1, 26, 34, 33, -1, 26, 27, 34, -1, 28, 36, 35, -1, +28, 29, 36, -1, 29, 37, 36, -1, 29, 30, 37, -1, 30, 38, 37, -1, +30, 31, 38, -1, 31, 39, 38, -1, 31, 32, 39, -1, 32, 40, 39, -1, +32, 33, 40, -1, 33, 41, 40, -1, 33, 34, 41, -1, 34, 28, 35, -1, +34, 35, 41, -1, 27, 21, 28, -1, 27, 28, 34, -1, 14, 21, 27, -1, +14, 27, 20, -1] +} +} +Shape { +appearance Appearance { +material Material { +diffuseColor 0.070588 0.054902 0.05098 +ambientIntensity 0.058824 +specularColor 0 0 0 +shininess 0.05 +transparency 0 +} +} +geometry DEF fireplace-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +coord USE fireplace-COORD +coordIndex [ +42, 43, 44, -1, 42, 44, 45, -1, 42, 45, 46, -1, 42, 46, 47, -1, +42, 47, 48, -1, ] +} +} +] +} +]} + +############################### +#car +############################### +LOD{ +center -2.0 8.2 7.0 +range[40] +level[ +DEF inline_car Transform { +translation 2.0087 0 1.9953 +children [ +DEF SpaceCar Transform { +translation -4.818 7.941 5.569 +rotation 0 -1 0 -0.7156 +scale 0.0844 0.07896 0.07146 +scaleOrientation 1 0 0 0 +children [ +DEF SpaceCar-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +DEF SpaceCar-POS-INTERP PositionInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, 0.2667, +0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, 0.5333, 0.5667, +0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, 0.8, 0.8333, 0.8667, +0.9, 0.9333, 0.9667, 1, ] +keyValue [-4.818 7.941 5.569, -4.818 7.943 5.569, -4.818 7.95 5.569, +-4.818 7.961 5.569, -4.818 7.974 5.569, -4.818 7.99 5.569, +-4.818 8.008 5.569, -4.818 8.026 5.569, -4.818 8.045 5.569, +-4.818 8.064 5.569, -4.818 8.082 5.569, -4.818 8.097 5.569, +-4.818 8.111 5.569, -4.818 8.121 5.569, -4.818 8.128 5.569, +-4.818 8.131 5.569, -4.818 8.128 5.569, -4.818 8.121 5.569, +-4.818 8.111 5.569, -4.818 8.097 5.569, -4.818 8.082 5.569, +-4.818 8.064 5.569, -4.818 8.045 5.569, -4.818 8.026 5.569, +-4.818 8.008 5.569, -4.818 7.99 5.569, -4.818 7.974 5.569, +-4.818 7.961 5.569, -4.818 7.95 5.569, -4.818 7.943 5.569, +-4.818 7.941 5.569, ] }, +Shape { +appearance Appearance { +material Material { +diffuseColor 1 1 1 +ambientIntensity 0 +specularColor 0.72 0.72 0.72 +shininess 0.43 +transparency 0 +} +texture ImageTexture { +url "spacevan2.jpg" +} +} +geometry DEF SpaceCar-FACES IndexedFaceSet { creaseAngle 2 +ccw TRUE +solid TRUE +convex FALSE +colorPerVertex TRUE +color Color { color [ +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0 0 0, 0 0 0, 0 0 0, +0 0 0, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0 0 0, 0 0 0, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0 0 0, 0 0 0, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0 0 0, 1 1 1, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +1 1 1, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0 0 0, 0 0 0, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0 0 0, 0.6627 0.6627 0.6627, 0 1 0.07059, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.3608 0.3608 0.3608, +0.5059 0.5059 0.5059, 0 0 0, 0 0 0, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.3608 0.3608 0.3608, 0 0 0, 0.5059 0.5059 0.5059, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.04706 0.9922 0, 1 1 1, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.04706 0.9922 0, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, 0.04706 0.9922 0, +0.4 0.9922 1, 0.3294 0.9922 1, 0.6627 0.6627 0.6627, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627, 0 0 0, 0.5216 0.5216 0.5216, 0.6627 0.6627 0.6627, +0.6627 0.6627 0.6627 ] } +colorIndex [ +54, 132, 0, -1, 132, 56, 0, -1, 56, 140, 0, -1, 140, 69, 0, -1, +69, 139, 0, -1, 0, 139, 2, -1, 138, 1, 3, -1, 138, 68, 1, -1, +68, 141, 1, -1, 141, 58, 1, -1, 58, 133, 1, -1, 133, 57, 1, -1, +57, 136, 1, -1, 136, 64, 1, -1, 139, 71, 2, -1, 71, 142, 2, -1, +142, 81, 2, -1, 81, 156, 2, -1, 156, 108, 2, -1, 108, 169, 2, +-1, 169, 125, 2, -1, 126, 170, 3, -1, 170, 109, 3, -1, 109, 157, +3, -1, 157, 82, 3, -1, 82, 143, 3, -1, 143, 66, 138, 3, -1, 72, +140, 4, -1, 140, 56, 4, -1, 56, 132, 4, -1, 132, 55, 4, -1, 55, +134, 4, -1, 134, 61, 4, -1, 61, 163, 4, -1, 163, 72, 4, -1, 61, +134, 5, -1, 134, 59, 5, -1, 59, 133, 5, -1, 133, 58, 5, -1, 58, +141, 5, -1, 141, 77, 5, -1, 77, 163, 5, -1, 163, 61, 5, -1, 106, +156, 6, -1, 156, 81, 6, -1, 81, 142, 6, -1, 142, 80, 6, -1, 80, +165, 6, -1, 165, 106, 6, -1, 83, 143, 7, -1, 143, 82, 7, -1, +82, 157, 7, -1, 157, 111, 7, -1, 111, 167, 7, -1, 167, 83, 7, +-1, 49, 137, 8, -1, 137, 62, 8, -1, 62, 135, 8, -1, 135, 63, +8, -1, 64, 136, 9, -1, 136, 65, 9, -1, 65, 137, 9, -1, 137, 49, +9, -1, 125, 169, 10, -1, 169, 123, 10, -1, 123, 168, 10, -1, +168, 48, 10, -1, 48, 168, 11, -1, 168, 124, 11, -1, 124, 170, +11, -1, 170, 126, 11, -1, 97, 150, 12, -1, 150, 73, 12, -1, 73, +140, 12, -1, 140, 72, 12, -1, 72, 163, 12, -1, 163, 97, 12, -1, +77, 141, 13, -1, 141, 76, 13, -1, 76, 144, 13, -1, 144, 88, 13, +-1, 88, 163, 13, -1, 163, 77, 13, -1, 80, 142, 14, -1, 142, 79, +14, -1, 79, 151, 14, -1, 151, 101, 14, -1, 101, 164, 14, -1, +164, 121, 14, -1, 121, 165, 14, -1, 165, 80, 14, -1, 122, 166, +15, -1, 166, 90, 15, -1, 90, 145, 15, -1, 145, 84, 15, -1, 84, +143, 15, -1, 143, 83, 15, -1, 83, 167, 15, -1, 167, 122, 15, +-1, 119, 162, 16, -1, 162, 118, 16, -1, 118, 164, 16, -1, 164, +101, 16, -1, 101, 151, 16, -1, 151, 100, 16, -1, 100, 152, 16, +-1, 152, 103, 16, -1, 103, 163, 16, -1, 163, 119, 16, -1, 120, +162, 17, -1, 162, 119, 17, -1, 119, 163, 17, -1, 163, 93, 17, +-1, 93, 146, 17, -1, 146, 91, 17, -1, 91, 145, 17, -1, 145, 90, +17, -1, 90, 166, 17, -1, 166, 120, 17, -1, 103, 152, 18, -1, +152, 98, 18, -1, 98, 150, 18, -1, 150, 97, 18, -1, 97, 163, 18, +-1, 163, 103, 18, -1, 88, 144, 19, -1, 144, 87, 19, -1, 87, 146, +19, -1, 146, 93, 19, -1, 93, 163, 19, -1, 163, 88, 19, -1, 60, +134, 20, -1, 134, 55, 20, -1, 55, 132, 20, -1, 132, 54, 20, -1, +54, 135, 20, -1, 135, 62, 20, -1, 62, 137, 20, -1, 137, 60, 20, +-1, 57, 133, 21, -1, 133, 59, 21, -1, 59, 134, 21, -1, 134, 60, +21, -1, 60, 137, 21, -1, 137, 65, 21, -1, 65, 136, 21, -1, 136, +57, 21, -1, 70, 139, 22, -1, 139, 69, 22, -1, 69, 140, 22, -1, +140, 74, 22, -1, 74, 154, 22, -1, 154, 105, 22, -1, 105, 155, +22, -1, 155, 70, 22, -1, 95, 148, 23, -1, 148, 75, 23, -1, 75, +141, 23, -1, 141, 68, 23, -1, 68, 138, 23, -1, 138, 67, 23, -1, +67, 149, 23, -1, 149, 95, 23, -1, 74, 140, 73, 24, -1, 73, 150, +24, -1, 150, 96, 24, -1, 96, 154, 24, -1, 154, 74, 24, -1, 86, +144, 25, -1, 144, 76, 25, -1, 76, 141, 25, -1, 141, 75, 25, -1, +75, 148, 25, -1, 148, 86, 25, -1, 99, 151, 26, -1, 151, 79, 26, +-1, 79, 142, 78, 26, -1, 78, 153, 26, -1, 153, 99, 26, -1, 85, +143, 84, 27, -1, 84, 145, 27, -1, 145, 89, 27, -1, 89, 147, 27, +-1, 147, 85, 27, -1, 96, 150, 28, -1, 150, 98, 28, -1, 98, 152, +28, -1, 152, 102, 28, -1, 102, 155, 28, -1, 155, 105, 28, -1, +105, 154, 28, -1, 154, 96, 28, -1, 92, 146, 29, -1, 146, 87, +29, -1, 87, 144, 29, -1, 144, 86, 29, -1, 86, 148, 29, -1, 148, +95, 29, -1, 95, 149, 29, -1, 149, 92, 29, -1, 102, 152, 30, -1, +152, 100, 30, -1, 100, 151, 30, -1, 151, 99, 30, -1, 99, 153, +30, -1, 153, 104, 30, -1, 104, 155, 30, -1, 155, 102, 30, -1, +89, 145, 31, -1, 145, 91, 31, -1, 91, 146, 31, -1, 146, 92, 31, +-1, 92, 149, 31, -1, 149, 94, 31, -1, 94, 147, 31, -1, 147, 89, +31, -1, 113, 158, 32, -1, 158, 112, 32, -1, 112, 168, 32, -1, +168, 123, 32, -1, 123, 169, 32, -1, 169, 108, 32, -1, 108, 156, +32, -1, 156, 107, 32, -1, 107, 159, 32, -1, 159, 113, 32, -1, +124, 168, 33, -1, 168, 112, 33, -1, 112, 158, 33, -1, 158, 114, +33, -1, 114, 161, 33, -1, 161, 110, 33, -1, 110, 157, 33, -1, +157, 109, 33, -1, 109, 170, 33, -1, 170, 124, 33, -1, 121, 164, +34, -1, 164, 118, 34, -1, 118, 162, 34, -1, 162, 116, 34, -1, +116, 160, 34, -1, 160, 115, 34, -1, 115, 159, 34, -1, 159, 107, +34, -1, 107, 156, 34, -1, 156, 106, 34, -1, 106, 165, 34, -1, +165, 121, 34, -1, 117, 160, 35, -1, 160, 116, 35, -1, 116, 162, +35, -1, 162, 120, 35, -1, 120, 166, 35, -1, 166, 122, 35, -1, +122, 167, 35, -1, 167, 111, 35, -1, 111, 157, 35, -1, 157, 110, +35, -1, 110, 161, 35, -1, 161, 117, 35, -1, 51, 131, 36, -1, +131, 50, 36, -1, 50, 158, 36, -1, 158, 113, 36, -1, 113, 159, +36, -1, 159, 51, 36, -1, 50, 131, 37, -1, 131, 53, 37, -1, 53, +161, 37, -1, 161, 114, 37, -1, 114, 158, 37, -1, 158, 50, 37, +-1, 52, 131, 38, -1, 131, 51, 38, -1, 51, 159, 38, -1, 159, 115, +38, -1, 115, 160, 38, -1, 160, 52, 38, -1, 53, 131, 39, -1, 131, +52, 39, -1, 52, 160, 39, -1, 160, 117, 39, -1, 117, 161, 39, +-1, 161, 53, 39, -1, 128, 171, 127, 40, -1, 41, 44, 127, 171, +128, -1, 130, 172, 129, 45, 42, -1, 129, 172, 130, 43, -1, 104, +153, 46, -1, 153, 78, 46, -1, 78, 142, 46, -1, 142, 71, 46, -1, +71, 139, 46, -1, 139, 70, 46, -1, 70, 155, 46, -1, 155, 104, +46, -1, 67, 138, 47, -1, 138, 66, 47, -1, 66, 143, 47, -1, 143, +85, 47, -1, 85, 147, 47, -1, 147, 94, 47, -1, 94, 149, 47, -1, +149, 67, 47, -1, 127, 63, 0, -1, 127, 0, 40, -1, 64, 129, 43, +-1, 64, 43, 1, -1, 127, 8, 63, -1, 44, 8, 127, -1, 45, 129, 64, +-1, 45, 64, 9, -1, 48, 45, 9, -1, 48, 9, 49, -1, 44, 48, 49, +-1, 44, 49, 8, -1, 0, 63, 135, -1, 0, 135, 54, -1] +coord DEF SpaceCar-COORD Coordinate { point [ +-24.41 0 47.29, 24.41 0 47.29, -24.41 0 -44.97, 24.41 0 -44.97, +-11.27 17.96 40.05, 11.27 17.95 40.08, -12.31 18.95 -44.63, 12.4 18.94 -44.59, +-10.06 -2.496 55.49, 10.13 -2.816 56.24, -10.02 -2.816 -40, 10.02 -2.816 -40, +-11.48 19.13 23.78, 11.49 19.12 23.88, -11.88 19.77 -35.63, 11.94 19.76 -35.56, +-5.709 20.25 -25, 5.762 20.24 -24.94, -5.957 19.72 14.59, 5.965 19.71 14.69, +-9.922 0.8916 66.69, 9.922 0.8916 66.69, -22.65 2.356 30.57, +22.74 2.227 31.75, -13.92 16.49 22.76, 14.01 16.37 23.91, -13.92 16.49 -24.26, +14.01 16.37 -23.11, -9.116 16.62 13.74, 9.208 16.49 14.93, -9.116 16.62 -17.88, +9.208 16.49 -16.7, -5.921 2.678 -62.86, 6.977 2.678 -62.86, -2.658 29.68 -63.92, +3.698 29.69 -63.94, -0.4324 10.03 -89.07, 1.585 10.03 -89.07, +0.06702 25.84 -98.54, 1.085 25.84 -98.54, -24.11 0.445 4.772, +-24.41 0 -44.97, 24.41 0 -44.97, 24.21 0.3068 6.035, -10.02 -2.816 -40, +10.02 -2.816 -40, -22.65 2.356 2.082, 22.74 2.227 3.259, 0.03601 -2.558 -35.08, +0 -2.64 55.91, 0.5762 9.575 -89.64, -0.2944 17.98 -94.5, 0.5762 26.38 -99.36, +1.447 17.98 -94.5, -17.01 0.7133 57.8, -10.57 9.552 54.36, -17.89 9.748 43.34, +17.01 0.7133 57.8, 17.9 9.741 43.4, 10.57 9.552 54.36, 0 1.07 67.23, +0 18.69 39.59, -9.678 -1.349 64.92, -17.28 -1.272 53.09, 17.27 -1.408 54.54, +9.678 -1.349 64.92, 23.45 1.569 -16.79, 23.22 1.343 18.23, 23.45 1.569 36.74, +-23.4 1.636 36.13, -23.13 1.473 17.04, -23.4 1.636 -17.4, -11.37 18.88 30.76, +-13.21 17.75 23.48, -18.31 9.574 28.27, 18.4 9.446 29.44, 13.25 17.68 24.09, +11.37 18.88 30.82, -18.31 9.574 -12.76, -13.21 17.75 -29.49, +-12.47 19.33 -39.73, -17.32 10.54 -44.11, 17.4 10.53 -44.04, +12.52 19.32 -39.67, 13.25 17.68 -28.88, 18.4 9.446 -11.59, 11.49 16.67 20.14, +7.494 18.57 13.56, 8.125 19.76 19.82, 11.49 16.67 -20.9, 9.018 20.21 -31.91, +7.494 18.57 -21.22, 9.069 16.32 -0.7115, 5.419 19.76 -1.956, +16.11 9.106 -5.403, 16.11 9.106 23.6, -11.39 16.8 18.95, -8.119 19.77 19.74, +-7.445 18.64 12.93, -11.39 16.8 -22.08, -7.445 18.64 -21.85, +-8.964 20.21 -31.99, -8.977 16.45 -1.896, -5.413 19.77 -2.035, +-16.01 9.244 -6.666, -16.01 9.244 22.34, -7.847 23.48 -53.23, +-4.72 15.7 -64.01, -14.56 2.05 -53.42, 15.11 2.05 -53.42, 5.8 15.7 -64.01, +8.399 23.48 -53.23, 0.5402 1.532 -63.33, -2.679 6.596 -77.21, +3.831 6.596 -77.21, -0.8627 28.23 -82.44, 0.5402 33.29 -67.28, +2.015 28.23 -82.44, -3.819 25.02 -44.63, 0.03601 20.6 -22.95, +4.371 25.02 -44.63, -7.292 24.8 -48.11, 7.82 24.8 -48.11, -7.725 -0.7186 -51.25, +8.277 -0.7186 -51.25, -17.22 -1.408 -42.49, 17.22 -1.408 -42.49, +-17.07 -1.185 -17.62, -24.26 0.2225 -20.1, 17.12 -1.254 -16.98, +24.31 0.1534 -19.47, 0.5762 21.4 -104.5, -15.78 6.645 52.21, +15.78 6.645 52.21, 0 9.967 54.67, -15.07 -0.9386 59.55, 15.07 -0.9386 59.55, +0 -1.408 65.68, 24.31 0.1534 11.02, -24.26 0.2225 10.39, -17.37 11.53 33.35, +17.41 11.48 33.86, -17.37 11.53 -29.03, 17.41 11.48 -28.53, 10.1 18.57 19.38, +10.1 18.57 -26.31, 7.122 18.57 -3.881, 15.44 11.57 -12.28, 15.44 11.57 24.89, +16.21 8.754 9.498, -10.05 18.64 18.75, -10.05 18.64 -26.95, -7.072 18.64 -4.513, +-15.34 11.71 -13.54, -15.34 11.71 23.63, -16.11 8.892 8.235, +-11.2 12.95 -54.01, 11.78 12.95 -54.01, 0.5762 5.106 -76.83, +-2.106 17.02 -79.82, 0.5762 29.82 -82.81, 3.258 17.02 -79.82, +0.2881 27.07 -45.03, 0 19.93 23.49, -6.761 23.47 -41.81, -8.835 23.47 -47.8, +7.146 23.47 -41.81, 9.219 23.47 -47.8, 0.2881 -0.7499 -51.52, +-13.53 -0.4999 -49.34, 13.92 -0.4999 -49.34, -19.52 -0.7903 -26.73, +19.55 -0.8363 -26.31] +} +coordIndex [ +54, 132, 0, -1, 132, 56, 0, -1, 56, 140, 0, -1, 140, 69, 0, -1, +69, 139, 0, -1, 0, 139, 2, -1, 138, 1, 3, -1, 138, 68, 1, -1, +68, 141, 1, -1, 141, 58, 1, -1, 58, 133, 1, -1, 133, 57, 1, -1, +57, 136, 1, -1, 136, 64, 1, -1, 139, 71, 2, -1, 71, 142, 2, -1, +142, 81, 2, -1, 81, 156, 2, -1, 156, 108, 2, -1, 108, 169, 2, +-1, 169, 125, 2, -1, 126, 170, 3, -1, 170, 109, 3, -1, 109, 157, +3, -1, 157, 82, 3, -1, 82, 143, 3, -1, 143, 66, 138, 3, -1, 72, +140, 4, -1, 140, 56, 4, -1, 56, 132, 4, -1, 132, 55, 4, -1, 55, +134, 4, -1, 134, 61, 4, -1, 61, 163, 4, -1, 163, 72, 4, -1, 61, +134, 5, -1, 134, 59, 5, -1, 59, 133, 5, -1, 133, 58, 5, -1, 58, +141, 5, -1, 141, 77, 5, -1, 77, 163, 5, -1, 163, 61, 5, -1, 106, +156, 6, -1, 156, 81, 6, -1, 81, 142, 6, -1, 142, 80, 6, -1, 80, +165, 6, -1, 165, 106, 6, -1, 83, 143, 7, -1, 143, 82, 7, -1, +82, 157, 7, -1, 157, 111, 7, -1, 111, 167, 7, -1, 167, 83, 7, +-1, 49, 137, 8, -1, 137, 62, 8, -1, 62, 135, 8, -1, 135, 63, +8, -1, 64, 136, 9, -1, 136, 65, 9, -1, 65, 137, 9, -1, 137, 49, +9, -1, 125, 169, 10, -1, 169, 123, 10, -1, 123, 168, 10, -1, +168, 48, 10, -1, 48, 168, 11, -1, 168, 124, 11, -1, 124, 170, +11, -1, 170, 126, 11, -1, 97, 150, 12, -1, 150, 73, 12, -1, 73, +140, 12, -1, 140, 72, 12, -1, 72, 163, 12, -1, 163, 97, 12, -1, +77, 141, 13, -1, 141, 76, 13, -1, 76, 144, 13, -1, 144, 88, 13, +-1, 88, 163, 13, -1, 163, 77, 13, -1, 80, 142, 14, -1, 142, 79, +14, -1, 79, 151, 14, -1, 151, 101, 14, -1, 101, 164, 14, -1, +164, 121, 14, -1, 121, 165, 14, -1, 165, 80, 14, -1, 122, 166, +15, -1, 166, 90, 15, -1, 90, 145, 15, -1, 145, 84, 15, -1, 84, +143, 15, -1, 143, 83, 15, -1, 83, 167, 15, -1, 167, 122, 15, +-1, 119, 162, 16, -1, 162, 118, 16, -1, 118, 164, 16, -1, 164, +101, 16, -1, 101, 151, 16, -1, 151, 100, 16, -1, 100, 152, 16, +-1, 152, 103, 16, -1, 103, 163, 16, -1, 163, 119, 16, -1, 120, +162, 17, -1, 162, 119, 17, -1, 119, 163, 17, -1, 163, 93, 17, +-1, 93, 146, 17, -1, 146, 91, 17, -1, 91, 145, 17, -1, 145, 90, +17, -1, 90, 166, 17, -1, 166, 120, 17, -1, 103, 152, 18, -1, +152, 98, 18, -1, 98, 150, 18, -1, 150, 97, 18, -1, 97, 163, 18, +-1, 163, 103, 18, -1, 88, 144, 19, -1, 144, 87, 19, -1, 87, 146, +19, -1, 146, 93, 19, -1, 93, 163, 19, -1, 163, 88, 19, -1, 60, +134, 20, -1, 134, 55, 20, -1, 55, 132, 20, -1, 132, 54, 20, -1, +54, 135, 20, -1, 135, 62, 20, -1, 62, 137, 20, -1, 137, 60, 20, +-1, 57, 133, 21, -1, 133, 59, 21, -1, 59, 134, 21, -1, 134, 60, +21, -1, 60, 137, 21, -1, 137, 65, 21, -1, 65, 136, 21, -1, 136, +57, 21, -1, 70, 139, 22, -1, 139, 69, 22, -1, 69, 140, 22, -1, +140, 74, 22, -1, 74, 154, 22, -1, 154, 105, 22, -1, 105, 155, +22, -1, 155, 70, 22, -1, 95, 148, 23, -1, 148, 75, 23, -1, 75, +141, 23, -1, 141, 68, 23, -1, 68, 138, 23, -1, 138, 67, 23, -1, +67, 149, 23, -1, 149, 95, 23, -1, 74, 140, 73, 24, -1, 73, 150, +24, -1, 150, 96, 24, -1, 96, 154, 24, -1, 154, 74, 24, -1, 86, +144, 25, -1, 144, 76, 25, -1, 76, 141, 25, -1, 141, 75, 25, -1, +75, 148, 25, -1, 148, 86, 25, -1, 99, 151, 26, -1, 151, 79, 26, +-1, 79, 142, 78, 26, -1, 78, 153, 26, -1, 153, 99, 26, -1, 85, +143, 84, 27, -1, 84, 145, 27, -1, 145, 89, 27, -1, 89, 147, 27, +-1, 147, 85, 27, -1, 96, 150, 28, -1, 150, 98, 28, -1, 98, 152, +28, -1, 152, 102, 28, -1, 102, 155, 28, -1, 155, 105, 28, -1, +105, 154, 28, -1, 154, 96, 28, -1, 92, 146, 29, -1, 146, 87, +29, -1, 87, 144, 29, -1, 144, 86, 29, -1, 86, 148, 29, -1, 148, +95, 29, -1, 95, 149, 29, -1, 149, 92, 29, -1, 102, 152, 30, -1, +152, 100, 30, -1, 100, 151, 30, -1, 151, 99, 30, -1, 99, 153, +30, -1, 153, 104, 30, -1, 104, 155, 30, -1, 155, 102, 30, -1, +89, 145, 31, -1, 145, 91, 31, -1, 91, 146, 31, -1, 146, 92, 31, +-1, 92, 149, 31, -1, 149, 94, 31, -1, 94, 147, 31, -1, 147, 89, +31, -1, 113, 158, 32, -1, 158, 112, 32, -1, 112, 168, 32, -1, +168, 123, 32, -1, 123, 169, 32, -1, 169, 108, 32, -1, 108, 156, +32, -1, 156, 107, 32, -1, 107, 159, 32, -1, 159, 113, 32, -1, +124, 168, 33, -1, 168, 112, 33, -1, 112, 158, 33, -1, 158, 114, +33, -1, 114, 161, 33, -1, 161, 110, 33, -1, 110, 157, 33, -1, +157, 109, 33, -1, 109, 170, 33, -1, 170, 124, 33, -1, 121, 164, +34, -1, 164, 118, 34, -1, 118, 162, 34, -1, 162, 116, 34, -1, +116, 160, 34, -1, 160, 115, 34, -1, 115, 159, 34, -1, 159, 107, +34, -1, 107, 156, 34, -1, 156, 106, 34, -1, 106, 165, 34, -1, +165, 121, 34, -1, 117, 160, 35, -1, 160, 116, 35, -1, 116, 162, +35, -1, 162, 120, 35, -1, 120, 166, 35, -1, 166, 122, 35, -1, +122, 167, 35, -1, 167, 111, 35, -1, 111, 157, 35, -1, 157, 110, +35, -1, 110, 161, 35, -1, 161, 117, 35, -1, 51, 131, 36, -1, +131, 50, 36, -1, 50, 158, 36, -1, 158, 113, 36, -1, 113, 159, +36, -1, 159, 51, 36, -1, 50, 131, 37, -1, 131, 53, 37, -1, 53, +161, 37, -1, 161, 114, 37, -1, 114, 158, 37, -1, 158, 50, 37, +-1, 52, 131, 38, -1, 131, 51, 38, -1, 51, 159, 38, -1, 159, 115, +38, -1, 115, 160, 38, -1, 160, 52, 38, -1, 53, 131, 39, -1, 131, +52, 39, -1, 52, 160, 39, -1, 160, 117, 39, -1, 117, 161, 39, +-1, 161, 53, 39, -1, 128, 171, 127, 40, -1, 41, 44, 127, 171, +128, -1, 130, 172, 129, 45, 42, -1, 129, 172, 130, 43, -1, 104, +153, 46, -1, 153, 78, 46, -1, 78, 142, 46, -1, 142, 71, 46, -1, +71, 139, 46, -1, 139, 70, 46, -1, 70, 155, 46, -1, 155, 104, +46, -1, 67, 138, 47, -1, 138, 66, 47, -1, 66, 143, 47, -1, 143, +85, 47, -1, 85, 147, 47, -1, 147, 94, 47, -1, 94, 149, 47, -1, +149, 67, 47, -1, 127, 63, 0, -1, 127, 0, 40, -1, 64, 129, 43, +-1, 64, 43, 1, -1, 127, 8, 63, -1, 44, 8, 127, -1, 45, 129, 64, +-1, 45, 64, 9, -1, 48, 45, 9, -1, 48, 9, 49, -1, 44, 48, 49, +-1, 44, 49, 8, -1, 0, 63, 135, -1, 0, 135, 54, -1] +texCoord DEF SpaceCar-TEXCOORD TextureCoordinate { point [ +0.7201 0.1441, 0.9726 0.1441, 0.7201 0.6865, 0.9726 0.6865, 0.3613 0.1495, +0.6902 0.1503, 0.06474 0.03615, 0.06491 0.03596, 0.7943 0.09595, +0.8987 0.09152, 0.7945 0.6573, 0.8982 0.6573, 0.06345 0.6091, +0.06351 0.6091, 0.2633 0.5922, 0.2633 0.5923, 0.2667 0.1707, +0.2667 0.1708, 0.2713 0.5365, 0.271 0.5364, 0.795 0.0301, 0.8977 0.0301, +0.3117 0.4747, 0.3117 0.4747, 0.3052 0.232, 0.3053 0.2319, 0.09109 0.1379, +0.09128 0.1378, 0.2355 0.1784, 0.2353 0.1786, 0.2377 0.4654, +0.2378 0.4654, 0.8157 0.7916, 0.8825 0.7916, 0.2625 0.2343, 0.2626 0.2344, +0.8441 0.9457, 0.8546 0.9457, 0.2652 0.4261, 0.2653 0.4263, 0.7216 0.3941, +0.7201 0.6865, 0.9726 0.6865, 0.9716 0.3866, 0.7945 0.6573, 0.8982 0.6573, +0.181 0.7183, 0.1809 0.7182, 0.8465 0.6283, 0.8464 0.09345, 0.8493 0.9491, +0.3905 0.7057, 0.3905 0.7057, 0.2649 0.8739, 0.7584 0.08238, +0.4497 0.2249, 0.6016 0.2251, 0.9343 0.08238, 0.448 0.3298, 0.6028 0.3296, +0.8464 0.02694, 0.486 0.6406, 0.7963 0.04052, 0.757 0.11, 0.9357 0.1015, +0.8964 0.04052, 0.3807 0.9216, 0.08699 0.312, 0.2669 0.8786, +0.3903 0.9291, 0.2647 0.874, 0.3805 0.9216, 0.08672 0.3121, 0.267 0.8785, +0.5633 0.6404, 0.3248 0.9014, 0.3904 0.9291, 0.3246 0.9013, 0.4851 0.3891, +0.08187 0.1041, 0.07728 0.2208, 0.07924 0.4354, 0.07908 0.4353, +0.07745 0.2207, 0.08213 0.104, 0.1619 0.1471, 0.248 0.1732, 0.1788 0.5938, +0.2654 0.5617, 0.2499 0.4997, 0.1634 0.3989, 0.2513 0.2018, 0.2854 0.2382, +0.2934 0.2003, 0.254 0.4518, 0.2902 0.5138, 0.2479 0.1733, 0.1617 0.1472, +0.1633 0.3988, 0.2501 0.4998, 0.2653 0.562, 0.179 0.5938, 0.2515 0.2019, +0.2933 0.2003, 0.2859 0.2383, 0.2539 0.4516, 0.2902 0.4527, 0.2902 0.514, +0.7711 0.7362, 0.9245 0.7362, 0.2899 0.4529, 0.2643 0.3284, 0.8492 0.7944, +0.8325 0.876, 0.8662 0.876, 0.264 0.3283, 0.3094 0.3341, 0.176 0.3639, +0.3095 0.3342, 0.5654 0.3886, 0.1725 0.1833, 0.1758 0.3639, 0.1305 0.6603, +0.8064 0.7234, 0.8892 0.7234, 0.7573 0.6719, 0.9354 0.6719, 0.7581 0.5257, +0.7209 0.5403, 0.9349 0.522, 0.9721 0.5366, 0.2837 0.7144, 0.4593 0.02836, +0.593 0.02869, 0.3729 0.2592, 0.7684 0.07206, 0.9243 0.07206, +0.8464 0.03602, 0.3193 0.6431, 0.1747 0.1851, 0.6787 0.2523, +0.4235 0.3377, 0.3194 0.6431, 0.227 0.804, 0.4349 0.7267, 0.3919 0.8227, +0.3514 0.5886, 0.3312 0.6107, 0.3519 0.9622, 0.06313 0.2656, +0.2838 0.7145, 0.1304 0.6603, 0.227 0.8039, 0.3916 0.8227, 0.4351 0.7266, +0.3516 0.5885, 0.3312 0.6108, 0.1849 0.5003, 0.8493 0.8738, 0.3517 0.9623, +0.2738 0.2037, 0.2755 0.4839, 0.2914 0.3465, 0.6284 0.3331, 0.06288 0.2657, +0.1849 0.5003, 0.1951 0.4019, 0.1948 0.176, 0.8479 0.725, 0.7764 0.7122, +0.9183 0.7122, 0.7454 0.5793, 0.9475 0.5768, 0.4114 0.08426, +0.4547 0.1206, 0.4051 0.1906, 0.6405 0.08482, 0.6463 0.1908, +0.5971 0.1209, 0.5261 0.02542, 0.5256 0.2292, 0.6891 0.223, 0.3679 0.2229, +0.4489 0.2853, 0.4364 0.3295, 0.4021 0.2857, 0.6494 0.2787, 0.6147 0.3259, +0.6021 0.2853, 0.58 0.3563, 0.5614 0.4941, 0.4706 0.3565, 0.4884 0.4945, +0.4984 0.7727, 0.5248 0.6283, 0.5536 0.7729, 0.4196 0.1294, 0.6322 0.1299, +0.5259 0.1195, 0.4085 0.2567, 0.6428 0.254, 0.5261 0.8153, 0.5253 0.3332, +0.2739 0.2035, 0.2755 0.4839, 0.2915 0.3466, 0.1948 0.4018, 0.1951 0.1758, +0.1696 0.2701, 0.2293 0.6539, 0.3045 0.8136, 0.4117 0.8238, 0.388 0.5911, +0.3277 0.5759, 0.3137 0.6095, 0.17 0.27, 0.2293 0.6538, 0.4113 0.824, +0.3047 0.8135, 0.3881 0.5911, 0.3277 0.5761, 0.3137 0.6095] +} +texCoordIndex [ +173, 196, 4, -1, 196, 175, 4, -1, 175, 199, 4, -1, 199, 182, +4, -1, 79, 164, 6, -1, 6, 164, 12, -1, 149, 7, 13, -1, 149, 84, +7, -1, 181, 200, 5, -1, 200, 177, 5, -1, 177, 197, 5, -1, 197, +176, 5, -1, 57, 136, 1, -1, 136, 64, 1, -1, 164, 81, 12, -1, +81, 165, 12, -1, 165, 101, 12, -1, 101, 209, 12, -1, 209, 151, +12, -1, 108, 169, 2, -1, 169, 125, 2, -1, 126, 170, 3, -1, 170, +109, 3, -1, 122, 216, 13, -1, 216, 87, 13, -1, 87, 157, 13, -1, +157, 82, 149, 13, -1, 183, 199, 55, -1, 199, 175, 55, -1, 175, +196, 55, -1, 196, 174, 55, -1, 174, 198, 55, -1, 198, 180, 55, +-1, 180, 202, 55, -1, 202, 183, 55, -1, 180, 198, 56, -1, 198, +178, 56, -1, 178, 197, 56, -1, 197, 177, 56, -1, 177, 200, 56, +-1, 200, 188, 56, -1, 188, 202, 56, -1, 202, 180, 56, -1, 142, +209, 14, -1, 209, 101, 14, -1, 101, 165, 14, -1, 165, 100, 14, +-1, 100, 214, 14, -1, 214, 142, 14, -1, 88, 157, 15, -1, 157, +87, 15, -1, 87, 216, 15, -1, 216, 138, 15, -1, 138, 221, 15, +-1, 221, 88, 15, -1, 49, 137, 8, -1, 137, 62, 8, -1, 62, 135, +8, -1, 135, 63, 8, -1, 64, 136, 9, -1, 136, 65, 9, -1, 65, 137, +9, -1, 137, 49, 9, -1, 125, 169, 10, -1, 169, 123, 10, -1, 123, +168, 10, -1, 168, 48, 10, -1, 48, 168, 11, -1, 168, 124, 11, +-1, 124, 170, 11, -1, 170, 126, 11, -1, 103, 203, 16, -1, 203, +96, 16, -1, 184, 199, 58, -1, 199, 183, 58, -1, 183, 202, 58, +-1, 202, 191, 58, -1, 188, 200, 59, -1, 200, 187, 59, -1, 86, +160, 17, -1, 160, 93, 17, -1, 189, 202, 59, -1, 202, 188, 59, +-1, 100, 165, 18, -1, 165, 99, 18, -1, 99, 204, 18, -1, 204, +107, 18, -1, 107, 213, 18, -1, 213, 156, 18, -1, 156, 214, 18, +-1, 214, 100, 18, -1, 147, 220, 19, -1, 220, 95, 19, -1, 95, +161, 19, -1, 161, 89, 19, -1, 89, 157, 19, -1, 157, 88, 19, -1, +88, 221, 19, -1, 221, 147, 19, -1, 194, 201, 61, -1, 201, 193, +61, -1, 155, 213, 22, -1, 213, 107, 22, -1, 107, 204, 22, -1, +204, 106, 22, -1, 106, 205, 22, -1, 205, 118, 22, -1, 192, 202, +61, -1, 202, 194, 61, -1, 195, 201, 74, -1, 201, 194, 74, -1, +194, 202, 74, -1, 202, 190, 74, -1, 116, 162, 23, -1, 162, 110, +23, -1, 110, 161, 23, -1, 161, 95, 23, -1, 95, 220, 23, -1, 220, +146, 23, -1, 118, 205, 24, -1, 205, 104, 24, -1, 104, 203, 24, +-1, 203, 103, 24, -1, 191, 202, 78, -1, 202, 192, 78, -1, 93, +160, 25, -1, 160, 92, 25, -1, 92, 162, 25, -1, 162, 116, 25, +-1, 190, 202, 119, -1, 202, 189, 119, -1, 179, 198, 132, -1, +198, 174, 132, -1, 174, 196, 132, -1, 196, 173, 132, -1, 54, +135, 20, -1, 135, 62, 20, -1, 62, 137, 20, -1, 137, 60, 20, -1, +176, 197, 133, -1, 197, 178, 133, -1, 178, 198, 133, -1, 198, +179, 133, -1, 60, 137, 21, -1, 137, 65, 21, -1, 65, 136, 21, +-1, 136, 57, 21, -1, 80, 164, 26, -1, 164, 79, 26, -1, 182, 199, +134, -1, 199, 185, 134, -1, 97, 207, 26, -1, 207, 139, 26, -1, +139, 208, 26, -1, 208, 80, 26, -1, 120, 167, 27, -1, 167, 85, +27, -1, 186, 200, 140, -1, 200, 181, 140, -1, 84, 149, 27, -1, +149, 83, 27, -1, 83, 215, 27, -1, 215, 120, 27, -1, 185, 199, +184, 141, -1, 96, 203, 28, -1, 203, 102, 28, -1, 102, 207, 28, +-1, 207, 97, 28, -1, 91, 160, 29, -1, 160, 86, 29, -1, 187, 200, +163, -1, 200, 186, 163, -1, 85, 167, 29, -1, 167, 91, 29, -1, +105, 204, 30, -1, 204, 99, 30, -1, 99, 165, 98, 30, -1, 98, 206, +30, -1, 206, 105, 30, -1, 90, 157, 89, 31, -1, 89, 161, 31, -1, +161, 94, 31, -1, 94, 166, 31, -1, 166, 90, 31, -1, 102, 203, +34, -1, 203, 104, 34, -1, 104, 205, 34, -1, 205, 115, 34, -1, +115, 208, 34, -1, 208, 139, 34, -1, 139, 207, 34, -1, 207, 102, +34, -1, 111, 162, 35, -1, 162, 92, 35, -1, 92, 160, 35, -1, 160, +91, 35, -1, 91, 167, 35, -1, 167, 120, 35, -1, 120, 215, 35, +-1, 215, 111, 35, -1, 115, 205, 38, -1, 205, 106, 38, -1, 106, +204, 38, -1, 204, 105, 38, -1, 105, 206, 38, -1, 206, 121, 38, +-1, 121, 208, 38, -1, 208, 115, 38, -1, 94, 161, 39, -1, 161, +110, 39, -1, 110, 162, 39, -1, 162, 111, 39, -1, 111, 215, 39, +-1, 215, 117, 39, -1, 117, 166, 39, -1, 166, 94, 39, -1, 113, +158, 32, -1, 158, 112, 32, -1, 112, 168, 32, -1, 168, 123, 32, +-1, 123, 169, 32, -1, 169, 108, 32, -1, 151, 209, 46, -1, 209, +150, 46, -1, 150, 210, 46, -1, 210, 152, 46, -1, 124, 168, 33, +-1, 168, 112, 33, -1, 112, 158, 33, -1, 158, 114, 33, -1, 143, +218, 47, -1, 218, 131, 47, -1, 131, 216, 47, -1, 216, 122, 47, +-1, 109, 170, 33, -1, 170, 124, 33, -1, 156, 213, 51, -1, 213, +155, 51, -1, 155, 212, 51, -1, 212, 154, 51, -1, 154, 211, 51, +-1, 211, 153, 51, -1, 153, 210, 51, -1, 210, 150, 51, -1, 150, +209, 51, -1, 209, 142, 51, -1, 142, 214, 51, -1, 214, 156, 51, +-1, 145, 217, 52, -1, 217, 144, 52, -1, 144, 219, 52, -1, 219, +146, 52, -1, 146, 220, 52, -1, 220, 147, 52, -1, 147, 221, 52, +-1, 221, 138, 52, -1, 138, 216, 52, -1, 216, 131, 52, -1, 131, +218, 52, -1, 218, 145, 52, -1, 75, 159, 70, -1, 159, 73, 70, +-1, 50, 158, 36, -1, 158, 113, 36, -1, 152, 210, 70, -1, 210, +75, 70, -1, 68, 148, 53, -1, 148, 77, 53, -1, 77, 218, 53, -1, +218, 143, 53, -1, 114, 158, 37, -1, 158, 50, 37, -1, 76, 159, +71, -1, 159, 75, 71, -1, 75, 210, 71, -1, 210, 153, 71, -1, 153, +211, 71, -1, 211, 76, 71, -1, 77, 148, 66, -1, 148, 69, 66, -1, +69, 217, 66, -1, 217, 145, 66, -1, 145, 218, 66, -1, 218, 77, +66, -1, 128, 171, 127, 40, -1, 41, 44, 127, 171, 128, -1, 130, +172, 129, 45, 42, -1, 129, 172, 130, 43, -1, 121, 206, 72, -1, +206, 98, 72, -1, 98, 165, 72, -1, 165, 81, 72, -1, 81, 164, 72, +-1, 164, 80, 72, -1, 80, 208, 72, -1, 208, 121, 72, -1, 83, 149, +67, -1, 149, 82, 67, -1, 82, 157, 67, -1, 157, 90, 67, -1, 90, +166, 67, -1, 166, 117, 67, -1, 117, 215, 67, -1, 215, 83, 67, +-1, 127, 63, 0, -1, 127, 0, 40, -1, 64, 129, 43, -1, 64, 43, +1, -1, 127, 8, 63, -1, 44, 8, 127, -1, 45, 129, 64, -1, 45, 64, +9, -1, 48, 45, 9, -1, 48, 9, 49, -1, 44, 48, 49, -1, 44, 49, +8, -1, 0, 63, 135, -1, 0, 135, 54, -1] +} +} +] +ROUTE SpaceCar-TIMER.fraction_changed TO SpaceCar-POS-INTERP.set_fraction +ROUTE SpaceCar-POS-INTERP.value_changed TO SpaceCar.set_translation +} + +] +} +Group{} +]}#end car LOD + + +############################### +#crystals +############################### +LOD{ +center 0 0 0 +range[40] +level[ +Group{} +DEF inline_crystals Transform { +children [ + +DEF crystal01 Transform { +translation 56.8 1.05 77.9 +rotation 1 0 0 0 +scale 0.714 1 0.714 +children [ +DEF crystal01-TIMER TimeSensor { loop TRUE cycleInterval 10 }, +DEF crystal01-POS-INTERP PositionInterpolator { +key [0, 0.0333, 0.0667, 0.1, 0.133, 0.167, 0.2, 0.233, 0.267, 0.3, +0.333, 0.367, 0.4, 0.433, 0.467, 0.5, 0.533, 0.567, 0.6, 0.633, +0.667, 0.7, 0.733, 0.767, 0.8, 0.833, 0.867, 0.9, 0.933, 0.967, +1, ] +keyValue [56.8 1.05 77.9, 56.8 1.05 77.9, 56.8 1.07 77.9, 56.8 1.09 77.9, +56.8 1.12 77.9, 56.8 1.15 77.9, 56.8 1.18 77.9, 56.8 1.22 77.9, +56.8 1.26 77.9, 56.8 1.3 77.9, 56.8 1.33 77.9, 56.8 1.37 77.9, +56.8 1.39 77.9, 56.8 1.42 77.9, 56.8 1.43 77.9, 56.8 1.43 77.9, +56.8 1.43 77.9, 56.8 1.42 77.9, 56.8 1.39 77.9, 56.8 1.37 77.9, +56.8 1.33 77.9, 56.8 1.3 77.9, 56.8 1.26 77.9, 56.8 1.22 77.9, +56.8 1.18 77.9, 56.8 1.15 77.9, 56.8 1.12 77.9, 56.8 1.09 77.9, +56.8 1.07 77.9, 56.8 1.05 77.9, 56.8 1.05 77.9, ] }, +DEF crystal01-ROT-INTERP OrientationInterpolator { +key [0, 0.0333, 0.0667, 0.1, 0.133, 0.167, 0.2, 0.233, 0.267, 0.3, +0.333, 0.367, 0.4, 0.433, 0.467, 0.5, 0.533, 0.567, 0.6, 0.633, +0.667, 0.7, 0.733, 0.767, 0.8, 0.833, 0.867, 0.9, 0.933, 0.967, +1, ] +keyValue [1 0 0 0, 0 -1 0 -0.209, 0 -1 0 -0.419, 0 -1 0 -0.628, +0 -1 0 -0.838, 0 -1 0 -1.05, 0 -1 0 -1.26, 0 -1 0 -1.47, +0 -1 0 -1.68, 0 -1 0 -1.88, 0 -1 0 -2.09, 0 -1 0 -2.3, +0 -1 0 -2.51, 0 -1 0 -2.72, 0 -1 0 -2.93, 0 -1 0 -3.14, +0 -1 0 -3.35, 0 -1 0 -3.56, 0 -1 0 -3.77, 0 -1 0 -3.98, +0 -1 0 -4.19, 0 1 0 -1.88, 0 1 0 -1.68, 0 1 0 -1.47, +0 1 0 -1.26, 0 1 0 -1.05, 0 1 0 -0.838, 0 1 0 -0.628, +0 1 0 -0.419, 0 1 0 -0.209, 1 0 0 0, ] }, +Shape { +appearance Appearance { +material Material { +diffuseColor 0.545 0.125 0.867 +ambientIntensity 0.2 +specularColor 0.72 0.72 0.72 +shininess 0.43 +transparency 0.6 +} +texture ImageTexture { +url "graystone.gif" +} +} +geometry DEF crystal01-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF crystal01-COORD Coordinate { point [ +0 1.27 0, 1.29 0.294 -1.29, -1.29 0.294 -1.29, -1.29 0.294 1.29, +1.29 0.294 1.29, 0 -2.44 0] +} +coordIndex [ +0, 4, 1, -1, 1, 5, 2, -1, 2, 3, 0, -1, 3, 5, 4, -1, 1, 2, 0, +-1, 3, 4, 0, -1, 4, 5, 1, -1, 3, 2, 5, -1] +texCoord DEF crystal01-TEXCOORD TextureCoordinate { point [ +-30.4 0.717, 43.3 0.455, -42.3 0.455, -41.3 0.455, 42.3 0.455, +-41.8 -0.282, 42.8 0.717, 42.3 0.455, 43.3 0.455, 30.9 0.455, +31.4 -0.282, 31.9 0.455, -42.3 0.455, -41.3 0.455, -41.8 0.717, +-30.9 0.455, -30.4 -0.282, -29.9 0.455, 30.9 0.455, 31.9 0.455, +31.4 0.717, -30.9 0.455, -29.9 0.455, 42.8 -0.282] +} +texCoordIndex [ +6, 7, 8, -1, 9, 10, 11, -1, 12, 13, 14, -1, 15, 16, 17, -1, 18, +19, 20, -1, 21, 22, 0, -1, 4, 23, 1, -1, 3, 2, 5, -1] +} +} +DEF crystal04 Transform { +translation 4.83 -1.05 0.367 +rotation 1 0 0 0 +children [ +DEF crystal04-POS-INTERP PositionInterpolator { +key [0, 0.0333, 0.0667, 0.1, 0.133, 0.167, 0.2, 0.233, 0.267, 0.3, +0.333, 0.367, 0.4, 0.433, 0.467, 0.5, 0.533, 0.567, 0.6, 0.633, +0.667, 0.7, 0.733, 0.767, 0.8, 0.833, 0.867, 0.9, 0.933, 0.967, +1, ] +keyValue [4.83 -1.05 0.367, 4.83 -1.06 0.367, 4.83 -1.08 0.367, +4.83 -1.11 0.367, 4.83 -1.15 0.367, 4.83 -1.2 0.367, +4.83 -1.25 0.367, 4.83 -1.3 0.367, 4.83 -1.36 0.367, +4.83 -1.41 0.367, 4.83 -1.47 0.367, 4.83 -1.51 0.367, +4.83 -1.55 0.367, 4.83 -1.59 0.367, 4.83 -1.61 0.367, +4.83 -1.61 0.367, 4.83 -1.61 0.367, 4.83 -1.59 0.367, +4.83 -1.55 0.367, 4.83 -1.51 0.367, 4.83 -1.47 0.367, +4.83 -1.41 0.367, 4.83 -1.36 0.367, 4.83 -1.3 0.367, +4.83 -1.25 0.367, 4.83 -1.2 0.367, 4.83 -1.15 0.367, +4.83 -1.11 0.367, 4.83 -1.08 0.367, 4.83 -1.06 0.367, +4.83 -1.05 0.367, ] }, +DEF crystal04-ROT-INTERP OrientationInterpolator { +key [0, 0.0333, 0.0667, 0.1, 0.133, 0.167, 0.2, 0.233, 0.267, 0.3, +0.333, 0.367, 0.4, 0.433, 0.467, 0.5, 0.533, 0.567, 0.6, 0.633, +0.667, 0.7, 0.733, 0.767, 0.8, 0.833, 0.867, 0.9, 0.933, 0.967, +1, ] +keyValue [1 0 0 0, 0 -1 0 -0.209, 0 -1 0 -0.419, 0 -1 0 -0.628, +0 -1 0 -0.838, 0 -1 0 -1.05, 0 -1 0 -1.26, 0 -1 0 -1.47, +0 -1 0 -1.68, 0 -1 0 -1.88, 0 -1 0 -2.09, 0 -1 0 -2.3, +0 -1 0 -2.51, 0 -1 0 -2.72, 0 -1 0 -2.93, 0 -1 0 -3.14, +0 -1 0 -3.35, 0 -1 0 -3.56, 0 -1 0 -3.77, 0 -1 0 -3.98, +0 -1 0 -4.19, 0 1 0 -1.88, 0 1 0 -1.68, 0 1 0 -1.47, +0 1 0 -1.26, 0 1 0 -1.05, 0 1 0 -0.838, 0 1 0 -0.628, +0 1 0 -0.419, 0 1 0 -0.209, 1 0 0 0, ] }, +Shape { +appearance Appearance { +material Material { +diffuseColor 0.125 0.502 0.965 +ambientIntensity 0.231 +specularColor 0.72 0.72 0.72 +shininess 0.43 +transparency 0.6 +} +texture ImageTexture { +url "graystone.gif" +} +} +geometry DEF crystal04-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF crystal04-COORD Coordinate { point [ +0 0.444 1.53e-005, 0.0523 0.151 -0.543, -0.543 0.151 -0.0523, +-0.0523 0.151 0.543, 0.543 0.151 0.0523, 0 -0.67 1.53e-005] +} +coordIndex [ +0, 4, 1, -1, 1, 5, 2, -1, 2, 3, 0, -1, 3, 5, 4, -1, 1, 2, 0, +-1, 3, 4, 0, -1, 4, 5, 1, -1, 3, 2, 5, -1] +texCoord DEF crystal04-TEXCOORD TextureCoordinate { point [ +-77 101, 102 0.737, -100 0.737, -99.6 0.737, 101 0.737, -100 0.000503, +-77 101, -76.5 101, -77 102, 78 0.737, 78 0.000503, 78.5 0.737, +-77.5 101, -77 101, -77 101, -77 0.737, -77 0.000503, -76.5 0.737, +-77 102, -77.5 101, -77 101, -77 101, -76.5 101, 101 0.000503] +} +texCoordIndex [ +6, 7, 8, -1, 9, 10, 11, -1, 12, 13, 14, -1, 15, 16, 17, -1, 18, +19, 20, -1, 21, 22, 0, -1, 4, 23, 1, -1, 3, 2, 5, -1] +} +} +] +}, +DEF crystal05 Transform { +translation -0.000251 -1.05 5.74 +rotation 1 0 0 0 +children [ +DEF crystal05-POS-INTERP PositionInterpolator { +key [0, 0.0333, 0.0667, 0.1, 0.133, 0.167, 0.2, 0.233, 0.267, 0.3, +0.333, 0.367, 0.4, 0.433, 0.467, 0.5, 0.533, 0.567, 0.6, 0.633, +0.667, 0.7, 0.733, 0.767, 0.8, 0.833, 0.867, 0.9, 0.933, 0.967, +1, ] +keyValue [-0.000251 -1.05 5.74, -0.000251 -1.06 5.74, -0.000252 -1.1 5.74, +-0.000248 -1.16 5.74, -0.000248 -1.24 5.74, -0.000252 -1.33 5.74, +-0.000246 -1.43 5.74, -0.000243 -1.54 5.74, -0.000245 -1.64 5.74, +-0.000246 -1.75 5.74, -0.000256 -1.85 5.74, -0.000255 -1.94 5.74, +-0.000244 -2.02 5.74, -0.000248 -2.08 5.74, -0.000252 -2.12 5.74, +-0.000248 -2.13 5.74, -0.00025 -2.12 5.74, -0.000248 -2.08 5.74, +-0.000252 -2.02 5.74, -0.000248 -1.94 5.74, -0.000249 -1.85 5.74, +-0.000254 -1.75 5.74, -0.000254 -1.64 5.74, -0.000252 -1.54 5.74, +-0.000261 -1.43 5.74, -0.000256 -1.33 5.74, -0.000253 -1.24 5.74, +-0.000247 -1.16 5.74, -0.00025 -1.1 5.74, -0.00025 -1.06 5.74, +-0.000255 -1.05 5.74, ] }, +DEF crystal05-ROT-INTERP OrientationInterpolator { +key [0, 0.0333, 0.0667, 0.1, 0.133, 0.167, 0.2, 0.233, 0.267, 0.3, +0.333, 0.367, 0.4, 0.433, 0.467, 0.5, 0.533, 0.567, 0.6, 0.633, +0.667, 0.7, 0.733, 0.767, 0.8, 0.833, 0.867, 0.9, 0.933, 0.967, +1, ] +keyValue [1 0 0 0, 0 -1 0 -0.209, 0 -1 0 -0.419, 0 -1 0 -0.628, +0 -1 0 -0.838, 0 -1 0 -1.05, 0 -1 0 -1.26, 0 -1 0 -1.47, +0 -1 0 -1.68, 0 -1 0 -1.88, 0 -1 0 -2.09, 0 -1 0 -2.3, +0 -1 0 -2.51, 0 -1 0 -2.72, 0 -1 0 -2.93, 0 -1 0 -3.14, +0 -1 0 -3.35, 0 -1 0 -3.56, 0 -1 0 -3.77, 0 -1 0 -3.98, +0 -1 0 -4.19, 0 1 0 -1.88, 0 1 0 -1.68, 0 1 0 -1.47, +0 1 0 -1.26, 0 1 0 -1.05, 0 1 0 -0.838, 0 1 0 -0.628, +0 1 0 -0.419, 0 1 0 -0.209, 1 0 0 0, ] }, +Shape { +appearance Appearance { +material Material { +diffuseColor 0.922 0.812 0.0706 +ambientIntensity 0.0876 +specularColor 0.72 0.72 0.72 +shininess 0.43 +transparency 0.6 +} +texture ImageTexture { +url "graystone.gif" +} +} +geometry DEF crystal05-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF crystal05-COORD Coordinate { point [ +0 0.444 0, 0.0523 0.151 -0.543, -0.543 0.151 -0.0523, -0.0523 0.151 0.543, +0.543 0.151 0.0523, 0 -0.67 0] +} +coordIndex [ +0, 4, 1, -1, 1, 5, 2, -1, 2, 3, 0, -1, 3, 5, 4, -1, 1, 2, 0, +-1, 3, 4, 0, -1, 4, 5, 1, -1, 3, 2, 5, -1] +texCoord DEF crystal05-TEXCOORD TextureCoordinate { point [ +-72.6 106, 107 0.737, -105 0.737, -105 0.737, 106 0.737, -105 0.000503, +-72.6 106, -72.1 106, -72.5 107, 73.5 0.737, 73.6 0.000503, 74.1 0.737, +-73.1 106, -72.6 106, -72.6 106, -72.6 0.737, -72.6 0.000503, +-72.1 0.737, -72.5 107, -73.1 106, -72.6 106, -72.6 106, -72.1 106, +106 0.000503] +} +texCoordIndex [ +6, 7, 8, -1, 9, 10, 11, -1, 12, 13, 14, -1, 15, 16, 17, -1, 18, +19, 20, -1, 21, 22, 0, -1, 4, 23, 1, -1, 3, 2, 5, -1] +} +} +] +}, +DEF crystal02 Transform { +translation -5.22 -1.05 -0.291 +rotation 1 0 0 0 +children [ +DEF crystal02-POS-INTERP PositionInterpolator { +key [0, 0.0333, 0.0667, 0.1, 0.133, 0.167, 0.2, 0.233, 0.267, 0.3, +0.333, 0.367, 0.4, 0.433, 0.467, 0.5, 0.533, 0.567, 0.6, 0.633, +0.667, 0.7, 0.733, 0.767, 0.8, 0.833, 0.867, 0.9, 0.933, 0.967, +1, ] +keyValue [-5.22 -1.05 -0.291, -5.22 -1.04 -0.291, -5.22 -1.02 -0.291, +-5.22 -0.988 -0.291, -5.22 -0.946 -0.291, -5.22 -0.896 -0.291, +-5.22 -0.841 -0.291, -5.22 -0.784 -0.291, -5.22 -0.725 -0.291, +-5.22 -0.667 -0.291, -5.22 -0.612 -0.291, -5.22 -0.562 -0.291, +-5.22 -0.52 -0.291, -5.22 -0.487 -0.291, -5.22 -0.466 -0.291, +-5.22 -0.459 -0.291, -5.22 -0.466 -0.291, -5.22 -0.487 -0.291, +-5.22 -0.52 -0.291, -5.22 -0.562 -0.291, -5.22 -0.612 -0.291, +-5.22 -0.667 -0.291, -5.22 -0.725 -0.291, -5.22 -0.784 -0.291, +-5.22 -0.841 -0.291, -5.22 -0.896 -0.291, -5.22 -0.946 -0.291, +-5.22 -0.988 -0.291, -5.22 -1.02 -0.291, -5.22 -1.04 -0.291, +-5.22 -1.05 -0.291, ] }, +DEF crystal02-ROT-INTERP OrientationInterpolator { +key [0, 0.0333, 0.0667, 0.1, 0.133, 0.167, 0.2, 0.233, 0.267, 0.3, +0.333, 0.367, 0.4, 0.433, 0.467, 0.5, 0.533, 0.567, 0.6, 0.633, +0.667, 0.7, 0.733, 0.767, 0.8, 0.833, 0.867, 0.9, 0.933, 0.967, +1, ] +keyValue [1 0 0 0, 0 -1 0 -0.209, 0 -1 0 -0.419, 0 -1 0 -0.628, +0 -1 0 -0.838, 0 -1 0 -1.05, 0 -1 0 -1.26, 0 -1 0 -1.47, +0 -1 0 -1.68, 0 -1 0 -1.88, 0 -1 0 -2.09, 0 -1 0 -2.3, +0 -1 0 -2.51, 0 -1 0 -2.72, 0 -1 0 -2.93, 0 -1 0 -3.14, +0 -1 0 -3.35, 0 -1 0 -3.56, 0 -1 0 -3.77, 0 -1 0 -3.98, +0 -1 0 -4.19, 0 1 0 -1.88, 0 1 0 -1.68, 0 1 0 -1.47, +0 1 0 -1.26, 0 1 0 -1.05, 0 1 0 -0.838, 0 1 0 -0.628, +0 1 0 -0.419, 0 1 0 -0.209, 1 0 0 0, ] }, +Shape { +appearance Appearance { +material Material { +diffuseColor 1 0.235 0.0314 +ambientIntensity 0.0588 +specularColor 0.72 0.72 0.72 +shininess 0.43 +transparency 0.6 +} +texture ImageTexture { +url "graystone.gif" +} +} +geometry DEF crystal02-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF crystal02-COORD Coordinate { point [ +0 0.444 0, 0.0523 0.151 -0.543, -0.543 0.151 -0.0523, -0.0523 0.151 0.543, +0.543 0.151 0.0523, 0 -0.67 0] +} +coordIndex [ +0, 4, 1, -1, 1, 5, 2, -1, 2, 3, 0, -1, 3, 5, 4, -1, 1, 2, 0, +-1, 3, 4, 0, -1, 4, 5, 1, -1, 3, 2, 5, -1] +texCoord DEF crystal02-TEXCOORD TextureCoordinate { point [ +-67.8 100, 101 0.737, -99.5 0.737, -99 0.737, 100 0.737, -99.5 0.000502, +-67.8 100, -67.3 100, -67.7 101, 68.7 0.737, 68.8 0.000502, 69.3 0.737, +-68.3 101, -67.8 100, -67.8 100, -67.8 0.737, -67.8 0.000502, +-67.3 0.737, -67.7 101, -68.3 101, -67.8 100, -67.8 100, -67.3 100, +100 0.000502] +} +texCoordIndex [ +6, 7, 8, -1, 9, 10, 11, -1, 12, 13, 14, -1, 15, 16, 17, -1, 18, +19, 20, -1, 21, 22, 0, -1, 4, 23, 1, -1, 3, 2, 5, -1] +} +} +] +}, +DEF crystal03 Transform { +translation -0.000251 -0.986 -4.96 +rotation 1 0 0 0 +children [ +DEF crystal03-POS-INTERP PositionInterpolator { +key [0, 0.0333, 0.0667, 0.1, 0.133, 0.167, 0.2, 0.233, 0.267, 0.3, +0.333, 0.367, 0.4, 0.433, 0.467, 0.5, 0.533, 0.567, 0.6, 0.633, +0.667, 0.7, 0.733, 0.767, 0.8, 0.833, 0.867, 0.9, 0.933, 0.967, +1, ] +keyValue [-0.000251 -0.986 -4.96, -0.000251 -0.983 -4.96, -0.000249 -0.972 -4.96, +-0.000253 -0.956 -4.96, -0.000247 -0.935 -4.96, -0.000252 -0.91 -4.96, +-0.000253 -0.883 -4.96, -0.000247 -0.854 -4.96, -0.000254 -0.824 -4.96, +-0.00025 -0.795 -4.96, -0.000257 -0.768 -4.96, -0.00025 -0.743 -4.96, +-0.000247 -0.722 -4.96, -0.000248 -0.706 -4.96, -0.000251 -0.695 -4.96, +-0.00025 -0.692 -4.96, -0.00025 -0.695 -4.96, -0.000251 -0.706 -4.96, +-0.000255 -0.722 -4.96, -0.000251 -0.743 -4.96, -0.000252 -0.768 -4.96, +-0.000249 -0.795 -4.96, -0.000253 -0.824 -4.96, -0.000247 -0.854 -4.96, +-0.00026 -0.883 -4.96, -0.000253 -0.91 -4.96, -0.000249 -0.935 -4.96, +-0.000254 -0.956 -4.96, -0.00025 -0.972 -4.96, -0.000252 -0.983 -4.96, +-0.000251 -0.986 -4.96, ] }, +DEF crystal03-ROT-INTERP OrientationInterpolator { +key [0, 0.0333, 0.0667, 0.1, 0.133, 0.167, 0.2, 0.233, 0.267, 0.3, +0.333, 0.367, 0.4, 0.433, 0.467, 0.5, 0.533, 0.567, 0.6, 0.633, +0.667, 0.7, 0.733, 0.767, 0.8, 0.833, 0.867, 0.9, 0.933, 0.967, +1, ] +keyValue [1 0 0 0, 0 -1 0 -0.209, 0 -1 0 -0.419, 0 -1 0 -0.628, +0 -1 0 -0.838, 0 -1 0 -1.05, 0 -1 0 -1.26, 0 -1 0 -1.47, +0 -1 0 -1.68, 0 -1 0 -1.88, 0 -1 0 -2.09, 0 -1 0 -2.3, +0 -1 0 -2.51, 0 -1 0 -2.72, 0 -1 0 -2.93, 0 -1 0 -3.14, +0 -1 0 -3.35, 0 -1 0 -3.56, 0 -1 0 -3.77, 0 -1 0 -3.98, +0 -1 0 -4.19, 0 1 0 -1.88, 0 1 0 -1.68, 0 1 0 -1.47, +0 1 0 -1.26, 0 1 0 -1.05, 0 1 0 -0.838, 0 1 0 -0.628, +0 1 0 -0.419, 0 1 0 -0.209, 1 0 0 0, ] }, +Shape { +appearance Appearance { +material Material { +diffuseColor 0 0.694 0.196 +ambientIntensity 0.164 +specularColor 0.72 0.72 0.72 +shininess 0.43 +transparency 0.6 +} +texture ImageTexture { +url "graystone.gif" +} +} +geometry DEF crystal03-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF crystal03-COORD Coordinate { point [ +0 0.381 0, 0.0523 0.0881 -0.543, -0.543 0.0881 -0.0523, -0.0523 0.0881 0.543, +0.543 0.0881 0.0523, 0 -0.733 0] +} +coordIndex [ +0, 4, 1, -1, 1, 5, 2, -1, 2, 3, 0, -1, 3, 5, 4, -1, 1, 2, 0, +-1, 3, 4, 0, -1, 4, 5, 1, -1, 3, 2, 5, -1] +texCoord DEF crystal03-TEXCOORD TextureCoordinate { point [ +-72.6 96.2, 96.7 0.68, -95.2 0.68, -94.7 0.68, 96.1 0.68, -95.2 -0.056, +-72.6 96.2, -72.1 96.1, -72.5 96.7, 73.5 0.68, 73.6 -0.056, 74.1 0.68, +-73.1 96.2, -72.6 95.7, -72.6 96.2, -72.6 0.68, -72.6 -0.056, +-72.1 0.68, -72.5 96.7, -73.1 96.2, -72.6 96.2, -72.6 95.7, -72.1 96.1, +96.2 -0.056] +} +texCoordIndex [ +6, 7, 8, -1, 9, 10, 11, -1, 12, 13, 14, -1, 15, 16, 17, -1, 18, +19, 20, -1, 21, 22, 0, -1, 4, 23, 1, -1, 3, 2, 5, -1] +} +} +] +} +] +ROUTE crystal01-TIMER.fraction_changed TO crystal01-POS-INTERP.set_fraction +ROUTE crystal01-POS-INTERP.value_changed TO crystal01.set_translation +ROUTE crystal01-TIMER.fraction_changed TO crystal01-ROT-INTERP.set_fraction +ROUTE crystal01-ROT-INTERP.value_changed TO crystal01.set_rotation +ROUTE crystal01-TIMER.fraction_changed TO crystal04-POS-INTERP.set_fraction +ROUTE crystal04-POS-INTERP.value_changed TO crystal04.set_translation +ROUTE crystal01-TIMER.fraction_changed TO crystal04-ROT-INTERP.set_fraction +ROUTE crystal04-ROT-INTERP.value_changed TO crystal04.set_rotation +ROUTE crystal01-TIMER.fraction_changed TO crystal05-POS-INTERP.set_fraction +ROUTE crystal05-POS-INTERP.value_changed TO crystal05.set_translation +ROUTE crystal01-TIMER.fraction_changed TO crystal05-ROT-INTERP.set_fraction +ROUTE crystal05-ROT-INTERP.value_changed TO crystal05.set_rotation +ROUTE crystal01-TIMER.fraction_changed TO crystal02-POS-INTERP.set_fraction +ROUTE crystal02-POS-INTERP.value_changed TO crystal02.set_translation +ROUTE crystal01-TIMER.fraction_changed TO crystal02-ROT-INTERP.set_fraction +ROUTE crystal02-ROT-INTERP.value_changed TO crystal02.set_rotation +ROUTE crystal01-TIMER.fraction_changed TO crystal03-POS-INTERP.set_fraction +ROUTE crystal03-POS-INTERP.value_changed TO crystal03.set_translation +ROUTE crystal01-TIMER.fraction_changed TO crystal03-ROT-INTERP.set_fraction +ROUTE crystal03-ROT-INTERP.value_changed TO crystal03.set_rotation +} +] +} +]}#end lod +############################################################### +#windows +############################################################### +#DEF open_or_closed1 switchMe{} +#DEF open_or_closed2 switchMe{} +#DEF open_or_closed3 switchMe{} +#DEF open_or_closed4 switchMe{} +#DEF open_or_closed5 switchMe{} + +Transform {#all moving windows +children [ +DEF window Transform { +translation -12.3 7.3 -0.513 +rotation 1 0 0 -0.0873 +scale 0.714 1 0.714 +children [ +DEF window-TIMER TimeSensor { loop FALSE cycleInterval 2.4 }, +DEF window-TIMER-open TimeSensor { loop FALSE cycleInterval 2.4 }, + + +Transform{#animation close +children[ +DEF window-POS-INTERP PositionInterpolator { +key [0, 1, ] +keyValue [-12.3 7.3 -0.513, -12.3 6.14 0.956, ] }, +DEF window-ROT-INTERP OrientationInterpolator { +key [0,1, ] +keyValue [1 0 0 -0.0873, 1 0 0 -1.57, ] }, +]}#end animation close + +Transform{#animation open +children[ +DEF window-POS-INTERP-open PositionInterpolator { +key [0,1, ] +keyValue [-12.3 6.14 0.956, -12.3 7.3 -0.513, ] }, +DEF window-ROT-INTERP-open OrientationInterpolator { +key [0, 1, ] +keyValue [1 0 0 -1.57,1 0 0 -0.0873, + ] }, +]}#end animation open + +Shape { +appearance DEF Glass2 Appearance { +material Material {} +texture ImageTexture { +url "window.png" +} +} +geometry DEF window-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF window-COORD Coordinate { point [ +0.0518 0.0969 1.94, -9.57 0.114 0.569, 8.27 0.0969 1.94, -7.11 0.116 -3.31, +0.0761 0.0992 -3.31, 8.29 0.0992 -3.31] +} +coordIndex [ +3, 4, 0, 1, -1, 4, 5, 2, 0, -1] +texCoord DEF window-TEXCOORD TextureCoordinate { point [ +1 0, 1 0, 0 1, 1 1, 0 1, 0 0, 1 1, 0 0] +} +texCoordIndex [ +3, 4, 5, 1, -1, 6, 2, 7, 0, -1] +} +} +] + +ROUTE SharedToggle1.trueTime_changed TO window-TIMER.startTime +#ROUTE open_or_closed1.openStartTime TO window-TIMER.startTime +ROUTE window-TIMER.fraction_changed TO window-POS-INTERP.set_fraction +ROUTE window-POS-INTERP.value_changed TO window.set_translation +ROUTE window-TIMER.fraction_changed TO window-ROT-INTERP.set_fraction +ROUTE window-ROT-INTERP.value_changed TO window.set_rotation + +ROUTE SharedToggle7.falseTime_changed TO window-TIMER-open.startTime + +#ROUTE open_or_closed1.closedStartTime TO window-TIMER-open.startTime +ROUTE window-TIMER-open.fraction_changed TO window-POS-INTERP-open.set_fraction +ROUTE window-POS-INTERP-open.value_changed TO window.set_translation +ROUTE window-TIMER-open.fraction_changed TO window-ROT-INTERP-open.set_fraction +ROUTE window-ROT-INTERP-open.value_changed TO window.set_rotation + + +} +DEF window01 Transform { +translation 12.3 7.3 -0.513 +rotation -1 0 0 -3.05 +scale 0.714 1 0.714 +children [ +DEF window01-TIMER TimeSensor { loop FALSE cycleInterval 2.4 }, +DEF window01-TIMER-open TimeSensor { loop FALSE cycleInterval 2.4 }, + +DEF window01-POS-INTERP PositionInterpolator { +key [0, 1, ] +keyValue [12.3 7.3 -0.513, 12.3 6.14 0.956, ] }, +DEF window01-ROT-INTERP OrientationInterpolator { +key [0, 1, ] +keyValue [-1 0 0 -3.05, -1 0 0 -1.57, ] }, + + +DEF window01-POS-INTERP-open PositionInterpolator { +key [0, 1, ] +keyValue [ 12.3 6.14 0.956,12.3 7.3 -0.513, ] }, +DEF window01-ROT-INTERP-open OrientationInterpolator { +key [0, 1, ] +keyValue [ -1 0 0 -1.57,-1 0 0 -3.05, ] }, + + +Shape { +appearance USE Glass2 + +geometry DEF window01-FACES IndexedFaceSet { +ccw FALSE +solid FALSE +convex TRUE +coord DEF window01-COORD Coordinate { point [ +-0.0869 -0.0969 -1.94, 9.54 -0.114 -0.569, -8.3 -0.0969 -1.94, +7.08 -0.116 3.31, -0.111 -0.0992 3.31, -8.33 -0.0992 3.31] +} +coordIndex [ +3, 4, 0, 1, -1, 4, 5, 2, 0, -1] +texCoord DEF window01-TEXCOORD TextureCoordinate { point [ +1 0, 1 0, 0 1, 1 1, 0 1, 0 0, 1 1, 0 0] +} +texCoordIndex [ +3, 4, 5, 1, -1, 6, 2, 7, 0, -1] +} +} +] + +ROUTE SharedToggle2.trueTime_changed TO window01-TIMER.startTime +#ROUTE open_or_closed2.openStartTime TO window01-TIMER.startTime +ROUTE window01-TIMER.fraction_changed TO window01-POS-INTERP.set_fraction +ROUTE window01-POS-INTERP.value_changed TO window01.set_translation +ROUTE window01-TIMER.fraction_changed TO window01-ROT-INTERP.set_fraction +ROUTE window01-ROT-INTERP.value_changed TO window01.set_rotation + + + + +ROUTE SharedToggle2.falseTime_changed TO window01-TIMER-open.startTime + +#ROUTE open_or_closed2.closedStartTime TO window01-TIMER-open.startTime +ROUTE window01-TIMER-open.fraction_changed TO window01-POS-INTERP-open.set_fraction +ROUTE window01-POS-INTERP-open.value_changed TO window01.set_translation +ROUTE window01-TIMER-open.fraction_changed TO window01-ROT-INTERP-open.set_fraction +ROUTE window01-ROT-INTERP-open.value_changed TO window01.set_rotation + +} +DEF lowerwindow Transform { +translation -15.8 7.93 -3.7 +rotation -1 0 0 -1.48 +scale 0.714 1 0.714 +children [ +DEF lowerwindow-TIMER TimeSensor { loop FALSE cycleInterval 2.4 }, +DEF lowerwindow-TIMER-open TimeSensor { loop FALSE cycleInterval 2.4 }, + +DEF lowerwindow-POS-INTERP PositionInterpolator { +key [0,1, ] +keyValue [-15.8 7.93 -3.7, -15.8 -0.439 -3.67, ] }, +DEF lowerwindow-ROT-INTERP OrientationInterpolator { +key [0, 1, ] +keyValue [-1 0 0 -1.48, 1 0 0 0, ] }, + +DEF lowerwindow-POS-INTERP-open PositionInterpolator { +key [0,1, ] +keyValue [ -15.8 -0.439 -3.67,-15.8 7.93 -3.7, ] }, +DEF lowerwindow-ROT-INTERP-open OrientationInterpolator { +key [0, 1, ] +keyValue [ 1 0 0 0,-1 0 0 -1.48, ] }, + +Shape { +appearance USE Glass2 + +geometry DEF lowerwindow-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF lowerwindow-COORD Coordinate { point [ +13.2 0.45 6.37, -11.6 0.45 6.37, 13.3 4.2 6.37, -3.26 4.2 6.37, +-11.6 3.49 6.37] +} +coordIndex [ +2, 3, 4, 1, 0, -1] +texCoord DEF lowerwindow-TEXCOORD TextureCoordinate { point [ +4.99 0.000499, 0.00251 0.000501, 5 0.999, 1.68 1, 0.0025 0.812] +} +texCoordIndex [ +2, 3, 4, 1, 0, -1] +} +} +] +ROUTE SharedToggle4.trueTime_changed TO lowerwindow-TIMER.startTime + +#ROUTE open_or_closed3.openStartTime TO lowerwindow-TIMER.startTime +ROUTE lowerwindow-TIMER.fraction_changed TO lowerwindow-POS-INTERP.set_fraction +ROUTE lowerwindow-POS-INTERP.value_changed TO lowerwindow.set_translation +ROUTE lowerwindow-TIMER.fraction_changed TO lowerwindow-ROT-INTERP.set_fraction +ROUTE lowerwindow-ROT-INTERP.value_changed TO lowerwindow.set_rotation + +ROUTE SharedToggle4.falseTime_changed TO lowerwindow-TIMER-open.startTime + +#ROUTE open_or_closed3.closedStartTime TO lowerwindow-TIMER-open.startTime +ROUTE lowerwindow-TIMER-open.fraction_changed TO lowerwindow-POS-INTERP-open.set_fraction +ROUTE lowerwindow-POS-INTERP-open.value_changed TO lowerwindow.set_translation +ROUTE lowerwindow-TIMER-open.fraction_changed TO lowerwindow-ROT-INTERP-open.set_fraction +ROUTE lowerwindow-ROT-INTERP-open.value_changed TO lowerwindow.set_rotation + +} +DEF lowerwindow01 Transform { +translation 15.8 7.93 -3.7 +rotation 1 0 0 -1.66 +scale 0.714 1 0.714 +children [ +DEF lowerwindow01-TIMER TimeSensor { loop FALSE cycleInterval 2.4 }, +DEF lowerwindow01-TIMER-open TimeSensor { loop FALSE cycleInterval 2.4 }, + + +DEF lowerwindow01-POS-INTERP PositionInterpolator { +key [0, 1, ] +keyValue [15.8 7.93 -3.7, 15.8 -0.439 -3.67, ] }, +DEF lowerwindow01-ROT-INTERP OrientationInterpolator { +key [0,1, ] +keyValue [1 0 0 -1.66, -1 0 0 -3.14, ] }, + + +DEF lowerwindow01-POS-INTERP-open PositionInterpolator { +key [0, 1, ] +keyValue [, 15.8 -0.439 -3.67,15.8 7.93 -3.7 ] }, +DEF lowerwindow01-ROT-INTERP-open OrientationInterpolator { +key [0,1, ] +keyValue [ -1 0 0 -3.14,1 0 0 -1.66, ] }, + + +Shape { +appearance USE Glass2 +geometry DEF lowerwindow01-FACES IndexedFaceSet { +ccw FALSE +solid FALSE +convex TRUE +coord DEF lowerwindow01-COORD Coordinate { point [ +-13.3 -0.45 -6.37, 11.6 -0.45 -6.37, -13.3 -4.2 -6.37, 3.24 -4.2 -6.37, +11.6 -3.49 -6.37] +} +coordIndex [ +2, 3, 4, 1, 0, -1] +texCoord DEF lowerwindow01-TEXCOORD TextureCoordinate { point [ +4.99 0.000499, 0.00251 0.000501, 5 0.999, 1.68 1, 0.0025 0.812] +} +texCoordIndex [ +2, 3, 4, 1, 0, -1] +} +} +] + +ROUTE SharedToggle3.trueTime_changed TO lowerwindow01-TIMER.startTime +#ROUTE open_or_closed4.openStartTime TO lowerwindow01-TIMER.startTime +ROUTE lowerwindow01-TIMER.fraction_changed TO lowerwindow01-POS-INTERP.set_fraction +ROUTE lowerwindow01-POS-INTERP.value_changed TO lowerwindow01.set_translation +ROUTE lowerwindow01-TIMER.fraction_changed TO lowerwindow01-ROT-INTERP.set_fraction +ROUTE lowerwindow01-ROT-INTERP.value_changed TO lowerwindow01.set_rotation + +ROUTE SharedToggle3.falseTime_changed TO lowerwindow01-TIMER-open.startTime + +#ROUTE open_or_closed4.closedStartTime TO lowerwindow01-TIMER-open.startTime +ROUTE lowerwindow01-TIMER-open.fraction_changed TO lowerwindow01-POS-INTERP-open.set_fraction +ROUTE lowerwindow01-POS-INTERP-open.value_changed TO lowerwindow01.set_translation +ROUTE lowerwindow01-TIMER-open.fraction_changed TO lowerwindow01-ROT-INTERP-open.set_fraction +ROUTE lowerwindow01-ROT-INTERP-open.value_changed TO lowerwindow01.set_rotation +} +DEF switch01 Transform { +translation -17.9 4.02 0.894 +scale 0.5 0.3 0.5 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 0.74902 0.84314 0.85882 +ambientIntensity 0.81699 +specularColor 1.296 1.296 1.296 +shininess 0.43 +transparency 0 +} +} +geometry DEF extension_switch-FACES IndexedFaceSet { creaseAngle 2 +ccw TRUE +solid TRUE +convex TRUE +colorPerVertex FALSE +color Color { color [ +0.74902 0.84314 0.85882, 0.78431 0.18431 0.066667 ] } +colorIndex [ +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0] +coord DEF extension_switch-COORD Coordinate { point [ +0 0.81771 0, 0.061898 0.80113 0, 0.038593 0.80113 -0.048393, +-0.013774 0.80113 -0.060346, -0.055768 0.80113 -0.026856, -0.055768 0.80113 0.026856, +-0.013774 0.80113 0.060346, 0.038593 0.80113 0.048393, 0.10721 0.75582 0, +0.066844 0.75582 -0.08382, -0.023856 0.75582 -0.10452, -0.096593 0.75582 -0.046517, +-0.096593 0.75582 0.046517, -0.023856 0.75582 0.10452, 0.066844 0.75582 0.08382, +0.1238 0.69392 0, 0.077185 0.69392 -0.096787, -0.027547 0.69392 -0.12069, +-0.11154 0.69392 -0.053713, -0.11154 0.69392 0.053713, -0.027547 0.69392 0.12069, +0.077185 0.69392 0.096787, 0.1238 0.1238 0, 0.077185 0.1238 -0.096787, +-0.027547 0.1238 -0.12069, -0.11154 0.1238 -0.053713, -0.11154 0.1238 0.053713, +-0.027547 0.1238 0.12069, 0.077185 0.1238 0.096787, 0.10721 0.061898 0, +0.066844 0.061898 -0.08382, -0.023856 0.061898 -0.10452, -0.096593 0.061898 -0.046517, +-0.096593 0.061898 0.046517, -0.023856 0.061898 0.10452, 0.066844 0.061898 0.08382, +0.061898 0.016585 0, 0.038593 0.016585 -0.048393, -0.013774 0.016585 -0.060346, +-0.055768 0.016585 -0.026856, -0.055768 0.016585 0.026856, -0.013774 0.016585 0.060346, +0.038593 0.016585 0.048393, 0 0 0] +} +coordIndex [ +0, 1, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, +-1, 0, 6, 7, -1, 0, 7, 1, -1, 1, 8, 9, 2, -1, 2, 9, 10, 3, -1, +3, 10, 11, 4, -1, 4, 11, 12, 5, -1, 5, 12, 13, 6, -1, 6, 13, +14, 7, -1, 7, 14, 8, 1, -1, 8, 15, 16, 9, -1, 9, 16, 17, 10, +-1, 10, 17, 18, 11, -1, 11, 18, 19, 12, -1, 12, 19, 20, 13, -1, +13, 20, 21, 14, -1, 14, 21, 15, 8, -1, 15, 22, 23, 16, -1, 16, +23, 24, 17, -1, 17, 24, 25, 18, -1, 18, 25, 26, 19, -1, 19, 26, +27, 20, -1, 20, 27, 28, 21, -1, 21, 28, 22, 15, -1, 22, 29, 30, +23, -1, 23, 30, 31, 24, -1, 24, 31, 32, 25, -1, 25, 32, 33, 26, +-1, 26, 33, 34, 27, -1, 27, 34, 35, 28, -1, 28, 35, 29, 22, -1, +29, 36, 37, 30, -1, 30, 37, 38, 31, -1, 31, 38, 39, 32, -1, 32, +39, 40, 33, -1, 33, 40, 41, 34, -1, 34, 41, 42, 35, -1, 35, 42, +36, 29, -1, 36, 43, 37, -1, 37, 43, 38, -1, 38, 43, 39, -1, 39, +43, 40, -1, 40, 43, 41, -1, 41, 43, 42, -1, 42, 43, 36, -1] +} +} +DEF TouchSensor01-SENSOR TouchSensor { enabled TRUE } +] +} +DEF switch02 Transform { +translation 17.9 4.02 0.894 +scale 0.5 0.3 0.5 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 0.74902 0.84314 0.85882 +ambientIntensity 0.81699 +specularColor 1.296 1.296 1.296 +shininess 0.43 +transparency 0 +} +} +geometry DEF extension_switch-FACES IndexedFaceSet { creaseAngle 2 +ccw TRUE +solid TRUE +convex TRUE +colorPerVertex FALSE +color Color { color [ +0.74902 0.84314 0.85882, 0.78431 0.18431 0.066667 ] } +colorIndex [ +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0] +coord DEF extension_switch-COORD Coordinate { point [ +0 0.81771 0, 0.061898 0.80113 0, 0.038593 0.80113 -0.048393, +-0.013774 0.80113 -0.060346, -0.055768 0.80113 -0.026856, -0.055768 0.80113 0.026856, +-0.013774 0.80113 0.060346, 0.038593 0.80113 0.048393, 0.10721 0.75582 0, +0.066844 0.75582 -0.08382, -0.023856 0.75582 -0.10452, -0.096593 0.75582 -0.046517, +-0.096593 0.75582 0.046517, -0.023856 0.75582 0.10452, 0.066844 0.75582 0.08382, +0.1238 0.69392 0, 0.077185 0.69392 -0.096787, -0.027547 0.69392 -0.12069, +-0.11154 0.69392 -0.053713, -0.11154 0.69392 0.053713, -0.027547 0.69392 0.12069, +0.077185 0.69392 0.096787, 0.1238 0.1238 0, 0.077185 0.1238 -0.096787, +-0.027547 0.1238 -0.12069, -0.11154 0.1238 -0.053713, -0.11154 0.1238 0.053713, +-0.027547 0.1238 0.12069, 0.077185 0.1238 0.096787, 0.10721 0.061898 0, +0.066844 0.061898 -0.08382, -0.023856 0.061898 -0.10452, -0.096593 0.061898 -0.046517, +-0.096593 0.061898 0.046517, -0.023856 0.061898 0.10452, 0.066844 0.061898 0.08382, +0.061898 0.016585 0, 0.038593 0.016585 -0.048393, -0.013774 0.016585 -0.060346, +-0.055768 0.016585 -0.026856, -0.055768 0.016585 0.026856, -0.013774 0.016585 0.060346, +0.038593 0.016585 0.048393, 0 0 0] +} +coordIndex [ +0, 1, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, +-1, 0, 6, 7, -1, 0, 7, 1, -1, 1, 8, 9, 2, -1, 2, 9, 10, 3, -1, +3, 10, 11, 4, -1, 4, 11, 12, 5, -1, 5, 12, 13, 6, -1, 6, 13, +14, 7, -1, 7, 14, 8, 1, -1, 8, 15, 16, 9, -1, 9, 16, 17, 10, +-1, 10, 17, 18, 11, -1, 11, 18, 19, 12, -1, 12, 19, 20, 13, -1, +13, 20, 21, 14, -1, 14, 21, 15, 8, -1, 15, 22, 23, 16, -1, 16, +23, 24, 17, -1, 17, 24, 25, 18, -1, 18, 25, 26, 19, -1, 19, 26, +27, 20, -1, 20, 27, 28, 21, -1, 21, 28, 22, 15, -1, 22, 29, 30, +23, -1, 23, 30, 31, 24, -1, 24, 31, 32, 25, -1, 25, 32, 33, 26, +-1, 26, 33, 34, 27, -1, 27, 34, 35, 28, -1, 28, 35, 29, 22, -1, +29, 36, 37, 30, -1, 30, 37, 38, 31, -1, 31, 38, 39, 32, -1, 32, +39, 40, 33, -1, 33, 40, 41, 34, -1, 34, 41, 42, 35, -1, 35, 42, +36, 29, -1, 36, 43, 37, -1, 37, 43, 38, -1, 38, 43, 39, -1, 39, +43, 40, -1, 40, 43, 41, -1, 41, 43, 42, -1, 42, 43, 36, -1] +} +} +DEF TouchSensor02-SENSOR TouchSensor { enabled TRUE } +] +} +DEF switch03 Transform { +translation 24.5 0.229 0.894 +scale 0.5 0.3 0.5 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 0.74902 0.84314 0.85882 +ambientIntensity 0.81699 +specularColor 1.296 1.296 1.296 +shininess 0.43 +transparency 0 +} +} +geometry DEF extension_switch-FACES IndexedFaceSet { creaseAngle 2 +ccw TRUE +solid TRUE +convex TRUE +colorPerVertex FALSE +color Color { color [ +0.74902 0.84314 0.85882, 0.78431 0.18431 0.066667 ] } +colorIndex [ +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0] +coord DEF extension_switch-COORD Coordinate { point [ +0 0.81771 0, 0.061898 0.80113 0, 0.038593 0.80113 -0.048393, +-0.013774 0.80113 -0.060346, -0.055768 0.80113 -0.026856, -0.055768 0.80113 0.026856, +-0.013774 0.80113 0.060346, 0.038593 0.80113 0.048393, 0.10721 0.75582 0, +0.066844 0.75582 -0.08382, -0.023856 0.75582 -0.10452, -0.096593 0.75582 -0.046517, +-0.096593 0.75582 0.046517, -0.023856 0.75582 0.10452, 0.066844 0.75582 0.08382, +0.1238 0.69392 0, 0.077185 0.69392 -0.096787, -0.027547 0.69392 -0.12069, +-0.11154 0.69392 -0.053713, -0.11154 0.69392 0.053713, -0.027547 0.69392 0.12069, +0.077185 0.69392 0.096787, 0.1238 0.1238 0, 0.077185 0.1238 -0.096787, +-0.027547 0.1238 -0.12069, -0.11154 0.1238 -0.053713, -0.11154 0.1238 0.053713, +-0.027547 0.1238 0.12069, 0.077185 0.1238 0.096787, 0.10721 0.061898 0, +0.066844 0.061898 -0.08382, -0.023856 0.061898 -0.10452, -0.096593 0.061898 -0.046517, +-0.096593 0.061898 0.046517, -0.023856 0.061898 0.10452, 0.066844 0.061898 0.08382, +0.061898 0.016585 0, 0.038593 0.016585 -0.048393, -0.013774 0.016585 -0.060346, +-0.055768 0.016585 -0.026856, -0.055768 0.016585 0.026856, -0.013774 0.016585 0.060346, +0.038593 0.016585 0.048393, 0 0 0] +} +coordIndex [ +0, 1, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, +-1, 0, 6, 7, -1, 0, 7, 1, -1, 1, 8, 9, 2, -1, 2, 9, 10, 3, -1, +3, 10, 11, 4, -1, 4, 11, 12, 5, -1, 5, 12, 13, 6, -1, 6, 13, +14, 7, -1, 7, 14, 8, 1, -1, 8, 15, 16, 9, -1, 9, 16, 17, 10, +-1, 10, 17, 18, 11, -1, 11, 18, 19, 12, -1, 12, 19, 20, 13, -1, +13, 20, 21, 14, -1, 14, 21, 15, 8, -1, 15, 22, 23, 16, -1, 16, +23, 24, 17, -1, 17, 24, 25, 18, -1, 18, 25, 26, 19, -1, 19, 26, +27, 20, -1, 20, 27, 28, 21, -1, 21, 28, 22, 15, -1, 22, 29, 30, +23, -1, 23, 30, 31, 24, -1, 24, 31, 32, 25, -1, 25, 32, 33, 26, +-1, 26, 33, 34, 27, -1, 27, 34, 35, 28, -1, 28, 35, 29, 22, -1, +29, 36, 37, 30, -1, 30, 37, 38, 31, -1, 31, 38, 39, 32, -1, 32, +39, 40, 33, -1, 33, 40, 41, 34, -1, 34, 41, 42, 35, -1, 35, 42, +36, 29, -1, 36, 43, 37, -1, 37, 43, 38, -1, 38, 43, 39, -1, 39, +43, 40, -1, 40, 43, 41, -1, 41, 43, 42, -1, 42, 43, 36, -1] +} +} +DEF TouchSensor03-SENSOR TouchSensor { enabled TRUE } +] +} +DEF switch04 Transform { +translation -24.6 0.229 0.894 +scale 0.5 0.3 0.5 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 0.74902 0.84314 0.85882 +ambientIntensity 0.81699 +specularColor 1.296 1.296 1.296 +shininess 0.43 +transparency 0 +} +} +geometry DEF extension_switch-FACES IndexedFaceSet { creaseAngle 2 +ccw TRUE +solid TRUE +convex TRUE +colorPerVertex FALSE +color Color { color [ +0.74902 0.84314 0.85882, 0.78431 0.18431 0.066667 ] } +colorIndex [ +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0] +coord DEF extension_switch-COORD Coordinate { point [ +0 0.81771 0, 0.061898 0.80113 0, 0.038593 0.80113 -0.048393, +-0.013774 0.80113 -0.060346, -0.055768 0.80113 -0.026856, -0.055768 0.80113 0.026856, +-0.013774 0.80113 0.060346, 0.038593 0.80113 0.048393, 0.10721 0.75582 0, +0.066844 0.75582 -0.08382, -0.023856 0.75582 -0.10452, -0.096593 0.75582 -0.046517, +-0.096593 0.75582 0.046517, -0.023856 0.75582 0.10452, 0.066844 0.75582 0.08382, +0.1238 0.69392 0, 0.077185 0.69392 -0.096787, -0.027547 0.69392 -0.12069, +-0.11154 0.69392 -0.053713, -0.11154 0.69392 0.053713, -0.027547 0.69392 0.12069, +0.077185 0.69392 0.096787, 0.1238 0.1238 0, 0.077185 0.1238 -0.096787, +-0.027547 0.1238 -0.12069, -0.11154 0.1238 -0.053713, -0.11154 0.1238 0.053713, +-0.027547 0.1238 0.12069, 0.077185 0.1238 0.096787, 0.10721 0.061898 0, +0.066844 0.061898 -0.08382, -0.023856 0.061898 -0.10452, -0.096593 0.061898 -0.046517, +-0.096593 0.061898 0.046517, -0.023856 0.061898 0.10452, 0.066844 0.061898 0.08382, +0.061898 0.016585 0, 0.038593 0.016585 -0.048393, -0.013774 0.016585 -0.060346, +-0.055768 0.016585 -0.026856, -0.055768 0.016585 0.026856, -0.013774 0.016585 0.060346, +0.038593 0.016585 0.048393, 0 0 0] +} +coordIndex [ +0, 1, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, +-1, 0, 6, 7, -1, 0, 7, 1, -1, 1, 8, 9, 2, -1, 2, 9, 10, 3, -1, +3, 10, 11, 4, -1, 4, 11, 12, 5, -1, 5, 12, 13, 6, -1, 6, 13, +14, 7, -1, 7, 14, 8, 1, -1, 8, 15, 16, 9, -1, 9, 16, 17, 10, +-1, 10, 17, 18, 11, -1, 11, 18, 19, 12, -1, 12, 19, 20, 13, -1, +13, 20, 21, 14, -1, 14, 21, 15, 8, -1, 15, 22, 23, 16, -1, 16, +23, 24, 17, -1, 17, 24, 25, 18, -1, 18, 25, 26, 19, -1, 19, 26, +27, 20, -1, 20, 27, 28, 21, -1, 21, 28, 22, 15, -1, 22, 29, 30, +23, -1, 23, 30, 31, 24, -1, 24, 31, 32, 25, -1, 25, 32, 33, 26, +-1, 26, 33, 34, 27, -1, 27, 34, 35, 28, -1, 28, 35, 29, 22, -1, +29, 36, 37, 30, -1, 30, 37, 38, 31, -1, 31, 38, 39, 32, -1, 32, +39, 40, 33, -1, 33, 40, 41, 34, -1, 34, 41, 42, 35, -1, 35, 42, +36, 29, -1, 36, 43, 37, -1, 37, 43, 38, -1, 38, 43, 39, -1, 39, +43, 40, -1, 40, 43, 41, -1, 41, 43, 42, -1, 42, 43, 36, -1] +} +} +DEF TouchSensor04-SENSOR TouchSensor { enabled TRUE } +] +} +DEF Sound01 Transform { +translation 0.192 5.46 -0.733 +children [ +DEF Sound01 Sound { +direction 0 0 1 +intensity 1 +location 0 0 0 +maxBack 30.1 +maxFront 31.1 +minBack 15.6 +minFront 15.8 +priority 0 +spatialize FALSE +source +DEF AudioClip01 AudioClip { +description "" +url "doors.wav" +pitch 1 +loop FALSE +stopTime 1 +} +} +] +} + + +#ROUTE TouchSensor01-SENSOR.touchTime TO open_or_closed1.touchTime +#ROUTE TouchSensor01-SENSOR.touchTime TO sharedTime1.set_time +#ROUTE sharedTime1.time_changed TO open_or_closed1.touchTime +#ROUTE TouchSensor01-SENSOR.touchTime TO AudioClip01.set_startTime + + +ROUTE TouchSensor01-SENSOR.touchTime TO Toggle1.set_toggle +ROUTE Toggle1.state_changed TO sharedTime1.set_bool +ROUTE sharedTime1.bool_changed TO SharedToggle1.set_toggleState + +#ROUTE TouchSensor02-SENSOR.touchTime TO sharedTime2.set_time +#ROUTE sharedTime2.time_changed TO open_or_closed2.touchTime +#ROUTE TouchSensor02-SENSOR.touchTime TO AudioClip01.set_startTime + +ROUTE TouchSensor02-SENSOR.touchTime TO Toggle2.set_toggle +ROUTE Toggle2.state_changed TO sharedTime2.set_bool +ROUTE sharedTime2.bool_changed TO SharedToggle2.set_toggleState + +#ROUTE TouchSensor04-SENSOR.touchTime TO sharedTime4.set_time +#ROUTE sharedTime4.time_changed TO open_or_closed3.touchTime +#ROUTE TouchSensor04-SENSOR.touchTime TO AudioClip01.set_startTime + +ROUTE TouchSensor04-SENSOR.touchTime TO Toggle4.set_toggle +ROUTE Toggle4.state_changed TO sharedTime4.set_bool +ROUTE sharedTime4.bool_changed TO SharedToggle4.set_toggleState + +#ROUTE TouchSensor03-SENSOR.touchTime TO sharedTime3.set_time +#ROUTE sharedTime3.time_changed TO open_or_closed4.touchTime +#ROUTE TouchSensor03-SENSOR.touchTime TO AudioClip01.set_startTime + +ROUTE TouchSensor03-SENSOR.touchTime TO Toggle3.set_toggle +ROUTE Toggle3.state_changed TO sharedTime3.set_bool +ROUTE sharedTime3.bool_changed TO SharedToggle3.set_toggleState + + + + + + + +] +} +###################### +#bed +###################### +LOD{ +center 0 0 0 +range[50] +level[ +Group{} +DEF bed Transform { +translation 114.88 0.53333 -157.38 +scale 1 0.9 1 +children [ +DEF BedTouch TouchSensor{} +Shape { +appearance Appearance { +material Material {} +texture ImageTexture {url "zebra.gif"} +} +geometry DEF bed-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +coord DEF bed-COORD Coordinate { point [ +-57.765 -0.011397 79.136, -52.912 -0.011397 79.136, -53.839 -0.011397 76.283, +-56.266 -0.011397 74.521, -59.265 -0.011397 74.521, -61.692 -0.011397 76.283, +-62.618 -0.011397 79.136, -61.692 -0.011397 81.989, -59.265 -0.011397 83.751, +-56.266 -0.011397 83.751, -53.839 -0.011397 81.989, -52.761 -0.16328 79.136, +-53.716 -0.16328 76.194, -56.219 -0.16328 74.376, -59.312 -0.16328 74.376, +-61.814 -0.16328 76.194, -62.77 -0.16328 79.136, -61.814 -0.16328 82.078, +-59.312 -0.16328 83.896, -56.219 -0.16328 83.896, -53.716 -0.16328 82.078, +-52.761 -0.32328 79.136, -53.716 -0.32328 76.194, -56.219 -0.32328 74.376, +-59.312 -0.32328 74.376, -61.814 -0.32328 76.194, -62.77 -0.32328 79.136, +-61.814 -0.32328 82.078, -59.312 -0.32328 83.896, -56.219 -0.32328 83.896, +-53.716 -0.32328 82.078, -52.912 -0.47516 79.136, -53.839 -0.47516 76.283, +-56.266 -0.47516 74.521, -59.265 -0.47516 74.521, -61.692 -0.47516 76.283, +-62.618 -0.47516 79.136, -61.692 -0.47516 81.989, -59.265 -0.47516 83.751, +-56.266 -0.47516 83.751, -53.839 -0.47516 81.989, -57.765 -0.47516 79.136, +-52.793 0.20965 78.972, -53.72 0.20965 76.119, -56.147 0.20965 74.356, +-59.146 0.20965 74.356, -52.641 0.057766 78.972, -53.597 0.057766 76.03, +-56.1 0.057766 74.212, -59.193 0.057766 74.212, -52.795 0.64901 78.967, +-53.722 0.64901 76.115, -56.149 0.64901 74.352, -59.148 0.64901 74.352, +-52.644 0.79458 78.967, -53.599 0.79458 76.025, -56.102 0.79458 74.207, +-59.195 0.79458 74.207] +} +texCoord DEF bed-TEXCOORD TextureCoordinate { point [ +-7.692 -16.039, -7.8308 -15.461, -8.1942 -15.104, -8.6434 -15.104, +8.6693 -16.039, 8.8124 -15.443, 9.1872 -15.075, -8.6504 -15.075, +8.8124 -15.443, 9.1872 -15.075, 17.006 0.16545, -7.813 0.16545, +-8.1764 0.16545, -8.6255 0.16545, -16.006 0.045949, 8.7946 0.045949, +9.1693 0.045949, 16.041 0.045949, 17.005 0.51112, -7.8133 0.51112, +-8.1767 0.51112, -8.6259 0.51112, -16.005 0.62566, 8.7949 0.62566, +9.1697 0.62566, 16.04 0.62566, -7.6745 -16.005, -7.6518 -16.005, +-7.7949 -15.409, -7.6745 -16.005, -7.7949 -15.409, -7.8133 -15.427, +-7.8133 -15.427, -7.7949 -15.409, -8.1697 -15.04, -7.8133 -15.427, +-8.1697 -15.04, -8.1767 -15.07, -8.1767 -15.07, -8.1697 -15.04, +-8.6329 -15.04, -8.1767 -15.07, -8.6329 -15.04, -8.6259 -15.07, +-16.039 -0.12796, -16.039 -0.25385, -15.443 -0.25385, -16.039 -0.12796, +-15.443 -0.25385, -15.443 -0.12796, 8.8124 -0.12796, 8.8124 -0.25385, +9.1872 -0.25385, 8.8124 -0.12796, 9.1872 -0.25385, 9.1872 -0.12796, +9.1872 -0.12796, 9.1872 -0.25385, 9.6504 -0.25385, 9.1872 -0.12796, +9.6504 -0.25385, 9.6504 -0.12796, 8.6693 -16.039, 8.692 -16.039, +8.8308 -15.461, 8.6693 -16.039, 8.8308 -15.461, 8.8124 -15.443, +8.8124 -15.443, 8.8308 -15.461, 9.1942 -15.104, 9.1942 -15.104, +9.1872 -15.075, 9.1872 -15.075, 9.1942 -15.104, 9.6434 -15.104, +9.6434 -15.104, 9.6504 -15.075, -7.8308 -15.461, -7.692 -16.039, +-7.6742 -16.006, -7.6742 -16.006, -7.813 -15.428, -7.8308 -15.461, +-8.1942 -15.104, -7.813 -15.428, -7.813 -15.428, -8.1764 -15.071, +-8.1942 -15.104, -8.6434 -15.104, -8.1764 -15.071, -8.1764 -15.071, +-8.6255 -15.071, -8.6434 -15.104, -7.692 -16.039, -7.6693 -16.039, +-7.6514 -16.006, -7.6514 -16.006, -7.6742 -16.006, 8.6693 -16.039, +8.8124 -15.443, 8.7946 -15.41, 8.7946 -15.41, 8.6514 -16.006, +8.8124 -15.443, 9.1872 -15.075, 9.1693 -15.041, 9.1693 -15.041, +8.7946 -15.41, 9.1872 -15.075, 9.6504 -15.075, 9.6326 -15.041, +9.6326 -15.041, 9.1693 -15.041, -8.6504 -15.075, -8.6255 -15.071, +-8.6255 -15.071, -8.6326 -15.041, -7.6742 0.16545, -7.6514 0.045949, +-7.6518 0.62566, -7.6518 0.62566, -7.6745 0.51112, -7.6742 0.16545, +-16.006 0.045949, -15.41 0.045949, -15.409 0.62566, -15.409 0.62566, +16.428 0.16545, 17.005 0.51112, 16.427 0.51112, 16.428 0.16545, +8.7946 0.045949, 9.1693 0.045949, 9.1697 0.62566, 9.1697 0.62566, +-8.1764 0.16545, -7.8133 0.51112, -8.1767 0.51112, -8.1764 0.16545, +9.1693 0.045949, 9.6326 0.045949, 9.6329 0.62566, 9.6329 0.62566, +16.041 0.045949, 16.071 0.16545, 16.07 0.51112, 16.07 0.51112, +-8.6255 0.16545, -8.1767 0.51112, 0.5 0.5, 0.98434 0.5, 0.89184 0.79934, +0.64967 0.98434, 0.35033 0.98434, 0.10816 0.79934, 0.015658 0.5, +0.10816 0.20066, 0.35033 0.015659, 0.64967 0.015659, 0.89184 0.20066, +0.34565 0.9995, 0.095896 0.80871, 0.00049937 0.5, 0.095895 0.19129, +0.34565 0.00049987, 0.65435 0.00049978, 0.9041 0.19129, 0.9995 0.5, +0.34565 0.9995, 0.095896 0.80871, 0.00049937 0.5, 0.095895 0.19129, +0.34565 0.00049987, 0.65435 0.00049978, 0.9041 0.19129, 0.9995 0.5, +0.35033 0.98434, 0.10816 0.79934, 0.015658 0.5, 0.10816 0.20066, +0.35033 0.015659, 0.64967 0.015659, 0.89184 0.20066, 0.98434 0.5, +0.5 0.5, 0.89184 0.79934, 0.64967 0.98434] +} +coordIndex [ +0, 1, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, -1, +0, 6, 7, -1, 0, 7, 8, -1, 0, 8, 9, -1, 0, 9, 10, -1, 0, 10, 1, -1, +4, 14, 15, -1, 4, 15, 5, -1, 5, 15, 16, -1, 5, 16, 6, -1, 6, 16, 17, -1, +6, 17, 7, -1, 7, 17, 18, -1, 7, 18, 8, -1, 8, 18, 19, -1, 8, 19, 9, -1, +9, 19, 20, -1, 9, 20, 10, -1, 10, 20, 11, -1, 10, 11, 1, -1, +14, 24, 25, -1, 14, 25, 15, -1, 15, 25, 26, -1, 15, 26, 16, -1, +16, 26, 27, -1, 16, 27, 17, -1, 17, 27, 28, -1, 17, 28, 18, -1, +18, 28, 29, -1, 18, 29, 19, -1, 19, 29, 30, -1, 19, 30, 20, -1, +20, 30, 21, -1, 20, 21, 11, -1, 24, 34, 35, -1, 24, 35, 25, -1, +25, 35, 36, -1, 25, 36, 26, -1, 26, 36, 37, -1, 26, 37, 27, -1, +27, 37, 38, -1, 27, 38, 28, -1, 28, 38, 39, -1, 28, 39, 29, -1, +29, 39, 40, -1, 29, 40, 30, -1, 30, 40, 31, -1, 30, 31, 21, -1, +31, 41, 32, -1, 32, 41, 33, -1, 33, 41, 34, -1, 34, 41, 35, -1, +35, 41, 36, -1, 36, 41, 37, -1, 37, 41, 38, -1, 38, 41, 39, -1, +39, 41, 40, -1, 40, 41, 31, -1, ] +texCoordIndex [ +150, 151, 152, -1, 150, 152, 153, -1, 150, 153, 154, -1, 150, 154, 155, -1, +150, 155, 156, -1, 150, 156, 157, -1, 150, 157, 158, -1, 150, 158, 159, -1, +150, 159, 160, -1, 150, 160, 151, -1, 154, 161, 162, -1, 154, 162, 155, -1, +155, 162, 163, -1, 155, 163, 156, -1, 156, 163, 164, -1, 156, 164, 157, -1, +157, 164, 165, -1, 157, 165, 158, -1, 158, 165, 166, -1, 158, 166, 159, -1, +159, 166, 167, -1, 159, 167, 160, -1, 160, 167, 168, -1, 160, 168, 151, -1, +161, 169, 170, -1, 161, 170, 162, -1, 162, 170, 171, -1, 162, 171, 163, -1, +163, 171, 172, -1, 163, 172, 164, -1, 164, 172, 173, -1, 164, 173, 165, -1, +165, 173, 174, -1, 165, 174, 166, -1, 166, 174, 175, -1, 166, 175, 167, -1, +167, 175, 176, -1, 167, 176, 168, -1, 169, 177, 178, -1, 169, 178, 170, -1, +170, 178, 179, -1, 170, 179, 171, -1, 171, 179, 180, -1, 171, 180, 172, -1, +172, 180, 181, -1, 172, 181, 173, -1, 173, 181, 182, -1, 173, 182, 174, -1, +174, 182, 183, -1, 174, 183, 175, -1, 175, 183, 184, -1, 175, 184, 176, -1, +184, 185, 186, -1, 186, 185, 187, -1, 187, 185, 177, -1, 177, 185, 178, -1, +178, 185, 179, -1, 179, 185, 180, -1, 180, 185, 181, -1, 181, 185, 182, -1, +182, 185, 183, -1, 183, 185, 184, -1, ] +} +} +Shape { +appearance Appearance { +material Material { +diffuseColor 0.10588 0.67059 0.65098 +ambientIntensity 0.1586 +specularColor 0.045 0.045 0.045 +shininess 0.2875 +transparency 0 +} +texture ImageTexture { +url "rustymetal2.jpg" +} +} +geometry DEF bed-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +coord USE bed-COORD +texCoord USE bed-TEXCOORD +coordIndex [ +50, 54, 55, -1, 50, 55, 51, -1, 51, 55, 56, -1, 51, 56, 52, -1, +52, 56, 57, -1, 52, 57, 53, -1, 11, 21, 22, -1, 11, 22, 12, -1, +12, 22, 23, -1, 12, 23, 13, -1, 13, 23, 24, -1, 13, 24, 14, -1, +21, 31, 32, -1, 21, 32, 22, -1, 22, 32, 33, -1, 22, 33, 23, -1, +23, 33, 34, -1, 23, 34, 24, -1, 2, 1, 42, -1, 42, 43, 2, -1, +3, 2, 43, -1, 43, 44, 3, -1, 4, 3, 44, -1, 44, 45, 4, -1, 1, 11, 46, -1, +46, 42, 1, -1, 11, 12, 47, -1, 47, 46, 11, -1, 12, 13, 48, -1, +48, 47, 12, -1, 13, 14, 49, -1, 49, 48, 13, -1, 14, 4, 45, -1, +45, 49, 14, -1, 42, 46, 54, -1, 54, 50, 42, -1, 46, 47, 55, -1, +55, 54, 46, -1, 43, 42, 50, -1, 50, 51, 43, -1, 47, 48, 56, -1, +56, 55, 47, -1, 44, 43, 51, -1, 51, 52, 44, -1, 48, 49, 57, -1, +57, 56, 48, -1, 49, 45, 53, -1, 53, 57, 49, -1, 45, 44, 52, -1, +52, 53, 45, -1] +texCoordIndex [ +26, 27, 28, -1, 29, 30, 31, -1, 32, 33, 34, -1, 35, 36, 37, -1, +38, 39, 40, -1, 41, 42, 43, -1, 44, 45, 46, -1, 47, 48, 49, -1, +50, 51, 52, -1, 53, 54, 55, -1, 56, 57, 58, -1, 59, 60, 61, -1, +62, 63, 64, -1, 65, 66, 67, -1, 68, 69, 70, -1, 8, 71, 72, -1, +73, 74, 75, -1, 9, 76, 77, -1, 78, 79, 80, -1, 81, 82, 83, -1, +84, 1, 85, -1, 86, 87, 88, -1, 89, 2, 90, -1, 91, 92, 93, -1, +94, 95, 96, -1, 97, 98, 0, -1, 99, 100, 101, -1, 102, 103, 4, -1, +104, 105, 106, -1, 107, 108, 5, -1, 109, 110, 111, -1, 112, 113, 6, -1, +114, 3, 115, -1, 116, 117, 7, -1, 118, 119, 120, -1, 121, 122, 123, -1, +124, 125, 126, -1, 127, 22, 14, -1, 128, 10, 129, -1, 18, 130, 131, -1, +132, 133, 134, -1, 135, 23, 15, -1, 136, 11, 137, -1, 19, 138, 139, -1, +140, 141, 142, -1, 143, 24, 16, -1, 144, 145, 146, -1, 147, 25, 17, -1, +148, 12, 149, -1, 20, 21, 13, -1] +} +} +] +} +] +}#end LOD +DEF touch1 touchBool{} +ROUTE BedTouch.touchTime TO touch1.touchTime +ROUTE touch1.IsTouched TO viewpoint_bed.set_bind +###################### +#extension +###################### +Transform { +children [ +DEF extension Transform { +translation 0 0.25648 -20.594 +scale 0.71429 1 0.71429 +children [ +DEF extension-TIMER TimeSensor { loop FALSE cycleInterval 2.4 }, +DEF extension-TIMER-closed TimeSensor { loop FALSE cycleInterval 2.4 }, +DEF extension-POS-INTERP PositionInterpolator { +key [0, 1 ] +keyValue [0 0.25648 -20.594, +0 0.25648 -30.065, ] }, + +DEF extension-POS-INTERP-closed PositionInterpolator { +key [0, 1, ] +keyValue [0 0.25648 -30.065, 0 0.25648 -20.594, ] }, + + + +Shape { +appearance USE Glass + +geometry DEF extension-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF extension-COORD Coordinate { point [ +-10.804 -0.27176 -4.4197, 10.804 -0.27176 -4.4197, -10.804 -0.27176 8.8394, +10.804 -0.27176 8.8394] +} +coordIndex [ +1, 0, 2, 3, -1] +texCoord DEF extension-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 1 1, 0 0] +} +texCoordIndex [ +3, 0, 2, 1, -1] +} +} +Shape { +appearance Appearance { +material Material { +diffuseColor 0.59216 0.6549 0.65098 +ambientIntensity 0.10327 +specularColor 0.045 0.045 0.045 +shininess 0.2875 +transparency 0 +} +texture ImageTexture { +url "floor.gif" +} +} +geometry DEF extension-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord USE extension-COORD +coordIndex [ +1, 0, 2, 3, -1] +texCoord USE extension-TEXCOORD +texCoordIndex [ +3, 0, 2, 1, -1] +} +} +DEF extension_railing_02 Transform { +translation -11.076 -11.076 0 +rotation 0 0 -1 -1.5708 +children [ +DEF extension_railing_02-POS-INTERP PositionInterpolator { +key [0, 0.75, 0.76389, 0.77778, 0.79167, 0.80556, 0.81944, 0.83333, +0.84722, 0.86111, 0.875, 0.88889, 0.90278, 0.91667, 0.93056, +0.94444, 0.95833, 0.97222, 0.98611, 1, ] +keyValue [-11.076 -11.076 0, -11.076 -11.076 0, -12.016 -11.011 0, +-12.948 -10.865 0, -13.863 -10.637 0, -14.755 -10.331 0, +-15.616 -9.9487 0, -16.441 -9.4925 0, -17.224 -8.9661 0, +-17.957 -8.3735 0, -18.636 -7.7192 0, -19.255 -7.0083 0, +-19.81 -6.2461 0, -20.296 -5.4385 0, -20.711 -4.5915 0, +-21.049 -3.7116 0, -21.31 -2.8056 0, -21.491 -1.8802 0, +-21.591 -0.94267 0, -21.608 0 0, ] }, +DEF extension_railing_02-ROT-INTERP OrientationInterpolator { +key [0, 0.75, 0.76389, 0.77778, 0.79167, 0.80556, 0.81944, 0.83333, +0.84722, 0.86111, 0.875, 0.88889, 0.90278, 0.91667, 0.93056, +0.94444, 0.95833, 0.97222, 0.98611, 1, ] +keyValue [0 0 -1 -1.5708, 0 0 -1 -1.5708, 0 0 -1 -1.4835, 0 0 -1 -1.3963, +0 0 -1 -1.309, 0 0 -1 -1.2217, 0 0 -1 -1.1345, 0 0 -1 -1.0472, +0 0 -1 -0.95993, 0 0 -1 -0.87266, 0 0 -1 -0.7854, 0 0 -1 -0.69813, +0 0 -1 -0.61087, 0 0 -1 -0.5236, 0 0 -1 -0.43633, 0 0 -1 -0.34907, +0 0 -1 -0.2618, 0 0 -1 -0.17453, 0 0 -1 -0.087266, +1 0 0 0, ] }, + +DEF extension_railing_02-POS-INTERP-closed PositionInterpolator { +key [0, 0.013889, 0.027778, 0.041667, 0.055556, 0.069444, 0.083333, +0.097222, 0.11111, 0.125, 0.13889, 0.15278, 0.16667, 0.18056, +0.19444, 0.20833, 0.22222, 0.23611, 0.25, 0.26389, 0.27778, 0.29167, +0.30556, 0.31944, 0.33333, 0.34722, 0.36111, 0.375, 0.38889, +0.40278, 0.41667, 0.43056, 0.44444, 0.45833, 0.47222, 0.48611, +0.5, 0.51389, 0.52778, 0.54167, 0.55556, 0.56944, 0.58333, 0.59722, +0.61111, 0.625, 0.63889, 0.65278, 0.66667, 0.68056, 0.69444, +0.70833, 0.72222, 0.73611, 0.75, 0.76389, 0.77778, 0.79167, 0.80556, +0.81944, 0.83333, 0.84722, 0.86111, 0.875, 0.88889, 0.90278, +0.91667, 0.93056, 0.94444, 0.95833, 0.97222, 0.98611, 1, ] +keyValue [-21.608 0 0, -21.59 -0.9557 0, -21.484 -1.9288 0, -21.285 -2.9063 0, +-20.993 -3.8743 0, -20.608 -4.8191 0, -20.133 -5.7274 0, +-19.575 -6.5867 0, -18.94 -7.3856 0, -18.24 -8.1149 0, +-17.485 -8.7669 0, -16.689 -9.3366 0, -15.865 -9.8211 0, +-15.027 -10.22 0, -14.188 -10.536 0, -13.362 -10.772 0, +-12.561 -10.935 0, -11.796 -11.034 0, -11.076 -11.076 0, +-10.385 -11.071 0, -9.7013 -11.023 0, -9.028 -10.932 0, +-8.3672 -10.801 0, -7.7212 -10.63 0, -7.0919 -10.422 0, +-6.4813 -10.177 0, -5.891 -9.898 0, -5.3229 -9.5862 0, +-4.7783 -9.2435 0, -4.2585 -8.8717 0, -3.7649 -8.4726 0, +-3.2985 -8.048 0, -2.8604 -7.5999 0, -2.4513 -7.13 0, +-2.0721 -6.6402 0, -1.7234 -6.1323 0, -1.4059 -5.6082 0, +-1.1199 -5.0698 0, -0.86589 -4.5187 0, -0.64413 -3.9568 0, +-0.45484 -3.3859 0, -0.29818 -2.8076 0, -0.17421 -2.2237 0, +-0.08291 -1.6359 0, -0.02423 -1.0458 0, 0.0019692 -0.45512 0, +-0.0041173 0.13458 0, -0.042236 0.72172 0, -0.11207 1.3047 0, +-0.21327 1.8821 0, -0.3454 2.4523 0, -0.508 3.0138 0, +-0.70055 3.5653 0, -0.92247 4.1052 0, -1.1731 4.6322 0, +-1.4519 5.1449 0, -1.758 5.642 0, -2.0907 6.1221 0, +-2.4492 6.5839 0, -2.8326 7.0261 0, -3.24 7.4476 0, +-3.6704 7.847 0, -4.1228 8.2232 0, -4.5961 8.575 0, +-5.0892 8.9012 0, -5.6009 9.2009 0, -6.13 9.4728 0, +-6.6751 9.716 0, -7.2349 9.9294 0, -7.808 10.112 0, +-8.3929 10.263 0, -8.9879 10.382 0, -9.5916 10.468 0, +] }, +DEF extension_railing_02-ROT-INTERP-closed OrientationInterpolator { +key [0, 0.013889, 0.027778, 0.041667, 0.055556, 0.069444, 0.083333, +0.097222, 0.11111, 0.125, 0.13889, 0.15278, 0.16667, 0.18056, +0.19444, 0.20833, 0.22222, 0.23611, 0.25, 0.26389, 0.27778, 0.29167, +0.30556, 0.31944, 0.33333, 0.34722, 0.36111, 0.375, 0.38889, +0.40278, 0.41667, 0.43056, 0.44444, 0.45833, 0.47222, 0.48611, +0.5, 0.51389, 0.52778, 0.54167, 0.55556, 0.56944, 0.58333, 0.59722, +0.61111, 0.625, 0.63889, 0.65278, 0.66667, 0.68056, 0.69444, +0.70833, 0.72222, 0.73611, 0.75, 0.76389, 0.77778, 0.79167, 0.80556, +0.81944, 0.83333, 0.84722, 0.86111, 0.875, 0.88889, 0.90278, +0.91667, 0.93056, 0.94444, 0.95833, 0.97222, 0.98611, 1, ] +keyValue [1 0 0 0, 0 0 -1 -0.088475, 0 0 -1 -0.17908, 0 0 -1 -0.27139, +0 0 -1 -0.36499, 0 0 -1 -0.45943, 0 0 -1 -0.5543, 0 0 -1 -0.64918, +0 0 -1 -0.74362, 0 0 -1 -0.83721, 0 0 -1 -0.92953, +0 0 -1 -1.0201, 0 0 -1 -1.1086, 0 0 -1 -1.1945, 0 0 -1 -1.2775, +0 0 -1 -1.357, 0 0 -1 -1.4327, 0 0 -1 -1.5041, 0 0 -1 -1.5708, +0 0 -1 -1.6348, 0 0 -1 -1.6982, 0 0 -1 -1.761, 0 0 -1 -1.8234, +0 0 -1 -1.8852, 0 0 -1 -1.9466, 0 0 -1 -2.0074, 0 0 -1 -2.0679, +0 0 1 -4.1554, 0 0 1 -4.0958, 0 0 1 -4.0367, 0 0 1 -3.9779, +0 0 1 -3.9196, 0 0 1 -3.8616, 0 0 1 -3.8039, 0 0 1 -3.7466, +0 0 1 -3.6896, 0 0 1 -3.6329, 0 0 1 -3.5764, 0 0 1 -3.5203, +0 0 1 -3.4644, 0 0 1 -3.4087, 0 0 1 -3.3533, 0 0 1 -3.298, +0 0 1 -3.243, 0 0 1 -3.1881, 0 0 1 -3.1334, 0 0 1 -3.0788, +0 0 1 -3.0244, 0 0 1 -2.9701, 0 0 1 -2.9158, 0 0 1 -2.8616, +0 0 1 -2.8075, 0 0 1 -2.7535, 0 0 1 -2.6995, 0 0 1 -2.6455, +0 0 1 -2.5915, 0 0 1 -2.5374, 0 0 1 -2.4834, 0 0 1 -2.4293, +0 0 1 -2.3751, 0 0 1 -2.3209, 0 0 1 -2.2665, 0 0 1 -2.2121, +0 0 1 -2.1575, 0 0 1 -2.1028, 0 0 1 -2.0479, 0 0 1 -1.9929, +0 0 1 -1.9376, 0 0 1 -1.8822, 0 0 1 -1.8265, 0 0 1 -1.7706, +0 0 1 -1.7145, 0 0 1 -1.6581, ] }, + +Shape { +appearance USE Glass + +geometry DEF extension_railing_02-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF extension_railing_02-COORD Coordinate { point [ +10.804 0.54352 -4.4197, 10.804 0.54352 8.8394, 10.804 -0.27176 8.8394, +10.804 -0.27176 -4.4197] +} +coordIndex [ +0, 1, 2, 3, -1] +texCoord DEF extension_railing_02-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +] +}, + + +DEF extension_railing Transform { +translation 11.076 10.532 0 +rotation 0 0 1 -1.5708 +children [ +DEF extension_railing-POS-INTERP PositionInterpolator { +key [0, 0.75, 0.76389, 0.77778, 0.79167, 0.80556, 0.81944, 0.83333, +0.84722, 0.86111, 0.875, 0.88889, 0.90278, 0.91667, 0.93056, +0.94444, 0.95833, 0.97222, 0.98611, 1, ] +keyValue [11.076 10.532 0, 11.076 10.532 0, 10.133 10.515 0, +9.1956 10.415 0, 8.2703 10.235 0, 7.3642 9.9737 0, +6.4844 9.6349 0, 5.6374 9.2207 0, 4.8297 8.7343 0, +4.0675 8.1793 0, 3.3566 7.56 0, 2.7024 6.8812 0, 2.1098 6.1478 0, +1.5834 5.3656 0, 1.1271 4.5405 0, 0.74451 3.6788 0, +0.43848 2.787 0, 0.21133 1.872 0, 0.064798 0.9406 0, +0 0 0, ] }, +DEF extension_railing-ROT-INTERP OrientationInterpolator { +key [0, 0.75, 0.76389, 0.77778, 0.79167, 0.80556, 0.81944, 0.83333, +0.84722, 0.86111, 0.875, 0.88889, 0.90278, 0.91667, 0.93056, +0.94444, 0.95833, 0.97222, 0.98611, 1, ] +keyValue [0 0 1 -1.5708, 0 0 1 -1.5708, 0 0 1 -1.4835, 0 0 1 -1.3963, +0 0 1 -1.309, 0 0 1 -1.2217, 0 0 1 -1.1345, 0 0 1 -1.0472, +0 0 1 -0.95993, 0 0 1 -0.87266, 0 0 1 -0.7854, 0 0 1 -0.69813, +0 0 1 -0.61087, 0 0 1 -0.5236, 0 0 1 -0.43633, 0 0 1 -0.34907, +0 0 1 -0.2618, 0 0 1 -0.17453, 0 0 1 -0.087266, 1 0 0 0, +] }, +DEF extension_railing-POS-INTERP-closed PositionInterpolator { +key [0, 0.013889, 0.027778, 0.041667, 0.055556, 0.069444, 0.083333, +0.097222, 0.11111, 0.125, 0.13889, 0.15278, 0.16667, 0.18056, +0.19444, 0.20833, 0.22222, 0.23611, 0.25, 0.26389, 0.27778, 0.29167, +0.30556, 0.31944, 0.33333, 0.34722, 0.36111, 0.375, 0.38889, +0.40278, 0.41667, 0.43056, 0.44444, 0.45833, 0.47222, 0.48611, +0.5, 0.51389, 0.52778, 0.54167, 0.55556, 0.56944, 0.58333, 0.59722, +0.61111, 0.625, 0.63889, 0.65278, 0.66667, 0.68056, 0.69444, +0.70833, 0.72222, 0.73611, 0.75, 0.76389, 0.77778, 0.79167, 0.80556, +0.81944, 0.83333, 0.84722, 0.86111, 0.875, 0.88889, 0.90278, +0.91667, 0.93056, 0.94444, 0.95833, 0.97222, 0.98611, 1, ] +keyValue [0 0 0, 0.066271 0.95358 0, 0.22119 1.9201 0, 0.4683 2.8864 0, +0.80868 3.8385 0, 1.2408 4.7628 0, 1.7608 5.6461 0, +2.362 6.4761 0, 3.036 7.2422 0, 3.7722 7.9352 0, 4.5587 8.5485 0, +5.3824 9.0774 0, 6.2297 9.5199 0, 7.0868 9.8763 0, +7.9402 10.149 0, 8.7771 10.344 0, 9.5855 10.467 0, +10.355 10.526 0, 11.076 10.532 0, 11.766 10.493 0, +12.446 10.41 0, 13.114 10.286 0, 13.767 10.122 0, 14.404 9.9187 0, +15.022 9.6788 0, 15.619 9.4038 0, 16.195 9.0953 0, +16.747 8.7554 0, 17.273 8.3857 0, 17.774 7.9882 0, +18.247 7.5648 0, 18.691 7.1173 0, 19.106 6.6477 0, +19.491 6.1578 0, 19.845 5.6496 0, 20.168 5.1249 0, +20.459 4.5855 0, 20.717 4.0333 0, 20.943 3.4702 0, +21.136 2.8978 0, 21.297 2.3181 0, 21.424 1.7327 0, +21.519 1.1433 0, 21.58 0.55164 0, 21.609 -0.040635 0, +21.606 -0.6319 0, 21.57 -1.2205 0, 21.502 -1.805 0, +21.403 -2.3838 0, 21.273 -2.9553 0, 21.112 -3.5181 0, +20.922 -4.0708 0, 20.702 -4.6119 0, 20.453 -5.14 0, +20.176 -5.6537 0, 19.872 -6.1518 0, 19.541 -6.6328 0, +19.185 -7.0956 0, 18.804 -7.5388 0, 18.398 -7.9612 0, +17.97 -8.3616 0, 17.52 -8.7389 0, 17.05 -9.0919 0, +16.559 -9.4194 0, 16.05 -9.7205 0, 15.524 -9.994 0, +14.982 -10.239 0, 14.426 -10.454 0, 13.856 -10.639 0, +13.274 -10.793 0, 12.683 -10.915 0, 12.082 -11.003 0, +11.475 -11.058 0, ] }, +DEF extension_railing-ROT-INTERP-closed OrientationInterpolator { +key [0, 0.013889, 0.027778, 0.041667, 0.055556, 0.069444, 0.083333, +0.097222, 0.11111, 0.125, 0.13889, 0.15278, 0.16667, 0.18056, +0.19444, 0.20833, 0.22222, 0.23611, 0.25, 0.26389, 0.27778, 0.29167, +0.30556, 0.31944, 0.33333, 0.34722, 0.36111, 0.375, 0.38889, +0.40278, 0.41667, 0.43056, 0.44444, 0.45833, 0.47222, 0.48611, +0.5, 0.51389, 0.52778, 0.54167, 0.55556, 0.56944, 0.58333, 0.59722, +0.61111, 0.625, 0.63889, 0.65278, 0.66667, 0.68056, 0.69444, +0.70833, 0.72222, 0.73611, 0.75, 0.76389, 0.77778, 0.79167, 0.80556, +0.81944, 0.83333, 0.84722, 0.86111, 0.875, 0.88889, 0.90278, +0.91667, 0.93056, 0.94444, 0.95833, 0.97222, 0.98611, 1, ] +keyValue [1 0 0 0, 0 0 1 -0.088475, 0 0 1 -0.17908, 0 0 1 -0.27139, +0 0 1 -0.36499, 0 0 1 -0.45943, 0 0 1 -0.5543, 0 0 1 -0.64918, +0 0 1 -0.74362, 0 0 1 -0.83721, 0 0 1 -0.92953, 0 0 1 -1.0201, +0 0 1 -1.1086, 0 0 1 -1.1945, 0 0 1 -1.2775, 0 0 1 -1.357, +0 0 1 -1.4327, 0 0 1 -1.5041, 0 0 1 -1.5708, 0 0 1 -1.6348, +0 0 1 -1.6982, 0 0 1 -1.761, 0 0 1 -1.8234, 0 0 1 -1.8852, +0 0 1 -1.9466, 0 0 1 -2.0074, 0 0 1 -2.0679, 0 0 1 -2.1278, +0 0 1 -2.1874, 0 0 1 -2.2465, 0 0 1 -2.3053, 0 0 1 -2.3636, +0 0 1 -2.4216, 0 0 1 -2.4793, 0 0 1 -2.5366, 0 0 1 -2.5936, +0 0 1 -2.6503, 0 0 1 -2.7067, 0 0 1 -2.7629, 0 0 1 -2.8188, +0 0 1 -2.8745, 0 0 1 -2.9299, 0 0 1 -2.9851, 0 0 1 -3.0402, +0 0 1 -3.0951, 0 0 1 -3.1498, 0 0 1 -3.2043, 0 0 1 -3.2588, +0 0 1 -3.3131, 0 0 1 -3.3674, 0 0 1 -3.4215, 0 0 1 -3.4756, +0 0 1 -3.5297, 0 0 1 -3.5837, 0 0 1 -3.6377, 0 0 1 -3.6917, +0 0 1 -3.7457, 0 0 1 -3.7998, 0 0 1 -3.8539, 0 0 1 -3.9081, +0 0 1 -3.9623, 0 0 1 -4.0166, 0 0 1 -4.0711, 0 0 1 -4.1257, +0 0 1 -4.1804, 0 0 -1 -2.0479, 0 0 -1 -1.9929, 0 0 -1 -1.9376, +0 0 -1 -1.8822, 0 0 -1 -1.8265, 0 0 -1 -1.7706, 0 0 -1 -1.7145, +0 0 -1 -1.6581, ] }, + +Shape { +appearance USE Glass + +geometry DEF extension_railing-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF extension_railing-COORD Coordinate { point [ +10.804 0.54352 -4.4197, 10.804 0.54352 8.8394, 10.804 -0.27176 8.8394, +10.804 -0.27176 -4.4197] +} +coordIndex [ +0, 1, 2, 3, -1] +texCoord DEF extension_railing-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 0, 1 1] +} +texCoordIndex [ +2, 0, 3, 1, -1] +} +} +] +}, + + +DEF lounge_chairs Transform { +translation 0.17808 -0.29732 29.506 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 0.59216 0.6549 0.65098 +ambientIntensity 0.10327 +specularColor 0.045 0.045 0.045 +shininess 0.2875 +transparency 0 +} +texture ImageTexture { +url "floor.gif" +} +} +geometry DEF lounge_chairs-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF lounge_chairs-COORD Coordinate { point [ +2.0255 0.19313 -32.451, 2.4182 0.66734 -31.697, 2.5135 0.67349 -31.513, +2.7797 0.49507 -31.002, 2.8901 0.50436 -30.79, 3.1523 1.0303 -30.286, +1.0321 0.19313 -31.934, 1.4247 0.66734 -31.179, 1.5201 0.67349 -30.996, +1.7862 0.49507 -30.485, 1.8967 0.50436 -30.273, 2.1589 1.0303 -29.769, +-0.60304 0.19313 -31.872, -1.0088 0.66734 -31.124, -1.1073 0.67349 -30.943, +-1.3824 0.49507 -30.436, -1.4965 0.50436 -30.226, -1.7674 1.0303 -29.727, +-1.5873 0.19313 -32.406, -1.9931 0.66734 -31.659, -2.0916 0.67349 -31.477, +-2.3666 0.49507 -30.971, -2.4808 0.50436 -30.761, -2.7517 1.0303 -30.262] +} +coordIndex [ +0, 1, 7, 6, -1, 1, 2, 8, 7, -1, 2, 3, 9, 8, -1, 3, 4, 10, 9, +-1, 4, 5, 11, 10, -1, 12, 13, 19, 18, -1, 13, 14, 20, 19, -1, +14, 15, 21, 20, -1, 15, 16, 22, 21, -1, 16, 17, 23, 22, -1] +texCoord DEF lounge_chairs-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 0 1, 0 1, 0 1, 0 1, 1 0, 0 1, 0 1, 0 1, 0 1, 0 1, 0 0, +1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 1, +0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, 1 0, 1 1, 0 0, +1 1] +} +texCoordIndex [ +12, 13, 14, 1, -1, 15, 16, 17, 2, -1, 18, 19, 20, 3, -1, 21, +22, 23, 4, -1, 24, 0, 25, 5, -1, 26, 27, 28, 7, -1, 29, 30, 31, +8, -1, 32, 33, 34, 9, -1, 35, 36, 37, 10, -1, 38, 6, 39, 11, +-1] +} +} +] +}, +DEF extension_main_rail Transform { +translation 0 0 0 +children [ +Shape { +appearance USE Glass +geometry DEF extension_main_rail-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +convex TRUE +coord DEF extension_main_rail-COORD Coordinate { point [ +-10.804 -0.27176 -4.4197, 10.804 -0.27176 -4.4197, -10.804 0.54352 -4.4197, +10.804 0.54352 -4.4197] +} +coordIndex [ +3, 2, 0, 1, -1] +texCoord DEF extension_main_rail-TEXCOORD TextureCoordinate { point [ +1 0, 0 1, 1 1, 0 0] +} +texCoordIndex [ +2, 1, 3, 0, -1] +} +} +] +} +] +ROUTE SharedToggle5.trueTime_changed TO extension-TIMER.startTime +#ROUTE open_or_closed5.openStartTime TO extension-TIMER.startTime +ROUTE extension-TIMER.fraction_changed TO extension-POS-INTERP.set_fraction +ROUTE extension-POS-INTERP.value_changed TO extension.set_translation + +ROUTE extension-TIMER.fraction_changed TO extension_railing_02-POS-INTERP.set_fraction +ROUTE extension_railing_02-POS-INTERP.value_changed TO extension_railing_02.set_translation + +ROUTE extension-TIMER.fraction_changed TO extension_railing_02-ROT-INTERP.set_fraction +ROUTE extension_railing_02-ROT-INTERP.value_changed TO extension_railing_02.set_rotation + +ROUTE extension-TIMER.fraction_changed TO extension_railing-POS-INTERP.set_fraction +ROUTE extension_railing-POS-INTERP.value_changed TO extension_railing.set_translation + +ROUTE extension-TIMER.fraction_changed TO extension_railing-ROT-INTERP.set_fraction +ROUTE extension_railing-ROT-INTERP.value_changed TO extension_railing.set_rotation + +###closed extension routes +#ROUTE open_or_closed5.closedStartTime TO extension-TIMER-closed.startTime +ROUTE SharedToggle5.falseTime_changed TO extension-TIMER-closed.startTime + +ROUTE extension-TIMER-closed.fraction_changed TO extension-POS-INTERP-closed.set_fraction +ROUTE extension-POS-INTERP-closed.value_changed TO extension.set_translation + +ROUTE extension-TIMER-closed.fraction_changed TO extension_railing_02-POS-INTERP-closed.set_fraction +ROUTE extension_railing_02-POS-INTERP-closed.value_changed TO extension_railing_02.set_translation + +ROUTE extension-TIMER-closed.fraction_changed TO extension_railing_02-ROT-INTERP-closed.set_fraction +ROUTE extension_railing_02-ROT-INTERP-closed.value_changed TO extension_railing_02.set_rotation + +ROUTE extension-TIMER-closed.fraction_changed TO extension_railing-POS-INTERP-closed.set_fraction +ROUTE extension_railing-POS-INTERP-closed.value_changed TO extension_railing.set_translation + +ROUTE extension-TIMER-closed.fraction_changed TO extension_railing-ROT-INTERP-closed.set_fraction +ROUTE extension_railing-ROT-INTERP-closed.value_changed TO extension_railing.set_rotation + + +} +DEF extension_switch Transform { +translation 7.8199 0.19324 -23.651 +scale 0.5 0.3 0.5 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 0.74902 0.84314 0.85882 +ambientIntensity 0.81699 +specularColor 1.296 1.296 1.296 +shininess 0.43 +transparency 0 +} +} +geometry DEF extension_switch-FACES IndexedFaceSet { creaseAngle 2 +ccw TRUE +solid TRUE +convex TRUE +colorPerVertex FALSE +color Color { color [ +0.74902 0.84314 0.85882, 0.78431 0.18431 0.066667 ] } +colorIndex [ +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0] +coord DEF extension_switch-COORD Coordinate { point [ +0 0.81771 0, 0.061898 0.80113 0, 0.038593 0.80113 -0.048393, +-0.013774 0.80113 -0.060346, -0.055768 0.80113 -0.026856, -0.055768 0.80113 0.026856, +-0.013774 0.80113 0.060346, 0.038593 0.80113 0.048393, 0.10721 0.75582 0, +0.066844 0.75582 -0.08382, -0.023856 0.75582 -0.10452, -0.096593 0.75582 -0.046517, +-0.096593 0.75582 0.046517, -0.023856 0.75582 0.10452, 0.066844 0.75582 0.08382, +0.1238 0.69392 0, 0.077185 0.69392 -0.096787, -0.027547 0.69392 -0.12069, +-0.11154 0.69392 -0.053713, -0.11154 0.69392 0.053713, -0.027547 0.69392 0.12069, +0.077185 0.69392 0.096787, 0.1238 0.1238 0, 0.077185 0.1238 -0.096787, +-0.027547 0.1238 -0.12069, -0.11154 0.1238 -0.053713, -0.11154 0.1238 0.053713, +-0.027547 0.1238 0.12069, 0.077185 0.1238 0.096787, 0.10721 0.061898 0, +0.066844 0.061898 -0.08382, -0.023856 0.061898 -0.10452, -0.096593 0.061898 -0.046517, +-0.096593 0.061898 0.046517, -0.023856 0.061898 0.10452, 0.066844 0.061898 0.08382, +0.061898 0.016585 0, 0.038593 0.016585 -0.048393, -0.013774 0.016585 -0.060346, +-0.055768 0.016585 -0.026856, -0.055768 0.016585 0.026856, -0.013774 0.016585 0.060346, +0.038593 0.016585 0.048393, 0 0 0] +} +coordIndex [ +0, 1, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, +-1, 0, 6, 7, -1, 0, 7, 1, -1, 1, 8, 9, 2, -1, 2, 9, 10, 3, -1, +3, 10, 11, 4, -1, 4, 11, 12, 5, -1, 5, 12, 13, 6, -1, 6, 13, +14, 7, -1, 7, 14, 8, 1, -1, 8, 15, 16, 9, -1, 9, 16, 17, 10, +-1, 10, 17, 18, 11, -1, 11, 18, 19, 12, -1, 12, 19, 20, 13, -1, +13, 20, 21, 14, -1, 14, 21, 15, 8, -1, 15, 22, 23, 16, -1, 16, +23, 24, 17, -1, 17, 24, 25, 18, -1, 18, 25, 26, 19, -1, 19, 26, +27, 20, -1, 20, 27, 28, 21, -1, 21, 28, 22, 15, -1, 22, 29, 30, +23, -1, 23, 30, 31, 24, -1, 24, 31, 32, 25, -1, 25, 32, 33, 26, +-1, 26, 33, 34, 27, -1, 27, 34, 35, 28, -1, 28, 35, 29, 22, -1, +29, 36, 37, 30, -1, 30, 37, 38, 31, -1, 31, 38, 39, 32, -1, 32, +39, 40, 33, -1, 33, 40, 41, 34, -1, 34, 41, 42, 35, -1, 35, 42, +36, 29, -1, 36, 43, 37, -1, 37, 43, 38, -1, 38, 43, 39, -1, 39, +43, 40, -1, 40, 43, 41, -1, 41, 43, 42, -1, 42, 43, 36, -1] +} +} +DEF TouchSensor05-SENSOR TouchSensor { enabled TRUE } +] +} + +#ROUTE TouchSensor05-SENSOR.touchTime TO sharedTime5.set_time +#ROUTE sharedTime5.time_changed TO open_or_closed5.touchTime +ROUTE TouchSensor05-SENSOR.touchTime TO Toggle5.set_toggle +ROUTE Toggle5.state_changed TO sharedTime5.set_bool +ROUTE sharedTime5.bool_changed TO SharedToggle5.set_toggleState + + +ROUTE TouchSensor05-SENSOR.touchTime TO AudioClip01.set_startTime +] +} +###################### +#planters - 25 of them +###################### +Planter{ translation 13.845 0.049571 2.2319 } +Planter{ translation -13.797 0.049571 2.2319 } +Planter{ translation 0.037614 0.049571 2.2319 } +Planter{ translation -60.302 0.049571 66.176 } +Planter{ translation -44.614 0.049571 77.891 } +Planter{ translation 40.109 0.049571 -64.763} +Planter{ translation 50.405 0.049571 -57.625 } +Planter{ translation 59.241 0.049571 70.556 } +Planter{ translation 49.382 0.049571 77.989 } +Planter{ translation 61.371 0.049571 83.72} +Planter{ translation -56.025 0.049571 -86.98 } +Planter{ translation -44.068 0.049571 -69.699 } +Planter{ translation -52.959 0.049571 -63.191 } +Planter{ translation -64.901 0.049571 -80.629 } +Planter{ translation -18.098 0.049571 -18.083 scale 0.7 0.7 0.7 } +Planter{ translation -11.832 0.049571 -22.959 scale 0.7 0.7 0.7 } +Planter{ translation 11.371 0.049571 -22.921 scale 0.7 0.7 0.7} +Planter{ translation 18.047 0.049571 -18.126 scale 0.7 0.7 0.7 } +Planter{ translation 12.525 0.049571 23.524 scale 0.7 0.7 0.7} +Planter{ translation 18.605 0.049571 18.723 scale 0.7 0.7 0.7} +Planter{ translation -18.133 0.049571 18.39 scale 0.7 0.7 0.7} +Planter{ translation -12.313 0.049571 23.261 scale 0.7 0.7 0.7} +Planter{ translation 0.048328 3.8028 2.1906 } +Planter{ translation -9.9169 7.5369 2.1906 } +Planter{ translation 9.9786 7.5369 2.1906 } + + +######################## +#pool cover +######################## +Transform {#pool cover +children [ +#DEF open_or_closed6 switchMe{} + +DEF poolcover_switch Transform { +translation 81.645 0.19324 -110.34 +scale 0.5 0.3 0.5 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 0.74902 0.84314 0.85882 +ambientIntensity 0.81699 +specularColor 1.296 1.296 1.296 +shininess 0.43 +transparency 0 +} +} +geometry DEF poolcover_switch-FACES IndexedFaceSet { creaseAngle 2 +ccw TRUE +solid TRUE +convex TRUE +colorPerVertex FALSE +color Color { color [ +0.74902 0.84314 0.85882, 0.78431 0.18431 0.066667 ] } +colorIndex [ +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0] +coord DEF poolcover_switch-COORD Coordinate { point [ +0 0.81771 0, 0.061898 0.80113 0, 0.038593 0.80113 -0.048393, +-0.013774 0.80113 -0.060346, -0.055768 0.80113 -0.026856, -0.055768 0.80113 0.026856, +-0.013774 0.80113 0.060346, 0.038593 0.80113 0.048393, 0.10721 0.75582 0, +0.066844 0.75582 -0.08382, -0.023856 0.75582 -0.10452, -0.096593 0.75582 -0.046517, +-0.096593 0.75582 0.046517, -0.023856 0.75582 0.10452, 0.066844 0.75582 0.08382, +0.1238 0.69392 0, 0.077185 0.69392 -0.096787, -0.027547 0.69392 -0.12069, +-0.11154 0.69392 -0.053713, -0.11154 0.69392 0.053713, -0.027547 0.69392 0.12069, +0.077185 0.69392 0.096787, 0.1238 0.1238 0, 0.077185 0.1238 -0.096787, +-0.027547 0.1238 -0.12069, -0.11154 0.1238 -0.053713, -0.11154 0.1238 0.053713, +-0.027547 0.1238 0.12069, 0.077185 0.1238 0.096787, 0.10721 0.061898 0, +0.066844 0.061898 -0.08382, -0.023856 0.061898 -0.10452, -0.096593 0.061898 -0.046517, +-0.096593 0.061898 0.046517, -0.023856 0.061898 0.10452, 0.066844 0.061898 0.08382, +0.061898 0.016585 0, 0.038593 0.016585 -0.048393, -0.013774 0.016585 -0.060346, +-0.055768 0.016585 -0.026856, -0.055768 0.016585 0.026856, -0.013774 0.016585 0.060346, +0.038593 0.016585 0.048393, 0 0 0] +} +coordIndex [ +0, 1, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, +-1, 0, 6, 7, -1, 0, 7, 1, -1, 1, 8, 9, 2, -1, 2, 9, 10, 3, -1, +3, 10, 11, 4, -1, 4, 11, 12, 5, -1, 5, 12, 13, 6, -1, 6, 13, +14, 7, -1, 7, 14, 8, 1, -1, 8, 15, 16, 9, -1, 9, 16, 17, 10, +-1, 10, 17, 18, 11, -1, 11, 18, 19, 12, -1, 12, 19, 20, 13, -1, +13, 20, 21, 14, -1, 14, 21, 15, 8, -1, 15, 22, 23, 16, -1, 16, +23, 24, 17, -1, 17, 24, 25, 18, -1, 18, 25, 26, 19, -1, 19, 26, +27, 20, -1, 20, 27, 28, 21, -1, 21, 28, 22, 15, -1, 22, 29, 30, +23, -1, 23, 30, 31, 24, -1, 24, 31, 32, 25, -1, 25, 32, 33, 26, +-1, 26, 33, 34, 27, -1, 27, 34, 35, 28, -1, 28, 35, 29, 22, -1, +29, 36, 37, 30, -1, 30, 37, 38, 31, -1, 31, 38, 39, 32, -1, 32, +39, 40, 33, -1, 33, 40, 41, 34, -1, 34, 41, 42, 35, -1, 35, 42, +36, 29, -1, 36, 43, 37, -1, 37, 43, 38, -1, 38, 43, 39, -1, 39, +43, 40, -1, 40, 43, 41, -1, 41, 43, 42, -1, 42, 43, 36, -1] +} +} +DEF TouchSensor_pool-SENSOR TouchSensor { enabled TRUE } +] +} +DEF Sound01 Transform { +translation 77.688 0.19796 -105.03 +children [ +DEF Sound01 Sound { +direction 0 0 1 +intensity 1 +location 0 0 0 +maxBack 15 +maxFront 15 +minBack 5 +minFront 5 +priority 1 +spatialize FALSE +source +DEF AudioClip01 AudioClip { +description "" +url "doors.wav" +pitch 1 +loop FALSE +stopTime 1 +} +} +] +} +DEF Sound02 Transform { +translation 77.326 -0.016888 -104.47 +rotation 0 -1 0 -3.1416 +children [ +DEF Sound02 Sound { +direction 0 0 1 +intensity 0.7 +location 0 0 0 +maxBack 8 +maxFront 8 +minBack 3 +minFront 3 +priority 0 +spatialize TRUE +source +DEF AudioClip02 AudioClip { +description "" +url "bubbles.wav" +pitch 1 +loop TRUE +startTime 1 +} +} +] +} +DEF poolcover Transform { +translation 77.647 -9.4162 -104.87 +scale 0.84746 0.84746 0.84746 +children [ +DEF poolcover-TIMER TimeSensor { loop FALSE cycleInterval 2.4 }, +DEF poolcover-TIMER-closed TimeSensor { loop FALSE cycleInterval 2.4 }, + +Shape { +appearance Appearance { +material Material { +diffuseColor 0.59216 0.6549 0.65098 +ambientIntensity 0.10327 +specularColor 0.045 0.045 0.045 +shininess 0.2875 +transparency 0 +} +texture ImageTexture { +url "floor.gif" +} +} +geometry DEF poolcover-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +coord DEF poolcover-COORD Coordinate { point [ +7.7002 11.111 -0.010047, 6.2223 11.111 -4.5586, 2.3531 11.111 -7.3697, +-2.4295 11.111 -7.3697, -6.2987 11.111 -4.5586, -7.7766 11.111 -0.010046, +-6.2987 11.111 4.5385, -2.4295 11.111 7.3496, 2.3531 11.111 7.3496, +6.2223 11.111 4.5385, 0.15953 11.111 -0.010047, 0.12176 11.111 -0.12628, +0.02289 11.111 -0.19811, -0.099323 11.111 -0.19811, -0.1982 11.111 -0.12628, +-0.23596 11.111 -0.010047, -0.1982 11.111 0.10619, -0.099323 11.111 0.17802, +0.02289 11.111 0.17802, 0.12176 11.111 0.10619] +} +texCoord DEF poolcover-TEXCOORD TextureCoordinate { point [ +1 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 1 1, 0 1, 0 1, +0 1, 0 1, 0 1, 0 1, 0 1, 0 1, 0 1, 0 0, 1 1, 0 1, 0 0, 1 0, 1 1, +0 0, 1 1, 1 0, 1 1, 0 0, 1 1, 1 0, 1 1, 0 0, 1 1, 1 0, 1 1, 0 0, +1 1, 1 0, 1 1, 0 0, 1 1, 1 0, 1 1, 0 0, 1 1, 1 0, 1 1, 0 0, 1 1, +1 0, 1 1, 0 0, 1 1, 1 0, 1 1, 0 0, 1 1] +} +coordIndex [ +0, 11, 10, -1, 0, 1, 11, -1, 1, 12, 11, -1, 1, 2, 12, -1, 2, 13, 12, -1, +2, 3, 13, -1, 3, 14, 13, -1, 3, 4, 14, -1, 4, 15, 14, -1, 4, 5, 15, -1, +5, 16, 15, -1, 5, 6, 16, -1, 6, 17, 16, -1, 6, 7, 17, -1, 7, 18, 17, -1, +7, 8, 18, -1, 8, 19, 18, -1, 8, 9, 19, -1, 9, 10, 19, -1, 9, 0, 10, -1] +texCoordIndex [ +20, 21, 22, -1, 23, 24, 25, -1, 26, 27, 11, -1, 1, 28, 29, -1, +30, 31, 12, -1, 2, 32, 33, -1, 34, 35, 13, -1, 3, 36, 37, -1, +38, 39, 14, -1, 4, 40, 41, -1, 42, 43, 15, -1, 5, 44, 45, -1, +46, 47, 16, -1, 6, 48, 49, -1, 50, 51, 17, -1, 7, 52, 53, -1, +54, 55, 18, -1, 8, 56, 57, -1, 58, 59, 19, -1, 9, 0, 10, -1] +} +} +DEF poolcover-COORD-INTERP CoordinateInterpolator { +key [0, 0.13889, 0.27778, 0.41667, 0.55556, 0.69444, 0.83333, 0.97222, +1, ] +keyValue [7.7002 11.111 -0.010047, 6.2223 11.111 -4.5586, 2.3531 11.111 -7.3697, +-2.4295 11.111 -7.3697, -6.2987 11.111 -4.5586, -7.7766 11.111 -0.010046, +-6.2987 11.111 4.5385, -2.4295 11.111 7.3496, 2.3531 11.111 7.3496, +6.2223 11.111 4.5385, 0.15953 11.111 -0.010047, 0.12176 11.111 -0.12628, +0.02289 11.111 -0.19811, -0.099323 11.111 -0.19811, -0.1982 11.111 -0.12628, +-0.23596 11.111 -0.010047, -0.1982 11.111 0.10619, -0.099323 11.111 0.17802, +0.02289 11.111 0.17802, 0.12176 11.111 0.10619, 7.7002 11.111 -0.010047, +6.2223 11.111 -4.5586, 2.3531 11.111 -7.3697, -2.4295 11.111 -7.3697, +-6.2987 11.111 -4.5586, -7.7766 11.111 -0.010046, -6.2987 11.111 4.5385, +-2.4295 11.111 7.3496, 2.3531 11.111 7.3496, 6.2223 11.111 4.5385, +1.1938 11.111 -0.010047, 0.95847 11.111 -0.73418, 0.34248 11.111 -1.1817, +-0.41892 11.111 -1.1817, -1.0349 11.111 -0.73418, -1.2702 11.111 -0.010047, +-1.0349 11.111 0.71409, -0.41892 11.111 1.1616, 0.34248 11.111 1.1616, +0.95847 11.111 0.71409, 7.7002 11.111 -0.010047, 6.2223 11.111 -4.5586, +2.3531 11.111 -7.3697, -2.4295 11.111 -7.3697, -6.2987 11.111 -4.5586, +-7.7766 11.111 -0.010046, -6.2987 11.111 4.5385, -2.4295 11.111 7.3496, +2.3531 11.111 7.3496, 6.2223 11.111 4.5385, 2.228 11.111 -0.010047, +1.7952 11.111 -1.3421, 0.66208 11.111 -2.1653, -0.73851 11.111 -2.1653, +-1.8716 11.111 -1.3421, -2.3044 11.111 -0.010047, -1.8716 11.111 1.322, +-0.73851 11.111 2.1452, 0.66208 11.111 2.1452, 1.7952 11.111 1.322, +7.7002 11.111 -0.010047, 6.2223 11.111 -4.5586, 2.3531 11.111 -7.3697, +-2.4295 11.111 -7.3697, -6.2987 11.111 -4.5586, -7.7766 11.111 -0.010046, +-6.2987 11.111 4.5385, -2.4295 11.111 7.3496, 2.3531 11.111 7.3496, +6.2223 11.111 4.5385, 3.2622 11.111 -0.010047, 2.6319 11.111 -1.95, +0.98167 11.111 -3.1489, -1.0581 11.111 -3.1489, -2.7083 11.111 -1.95, +-3.3387 11.111 -0.010047, -2.7083 11.111 1.9299, -1.0581 11.111 3.1289, +0.98167 11.111 3.1289, 2.6319 11.111 1.9299, 7.7002 11.111 -0.010047, +6.2223 11.111 -4.5586, 2.3531 11.111 -7.3697, -2.4295 11.111 -7.3697, +-6.2987 11.111 -4.5586, -7.7766 11.111 -0.010046, -6.2987 11.111 4.5385, +-2.4295 11.111 7.3496, 2.3531 11.111 7.3496, 6.2223 11.111 4.5385, +4.2964 11.111 -0.010047, 3.4686 11.111 -2.5579, 1.3013 11.111 -4.1326, +-1.3777 11.111 -4.1326, -3.545 11.111 -2.5579, -4.3729 11.111 -0.010047, +-3.545 11.111 2.5378, -1.3777 11.111 4.1125, 1.3013 11.111 4.1125, +3.4686 11.111 2.5378, 7.7002 11.111 -0.010047, 6.2223 11.111 -4.5586, +2.3531 11.111 -7.3697, -2.4295 11.111 -7.3697, -6.2987 11.111 -4.5586, +-7.7766 11.111 -0.010046, -6.2987 11.111 4.5385, -2.4295 11.111 7.3496, +2.3531 11.111 7.3496, 6.2223 11.111 4.5385, 5.3307 11.111 -0.010047, +4.3053 11.111 -3.1658, 1.6209 11.111 -5.1162, -1.6973 11.111 -5.1162, +-4.3817 11.111 -3.1658, -5.4071 11.111 -0.010047, -4.3817 11.111 3.1457, +-1.6973 11.111 5.0961, 1.6209 11.111 5.0961, 4.3053 11.111 3.1457, +7.7002 11.111 -0.010047, 6.2223 11.111 -4.5586, 2.3531 11.111 -7.3697, +-2.4295 11.111 -7.3697, -6.2987 11.111 -4.5586, -7.7766 11.111 -0.010046, +-6.2987 11.111 4.5385, -2.4295 11.111 7.3496, 2.3531 11.111 7.3496, +6.2223 11.111 4.5385, 6.3649 11.111 -0.010047, 5.142 11.111 -3.7737, +1.9405 11.111 -6.0998, -2.0169 11.111 -6.0998, -5.2185 11.111 -3.7737, +-6.4413 11.111 -0.010046, -5.2185 11.111 3.7536, -2.0169 11.111 6.0797, +1.9405 11.111 6.0797, 5.142 11.111 3.7536, 7.7002 11.111 -0.010047, +6.2223 11.111 -4.5586, 2.3531 11.111 -7.3697, -2.4295 11.111 -7.3697, +-6.2987 11.111 -4.5586, -7.7766 11.111 -0.010046, -6.2987 11.111 4.5385, +-2.4295 11.111 7.3496, 2.3531 11.111 7.3496, 6.2223 11.111 4.5385, +7.3991 11.111 -0.010047, 5.9787 11.111 -4.3816, 2.26 11.111 -7.0834, +-2.3365 11.111 -7.0834, -6.0552 11.111 -4.3816, -7.4756 11.111 -0.010046, +-6.0552 11.111 4.3615, -2.3365 11.111 7.0633, 2.26 11.111 7.0633, +5.9787 11.111 4.3615, 7.7002 11.111 -0.010047, 6.2223 11.111 -4.5586, +2.3531 11.111 -7.3697, -2.4295 11.111 -7.3697, -6.2987 11.111 -4.5586, +-7.7766 11.111 -0.010046, -6.2987 11.111 4.5385, -2.4295 11.111 7.3496, +2.3531 11.111 7.3496, 6.2223 11.111 4.5385, 7.606 11.111 -0.010047, +6.1461 11.111 -4.5032, 2.324 11.111 -7.2801, -2.4004 11.111 -7.2801, +-6.2225 11.111 -4.5032, -7.6824 11.111 -0.010046, -6.2225 11.111 4.4831, +-2.4004 11.111 7.26, 2.324 11.111 7.26, 6.1461 11.111 4.4831, +] +} + +####close pool +DEF poolcover-COORD-INTERP-closed CoordinateInterpolator {#this needs to be changed get coords from oz 10/16 +key[1, .97222, .83333, .69444, .55556, .41667, .27778, .13889, 0] +keyValue [ 7.7002 11.111 -0.010047, 6.2223 11.111 -4.5586, 2.3531 11.111 -7.3697, +-2.4295 11.111 -7.3697, -6.2987 11.111 -4.5586, -7.7766 11.111 -0.010046, +-6.2987 11.111 4.5385, -2.4295 11.111 7.3496, 2.3531 11.111 7.3496, +6.2223 11.111 4.5385, 0.15953 11.111 -0.010047, 0.12176 11.111 -0.12628, +0.02289 11.111 -0.19811, -0.099323 11.111 -0.19811, -0.1982 11.111 -0.12628, +-0.23596 11.111 -0.010047, -0.1982 11.111 0.10619, -0.099323 11.111 0.17802, +0.02289 11.111 0.17802, 0.12176 11.111 0.10619, 7.7002 11.111 -0.010047, +6.2223 11.111 -4.5586, 2.3531 11.111 -7.3697, -2.4295 11.111 -7.3697, +-6.2987 11.111 -4.5586, -7.7766 11.111 -0.010046, -6.2987 11.111 4.5385, +-2.4295 11.111 7.3496, 2.3531 11.111 7.3496, 6.2223 11.111 4.5385, +1.1938 11.111 -0.010047, 0.95847 11.111 -0.73418, 0.34248 11.111 -1.1817, +-0.41892 11.111 -1.1817, -1.0349 11.111 -0.73418, -1.2702 11.111 -0.010047, +-1.0349 11.111 0.71409, -0.41892 11.111 1.1616, 0.34248 11.111 1.1616, +0.95847 11.111 0.71409, 7.7002 11.111 -0.010047, 6.2223 11.111 -4.5586, +2.3531 11.111 -7.3697, -2.4295 11.111 -7.3697, -6.2987 11.111 -4.5586, +-7.7766 11.111 -0.010046, -6.2987 11.111 4.5385, -2.4295 11.111 7.3496, +2.3531 11.111 7.3496, 6.2223 11.111 4.5385, 2.228 11.111 -0.010047, +1.7952 11.111 -1.3421, 0.66208 11.111 -2.1653, -0.73851 11.111 -2.1653, +-1.8716 11.111 -1.3421, -2.3044 11.111 -0.010047, -1.8716 11.111 1.322, +-0.73851 11.111 2.1452, 0.66208 11.111 2.1452, 1.7952 11.111 1.322, +7.7002 11.111 -0.010047, 6.2223 11.111 -4.5586, 2.3531 11.111 -7.3697, +-2.4295 11.111 -7.3697, -6.2987 11.111 -4.5586, -7.7766 11.111 -0.010046, +-6.2987 11.111 4.5385, -2.4295 11.111 7.3496, 2.3531 11.111 7.3496, +6.2223 11.111 4.5385, 3.2622 11.111 -0.010047, 2.6319 11.111 -1.95, +0.98167 11.111 -3.1489, -1.0581 11.111 -3.1489, -2.7083 11.111 -1.95, +-3.3387 11.111 -0.010047, -2.7083 11.111 1.9299, -1.0581 11.111 3.1289, +0.98167 11.111 3.1289, 2.6319 11.111 1.9299, 7.7002 11.111 -0.010047, +6.2223 11.111 -4.5586, 2.3531 11.111 -7.3697, -2.4295 11.111 -7.3697, +-6.2987 11.111 -4.5586, -7.7766 11.111 -0.010046, -6.2987 11.111 4.5385, +-2.4295 11.111 7.3496, 2.3531 11.111 7.3496, 6.2223 11.111 4.5385, +4.2964 11.111 -0.010047, 3.4686 11.111 -2.5579, 1.3013 11.111 -4.1326, +-1.3777 11.111 -4.1326, -3.545 11.111 -2.5579, -4.3729 11.111 -0.010047, +-3.545 11.111 2.5378, -1.3777 11.111 4.1125, 1.3013 11.111 4.1125, +3.4686 11.111 2.5378, 7.7002 11.111 -0.010047, 6.2223 11.111 -4.5586, +2.3531 11.111 -7.3697, -2.4295 11.111 -7.3697, -6.2987 11.111 -4.5586, +-7.7766 11.111 -0.010046, -6.2987 11.111 4.5385, -2.4295 11.111 7.3496, +2.3531 11.111 7.3496, 6.2223 11.111 4.5385, 5.3307 11.111 -0.010047, +4.3053 11.111 -3.1658, 1.6209 11.111 -5.1162, -1.6973 11.111 -5.1162, +-4.3817 11.111 -3.1658, -5.4071 11.111 -0.010047, -4.3817 11.111 3.1457, +-1.6973 11.111 5.0961, 1.6209 11.111 5.0961, 4.3053 11.111 3.1457, +7.7002 11.111 -0.010047, 6.2223 11.111 -4.5586, 2.3531 11.111 -7.3697, +-2.4295 11.111 -7.3697, -6.2987 11.111 -4.5586, -7.7766 11.111 -0.010046, +-6.2987 11.111 4.5385, -2.4295 11.111 7.3496, 2.3531 11.111 7.3496, +6.2223 11.111 4.5385, 6.3649 11.111 -0.010047, 5.142 11.111 -3.7737, +1.9405 11.111 -6.0998, -2.0169 11.111 -6.0998, -5.2185 11.111 -3.7737, +-6.4413 11.111 -0.010046, -5.2185 11.111 3.7536, -2.0169 11.111 6.0797, +1.9405 11.111 6.0797, 5.142 11.111 3.7536, 7.7002 11.111 -0.010047, +6.2223 11.111 -4.5586, 2.3531 11.111 -7.3697, -2.4295 11.111 -7.3697, +-6.2987 11.111 -4.5586, -7.7766 11.111 -0.010046, -6.2987 11.111 4.5385, +-2.4295 11.111 7.3496, 2.3531 11.111 7.3496, 6.2223 11.111 4.5385, +7.3991 11.111 -0.010047, 5.9787 11.111 -4.3816, 2.26 11.111 -7.0834, +-2.3365 11.111 -7.0834, -6.0552 11.111 -4.3816, -7.4756 11.111 -0.010046, +-6.0552 11.111 4.3615, -2.3365 11.111 7.0633, 2.26 11.111 7.0633, +5.9787 11.111 4.3615, 7.7002 11.111 -0.010047, 6.2223 11.111 -4.5586, +2.3531 11.111 -7.3697, -2.4295 11.111 -7.3697, -6.2987 11.111 -4.5586, +-7.7766 11.111 -0.010046, -6.2987 11.111 4.5385, -2.4295 11.111 7.3496, +2.3531 11.111 7.3496, 6.2223 11.111 4.5385, 7.606 11.111 -0.010047, +6.1461 11.111 -4.5032, 2.324 11.111 -7.2801, -2.4004 11.111 -7.2801, +-6.2225 11.111 -4.5032, -7.6824 11.111 -0.010046, -6.2225 11.111 4.4831, +-2.4004 11.111 7.26, 2.324 11.111 7.26, 6.1461 11.111 4.4831, ] +} + +####close pool + + +] +ROUTE SharedToggle6.trueTime_changed TO poolcover-TIMER.startTime +#ROUTE open_or_closed6.openStartTime TO poolcover-TIMER.set_startTime +ROUTE poolcover-TIMER.fraction_changed TO poolcover-COORD-INTERP.set_fraction +ROUTE poolcover-COORD-INTERP.value_changed TO poolcover-COORD.set_point +ROUTE SharedToggle6.falseTime_changed TO poolcover-TIMER-closed.startTime +#ROUTE open_or_closed6.closedStartTime TO poolcover-TIMER-closed.set_startTime +ROUTE poolcover-TIMER-closed.fraction_changed TO poolcover-COORD-INTERP-closed.set_fraction +ROUTE poolcover-COORD-INTERP-closed.value_changed TO poolcover-COORD.set_point +} +#ROUTE TouchSensor_pool-SENSOR.touchTime TO poolcover-TIMER.startTime +#ROUTE TouchSensor_pool-SENSOR.touchTime TO sharedTime6.set_time +#ROUTE sharedTime6.time_changed TO open_or_closed6.touchTime +ROUTE TouchSensor_pool-SENSOR.touchTime TO Toggle6.set_toggle +ROUTE Toggle6.state_changed TO sharedTime6.set_bool +ROUTE sharedTime6.bool_changed TO SharedToggle6.set_toggleState + +ROUTE TouchSensor_pool-SENSOR.touchTime TO AudioClip01.set_startTime +] +} + +############################# +#robot +############################# + +LOD{ +center -21.047 -0.53803 -4.1705 +range[40] +level[ + +Transform {#Robt +translation -21.047 -0.53803 -4.1705 +rotation 0 -1 0 -1.5708 +bboxSize 2 2 2 +children [ +DEF robot_body Transform { +translation -9.291e-005 1.042 0.2362 +scale 0.54 0.36 0.54 +children [ +DEF robot_body-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +DEF robot_body-POS-INTERP PositionInterpolator { +key [0, 0.01667, 0.03333, 0.05, 0.06667, 0.08333, 0.1, 0.1167, 0.1333, +0.15, 0.1667, 0.1833, 0.2, 0.2167, 0.2333, 0.25, 0.2667, 0.2833, +0.3, 0.3167, 0.3333, 0.35, 0.3667, 0.3833, 0.4, 0.4167, 0.4333, +0.45, 0.4667, 0.4833, 0.5, 0.5167, 0.5333, 0.55, 0.5667, 0.5833, +0.6, 0.6167, 0.6333, 0.65, 0.6667, 0.6833, 0.7, 0.7167, 0.7333, +0.75, 0.7667, 0.7833, 0.8, 0.8167, 0.8333, 0.85, 0.8667, 0.8833, +0.9, 0.9167, 0.9333, 0.95, 0.9667, 0.9833, 1, ] +keyValue [-9.291e-005 1.042 0.2362, -9.291e-005 1.059 0.2362, +-9.291e-005 1.076 0.2362, -9.291e-005 1.091 0.2362, +-9.291e-005 1.106 0.2362, -9.291e-005 1.12 0.2362, +-9.291e-005 1.133 0.2362, -9.291e-005 1.146 0.2362, +-9.291e-005 1.157 0.2362, -9.291e-005 1.168 0.2362, +-9.291e-005 1.178 0.2362, -9.291e-005 1.188 0.2362, +-9.291e-005 1.196 0.2362, -9.291e-005 1.204 0.2362, +-9.291e-005 1.212 0.2362, -9.291e-005 1.218 0.2362, +-9.291e-005 1.224 0.2362, -9.291e-005 1.229 0.2362, +-9.291e-005 1.233 0.2362, -9.291e-005 1.236 0.2362, +-9.291e-005 1.239 0.2362, -9.291e-005 1.241 0.2362, +-9.291e-005 1.242 0.2362, -9.291e-005 1.242 0.2362, +-9.291e-005 1.242 0.2362, -9.291e-005 1.24 0.2362, +-9.291e-005 1.236 0.2362, -9.291e-005 1.23 0.2362, +-9.291e-005 1.223 0.2362, -9.291e-005 1.214 0.2362, +-9.291e-005 1.203 0.2362, -9.291e-005 1.192 0.2362, +-9.291e-005 1.18 0.2362, -9.291e-005 1.166 0.2362, +-9.291e-005 1.153 0.2362, -9.291e-005 1.139 0.2362, +-9.291e-005 1.124 0.2362, -9.291e-005 1.11 0.2362, +-9.291e-005 1.096 0.2362, -9.291e-005 1.082 0.2362, +-9.291e-005 1.069 0.2362, -9.291e-005 1.057 0.2362, +-9.291e-005 1.045 0.2362, -9.291e-005 1.034 0.2362, +-9.291e-005 1.025 0.2362, -9.291e-005 1.017 0.2362, +-9.291e-005 1.011 0.2362, -9.291e-005 1.007 0.2362, +-9.291e-005 1.005 0.2362, -9.291e-005 1.004 0.2362, +-9.291e-005 1.004 0.2362, -9.291e-005 1.004 0.2362, +-9.291e-005 1.006 0.2362, -9.291e-005 1.008 0.2362, +-9.291e-005 1.011 0.2362, -9.291e-005 1.014 0.2362, +-9.291e-005 1.018 0.2362, -9.291e-005 1.023 0.2362, +-9.291e-005 1.029 0.2362, -9.291e-005 1.035 0.2362, +-9.291e-005 1.042 0.2362, ] }, +Shape { +appearance Appearance { +material Material { +diffuseColor 0.5765 0.6784 0.6824 +ambientIntensity 0.1281 +specularColor 0.441 0.441 0.441 +shininess 0.373 +transparency 0 +} +texture ImageTexture { +url "robot.gif" +} +} +geometry DEF robot_body-FACES IndexedFaceSet { creaseAngle 1 +ccw TRUE +solid TRUE +convex FALSE +coord DEF robot_body-COORD Coordinate { point [ +0.6371 2.049 -5.84e-005, 0.5154 2.049 -0.3745, 0.1969 2.049 -0.606, +-0.1969 2.049 -0.606, -0.5154 2.049 -0.3745, -0.6371 2.049 -5.835e-005, +-0.5154 2.049 0.3744, -0.1969 2.049 0.6058, 0.1969 2.049 0.6058, +0.5154 2.049 0.3744, 0.8384 1.036 0, 0.6782 1.036 -0.4928, 0.2591 1.036 -0.7973, +-0.2591 1.036 -0.7973, -0.6782 1.036 -0.4928, -0.8384 1.036 0, +-0.6782 1.036 0.4928, -0.2591 1.036 0.7973, 0.2591 1.036 0.7973, +0.6782 1.036 0.4928, 0.8541 0.935 0, 0.691 0.935 -0.502, 0.2639 0.935 -0.8123, +-0.2639 0.935 -0.8123, -0.691 0.935 -0.502, -0.8541 0.935 0, +-0.691 0.935 0.502, -0.2639 0.935 0.8123, 0.2639 0.935 0.8123, +0.691 0.935 0.502, 0.7739 0.6331 0, 0.6261 0.6331 -0.4549, 0.2391 0.6331 -0.736, +-0.2391 0.6331 -0.736, -0.6261 0.6331 -0.4549, -0.7739 0.6331 0, +-0.6261 0.6331 0.4549, -0.2391 0.6331 0.736, 0.2391 0.6331 0.736, +0.6261 0.6331 0.4549, 0.6293 0.6243 0, 0.5091 0.6243 -0.3699, +0.1945 0.6243 -0.5985, -0.1945 0.6243 -0.5985, -0.5091 0.6243 -0.3699, +-0.6293 0.6243 0, -0.5091 0.6243 0.3699, -0.1945 0.6243 0.5985, +0.1945 0.6243 0.5985, 0.5091 0.6243 0.3699, 0.5971 0.3178 0, +0.4831 0.3178 -0.351, 0.1845 0.3178 -0.5679, -0.1845 0.3178 -0.5679, +-0.4831 0.3178 -0.351, -0.5971 0.3178 0, -0.4831 0.3178 0.351, +-0.1845 0.3178 0.5679, 0.1845 0.3178 0.5679, 0.4831 0.3178 0.351, +0.5603 2.15 -0.001342, 0.4533 2.15 -0.3307, 0.1731 2.15 -0.5342, +-0.1731 2.15 -0.5342, -0.4533 2.15 -0.3307, -0.5603 2.15 -0.001341, +-0.4533 2.15 0.328, -0.1731 2.15 0.5315, 0.1731 2.15 0.5315, +0.4533 2.15 0.328, 0.5734 2.049 -0.001371, 0.4639 2.049 -0.3384, +0.1772 2.049 -0.5467, -0.1772 2.049 -0.5467, -0.4639 2.049 -0.3384, +-0.5734 2.049 -0.001371, -0.4639 2.049 0.3356, -0.1772 2.049 0.5439, +0.1772 2.049 0.5439, 0.4639 2.049 0.3356, 0.7545 1.036 0.04262, +0.6104 1.036 -0.4009, 0.2332 1.036 -0.675, -0.2332 1.036 -0.675, +-0.6104 1.036 -0.4009, -0.7545 1.036 0.04262, -0.6104 1.036 0.4861, +-0.2332 1.036 0.7602, 0.2332 1.036 0.7602, 0.6104 1.036 0.4861, +0.7687 0.935 0.04342, 0.6219 0.935 -0.4084, 0.2375 0.935 -0.6876, +-0.2375 0.935 -0.6876, -0.6219 0.935 -0.4084, -0.7687 0.935 0.04342, +-0.6219 0.935 0.4952, -0.2375 0.935 0.7745, 0.2375 0.935 0.7745, +0.6219 0.935 0.4952, 0.3091 0.2301 0, 0.2501 0.2301 -0.1817, +0.09551 0.2301 -0.294, -0.09551 0.2301 -0.294, -0.2501 0.2301 -0.1817, +-0.3091 0.2301 0, -0.2501 0.2301 0.1817, -0.09551 0.2301 0.294, +0.09551 0.2301 0.294, 0.2501 0.2301 0.1817, 0.2853 0.06732 0, +0.2308 0.06732 -0.1677, 0.08816 0.06732 -0.2713, -0.08816 0.06732 -0.2713, +-0.2308 0.06732 -0.1677, -0.2853 0.06732 0, -0.2308 0.06732 0.1677, +-0.08816 0.06732 0.2713, 0.08816 0.06732 0.2713, 0.2308 0.06732 0.1677] +} +coordIndex [ +60, 70, 71, 61, -1, 61, 71, 72, 62, -1, 62, 72, 73, 63, -1, 63, +73, 74, 64, -1, 64, 74, 75, 65, -1, 65, 75, 76, 66, -1, 66, 76, +77, 67, -1, 67, 77, 78, 68, -1, 68, 78, 79, 69, -1, 69, 79, 70, +60, -1, 0, 10, 11, 1, -1, 1, 11, 12, 2, -1, 2, 12, 13, 3, -1, +3, 13, 14, 4, -1, 4, 14, 15, 5, -1, 5, 15, 16, 6, -1, 6, 16, +17, 7, -1, 7, 17, 18, 8, -1, 8, 18, 19, 9, -1, 9, 19, 10, 0, +-1, 80, 90, 91, 81, -1, 81, 91, 92, 82, -1, 82, 92, 93, 83, -1, +83, 93, 94, 84, -1, 84, 94, 95, 85, -1, 85, 95, 96, 86, -1, 86, +96, 97, 87, -1, 87, 97, 98, 88, -1, 88, 98, 99, 89, -1, 89, 99, +90, 80, -1, 20, 30, 31, 21, -1, 21, 31, 32, 22, -1, 22, 32, 33, +23, -1, 23, 33, 34, 24, -1, 24, 34, 35, 25, -1, 25, 35, 36, 26, +-1, 26, 36, 37, 27, -1, 27, 37, 38, 28, -1, 28, 38, 39, 29, -1, +29, 39, 30, 20, -1, 30, 40, 41, 31, -1, 31, 41, 42, 32, -1, 32, +42, 43, 33, -1, 33, 43, 44, 34, -1, 34, 44, 45, 35, -1, 35, 45, +46, 36, -1, 36, 46, 47, 37, -1, 37, 47, 48, 38, -1, 38, 48, 49, +39, -1, 39, 49, 40, 30, -1, 40, 50, 51, 41, -1, 41, 51, 52, 42, +-1, 42, 52, 53, 43, -1, 43, 53, 54, 44, -1, 44, 54, 55, 45, -1, +45, 55, 56, 46, -1, 46, 56, 57, 47, -1, 47, 57, 58, 48, -1, 48, +58, 59, 49, -1, 49, 59, 50, 40, -1, 111, 110, 119, 118, 117, +116, 115, 114, 113, 112, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, +70, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, -1, 11, 10, 19, 18, +17, 16, 15, 14, 13, 12, 11, 81, 82, 83, 84, 85, 86, 87, 88, 89, +80, 81, -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 20, 90, 99, +98, 97, 96, 95, 94, 93, 92, 91, 90, -1, 51, 50, 100, 101, -1, +52, 51, 101, 102, -1, 53, 52, 102, 103, -1, 54, 53, 103, 104, +-1, 55, 54, 104, 105, -1, 56, 55, 105, 106, -1, 57, 56, 106, +107, -1, 58, 57, 107, 108, -1, 59, 58, 108, 109, -1, 50, 59, +109, 100, -1, 101, 100, 110, 111, -1, 102, 101, 111, 112, -1, +103, 102, 112, 113, -1, 104, 103, 113, 114, -1, 105, 104, 114, +115, -1, 106, 105, 115, 116, -1, 107, 106, 116, 117, -1, 108, +107, 117, 118, -1, 109, 108, 118, 119, -1, 100, 109, 119, 110, +-1] +texCoord DEF robot_body-TEXCOORD TextureCoordinate { point [ +1.5 1.393, 1.692 1.393, 1.895 1.393, 0.1048 1.393, 0.3075 1.393, +0.5 1.393, 0.6924 1.393, 0.8952 1.393, 1.105 1.393, 1.308 1.393, +1.5 0.6815, 1.692 0.6815, 1.895 0.6815, 0.1048 0.6815, 0.3075 0.6815, +0.5 0.6815, 0.6925 0.6815, 0.8952 0.6815, 1.105 0.6815, 1.308 0.6815, +1.5 0.6106, 1.692 0.6106, 1.895 0.6106, 0.1048 0.6106, 0.3075 0.6106, +0.5 0.6106, 0.6925 0.6106, 0.8952 0.6106, 1.105 0.6106, 1.308 0.6106, +1.5 0.3985, 1.692 0.3985, 1.895 0.3985, 0.1048 0.3985, 0.3075 0.3985, +0.5 0.3985, 0.6925 0.3985, 0.8952 0.3985, 1.105 0.3985, 1.308 0.3985, +1.5 0.3923, 1.692 0.3923, 1.895 0.3923, 0.1048 0.3923, 0.3075 0.3923, +0.5 0.3923, 0.6925 0.3923, 0.8952 0.3923, 1.105 0.3923, 1.308 0.3923, +1.5 0.177, 1.692 0.177, 1.895 0.177, 0.1048 0.177, 0.3075 0.177, +0.5 0.177, 0.6925 0.177, 0.8952 0.177, 1.105 0.177, 1.308 0.177, +1.501 1.464, 1.693 1.464, 1.895 1.464, 0.1045 1.464, 0.3069 1.464, +0.4993 1.464, 0.6919 1.464, 0.895 1.464, 1.105 1.464, 1.308 1.464, +1.501 1.393, 1.693 1.393, 1.895 1.393, 0.1045 1.393, 0.3069 1.393, +0.4993 1.393, 0.6919 1.393, 0.895 1.393, 1.105 1.393, 1.308 1.393, +1.483 0.6815, 1.678 0.6815, 1.889 0.6815, 0.1109 0.6815, 0.3223 0.6815, +0.5171 0.6815, 0.7063 0.6815, 0.9007 0.6815, 1.099 0.6815, 1.294 0.6815, +1.483 0.6106, 1.678 0.6106, 1.889 0.6106, 0.1109 0.6106, 0.3223 0.6106, +0.5171 0.6106, 0.7063 0.6106, 0.9007 0.6106, 1.099 0.6106, 1.294 0.6106, +1.5 0.1154, 1.692 0.1154, 1.895 0.1154, 0.1048 0.1154, 0.3075 0.1154, +0.5 0.1154, 0.6925 0.1154, 0.8952 0.1154, 1.105 0.1154, 1.308 0.1154, +1.5 0.000999, 1.692 0.000999, 1.895 0.000999, 0.1048 0.000999, +0.3075 0.000999, 0.5 0.000999, 0.6925 0.000999, 0.8952 0.000999, +1.105 0.000999, 1.308 0.000999, -0.1045 1.464, -0.1045 1.393, +-0.1048 1.393, -0.1048 0.6815, -0.1109 0.6815, -0.1109 0.6106, +-0.1048 0.6106, -0.1048 0.3985, -0.1048 0.3985, -0.1048 0.3923, +-0.1048 0.3923, -0.1048 0.177, -0.1048 0.000999, -0.1045 1.393, +-0.1048 0.6815, -0.1109 0.6106, -0.1048 0.177, -0.1048 0.1154, +-0.1048 0.1154, -0.1048 0.000999] +} +texCoordIndex [ +60, 70, 71, 61, -1, 61, 71, 72, 62, -1, 120, 121, 73, 63, -1, +63, 73, 74, 64, -1, 64, 74, 75, 65, -1, 65, 75, 76, 66, -1, 66, +76, 77, 67, -1, 67, 77, 78, 68, -1, 68, 78, 79, 69, -1, 69, 79, +70, 60, -1, 0, 10, 11, 1, -1, 1, 11, 12, 2, -1, 122, 123, 13, +3, -1, 3, 13, 14, 4, -1, 4, 14, 15, 5, -1, 5, 15, 16, 6, -1, +6, 16, 17, 7, -1, 7, 17, 18, 8, -1, 8, 18, 19, 9, -1, 9, 19, +10, 0, -1, 80, 90, 91, 81, -1, 81, 91, 92, 82, -1, 124, 125, +93, 83, -1, 83, 93, 94, 84, -1, 84, 94, 95, 85, -1, 85, 95, 96, +86, -1, 86, 96, 97, 87, -1, 87, 97, 98, 88, -1, 88, 98, 99, 89, +-1, 89, 99, 90, 80, -1, 20, 30, 31, 21, -1, 21, 31, 32, 22, -1, +126, 127, 33, 23, -1, 23, 33, 34, 24, -1, 24, 34, 35, 25, -1, +25, 35, 36, 26, -1, 26, 36, 37, 27, -1, 27, 37, 38, 28, -1, 28, +38, 39, 29, -1, 29, 39, 30, 20, -1, 30, 40, 41, 31, -1, 31, 41, +42, 32, -1, 128, 129, 43, 33, -1, 33, 43, 44, 34, -1, 34, 44, +45, 35, -1, 35, 45, 46, 36, -1, 36, 46, 47, 37, -1, 37, 47, 48, +38, -1, 38, 48, 49, 39, -1, 39, 49, 40, 30, -1, 40, 50, 51, 41, +-1, 41, 51, 52, 42, -1, 130, 131, 53, 43, -1, 43, 53, 54, 44, +-1, 44, 54, 55, 45, -1, 45, 55, 56, 46, -1, 46, 56, 57, 47, -1, +47, 57, 58, 48, -1, 48, 58, 59, 49, -1, 49, 59, 50, 40, -1, 111, +110, 119, 118, 117, 116, 115, 114, 113, 132, -1, 0, 1, 2, 3, +4, 5, 6, 7, 8, 9, 0, 70, 79, 78, 77, 76, 75, 74, 73, 133, 71, +70, -1, 11, 10, 19, 18, 17, 16, 15, 14, 13, 134, 11, 81, 82, +83, 84, 85, 86, 87, 88, 89, 80, 81, -1, 20, 21, 22, 23, 24, 25, +26, 27, 28, 29, 20, 90, 99, 98, 97, 96, 95, 94, 93, 135, 91, +90, -1, 51, 50, 100, 101, -1, 52, 51, 101, 102, -1, 53, 136, +137, 103, -1, 54, 53, 103, 104, -1, 55, 54, 104, 105, -1, 56, +55, 105, 106, -1, 57, 56, 106, 107, -1, 58, 57, 107, 108, -1, +59, 58, 108, 109, -1, 50, 59, 109, 100, -1, 101, 100, 110, 111, +-1, 102, 101, 111, 112, -1, 103, 138, 139, 113, -1, 104, 103, +113, 114, -1, 105, 104, 114, 115, -1, 106, 105, 115, 116, -1, +107, 106, 116, 117, -1, 108, 107, 117, 118, -1, 109, 108, 118, +119, -1, 100, 109, 119, 110, -1] +} +} +DEF head Transform { +translation 0 0 0 +children [ +DEF head-ROT-INTERP OrientationInterpolator { +key [0, 0.1, 0.1167, 0.1333, 0.15, 0.3, 0.3167, 0.3333, 0.35, 0.3667, +0.5833, 0.6, 0.6167, 0.6333, 0.65, 0.6667, ] +keyValue [1 0 0 0, 1 0 0 0, 0 1 0 -0.1745, 0 1 0 -0.3491, 0 1 0 -0.5236, +0 1 0 -0.5236, 0 1 0 -0.2836, 0 1 0 -0.04363, 0 -1 0 -0.1963, +0 -1 0 -0.4363, 0 -1 0 -0.4363, 0 -1 0 -0.3491, 0 -1 0 -0.2618, +0 -1 0 -0.1745, 0 -1 0 -0.08727, 1 0 0 0, ] }, +Shape { +appearance Appearance { +material Material { +diffuseColor 0.5765 0.6784 0.6824 +ambientIntensity 0.1281 +specularColor 0.441 0.441 0.441 +shininess 0.373 +transparency 0 +} +texture ImageTexture { +url "robot.jpg" +} +} +geometry DEF head-FACES IndexedFaceSet { creaseAngle 1 +ccw TRUE +solid TRUE +convex FALSE +coord DEF head-COORD Coordinate { point [ +0 2.911 0, 0.2355 2.852 0, 0.1906 2.852 -0.1385, 0.07279 2.852 -0.224, +-0.07279 2.852 -0.224, -0.1906 2.852 -0.1385, -0.2355 2.852 0, +-0.1906 2.852 0.1385, -0.07279 2.852 0.224, 0.07279 2.852 0.224, +0.1906 2.852 0.1385, 0.4664 2.601 0, 0.3773 2.601 -0.2742, 0.1441 2.601 -0.4436, +-0.1441 2.601 -0.4436, -0.3773 2.601 -0.2742, -0.4664 2.601 0, +-0.3773 2.601 0.2742, -0.1441 2.601 0.4436, 0.1441 2.601 0.4436, +0.3773 2.601 0.2742, 0.6225 2.15 -5.841e-005, 0.5036 2.15 -0.366, +0.1924 2.15 -0.5921, -0.1924 2.15 -0.5921, -0.5036 2.15 -0.366, +-0.6225 2.15 -5.836e-005, -0.5036 2.15 0.3659, -0.1924 2.15 0.592, +0.1924 2.15 0.592, 0.5036 2.15 0.3659, 0.5603 2.15 -0.001342, +0.4533 2.15 -0.3307, 0.1731 2.15 -0.5342, -0.1731 2.15 -0.5342, +-0.4533 2.15 -0.3307, -0.5603 2.15 -0.001341, -0.4533 2.15 0.328, +-0.1731 2.15 0.5315, 0.1731 2.15 0.5315, 0.4533 2.15 0.328] +} +coordIndex [ +0, 1, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, +-1, 0, 6, 7, -1, 0, 7, 8, -1, 0, 8, 9, -1, 0, 9, 10, -1, 0, 10, +1, -1, 1, 11, 12, 2, -1, 2, 12, 13, 3, -1, 3, 13, 14, 4, -1, +4, 14, 15, 5, -1, 5, 15, 16, 6, -1, 6, 16, 17, 7, -1, 7, 17, +18, 8, -1, 8, 18, 19, 9, -1, 9, 19, 20, 10, -1, 10, 20, 11, 1, +-1, 11, 21, 22, 12, -1, 12, 22, 23, 13, -1, 13, 23, 24, 14, -1, +14, 24, 25, 15, -1, 15, 25, 26, 16, -1, 16, 26, 27, 17, -1, 17, +27, 28, 18, -1, 18, 28, 29, 19, -1, 19, 29, 30, 20, -1, 20, 30, +21, 11, -1, 22, 21, 30, 29, 28, 27, 26, 25, 24, 23, 22, 32, 33, +34, 35, 36, 37, 38, 39, 40, 31, 32, -1] +texCoord DEF head-TEXCOORD TextureCoordinate { point [ +1 1.999, 1.5 1.957, 1.692 1.957, 1.895 1.957, 0.1048 1.957, 0.3075 1.957, +0.5 1.957, 0.6925 1.957, 0.8952 1.957, 1.105 1.957, 1.308 1.957, +1.5 1.781, 1.692 1.781, 1.895 1.781, 0.1048 1.781, 0.3075 1.781, +0.5 1.781, 0.6925 1.781, 0.8952 1.781, 1.105 1.781, 1.308 1.781, +1.5 1.464, 1.692 1.464, 1.895 1.464, 0.1048 1.464, 0.3075 1.464, +0.5 1.464, 0.6924 1.464, 0.8952 1.464, 1.105 1.464, 1.308 1.464, +1.501 1.464, 1.693 1.464, 1.895 1.464, 0.1045 1.464, 0.3069 1.464, +0.4993 1.464, 0.6919 1.464, 0.895 1.464, 1.105 1.464, 1.308 1.464, +-0.1048 1.957, -0.1048 1.957, -0.1048 1.781, -0.1048 1.781, -0.1048 1.464, +-0.1048 1.464] +} +texCoordIndex [ +0, 1, 2, -1, 0, 2, 3, -1, 0, 41, 4, -1, 0, 4, 5, -1, 0, 5, 6, +-1, 0, 6, 7, -1, 0, 7, 8, -1, 0, 8, 9, -1, 0, 9, 10, -1, 0, 10, +1, -1, 1, 11, 12, 2, -1, 2, 12, 13, 3, -1, 42, 43, 14, 4, -1, +4, 14, 15, 5, -1, 5, 15, 16, 6, -1, 6, 16, 17, 7, -1, 7, 17, +18, 8, -1, 8, 18, 19, 9, -1, 9, 19, 20, 10, -1, 10, 20, 11, 1, +-1, 11, 21, 22, 12, -1, 12, 22, 23, 13, -1, 44, 45, 24, 14, -1, +14, 24, 25, 15, -1, 15, 25, 26, 16, -1, 16, 26, 27, 17, -1, 17, +27, 28, 18, -1, 18, 28, 29, 19, -1, 19, 29, 30, 20, -1, 20, 30, +21, 11, -1, 22, 21, 30, 29, 28, 27, 26, 25, 24, 46, 22, 32, 33, +34, 35, 36, 37, 38, 39, 40, 31, 32, -1] +} +} +DEF robot_antenna_01 Transform { +translation -0.0797 2.168 0 +rotation 0 0 -1 -0.6283 +scale 0.6667 1 0.6667 +scaleOrientation 0 0 1 -0.6283 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 0.5765 0.6784 0.6824 +ambientIntensity 0.1281 +specularColor 0.441 0.441 0.441 +shininess 0.373 +transparency 0 +} +texture ImageTexture { +url "robot.gif" +} +} +geometry DEF robot_antenna_01-FACES IndexedFaceSet { creaseAngle 1 +ccw TRUE +solid TRUE +coord DEF robot_antenna_01-COORD Coordinate { point [ +0.03008 0.662 0, 0.01504 0.662 -0.02605, -0.01504 0.662 -0.02605, +-0.03008 0.662 0, -0.01504 0.662 0.02605, 0.01504 0.662 0.02605, +0.03008 0.8105 0, 0.01504 0.8105 -0.02605, -0.01504 0.8105 -0.02605, +-0.03008 0.8105 0, -0.01504 0.8105 0.02605, 0.01504 0.8105 0.02605, +0.03008 0.9896 0, 0.01504 0.9896 -0.02605, -0.01504 0.9896 -0.02605, +-0.03008 0.9896 0, -0.01504 0.9896 0.02605, 0.01504 0.9896 0.02605, +0 1.083 0, 0.1092 1.027 0, 0.05459 1.027 -0.09456, -0.05459 1.027 -0.09456, +-0.1092 1.027 0, -0.05459 1.027 0.09456, 0.05459 1.027 0.09456, +0.1092 1.083 0, 0.05459 1.083 -0.09456, -0.05459 1.083 -0.09456, +-0.1092 1.083 0, -0.05459 1.083 0.09456, 0.05459 1.083 0.09456] +} +coordIndex [ +0, 7, 6, -1, 0, 1, 7, -1, 1, 8, 7, -1, 1, 2, 8, -1, 2, 9, 8, -1, +2, 3, 9, -1, 3, 10, 9, -1, 3, 4, 10, -1, 4, 11, 10, -1, 4, 5, 11, -1, +5, 6, 11, -1, 5, 0, 6, -1, 6, 13, 12, -1, 6, 7, 13, -1, 7, 14, 13, -1, +7, 8, 14, -1, 8, 15, 14, -1, 8, 9, 15, -1, 9, 16, 15, -1, 9, 10, 16, -1, +10, 17, 16, -1, 10, 11, 17, -1, 11, 12, 17, -1, 11, 6, 12, -1, +18, 25, 26, -1, 18, 26, 27, -1, 18, 27, 28, -1, 18, 28, 29, -1, +18, 29, 30, -1, 18, 30, 25, -1, 12, 13, 20, -1, 20, 19, 12, -1, +13, 14, 21, -1, 21, 20, 13, -1, 14, 15, 22, -1, 22, 21, 14, -1, +15, 16, 23, -1, 23, 22, 15, -1, 16, 17, 24, -1, 24, 23, 16, -1, +17, 12, 19, -1, 19, 24, 17, -1, 19, 20, 26, -1, 26, 25, 19, -1, +20, 21, 27, -1, 27, 26, 20, -1, 21, 22, 28, -1, 28, 27, 21, -1, +22, 23, 29, -1, 29, 28, 22, -1, 23, 24, 30, -1, 30, 29, 23, -1, +24, 19, 25, -1, 25, 30, 24, -1] +} +} +DEF robot_antenna_01-COORD-INTERP CoordinateInterpolator { +key [0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1, ] +keyValue [0.03008 0.662 0, +0.01504 0.662 -0.02605, -0.01504 0.662 -0.02605, -0.03008 0.662 0, +-0.01504 0.662 0.02605, 0.01504 0.662 0.02605, 0.03008 0.8105 0, +0.01504 0.8105 -0.02605, -0.01504 0.8105 -0.02605, -0.03008 0.8105 0, +-0.01504 0.8105 0.02605, 0.01504 0.8105 0.02605, 0.03008 0.9896 0, +0.01504 0.9896 -0.02605, -0.01504 0.9896 -0.02605, -0.03008 0.9896 0, +-0.01504 0.9896 0.02605, 0.01504 0.9896 0.02605, 0 1.083 0, 0.1092 1.027 0, +0.05459 1.027 -0.09456, -0.05459 1.027 -0.09456, -0.1092 1.027 0, +-0.05459 1.027 0.09456, 0.05459 1.027 0.09456, 0.1092 1.083 0, +0.05459 1.083 -0.09456, -0.05459 1.083 -0.09456, -0.1092 1.083 0, +-0.05459 1.083 0.09456, 0.05459 1.083 0.09456, 0.03021 0.6621 0.0001965, +0.01519 0.6622 -0.0258, -0.01483 0.6622 -0.02569, -0.02982 0.6622 0.000416, +-0.0148 0.6622 0.0264, 0.01521 0.6621 0.0263, 0.03465 0.8153 0.007908, +0.01937 0.8155 -0.01788, -0.01062 0.8155 -0.01742, -0.02532 0.8153 0.008814, +-0.01003 0.8151 0.03459, 0.01995 0.8151 0.03414, 0.05295 1.012 0.04546, +0.0366 1.013 0.0205, 0.006741 1.013 0.02227, -0.006767 1.012 0.049, +0.009584 1.011 0.07396, 0.03944 1.011 0.07219, 0.03845 1.119 0.08353, +0.1394 1.057 0.05694, 0.07839 1.062 -0.03243, -0.02986 1.061 -0.02395, +-0.07701 1.056 0.07389, -0.01598 1.051 0.1632, 0.09217 1.052 0.1547, +0.149 1.122 0.07835, 0.08606 1.128 -0.009483, -0.02196 1.128 0.001465, +-0.06688 1.121 0.1002, -0.003844 1.115 0.188, 0.1041 1.115 0.177, +0.03003 0.6619 -0.0001561, 0.01499 0.6619 -0.02625, -0.01511 0.6619 -0.02633, +-0.03017 0.6619 -0.0003305, -0.01513 0.6619 0.02577, 0.01497 0.6619 0.02585, +0.02833 0.8094 -0.006283, 0.0135 0.8093 -0.03254, -0.01662 0.8093 -0.03291, +-0.03192 0.8094 -0.007003, -0.0171 0.8096 0.01926, 0.01304 0.8096 0.01962, +0.02106 0.9847 -0.03612, 0.007065 0.984 -0.06304, -0.02317 0.984 -0.06445, +-0.03941 0.9849 -0.03894, -0.02542 0.9857 -0.01201, 0.004813 0.9856 -0.0106, +-0.01553 1.075 -0.06637, 0.09743 1.02 -0.04524, 0.04795 1.016 -0.144, +-0.06191 1.016 -0.1507, -0.1224 1.021 -0.05871, -0.07294 1.024 0.04009, +0.03701 1.024 0.04682, 0.0935 1.074 -0.06225, 0.04561 1.069 -0.1622, +-0.06445 1.07 -0.1709, -0.1267 1.075 -0.07964, -0.07884 1.08 0.02039, +0.0313 1.08 0.02908, 0.03002 0.6621 -5.475e-005, 0.01497 0.6621 -0.02613, +-0.01515 0.6622 -0.02616, -0.03021 0.6622 -0.0001159, -0.01516 0.6622 0.02596, +0.01496 0.6621 0.02599, 0.02747 0.8147 -0.002204, 0.01242 0.8147 -0.02852, +-0.01786 0.8149 -0.02865, -0.03308 0.815 -0.002456, -0.01802 0.815 0.02387, +0.01225 0.8148 0.02399, 0.01412 1.012 -0.01267, -0.0009286 1.012 -0.03997, +-0.03182 1.013 -0.04047, -0.04766 1.013 -0.01366, -0.03261 1.013 0.01365, +-0.001718 1.013 0.01414, -0.03032 1.123 -0.02328, 0.08963 1.055 -0.01587, +0.03503 1.056 -0.1165, -0.07803 1.058 -0.1189, -0.1365 1.061 -0.02059, +-0.0819 1.061 0.0801, 0.03119 1.058 0.08242, 0.08181 1.122 -0.02183, +0.02722 1.122 -0.1243, -0.08699 1.126 -0.1274, -0.1466 1.129 -0.02793, +-0.09204 1.129 0.07461, 0.0222 1.125 0.07762, 0.0302 0.6619 -0.000211, +0.0152 0.6619 -0.02631, -0.0148 0.6618 -0.02642, -0.02982 0.6618 -0.0004466, +-0.01483 0.6619 0.02565, 0.01518 0.6619 0.02577, 0.03493 0.8077 -0.00849, +0.02034 0.8073 -0.03452, -0.009474 0.8072 -0.035, -0.0247 0.8073 -0.009462, +-0.01011 0.8076 0.01657, 0.01971 0.8078 0.01706, 0.05769 0.9728 -0.04881, +0.04468 0.9713 -0.07456, 0.01562 0.9706 -0.07646, -0.0004305 0.9713 -0.05261, +0.01257 0.9728 -0.02685, 0.04163 0.9735 -0.02495, 0.05043 1.051 -0.08967, +0.1439 1.006 -0.06112, 0.0991 0.9986 -0.1541, -0.005146 0.995 -0.1632, +-0.06472 0.9987 -0.07932, -0.02005 1.006 0.01375, 0.08431 1.009 0.02289, +0.1568 1.054 -0.08411, 0.115 1.044 -0.1766, 0.01216 1.04 -0.1883, +-0.04899 1.045 -0.1076, -0.007288 1.054 -0.01506, 0.09566 1.058 -0.003271, +0.03001 0.6619 0.0003502, 0.01493 0.6619 -0.02561, -0.01519 0.6619 -0.02541, +-0.03022 0.6619 0.0007412, -0.01514 0.6619 0.02669, 0.01497 0.6619 0.02649, +0.0275 0.8087 0.01409, 0.0119 0.809 -0.01161, -0.01825 0.809 -0.0108, +-0.0328 0.8087 0.0157, -0.01719 0.8083 0.04139, 0.01295 0.8083 0.04058, +0.01683 0.9811 0.08101, -0.0008319 0.983 0.05631, -0.03112 0.9831 0.05946, +-0.04373 0.9813 0.08732, -0.02606 0.9794 0.112, 0.004219 0.9793 0.1088, +-0.02268 1.069 0.1488, 0.09188 1.015 0.1015, 0.02454 1.024 0.0133, +-0.08568 1.025 0.02839, -0.1284 1.016 0.1317, -0.06095 1.007 0.2197, +0.04909 1.006 0.2045, 0.08615 1.068 0.1396, 0.01492 1.08 0.05331, +-0.09555 1.08 0.0728, -0.1346 1.069 0.1786, -0.06328 1.057 0.2647, +0.04701 1.056 0.2452, 0.03002 0.662 -0.0002571, 0.01498 0.662 -0.02638, +-0.01513 0.6619 -0.02652, -0.0302 0.662 -0.0005443, -0.01517 0.662 0.02558, +0.01495 0.662 0.02573, 0.02777 0.8101 -0.01035, 0.01307 0.8098 -0.03676, +-0.01709 0.8099 -0.03736, -0.03256 0.8102 -0.01153, -0.01787 0.8104 0.01489, +0.0123 0.8104 0.01548, 0.01771 0.9884 -0.05949, 0.004371 0.9871 -0.08705, +-0.02601 0.9873 -0.08937, -0.04306 0.9887 -0.06413, -0.02973 0.99 -0.03656, +0.0006612 0.9898 -0.03424, -0.02179 1.082 -0.1093, 0.09328 1.024 -0.07451, +0.04699 1.018 -0.1763, -0.06357 1.019 -0.1874, -0.128 1.026 -0.09669, +-0.08174 1.032 0.00522, 0.02896 1.031 0.0163, 0.08775 1.08 -0.1025, +0.04402 1.072 -0.2064, -0.06695 1.074 -0.2208, -0.1343 1.083 -0.1312, +-0.09065 1.091 -0.0271, 0.02045 1.089 -0.0128, 0.03009 0.662 -1.056e-005, +0.01505 0.662 -0.02606, -0.01503 0.662 -0.02607, -0.03006 0.662 -2.236e-005, +-0.01503 0.662 0.02603, 0.01505 0.662 0.02604, 0.03033 0.8106 -0.0004254, +0.01531 0.8106 -0.02648, -0.01476 0.8106 -0.0265, -0.02981 0.8106 -0.0004741, +-0.01479 0.8106 0.02558, 0.01528 0.8106 0.0256, 0.03142 0.9899 -0.002446, +0.01647 0.9898 -0.02851, -0.01357 0.9898 -0.0286, -0.02867 0.9898 -0.002636, +-0.01373 0.9899 0.02342, 0.01632 0.9899 0.02352, 0.002352 1.083 -0.004493, +0.1109 1.027 -0.003063, 0.05676 1.027 -0.09767, -0.05227 1.027 -0.09812, +-0.1072 1.027 -0.003975, -0.05302 1.027 0.09064, 0.05602 1.027 0.09109, +0.1115 1.083 -0.004214, 0.0575 1.083 -0.09883, -0.0515 1.083 -0.09942, +-0.1065 1.083 -0.005391, -0.05247 1.083 0.08923, 0.05653 1.083 0.08982, +0.03008 0.662 0.0001296, 0.01504 0.662 -0.02588, -0.01504 0.662 -0.02581, +-0.03007 0.6619 0.0002743, -0.01502 0.6619 0.02628, 0.01505 0.662 0.02621, +0.03032 0.8099 0.005214, 0.0151 0.81 -0.02066, -0.01496 0.81 -0.02036, +-0.02979 0.8098 0.005811, -0.01457 0.8097 0.03168, 0.01548 0.8097 0.03138, +0.03165 0.9862 0.02997, 0.01573 0.9868 0.004632, -0.01425 0.9867 0.0058, +-0.0283 0.986 0.03231, -0.01238 0.9854 0.05764, 0.0176 0.9855 0.05648, +0.0031 1.077 0.05507, 0.1111 1.022 0.03754, 0.05217 1.025 -0.05364, +-0.05656 1.025 -0.04804, -0.1063 1.021 0.04871, -0.04741 1.018 0.1398, +0.06125 1.019 0.1342, 0.1119 1.077 0.05165, 0.05165 1.081 -0.03852, +-0.05693 1.08 -0.0313, -0.1052 1.076 0.06608, -0.04499 1.072 0.1562, +0.06352 1.072 0.149, ] +} +] +}, +DEF robot_antenna_02 Transform { +translation 0.08078 2.16 0 +rotation 0 0 1 -0.6283 +scale 0.6667 1 0.6667 +scaleOrientation 0 0 -1 -0.6283 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 0.5765 0.6784 0.6824 +ambientIntensity 0.1281 +specularColor 0.441 0.441 0.441 +shininess 0.373 +transparency 0 +} +texture ImageTexture { +url "robot.gif" +} +} +geometry DEF robot_antenna_02-FACES IndexedFaceSet { creaseAngle 1 +ccw TRUE +solid TRUE +coord DEF robot_antenna_02-COORD Coordinate { point [ +0.03008 0.662 0, 0.01504 0.662 -0.02605, -0.01504 0.662 -0.02605, +-0.03008 0.662 0, -0.01504 0.662 0.02605, 0.01504 0.662 0.02605, +0.03008 0.8105 0, 0.01504 0.8105 -0.02605, -0.01504 0.8105 -0.02605, +-0.03008 0.8105 0, -0.01504 0.8105 0.02605, 0.01504 0.8105 0.02605, +0.03008 0.9896 0, 0.01504 0.9896 -0.02605, -0.01504 0.9896 -0.02605, +-0.03008 0.9896 0, -0.01504 0.9896 0.02605, 0.01504 0.9896 0.02605, +0 1.083 0, 0.1092 1.027 0, 0.05459 1.027 -0.09456, -0.05459 1.027 -0.09456, +-0.1092 1.027 0, -0.05459 1.027 0.09456, 0.05459 1.027 0.09456, +0.1092 1.083 0, 0.05459 1.083 -0.09456, -0.05459 1.083 -0.09456, +-0.1092 1.083 0, -0.05459 1.083 0.09456, 0.05459 1.083 0.09456] +} +coordIndex [ +0, 7, 6, -1, 0, 1, 7, -1, 1, 8, 7, -1, 1, 2, 8, -1, 2, 9, 8, -1, +2, 3, 9, -1, 3, 10, 9, -1, 3, 4, 10, -1, 4, 11, 10, -1, 4, 5, 11, -1, +5, 6, 11, -1, 5, 0, 6, -1, 6, 13, 12, -1, 6, 7, 13, -1, 7, 14, 13, -1, +7, 8, 14, -1, 8, 15, 14, -1, 8, 9, 15, -1, 9, 16, 15, -1, 9, 10, 16, -1, +10, 17, 16, -1, 10, 11, 17, -1, 11, 12, 17, -1, 11, 6, 12, -1, +18, 25, 26, -1, 18, 26, 27, -1, 18, 27, 28, -1, 18, 28, 29, -1, +18, 29, 30, -1, 18, 30, 25, -1, 12, 13, 20, -1, 20, 19, 12, -1, +13, 14, 21, -1, 21, 20, 13, -1, 14, 15, 22, -1, 22, 21, 14, -1, +15, 16, 23, -1, 23, 22, 15, -1, 16, 17, 24, -1, 24, 23, 16, -1, +17, 12, 19, -1, 19, 24, 17, -1, 19, 20, 26, -1, 26, 25, 19, -1, +20, 21, 27, -1, 27, 26, 20, -1, 21, 22, 28, -1, 28, 27, 21, -1, +22, 23, 29, -1, 29, 28, 22, -1, 23, 24, 30, -1, 30, 29, 23, -1, +24, 19, 25, -1, 25, 30, 24, -1] +} +} +DEF robot_antenna_02-COORD-INTERP CoordinateInterpolator { +key [0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1, ] +keyValue [0.03008 0.662 0, +0.01504 0.662 -0.02605, -0.01504 0.662 -0.02605, -0.03008 0.662 0, +-0.01504 0.662 0.02605, 0.01504 0.662 0.02605, 0.03008 0.8105 0, +0.01504 0.8105 -0.02605, -0.01504 0.8105 -0.02605, -0.03008 0.8105 0, +-0.01504 0.8105 0.02605, 0.01504 0.8105 0.02605, 0.03008 0.9896 0, +0.01504 0.9896 -0.02605, -0.01504 0.9896 -0.02605, -0.03008 0.9896 0, +-0.01504 0.9896 0.02605, 0.01504 0.9896 0.02605, 0 1.083 0, 0.1092 1.027 0, +0.05459 1.027 -0.09456, -0.05459 1.027 -0.09456, -0.1092 1.027 0, +-0.05459 1.027 0.09456, 0.05459 1.027 0.09456, 0.1092 1.083 0, +0.05459 1.083 -0.09456, -0.05459 1.083 -0.09456, -0.1092 1.083 0, +-0.05459 1.083 0.09456, 0.05459 1.083 0.09456, 0.02989 0.6622 -0.0003015, +0.0148 0.6622 -0.02641, -0.01536 0.6623 -0.02651, -0.03042 0.6623 -0.0005117, +-0.01532 0.6623 0.02558, 0.01483 0.6622 0.02569, 0.02601 0.8146 -0.007552, +0.01068 0.8145 -0.03349, -0.01945 0.8146 -0.03333, -0.03426 0.8148 -0.007241, +-0.01893 0.815 0.01869, 0.0112 0.8149 0.01853, 0.007463 1.011 -0.04763, +-0.008926 1.01 -0.07277, -0.03894 1.011 -0.07134, -0.05256 1.012 -0.04477, +-0.03617 1.013 -0.01964, -0.00616 1.012 -0.02107, -0.03824 1.119 -0.0832, +0.07786 1.055 -0.07205, 0.01667 1.051 -0.162, -0.09214 1.052 -0.1548, +-0.1396 1.057 -0.05752, -0.07838 1.062 0.03235, 0.0303 1.061 0.0251, +0.06749 1.12 -0.09892, 0.00425 1.114 -0.1874, -0.1043 1.115 -0.1776, +-0.1495 1.122 -0.07945, -0.08623 1.128 0.008875, 0.02221 1.127 -0.0008514, +0.03015 0.6619 0.0002396, 0.01513 0.6619 -0.02577, -0.01491 0.6619 -0.02568, +-0.02995 0.6619 0.0004066, -0.01494 0.6619 0.02642, 0.01511 0.6619 0.02634, +0.03166 0.8096 0.006, 0.01683 0.8097 -0.02014, -0.01324 0.8097 -0.02026, +-0.02848 0.8095 0.005753, -0.01366 0.8094 0.0319, 0.01642 0.8094 0.03202, +0.03914 0.9851 0.03784, 0.02515 0.9858 0.01106, -0.005017 0.9857 0.009928, +-0.02121 0.9848 0.03557, -0.007222 0.9841 0.06236, 0.02295 0.9842 0.06349, +0.01545 1.075 0.06611, 0.122 1.021 0.05725, 0.07262 1.025 -0.04097, +-0.03701 1.024 -0.04675, -0.09733 1.02 0.0457, -0.04795 1.016 0.144, +0.06179 1.017 0.1498, 0.1265 1.075 0.0786, 0.07865 1.08 -0.02086, +-0.03117 1.08 -0.02861, -0.09331 1.074 0.06313, -0.04555 1.069 0.1627, +0.06438 1.07 0.1704, 0.03018 0.6621 8.404e-005, 0.01516 0.6622 -0.02596, +-0.01489 0.6622 -0.02593, -0.02992 0.6623 0.0001426, -0.0149 0.6622 0.02619, +0.01515 0.6622 0.02616, 0.03265 0.8144 0.002104, 0.01764 0.8144 -0.02415, +-0.01253 0.8144 -0.0242, -0.02769 0.8143 0.002018, -0.01267 0.8143 0.02828, +0.0175 0.8143 0.02832, 0.04717 1.013 0.01327, 0.03218 1.013 -0.01396, +0.00142 1.012 -0.01436, -0.01435 1.012 0.01248, 0.0006465 1.012 0.03971, +0.03141 1.012 0.04011, 0.03022 1.123 0.02319, 0.1359 1.06 0.02008, +0.08147 1.061 -0.08032, -0.03115 1.058 -0.0824, -0.08941 1.056 0.01603, +-0.03499 1.056 0.1165, 0.07767 1.058 0.1185, 0.1462 1.129 0.02757, +0.09181 1.129 -0.07472, -0.02196 1.126 -0.07748, -0.0814 1.122 0.02214, +-0.027 1.122 0.1245, 0.08681 1.125 0.1272, 0.02989 0.6619 0.0003237, +0.01483 0.6619 -0.02565, -0.01531 0.6618 -0.02553, -0.0304 0.6618 0.0005493, +-0.01535 0.6618 0.02653, 0.0148 0.6618 0.02642, 0.02547 0.8078 0.008107, +0.01075 0.808 -0.01779, -0.01924 0.8081 -0.01796, -0.03452 0.8079 0.007774, +-0.01981 0.8077 0.03368, 0.01019 0.8076 0.03385, 0.001267 0.9718 0.05113, +-0.01188 0.9732 0.02553, -0.04114 0.9738 0.024, -0.05726 0.973 0.04806, +-0.04412 0.9716 0.07367, -0.01485 0.971 0.0752, -0.05023 1.051 0.08932, +0.06584 0.9994 0.07735, 0.0206 1.006 -0.01507, -0.08436 1.009 -0.02281, +-0.1442 1.005 0.06175, -0.09914 0.9985 0.1542, 0.00597 0.9955 0.1621, +0.04978 1.045 0.1062, 0.007574 1.054 0.01435, -0.09597 1.058 0.003956, +-0.1575 1.053 0.08529, -0.1154 1.044 0.1772, -0.01171 1.04 0.1877, +0.03018 0.6619 -0.0005373, 0.01514 0.6619 -0.02669, -0.01491 0.6618 -0.02688, +-0.02989 0.6618 -0.0009117, -0.01484 0.6619 0.02523, 0.01519 0.6619 0.02541, +0.0324 0.8089 -0.01346, 0.01691 0.8086 -0.03941, -0.01316 0.8085 -0.03914, +-0.02772 0.8088 -0.0129, -0.01222 0.8092 0.01304, 0.01783 0.8092 0.01276, +0.04333 0.9816 -0.08486, 0.02577 0.9797 -0.1099, -0.004433 0.9795 -0.1073, +-0.01706 0.9813 -0.07977, 0.000513 0.9831 -0.05479, 0.0307 0.9833 -0.05733, +0.02256 1.069 -0.1482, 0.1279 1.016 -0.1284, 0.06085 1.007 -0.2176, +-0.04908 1.006 -0.2047, -0.09173 1.015 -0.1025, -0.02456 1.024 -0.01344, +0.08513 1.025 -0.0264, 0.1343 1.069 -0.1763, 0.06323 1.057 -0.2636, +-0.04695 1.056 -0.2463, -0.08587 1.068 -0.1416, -0.01471 1.08 -0.05438, +0.09523 1.08 -0.07174, 0.03017 0.662 0.0003946, 0.01517 0.662 -0.02558, +-0.01487 0.662 -0.02545, -0.02992 0.6619 0.0006696, -0.01492 0.6619 0.02666, +0.01513 0.6619 0.02652, 0.0322 0.8102 0.009882, 0.0175 0.8104 -0.01633, +-0.01258 0.8104 -0.01653, -0.02797 0.8101 0.009475, -0.01327 0.8099 0.0357, +0.01682 0.81 0.0359, 0.04268 0.9888 0.06232, 0.02935 0.99 0.035, +-0.0009424 0.9898 0.03313, -0.01791 0.9884 0.05859, -0.004575 0.9872 0.08592, +0.02573 0.9874 0.08779, 0.02169 1.082 0.1089, 0.1275 1.026 0.09428, +0.08126 1.032 -0.006668, -0.02896 1.031 -0.01619, -0.09314 1.024 0.07527, +-0.04698 1.018 0.1764, 0.06343 1.019 0.1859, 0.134 1.083 0.1294, +0.09038 1.091 0.02633, -0.02026 1.09 0.01358, -0.08747 1.08 0.104, +-0.04393 1.072 0.2072, 0.06688 1.074 0.22, 0.03007 0.662 1.623e-005, +0.01503 0.662 -0.02603, -0.01505 0.662 -0.02602, -0.0301 0.662 2.753e-005, +-0.01506 0.662 0.02607, 0.01503 0.662 0.02607, 0.02985 0.8106 0.0004062, +0.01482 0.8106 -0.02564, -0.01526 0.8106 -0.02565, -0.03031 0.8106 0.0003895, +-0.01528 0.8106 0.02644, 0.01479 0.8106 0.02644, 0.02872 0.9898 0.002562, +0.01376 0.9899 -0.02349, -0.0163 0.9899 -0.02357, -0.0314 0.9899 0.002408, +-0.01644 0.9898 0.02846, 0.01361 0.9898 0.02854, -0.002341 1.083 0.004475, +0.1072 1.027 0.003876, 0.05304 1.027 -0.0907, -0.05602 1.027 -0.09109, +-0.1109 1.027 0.003094, -0.05676 1.027 0.09767, 0.05231 1.027 0.09807, +0.1065 1.083 0.005321, 0.05249 1.083 -0.08927, -0.05654 1.083 -0.08979, +-0.1115 1.083 0.004274, -0.05751 1.083 0.09887, 0.05152 1.083 0.09939, +0.03007 0.662 -0.0001988, 0.01502 0.6619 -0.02628, -0.01506 0.6619 -0.02635, +-0.03009 0.6619 -0.0003373, -0.01504 0.6619 0.02574, 0.01504 0.662 0.02581, +0.02983 0.8099 -0.004979, 0.01463 0.8098 -0.03096, -0.01544 0.8098 -0.03085, +-0.0303 0.8099 -0.004774, -0.01509 0.8101 0.0212, 0.01497 0.8101 0.0211, +0.02835 0.9861 -0.0314, 0.01244 0.9855 -0.05686, -0.01755 0.9855 -0.05591, +-0.03163 0.9862 -0.02952, -0.01572 0.9869 -0.004065, 0.01427 0.9868 -0.005006, +-0.003092 1.077 -0.05485, 0.1064 1.022 -0.0475, 0.04753 1.018 -0.1391, +-0.06125 1.019 -0.1343, -0.1111 1.022 -0.03792, -0.05218 1.025 0.05358, +0.05652 1.025 0.0488, 0.1053 1.076 -0.06522, 0.04506 1.072 -0.1558, +-0.06358 1.072 -0.1494, -0.1119 1.077 -0.05238, -0.05165 1.081 0.03812, +0.0569 1.08 0.03171, ] +} +] +}, +DEF mouth Transform { +translation -0.002621 1.441 -0.4075 +scale 1 0.4 1 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 0 0 0 +ambientIntensity 0 +specularColor 0.567 0.567 0.567 +shininess 0.3445 +transparency 0 +} +} +geometry DEF mouth-FACES IndexedFaceSet { creaseAngle 1 +ccw TRUE +solid TRUE +convex TRUE +coord DEF mouth-COORD Coordinate { point [ +-0.4895 2.15 0.6615, -0.4639 2.049 0.6691, -0.1772 2.049 0.8774, +-0.187 2.15 0.865, 0.1772 2.049 0.8774, 0.187 2.15 0.865, 0.4639 2.049 0.6691, +0.4895 2.15 0.6615, -0.4895 2.164 0.7605, -0.4639 2.062 0.7682, +-0.1772 2.062 0.9764, -0.187 2.164 0.964, 0.1772 2.062 0.9764, +0.187 2.164 0.964, 0.4639 2.062 0.7682, 0.4895 2.164 0.7605] +} +coordIndex [ +8, 9, 10, -1, 8, 10, 11, -1, 11, 10, 12, 13, -1, 13, 12, 14, +-1, 13, 14, 15, -1, 0, 1, 9, 8, -1, 1, 2, 10, 9, -1, 3, 0, 8, +11, -1, 2, 4, 12, 10, -1, 5, 3, 11, 13, -1, 4, 6, 14, 12, -1, +6, 7, 15, 14, -1, 7, 5, 13, 15, -1] +} +} +] +}, +DEF robot_eye_01 Transform { +translation -0.171 2.565 0.05426 +rotation -1 0 0 -1.571 +scale 0.6667 1 1 +scaleOrientation 1 0 0 -0.65 +children [ +DEF robot_eye_01-POS-INTERP PositionInterpolator { +key [0, 0.01667, 0.03333, 0.1833, 0.2, 0.2167, 0.2333, 0.5, 0.5167, +0.5333, 0.5667, 0.5833, 0.6, 0.6167, ] +keyValue [-0.171 2.565 0.05426, -0.171 2.565 0.1039, -0.171 2.565 0.1535, +-0.171 2.565 0.1535, -0.171 2.565 0.1204, -0.171 2.565 0.08735, +-0.171 2.565 0.05426, -0.171 2.565 0.05426, -0.171 2.565 0.1039, +-0.171 2.565 0.1535, -0.171 2.565 0.1535, -0.171 2.565 0.1204, +-0.171 2.565 0.08735, -0.171 2.565 0.05426, ] }, +DEF robot_eye_01-SCALE-INTERP PositionInterpolator { +key [0, 0.1, 0.1167, 0.1333, 0.15, 0.3, 0.3167, 0.3333, 0.35, 0.3667, +0.5833, 0.6, 0.6167, 0.6333, 0.65, 0.6667, ] +keyValue [0.6667 1 1, 0.6667 1 1, 0.6667 1 1, 0.6667 1 1, 0.6667 1 1, +0.6667 1 1, 0.6667 1 1, 0.6667 1 1, 0.6667 1 1, 0.6667 1 1, +0.6667 1 1, 0.6667 1 1, 0.6667 1 1, 0.6667 1 1, 0.6667 1 1, +0.6667 1 1, ] }, +DEF robot_eye_01-SCALE-ORI-INTERP OrientationInterpolator { +key [0, 0.1, 0.1167, 0.1333, 0.15, 0.3, 0.3167, 0.3333, 0.35, 0.3667, +0.5833, 0.6, 0.6167, 0.6333, 0.65, 0.6667, ] +keyValue [1 0 0 -0.65, 1 0 0 -0.65, 1 0 0 -0.6681, 1 0 0 -0.5168, +1 0 0 -0.5598, 1 0 0 -0.5598, 1 0 0 -0.7854, 1 0 0 -0.6699, +1 0 0 -0.6672, 1 0 0 -0.4633, 1 0 0 -0.4633, 1 0 0 -0.4208, +1 0 0 -0.7854, 1 0 0 -0.6681, 1 0 0 -0.6494, 1 0 0 -0.65, +] }, +Shape { +appearance Appearance { +material Material { +diffuseColor 0 0 0 +ambientIntensity 0 +specularColor 0.567 0.567 0.567 +shininess 0.3445 +transparency 0 +} +} +geometry DEF robot_eye_01-FACES IndexedFaceSet { creaseAngle 1 +ccw TRUE +solid TRUE +convex FALSE +colorPerVertex FALSE +color Color { color [ +0 0 0, 1 1 1 ] } +colorIndex [ +0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0] +coord DEF robot_eye_01-COORD Coordinate { point [ +0.1213 0.1028 0, 0.08579 0.1028 -0.08579, 0 0.1028 -0.1213, -0.08579 0.1028 -0.08579, +-0.1213 0.1028 0, -0.08579 0.1028 0.08579, 0 0.1028 0.1213, 0.08579 0.1028 0.08579, +0.1213 0.4671 0, 0.08579 0.4671 -0.08579, 0 0.4671 -0.1213, -0.08579 0.4671 -0.08579, +-0.1213 0.4671 0, -0.08579 0.4671 0.08579, 0 0.4671 0.1213, 0.08579 0.4671 0.08579, +0.06066 0.4671 0, 0.04289 0.4671 -0.04289, 0 0.4671 -0.06066, +-0.04289 0.4671 -0.04289, -0.06066 0.4671 0, -0.04289 0.4671 0.04289, +0 0.4671 0.06066, 0.04289 0.4671 0.04289, 0.06066 0.509 0, 0.04289 0.509 -0.04289, +0 0.509 -0.06066, -0.04289 0.509 -0.04289, -0.06066 0.509 0, +-0.04289 0.509 0.04289, 0 0.509 0.06066, 0.04289 0.509 0.04289] +} +coordIndex [ +9, 8, 0, 1, -1, 10, 9, 1, 2, -1, 11, 10, 2, 3, -1, 12, 11, 3, +4, -1, 13, 12, 4, 5, -1, 14, 13, 5, 6, -1, 15, 14, 6, 7, -1, +8, 15, 7, 0, -1, 17, 16, 23, 22, 21, 20, 19, 18, 17, 9, 10, 11, +12, 13, 14, 15, 8, 9, -1, 24, 25, 26, 27, 28, 29, 30, 31, -1, +16, 17, 25, 24, -1, 17, 18, 26, 25, -1, 18, 19, 27, 26, -1, 19, +20, 28, 27, -1, 20, 21, 29, 28, -1, 21, 22, 30, 29, -1, 22, 23, +31, 30, -1, 23, 16, 24, 31, -1] +} +} +] +}, +DEF robot_eye_02 Transform { +translation 0.171 2.565 0.05426 +rotation -1 0 0 -1.571 +scale 0.6667 1 1 +scaleOrientation 1 0 0 -0.65 +children [ +DEF robot_eye_02-POS-INTERP PositionInterpolator { +key [0, 0.1167, 0.1333, 0.15, 0.1667, 0.3333, 0.35, 0.3667, 0.5833, +0.6, 0.6167, 0.6333, 0.8, 0.8167, 0.8333, ] +keyValue [0.171 2.565 0.05426, 0.171 2.565 0.05426, 0.171 2.565 0.1116, +0.171 2.565 0.1689, 0.171 2.565 0.2263, 0.171 2.565 0.2263, +0.171 2.565 0.1403, 0.171 2.565 0.05426, 0.171 2.565 0.05426, +0.171 2.565 0.1116, 0.171 2.565 0.1689, 0.171 2.565 0.2263, +0.171 2.565 0.2263, 0.171 2.565 0.1403, 0.171 2.565 0.05426, +] }, +DEF robot_eye_02-SCALE-INTERP PositionInterpolator { +key [0, 0.1, 0.1167, 0.1333, 0.15, 0.3, 0.3167, 0.3333, 0.35, 0.3667, +0.5833, 0.6, 0.6167, 0.6333, 0.65, 0.6667, ] +keyValue [0.6667 1 1, 0.6667 1 1, 0.6667 1 1, 0.6667 1 1, 0.6667 1 1, +0.6667 1 1, 0.6667 1 1, 0.6667 1 1, 0.6667 1 1, 0.6667 1 1, +0.6667 1 1, 0.6667 1 1, 0.6667 1 1, 0.6667 1 1, 0.6667 1 1, +0.6667 1 1, ] }, +DEF robot_eye_02-SCALE-ORI-INTERP OrientationInterpolator { +key [0, 0.1, 0.1167, 0.1333, 0.15, 0.3, 0.3167, 0.3333, 0.35, 0.3667, +0.5833, 0.6, 0.6167, 0.6333, 0.65, 0.6667, ] +keyValue [1 0 0 -0.65, 1 0 0 -0.65, 1 0 0 -0.6681, 1 0 0 -0.5168, +1 0 0 -0.5598, 1 0 0 -0.5598, 1 0 0 -0.7854, 1 0 0 -0.6699, +1 0 0 -0.6672, 1 0 0 -0.4633, 1 0 0 -0.4633, 1 0 0 -0.4208, +1 0 0 -0.7854, 1 0 0 -0.6681, 1 0 0 -0.6494, 1 0 0 -0.65, +] }, +Shape { +appearance Appearance { +material Material { +diffuseColor 0 0 0 +ambientIntensity 0 +specularColor 0.567 0.567 0.567 +shininess 0.3445 +transparency 0 +} +} +geometry DEF robot_eye_02-FACES IndexedFaceSet { creaseAngle 1 +ccw TRUE +solid TRUE +convex FALSE +colorPerVertex FALSE +color Color { color [ +0 0 0, 1 1 1 ] } +colorIndex [ +0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0] +coord DEF robot_eye_02-COORD Coordinate { point [ +0.1213 0.1028 0, 0.08579 0.1028 -0.08579, 0 0.1028 -0.1213, -0.08579 0.1028 -0.08579, +-0.1213 0.1028 0, -0.08579 0.1028 0.08579, 0 0.1028 0.1213, 0.08579 0.1028 0.08579, +0.1213 0.4671 0, 0.08579 0.4671 -0.08579, 0 0.4671 -0.1213, -0.08579 0.4671 -0.08579, +-0.1213 0.4671 0, -0.08579 0.4671 0.08579, 0 0.4671 0.1213, 0.08579 0.4671 0.08579, +0.06066 0.4671 0, 0.04289 0.4671 -0.04289, 0 0.4671 -0.06066, +-0.04289 0.4671 -0.04289, -0.06066 0.4671 0, -0.04289 0.4671 0.04289, +0 0.4671 0.06066, 0.04289 0.4671 0.04289, 0.06066 0.509 0, 0.04289 0.509 -0.04289, +0 0.509 -0.06066, -0.04289 0.509 -0.04289, -0.06066 0.509 0, +-0.04289 0.509 0.04289, 0 0.509 0.06066, 0.04289 0.509 0.04289] +} +coordIndex [ +9, 8, 0, 1, -1, 10, 9, 1, 2, -1, 11, 10, 2, 3, -1, 12, 11, 3, +4, -1, 13, 12, 4, 5, -1, 14, 13, 5, 6, -1, 15, 14, 6, 7, -1, +8, 15, 7, 0, -1, 17, 16, 23, 22, 21, 20, 19, 18, 17, 9, 10, 11, +12, 13, 14, 15, 8, 9, -1, 24, 25, 26, 27, 28, 29, 30, 31, -1, +16, 17, 25, 24, -1, 17, 18, 26, 25, -1, 18, 19, 27, 26, -1, 19, +20, 28, 27, -1, 20, 21, 29, 28, -1, 21, 22, 30, 29, -1, 22, 23, +31, 30, -1, 23, 16, 24, 31, -1] +} +} +] +} +] +}, +DEF robot_arm Transform { +translation -0.4233 1.787 0.09816 +rotation -0.5251 0.2115 -0.8243 -1.618 +scale 1 0.6667 0.6667 +scaleOrientation -0.6561 -0.704 0.2718 -1.064 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 0 0 0 +ambientIntensity 0 +specularColor 0.567 0.567 0.567 +shininess 0.3445 +transparency 0 +} +} +geometry DEF robot_arm-FACES IndexedFaceSet { creaseAngle 1 +ccw TRUE +solid TRUE +coord DEF robot_arm-COORD Coordinate { point [ +0.2531 0.2515 0, 0.1265 0.2515 -0.2192, -0.1265 0.2515 -0.2192, +-0.2531 0.2515 0, -0.1265 0.2515 0.2192, 0.1265 0.2515 0.2192, +0.1685 0.443 0.01627, 0.08424 0.4676 -0.1275, -0.08424 0.4676 -0.1275, +-0.1685 0.443 0.01627, -0.08424 0.4184 0.1601, 0.08424 0.4184 0.1601, +0.2355 0.5429 0.03803, 0.1178 0.5953 -0.1591, -0.1178 0.5953 -0.1591, +-0.2355 0.5429 0.03803, -0.1178 0.4906 0.2352, 0.1178 0.4906 0.2352, +0.1564 0.6404 0.0687, 0.07818 0.6868 -0.05852, -0.07818 0.6868 -0.05852, +-0.1564 0.6404 0.0687, -0.07818 0.5941 0.1959, 0.07818 0.5941 0.1959, +0.2179 0.7348 0.108, 0.109 0.8152 -0.06277, -0.109 0.8152 -0.06277, +-0.2179 0.7348 0.108, -0.109 0.6545 0.2788, 0.109 0.6545 0.2788, +0.1442 0.8253 0.1556, 0.07212 0.8884 0.04786, -0.07212 0.8884 0.04786, +-0.1442 0.8253 0.1556, -0.07212 0.7621 0.2634, 0.07212 0.7621 0.2634, +0.2004 0.9111 0.2112, 0.1002 1.012 0.07, -0.1002 1.012 0.07, +-0.2004 0.9111 0.2112, -0.1002 0.8103 0.3525, 0.1002 0.8103 0.3525, +0.1321 0.9915 0.2743, 0.06606 1.066 0.1875, -0.06606 1.066 0.1875, +-0.1321 0.9915 0.2743, -0.06606 0.917 0.3611, 0.06606 0.917 0.3611, +0.1828 1.066 0.3444, 0.09139 1.18 0.2341, -0.09139 1.18 0.2341, +-0.1828 1.066 0.3444, -0.09139 0.9524 0.4547, 0.09139 0.9524 0.4547, +0.12 1.134 0.4208, 0.06 1.215 0.3554, -0.06 1.215 0.3554, -0.1164 1.14 0.4358, +-0.06236 1.067 0.4947, 0.06 1.053 0.4862, 0 1.134 0.4208, 0.1842 1.284 0.5565, +0.1302 1.357 0.4976, 0.0222 1.357 0.4976, 0.1302 1.211 0.6154, +0.0762 1.284 0.5565, -0.1186 1.297 0.5403, -0.1726 1.224 0.5991, +-0.1186 1.152 0.658, -0.01065 1.152 0.658, -0.06465 1.224 0.5991, +0.06747 1.344 0.6357, -0.05592 1.291 0.6754] +} +texCoord DEF robot_arm-TEXCOORD TextureCoordinate { point [ +0.7547 0.0004995, 0.2502 0.0004995, 0.0004995 0.0004995, 0.2453 0.0004995, +0.2502 0.0004995, 0.51 0.0004995, 0.7366 0.1736, 0.3337 0.1958, +0.1028 0.1958, 0.2634 0.1736, 0.3337 0.1514, 0.576 0.1514, 0.7123 0.2639, +0.2676 0.3112, 0.0676 0.3112, 0.2877 0.2639, 0.2676 0.2166, 0.4921 0.2166, +0.678 0.352, 0.3457 0.394, 0.1799 0.394, 0.322 0.352, 0.6543 0.536, +0.536 0.3101, 0.6341 0.4373, 0.7151 0.8248, 0.1752 0.5099, 0.3659 0.4373, +0.2849 0.3647, 0.4434 0.3647, 0.5809 0.5191, 0.3577 0.5761, 0.2987 0.5761, +0.4191 0.5191, 0.6423 0.4605, 0.4605 0.462, 0.5188 0.5966, 0.6977 0.6766, +0.3234 0.6877, 0.4812 0.5966, 0.3023 0.5055, 0.3611 0.5055, 0.4484 0.6694, +0.3696 0.7368, 0.4547 0.7368, 0.5516 0.6694, 0.6304 0.3515, 0.3515 0.602, +0.3702 0.7367, 0.6804 0.4933, 0.5067 0.8393, 0.6298 0.7367, 0.3196 0.634, +0.247 0.634, 0.2848 0.798, 0.3816 0.871, 0.3578 0.871, 0.732 0.8036, +0.6231 0.2023, 0.2117 0.725, 0.2848 0.798, 0.1333 0.9338, 0.757 0.199, +0.801 0.9995, 0.06753 0.8681, 0.8667 0.9338, 0.8486 0.9455, 0.9143 0.8798, +0.2658 0.8141, 0.01992 0.8141, 0.08565 0.8798, 0.04484 0.9878, +0.0004995 0.9396, 0.7547 0.0004995, 0.8972 0.1958, 0.7366 0.1736, +0.7547 0.0004995, 0.9995 0.0004995, 0.8972 0.1958, 0.2502 0.0004995, +0.6663 0.1958, 0.3337 0.1958, 0.7498 0.0004995, 0.6663 0.1958, +0.0004995 0.0004995, 0.2634 0.1736, 0.1028 0.1958, 0.2453 0.0004995, +0.2634 0.1736, 0.2453 0.0004995, 0.424 0.1514, 0.2634 0.1736, +0.49 0.0004995, 0.424 0.1514, 0.2502 0.0004995, 0.6663 0.1514, +0.3337 0.1514, 0.7498 0.0004995, 0.6663 0.1514, 0.51 0.0004995, +0.7366 0.1736, 0.576 0.1514, 0.7366 0.1736, 0.7366 0.1736, 0.9324 0.3112, +0.7123 0.2639, 0.7366 0.1736, 0.8972 0.1958, 0.9324 0.3112, 0.3337 0.1958, +0.7324 0.3112, 0.2676 0.3112, 0.6663 0.1958, 0.7324 0.3112, 0.1028 0.1958, +0.2877 0.2639, 0.0676 0.3112, 0.2634 0.1736, 0.2877 0.2639, 0.2634 0.1736, +0.5079 0.2166, 0.2877 0.2639, 0.424 0.1514, 0.5079 0.2166, 0.3337 0.1514, +0.7324 0.2166, 0.2676 0.2166, 0.6663 0.1514, 0.7324 0.2166, 0.576 0.1514, +0.7123 0.2639, 0.4921 0.2166, 0.7123 0.2639, 0.7123 0.2639, 0.8201 0.394, +0.678 0.352, 0.7123 0.2639, 0.9324 0.3112, 0.8201 0.394, 0.2676 0.3112, +0.6543 0.394, 0.3457 0.394, 0.7324 0.3112, 0.6543 0.394, 0.0676 0.3112, +0.322 0.352, 0.1799 0.394, 0.2877 0.2639, 0.322 0.352, 0.2877 0.2639, +0.464 0.3101, 0.322 0.352, 0.5079 0.2166, 0.464 0.3101, 0.2676 0.2166, +0.6543 0.3101, 0.3457 0.3101, 0.7324 0.2166, 0.6543 0.3101, 0.4921 0.2166, +0.678 0.352, 0.536 0.3101, 0.678 0.352, 0.678 0.352, 0.8248 0.5099, +0.6341 0.4373, 0.678 0.352, 0.8201 0.394, 0.8248 0.5099, 0.3457 0.394, +0.7151 0.5099, 0.2849 0.5099, 0.6543 0.394, 0.7151 0.5099, 0.1799 0.394, +0.3659 0.4373, 0.1752 0.5099, 0.322 0.352, 0.3659 0.4373, 0.322 0.352, +0.5566 0.3647, 0.3659 0.4373, 0.464 0.3101, 0.5566 0.3647, 0.6543 0.536, +0.2849 0.4434, 0.7151 0.4434, 0.3457 0.536, 0.2849 0.4434, 0.536 0.3101, +0.6341 0.4373, 0.4434 0.3647, 0.6341 0.4373, 0.6341 0.4373, 0.7013 0.5761, +0.5809 0.5191, 0.6341 0.4373, 0.8248 0.5099, 0.7013 0.5761, 0.7151 0.8248, +0.3577 0.7013, 0.6423 0.7013, 0.2849 0.8248, 0.3577 0.7013, 0.1752 0.5099, +0.4191 0.5191, 0.2987 0.5761, 0.3659 0.4373, 0.4191 0.5191, 0.3659 0.4373, +0.5395 0.462, 0.4191 0.5191, 0.5566 0.3647, 0.5395 0.462, 0.2849 0.3647, +0.6423 0.462, 0.3577 0.462, 0.7151 0.3647, 0.6423 0.462, 0.4434 0.3647, +0.5809 0.5191, 0.4605 0.462, 0.5809 0.5191, 0.5809 0.5191, 0.6766 0.6877, +0.5188 0.5966, 0.5809 0.5191, 0.7013 0.5761, 0.6766 0.6877, 0.3577 0.5761, +0.6977 0.6877, 0.3023 0.6877, 0.6423 0.5761, 0.6977 0.6877, 0.2987 0.5761, +0.4812 0.5966, 0.3234 0.6877, 0.4191 0.5191, 0.4812 0.5966, 0.4191 0.5191, +0.6389 0.5055, 0.4812 0.5966, 0.5395 0.462, 0.6389 0.5055, 0.6423 0.4605, +0.3023 0.3611, 0.6977 0.3611, 0.3577 0.4605, 0.3023 0.3611, 0.4605 0.462, +0.5188 0.5966, 0.3611 0.5055, 0.5188 0.5966, 0.5188 0.5966, 0.5453 0.7368, +0.4484 0.6694, 0.5188 0.5966, 0.6766 0.6877, 0.5453 0.7368, 0.6977 0.6766, +0.3696 0.5453, 0.6304 0.5453, 0.3023 0.6766, 0.3696 0.5453, 0.3234 0.6877, +0.5516 0.6694, 0.4547 0.7368, 0.4812 0.5966, 0.5516 0.6694, 0.4812 0.5966, +0.6485 0.602, 0.5516 0.6694, 0.6389 0.5055, 0.6485 0.602, 0.3023 0.5055, +0.6304 0.602, 0.3696 0.602, 0.6977 0.5055, 0.6304 0.602, 0.3611 0.5055, +0.4484 0.6694, 0.3515 0.602, 0.4484 0.6694, 0.4484 0.6694, 0.4933 0.8393, +0.3702 0.7367, 0.4484 0.6694, 0.5453 0.7368, 0.4933 0.8393, 0.3696 0.7368, +0.6804 0.8393, 0.3196 0.8393, 0.6304 0.7368, 0.6804 0.8393, 0.4547 0.7368, +0.6298 0.7367, 0.5067 0.8393, 0.5516 0.6694, 0.6298 0.7367, 0.5516 0.6694, +0.753 0.634, 0.6298 0.7367, 0.6485 0.602, 0.753 0.634, 0.6304 0.3515, +0.3196 0.247, 0.6804 0.247, 0.3696 0.3515, 0.3196 0.247, 0.3515 0.602, +0.3702 0.7367, 0.247 0.634, 0.3702 0.7367, 0.3702 0.7367, 0.3578 0.871, +0.2848 0.798, 0.3702 0.7367, 0.4933 0.8393, 0.3578 0.871, 0.6804 0.4933, +0.3816 0.3578, 0.6184 0.3578, 0.3196 0.4933, 0.3816 0.3578, 0.5067 0.8393, +0.732 0.8036, 0.6422 0.871, 0.6298 0.7367, 0.732 0.8036, 0.6298 0.7367, +0.7977 0.7379, 0.732 0.8036, 0.753 0.634, 0.7977 0.7379, 0.3196 0.634, +0.6184 0.725, 0.3769 0.7379, 0.6804 0.634, 0.6184 0.725, 0.247 0.634, +0.2848 0.798, 0.2117 0.725, 0.2848 0.798, 0.2848 0.798, 0.3578 0.871, +0.199 0.9995, 0.199 0.9995, 0.1333 0.9338, 0.2848 0.798, 0.3816 0.871, +0.6184 0.871, 0.4562 0.9995, 0.4562 0.9995, 0.243 0.9995, 0.2117 0.725, +0.1333 0.9338, 0.1333 0.9338, 0.06753 0.8681, 0.2117 0.725, 0.6422 0.871, +0.7152 0.798, 0.8667 0.9338, 0.8667 0.9338, 0.801 0.9995, 0.6422 0.871, +0.7152 0.798, 0.7883 0.725, 0.9325 0.8681, 0.9325 0.8681, 0.8667 0.9338, +0.7152 0.798, 0.6422 0.871, 0.732 0.8036, 0.9143 0.8798, 0.9143 0.8798, +0.8486 0.9455, 0.6422 0.871, 0.732 0.8036, 0.7977 0.7379, 0.9801 0.8141, +0.9801 0.8141, 0.9143 0.8798, 0.6231 0.2023, 0.3816 0.2117, 0.521 0.01992, +0.521 0.01992, 0.7342 0.01992, 0.2848 0.798, 0.1514 0.9455, 0.1514 0.9455, +0.08565 0.8798, 0.2848 0.798, 0.2117 0.725, 0.08565 0.8798, 0.08565 0.8798, +0.01992 0.8141, 0.1333 0.9338, 0.199 0.9995, 0.04484 0.9878, +0.5438 0.199, 0.6332 0.04484, 0.8667 0.9338, 0.9552 0.9878, 0.9325 0.8681, +0.9552 0.9878, 0.08565 0.8798, 0.1514 0.9455, 0.0004995 0.9396, +0.9143 0.8798, 0.9995 0.9396, 0.9801 0.8141, 0.9995 0.9396, 0.479 0.8141, +0.3896 0.9396] +} +coordIndex [ +0, 7, 6, -1, 0, 1, 7, -1, 1, 8, 7, -1, 1, 2, 8, -1, 2, 9, 8, -1, +2, 3, 9, -1, 3, 10, 9, -1, 3, 4, 10, -1, 4, 11, 10, -1, 4, 5, 11, -1, +5, 6, 11, -1, 5, 0, 6, -1, 6, 13, 12, -1, 6, 7, 13, -1, 7, 14, 13, -1, +7, 8, 14, -1, 8, 15, 14, -1, 8, 9, 15, -1, 9, 16, 15, -1, 9, 10, 16, -1, +10, 17, 16, -1, 10, 11, 17, -1, 11, 12, 17, -1, 11, 6, 12, -1, +12, 19, 18, -1, 12, 13, 19, -1, 13, 20, 19, -1, 13, 14, 20, -1, +14, 21, 20, -1, 14, 15, 21, -1, 15, 22, 21, -1, 15, 16, 22, -1, +16, 23, 22, -1, 16, 17, 23, -1, 17, 18, 23, -1, 17, 12, 18, -1, +18, 25, 24, -1, 18, 19, 25, -1, 19, 26, 25, -1, 19, 20, 26, -1, +20, 27, 26, -1, 20, 21, 27, -1, 21, 28, 27, -1, 21, 22, 28, -1, +22, 29, 28, -1, 22, 23, 29, -1, 23, 24, 29, -1, 23, 18, 24, -1, +24, 31, 30, -1, 24, 25, 31, -1, 25, 32, 31, -1, 25, 26, 32, -1, +26, 33, 32, -1, 26, 27, 33, -1, 27, 34, 33, -1, 27, 28, 34, -1, +28, 35, 34, -1, 28, 29, 35, -1, 29, 30, 35, -1, 29, 24, 30, -1, +30, 37, 36, -1, 30, 31, 37, -1, 31, 38, 37, -1, 31, 32, 38, -1, +32, 39, 38, -1, 32, 33, 39, -1, 33, 40, 39, -1, 33, 34, 40, -1, +34, 41, 40, -1, 34, 35, 41, -1, 35, 36, 41, -1, 35, 30, 36, -1, +36, 43, 42, -1, 36, 37, 43, -1, 37, 44, 43, -1, 37, 38, 44, -1, +38, 45, 44, -1, 38, 39, 45, -1, 39, 46, 45, -1, 39, 40, 46, -1, +40, 47, 46, -1, 40, 41, 47, -1, 41, 42, 47, -1, 41, 36, 42, -1, +42, 49, 48, -1, 42, 43, 49, -1, 43, 50, 49, -1, 43, 44, 50, -1, +44, 51, 50, -1, 44, 45, 51, -1, 45, 52, 51, -1, 45, 46, 52, -1, +46, 53, 52, -1, 46, 47, 53, -1, 47, 48, 53, -1, 47, 42, 48, -1, +48, 55, 54, -1, 48, 49, 55, -1, 49, 56, 55, -1, 49, 50, 56, -1, +50, 57, 56, -1, 50, 51, 57, -1, 51, 58, 57, -1, 51, 52, 58, -1, +52, 59, 58, -1, 52, 53, 59, -1, 53, 54, 59, -1, 53, 48, 54, -1, +] +} +} +Shape { +appearance Appearance { +material Material { +diffuseColor 0.5765 0.6784 0.6824 +ambientIntensity 0.1281 +specularColor 0.441 0.441 0.441 +shininess 0.373 +transparency 0 +} +texture ImageTexture { +url "robot.gif" +} +} +geometry DEF robot_arm-FACES IndexedFaceSet { creaseAngle 1 +ccw TRUE +solid TRUE +coord USE robot_arm-COORD +texCoord USE robot_arm-TEXCOORD +coordIndex [ +54, 55, 62, -1, 62, 61, 54, -1, 55, 56, 63, -1, 63, 62, 55, -1, +59, 54, 61, -1, 61, 64, 59, -1, 56, 60, 65, -1, 65, 63, 56, -1, +60, 59, 64, -1, 64, 65, 60, -1, 56, 57, 67, -1, 67, 66, 56, -1, +57, 58, 68, -1, 68, 67, 57, -1, 58, 59, 69, -1, 69, 68, 58, -1, +60, 56, 66, -1, 66, 70, 60, -1, 59, 60, 70, -1, 70, 69, 59, -1, +61, 62, 71, -1, 62, 63, 71, -1, 63, 65, 71, -1, 65, 64, 71, -1, +64, 61, 71, -1, 70, 66, 72, -1, 66, 67, 72, -1, 67, 68, 72, -1, +68, 69, 72, -1, 69, 70, 72, -1] +texCoordIndex [ +343, 344, 345, -1, 346, 347, 348, -1, 349, 350, 351, -1, 352, 353, 55, -1, +354, 54, 355, -1, 356, 357, 358, -1, 359, 360, 361, -1, 362, 363, 364, -1, +365, 366, 367, -1, 368, 369, 370, -1, 371, 372, 373, -1, 374, 375, 376, -1, +377, 378, 379, -1, 380, 381, 57, -1, 382, 383, 384, -1, 385, 386, 58, -1, +387, 56, 388, -1, 389, 390, 391, -1, 392, 60, 393, -1, 394, 395, 59, -1, +396, 397, 398, -1, 62, 399, 400, -1, 63, 401, 402, -1, 65, 403, 404, -1, +64, 61, 71, -1, 405, 406, 407, -1, 66, 408, 409, -1, 67, 410, 411, -1, +68, 412, 413, -1, 69, 70, 72, -1] +} +} +DEF robot_arm-COORD-INTERP CoordinateInterpolator { +key [0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1, ] +keyValue [0.2531 0.2515 0, +0.1265 0.2515 -0.2192, -0.1265 0.2515 -0.2192, -0.2531 0.2515 0, +-0.1265 0.2515 0.2192, 0.1265 0.2515 0.2192, 0.1685 0.443 0.01627, +0.08424 0.4676 -0.1275, -0.08424 0.4676 -0.1275, -0.1685 0.443 0.01627, +-0.08424 0.4184 0.1601, 0.08424 0.4184 0.1601, 0.2355 0.5429 0.03803, +0.1178 0.5953 -0.1591, -0.1178 0.5953 -0.1591, -0.2355 0.5429 0.03803, +-0.1178 0.4906 0.2352, 0.1178 0.4906 0.2352, 0.1564 0.6404 0.0687, +0.07818 0.6868 -0.05852, -0.07818 0.6868 -0.05852, -0.1564 0.6404 0.0687, +-0.07818 0.5941 0.1959, 0.07818 0.5941 0.1959, 0.2179 0.7348 0.108, +0.109 0.8152 -0.06277, -0.109 0.8152 -0.06277, -0.2179 0.7348 0.108, +-0.109 0.6545 0.2788, 0.109 0.6545 0.2788, 0.1442 0.8253 0.1556, +0.07212 0.8884 0.04786, -0.07212 0.8884 0.04786, -0.1442 0.8253 0.1556, +-0.07212 0.7621 0.2634, 0.07212 0.7621 0.2634, 0.2004 0.9111 0.2112, +0.1002 1.012 0.07, -0.1002 1.012 0.07, -0.2004 0.9111 0.2112, +-0.1002 0.8103 0.3525, 0.1002 0.8103 0.3525, 0.1321 0.9915 0.2743, +0.06606 1.066 0.1875, -0.06606 1.066 0.1875, -0.1321 0.9915 0.2743, +-0.06606 0.917 0.3611, 0.06606 0.917 0.3611, 0.1828 1.066 0.3444, +0.09139 1.18 0.2341, -0.09139 1.18 0.2341, -0.1828 1.066 0.3444, +-0.09139 0.9524 0.4547, 0.09139 0.9524 0.4547, 0.12 1.134 0.4208, +0.06 1.215 0.3554, -0.06 1.215 0.3554, -0.1164 1.14 0.4358, -0.06236 1.067 0.4947, +0.06 1.053 0.4862, 0 1.134 0.4208, 0.1842 1.284 0.5565, 0.1302 1.357 0.4976, +0.0222 1.357 0.4976, 0.1302 1.211 0.6154, 0.0762 1.284 0.5565, +-0.1186 1.297 0.5403, -0.1726 1.224 0.5991, -0.1186 1.152 0.658, +-0.01065 1.152 0.658, -0.06465 1.224 0.5991, 0.06747 1.344 0.6357, +-0.05592 1.291 0.6754, 0.2466 0.2515 0.006434, 0.1205 0.2515 -0.2131, +-0.1329 0.2515 -0.2128, -0.2602 0.2515 0.007091, -0.134 0.2515 0.2266, +0.1194 0.2515 0.2263, 0.1614 0.443 0.02333, 0.07687 0.4676 -0.1202, +-0.09182 0.4676 -0.12, -0.176 0.443 0.02376, -0.09142 0.4184 0.1673, +0.07727 0.4184 0.167, 0.2203 0.5429 0.05328, 0.1011 0.5953 -0.1424, +-0.1347 0.5953 -0.1421, -0.2514 0.5429 0.05389, -0.1322 0.4906 0.2496, +0.1036 0.4906 0.2493, 0.1367 0.6404 0.08835, 0.05669 0.6868 -0.03703, +-0.09988 0.6868 -0.03682, -0.1764 0.6404 0.08876, -0.0964 0.5941 0.2141, +0.06016 0.5941 0.2139, 0.1863 0.7348 0.1397, 0.07315 0.8152 -0.02695, +-0.1451 0.8152 -0.02667, -0.2501 0.7348 0.1402, -0.137 0.6545 0.3068, +0.0812 0.6545 0.3066, 0.1036 0.8253 0.1962, 0.02749 0.8884 0.09249, +-0.1169 0.8884 0.09268, -0.1852 0.8253 0.1966, -0.109 0.7621 0.3004, +0.03538 0.7621 0.3002, 0.1442 0.9111 0.2674, 0.03638 1.012 0.1338, +-0.1642 1.012 0.1341, -0.257 0.9111 0.2679, -0.1491 0.8103 0.4014, +0.05149 0.8103 0.4012, 0.06294 0.9915 0.3435, -0.009733 1.066 0.2633, +-0.142 1.066 0.2635, -0.2016 0.9915 0.3438, -0.129 0.917 0.424, +0.003325 0.917 0.4238, 0.09496 1.066 0.4322, -0.007957 1.18 0.3334, +-0.191 1.18 0.3337, -0.2711 1.066 0.4327, -0.1682 0.9524 0.5314, +0.01486 0.9524 0.5312, 0.01552 1.134 0.5253, -0.05374 1.215 0.4692, +-0.1739 1.215 0.4693, -0.2236 1.14 0.5431, -0.1613 1.067 0.5936, +-0.03536 1.053 0.5816, -0.1031 1.134 0.524, 0.03294 1.284 0.7078, +-0.02915 1.357 0.657, -0.1356 1.357 0.6554, -0.01137 1.211 0.7569, +-0.07224 1.284 0.7049, -0.2692 1.297 0.6908, -0.3165 1.224 0.743, +-0.2543 1.152 0.7936, -0.1447 1.152 0.792, -0.2057 1.224 0.7402, +-0.1044 1.344 0.8076, -0.2213 1.291 0.8408, 0.2452 0.2515 0.007843, +0.1191 0.2515 -0.2118, -0.1343 0.2515 -0.2114, -0.2617 0.2515 0.008643, +-0.1356 0.2515 0.2283, 0.1179 0.2515 0.2279, 0.1599 0.443 0.02487, +0.07526 0.4676 -0.1186, -0.09348 0.4676 -0.1183, -0.1776 0.443 0.0254, +-0.093 0.4184 0.1688, 0.07575 0.4184 0.1686, 0.2169 0.5429 0.05662, +0.09745 0.5953 -0.1388, -0.1384 0.5953 -0.1384, -0.2548 0.5429 0.05736, +-0.1354 0.4906 0.2528, 0.1005 0.4906 0.2524, 0.1324 0.6404 0.09266, +0.05198 0.6868 -0.03232, -0.1046 0.6868 -0.03207, -0.1808 0.6404 0.09315, +-0.1004 0.5941 0.2181, 0.05621 0.5941 0.2179, 0.1793 0.7348 0.1466, +0.06531 0.8152 -0.01911, -0.153 0.8152 -0.01877, -0.2572 0.7348 0.1473, +-0.1432 0.6545 0.313, 0.07512 0.6545 0.3126, 0.09476 0.8253 0.2051, +0.01771 0.8884 0.1023, -0.1268 0.8884 0.1025, -0.1942 0.8253 0.2056, +-0.1171 0.7621 0.3085, 0.02733 0.7621 0.3082, 0.132 0.9111 0.2796, +0.02241 1.012 0.1478, -0.1783 1.012 0.1481, -0.2694 0.9111 0.2803, +-0.1599 0.8103 0.4121, 0.04082 0.8103 0.4118, 0.04779 0.9915 0.3586, +-0.02633 1.066 0.2799, -0.1587 1.066 0.2801, -0.2169 0.9915 0.3591, +-0.1427 0.917 0.4378, -0.01041 0.917 0.4376, 0.07573 1.066 0.4514, +-0.02971 1.18 0.3552, -0.2128 1.18 0.3555, -0.2904 1.066 0.452, +-0.185 0.9524 0.5482, -0.001902 0.9524 0.5479, -0.007354 1.134 0.5482, +-0.07865 1.215 0.4941, -0.1988 1.215 0.4943, -0.2471 1.14 0.5666, +-0.1829 1.067 0.6153, -0.05625 1.053 0.6025, -0.1257 1.134 0.5465, +-0.0001792 1.284 0.7409, -0.06404 1.357 0.6919, -0.1701 1.357 0.6899, +-0.04237 1.211 0.7879, -0.1047 1.284 0.7374, -0.3021 1.297 0.7237, +-0.348 1.224 0.7745, -0.284 1.152 0.8233, -0.174 1.152 0.8213, +-0.2366 1.224 0.771, -0.1421 1.344 0.8452, -0.2576 1.291 0.877, +0.2469 0.2515 0.006132, 0.1207 0.2515 -0.2134, -0.1326 0.2515 -0.2131, +-0.2598 0.2515 0.006757, -0.1336 0.2515 0.2263, 0.1198 0.2515 0.226, +0.1618 0.443 0.02299, 0.07722 0.4676 -0.1205, -0.09147 0.4676 -0.1203, +-0.1756 0.443 0.02341, -0.09108 0.4184 0.1669, 0.0776 0.4184 0.1667, +0.221 0.5429 0.05256, 0.1019 0.5953 -0.1432, -0.1339 0.5953 -0.1429, +-0.2506 0.5429 0.05314, -0.1315 0.4906 0.2489, 0.1043 0.4906 0.2486, +0.1376 0.6404 0.08743, 0.0577 0.6868 -0.03804, -0.09885 0.6868 -0.03784, +-0.1755 0.6404 0.08781, -0.09554 0.5941 0.2133, 0.06101 0.5941 0.2131, +0.1878 0.7348 0.1382, 0.07483 0.8152 -0.02864, -0.1434 0.8152 -0.02837, +-0.2486 0.7348 0.1387, -0.1357 0.6545 0.3055, 0.0825 0.6545 0.3052, +0.1056 0.8253 0.1943, 0.02959 0.8884 0.09039, -0.1148 0.8884 0.09057, +-0.1833 0.8253 0.1947, -0.1073 0.7621 0.2986, 0.03711 0.7621 0.2984, +0.1469 0.9111 0.2647, 0.03938 1.012 0.1308, -0.1612 1.012 0.131, +-0.2543 0.9111 0.2652, -0.1468 0.8103 0.3991, 0.05378 0.8103 0.3989, +0.0662 0.9915 0.3402, -0.006166 1.066 0.2598, -0.1384 1.066 0.2599, +-0.1984 0.9915 0.3406, -0.126 0.917 0.421, 0.006277 0.917 0.4209, +0.09909 1.066 0.4281, -0.003282 1.18 0.3288, -0.1863 1.18 0.329, +-0.2669 1.066 0.4285, -0.1645 0.9524 0.5278, 0.01846 0.9524 0.5276, +0.02044 1.134 0.5204, -0.04839 1.215 0.4638, -0.1685 1.215 0.464, +-0.2186 1.14 0.538, -0.1566 1.067 0.5889, -0.03088 1.053 0.5771, +-0.09826 1.134 0.5191, 0.04006 1.284 0.7006, -0.02165 1.357 0.6495, +-0.1281 1.357 0.648, -0.00471 1.211 0.7503, -0.06525 1.284 0.698, +-0.2621 1.297 0.6837, -0.3097 1.224 0.7362, -0.2479 1.152 0.7872, +-0.1383 1.152 0.7857, -0.199 1.224 0.7335, -0.09633 1.344 0.7995, +-0.2136 1.291 0.833, 0.2519 0.2515 0.00121, 0.1254 0.2515 -0.218, +-0.1277 0.2515 -0.218, -0.2544 0.2515 0.001333, -0.1279 0.2515 0.2206, +0.1252 0.2515 0.2205, 0.1672 0.443 0.0176, 0.08285 0.4676 -0.1262, +-0.08567 0.4676 -0.1261, -0.1699 0.443 0.01768, -0.08559 0.4184 0.1614, +0.08293 0.4184 0.1614, 0.2326 0.5429 0.0409, 0.1146 0.5953 -0.156, +-0.1209 0.5953 -0.1559, -0.2385 0.5429 0.04102, -0.1205 0.4906 0.2379, +0.1151 0.4906 0.2378, 0.1527 0.6404 0.07239, 0.07414 0.6868 -0.05448, +-0.08226 0.6868 -0.05444, -0.1601 0.6404 0.07247, -0.08161 0.5941 0.1993, +0.07479 0.5941 0.1993, 0.212 0.7348 0.114, 0.1022 0.8152 -0.05604, +-0.1158 0.8152 -0.05598, -0.224 0.7348 0.1141, -0.1142 0.6545 0.2841, +0.1037 0.6545 0.284, 0.1366 0.8253 0.1633, 0.06373 0.8884 0.05625, +-0.08055 0.8884 0.05629, -0.1519 0.8253 0.1634, -0.07906 0.7621 0.2704, +0.06521 0.7621 0.2703, 0.1898 0.9111 0.2218, 0.08818 1.012 0.082, +-0.1122 1.012 0.08205, -0.211 0.9111 0.2219, -0.1094 0.8103 0.3617, +0.09102 0.8103 0.3616, 0.1191 0.9915 0.2873, 0.05181 1.066 0.2018, +-0.08034 1.066 0.2018, -0.1452 0.9915 0.2874, -0.07789 0.917 0.3729, +0.05426 0.917 0.3729, 0.1663 1.066 0.3609, 0.07271 1.18 0.2528, +-0.1101 1.18 0.2528, -0.1994 1.066 0.361, -0.1058 0.9524 0.4691, +0.077 0.9524 0.469, 0.1004 1.134 0.4405, 0.03861 1.215 0.3768, +-0.08142 1.215 0.3769, -0.1365 1.14 0.456, -0.08095 1.067 0.5133, +0.04207 1.053 0.5042, -0.01939 1.134 0.4402, 0.1558 1.284 0.5849, +0.1002 1.357 0.5276, -0.007465 1.357 0.5273, 0.1036 1.211 0.642, +0.04829 1.284 0.5844, -0.1469 1.297 0.5686, -0.1997 1.224 0.6262, +-0.1441 1.152 0.6835, -0.03585 1.152 0.6832, -0.09117 1.224 0.6257, +0.03515 1.344 0.668, -0.08703 1.291 0.7065, 0.2584 0.2515 -0.005355, +0.1316 0.2515 -0.2242, -0.1212 0.2515 -0.2245, -0.2472 0.2515 -0.005901, +-0.1203 0.2515 0.213, 0.1325 0.2515 0.2132, 0.1744 0.443 0.0104, +0.09037 0.4676 -0.1337, -0.07793 0.4676 -0.1339, -0.1622 0.443 0.01003, +-0.07826 0.4184 0.1541, 0.09004 0.4184 0.1543, 0.2482 0.5429 0.02535, +0.1316 0.5953 -0.1729, -0.1036 0.5953 -0.1732, -0.2223 0.5429 0.02484, +-0.1057 0.4906 0.2231, 0.1295 0.4906 0.2234, 0.1727 0.6404 0.05234, +0.09607 0.6868 -0.07641, -0.06012 0.6868 -0.07658, -0.1397 0.6404 0.052, +-0.06301 0.5941 0.1807, 0.09318 0.5941 0.1809, 0.2443 0.7348 0.08167, +0.1388 0.8152 -0.09258, -0.07892 0.8152 -0.09281, -0.1911 0.7348 0.0812, +-0.08562 0.6545 0.2554, 0.1321 0.6545 0.2557, 0.178 0.8253 0.1219, +0.1093 0.8884 0.01072, -0.03482 0.8884 0.01056, -0.1101 0.8253 0.1216, +-0.04139 0.7621 0.2327, 0.1027 0.7621 0.2329, 0.2471 0.9111 0.1645, +0.1533 1.012 0.01691, -0.04687 1.012 0.01669, -0.1532 0.9111 0.1641, +-0.05944 0.8103 0.3117, 0.1407 0.8103 0.3119, 0.1897 0.9915 0.2167, +0.1291 1.066 0.1245, -0.002842 1.066 0.1243, -0.07426 0.9915 0.2165, +-0.01371 0.917 0.3087, 0.1183 0.917 0.3089, 0.2559 1.066 0.2713, +0.1741 1.18 0.1514, -0.008515 1.18 0.1512, -0.1093 1.066 0.2709, +-0.0275 0.9524 0.3908, 0.1551 0.9524 0.391, 0.2069 1.134 0.3339, +0.1547 1.215 0.2608, 0.03479 1.215 0.2607, -0.02711 1.14 0.3466, +0.01995 1.067 0.4124, 0.1394 1.053 0.4069, 0.08581 1.134 0.335, +0.3101 1.284 0.4306, 0.2628 1.357 0.365, 0.1535 1.357 0.3664, +0.248 1.211 0.4976, 0.1997 1.284 0.433, 0.006605 1.297 0.415, +-0.05292 1.224 0.4794, -0.005789 1.152 0.5451, 0.1009 1.152 0.5465, +0.05272 1.224 0.4818, 0.2105 1.344 0.4926, 0.08175 1.291 0.5377, +0.2614 0.2515 -0.008313, 0.1344 0.2515 -0.227, -0.1183 0.2515 -0.2274, +-0.2439 0.2515 -0.00916, -0.1169 0.2515 0.2096, 0.1357 0.2515 0.21, +0.1776 0.443 0.007153, 0.09376 0.4676 -0.1371, -0.07444 0.4676 -0.1373, +-0.1588 0.443 0.006589, -0.07496 0.4184 0.1508, 0.09324 0.4184 0.1511, +0.2552 0.5429 0.01834, 0.1393 0.5953 -0.1806, -0.09584 0.5953 -0.181, +-0.215 0.5429 0.01755, -0.09909 0.4906 0.2165, 0.136 0.4906 0.2169, +0.1818 0.6404 0.0433, 0.1059 0.6868 -0.08629, -0.05015 0.6868 -0.08655, +-0.1304 0.6404 0.04278, -0.05464 0.5941 0.1724, 0.1015 0.5941 0.1726, +0.2588 0.7348 0.06712, 0.1552 0.8152 -0.109, -0.06233 0.8152 -0.1094, +-0.1763 0.7348 0.06639, -0.07273 0.6545 0.2425, 0.1448 0.6545 0.2429, +0.1967 0.8253 0.1032, 0.1298 0.8884 -0.009798, -0.01422 0.8884 -0.01004, +-0.09131 0.8253 0.1027, -0.02441 0.7621 0.2157, 0.1196 0.7621 0.216, +0.2729 0.9111 0.1387, 0.1826 1.012 -0.01242, -0.01742 1.012 -0.01275, +-0.1272 0.9111 0.1381, -0.03694 0.8103 0.2892, 0.1631 0.8103 0.2896, +0.2215 0.9915 0.1849, 0.164 1.066 0.08963, 0.03208 1.066 0.08941, +-0.04231 0.9915 0.1845, 0.01521 0.917 0.2798, 0.1471 0.917 0.28, +0.2962 1.066 0.2309, 0.2197 1.18 0.1057, 0.03726 1.18 0.1054, +-0.06871 1.066 0.2303, 0.007787 0.9524 0.3555, 0.1903 0.9524 0.3558, +0.255 1.134 0.2859, 0.2069 1.215 0.2085, 0.08714 1.215 0.2083, +0.02219 1.14 0.2973, 0.06541 1.067 0.3669, 0.1832 1.053 0.363, +0.1332 1.134 0.2876, 0.3796 1.284 0.3611, 0.3361 1.357 0.2918, +0.226 1.357 0.2938, 0.3131 1.211 0.4325, 0.268 1.284 0.3647, +0.07579 1.297 0.3458, 0.01321 1.224 0.4133, 0.05655 1.152 0.4828, +0.1625 1.152 0.4849, 0.1175 1.224 0.4169, 0.2895 1.344 0.4136, +0.1578 1.291 0.4617, 0.2587 0.2515 -0.005585, 0.1318 0.2515 -0.2244, +-0.121 0.2515 -0.2247, -0.2469 0.2515 -0.006155, -0.1201 0.2515 0.2127, +0.1327 0.2515 0.213, 0.1746 0.443 0.01014, 0.09063 0.4676 -0.1339, +-0.07765 0.4676 -0.1341, -0.162 0.443 0.009765, -0.078 0.4184 0.1538, +0.09028 0.4184 0.154, 0.2487 0.5429 0.0248, 0.1322 0.5953 -0.1735, +-0.103 0.5953 -0.1738, -0.2217 0.5429 0.02427, -0.1052 0.4906 0.2226, +0.13 0.4906 0.2229, 0.1734 0.6404 0.05163, 0.09684 0.6868 -0.07718, +-0.05935 0.6868 -0.07735, -0.1389 0.6404 0.05128, -0.06236 0.5941 0.1801, +0.09382 0.5941 0.1803, 0.2454 0.7348 0.08053, 0.1401 0.8152 -0.09386, +-0.07763 0.8152 -0.09411, -0.19 0.7348 0.08004, -0.08462 0.6545 0.2544, +0.1331 0.6545 0.2547, 0.1795 0.8253 0.1204, 0.1109 0.8884 0.009118, +-0.03321 0.8884 0.008955, -0.1087 0.8253 0.1201, -0.04006 0.7621 0.2314, +0.104 0.7621 0.2315, 0.2491 0.9111 0.1625, 0.1556 1.012 0.01462, +-0.04457 1.012 0.0144, -0.1512 0.9111 0.1621, -0.05769 0.8103 0.31, +0.1424 0.8103 0.3102, 0.1922 0.9915 0.2143, 0.1319 1.066 0.1217, +-0.0001186 1.066 0.1216, -0.07177 0.9915 0.214, -0.01145 0.917 0.3065, +0.1205 0.917 0.3066, 0.259 1.066 0.2681, 0.1776 1.18 0.1479, +-0.004945 1.18 0.1476, -0.1061 1.066 0.2677, -0.02475 0.9524 0.388, +0.1578 0.9524 0.3882, 0.2107 1.134 0.3302, 0.1587 1.215 0.2567, +0.03887 1.215 0.2566, -0.02326 1.14 0.3427, 0.02349 1.067 0.4089, +0.1428 1.053 0.4035, 0.08951 1.134 0.3313, 0.3155 1.284 0.4252, +0.2685 1.357 0.3593, 0.1591 1.357 0.3607, 0.2531 1.211 0.4925, +0.205 1.284 0.4277, 0.012 1.297 0.4096, -0.04776 1.224 0.4743, +-0.0009282 1.152 0.5403, 0.1057 1.152 0.5417, 0.05777 1.224 0.4767, +0.2167 1.344 0.4865, 0.08768 1.291 0.5318, 0.2542 0.2515 -0.001159, +0.1276 0.2515 -0.2203, -0.1254 0.2515 -0.2203, -0.2518 0.2515 -0.001277, +-0.1252 0.2515 0.2178, 0.1278 0.2515 0.2179, 0.1697 0.443 0.015, +0.08557 0.4676 -0.1289, -0.08287 0.4676 -0.1289, -0.1671 0.443 0.01492, +-0.08294 0.4184 0.1588, 0.08549 0.4184 0.1588, 0.2383 0.5429 0.03529, +0.1208 0.5953 -0.1621, -0.1147 0.5953 -0.1621, -0.2326 0.5429 0.03518, +-0.1152 0.4906 0.2326, 0.1203 0.4906 0.2326, 0.1599 0.6404 0.06516, +0.08205 0.6868 -0.06239, -0.07427 0.6868 -0.06243, -0.1527 0.6404 0.06508, +-0.0749 0.5941 0.1926, 0.08142 0.5941 0.1927, 0.2236 0.7348 0.1023, +0.1154 0.8152 -0.06922, -0.1025 0.8152 -0.06927, -0.2121 0.7348 0.1022, +-0.1039 0.6545 0.2737, 0.114 0.6545 0.2738, 0.1515 0.8253 0.1483, +0.08016 0.8884 0.03982, -0.06405 0.8884 0.03979, -0.1369 0.8253 0.1483, +-0.06547 0.7621 0.2568, 0.07874 0.7621 0.2568, 0.2105 0.9111 0.2011, +0.1117 1.012 0.05851, -0.08864 1.012 0.05846, -0.1902 0.9111 0.201, +-0.09136 0.8103 0.3436, 0.1089 0.8103 0.3437, 0.1446 0.9915 0.2619, +0.07971 1.066 0.1739, -0.05238 1.066 0.1739, -0.1196 0.9915 0.2618, +-0.05473 0.917 0.3498, 0.07736 0.917 0.3498, 0.1986 1.066 0.3286, +0.1093 1.18 0.2162, -0.07345 1.18 0.2162, -0.1669 1.066 0.3285, +-0.07756 0.9524 0.4408, 0.1052 0.9524 0.4409, 0.1388 1.134 0.402, +0.08049 1.215 0.335, -0.03948 1.215 0.3349, -0.09704 1.14 0.4165, +-0.04454 1.067 0.4769, 0.07718 1.053 0.4691, 0.01857 1.134 0.4023, +0.2114 1.284 0.5293, 0.1589 1.357 0.4689, 0.05061 1.357 0.4692, +0.1557 1.211 0.5899, 0.1029 1.284 0.5298, -0.09154 1.297 0.5132, +-0.1467 1.224 0.5732, -0.09422 1.152 0.6336, 0.01349 1.152 0.6339, +-0.03925 1.224 0.5737, 0.09843 1.344 0.6047, -0.02612 1.291 0.6456, +] +} +] +}, +DEF robot_arm_02 Transform { +translation 0.416 1.789 0.0968 +rotation -0.5421 -0.2226 0.8103 -1.63 +scale 0.6667 0.6667 1 +scaleOrientation 0.1943 -0.8593 0.4732 -0.8568 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 0 0 0 +ambientIntensity 0 +specularColor 0.567 0.567 0.567 +shininess 0.3445 +transparency 0 +} +} +geometry DEF robot_arm_02-FACES IndexedFaceSet { creaseAngle 1 +ccw TRUE +solid TRUE +coord DEF robot_arm_02-COORD Coordinate { point [ +0.2531 0.2515 0, 0.1265 0.2515 -0.2192, -0.1265 0.2515 -0.2192, +-0.2531 0.2515 0, -0.1265 0.2515 0.2192, 0.1265 0.2515 0.2192, +0.1685 0.443 0.01627, 0.08424 0.4676 -0.1275, -0.08424 0.4676 -0.1275, +-0.1685 0.443 0.01627, -0.08424 0.4184 0.1601, 0.08424 0.4184 0.1601, +0.2355 0.5429 0.03803, 0.1178 0.5953 -0.1591, -0.1178 0.5953 -0.1591, +-0.2355 0.5429 0.03803, -0.1178 0.4906 0.2352, 0.1178 0.4906 0.2352, +0.1564 0.6404 0.0687, 0.07818 0.6868 -0.05852, -0.07818 0.6868 -0.05852, +-0.1564 0.6404 0.0687, -0.07818 0.5941 0.1959, 0.07818 0.5941 0.1959, +0.2179 0.7348 0.108, 0.109 0.8152 -0.06277, -0.109 0.8152 -0.06277, +-0.2179 0.7348 0.108, -0.109 0.6545 0.2788, 0.109 0.6545 0.2788, +0.1442 0.8253 0.1556, 0.07212 0.8884 0.04786, -0.07212 0.8884 0.04786, +-0.1442 0.8253 0.1556, -0.07212 0.7621 0.2634, 0.07212 0.7621 0.2634, +0.2004 0.9111 0.2112, 0.1002 1.012 0.07, -0.1002 1.012 0.07, +-0.2004 0.9111 0.2112, -0.1002 0.8103 0.3525, 0.1002 0.8103 0.3525, +0.1321 0.9915 0.2743, 0.06606 1.066 0.1875, -0.06606 1.066 0.1875, +-0.1321 0.9915 0.2743, -0.06606 0.917 0.3611, 0.06606 0.917 0.3611, +0.1828 1.066 0.3444, 0.09139 1.18 0.2341, -0.09139 1.18 0.2341, +-0.1828 1.066 0.3444, -0.09139 0.9524 0.4547, 0.09139 0.9524 0.4547, +0.12 1.134 0.4208, 0.06 1.215 0.3554, -0.06 1.215 0.3554, -0.12 1.134 0.4208, +-0.06 1.053 0.4862, 0.06 1.053 0.4862, 0 1.134 0.4208, -0.03388 1.39 0.4711, +-0.1539 1.39 0.4711, -0.2139 1.309 0.5365, -0.1539 1.228 0.6019, +-0.09388 1.309 0.5365, 0.1811 1.242 0.5905, 0.1211 1.323 0.5251, +0.001141 1.161 0.6559, 0.1211 1.161 0.6559, 0.06114 1.242 0.5905, +0.09714 1.289 0.6813, -0.1299 1.388 0.6011] +} +texCoord DEF robot_arm_02-TEXCOORD TextureCoordinate { point [ +0.7563 0.0004995, 0.2502 0.0004995, 0.0004995 0.0004995, 0.2437 0.0004995, +0.2502 0.0004995, 0.5132 0.0004995, 0.7383 0.1686, 0.3337 0.1902, +0.1022 0.1902, 0.2617 0.1686, 0.3337 0.147, 0.5787 0.147, 0.7141 0.2563, +0.2676 0.3022, 0.06716 0.3022, 0.2859 0.2563, 0.2676 0.2103, +0.4955 0.2103, 0.6801 0.3419, 0.3457 0.3826, 0.1787 0.3826, 0.3199 0.3419, +0.6543 0.539, 0.539 0.3012, 0.6365 0.4247, 0.7151 0.826, 0.174 0.4953, +0.3635 0.4247, 0.2849 0.3542, 0.447 0.3542, 0.5837 0.5041, 0.3577 0.5596, +0.2968 0.5596, 0.4163 0.5041, 0.6423 0.4641, 0.4641 0.4487, 0.522 0.5795, +0.6977 0.6787, 0.3213 0.6679, 0.478 0.5795, 0.3023 0.491, 0.3653 0.491, +0.452 0.6501, 0.3696 0.7155, 0.4517 0.7155, 0.548 0.6501, 0.6304 0.3557, +0.3557 0.5846, 0.3743 0.7154, 0.6804 0.4966, 0.5034 0.8151, 0.6257 0.7154, +0.3196 0.6158, 0.2519 0.6158, 0.2894 0.775, 0.638 0.8459, 0.638 0.8459, +0.7106 0.775, 0.7831 0.7041, 0.2169 0.7041, 0.7106 0.775, 0.4331 0.2337, +0.7663 0.9995, 0.8388 0.9286, 0.0886 0.8577, 0.1612 0.9286, 0.1012 0.8701, +0.8262 0.941, 0.5023 0.7992, 0.02867 0.7992, 0.8988 0.8701, 0.0004995 0.9111, +0.08945 0.998, 0.7563 0.0004995, 0.8978 0.1902, 0.7383 0.1686, +0.7563 0.0004995, 0.9995 0.0004995, 0.8978 0.1902, 0.2502 0.0004995, +0.6663 0.1902, 0.3337 0.1902, 0.7498 0.0004995, 0.6663 0.1902, +0.0004995 0.0004995, 0.2617 0.1686, 0.1022 0.1902, 0.2437 0.0004995, +0.2617 0.1686, 0.2437 0.0004995, 0.4213 0.147, 0.2617 0.1686, +0.4868 0.0004995, 0.4213 0.147, 0.2502 0.0004995, 0.6663 0.147, +0.3337 0.147, 0.7498 0.0004995, 0.6663 0.147, 0.5132 0.0004995, +0.7383 0.1686, 0.5787 0.147, 0.7383 0.1686, 0.7383 0.1686, 0.9328 0.3022, +0.7141 0.2563, 0.7383 0.1686, 0.8978 0.1902, 0.9328 0.3022, 0.3337 0.1902, +0.7324 0.3022, 0.2676 0.3022, 0.6663 0.1902, 0.7324 0.3022, 0.1022 0.1902, +0.2859 0.2563, 0.06716 0.3022, 0.2617 0.1686, 0.2859 0.2563, +0.2617 0.1686, 0.5045 0.2103, 0.2859 0.2563, 0.4213 0.147, 0.5045 0.2103, +0.3337 0.147, 0.7324 0.2103, 0.2676 0.2103, 0.6663 0.147, 0.7324 0.2103, +0.5787 0.147, 0.7141 0.2563, 0.4955 0.2103, 0.7141 0.2563, 0.7141 0.2563, +0.8213 0.3826, 0.6801 0.3419, 0.7141 0.2563, 0.9328 0.3022, 0.8213 0.3826, +0.2676 0.3022, 0.6543 0.3826, 0.3457 0.3826, 0.7324 0.3022, 0.6543 0.3826, +0.06716 0.3022, 0.3199 0.3419, 0.1787 0.3826, 0.2859 0.2563, +0.3199 0.3419, 0.2859 0.2563, 0.461 0.3012, 0.3199 0.3419, 0.5045 0.2103, +0.461 0.3012, 0.2676 0.2103, 0.6543 0.3012, 0.3457 0.3012, 0.7324 0.2103, +0.6543 0.3012, 0.4955 0.2103, 0.6801 0.3419, 0.539 0.3012, 0.6801 0.3419, +0.6801 0.3419, 0.826 0.4953, 0.6365 0.4247, 0.6801 0.3419, 0.8213 0.3826, +0.826 0.4953, 0.3457 0.3826, 0.7151 0.4953, 0.2849 0.4953, 0.6543 0.3826, +0.7151 0.4953, 0.1787 0.3826, 0.3635 0.4247, 0.174 0.4953, 0.3199 0.3419, +0.3635 0.4247, 0.3199 0.3419, 0.553 0.3542, 0.3635 0.4247, 0.461 0.3012, +0.553 0.3542, 0.6543 0.539, 0.2849 0.447, 0.7151 0.447, 0.3457 0.539, +0.2849 0.447, 0.539 0.3012, 0.6365 0.4247, 0.447 0.3542, 0.6365 0.4247, +0.6365 0.4247, 0.7032 0.5596, 0.5837 0.5041, 0.6365 0.4247, 0.826 0.4953, +0.7032 0.5596, 0.7151 0.826, 0.3577 0.7032, 0.6423 0.7032, 0.2849 0.826, +0.3577 0.7032, 0.174 0.4953, 0.4163 0.5041, 0.2968 0.5596, 0.3635 0.4247, +0.4163 0.5041, 0.3635 0.4247, 0.5359 0.4487, 0.4163 0.5041, 0.553 0.3542, +0.5359 0.4487, 0.2849 0.3542, 0.6423 0.4487, 0.3577 0.4487, 0.7151 0.3542, +0.6423 0.4487, 0.447 0.3542, 0.5837 0.5041, 0.4641 0.4487, 0.5837 0.5041, +0.5837 0.5041, 0.6787 0.6679, 0.522 0.5795, 0.5837 0.5041, 0.7032 0.5596, +0.6787 0.6679, 0.3577 0.5596, 0.6977 0.6679, 0.3023 0.6679, 0.6423 0.5596, +0.6977 0.6679, 0.2968 0.5596, 0.478 0.5795, 0.3213 0.6679, 0.4163 0.5041, +0.478 0.5795, 0.4163 0.5041, 0.6347 0.491, 0.478 0.5795, 0.5359 0.4487, +0.6347 0.491, 0.6423 0.4641, 0.3023 0.3653, 0.6977 0.3653, 0.3577 0.4641, +0.3023 0.3653, 0.4641 0.4487, 0.522 0.5795, 0.3653 0.491, 0.522 0.5795, +0.522 0.5795, 0.5483 0.7155, 0.452 0.6501, 0.522 0.5795, 0.6787 0.6679, +0.5483 0.7155, 0.6977 0.6787, 0.3696 0.5483, 0.6304 0.5483, 0.3023 0.6787, +0.3696 0.5483, 0.3213 0.6679, 0.548 0.6501, 0.4517 0.7155, 0.478 0.5795, +0.548 0.6501, 0.478 0.5795, 0.6443 0.5846, 0.548 0.6501, 0.6347 0.491, +0.6443 0.5846, 0.3023 0.491, 0.6304 0.5846, 0.3696 0.5846, 0.6977 0.491, +0.6304 0.5846, 0.3653 0.491, 0.452 0.6501, 0.3557 0.5846, 0.452 0.6501, +0.452 0.6501, 0.4966 0.8151, 0.3743 0.7154, 0.452 0.6501, 0.5483 0.7155, +0.4966 0.8151, 0.3696 0.7155, 0.6804 0.8151, 0.3196 0.8151, 0.6304 0.7155, +0.6804 0.8151, 0.4517 0.7155, 0.6257 0.7154, 0.5034 0.8151, 0.548 0.6501, +0.6257 0.7154, 0.548 0.6501, 0.7481 0.6158, 0.6257 0.7154, 0.6443 0.5846, +0.7481 0.6158, 0.6304 0.3557, 0.3196 0.2519, 0.6804 0.2519, 0.3696 0.3557, +0.3196 0.2519, 0.3557 0.5846, 0.3743 0.7154, 0.2519 0.6158, 0.3743 0.7154, +0.3743 0.7154, 0.362 0.8459, 0.2894 0.775, 0.3743 0.7154, 0.4966 0.8151, +0.362 0.8459, 0.6804 0.4966, 0.3816 0.362, 0.6184 0.362, 0.3196 0.4966, +0.3816 0.362, 0.5034 0.8151, 0.7106 0.775, 0.638 0.8459, 0.6257 0.7154, +0.7106 0.775, 0.6257 0.7154, 0.7831 0.7041, 0.7106 0.775, 0.7481 0.6158, +0.7831 0.7041, 0.3196 0.6158, 0.6184 0.7041, 0.3816 0.7041, 0.6804 0.6158, +0.6184 0.7041, 0.2519 0.6158, 0.2894 0.775, 0.2169 0.7041, 0.2894 0.775, +0.3816 0.8459, 0.6184 0.8459, 0.8037 0.9995, 0.8037 0.9995, 0.5669 0.9995, +0.3816 0.8459, 0.638 0.8459, 0.7106 0.775, 0.8388 0.9286, 0.8388 0.9286, +0.7663 0.9995, 0.7106 0.775, 0.7831 0.7041, 0.9114 0.8577, 0.9114 0.8577, +0.8388 0.9286, 0.2894 0.775, 0.362 0.8459, 0.2337 0.9995, 0.2337 0.9995, +0.1612 0.9286, 0.2894 0.775, 0.2169 0.7041, 0.2894 0.775, 0.1612 0.9286, +0.1612 0.9286, 0.0886 0.8577, 0.2169 0.7041, 0.2894 0.775, 0.362 0.8459, +0.1738 0.941, 0.1738 0.941, 0.1012 0.8701, 0.2894 0.775, 0.6184 0.2169, +0.3816 0.2169, 0.2609 0.02867, 0.2609 0.02867, 0.4977 0.02867, +0.6184 0.2169, 0.2169 0.7041, 0.1012 0.8701, 0.1012 0.8701, 0.02867 0.7992, +0.638 0.8459, 0.7106 0.775, 0.8988 0.8701, 0.8988 0.8701, 0.8262 0.941, +0.7106 0.775, 0.9713 0.7992, 0.9713 0.7992, 0.8988 0.8701, 0.1012 0.8701, +0.1738 0.941, 0.0004995 0.9111, 0.8988 0.8701, 0.9995 0.9111, +0.9713 0.7992, 0.9995 0.9111, 0.7391 0.7992, 0.6917 0.9111, 0.1612 0.9286, +0.2337 0.9995, 0.08945 0.998, 0.1963 0.2337, 0.2437 0.08945, +0.8388 0.9286, 0.9106 0.998, 0.9114 0.8577, 0.9106 0.998] +} +coordIndex [ +0, 7, 6, -1, 0, 1, 7, -1, 1, 8, 7, -1, 1, 2, 8, -1, 2, 9, 8, -1, +2, 3, 9, -1, 3, 10, 9, -1, 3, 4, 10, -1, 4, 11, 10, -1, 4, 5, 11, -1, +5, 6, 11, -1, 5, 0, 6, -1, 6, 13, 12, -1, 6, 7, 13, -1, 7, 14, 13, -1, +7, 8, 14, -1, 8, 15, 14, -1, 8, 9, 15, -1, 9, 16, 15, -1, 9, 10, 16, -1, +10, 17, 16, -1, 10, 11, 17, -1, 11, 12, 17, -1, 11, 6, 12, -1, +12, 19, 18, -1, 12, 13, 19, -1, 13, 20, 19, -1, 13, 14, 20, -1, +14, 21, 20, -1, 14, 15, 21, -1, 15, 22, 21, -1, 15, 16, 22, -1, +16, 23, 22, -1, 16, 17, 23, -1, 17, 18, 23, -1, 17, 12, 18, -1, +18, 25, 24, -1, 18, 19, 25, -1, 19, 26, 25, -1, 19, 20, 26, -1, +20, 27, 26, -1, 20, 21, 27, -1, 21, 28, 27, -1, 21, 22, 28, -1, +22, 29, 28, -1, 22, 23, 29, -1, 23, 24, 29, -1, 23, 18, 24, -1, +24, 31, 30, -1, 24, 25, 31, -1, 25, 32, 31, -1, 25, 26, 32, -1, +26, 33, 32, -1, 26, 27, 33, -1, 27, 34, 33, -1, 27, 28, 34, -1, +28, 35, 34, -1, 28, 29, 35, -1, 29, 30, 35, -1, 29, 24, 30, -1, +30, 37, 36, -1, 30, 31, 37, -1, 31, 38, 37, -1, 31, 32, 38, -1, +32, 39, 38, -1, 32, 33, 39, -1, 33, 40, 39, -1, 33, 34, 40, -1, +34, 41, 40, -1, 34, 35, 41, -1, 35, 36, 41, -1, 35, 30, 36, -1, +36, 43, 42, -1, 36, 37, 43, -1, 37, 44, 43, -1, 37, 38, 44, -1, +38, 45, 44, -1, 38, 39, 45, -1, 39, 46, 45, -1, 39, 40, 46, -1, +40, 47, 46, -1, 40, 41, 47, -1, 41, 42, 47, -1, 41, 36, 42, -1, +42, 49, 48, -1, 42, 43, 49, -1, 43, 50, 49, -1, 43, 44, 50, -1, +44, 51, 50, -1, 44, 45, 51, -1, 45, 52, 51, -1, 45, 46, 52, -1, +46, 53, 52, -1, 46, 47, 53, -1, 47, 48, 53, -1, 47, 42, 48, -1, +48, 55, 54, -1, 48, 49, 55, -1, 49, 56, 55, -1, 49, 50, 56, -1, +50, 57, 56, -1, 50, 51, 57, -1, 51, 58, 57, -1, 51, 52, 58, -1, +52, 59, 58, -1, 52, 53, 59, -1, 53, 54, 59, -1, 53, 48, 54, -1, +] +} +} +Shape { +appearance Appearance { +material Material { +diffuseColor 0.5765 0.6784 0.6824 +ambientIntensity 0.1281 +specularColor 0.441 0.441 0.441 +shininess 0.373 +transparency 0 +} +texture ImageTexture { +url "robot.gif" +} +} +geometry DEF robot_arm_02-FACES IndexedFaceSet { creaseAngle 1 +ccw TRUE +solid TRUE +coord USE robot_arm_02-COORD +texCoord USE robot_arm_02-TEXCOORD +coordIndex [ +55, 56, 62, -1, 62, 61, 55, -1, 56, 57, 63, -1, 63, 62, 56, -1, +57, 58, 64, -1, 64, 63, 57, -1, 60, 55, 61, -1, 61, 65, 60, -1, +58, 60, 65, -1, 65, 64, 58, -1, 54, 55, 67, -1, 67, 66, 54, -1, +58, 59, 69, -1, 69, 68, 58, -1, 59, 54, 66, -1, 66, 69, 59, -1, +55, 60, 70, -1, 70, 67, 55, -1, 60, 58, 68, -1, 68, 70, 60, -1, +66, 67, 71, -1, 67, 70, 71, -1, 70, 68, 71, -1, 68, 69, 71, -1, +69, 66, 71, -1, 65, 61, 72, -1, 61, 62, 72, -1, 62, 63, 72, -1, +63, 64, 72, -1, 64, 65, 72, -1] +texCoordIndex [ +343, 344, 345, -1, 346, 347, 348, -1, 349, 350, 351, -1, 352, 353, 56, -1, +354, 355, 356, -1, 357, 358, 57, -1, 359, 360, 361, -1, 362, 363, 364, -1, +365, 366, 367, -1, 368, 369, 370, -1, 371, 372, 373, -1, 374, 375, 376, -1, +377, 378, 379, -1, 380, 381, 382, -1, 383, 54, 384, -1, 385, 386, 59, -1, +387, 388, 389, -1, 390, 391, 55, -1, 392, 58, 393, -1, 394, 395, 60, -1, +396, 397, 398, -1, 67, 399, 400, -1, 70, 401, 402, -1, 68, 403, 404, -1, +69, 66, 71, -1, 405, 406, 407, -1, 61, 408, 409, -1, 62, 410, 411, -1, +63, 412, 413, -1, 64, 65, 72, -1] +} +} +DEF robot_arm_02-COORD-INTERP CoordinateInterpolator { +key [0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1, ] +keyValue [0.2531 0.2515 0, +0.1265 0.2515 -0.2192, -0.1265 0.2515 -0.2192, -0.2531 0.2515 0, +-0.1265 0.2515 0.2192, 0.1265 0.2515 0.2192, 0.1685 0.443 0.01627, +0.08424 0.4676 -0.1275, -0.08424 0.4676 -0.1275, -0.1685 0.443 0.01627, +-0.08424 0.4184 0.1601, 0.08424 0.4184 0.1601, 0.2355 0.5429 0.03803, +0.1178 0.5953 -0.1591, -0.1178 0.5953 -0.1591, -0.2355 0.5429 0.03803, +-0.1178 0.4906 0.2352, 0.1178 0.4906 0.2352, 0.1564 0.6404 0.0687, +0.07818 0.6868 -0.05852, -0.07818 0.6868 -0.05852, -0.1564 0.6404 0.0687, +-0.07818 0.5941 0.1959, 0.07818 0.5941 0.1959, 0.2179 0.7348 0.108, +0.109 0.8152 -0.06277, -0.109 0.8152 -0.06277, -0.2179 0.7348 0.108, +-0.109 0.6545 0.2788, 0.109 0.6545 0.2788, 0.1442 0.8253 0.1556, +0.07212 0.8884 0.04786, -0.07212 0.8884 0.04786, -0.1442 0.8253 0.1556, +-0.07212 0.7621 0.2634, 0.07212 0.7621 0.2634, 0.2004 0.9111 0.2112, +0.1002 1.012 0.07, -0.1002 1.012 0.07, -0.2004 0.9111 0.2112, +-0.1002 0.8103 0.3525, 0.1002 0.8103 0.3525, 0.1321 0.9915 0.2743, +0.06606 1.066 0.1875, -0.06606 1.066 0.1875, -0.1321 0.9915 0.2743, +-0.06606 0.917 0.3611, 0.06606 0.917 0.3611, 0.1828 1.066 0.3444, +0.09139 1.18 0.2341, -0.09139 1.18 0.2341, -0.1828 1.066 0.3444, +-0.09139 0.9524 0.4547, 0.09139 0.9524 0.4547, 0.12 1.134 0.4208, +0.06 1.215 0.3554, -0.06 1.215 0.3554, -0.12 1.134 0.4208, -0.06 1.053 0.4862, +0.06 1.053 0.4862, 0 1.134 0.4208, -0.03388 1.39 0.4711, -0.1539 1.39 0.4711, +-0.2139 1.309 0.5365, -0.1539 1.228 0.6019, -0.09388 1.309 0.5365, +0.1811 1.242 0.5905, 0.1211 1.323 0.5251, 0.001141 1.161 0.6559, +0.1211 1.161 0.6559, 0.06114 1.242 0.5905, 0.09714 1.289 0.6813, +-0.1299 1.388 0.6011, 0.2606 0.2516 0.008074, 0.1342 0.2516 -0.211, +-0.1196 0.2516 -0.2117, -0.247 0.2516 0.006575, -0.1205 0.2516 0.2256, +0.1332 0.2516 0.2264, 0.1746 0.4431 0.02288, 0.0908 0.4677 -0.1205, +-0.07814 0.4677 -0.121, -0.1633 0.4431 0.02189, -0.07942 0.4185 0.1653, +0.08952 0.4185 0.1658, 0.2491 0.543 0.0527, 0.1328 0.5954 -0.1429, +-0.1034 0.5954 -0.1436, -0.2232 0.543 0.0513, -0.1068 0.4907 0.2469, +0.1294 0.4907 0.2476, 0.1731 0.6406 0.08672, 0.09664 0.687 -0.03867, +-0.06015 0.687 -0.03914, -0.1405 0.6406 0.08579, -0.06397 0.5942 0.2112, +0.09282 0.5942 0.2116, 0.2459 0.7351 0.1381, 0.1407 0.8155 -0.02862, +-0.07779 0.8155 -0.02926, -0.1912 0.7351 0.1368, -0.08599 0.6547 0.3035, +0.1325 0.6547 0.3041, 0.1798 0.8256 0.1939, 0.1114 0.8888 0.09009, +-0.03323 0.8888 0.08966, -0.1094 0.8256 0.1931, -0.04099 0.7624 0.2969, +0.1036 0.7624 0.2973, 0.2506 0.9116 0.2653, 0.1575 1.012 0.1316, +-0.04341 1.012 0.131, -0.1512 0.9115 0.2641, -0.05802 0.8107 0.3978, +0.1429 0.8107 0.3984, 0.1942 0.9921 0.341, 0.1342 1.067 0.2608, +0.001693 1.067 0.2604, -0.07081 0.9921 0.3402, -0.01082 0.9175 0.4205, +0.1217 0.9175 0.4209, 0.2626 1.067 0.4302, 0.1819 1.18 0.3313, +-0.001429 1.18 0.3308, -0.104 1.067 0.4291, -0.0232 0.9531 0.528, +0.1601 0.9531 0.5285, 0.2152 1.135 0.5232, 0.1638 1.216 0.467, +0.04347 1.216 0.4667, -0.02545 1.135 0.5225, 0.02596 1.054 0.5787, +0.1463 1.054 0.579, 0.09337 1.135 0.5212, 0.1164 1.391 0.6326, +-0.001566 1.391 0.6348, -0.07068 1.31 0.6904, -0.02182 1.229 0.7438, +0.04579 1.31 0.6866, 0.3165 1.243 0.736, 0.2638 1.324 0.6785, +0.1254 1.163 0.7895, 0.2473 1.163 0.7915, 0.1931 1.243 0.7324, +0.2513 1.29 0.847, 0.03569 1.39 0.7791, 0.2622 0.2516 0.009842, +0.1358 0.2516 -0.2092, -0.1181 0.2516 -0.2101, -0.2456 0.2516 0.008015, +-0.1192 0.2516 0.227, 0.1347 0.2516 0.228, 0.176 0.4431 0.02433, +0.09223 0.4677 -0.119, -0.07681 0.4677 -0.1196, -0.1621 0.4431 0.02312, +-0.07837 0.4185 0.1664, 0.09068 0.4185 0.167, 0.2521 0.5431 0.05591, +0.1361 0.5954 -0.1394, -0.1002 0.5954 -0.1403, -0.2205 0.5431 0.05421, +-0.1044 0.4907 0.2495, 0.1319 0.4907 0.2504, 0.1768 0.6406 0.09067, +0.1007 0.687 -0.03433, -0.0562 0.687 -0.03489, -0.137 0.6406 0.08954, +-0.06086 0.5942 0.2145, 0.09602 0.5942 0.2151, 0.252 0.7351 0.1447, +0.1477 0.8155 -0.02114, -0.07096 0.8155 -0.02192, -0.1853 0.7351 0.1431, +-0.08096 0.6547 0.3089, 0.1377 0.6548 0.3097, 0.1876 0.8257 0.2023, +0.12 0.8889 0.09934, -0.02472 0.8889 0.09882, -0.1018 0.8257 0.2013, +-0.03418 0.7625 0.3042, 0.1105 0.7625 0.3047, 0.2617 0.9117 0.2771, +0.17 1.013 0.1451, -0.03098 1.013 0.1444, -0.1404 0.9117 0.2757, +-0.04879 0.8108 0.4077, 0.1522 0.8108 0.4084, 0.2077 0.9923 0.3556, +0.1491 1.067 0.2768, 0.01653 1.067 0.2763, -0.05738 0.9922 0.3547, +0.001272 0.9176 0.4335, 0.1338 0.9176 0.4339, 0.2801 1.067 0.449, +0.2017 1.181 0.3526, 0.01827 1.181 0.352, -0.0867 1.067 0.4477, +-0.008271 0.9532 0.544, 0.1751 0.9532 0.5447, 0.2361 1.135 0.5456, +0.1865 1.216 0.4915, 0.06612 1.216 0.491, -0.004745 1.135 0.5447, +0.04479 1.054 0.5989, 0.1652 1.054 0.5993, 0.1138 1.135 0.5432, +0.1493 1.391 0.668, 0.03179 1.391 0.6707, -0.03932 1.311 0.7241, +0.007105 1.23 0.7749, 0.07638 1.31 0.7195, 0.3461 1.244 0.7678, +0.2951 1.325 0.7121, 0.1526 1.163 0.8188, 0.2749 1.163 0.8212, +0.222 1.244 0.7634, 0.285 1.291 0.8833, 0.07194 1.39 0.8181, +0.2602 0.2516 0.007694, 0.1338 0.2516 -0.2114, -0.1199 0.2516 -0.2121, +-0.2473 0.2516 0.006265, -0.1208 0.2516 0.2253, 0.1329 0.2516 0.226, +0.1743 0.4431 0.02257, 0.09049 0.4677 -0.1208, -0.07843 0.4677 -0.1213, +-0.1635 0.4431 0.02162, -0.07965 0.4185 0.165, 0.08927 0.4185 0.1655, +0.2485 0.543 0.05201, 0.1321 0.5954 -0.1437, -0.1041 0.5954 -0.1444, +-0.2237 0.543 0.05068, -0.1073 0.4907 0.2464, 0.1288 0.4907 0.2471, +0.1723 0.6406 0.08587, 0.09577 0.687 -0.03961, -0.061 0.687 -0.04005, +-0.1412 0.6406 0.08499, -0.06464 0.5942 0.2105, 0.09213 0.5942 0.2109, +0.2446 0.7351 0.1367, 0.1392 0.8155 -0.03022, -0.07926 0.8154 -0.03084, +-0.1924 0.7351 0.1354, -0.08707 0.6547 0.3023, 0.1314 0.6547 0.3029, +0.1782 0.8256 0.1921, 0.1096 0.8888 0.0881, -0.03506 0.8888 0.0877, +-0.1111 0.8256 0.1913, -0.04246 0.7624 0.2953, 0.1022 0.7624 0.2957, +0.2483 0.9115 0.2627, 0.1548 1.012 0.1287, -0.04609 1.012 0.1282, +-0.1535 0.9115 0.2616, -0.06001 0.8107 0.3957, 0.1409 0.8107 0.3962, +0.1912 0.9921 0.3379, 0.131 1.067 0.2573, -0.001496 1.067 0.2569, +-0.07369 0.9921 0.3371, -0.01342 0.9175 0.4177, 0.119 0.9175 0.418, +0.2589 1.067 0.4261, 0.1776 1.18 0.3268, -0.005663 1.18 0.3262, +-0.1077 1.067 0.4251, -0.02641 0.9531 0.5245, 0.1569 0.9531 0.525, +0.2107 1.135 0.5184, 0.1589 1.216 0.4618, 0.0386 1.216 0.4614, +-0.0299 1.135 0.5177, 0.02192 1.054 0.5743, 0.1422 1.054 0.5746, +0.08898 1.135 0.5165, 0.1093 1.391 0.625, -0.008733 1.391 0.6271, +-0.07742 1.31 0.6832, -0.02803 1.229 0.7372, 0.03922 1.31 0.6796, +0.3101 1.243 0.7291, 0.2571 1.324 0.6712, 0.1196 1.163 0.7832, +0.2414 1.163 0.7851, 0.1869 1.243 0.7257, 0.244 1.29 0.8392, +0.02789 1.389 0.7707, 0.2545 0.2515 0.001518, 0.128 0.2515 -0.2176, +-0.1252 0.2515 -0.2178, -0.2519 0.2515 0.001236, -0.1254 0.2515 0.2204, +0.1278 0.2515 0.2205, 0.1696 0.443 0.01751, 0.08547 0.4677 -0.1262, +-0.08309 0.4677 -0.1263, -0.1675 0.443 0.01733, -0.08333 0.4184 0.1611, +0.08523 0.4184 0.1612, 0.2381 0.5429 0.04079, 0.1206 0.5953 -0.1561, +-0.1151 0.5953 -0.1562, -0.2332 0.5429 0.04053, -0.1157 0.4906 0.2374, +0.1199 0.4906 0.2375, 0.1595 0.6405 0.07209, 0.08165 0.6869 -0.05479, +-0.07479 0.6869 -0.05488, -0.1534 0.6405 0.07191, -0.07551 0.5941 0.1988, +0.08093 0.5941 0.1989, 0.2232 0.7349 0.1137, 0.1149 0.8152 -0.05635, +-0.1031 0.8152 -0.05647, -0.2129 0.7349 0.1134, -0.1046 0.6545 0.2834, +0.1134 0.6545 0.2836, 0.1509 0.8253 0.1628, 0.07951 0.8885 0.0558, +-0.06481 0.8885 0.05572, -0.1377 0.8253 0.1627, -0.06627 0.7622 0.2697, +0.07805 0.7622 0.2698, 0.2098 0.9112 0.2214, 0.111 1.012 0.08159, +-0.08951 1.012 0.08148, -0.1911 0.9112 0.2212, -0.09225 0.8104 0.361, +0.1082 0.8104 0.3611, 0.1438 0.9916 0.2869, 0.07887 1.066 0.2013, +-0.05332 1.066 0.2012, -0.1206 0.9916 0.2867, -0.05567 0.9171 0.3723, +0.07651 0.9171 0.3723, 0.1978 1.066 0.3605, 0.1084 1.18 0.2524, +-0.07448 1.18 0.2523, -0.168 1.066 0.3603, -0.07857 0.9526 0.4684, +0.1043 0.9526 0.4685, 0.1379 1.134 0.4401, 0.07952 1.215 0.3764, +-0.04054 1.215 0.3764, -0.1022 1.134 0.44, -0.04384 1.053 0.5036, +0.07622 1.053 0.5037, 0.01756 1.134 0.4397, -0.005619 1.39 0.5015, +-0.1252 1.39 0.5019, -0.187 1.309 0.5654, -0.129 1.228 0.6286, +-0.06762 1.309 0.5647, 0.2066 1.242 0.6179, 0.148 1.323 0.5539, +0.02451 1.162 0.681, 0.1449 1.162 0.6814, 0.08596 1.242 0.6172, +0.1261 1.289 0.7124, -0.09875 1.388 0.6346, 0.2468 0.2515 -0.006719, +0.1202 0.2515 -0.226, -0.1323 0.2515 -0.2254, -0.2582 0.2515 -0.005472, +-0.1315 0.2515 0.2138, 0.121 0.2515 0.2132, 0.1634 0.443 0.01077, +0.07878 0.4676 -0.1334, -0.08931 0.4676 -0.133, -0.1728 0.443 0.0116, +-0.08825 0.4184 0.1558, 0.07984 0.4184 0.1554, 0.2242 0.5428 0.02583, +0.1053 0.5951 -0.1725, -0.1297 0.5952 -0.1719, -0.2458 0.5428 0.02699, +-0.1269 0.4905 0.2253, 0.1081 0.4905 0.2248, 0.1424 0.6403 0.0537, +0.06281 0.6867 -0.07504, -0.09318 0.6867 -0.07465, -0.1696 0.6403 0.05447, +-0.09 0.5939 0.1832, 0.066 0.5939 0.1828, 0.1947 0.7346 0.08298, +0.08252 0.8149 -0.0912, -0.1349 0.8149 -0.09066, -0.2402 0.7346 0.08406, +-0.1281 0.6543 0.2582, 0.08935 0.6543 0.2577, 0.1146 0.825 0.1238, +0.03943 0.8881 0.01272, -0.1045 0.8881 0.01307, -0.1732 0.825 0.1245, +-0.09802 0.7619 0.2356, 0.04589 0.7619 0.2352, 0.1585 0.9107 0.1662, +0.05248 1.011 0.01873, -0.1474 1.011 0.01922, -0.2413 0.9107 0.1672, +-0.1353 0.8099 0.3148, 0.06464 0.8099 0.3143, 0.08049 0.991 0.2188, +0.009372 1.066 0.1266, -0.1224 1.066 0.1269, -0.1831 0.991 0.2195, +-0.112 0.9165 0.3117, 0.01979 0.9165 0.3113, 0.1163 1.065 0.273, +0.0161 1.179 0.1532, -0.1663 1.179 0.1536, -0.2484 1.065 0.2739, +-0.1481 0.9519 0.3937, 0.03423 0.9519 0.3932, 0.04076 1.133 0.3357, +-0.02638 1.214 0.2626, -0.1461 1.214 0.2629, -0.1987 1.133 0.3363, +-0.1315 1.052 0.4093, -0.01181 1.052 0.4091, -0.07771 1.133 0.3373, +-0.159 1.388 0.3366, -0.2806 1.388 0.3348, -0.333 1.308 0.4084, +-0.2638 1.227 0.4837, -0.2101 1.308 0.4115, 0.0685 1.241 0.4694, +0.002404 1.322 0.3975, -0.1023 1.16 0.5447, 0.01616 1.16 0.543, +-0.04869 1.241 0.4724, -0.03114 1.288 0.5434, -0.2677 1.387 0.453, +0.2434 0.2514 -0.01043, 0.1167 0.2514 -0.2298, -0.1355 0.2514 -0.2288, +-0.261 0.2514 -0.008494, -0.1343 0.2514 0.2108, 0.1179 0.2514 0.2099, +0.1605 0.443 0.007725, 0.07576 0.4676 -0.1367, -0.09211 0.4676 -0.136, +-0.1752 0.443 0.009014, -0.09046 0.4184 0.1534, 0.07742 0.4183 0.1527, +0.2179 0.5427 0.01909, 0.09836 0.5951 -0.1799, -0.1363 0.5951 -0.179, +-0.2515 0.5428 0.02089, -0.1319 0.4904 0.2199, 0.1027 0.4904 0.219, +0.1347 0.6402 0.04541, 0.05433 0.6866 -0.08416, -0.1015 0.6866 -0.08356, +-0.1769 0.6402 0.04661, -0.09653 0.5939 0.1762, 0.05927 0.5939 0.1756, +0.1818 0.7345 0.06916, 0.06792 0.8148 -0.1069, -0.1492 0.8148 -0.1061, +-0.2525 0.7345 0.07083, -0.1386 0.6542 0.2469, 0.07851 0.6542 0.246, +0.09824 0.8248 0.1062, 0.02137 0.8879 -0.006695, -0.1224 0.8879 -0.006143, +-0.1892 0.8248 0.1073, -0.1123 0.7618 0.2202, 0.0314 0.7618 0.2197, +0.1354 0.9105 0.1414, 0.02613 1.011 -0.009593, -0.1735 1.011 -0.008827, +-0.2639 0.9105 0.1429, -0.1546 0.8098 0.2939, 0.045 0.8097 0.2932, +0.05197 0.9908 0.1882, -0.02194 1.065 0.09295, -0.1536 1.065 0.09345, +-0.2113 0.9908 0.1892, -0.1374 0.9163 0.2844, -0.005768 0.9163 0.2839, +0.07965 1.065 0.2335, -0.02548 1.178 0.1085, -0.2076 1.178 0.1092, +-0.2846 1.065 0.2349, -0.1795 0.9516 0.36, 0.00265 0.9516 0.3593, +-0.003001 1.133 0.2886, -0.07409 1.213 0.2113, -0.1937 1.213 0.2118, +-0.2421 1.133 0.2895, -0.1711 1.052 0.3669, -0.05148 1.052 0.3664, +-0.1206 1.133 0.2912, -0.228 1.388 0.2624, -0.3506 1.388 0.2596, +-0.3989 1.307 0.3376, -0.3245 1.226 0.4185, -0.2743 1.307 0.3425, +0.00629 1.24 0.4025, -0.06318 1.321 0.327, -0.1594 1.16 0.4833, +-0.04183 1.16 0.4807, -0.1094 1.241 0.4072, -0.102 1.287 0.4672, +-0.3438 1.386 0.3712, 0.2466 0.2514 -0.007008, 0.1199 0.2514 -0.2263, +-0.1325 0.2515 -0.2256, -0.2584 0.2515 -0.005707, -0.1318 0.2515 0.2136, +0.1207 0.2515 0.2129, 0.1631 0.443 0.01053, 0.07854 0.4676 -0.1337, +-0.08953 0.4676 -0.1332, -0.173 0.443 0.01139, -0.08842 0.4184 0.1556, +0.07965 0.4184 0.1552, 0.2237 0.5428 0.02531, 0.1047 0.5951 -0.1731, +-0.1302 0.5951 -0.1725, -0.2462 0.5428 0.02652, -0.1273 0.4905 0.2249, +0.1077 0.4905 0.2243, 0.1418 0.6403 0.05305, 0.06215 0.6867 -0.07575, +-0.09383 0.6867 -0.07535, -0.1702 0.6403 0.05386, -0.09051 0.5939 0.1827, +0.06547 0.5939 0.1823, 0.1936 0.7346 0.0819, 0.08138 0.8149 -0.09242, +-0.136 0.8149 -0.09186, -0.2412 0.7346 0.08302, -0.1289 0.6543 0.2573, +0.0885 0.6543 0.2568, 0.1133 0.825 0.1224, 0.03802 0.8881 0.0112, +-0.1059 0.8881 0.01157, -0.1745 0.825 0.1232, -0.09914 0.7619 0.2344, +0.04476 0.7619 0.234, 0.1567 0.9107 0.1643, 0.05042 1.011 0.01652, +-0.1495 1.011 0.01703, -0.2431 0.9107 0.1653, -0.1368 0.8099 0.3131, +0.06311 0.8099 0.3126, 0.07826 0.991 0.2164, 0.00693 1.066 0.124, +-0.1249 1.066 0.1243, -0.1853 0.991 0.2171, -0.114 0.9165 0.3095, +0.0178 0.9165 0.3092, 0.1135 1.065 0.2699, 0.01286 1.179 0.1497, +-0.1695 1.179 0.1501, -0.2512 1.065 0.2708, -0.1506 0.9519 0.391, +0.03176 0.9519 0.3906, 0.03735 1.133 0.332, -0.0301 1.214 0.2586, +-0.1498 1.214 0.2589, -0.2021 1.133 0.3326, -0.1346 1.052 0.406, +-0.01491 1.052 0.4057, -0.08106 1.133 0.3337, -0.1643 1.388 0.3308, +-0.2861 1.388 0.329, -0.3382 1.308 0.4029, -0.2685 1.227 0.4787, +-0.2151 1.308 0.4061, 0.06365 1.241 0.4642, -0.002711 1.322 0.392, +-0.1067 1.16 0.5399, 0.01163 1.16 0.5382, -0.05342 1.241 0.4673, +-0.03667 1.288 0.5375, -0.2736 1.387 0.4466, 0.2517 0.2515 -0.001454, +0.1252 0.2515 -0.2206, -0.1278 0.2515 -0.2205, -0.2542 0.2515 -0.001184, +-0.1276 0.2515 0.218, 0.1253 0.2515 0.2179, 0.1674 0.443 0.01508, +0.08306 0.4676 -0.1288, -0.08534 0.4676 -0.1287, -0.1694 0.443 0.01526, +-0.08511 0.4184 0.1592, 0.08329 0.4184 0.1591, 0.233 0.5429 0.03539, +0.115 0.5952 -0.162, -0.1203 0.5952 -0.1619, -0.2377 0.5429 0.03564, +-0.1197 0.4906 0.233, 0.1157 0.4905 0.2329, 0.1533 0.6404 0.06545, +0.07485 0.6868 -0.06209, -0.08143 0.6868 -0.06201, -0.1592 0.6404 0.06562, +-0.08074 0.594 0.1932, 0.07554 0.594 0.1931, 0.2129 0.7348 0.1026, +0.1032 0.8151 -0.06892, -0.1146 0.8151 -0.06881, -0.2228 0.7348 0.1028, +-0.1131 0.6544 0.2743, 0.1047 0.6544 0.2742, 0.1378 0.8252 0.1488, +0.06504 0.8883 0.04025, -0.07912 0.8883 0.04033, -0.1505 0.8252 0.1489, +-0.07773 0.7621 0.2574, 0.06644 0.7621 0.2573, 0.1913 0.911 0.2015, +0.08985 1.012 0.0589, -0.1104 1.012 0.05901, -0.2092 0.911 0.2017, +-0.1078 0.8102 0.3443, 0.09249 0.8102 0.3442, 0.1209 0.9914 0.2623, +0.05379 1.066 0.1744, -0.07826 1.066 0.1744, -0.1432 0.9914 0.2624, +-0.07601 0.9169 0.3504, 0.05604 0.9169 0.3503, 0.1684 1.066 0.3289, +0.0751 1.179 0.2166, -0.1076 1.179 0.2167, -0.197 1.066 0.3291, +-0.1037 0.9523 0.4415, 0.07902 0.9523 0.4414, 0.1028 1.134 0.4024, +0.0413 1.214 0.3353, -0.07864 1.214 0.3354, -0.137 1.134 0.4025, +-0.07548 1.053 0.4696, 0.04446 1.053 0.4695, -0.01682 1.134 0.4028, +-0.06095 1.389 0.442, -0.1813 1.389 0.4416, -0.2397 1.309 0.5088, +-0.1777 1.228 0.5763, -0.119 1.309 0.5094, 0.1568 1.242 0.5643, +0.09544 1.323 0.4975, -0.02125 1.161 0.6318, 0.09842 1.161 0.6315, +0.03737 1.242 0.5649, 0.06937 1.289 0.6514, -0.1597 1.388 0.5691, +] +} +] +}, +DEF bowtie Transform { +translation 0.006565 1.823 0.52 +rotation -1 0 0 -1.309 +scale 1.852 1.852 2.778 +scaleOrientation -1 0 0 -0.2618 +children [ +Shape { +appearance Appearance { +material Material { +diffuseColor 0 0 0 +ambientIntensity 0 +specularColor 0.045 0.045 0.045 +shininess 0.2875 +transparency 0 +} +} +geometry DEF bowtie-FACES IndexedFaceSet { creaseAngle 1 +ccw TRUE +solid TRUE +convex TRUE +coord DEF bowtie-COORD Coordinate { point [ +-0.1236 0.0714 0.04194, 0 0.0714 -0.001165, 0.1236 0.0714 0.04194, +-0.1236 0.0714 -0.04194, 0.1236 0.0714 -0.04194, -0.1236 0.09749 0.04194, +0 0.09749 -0.001165, 0.1236 0.09749 0.04194, -0.1236 0.09749 -0.04194, +0.1236 0.09749 -0.04194] +} +coordIndex [ +6, 8, 5, -1, 6, 7, 9, -1, 0, 1, 6, 5, -1, 1, 2, 7, 6, -1, 2, +4, 9, 7, -1, 4, 1, 6, 9, -1, 1, 3, 8, 6, -1, 3, 0, 5, 8, -1] +} +} +] +} +DEF TouchSensor01-SENSOR TouchSensor { enabled TRUE } +] +ROUTE robot_body-TIMER.fraction_changed TO robot_body-POS-INTERP.set_fraction +ROUTE robot_body-POS-INTERP.value_changed TO robot_body.set_translation +ROUTE robot_body-TIMER.fraction_changed TO head-ROT-INTERP.set_fraction +ROUTE head-ROT-INTERP.value_changed TO head.set_rotation +ROUTE robot_body-TIMER.fraction_changed TO robot_antenna_01-COORD-INTERP.set_fraction +ROUTE robot_antenna_01-COORD-INTERP.value_changed TO robot_antenna_01-COORD.set_point +ROUTE robot_body-TIMER.fraction_changed TO robot_antenna_02-COORD-INTERP.set_fraction +ROUTE robot_antenna_02-COORD-INTERP.value_changed TO robot_antenna_02-COORD.set_point +ROUTE robot_body-TIMER.fraction_changed TO robot_eye_01-POS-INTERP.set_fraction +ROUTE robot_eye_01-POS-INTERP.value_changed TO robot_eye_01.set_translation +ROUTE robot_body-TIMER.fraction_changed TO robot_eye_01-SCALE-INTERP.set_fraction +ROUTE robot_eye_01-SCALE-INTERP.value_changed TO robot_eye_01.set_scale +ROUTE robot_body-TIMER.fraction_changed TO robot_eye_01-SCALE-ORI-INTERP.set_fraction +ROUTE robot_eye_01-SCALE-ORI-INTERP.value_changed TO robot_eye_01.set_scaleOrientation +ROUTE robot_body-TIMER.fraction_changed TO robot_eye_02-POS-INTERP.set_fraction +ROUTE robot_eye_02-POS-INTERP.value_changed TO robot_eye_02.set_translation +ROUTE robot_body-TIMER.fraction_changed TO robot_eye_02-SCALE-INTERP.set_fraction +ROUTE robot_eye_02-SCALE-INTERP.value_changed TO robot_eye_02.set_scale +ROUTE robot_body-TIMER.fraction_changed TO robot_eye_02-SCALE-ORI-INTERP.set_fraction +ROUTE robot_eye_02-SCALE-ORI-INTERP.value_changed TO robot_eye_02.set_scaleOrientation +ROUTE robot_body-TIMER.fraction_changed TO robot_arm-COORD-INTERP.set_fraction +ROUTE robot_arm-COORD-INTERP.value_changed TO robot_arm-COORD.set_point +ROUTE robot_body-TIMER.fraction_changed TO robot_arm_02-COORD-INTERP.set_fraction +ROUTE robot_arm_02-COORD-INTERP.value_changed TO robot_arm_02-COORD.set_point +} +DEF Sound01 Transform { +translation -0.01771 1.509 0.2666 +children [ +DEF Sound01 Sound { +direction 0 0 1 +intensity 0.8 +location 0 0 0 +maxBack 10 +maxFront 10 +minBack 1 +minFront 1 +priority 0 +spatialize TRUE +source +DEF AudioClip01 AudioClip { +description "" +url "vibrate.wav" +pitch 1 +loop TRUE +startTime 1 +} +} +] +} +DEF Sound02 Transform { +translation -0.1208 1.509 0.2666 +children [ +DEF Sound02 Sound { +direction 0 0 1 +intensity 1 +location 0 0 0 +maxBack 15 +maxFront 15 +minBack 1 +minFront 1 +priority 1 +spatialize TRUE +source +DEF AudioClip02 AudioClip { +description "" +url "butler.wav" +pitch 1 +loop FALSE +stopTime 1 +} +} +] +} +ROUTE TouchSensor01-SENSOR.touchTime TO AudioClip02.set_startTime +] +} +Group{} +]#end level +} +############################# +#boxes +############################# +DEF Box01 Transform { +translation 38.817 2.7464 -1964.6 +rotation -1 0 0 -1.5708 +children [ +Shape { +appearance DEF neighbors Appearance { +material Material { +diffuseColor 0.73725 0.77255 0.77647 +ambientIntensity 0.062745 +specularColor 0.045 0.045 0.045 +shininess 0.2875 +transparency 0 +} +texture ImageTexture { +url "neighbor.gif" +} +} +geometry IndexedFaceSet { +ccw TRUE +solid FALSE +coord Coordinate { point [ +-100 12.917 50, 100 12.917 50, -100 12.917 -50, 100 12.917 -50] +} +texCoord TextureCoordinate { point [ +0.00049955 0.00049999, 0.9995 0.00049952, 0.00049967 0.9995, +0.9995 0.9995] +} +coordIndex [ +0, 1, 3, -1, 3, 2, 0, -1] +texCoordIndex [ +0, 1, 3, -1, 3, 2, 0, -1] +} +} +] +} +DEF Box02 Transform { +translation -3748.5 2.7464 27.598 +rotation -0.57735 -0.57735 0.57735 -2.0944 +children [ +Shape { +appearance USE neighbors +geometry IndexedFaceSet { +ccw TRUE +solid FALSE +coord Coordinate { point [ +-100 12.917 50, 100 12.917 50, -100 12.917 -50, 100 12.917 -50] +} +texCoord TextureCoordinate { point [ +0.9995 0.00049999, 0.00049967 0.00049952, 0.9995 0.9995, 0.00049955 0.9995] +} +coordIndex [ +0, 1, 3, -1, 3, 2, 0, -1] +texCoordIndex [ +0, 1, 3, -1, 3, 2, 0, -1] +} +} +] +} +DEF Box03 Transform { +translation 2924.3 2.7464 2555.2 +rotation -0.83482 -0.38928 0.38928 -1.7504 +children [ +Shape { +appearance USE neighbors +geometry IndexedFaceSet { +ccw TRUE +solid FALSE +coord Coordinate { point [ +-100 12.917 50, 100 12.917 50, -100 12.917 -50, 100 12.917 -50] +} +texCoord TextureCoordinate { point [ +0.00049955 0.9995, 0.9995 0.9995, 0.00049967 0.00049949, 0.9995 0.00049996] +} +coordIndex [ +0, 1, 3, -1, 3, 2, 0, -1] +texCoordIndex [ +0, 1, 3, -1, 3, 2, 0, -1] +} +} +] +} + +############################# +#chimes +############################# +DEF LOD01 Transform {#chimes +children [ +LOD { +center 56.697 -0.0011812 78.423 +range [ 26 ] +level [ +DEF Sound02 Transform { +translation 56.697 -0.0011812 78.423 +rotation 0 -1 0 -3.6652 +children [ +DEF Sound02 Sound { +direction 0 0 1 +intensity 1 +location 0 0 0 +maxBack 20 +maxFront 20 +minBack 5 +minFront 5 +priority 0 +spatialize TRUE +source +DEF AudioClip_chimes AudioClip { +description "" +url "windc.wav" +pitch 1 +loop TRUE +startTime 1 +} +} +] +} +, +DEF Sound03 Transform { +translation 56.639 0 78.378 +rotation 0 -1 0 -4.0143 +children [ +DEF Sound03 Sound { +direction 0 0 1 +intensity 1 +location 0 0 0 +maxBack 10 +maxFront 10 +minBack 1 +minFront 1 +priority 0 +spatialize TRUE +} +] +} +] +} +] +} + +####################################################################################### +#bar +####################################################################################### + + +Transform { +children [ +Shape { +appearance DEF bar_app_1 Appearance { +material Material { +ambientIntensity .10327 +diffuseColor .53725 .19608 .19608 +specularColor .045 .045 .045 +shininess .2875 +} +texture ImageTexture { +url "setyellow.jpg" +} +} +geometry IndexedFaceSet { +coord Coordinate { point [ -2.479 0 .5 2.479 0 .5 -2.479 0 -.14 2.479 0 -.14 -3 1 .5 3 1 .5 -3 1 -.5 3 1 -.5 ] } +coordIndex [ +4 5 7 -1, 7 6 4 -1, 0 1 5 -1, 5 4 0 -1, 1 3 7 -1, 7 5 1 -1, 3 2 6 -1, 6 7 3 -1, 2 0 4 -1, 4 6 2 -1, +] +texCoord TextureCoordinate { point [ .087 .001 .913 0 0 1 1 1 1 0 .36 0 ] } +texCoordIndex [ +2 3 3 -1, 3 2 2 -1, 0 1 3 -1, 3 2 0 -1, 4 5 2 -1, 2 3 4 -1, 1 0 2 -1, 2 3 1 -1, 5 4 3 -1, 3 2 5 -1, +] +} +} +Transform { +children Shape { +appearance USE bar_app_1 +geometry IndexedFaceSet { +coord Coordinate { point [ -1.475 0 .5 1.467 0 .5 -1.475 0 -.018 1.467 0 -.018 -2.015 1 .59 2.007 1 .59 -2.015 1 -.021 2.007 1 -.021 -2.555 2 .68 2.547 2 .68 -2.015 1 .526 2.007 1 .526 -2.555 2 .616 2.547 2 .616 ] } +coordIndex [ +11 10 13 -1, 12 13 10 -1, 1 3 7 -1, 7 5 1 -1, 3 2 6 -1, 6 7 3 -1, 2 0 4 -1, 4 6 2 -1, 4 5 11 -1, 11 10 4 -1, 9 5 13 -1, 11 13 5 -1, 8 9 12 -1, 13 12 9 -1, 4 8 10 -1, 12 10 8 -1, +] +texCoord TextureCoordinate { point [ .212 .001 .788 .001 .106 1 .894 1 0 1.999 1 1.999 .852 0 .006 0 0 1 1 1 ] } +texCoordIndex [ +3 2 5 -1, 4 5 2 -1, 6 7 8 -1, 8 9 6 -1, 1 0 2 -1, 2 3 1 -1, 7 6 9 -1, 9 8 7 -1, 2 3 3 -1, 3 2 2 -1, 5 3 5 -1, 3 5 3 -1, 4 5 4 -1, 5 4 5 -1, 2 4 2 -1, 4 2 4 -1, +] +} +} +translation .00433 0 1.8005 +} +Transform { +children Shape { +appearance DEF bar_app_2 Appearance { +material Material { +ambientIntensity 0 +diffuseColor 0 0 0 +specularColor .297 .297 .297 +shininess .2875 +} +} +geometry IndexedFaceSet { +coord Coordinate { point [ -2.941 .29 .5 2.941 .29 .5 -2.941 .29 -.5 2.941 .29 -.5 -2.941 .71 .5 2.941 .71 .5 -2.941 .71 -.5 2.941 .71 -.5 ] } +coordIndex [ +4 5 7 -1, 7 6 4 -1, 0 1 5 -1, 5 4 0 -1, 1 3 7 -1, 7 5 1 -1, 3 2 6 -1, 6 7 3 -1, 2 0 4 -1, 4 6 2 -1, +] +} +} +translation 0 .54619 .022549 +scale 1 .1692 1 +} +Transform { +children Shape { +appearance USE bar_app_2 +geometry IndexedFaceSet { +coord Coordinate { point [ -2.402 .29 .5 2.402 .29 .5 -2.402 .29 -.204 2.402 .29 -.204 -2.402 .609 .5 2.402 .609 .5 -2.402 .609 -.204 2.402 .609 -.204 ] } +coordIndex [ +4 5 7 -1, 7 6 4 -1, 0 1 5 -1, 5 4 0 -1, 1 3 7 -1, 7 5 1 -1, 3 2 6 -1, 6 7 3 -1, 2 0 4 -1, 4 6 2 -1, 0 2 3 -1, 0 3 1 -1, +] +} +} +translation 0 1.601 1.9804 +scale 1 .1692 1 +} +Transform { +children Shape { +appearance USE bar_app_2 +geometry IndexedFaceSet { +coord Coordinate { point [ -3.212 .29 .5 3.212 .29 .5 -3.212 .29 -.611 3.212 .29 -.611 -3.212 .71 .5 3.212 .71 .5 -3.212 .71 -.611 3.212 .71 -.611 ] } +coordIndex [ +4 5 7 -1, 7 6 4 -1, 0 1 5 -1, 5 4 0 -1, 1 3 7 -1, 7 5 1 -1, 3 2 6 -1, 6 7 3 -1, 2 0 4 -1, 4 6 2 -1, +] +} +} +translation 0 .93721 .022549 +scale 1 .1692 1 +} +Transform { +children Shape { +appearance USE bar_app_2 +geometry IndexedFaceSet { +coord Coordinate { point [ -2.168 .29 .5 2.168 .29 .5 -2.168 .29 -.204 2.168 .29 -.204 -2.168 .609 .5 2.168 .609 .5 -2.168 .609 -.204 2.168 .609 -.204 ] } +coordIndex [ +4 5 7 -1, 7 6 4 -1, 0 1 5 -1, 5 4 0 -1, 1 3 7 -1, 7 5 1 -1, 3 2 6 -1, 6 7 3 -1, 2 0 4 -1, 4 6 2 -1, +] +} +} +translation 0 .93706 1.9289 +scale 1 .1692 1 +} +] +translation -.047566 3.7668 15.287 +} + +####################################################################################### +#Bottles +####################################################################################### + +Collision{ +collide FALSE +children[ +Shape{ +appearance Appearance{material Material{transparency 1}} +geometry Box{size 1000 .0001 10000} +} + +]} + +DEF bottle1 Bottle{ +sharedZone USE SharedZone +translation 1 4.835 17.08 +rotation 0 1 0 -2.5 +bottleID 1 +liquid_offset 0 .072335 0 +pourKeys [.00001 .00001 .00001,1 1 1] + +glass_geometry[ +Billboard { +children Transform { +children Shape { +appearance Appearance {material Material {ambientIntensity 1 diffuseColor 0 .12 .14 specularColor 1 1 1 emissiveColor 0 .46 .46 shininess .35 transparency .63}} +geometry IndexedFaceSet { +coord Coordinate {point [-.055 .126 0, .055 .126 0, 0 .126 .055, -.055 .126 .027, -.027 .126 .055, .027 .126 .055, .055 .126 .027, -.004 .071 0, .004 .071 0, 0 .071 .004, -.004 .071 .002, -.002 .071 .004, .002 .071 .004, .004 .071 .002, -.009 0 0, .009 0 0, 0 0 .009, -.009 0 .005, -.005 0 .009, .005 0 .009, .009 0 .005,]} +coordIndex [7 10 3 0 -1, 11 9 2 4 -1, 10 11 4 3 -1, 9 12 5 2 -1, 13 8 1 6 -1, 12 13 6 5 -1, 14 17 10 7 -1, 18 16 9 11 -1, 17 18 11 10 -1, 16 19 12 9 -1, 20 15 8 13 -1, 19 20 13 12 -1,] +creaseAngle 3.14159 +}} +}} +] +liquid_geometry[ +Billboard { +children Transform { +children Shape { +appearance Appearance {material Material{ ambientIntensity 0 diffuseColor 0 0 0 specularColor 1 1 1 emissiveColor 0 1 0 shininess .03}} +geometry IndexedFaceSet {coord Coordinate {point [.055 .055 .027, -.055 .055 0, -.004 0 0, .004 0 .002,]}coordIndex [0 1 2 3 -1,]} +}} + +} +] + +bottle_geometry[ + +Transform { +translation 0 0 -.4 +children [ + +DEF Trigger1 TouchSensor{} + +DEF fizzy_b TimeSensor {loop FALSE cycleInterval 2} +DEF fizzy_c PositionInterpolator {key [0 .125 .75 1]keyValue [0 0 0 0 .3 0 0 .3 0 0 0 0]} +DEF fizzy_d OrientationInterpolator {key [0 .125 .75 1]keyValue [1 0 0 0 1 0 0 1.9 1 0 0 1.9 1 0 0 0]} + +DEF fizzy_a Transform { scale .7 .7 .7 +children [ +Shape { +appearance Appearance {material Material {diffuseColor .14118 .31373 .12549 ambientIntensity .049673 specularColor .891 .891 .891 shininess .2875 transparency .3}} +geometry IndexedFaceSet { creaseAngle 3 solid TRUE +coord Coordinate {point [.121 0 0, .085 0 -.085, 0 0 -.121, -.085 0 -.085, -.121 0 0, -.085 0 .085, 0 0 .121, .085 0 .085, .133 .151 0, .094 .151 -.094, 0 .151 -.133, -.094 .151 -.094, -.133 .151 0, -.094 .151 .094, 0 .151 .133, .094 .151 .094, .025 .243 0, .018 .243 -.018, 0 .243 -.025, -.018 .243 -.018, -.025 .243 0, -.018 .243 .018, 0 .243 .025, .018 .243 .018, .025 .54 0, .018 .54 -.018, 0 .54 -.025, -.018 .54 -.018, -.025 .54 0, -.018 .54 .018, 0 .54 .025, .018 .54 .018,]} +coordIndex [1 0 7 6 5 4 3 2 -1, 9 8 0 1 -1, 10 9 1 2 -1, 11 10 2 3 -1, 12 11 3 4 -1, 13 12 4 5 -1, 8 15 7 0 -1, 17 16 8 9 -1, 18 17 9 10 -1, 19 18 10 11 -1, 20 19 11 12 -1, 21 20 12 13 -1, 22 21 13 14 -1, 23 22 14 15 -1, 16 23 15 8 -1, 25 24 16 17 -1, 26 25 17 18 -1, 27 26 18 19 -1, 28 27 19 20 -1, 29 28 20 21 -1, 30 29 21 22 -1, 31 30 22 23 -1, 24 31 23 16 -1,] +}} +Shape { +appearance Appearance { +material Material {diffuseColor .5451 .19216 .51765 ambientIntensity .13943 specularColor .045 .045 .045 shininess .2875} +texture ImageTexture {url "label03.jpg"}} +geometry IndexedFaceSet { creaseAngle 3 solid TRUE +coord Coordinate {point [-.085 0 .085, 0 0 .121, .085 0 .085, -.094 .151 .094, 0 .151 .133, .094 .151 .094,]} coordIndex [4 3 0 1 -1, 5 4 1 2 -1,] +texCoord TextureCoordinate {point [.049 0, .494 0, .955 0, 0 1, .491 1, 1 1,]} texCoordIndex [4 3 0 1 -1, 5 4 1 2 -1,] +}} +]} +]} +ROUTE fizzy_b.fraction_changed TO fizzy_c.set_fraction +ROUTE fizzy_c.value_changed TO fizzy_a.set_translation +ROUTE fizzy_b.fraction_changed TO fizzy_d.set_fraction +ROUTE fizzy_d.value_changed TO fizzy_a.set_rotation +ROUTE Trigger1.touchTime TO fizzy_b.set_startTime + +] +} + +DEF bottle2 Bottle{ +sharedZone USE SharedZone +translation -1.3 4.835 17 +rotation 0 1 0 2 +bottleID 2 +liquid_offset 0 0 0 + +glass_geometry[ +Billboard { +children Transform { +children Shape { +appearance Appearance {material Material { diffuseColor .8 .8 1 specularColor 1 1 1 shininess 1 transparency .8}} +geometry IndexedFaceSet {solid FALSE creaseAngle .5 +coord Coordinate { point [ 0 0 -.044 0 .137 -.044 .017 0 -.041 .017 .137 -.041 .031 0 -.031 .031 .137 -.031 .041 0 -.017 .041 .137 -.017 .044 0 0 .044 .137 0 .041 0 .017 .041 .137 .017 .031 0 .031 .031 .137 .031 .017 0 .041 .017 .137 .041 0 0 .044 0 .137 .044 -.017 0 .041 -.017 .137 .041 -.031 0 .031 -.031 .137 .031 -.041 0 .017 -.041 .137 .017 -.044 0 0 -.044 .137 0 -.041 0 -.017 -.041 .137 -.017 -.031 0 -.031 -.031 .137 -.031 -.017 0 -.041 -.017 .137 -.041 0 0 0 ] } +coordIndex [0 1 3 2 -1, 2 3 5 4 -1, 4 5 7 6 -1, 6 7 9 8 -1, 8 9 11 10 -1, 10 11 13 12 -1, 12 13 15 14 -1, 14 15 17 16 -1, 16 17 19 18 -1, 18 19 21 20 -1, 20 21 23 22 -1, 22 23 25 24 -1, 24 25 27 26 -1, 26 27 29 28 -1, 28 29 31 30 -1, 30 31 1 0 -1, 32 0 2 -1, 32 2 4 -1, 32 4 6 -1, 32 6 8 -1, 32 8 10 -1, 32 10 12 -1, 32 12 14 -1, 32 14 16 -1, 32 16 18 -1, 32 18 20 -1, 32 20 22 -1, 32 22 24 -1, 32 24 26 -1, 32 26 28 -1, 32 28 30 -1, 32 30 0 -1,] +texCoord TextureCoordinate { point [ 1 0 1 1 .938 0 .938 1 .875 0 .875 1 .813 0 .813 1 .75 0 .75 1 .688 0 .688 1 .625 0 .625 1 .563 0 .563 1 .5 0 .5 1 .438 0 .438 1 .375 0 .375 1 .313 0 .313 1 .25 0 .25 1 .188 0 .188 1 .125 0 .125 1 .063 0 .063 1 0 0 0 1 .5 .5 0 .5 .691 .038 .854 .146 .854 .854 .691 .962 .962 .309 1 .5 .962 .691 .309 .962 .146 .854 .038 .691 .038 .309 .146 .146 .309 .038 ] } +texCoordIndex [0 1 3 2 -1, 2 3 5 4 -1, 4 5 7 6 -1, 6 7 9 8 -1, 8 9 11 10 -1, 10 11 13 12 -1, 12 13 15 14 -1, 14 15 17 16 -1, 16 17 19 18 -1, 18 19 21 20 -1, 20 21 23 22 -1, 22 23 25 24 -1, 24 25 27 26 -1, 26 27 29 28 -1, 28 29 31 30 -1, 30 31 33 32 -1, 34 16 36 -1, 34 36 37 -1, 34 37 40 -1, 34 40 41 -1, 34 41 42 -1, 34 42 38 -1, 34 38 39 -1, 34 39 17 -1, 34 17 43 -1, 34 43 44 -1, 34 44 45 -1, 34 45 35 -1, 34 35 46 -1, 34 46 47 -1, 34 47 48 -1, 34 48 16 -1,] +}} +}} +] +liquid_geometry[ +Billboard { +children Shape { +appearance Appearance {material Material { ambientIntensity 0 diffuseColor 0 0 0 specularColor 0 0 0 emissiveColor .74 1 .09 shininess .05}} +geometry IndexedFaceSet {solid FALSE coord Coordinate { point [ -.037 0 0 -.038 .116 0 .04 .116 0 .039 0 0 ] }coordIndex [0 1 2 3 -1,]} +}} +] + +bottle_geometry[ + +Transform { +translation 0 0 -.4 +children [ + +DEF Trigger2 TouchSensor{} + +DEF malt_b TimeSensor {loop FALSE cycleInterval 2} +DEF malt_c PositionInterpolator {key [0 .125 .75 1]keyValue [0 0 0 0 .3 0 0 .3 0 0 0 0]} +DEF malt_d OrientationInterpolator {key [0 .125 .75 1]keyValue [1 0 0 0 1 0 0 1.9 1 0 0 1.9 1 0 0 0]} + +DEF malt_a Transform { scale .7 .7 .7 +children [ +###################################### + +Shape { +appearance Appearance {material Material {ambientIntensity .05098 diffuseColor .20784 .039216 .047059 specularColor 1 1 1 shininess 1 transparency .3}} +geometry +IndexedFaceSet { solid FALSE creaseAngle 3.14159 +coord Coordinate { point [ .103 0 0 .073 0 -.073 0 0 -.103 -.073 0 -.073 -.103 0 0 -.073 0 .073 0 0 .103 .073 0 .073 .103 .477 0 .073 .477 -.073 0 .477 -.103 -.073 .477 -.073 -.103 .477 0 -.073 .477 .073 0 .477 .103 .073 .477 .073 .028 .52 0 .02 .52 -.02 0 .52 -.028 -.02 .52 -.02 -.028 .52 0 -.02 .52 .02 0 .52 .028 .02 .52 .02 .028 .633 0 .02 .633 -.02 0 .633 -.028 -.02 .633 -.02 -.028 .633 0 -.02 .633 .02 0 .633 .028 .02 .633 .02 ] } +coordIndex [1 0 7 6 5 4 3 2 -1, 9 8 0 1 -1, 10 9 1 2 -1, 11 10 2 3 -1, 12 11 3 4 -1, 13 12 4 5 -1, 14 13 5 6 -1, 15 14 6 7 -1, 8 15 7 0 -1, 17 16 8 9 -1, 18 17 9 10 -1, 19 18 10 11 -1, 20 19 11 12 -1, 21 20 12 13 -1, 22 21 13 14 -1, 23 22 14 15 -1, 16 23 15 8 -1,25 24 16 17 -1, 26 25 17 18 -1, 27 26 18 19 -1, 28 27 19 20 -1, 29 28 20 21 -1, 30 29 21 22 -1, 31 30 22 23 -1, 24 31 23 16 -1, 24 25 26 27 28 29 30 31 -1,] +}} +Transform { +children Shape { +appearance Appearance {texture ImageTexture {url "label02.jpg"}material Material {ambientIntensity .13943 diffuseColor .5451 .19216 .51765 specularColor .045 .045 .045 shininess .2875}} +geometry IndexedFaceSet {solid FALSE creaseAngle 3.14159 +coord Coordinate { point [ -.073 .145 .073 0 .314 .103 -.073 .314 .073 0 .145 .103 .073 .314 .073 .073 .145 .073 .103 .314 0 .103 .145 0 ] } +coordIndex [1 2 0 3 -1, 4 1 3 5 -1, 6 4 5 7 -1,] +texCoord TextureCoordinate { point [ 0 0 .293 1 0 1 .293 0 .707 1 .707 0 1 1 1 0 ] } +texCoordIndex [1 2 0 3 -1, 4 1 3 5 -1, 6 4 5 7 -1,] +}} +scale 1.0302 1 1.0302 +scaleOrientation 0 1 0 .055584 +} + +###################################### +]} +]} +ROUTE malt_b.fraction_changed TO malt_c.set_fraction +ROUTE malt_c.value_changed TO malt_a.set_translation +ROUTE malt_b.fraction_changed TO malt_d.set_fraction +ROUTE malt_d.value_changed TO malt_a.set_rotation +ROUTE Trigger2.touchTime TO malt_b.set_startTime + +] +} + +DEF bottle3 Bottle{ +sharedZone USE SharedZone +translation 0 4.835 15.2 +rotation 0 1 0 3.142 +bottleID 3 +liquid_offset 0 0 0 +pourKeys [.1 .00001 .1,1 1 1] + +glass_geometry[ +Billboard { +children Transform { +children Shape { +appearance Appearance {material Material {ambientIntensity 0 diffuseColor .04 .47 .54 specularColor .8 .8 .8 emissiveColor .01 .12 .14 shininess .45 transparency .6}} +geometry IndexedFaceSet {solid FALSE creaseAngle .5 +coord Coordinate { point [ 0 0 -.019 0 .137 -.044 .007 0 -.018 .017 .137 -.041 .014 0 -.014 .031 .137 -.031 .018 0 -.007 .041 .137 -.017 .019 0 0 .044 .137 0 .018 0 .007 .041 .137 .017 .014 0 .014 .031 .137 .031 .007 0 .018 .017 .137 .041 0 0 .019 0 .137 .044 -.007 0 .018 -.017 .137 .041 -.014 0 .014 -.031 .137 .031 -.018 0 .007 -.041 .137 .017 -.019 0 0 -.044 .137 0 -.018 0 -.007 -.041 .137 -.017 -.014 0 -.014 -.031 .137 -.031 -.007 0 -.018 -.017 .137 -.041 0 0 0 ] } +coordIndex [0 1 3 2 -1, 2 3 5 4 -1, 4 5 7 6 -1, 6 7 9 8 -1, 8 9 11 10 -1, 10 11 13 12 -1, 12 13 15 14 -1, 14 15 17 16 -1, 16 17 19 18 -1, 18 19 21 20 -1, 20 21 23 22 -1, 22 23 25 24 -1, 24 25 27 26 -1, 26 27 29 28 -1, 28 29 31 30 -1, 30 31 1 0 -1, 32 0 2 -1, 32 2 4 -1, 32 4 6 -1, 32 6 8 -1, 32 8 10 -1, 32 10 12 -1, 32 12 14 -1, 32 14 16 -1, 32 16 18 -1, 32 18 20 -1, 32 20 22 -1, 32 22 24 -1, 32 24 26 -1, 32 26 28 -1, 32 28 30 -1, 32 30 0 -1,] +texCoord TextureCoordinate { point [ 1 0 1 1 .938 0 .938 1 .875 0 .875 1 .813 0 .813 1 .75 0 .75 1 .688 0 .688 1 .625 0 .625 1 .563 0 .563 1 .5 0 .5 1 .438 0 .438 1 .375 0 .375 1 .313 0 .313 1 .25 0 .25 1 .188 0 .188 1 .125 0 .125 1 .063 0 .063 1 0 0 0 1 .5 .5 0 .5 .691 .038 .854 .146 .854 .854 .691 .962 .962 .309 1 .5 .962 .691 .309 .962 .146 .854 .038 .691 .038 .309 .146 .146 .309 .038 ] } +texCoordIndex [0 1 3 2 -1, 2 3 5 4 -1, 4 5 7 6 -1, 6 7 9 8 -1, 8 9 11 10 -1, 10 11 13 12 -1, 12 13 15 14 -1, 14 15 17 16 -1, 16 17 19 18 -1, 18 19 21 20 -1, 20 21 23 22 -1, 22 23 25 24 -1, 24 25 27 26 -1, 26 27 29 28 -1, 28 29 31 30 -1, 30 31 33 32 -1, 34 16 36 -1, 34 36 37 -1, 34 37 40 -1, 34 40 41 -1, 34 41 42 -1, 34 42 38 -1, 34 38 39 -1, 34 39 17 -1, 34 17 43 -1, 34 43 44 -1, 34 44 45 -1, 34 45 35 -1, 34 35 46 -1, 34 46 47 -1, 34 47 48 -1, 34 48 16 -1,] +}} +}} +] +liquid_geometry[ +Billboard { +children Shape { +appearance Appearance {material Material {ambientIntensity 0 diffuseColor 0 0 0 specularColor .62 .55 .26 emissiveColor 1 .49 .11 shininess .05}} +geometry IndexedFaceSet {solid FALSE coord Coordinate { point [ -.017 0 0 -.038 .116 0 .04 .116 0 .019 0 0 ] }coordIndex [0 1 2 3 -1,]} +}} +] + +bottle_geometry[ + +Transform { +translation 0 0 -.4 +children [ + +DEF Trigger3 TouchSensor{} + +DEF sparkling_b TimeSensor {loop FALSE cycleInterval 2} +DEF sparkling_c PositionInterpolator {key [0 .125 .75 1]keyValue [0 0 0 0 .3 0 0 .3 0 0 0 0]} +DEF sparkling_d OrientationInterpolator {key [0 .125 .75 1]keyValue [1 0 0 0 1 0 0 1.9 1 0 0 1.9 1 0 0 0]} + +DEF sparkling_a Transform { scale .7 .7 .7 +children [ +###################################### + +Shape { +appearance Appearance {material Material {ambientIntensity .039216 diffuseColor .058824 .039216 .20784 specularColor .891 .891 .891 shininess .2875 transparency .3}} +geometry IndexedFaceSet {solid FALSE creaseAngle 3.14159 +coord Coordinate { point [ .133 0 0 .094 0 -.094 0 0 -.133 -.094 0 -.094 -.133 0 0 -.094 0 .094 0 0 .133 .094 0 .094 .169 .136 0 .119 .136 -.119 0 .136 -.169 -.119 .136 -.119 -.169 .136 0 -.119 .136 .119 0 .136 .169 .119 .136 .119 .166 .296 0 .117 .296 -.117 0 .296 -.166 -.117 .296 -.117 -.166 .296 0 -.117 .296 .117 0 .296 .166 .117 .296 .117 .039 .548 0 .028 .548 -.028 0 .548 -.039 -.028 .548 -.028 -.039 .548 0 -.028 .548 .028 0 .548 .039 .028 .548 .028 .039 .619 0 .028 .619 -.028 0 .619 -.039 -.028 .619 -.028 -.039 .619 0 -.028 .619 .028 0 .619 .039 .028 .619 .028 ] } +coordIndex [1 0 7 6 5 4 3 2 -1, 9 8 0 1 -1, 10 9 1 2 -1, 11 10 2 3 -1, 12 11 3 4 -1, 13 12 4 5 -1, 14 13 5 6 -1, 15 14 6 7 -1, 8 15 7 0 -1, 17 16 8 9 -1, 18 17 9 10 -1, 19 18 10 11 -1, 20 19 11 12 -1, 21 20 12 13 -1, 22 21 13 14 -1, 25 24 16 17 -1, 26 25 17 18 -1, 27 26 18 19 -1, 28 27 19 20 -1, 29 28 20 21 -1, 30 29 21 22 -1, 31 30 22 23 -1, 24 31 23 16 -1, 33 32 24 25 -1, 34 33 25 26 -1, 35 34 26 27 -1, 36 35 27 28 -1, 37 36 28 29 -1, 38 37 29 30 -1, 39 38 30 31 -1, 32 39 31 24 -1,] +}} +Transform { +children Shape { +appearance Appearance { +texture ImageTexture {url "label01.jpg"}material Material {ambientIntensity .13943 diffuseColor .5451 .19216 .51765 specularColor .045 .045 .045 shininess .2875}} +geometry IndexedFaceSet {solid FALSE creaseAngle 3.14159 +coord Coordinate { point [ .169 .234 0 0 .234 .169 .119 .234 .119 .166 .394 0 0 .394 .166 .117 .394 .117 ] } +coordIndex [5 4 1 2 -1, 3 5 2 0 -1,] +texCoord TextureCoordinate { point [ 1 0 0 0 .5 0 .991 1 .009 1 .5 1 ] } +texCoordIndex [5 4 1 2 -1, 3 5 2 0 -1,] +}} +translation 0 -.098208 0 +} + +###################################### +]} +]} +ROUTE sparkling_b.fraction_changed TO sparkling_c.set_fraction +ROUTE sparkling_c.value_changed TO sparkling_a.set_translation +ROUTE sparkling_b.fraction_changed TO sparkling_d.set_fraction +ROUTE sparkling_d.value_changed TO sparkling_a.set_rotation +ROUTE Trigger3.touchTime TO sparkling_b.set_startTime + +] +} + +DEF effect FizzEffect{} +ROUTE bottle1.effectTime_changed TO effect.set_time +ROUTE bottle2.effectTime_changed TO effect.set_time +ROUTE bottle3.effectTime_changed TO effect.set_time + + +####################################################################################### +#AvatarWardrobe +####################################################################################### + +DEF PI PlaceInfo{name "PI" onLoad FALSE} +DEF aw_prox1 ProximitySensor{size 20 20 20 center 38 0 -71} +ROUTE aw_prox1.enterTime TO PI.get_info + +Transform{translation 38 0 -71 rotation 0 1 0 2 +children[ +DEF AW AvatarWardrobe{PI USE PI name "AW"} +]} + +#DEF aw_prox2 ProximitySensor{size 10 10 10 center 38 0 -71} +#ROUTE aw_prox2.enterTime TO AW.set_pi + + +####################################################################################### +#Game Selector +####################################################################################### + +PROTO PopUp[ +eventIn SFTime set_pop +eventIn SFString new_url +field SFString url "" +field MFNode children [] +field SFInt32 height 300 +field SFInt32 width 200 +field SFString description "Pop Up Info" +eventOut SFBool isOver +eventOut SFTime touchTime +]{ +Group{children[ +DEF button TouchSensor{isOver IS isOver touchTime IS touchTime} +Group{children IS children} +DEF pop Script{ +eventIn SFTime set_pop +eventIn SFBool set_over +eventIn SFString new_url IS new_url +field SFString linkURL IS url +field MFString param ["target=action"] +field SFInt32 height IS height +field SFInt32 width IS width +field SFString description IS description +url"vrmlscript: +function set_pop(v,t){ + u = new MFString('javascript:loadCustom(\"' + linkURL + '\",' + width + ',' + height + ')'); + Browser.loadURL(u,param); +} +function set_over(v,t){ + if(v){ Browser.setDescription(description);} + else{Browser.setDescription('');} +} +function new_url(v,t){ + linkURL = v; +} +"} +]} +ROUTE button.touchTime TO pop.set_pop +ROUTE button.isOver TO pop.set_over +}#END PopUp PROTO + +PROTO SelectionLoader[ +eventIn SFTime set_loadTime +field SFBool onLoad TRUE +field MFString loadURL [] +exposedField MFString urls [] +exposedField MFString descriptions [] +]{ + +DEF s Script{ +eventIn SFTime set_loadTime IS set_loadTime +eventIn MFNode receive +field SFBool onLoad IS onLoad +field MFString loadURL IS loadURL +exposedField MFString urls IS urls +exposedField MFString descriptions IS descriptions +field MFNode empty [] +url"vrmlscript: +function receive(v,t){ + if(v == empty){return;} + urls = v[0].url; + descriptions = v[0].name; +} +function set_loadTime(){Browser.createVrmlFromURL(loadURL,Browser.getScript(),'receive');} +function initialize(){ + if(onLoad){Browser.createVrmlFromURL(loadURL,Browser.getScript(),'receive');} +} +"} +}#SelectionLoader PROTO + + +PROTO GameSelector[ + +]{ +Transform { +children DEF a Transform { +children [ +DEF button TouchSensor{} + +DEF c OrientationInterpolator { +key [ +0 .005 .01 .015 .02 .025 .03 .035 .04 .045 .05 .055 .06 .065 .07 .075 .08 .085 .09 .095 .1 .105 .11 .115 .12 .125 .13 .135 .14 .145 .15 .155 .16 .165 .17 .175 .18 .185 .19 .195 .2 .205 .21 .215 .22 .225 .23 .235 .24 .245 .25 +] +keyValue [ +0 1 0 1.571 0 1 0 2.02 0 1 0 2.468 0 1 0 2.917 0 1 0 3.366 0 1 0 3.815 0 -1 0 2.02 0 -1 0 1.571 0 -1 0 1.222 0 -1 0 .873 0 -1 0 .524 0 -1 0 .175 0 1 0 .175 0 1 0 .524 0 1 0 .873 0 1 0 1.222 0 1 0 1.571 .171 .97 -.171 1.601 .324 .889 -.324 1.688 .447 +.775 -.447 1.823 .541 .644 -.541 1.997 .608 .51 -.608 2.198 .655 .378 -.655 2.419 .685 .249 -.685 2.653 .702 .124 -.702 2.895 .707 0 -.707 3.142 .698 .159 -.698 2.826 .669 .322 -.669 2.518 .616 .491 -.616 2.228 .529 .663 -.529 1.97 .398 .827 -.398 1.76 +.217 .952 -.217 1.62 0 1 0 1.571 -.171 .97 -.171 1.601 -.324 .889 -.324 1.688 -.447 .775 -.447 1.823 -.541 .644 -.541 1.997 .608 -.51 .608 4.085 .655 -.378 .655 3.864 .685 -.249 .685 3.63 .702 -.124 .702 3.388 .707 0 .707 3.142 .702 .124 .702 2.895 .685 +.249 .685 2.653 .655 .378 .655 2.419 .608 .51 .608 2.198 .541 .644 .541 1.997 .447 .775 .447 1.823 .324 .889 .324 1.688 .171 .97 .171 1.601 0 1 0 1.571 +] +} +Transform { +children [ +Shape { +appearance Appearance { +texture DEF selector_robot ImageTexture { +url "robot.jpg" +} +} +geometry IndexedFaceSet { +coord Coordinate { +point [ +-54.186 9.28 -74.42, -54.186 8.579 -73.719, -55.039 9.28 -74.42, -53.864 9.28 -74.742, -53.163 8.579 -74.742, -53.864 9.28 -75.595, -53.163 8.579 -75.595, -54.186 9.28 -75.916, -54.186 8.579 -76.618, -55.039 9.28 -75.916, -55.039 8.579 -76.618, +-55.361 9.28 -75.595, -56.062 8.579 -75.595, -55.361 9.28 -74.742, -56.062 8.579 -74.742, -55.039 8.579 -73.719, -55.361 8.257 -73.719, -56.062 8.257 -74.42, -55.361 7.404 -73.719, -56.062 7.404 -74.42, -55.039 7.083 -73.719, -55.039 6.381 -74.42, +-54.186 7.083 -73.719, -54.186 6.381 -74.42, -53.864 7.404 -73.719, -53.163 7.404 -74.42, -53.864 8.257 -73.719, -53.163 8.257 -74.42, -53.163 8.257 -75.916, -53.864 8.257 -76.618, -53.163 7.404 -75.916, -53.864 7.404 -76.618, -53.163 7.083 -75.595, +-53.864 6.381 -75.595, -53.163 7.083 -74.742, -53.864 6.381 -74.742, -55.361 6.381 -74.742, -56.062 7.083 -74.742, -55.361 6.381 -75.595, -56.062 7.083 -75.595, -55.039 6.381 -75.916, -55.039 7.083 -76.618, -54.186 6.381 -75.916, -54.186 7.083 -76.618, +-55.361 8.257 -76.618, -56.062 8.257 -75.916, -55.361 7.404 -76.618, -56.062 7.404 -75.916, -54.089 8.941 -74.801, -53.615 8.47 -74.804, -54.089 8.941 -75.536, -53.615 8.47 -75.533, -53.615 7.466 -74.529, -53.615 8.195 -74.529, -53.615 8.195 -75.808, +-53.615 7.466 -75.808, -53.615 7.191 -75.533, -53.615 7.191 -74.804, -55.515 8.47 -74.804, -55.515 8.47 -75.533, -55.515 7.466 -74.529, -55.515 8.195 -74.529, -55.515 8.195 -75.808, -55.515 7.466 -75.808, -55.515 7.191 -75.533, -55.515 7.191 -74.804, +] +} +coordIndex [ +1 26 27 4 3 0 -1, 6 28 29 8 7 5 -1, 10 44 45 12 11 9 -1, 14 17 16 15 2 13 -1, 19 37 36 21 20 18 -1, 23 35 34 25 24 22 -1, 30 32 33 42 43 31 -1, 39 47 46 41 40 38 -1, 49 51 50 48 -1, 60 65 64 63 62 59 58 61 -1, 6 5 50 -1, 50 51 6 -1, 5 3 48 50 -1, 3 4 +49 -1, 49 48 3 -1, 25 34 57 52 -1, 34 32 56 57 -1, 32 30 55 56 -1, 30 28 54 55 -1, 28 6 51 54 -1, 4 27 53 49 -1, 27 25 52 53 -1, 51 49 58 59 -1, 52 57 65 60 -1, 57 56 64 65 -1, 56 55 63 64 -1, 55 54 62 63 -1, 54 51 59 62 -1, 49 53 61 58 -1, 53 52 60 +61 -1, +] +texCoord TextureCoordinate { +point [ +.343 1, 0 .39, .657 1, 1 .39, 1 .61, .657 0, .842 .89, .158 .89, 0 .61, .343 .001, .158 .11, .842 .11, .158 1, 0 .685, 1 .685, .842 1, .657 .001, .999 .39, 0 .315, .158 .001, .842 0, 1 .315, 1 0, 0 1, 0 0, 1 1, 0 .215, .215 0, .785 .001, .999 .215, +1 .785, .785 1, .215 1, 0 .785, +] +} +texCoordIndex [ +1 10 11 17 2 0 -1, 1 10 11 3 2 0 -1, 1 10 11 3 2 0 -1, 18 19 20 21 2 0 -1, 6 4 16 9 8 7 -1, 5 9 8 7 6 4 -1, 12 13 9 5 14 15 -1, 8 7 6 4 5 9 -1, 25 23 24 22 -1, 26 27 28 29 30 31 32 33 -1, 24 22 25 -1, 25 23 24 -1, 24 22 25 23 -1, 24 22 25 -1, 25 23 24 +-1, 24 22 25 23 -1, 24 22 25 23 -1, 24 22 25 23 -1, 24 22 25 23 -1, 24 22 25 23 -1, 24 22 25 23 -1, 24 22 25 23 -1, 24 22 25 23 -1, 24 22 25 23 -1, 24 22 25 23 -1, 24 22 25 23 -1, 24 22 25 23 -1, 24 22 25 23 -1, 24 22 25 23 -1, 24 22 25 23 -1, +] +} +} +Transform { +children Shape { +appearance Appearance { +texture USE selector_robot +} +geometry IndexedFaceSet { +coord Coordinate { +point [ +0 0 0, -.06 0 0, -.043 0 .043, 0 0 .06, .043 0 .043, -.06 .819 0, -.043 .819 .043, 0 .819 .06, .043 .819 .043, 0 .819 0, +] +} +coordIndex [ +2 1 0 4 3 -1, 6 5 1 2 -1, 7 6 2 3 -1, 8 7 3 4 -1, 9 5 6 7 8 -1, +] +texCoord TextureCoordinate { +point [ +.389 1.67, .389 1.636, .389 1.622, .612 1.67, .612 1.636, .612 1.622, +] +} +texCoordIndex [ +1 0 0 1 2 -1, 4 3 0 1 -1, 5 4 1 2 -1, 4 5 2 1 -1, 3 3 4 5 4 -1, +] +} +} +translation -53.864 9.2799 -75.578 +rotation 1 0 0 1.5708 +} + +DEF d Transform { +children [ +DEF e PositionInterpolator { +key [ +0 .385 .39 .395 .4 .405 .41 .415 .42 .425 .43 .435 .44 .445 .78 .785 .79 .795 .8 .805 .81 +] +keyValue [ +-3.166 .373 -3.579 -3.166 .373 -3.579 -2.708 .373 -3.579 -2.251 .373 -3.579 -1.794 .373 -3.579 -1.337 .373 -3.579 -.88 .373 -3.579 -.423 .373 -3.579 .034 .373 -3.579 -.057 .373 -3.579 -.102 .373 -3.579 -.102 .373 -3.579 -.057 .373 -3.579 .034 .373 -3.579 +.034 .373 -3.579 -.499 .373 -3.579 -1.032 .373 -3.579 -1.566 .373 -3.579 -2.099 .373 -3.579 -2.632 .373 -3.579 -3.166 .373 -3.579 +] +} +Shape { +appearance DEF screen_mat Appearance { +material DEF _9 Material { +diffuseColor 0.47 0.52 0.58 +specularColor 1 1 1 +emissiveColor 0 0 0 +shininess 0.13 +}} +geometry IndexedFaceSet { +coord Coordinate { +point [ +-54.537 7.466 -74.529, -54.537 7.191 -74.804, -54.537 7.191 -75.533, -54.537 7.466 -75.808, -54.537 8.195 -75.808, -54.537 8.47 -75.533, -54.537 8.47 -74.804, -54.537 8.195 -74.529, -54.307 7.466 -74.529, -54.307 7.191 -74.804, -54.307 7.191 -75.533, +-54.307 7.466 -75.808, -54.307 8.195 -75.808, -54.307 8.47 -75.533, -54.307 8.47 -74.804, -54.307 8.195 -74.529, +] +} +coordIndex [ +0 1 9 8 -1, 1 2 10 9 -1, 2 3 11 10 -1, 3 4 12 11 -1, 4 5 13 12 -1, 5 6 14 13 -1, 6 7 15 14 -1, 7 0 8 15 -1, +] +texCoord TextureCoordinate { +point [ +.666 .215, .595 .003, .406 .003, .334 .215, .334 .778, .406 .99, .595 .99, .666 .778, +] +} +creaseAngle 3.14159 +texCoordIndex [ +0 1 1 0 -1, 1 2 2 1 -1, 2 3 3 2 -1, 3 4 4 3 -1, 4 5 5 4 -1, 5 6 6 5 -1, 6 7 7 6 -1, 7 0 0 7 -1, +] +} +} +DEF f Transform { +children [ +DEF g PositionInterpolator { +key [ +0 .25 +] +keyValue [ +-54.431 7.831 -75.168 -54.431 7.831 -75.168 +] +} +DEF h OrientationInterpolator { +key [ +0 .005 .01 .015 .02 .025 .03 .04 .045 .05 .055 .07 .075 .08 .17 .175 .18 .185 .195 .2 .205 .215 .22 .225 .23 .235 .245 .25 .4 .405 .455 .46 .66 .665 .76 .765 +] +keyValue [ +-.577 .577 -.577 4.189 .577 -.577 .577 2.094 .577 -.577 .577 2.094 -.577 .577 -.577 4.189 -.577 .577 -.577 4.189 .577 -.577 .577 2.094 -.577 .577 -.577 4.189 -.577 .577 -.577 4.189 .577 -.577 .577 2.094 .577 -.577 .577 2.094 -.577 .577 -.577 4.189 -.577 +.577 -.577 4.189 .577 -.577 .577 2.094 -.577 .577 -.577 4.189 -.577 .577 -.577 4.189 .577 -.577 .577 2.094 .577 -.577 .577 2.094 -.577 .577 -.577 4.189 -.577 .577 -.577 4.189 .577 -.577 .577 2.094 -.577 .577 -.577 4.189 -.577 .577 -.577 4.189 .577 -.577 +.577 2.094 .577 -.577 .577 2.094 -.577 .577 -.577 4.189 .577 -.577 .577 2.094 .577 -.577 .577 2.094 -.577 .577 -.577 4.189 -.577 .577 -.577 4.189 .577 -.577 .577 2.094 .577 -.577 .577 2.094 -.577 .577 -.577 4.189 -.577 .577 -.577 4.189 .577 -.577 .577 +2.094 .577 -.577 .577 2.094 -.577 .577 -.577 4.189 +] +} +DEF i PositionInterpolator { +key [ +0 .385 .39 .395 .4 .405 .41 .415 .42 .78 .785 .79 .795 .8 .805 .81 +] +keyValue [ +1.05 .614 1.05 1.05 .614 1.05 1.05 1.124 1.05 1.05 1.633 1.05 1.05 2.143 1.05 1.05 2.653 1.05 1.05 3.162 1.05 1.05 3.672 1.05 1.05 4.181 1.05 1.05 4.181 1.05 1.05 3.586 1.05 1.05 2.991 1.05 1.05 2.396 1.05 1.05 1.801 1.05 1.05 1.206 1.05 1.05 .611 1.05 +] +} +DEF j OrientationInterpolator { +key [ +0 .005 .01 .015 .02 .025 .03 .035 .04 .045 .05 .055 .06 .065 .07 .075 .08 .085 .085 .09 .092 .092 .095 .1 .105 .11 .115 .12 .125 .13 .135 .14 .145 .149 .149 .15 .152 .152 .155 .16 .165 .17 .175 .18 .185 .19 .195 .2 .205 .21 .22 .225 .23 .235 .24 .245 +.25 .385 .39 .395 .4 .405 .41 .415 .42 .455 .46 .465 .47 .525 .53 .535 .54 .545 .55 .555 .565 .57 .575 .58 .61 .615 .62 .66 .665 .76 .765 .785 .79 .795 .8 .805 .81 +] +keyValue [ +0 -1 0 .044 0 -1 0 .044 0 -1 0 .043 0 -1 0 .061 0 -1 0 .041 0 -1 0 .063 0 -1 0 .045 0 -1 0 .044 0 -1 0 .042 0 -1 0 .046 0 -1 0 .041 0 -1 0 .045 0 -1 0 .041 0 -1 0 .038 0 -1 0 .044 0 -1 0 .065 0 -1 0 .044 0 -1 0 .109 0 1 0 .002 0 1 0 .079 0 1 0 .079 0 +-1 0 .04 0 -1 0 .145 0 -1 0 .068 0 -1 0 .019 0 -1 0 .012 0 -1 0 .015 0 -1 0 .096 0 -1 0 .066 0 -1 0 .032 0 -1 0 .148 0 -1 0 .007 0 -1 0 .009 0 -1 0 .11 0 1 0 .014 0 1 0 .055 0 1 0 .08 0 -1 0 .1 0 -1 0 .047 0 -1 0 .044 0 -1 0 .045 0 -1 0 .044 0 -1 0 .045 +0 -1 0 .036 0 -1 0 .045 0 -1 0 .035 0 -1 0 .043 0 -1 0 .045 0 -1 0 .067 0 -1 0 .047 0 -1 0 .047 0 -1 0 .045 0 -1 0 .045 0 -1 0 .034 0 -1 0 .043 0 -1 0 .045 0 -1 0 .044 0 -1 0 .044 0 -1 0 .042 0 -1 0 .045 0 -1 0 .039 0 -1 0 .029 0 -1 0 .018 0 -1 0 .016 +0 -1 0 .017 0 -1 0 .017 0 -1 0 .049 0 -1 0 .049 0 -1 0 .033 0 -1 0 .033 0 -1 0 .031 0 -1 0 .033 0 -1 0 .028 0 -1 0 .033 0 -1 0 .028 0 -1 0 .033 0 -1 0 .033 0 -1 0 .05 0 -1 0 .05 0 -1 0 .018 0 -1 0 .018 0 -1 0 .05 0 -1 0 .018 0 -1 0 .018 0 -1 0 .017 0 +-1 0 .017 0 -1 0 .016 0 -1 0 .016 0 -1 0 .021 0 -1 0 .028 0 -1 0 .028 0 -1 0 .033 0 -1 0 .033 +] +} +Shape { +appearance Appearance { +material Material { +diffuseColor .35 .38 .32 +specularColor .8 1 .83 +shininess .12 +} +texture ImageTexture { +url "floor.gif" +} +} +geometry IndexedFaceSet { +coord Coordinate { +point [ +-.278 0 .19, .278 0 .19, -.278 0 -.19, .278 0 -.19, -.278 .94 .19, .278 .94 .19, -.278 .94 -.19, .278 .94 -.19, +] +} +coordIndex [ +0 1 5 4 -1, 1 3 7 5 -1, 3 2 6 7 -1, 2 0 4 6 -1, +] +texCoord TextureCoordinate { +point [ +1 0, 0 1, 0 0, 1 1, +] +} +creaseAngle 3.14159 +texCoordIndex [ +2 0 3 1 -1, 2 0 3 1 -1, 2 0 3 1 -1, 2 0 3 1 -1, +] +} +} +] +translation -54.431 7.831 -75.168 +rotation -.57735 .57735 -.57735 4.189 +scale 1.05 .614 1.05 +scaleOrientation 0 -1 0 .044 +} +DEF k Transform { +children [ +DEF l PositionInterpolator { +key [ +0 .25 +] +keyValue [ +-54.537 7.831 -75.808 -54.537 7.831 -75.808 +] +} +DEF m OrientationInterpolator { +key [ +0 .5 .505 .51 .515 .52 .525 .53 .535 .54 .545 .65 .655 .66 .665 .67 .675 .68 .685 .69 .695 +] +keyValue [ +0 1 0 3.142 0 1 0 3.142 0 1 0 2.793 0 1 0 2.444 0 1 0 2.094 0 1 0 1.745 0 1 0 1.396 0 1 0 1.047 0 1 0 .698 0 1 0 .349 0 0 1 0 0 0 1 0 0 1 0 .349 0 1 0 .698 0 1 0 1.047 0 1 0 1.396 0 1 0 1.745 0 1 0 2.094 0 1 0 2.444 0 1 0 2.793 0 1 0 3.142 +] +} +Transform { +children Shape { +appearance USE screen_mat +geometry IndexedFaceSet { +coord Coordinate { +point [ +-54.537 7.466 -74.529, -54.537 7.191 -74.804, -54.537 7.191 -75.533, -54.537 7.466 -75.808, -54.537 8.195 -75.808, -54.537 8.47 -75.533, -54.537 8.47 -74.804, -54.537 8.195 -74.529, -54.307 7.466 -74.529, -54.307 7.191 -74.804, -54.307 7.191 -75.533, +-54.307 7.466 -75.808, -54.307 8.195 -75.808, -54.307 8.47 -75.533, -54.307 8.47 -74.804, -54.307 8.195 -74.529, +] +} +coordIndex [ +0 1 9 8 -1, 1 2 10 9 -1, 2 3 11 10 -1, 3 4 12 11 -1, 4 5 13 12 -1, 5 6 14 13 -1, 6 7 15 14 -1, 7 0 8 15 -1, +] +texCoord TextureCoordinate { +point [ +.334 .215, .263 .003, .074 .003, .002 .215, .002 .778, .074 .99, .263 .99, .334 .778, +] +} +creaseAngle 3.14159 +texCoordIndex [ +0 1 1 0 -1, 1 2 2 1 -1, 2 3 3 2 -1, 3 4 4 3 -1, 4 5 5 4 -1, 5 6 6 5 -1, 6 7 7 6 -1, 7 0 0 7 -1, +] +} +} +translation 51.94 -7.4578 70.98 +scale .95238 .95238 .95238 +} + +Transform { +children Shape { +appearance DEF selector_screen Appearance{ +material Material{} +texture ImageTexture {url "game_selector_screen.jpg"} +} +geometry IndexedFaceSet { +coord Coordinate { +point [ +-54.307 7.466 -74.529, -54.307 7.191 -74.804, -54.307 7.191 -75.533, -54.307 7.466 -75.808, -54.307 8.195 -75.808, -54.307 8.47 -75.533, -54.307 8.47 -74.804, -54.307 8.195 -74.529, +] +} +coordIndex [ +0 1 2 3 4 5 6 7 -1, +] +texCoord TextureCoordinate { +point [ +.334 .215, .263 .003, .074 .003, .002 .215, .002 .778, .074 .99, .263 .99, .334 .778, +] +} +texCoordIndex [ +0 1 2 3 4 5 6 7 -1, +] +} +} +translation 51.94 -7.4578 70.98 +scale .95238 .95238 .95238 +} +] +translation -54.537 7.831 -75.808 +rotation 0 1 0 3.142 +scale 1.05 1.05 1.05 +} +DEF n Transform { +children [ +DEF o PositionInterpolator { +key [ +0 .25 +] +keyValue [ +-54.537 7.831 -74.529 -54.537 7.831 -74.529 +] +} +DEF p OrientationInterpolator { +key [ +0 .5 .505 .51 .515 .52 .525 .53 .535 .54 .545 .65 .655 .66 .665 .67 .675 .68 .685 .69 .695 +] +keyValue [ +0 0 -1 3.142 0 0 -1 3.142 -.174 0 -.985 3.142 -.342 0 -.94 3.142 -.5 0 -.866 3.142 -.643 0 -.766 3.142 .766 0 .643 3.142 .866 0 .5 3.142 .94 0 .342 3.142 .985 0 .174 3.142 1 0 0 3.142 1 0 0 3.142 .985 0 .174 3.142 .94 0 .342 3.142 .866 0 .5 3.142 .766 +0 .643 3.142 -.643 0 -.766 3.142 -.5 0 -.866 3.142 -.342 0 -.94 3.142 -.174 0 -.985 3.142 0 0 -1 3.142 +] +} +Transform { +children Shape { +appearance USE screen_mat +geometry IndexedFaceSet { +coord Coordinate { +point [ +-54.537 7.466 -74.529, -54.537 7.191 -74.804, -54.537 7.191 -75.533, -54.537 7.466 -75.808, -54.537 8.195 -75.808, -54.537 8.47 -75.533, -54.537 8.47 -74.804, -54.537 8.195 -74.529, -54.307 7.466 -74.529, -54.307 7.191 -74.804, -54.307 7.191 -75.533, +-54.307 7.466 -75.808, -54.307 8.195 -75.808, -54.307 8.47 -75.533, -54.307 8.47 -74.804, -54.307 8.195 -74.529, +] +} +coordIndex [ +0 1 9 8 -1, 1 2 10 9 -1, 2 3 11 10 -1, 3 4 12 11 -1, 4 5 13 12 -1, 5 6 14 13 -1, 6 7 15 14 -1, 7 0 8 15 -1, +] +texCoord TextureCoordinate { +point [ +.666 .778, .737 .99, .927 .99, .998 .778, .998 .215, .927 .003, .737 .003, .666 .215, +] +} +creaseAngle 3.14159 +texCoordIndex [ +0 1 1 0 -1, 1 2 2 1 -1, 2 3 3 2 -1, 3 4 4 3 -1, 4 5 5 4 -1, 5 6 6 5 -1, 6 7 7 6 -1, 7 0 0 7 -1, +] +} +} +translation 51.94 -7.4577 70.98 +scale .95238 .95238 .95238 +} +Transform { +children Shape { +appearance USE selector_screen +geometry IndexedFaceSet { +coord Coordinate { +point [ +-54.307 7.466 -74.529, -54.307 7.191 -74.804, -54.307 7.191 -75.533, -54.307 7.466 -75.808, -54.307 8.195 -75.808, -54.307 8.47 -75.533, -54.307 8.47 -74.804, -54.307 8.195 -74.529, +] +} +coordIndex [ +0 1 2 3 4 5 6 7 -1, +] +texCoord TextureCoordinate { +point [ +.666 .778, .737 .99, .927 .99, .998 .778, .998 .215, .927 .003, .737 .003, .666 .215, +] +} +texCoordIndex [ +0 1 2 3 4 5 6 7 -1, +] +} +} +translation 51.94 -7.4577 70.98 +scale .95238 .95238 .95238 +} +] +translation -54.537 7.831 -74.529 +rotation 0 0 -1 3.142 +scale 1.05 1.05 1.05 +} + +DEF q Transform { +children [ +DEF r PositionInterpolator { +key [ +0 .525 .53 .535 .54 .545 .55 .65 .655 .66 .665 .67 .675 +] +keyValue [ +-54.441 8.195 -75.808 -54.441 8.195 -75.808 -54.437 8.195 -75.808 -54.432 8.195 -75.808 -54.428 8.195 -75.808 -54.424 8.195 -75.808 -54.42 8.195 -75.808 -54.42 8.195 -75.808 -54.426 8.195 -75.808 -54.432 8.195 -75.808 -54.439 8.195 -75.808 -54.445 8.195 +-75.808 -54.451 8.195 -75.808 +] +} +DEF s OrientationInterpolator { +key [ +0 .525 .53 .535 .54 .545 .55 .65 .655 .66 .665 .67 .675 +] +keyValue [ +.577 -.577 -.577 2.094 .577 -.577 -.577 2.094 .507 -.697 -.507 1.924 .413 -.811 -.413 1.778 .295 -.909 -.295 1.666 .155 -.976 -.155 1.595 0 -1 0 1.571 0 -1 0 1.571 .155 -.976 -.155 1.595 .295 -.909 -.295 1.666 .413 -.811 -.413 1.778 .507 -.697 -.507 +1.924 .577 -.577 -.577 2.094 +] +} +Transform { +children Shape { +appearance USE screen_mat +geometry IndexedFaceSet { +coord Coordinate { +point [ +-54.537 8.195 -75.808, -54.537 8.47 -75.533, -54.307 8.195 -75.808, -54.307 8.47 -75.533, -54.537 8.47 -76.083, -54.307 8.47 -76.083, +] +} +coordIndex [ +1 0 2 3 -1, 0 4 5 2 -1, 5 4 1 3 -1, +] +texCoord TextureCoordinate { +point [ +.334 .778, .406 .99, .263 .99, +] +} +creaseAngle 3.14159 +texCoordIndex [ +1 0 0 1 -1, 0 2 2 0 -1, 2 2 1 1 -1, +] +} +} +translation 72.198 -7.805 -51.317 +rotation 0 1 0 1.5708 +scale .94295 .95238 .95238 +} +Transform { +children Shape { +appearance USE selector_screen +geometry IndexedFaceSet { +coord Coordinate { +point [ +-54.307 8.195 -75.808, -54.307 8.47 -76.083, -54.307 8.47 -75.533, +] +} +coordIndex [ +0 1 2 -1, +] +texCoord TextureCoordinate { +point [ +.334 .778, .263 .99, .406 .99, +] +} +texCoordIndex [ +0 1 2 -1, +] +} +} +translation 72.198 -7.805 -51.317 +rotation 0 1 0 1.5708 +scale .94295 .95238 .95238 +} +] +translation -54.441 8.195 -75.808 +rotation .57735 -.57735 -.57735 2.094 +scale 1.05 1.05 1.05 +} +DEF t Transform { +children [ +DEF u PositionInterpolator { +key [ +0 .525 .53 .535 .54 .545 .55 .65 .655 .66 .665 .67 .675 +] +keyValue [ +-54.441 7.466 -75.808 -54.441 7.466 -75.808 -54.437 7.466 -75.808 -54.432 7.466 -75.808 -54.428 7.466 -75.808 -54.424 7.466 -75.808 -54.42 7.466 -75.808 -54.42 7.466 -75.808 -54.426 7.466 -75.808 -54.432 7.466 -75.808 -54.439 7.466 -75.808 -54.445 7.466 +-75.808 -54.451 7.466 -75.808 +] +} +DEF v OrientationInterpolator { +key [ +0 .525 .53 .535 .54 .545 .55 .65 .655 .66 .665 .67 .675 +] +keyValue [ +.577 .577 .577 2.094 .577 .577 .577 2.094 .629 .457 .629 2.284 .665 .339 .665 2.488 .689 .224 .689 2.701 .703 .111 .703 2.92 .707 0 .707 3.142 .707 0 .707 3.142 .703 .111 .703 2.92 .689 .224 .689 2.701 .665 .339 .665 2.488 .629 .457 .629 2.284 .577 .577 +.577 2.094 +] +} +Transform { +children Shape { +appearance USE screen_mat +geometry IndexedFaceSet { +coord Coordinate { +point [ +-54.537 8.195 -75.808, -54.537 8.47 -75.533, -54.307 8.195 -75.808, -54.307 8.47 -75.533, -54.537 8.47 -76.083, -54.307 8.47 -76.083, +] +} +coordIndex [ +1 0 2 3 -1, 0 4 5 2 -1, 5 4 1 3 -1, +] +texCoord TextureCoordinate { +point [ +.334 .215, .263 .003, .406 .003, +] +} +creaseAngle 3.14159 +texCoordIndex [ +1 0 0 1 -1, 0 2 2 0 -1, 2 2 1 1 -1, +] +} +} +translation -72.198 -7.805 50.318 +rotation 0 -1 0 1.5708 +scale .92464 .95238 .95238 +scaleOrientation 1 0 0 .61453 +} +Transform { +children Shape { +appearance USE selector_screen +geometry IndexedFaceSet { +coord Coordinate { +point [ +-54.307 8.195 -75.808, -54.307 8.47 -76.083, -54.307 8.47 -75.533, +] +} +coordIndex [ +0 1 2 -1, +] +texCoord TextureCoordinate { +point [ +.334 .215, .406 .003, .263 .003, +] +} +texCoordIndex [ +0 1 2 -1, +] +} +} +translation -72.198 -7.805 50.318 +rotation 0 -1 0 1.5708 +scale .92464 .95238 .95238 +scaleOrientation 1 0 0 .61453 +} +] +translation -54.441 7.466 -75.808 +rotation .57735 .57735 .57735 2.094 +scale 1.05 1.05 1.05 +} +DEF w Transform { +children [ +DEF x PositionInterpolator { +key [ +0 .525 .53 .535 .54 .545 .55 .65 .655 .66 .665 .67 .675 +] +keyValue [ +-54.441 7.466 -74.529 -54.441 7.466 -74.529 -54.437 7.466 -74.529 -54.432 7.466 -74.529 -54.428 7.466 -74.529 -54.424 7.466 -74.529 -54.42 7.466 -74.529 -54.42 7.466 -74.529 -54.426 7.466 -74.529 -54.432 7.466 -74.529 -54.439 7.466 -74.529 -54.445 7.466 +-74.529 -54.451 7.466 -74.529 +] +} +DEF y OrientationInterpolator { +key [ +0 .525 .53 .535 .54 .545 .55 .65 .655 .66 .665 .67 .675 +] +keyValue [ +-.577 .577 -.577 2.094 -.577 .577 -.577 2.094 .629 -.457 .629 3.999 .665 -.339 .665 3.795 .689 -.224 .689 3.582 .703 -.111 .703 3.363 .707 0 .707 3.142 .707 0 .707 3.142 .703 -.111 .703 3.363 .689 -.224 .689 3.582 .665 -.339 .665 3.795 .629 -.457 .629 +3.999 -.577 .577 -.577 2.094 +] +} +Transform { +children Shape { +appearance USE screen_mat +geometry IndexedFaceSet { +coord Coordinate { +point [ +-54.537 8.195 -75.808, -54.537 8.47 -75.533, -54.307 8.195 -75.808, -54.307 8.47 -75.533, -54.537 8.47 -76.083, -54.307 8.47 -76.083, +] +} +coordIndex [ +1 0 2 3 -1, 0 4 5 2 -1, 5 4 1 3 -1, +] +texCoord TextureCoordinate { +point [ +.666 .215, .595 .003, .737 .003, +] +} +creaseAngle 3.14159 +texCoordIndex [ +1 0 0 1 -1, 0 2 2 0 -1, 2 2 1 1 -1, +] +} +} +translation -72.198 -7.8051 50.318 +rotation 0 -1 0 1.5708 +scale .92464 .95238 .95238 +scaleOrientation -1 0 0 .7854 +} +Transform { +children Shape { +appearance USE selector_screen +geometry IndexedFaceSet { +coord Coordinate { +point [ +-54.307 8.195 -75.808, -54.307 8.47 -76.083, -54.307 8.47 -75.533, +] +} +coordIndex [ +0 1 2 -1, +] +texCoord TextureCoordinate { +point [ +.666 .215, .737 .003, .595 .003, +] +} +texCoordIndex [ +0 1 2 -1, +] +} +} +translation -72.198 -7.8051 50.318 +rotation 0 -1 0 1.5708 +scale .92464 .95238 .95238 +scaleOrientation -1 0 0 .7854 +} +] +translation -54.441 7.466 -74.529 +rotation -.57735 .57735 -.57735 2.094 +scale 1.05 1.05 1.05 +} +DEF z Transform { +children [ +DEF a0 PositionInterpolator { +key [ +0 .525 .53 .535 .54 .545 .55 .65 .655 .66 .665 .67 .675 +] +keyValue [ +-54.441 8.195 -74.529 -54.441 8.195 -74.529 -54.437 8.195 -74.529 -54.432 8.195 -74.529 -54.428 8.195 -74.529 -54.424 8.195 -74.529 -54.42 8.195 -74.529 -54.42 8.195 -74.529 -54.426 8.195 -74.529 -54.432 8.195 -74.529 -54.439 8.195 -74.529 -54.445 8.195 +-74.529 -54.451 8.195 -74.529 +] +} +DEF a1 OrientationInterpolator { +key [ +0 .525 .53 .535 .54 .545 .55 .65 .655 .66 .665 .67 .675 +] +keyValue [ +.577 -.577 .577 4.189 .577 -.577 .577 4.189 -.507 .697 -.507 1.924 -.413 .811 -.413 1.778 -.295 .909 -.295 1.666 -.155 .976 -.155 1.595 0 1 0 1.571 0 1 0 1.571 -.155 .976 -.155 1.595 -.295 .909 -.295 1.666 -.413 .811 -.413 1.778 -.507 .697 -.507 1.924 +.577 -.577 .577 4.189 +] +} +Transform { +children[ + + +Shape { +appearance USE screen_mat +geometry IndexedFaceSet { +coord Coordinate { +point [ +-54.537 8.195 -75.808, -54.537 8.47 -75.533, -54.307 8.195 -75.808, -54.307 8.47 -75.533, -54.537 8.47 -76.083, -54.307 8.47 -76.083, +] +} +coordIndex [ +1 0 2 3 -1, 0 4 5 2 -1, 5 4 1 3 -1, +] +texCoord TextureCoordinate { +point [ +.666 .778, .737 .99, .595 .99, +] +} +creaseAngle 3.14159 +texCoordIndex [ +1 0 0 1 -1, 0 2 2 0 -1, 2 2 1 1 -1, +] +} +} +] +translation -72.198 -7.8051 51.316 +rotation 0 -1 0 1.5708 +scale .94295 .95238 .95238 +} +Transform { +children Shape { +appearance USE selector_screen +geometry IndexedFaceSet { +coord Coordinate { +point [ +-54.307 8.195 -75.808, -54.307 8.47 -76.083, -54.307 8.47 -75.533, +] +} +coordIndex [ +0 1 2 -1, +] +texCoord TextureCoordinate { +point [ +.666 .778, .595 .99, .737 .99, +] +} +texCoordIndex [ +0 1 2 -1, +] +} +} +translation -72.198 -7.8051 51.316 +rotation 0 -1 0 1.5708 +scale .94295 .95238 .95238 +} +] +translation -54.441 8.195 -74.529 +rotation .57735 -.57735 .57735 4.189 +scale 1.05 1.05 1.05 +} + +Transform{translation -54.3 7.8 -75.16 rotation 0 1 0 1.571 +children[ +DEF text_interp PositionInterpolator{ +key[0,.5,.6,.65,.7,1] +keyValue[.00001 1 1 ,.00001 1 1, 1 1 1, 1 1 1,.00001 1 1,.00001 1 1] +} +DEF text_trans Transform{ +children[ +Transform{translation 0 .15 0 +children[ +Shape{ +appearance Appearance{material Material{diffuseColor 0 1 1 specularColor 0 1 1}} +geometry DEF name_text Text{ + string "GAME TITLE HERE" + fontStyle FontStyle{ + justify "MIDDLE" + family "ARIAL" + size .3 + } + } +} +]} + +DEF game_pop PopUp{ +width 640 +height 480 +children[ + +Transform{translation 0 -.2 0 +children[ +Shape{ +appearance Appearance{material Material{transparency 1}} +geometry Box{size 2 .25 .0001} +} +Shape{ +appearance Appearance{material Material{diffuseColor 0 1 1 specularColor 0 1 1}} +geometry Text{ + string "CLICK HERE TO PLAY" + fontStyle FontStyle{ + justify "MIDDLE" + family "ARIAL" + size .18 + } + } +} +]} +] +description "Select a Game" +url "#" +} + +]} +]} + +Shape { +appearance USE selector_screen +geometry IndexedFaceSet { +coord Coordinate { +point [ +-54.307 7.466 -74.529, -54.307 7.191 -74.804, -54.307 7.191 -75.533, -54.307 7.466 -75.808, -54.307 8.195 -75.808, -54.307 8.47 -75.533, -54.307 8.47 -74.804, -54.307 8.195 -74.529, +] +} +coordIndex [ +0 1 2 3 4 5 6 7 -1, +] +texCoord TextureCoordinate { +point [ +.666 .215, .595 .003, .406 .003, .334 .215, .334 .778, .406 .99, .595 .99, .666 .778, +] +} +texCoordIndex [ +0 1 2 3 4 5 6 7 -1, +] +} +} +] +translation -3.166 .373 -3.579 +scale .95238 .95238 .95238 +} +] +translation 54.612 -7.8307 75.168 +} +Transform { +children Shape { +appearance Appearance { +texture DEF selector_selector ImageTexture { +url "selector.jpg" +} +} +geometry IndexedFaceSet { +coord Coordinate { +point [ +-54.186 9.28 -74.42, -54.186 8.579 -73.719, -55.039 9.28 -74.42, -53.864 9.28 -74.742, -53.864 9.28 -75.595, -54.186 9.28 -75.916, -54.186 8.579 -76.618, -55.039 9.28 -75.916, -55.039 8.579 -76.618, -55.361 9.28 -75.595, -56.062 8.579 -75.595, +-55.361 9.28 -74.742, -56.062 8.579 -74.742, -55.039 8.579 -73.719, -55.361 8.257 -73.719, -56.062 8.257 -74.42, -55.361 7.404 -73.719, -56.062 7.404 -74.42, -55.039 7.083 -73.719, -55.039 6.381 -74.42, -54.186 7.083 -73.719, -54.186 6.381 -74.42, +-53.864 7.404 -73.719, -53.864 8.257 -73.719, -53.864 8.257 -76.618, -53.864 7.404 -76.618, -53.864 6.381 -75.595, -53.864 6.381 -74.742, -55.361 6.381 -74.742, -56.062 7.083 -74.742, -55.361 6.381 -75.595, -56.062 7.083 -75.595, -55.039 6.381 -75.916, +-55.039 7.083 -76.618, -54.186 6.381 -75.916, -54.186 7.083 -76.618, -55.361 8.257 -76.618, -56.062 8.257 -75.916, -55.361 7.404 -76.618, -56.062 7.404 -75.916, +] +} +coordIndex [ +0 3 4 5 7 9 11 2 -1, 13 14 16 18 20 22 23 1 -1, 27 21 19 28 30 32 34 26 -1, 33 38 36 8 6 24 25 35 -1, 39 31 29 17 15 12 10 37 -1, +] +texCoord TextureCoordinate { +point [ +.215 1, .785 1, 1 .785, .999 .215, .785 0, .215 .001, 0 .785, 0 .215, 1 .215, .215 0, .785 .001, .001 .785, .001 .215, +] +} +texCoordIndex [ +2 1 0 11 12 5 4 8 -1, 1 2 8 4 9 7 6 0 -1, 1 2 8 10 5 12 11 0 -1, 10 8 2 1 0 6 7 5 -1, 7 5 4 3 2 1 0 6 -1, +] +} +} +translation 54.612 -7.8307 75.168 +} +Transform { +children Shape { +appearance Appearance { +texture DEF selector_bridge ImageTexture { +url "bridgefloor.jpg" +} +} +geometry IndexedFaceSet { +coord Coordinate { +point [ +-54.186 9.28 -74.42, -54.186 8.579 -73.719, -55.039 9.28 -74.42, -54.186 9.28 -75.916, -54.186 8.579 -76.618, -55.039 9.28 -75.916, -55.039 8.579 -76.618, -55.361 9.28 -75.595, -56.062 8.579 -75.595, -55.361 9.28 -74.742, -56.062 8.579 -74.742, +-55.039 8.579 -73.719, -55.361 8.257 -73.719, -56.062 8.257 -74.42, -55.361 7.404 -73.719, -56.062 7.404 -74.42, -55.039 7.083 -73.719, -55.039 6.381 -74.42, -54.186 7.083 -73.719, -54.186 6.381 -74.42, -53.864 7.404 -73.719, -53.163 7.404 -74.42, +-53.864 8.257 -73.719, -53.163 8.257 -74.42, -53.163 8.257 -75.916, -53.864 8.257 -76.618, -53.163 7.404 -75.916, -53.864 7.404 -76.618, -53.163 7.083 -75.595, -53.864 6.381 -75.595, -53.163 7.083 -74.742, -53.864 6.381 -74.742, -55.361 6.381 -74.742, +-56.062 7.083 -74.742, -55.361 6.381 -75.595, -56.062 7.083 -75.595, -55.039 6.381 -75.916, -55.039 7.083 -76.618, -54.186 6.381 -75.916, -54.186 7.083 -76.618, -55.361 8.257 -76.618, -56.062 8.257 -75.916, -55.361 7.404 -76.618, -56.062 7.404 -75.916, +] +} +coordIndex [ +0 2 11 1 -1, 4 6 5 3 -1, 8 10 9 7 -1, 13 15 14 12 -1, 17 19 18 16 -1, 21 23 22 20 -1, 24 26 27 25 -1, 28 30 31 29 -1, 33 35 34 32 -1, 37 39 38 36 -1, 40 42 43 41 -1, +] +texCoord TextureCoordinate { +point [ +0 1, 1 0, 0 0, 1 1, +] +} +solid FALSE +texCoordIndex [ +2 1 3 0 -1, 3 0 2 1 -1, 3 0 2 1 -1, 3 0 2 1 -1, 3 0 2 1 -1, 3 0 2 1 -1, 2 1 3 0 -1, 2 1 3 0 -1, 3 0 2 1 -1, 3 0 2 1 -1, 2 1 3 0 -1, +] +} +} +translation 54.612 -7.8307 75.168 +} +DEF a2 Transform { +children [ +DEF a3 OrientationInterpolator { +key [ +0 .285 .29 .295 .3 .305 .31 .315 .32 .325 .33 .335 .34 .345 .35 .355 .36 .365 .785 .79 .795 .8 .805 .81 .815 .82 .825 .83 .835 .84 .845 .85 .855 .86 +] +keyValue [ +0 0 1 0 0 0 1 0 0 0 1 .242 0 0 1 .493 0 0 1 .75 0 0 1 1.008 0 0 1 1.263 0 0 1 1.511 0 0 1 1.749 0 0 1 1.972 0 0 -1 4.108 0 0 -1 3.927 0 0 -1 3.902 0 0 -1 4.027 0 0 -1 4.102 0 0 -1 3.981 0 0 -1 3.84 0 0 -1 3.927 0 0 -1 3.927 0 0 -1 4.084 0 0 1 2.042 0 +0 1 1.885 0 0 1 1.728 0 0 1 1.571 0 0 1 1.414 0 0 1 1.257 0 0 1 1.1 0 0 1 .942 0 0 1 .785 0 0 1 .628 0 0 1 .471 0 0 1 .314 0 0 1 .157 0 0 1 0 +] +} +Transform { +children [ +Shape { +appearance Appearance { +texture USE selector_robot +} +geometry IndexedFaceSet { +coord Coordinate { +point [ +-53.864 9.28 -74.742, -53.163 8.579 -74.742, -53.864 9.28 -75.595, -53.163 8.579 -75.595, -53.163 7.404 -74.42, -53.163 8.257 -74.42, -53.163 8.257 -75.916, -53.163 7.404 -75.916, -53.163 7.083 -75.595, -53.163 7.083 -74.742, -54.089 8.941 -74.801, +-53.615 8.47 -74.804, -54.089 8.941 -75.536, -53.615 8.47 -75.533, -53.615 7.466 -74.529, -53.615 8.195 -74.529, -53.615 8.195 -75.808, -53.615 7.466 -75.808, -53.615 7.191 -75.533, -53.615 7.191 -74.804, +] +} +coordIndex [ +13 11 10 12 -1, 19 14 15 11 13 16 17 18 -1, 2 3 12 -1, 13 12 3 -1, 0 2 12 10 -1, 1 0 11 -1, 10 11 0 -1, 9 4 14 19 -1, 8 9 19 18 -1, 7 8 18 17 -1, 6 7 17 16 -1, 3 6 16 13 -1, 5 1 11 15 -1, 4 5 15 14 -1, +] +texCoord TextureCoordinate { +point [ +0 0, 1 0, 0 1, 1 1, .785 0, 1 .215, .215 0, .001 .215, 0 .785, .215 1, .785 1, 1 .785, +] +} +texCoordIndex [ +2 0 1 3 -1, 4 5 11 10 9 8 7 6 -1, 1 3 0 -1, 2 0 3 -1, 1 3 2 0 -1, 2 0 3 -1, 1 3 0 -1, 2 0 1 3 -1, 1 3 2 0 -1, 1 3 2 0 -1, 1 3 2 0 -1, 1 3 2 0 -1, 2 0 1 3 -1, 1 3 2 0 -1, +] +} +} +Transform { +children Shape { +appearance Appearance { +material Material { +diffuseColor 0 0 0 +specularColor 1 1 1 +} +} +geometry IndexedFaceSet { +coord Coordinate { +point [ +0 0 0, -.06 0 0, -.043 0 .043, 0 0 .06, .043 0 .043, -.06 .819 0, -.043 .819 .043, 0 .819 .06, .043 .819 .043, 0 .819 0, +] +} +coordIndex [ +2 1 0 4 3 -1, 6 5 1 2 -1, 7 6 2 3 -1, 8 7 3 4 -1, 9 5 6 7 8 -1, +] +texCoord TextureCoordinate { +point [ +1 .999, .001 .293, 1 1, .586 .999, .586 0, .999 .293, 0 .999, .172 .293, 1 .001, 0 .414, 0 .001, 1 .414, 0 .828, 1 .828, 1 .293, 0 1, 0 .293, .414 1, .414 .001, .828 .293, +] +} +creaseAngle 3 +texCoordIndex [ +4 5 3 6 7 -1, 9 10 8 11 -1, 12 9 11 13 -1, 15 16 14 0 -1, 17 1 18 19 2 -1, +] +} +} +translation -53.864 9.2799 -75.578 +rotation 1 0 0 1.5708 +} +Transform { +children Shape { +appearance Appearance { +texture USE selector_bridge +} +geometry IndexedFaceSet { +coord Coordinate { +point [ +-53.864 9.28 -74.742, -53.163 8.579 -74.742, -53.864 9.28 -75.595, -53.163 8.579 -75.595, +] +} +coordIndex [ +3 2 0 1 -1, +] +texCoord TextureCoordinate { +point [ +.001 1, .001 0, 1 1, 1 0, +] +} +solid FALSE +texCoordIndex [ +3 2 0 1 -1, +] +} +} +} +Transform { +children Shape { +appearance Appearance { +texture USE selector_selector +} +geometry IndexedFaceSet { +coord Coordinate { +point [ +-53.163 8.579 -74.742, -53.163 8.579 -75.595, -53.163 7.404 -74.42, -53.163 8.257 -74.42, -53.163 8.257 -75.916, -53.163 7.404 -75.916, -53.163 7.083 -75.595, -53.163 7.083 -74.742, +] +} +coordIndex [ +3 2 7 6 5 4 1 0 -1, +] +texCoord TextureCoordinate { +point [ +.215 1, .785 1, 0 .215, 0 .785, 1 .785, .999 .215, .785 0, .215 0, +] +} +texCoordIndex [ +3 2 7 6 5 4 1 0 -1, +] +} +} +} +] +translation 53.864 -9.2797 75.168 +} +] +translation .74817 1.4492 0 +} +] +rotation 0 1 0 1.571 +} +rotation 0 1 0 3.142 +} + +Group{ +children[ + + +DEF prox ProximitySensor{size 30 8 30} +DEF b TimeSensor {cycleInterval 5 loop FALSE} + +DEF loader SelectionLoader{ + loadURL "http://www.cybertown.com/cgi-bin/games2/ec/agamesload.pl" +} + +DEF game_menu Script{ + +eventIn SFTime set_open +eventIn SFTime set_close +eventIn SFTime set_cycle +eventIn SFBool set_active +eventIn SFFloat set_fraction +field SFInt32 mode 0 +field SFBool isOpen FALSE +field SFBool isActive FALSE +field SFBool doClose FALSE +field SFBool doOpen FALSE +field SFNode loader USE loader +field SFNode name_text USE name_text +field SFNode game_pop USE game_pop +field SFInt32 index 0 +eventOut SFFloat fraction_changed +eventOut SFTime startTime_changed +eventOut SFTime stopTime_changed +eventOut SFBool active_changed +eventOut SFBool enabled_changed + +url "vrmlscript: + +function set_open(v,t){ + if(isActive){doOpen = true;} + if(!isOpen && !isActive){ + mode = 0; + index = 0; + name_text.string = new MFString(loader.descriptions[index]); + game_pop.new_url = loader.urls[index]; + fraction_changed = 0; + enabled_changed = true; + startTime_changed = t; + isOpen = true; + } +} +function set_close(v,t){ + if(isActive){doClose = true;} + if(isOpen && !isActive){ + mode = 1; + fraction_changed = 0; + enabled_changed = true; + startTime_changed = t; + isOpen = false; + } +} +function set_cycle(v,t){ + if(!isActive){ + mode = 2; + index++; + if(index > 6){index = 0;} + fraction_changed = 0; + enabled_changed = true; + startTime_changed = t; + isOpen = true; + } +} + +function set_active(v,t){ + isActive = v; + if(v){active_changed = false; enabled_changed = true; } + else{ + active_changed = true; + //if(doOpen){ set_open(t,t); doOpen = false; return;} + if(doClose){set_close(t,t); doClose = false;} + } +} + +function set_fraction(v,t){ + if(mode == 0){ + x = v; + if(x <= .6){fraction_changed = x;} + else{enabled_changed = false; stopTime_changed = t;} + } + if(mode == 1){ + x = v + .6; + if(x <= 1){fraction_changed = x;} + else{enabled_changed = false; stopTime_changed = t;} + } + if(mode == 2){ + x = 1 + (v - .4); + if(x > 1){x -= 1;} + fraction_changed = x; + if(v > .1 && name_text.string[0] != loader.descriptions[index]){ + game_pop.new_url = loader.urls[index]; + name_text.string = new MFString(loader.descriptions[index]); + } + } +} + +"} + +]} +ROUTE game_menu.startTime_changed TO b.set_startTime +ROUTE game_menu.stopTime_changed TO b.set_stopTime +ROUTE game_menu.enabled_changed TO b.set_enabled + +ROUTE b.fraction_changed TO game_menu.set_fraction +ROUTE button.touchTime TO game_menu.set_cycle +ROUTE prox.enterTime TO game_menu.set_open +ROUTE prox.exitTime TO game_menu.set_close + +ROUTE b.isActive TO game_menu.set_active +ROUTE game_menu.active_changed TO button.set_enabled + +ROUTE game_menu.fraction_changed TO c.set_fraction +ROUTE game_menu.fraction_changed TO e.set_fraction +ROUTE game_menu.fraction_changed TO g.set_fraction +ROUTE game_menu.fraction_changed TO h.set_fraction +ROUTE game_menu.fraction_changed TO i.set_fraction +ROUTE game_menu.fraction_changed TO j.set_fraction +ROUTE game_menu.fraction_changed TO a3.set_fraction +ROUTE game_menu.fraction_changed TO l.set_fraction +ROUTE game_menu.fraction_changed TO m.set_fraction +ROUTE game_menu.fraction_changed TO o.set_fraction +ROUTE game_menu.fraction_changed TO p.set_fraction +ROUTE game_menu.fraction_changed TO r.set_fraction +ROUTE game_menu.fraction_changed TO s.set_fraction +ROUTE game_menu.fraction_changed TO u.set_fraction +ROUTE game_menu.fraction_changed TO v.set_fraction +ROUTE game_menu.fraction_changed TO x.set_fraction +ROUTE game_menu.fraction_changed TO y.set_fraction +ROUTE game_menu.fraction_changed TO a0.set_fraction +ROUTE game_menu.fraction_changed TO a1.set_fraction +ROUTE game_menu.fraction_changed TO text_interp.set_fraction + +ROUTE g.value_changed TO f.set_translation +ROUTE h.value_changed TO f.set_rotation +ROUTE i.value_changed TO f.set_scale +ROUTE j.value_changed TO f.set_scaleOrientation +ROUTE l.value_changed TO k.set_translation +ROUTE m.value_changed TO k.set_rotation +ROUTE o.value_changed TO n.set_translation +ROUTE p.value_changed TO n.set_rotation +ROUTE r.value_changed TO q.set_translation +ROUTE s.value_changed TO q.set_rotation +ROUTE u.value_changed TO t.set_translation +ROUTE v.value_changed TO t.set_rotation +ROUTE x.value_changed TO w.set_translation +ROUTE y.value_changed TO w.set_rotation +ROUTE a0.value_changed TO z.set_translation +ROUTE a1.value_changed TO z.set_rotation +ROUTE e.value_changed TO d.set_translation +ROUTE a3.value_changed TO a2.set_rotation +ROUTE c.value_changed TO a.set_rotation +ROUTE text_interp.value_changed TO text_trans.set_scale +}#END GameSelector PROTO + + +DEF Inline_gameselector Transform { +translation -49.01 7.055 -79.112 +children [ +Billboard{ children[ +GameSelector{} +]} +]} + +#################################################################################### +#Movie Screen +#################################################################################### + +PROTO MovieScreen[ +eventIn SFString set_mov +exposedField SFVec3f translation 0 0 0 +exposedField SFRotation rotation 0 1 0 0 +exposedField SFVec3f scale 1 1 1 +exposedField MFString off_image "http://www.cybertown.com/places/movies/vrml/vidnet.gif" +exposedField MFString controlURL "javascript:loadCustom('/cgi-bin/cybertown/admin2/vidnetvpod/movie.pl?ac=3D',300,500)" +exposedField MFString param "target=action" +]{ + +DEF dt Transform { +translation IS translation +rotation IS rotation +scale IS scale +children [ + +Transform { scale 1 .75 1 children [ +Transform{ scale 1 .75 1 translation .5 0 1 +children DEF sw Switch{ whichChoice -1 choice[ +Shape{ appearance Appearance{material Material{diffuseColor .1 .1 .1 emissiveColor 0 1 0}} +geometry Text {string ["Initializing Uplink...","Please wait..."]fontStyle FontStyle {size 2 family ["SANS"] style "ITALIC" justify "MIDDLE"}} +}]}} +Shape { +appearance Appearance {texture ImageTexture {url "movie_screen.jpg"}} +geometry IndexedFaceSet {ccw FALSE +coord Coordinate {point [9.87 -10 0, 12.652 -9.293 0, 12.641 -12.848 0, -12.771 -12.848 0, -12.782 -9.294 0, 12.684 9.45 0, 14.402 -7.996 0, -14.532 -7.996 0, -12.814 9.45 0, -10.13 -10 0, 9.87 10 0, 14.402 8.915 0, -14.532 8.915 0, -12.814 13.489 0, -9.758 15.212 0, 9.628 15.213 0, 12.684 13.489 0, -10.13 10 0, 9.87 -13.675 0, -10.13 -13.676 0,]}coordIndex [5 11 6 1 0 10 -1, 13 14 17 8 -1, 17 14 15 10 -1, 15 16 5 10 -1, 9 4 7 12 8 17 -1, 0 1 2 18 -1, 0 18 19 9 -1, 3 4 9 19 -1,] +texCoord TextureCoordinate {point [.062 .027, .942 .027, .864 -.001, .13 .002, .133 .142, .062 .143, .941 .147, .062 .871, -.005 .186, .996 .187, .938 .873, .86 .875, .138 .879, -.002 .837, .998 .837, .857 .143, .134 .138, .065 .147, .943 .149, .854 .142, .947 .959, .843 .992, .154 .992, .061 .959, .061 .88, .138 .882, .858 .882, .947 .88, .149 .002, .85 -.001,]}texCoordIndex [7 13 8 5 4 12 -1, 20 21 26 27 -1, 26 21 22 25 -1, 22 23 24 25 -1, 15 6 9 14 10 11 -1, 16 17 0 3 -1, 16 28 29 19 -1, 1 18 19 2 -1,] +}} +Shape { +appearance Appearance {texture DEF du MovieTexture {url IS off_image}} +geometry IndexedFaceSet {coord Coordinate {point [-10.13 10 0, 9.87 10 0, 9.87 -10 0, -10.13 -10 0,]}coordIndex [0 1 2 3 -1,]texCoord TextureCoordinate {point [0 1, 1 1, 1 0, 0 0,]}ccw FALSE texCoordIndex [0 1 2 3 -1,]} +} +DEF dv TouchSensor {} +]} +]} + +DEF dx Script { +eventIn SFTime set_touch +eventIn SFTime set_mediaTime +eventIn MFString set_movs +eventIn SFString set_mov IS set_mov + +field SFBool isLoading FALSE +field SFBool isPlay FALSE +field SFBool isDir TRUE +field MFString mov "" +exposedField MFString scrn IS off_image +exposedField MFString controlURL IS controlURL +exposedField MFString param IS param + +eventOut MFString mov_changed +eventOut SFTime startTime_changed +eventOut SFTime stopTime_changed +eventOut SFInt32 choice_changed + +url "vrmlscript: +function set_touch(v,t){ + if(isPlay){ + isPlay = false; + stopTime_changed = t; + choice_changed = -1; + isLoading = false; + mov_changed = scrn; + } + else{ + if(!isDir){ + isDir = true; + isPlay = true; + mov_changed = mov; + startTime_changed = t; + } + else{ + isDir = false; + Browser.loadURL(controlURL,param); + } + } +} +function set_mediaTime(v,t){ + if(v == 0 && !isLoading){choice_changed = 0; isLoading = true;} + else{ + if(isLoading && v != 0){choice_changed = -1; isLoading = false;} + } +} +function set_movs(v,t){ + mov = v; + set_touch(t,t); +} +function set_mov(v,t){ + if(isPlay){return;} + set_movs(new MFString(v),t); +} +"} +ROUTE dv.touchTime TO dx.set_touch +ROUTE dx.mov_changed TO du.set_url +ROUTE dx.startTime_changed TO du.set_startTime +ROUTE dx.stopTime_changed TO du.set_stopTime +ROUTE du.mediaTime TO dx.set_mediaTime +ROUTE dx.choice_changed TO sw.set_whichChoice +}#END MovieScreen PROTO + +DEF dx MovieScreen{ +translation -66.5 3.25 92.25 +rotation 0 1 0 2.4 +scale .45 .45 .45 +} \ No newline at end of file diff --git a/spa/assets/worlds/008/label01.jpg b/spa/assets/worlds/008/label01.jpg new file mode 100644 index 00000000..209ef3a0 Binary files /dev/null and b/spa/assets/worlds/008/label01.jpg differ diff --git a/spa/assets/worlds/008/label02.jpg b/spa/assets/worlds/008/label02.jpg new file mode 100644 index 00000000..c72faf87 Binary files /dev/null and b/spa/assets/worlds/008/label02.jpg differ diff --git a/spa/assets/worlds/008/label03.jpg b/spa/assets/worlds/008/label03.jpg new file mode 100644 index 00000000..9d49e05f Binary files /dev/null and b/spa/assets/worlds/008/label03.jpg differ diff --git a/spa/assets/worlds/008/light3.png b/spa/assets/worlds/008/light3.png new file mode 100644 index 00000000..6f2c7f86 Binary files /dev/null and b/spa/assets/worlds/008/light3.png differ diff --git a/spa/assets/worlds/008/movie_screen.jpg b/spa/assets/worlds/008/movie_screen.jpg new file mode 100644 index 00000000..33e84fa8 Binary files /dev/null and b/spa/assets/worlds/008/movie_screen.jpg differ diff --git a/spa/assets/worlds/008/neighbor.gif b/spa/assets/worlds/008/neighbor.gif new file mode 100644 index 00000000..9a1f060f Binary files /dev/null and b/spa/assets/worlds/008/neighbor.gif differ diff --git a/spa/assets/worlds/008/plainmarble2.jpg b/spa/assets/worlds/008/plainmarble2.jpg new file mode 100644 index 00000000..76b3737e Binary files /dev/null and b/spa/assets/worlds/008/plainmarble2.jpg differ diff --git a/spa/assets/worlds/008/robot.gif b/spa/assets/worlds/008/robot.gif new file mode 100644 index 00000000..e93cc6db Binary files /dev/null and b/spa/assets/worlds/008/robot.gif differ diff --git a/spa/assets/worlds/008/robot.jpg b/spa/assets/worlds/008/robot.jpg new file mode 100644 index 00000000..5065c35c Binary files /dev/null and b/spa/assets/worlds/008/robot.jpg differ diff --git a/spa/assets/worlds/008/rustymetal2.jpg b/spa/assets/worlds/008/rustymetal2.jpg new file mode 100644 index 00000000..2d7e53bb Binary files /dev/null and b/spa/assets/worlds/008/rustymetal2.jpg differ diff --git a/spa/assets/worlds/008/selector.jpg b/spa/assets/worlds/008/selector.jpg new file mode 100644 index 00000000..f3d51760 Binary files /dev/null and b/spa/assets/worlds/008/selector.jpg differ diff --git a/spa/assets/worlds/008/setyellow (1).jpg b/spa/assets/worlds/008/setyellow (1).jpg new file mode 100644 index 00000000..467f7ac1 Binary files /dev/null and b/spa/assets/worlds/008/setyellow (1).jpg differ diff --git a/spa/assets/worlds/008/setyellow.jpg b/spa/assets/worlds/008/setyellow.jpg new file mode 100644 index 00000000..467f7ac1 Binary files /dev/null and b/spa/assets/worlds/008/setyellow.jpg differ diff --git a/spa/assets/worlds/008/spacevan2.jpg b/spa/assets/worlds/008/spacevan2.jpg new file mode 100644 index 00000000..dafe861f Binary files /dev/null and b/spa/assets/worlds/008/spacevan2.jpg differ diff --git a/spa/assets/worlds/008/steps.gif b/spa/assets/worlds/008/steps.gif new file mode 100644 index 00000000..5e7fd0f7 Binary files /dev/null and b/spa/assets/worlds/008/steps.gif differ diff --git a/spa/assets/worlds/008/tree2.gif b/spa/assets/worlds/008/tree2.gif new file mode 100644 index 00000000..f0de1df2 Binary files /dev/null and b/spa/assets/worlds/008/tree2.gif differ diff --git a/spa/assets/worlds/008/vibrate.wav b/spa/assets/worlds/008/vibrate.wav new file mode 100644 index 00000000..6c02e685 Binary files /dev/null and b/spa/assets/worlds/008/vibrate.wav differ diff --git a/spa/assets/worlds/008/windc.wav b/spa/assets/worlds/008/windc.wav new file mode 100644 index 00000000..c489468c Binary files /dev/null and b/spa/assets/worlds/008/windc.wav differ diff --git a/spa/assets/worlds/008/window.png b/spa/assets/worlds/008/window.png new file mode 100644 index 00000000..cb048761 Binary files /dev/null and b/spa/assets/worlds/008/window.png differ diff --git a/spa/assets/worlds/008/zebra.gif b/spa/assets/worlds/008/zebra.gif new file mode 100644 index 00000000..29c2426d Binary files /dev/null and b/spa/assets/worlds/008/zebra.gif differ diff --git a/spa/assets/worlds/009/arrow.jpg b/spa/assets/worlds/009/arrow.jpg new file mode 100644 index 00000000..d2bce47c Binary files /dev/null and b/spa/assets/worlds/009/arrow.jpg differ diff --git a/spa/assets/worlds/009/b_ceiling2.gif b/spa/assets/worlds/009/b_ceiling2.gif new file mode 100644 index 00000000..160038c9 Binary files /dev/null and b/spa/assets/worlds/009/b_ceiling2.gif differ diff --git a/spa/assets/worlds/009/b_counter.gif b/spa/assets/worlds/009/b_counter.gif new file mode 100644 index 00000000..fed06643 Binary files /dev/null and b/spa/assets/worlds/009/b_counter.gif differ diff --git a/spa/assets/worlds/009/b_counter3.gif b/spa/assets/worlds/009/b_counter3.gif new file mode 100644 index 00000000..e5f9656f Binary files /dev/null and b/spa/assets/worlds/009/b_counter3.gif differ diff --git a/spa/assets/worlds/009/b_light2.gif b/spa/assets/worlds/009/b_light2.gif new file mode 100644 index 00000000..5befad2b Binary files /dev/null and b/spa/assets/worlds/009/b_light2.gif differ diff --git a/spa/assets/worlds/009/b_mountain.gif b/spa/assets/worlds/009/b_mountain.gif new file mode 100644 index 00000000..66de6d3b Binary files /dev/null and b/spa/assets/worlds/009/b_mountain.gif differ diff --git a/spa/assets/worlds/009/back.gif b/spa/assets/worlds/009/back.gif new file mode 100644 index 00000000..73e7c5ed Binary files /dev/null and b/spa/assets/worlds/009/back.gif differ diff --git a/spa/assets/worlds/009/back2.gif b/spa/assets/worlds/009/back2.gif new file mode 100644 index 00000000..ac068283 Binary files /dev/null and b/spa/assets/worlds/009/back2.gif differ diff --git a/spa/assets/worlds/009/back3.gif b/spa/assets/worlds/009/back3.gif new file mode 100644 index 00000000..3444a5cf Binary files /dev/null and b/spa/assets/worlds/009/back3.gif differ diff --git a/spa/assets/worlds/009/beach_sand.gif b/spa/assets/worlds/009/beach_sand.gif new file mode 100644 index 00000000..b98639c8 Binary files /dev/null and b/spa/assets/worlds/009/beach_sand.gif differ diff --git a/spa/assets/worlds/009/bf.jpg b/spa/assets/worlds/009/bf.jpg new file mode 100644 index 00000000..ccc7de25 Binary files /dev/null and b/spa/assets/worlds/009/bf.jpg differ diff --git a/spa/assets/worlds/009/blue_finfish.gif b/spa/assets/worlds/009/blue_finfish.gif new file mode 100644 index 00000000..6c236ae5 Binary files /dev/null and b/spa/assets/worlds/009/blue_finfish.gif differ diff --git a/spa/assets/worlds/009/blue_pad_ceiling2.gif b/spa/assets/worlds/009/blue_pad_ceiling2.gif new file mode 100644 index 00000000..56587c40 Binary files /dev/null and b/spa/assets/worlds/009/blue_pad_ceiling2.gif differ diff --git a/spa/assets/worlds/009/blue_wall2.gif b/spa/assets/worlds/009/blue_wall2.gif new file mode 100644 index 00000000..4af093ad Binary files /dev/null and b/spa/assets/worlds/009/blue_wall2.gif differ diff --git a/spa/assets/worlds/009/bubbles_res.wav b/spa/assets/worlds/009/bubbles_res.wav new file mode 100644 index 00000000..70b4c932 Binary files /dev/null and b/spa/assets/worlds/009/bubbles_res.wav differ diff --git a/spa/assets/worlds/009/checker_floor.gif b/spa/assets/worlds/009/checker_floor.gif new file mode 100644 index 00000000..f0403399 Binary files /dev/null and b/spa/assets/worlds/009/checker_floor.gif differ diff --git a/spa/assets/worlds/009/chime.wav b/spa/assets/worlds/009/chime.wav new file mode 100644 index 00000000..6112a73e Binary files /dev/null and b/spa/assets/worlds/009/chime.wav differ diff --git a/spa/assets/worlds/009/clouds13.png b/spa/assets/worlds/009/clouds13.png new file mode 100644 index 00000000..a722c708 Binary files /dev/null and b/spa/assets/worlds/009/clouds13.png differ diff --git a/spa/assets/worlds/009/d_light.gif b/spa/assets/worlds/009/d_light.gif new file mode 100644 index 00000000..1b37d971 Binary files /dev/null and b/spa/assets/worlds/009/d_light.gif differ diff --git a/spa/assets/worlds/009/door_opening.wav b/spa/assets/worlds/009/door_opening.wav new file mode 100644 index 00000000..7339be8b Binary files /dev/null and b/spa/assets/worlds/009/door_opening.wav differ diff --git a/spa/assets/worlds/009/doorclosed.wav b/spa/assets/worlds/009/doorclosed.wav new file mode 100644 index 00000000..e93a03bb Binary files /dev/null and b/spa/assets/worlds/009/doorclosed.wav differ diff --git a/spa/assets/worlds/009/dooropened.wav b/spa/assets/worlds/009/dooropened.wav new file mode 100644 index 00000000..3fe28098 Binary files /dev/null and b/spa/assets/worlds/009/dooropened.wav differ diff --git a/spa/assets/worlds/009/down.wav b/spa/assets/worlds/009/down.wav new file mode 100644 index 00000000..a922bad0 Binary files /dev/null and b/spa/assets/worlds/009/down.wav differ diff --git a/spa/assets/worlds/009/e_design.gif b/spa/assets/worlds/009/e_design.gif new file mode 100644 index 00000000..3753c212 Binary files /dev/null and b/spa/assets/worlds/009/e_design.gif differ diff --git a/spa/assets/worlds/009/front.gif b/spa/assets/worlds/009/front.gif new file mode 100644 index 00000000..d3957cc7 Binary files /dev/null and b/spa/assets/worlds/009/front.gif differ diff --git a/spa/assets/worlds/009/front2.gif b/spa/assets/worlds/009/front2.gif new file mode 100644 index 00000000..a5ffd650 Binary files /dev/null and b/spa/assets/worlds/009/front2.gif differ diff --git a/spa/assets/worlds/009/front3.gif b/spa/assets/worlds/009/front3.gif new file mode 100644 index 00000000..90843208 Binary files /dev/null and b/spa/assets/worlds/009/front3.gif differ diff --git a/spa/assets/worlds/009/fx0101.wav b/spa/assets/worlds/009/fx0101.wav new file mode 100644 index 00000000..dd571e6c Binary files /dev/null and b/spa/assets/worlds/009/fx0101.wav differ diff --git a/spa/assets/worlds/009/fx0102.wav b/spa/assets/worlds/009/fx0102.wav new file mode 100644 index 00000000..651b320c Binary files /dev/null and b/spa/assets/worlds/009/fx0102.wav differ diff --git a/spa/assets/worlds/009/fx0105.wav b/spa/assets/worlds/009/fx0105.wav new file mode 100644 index 00000000..06563940 Binary files /dev/null and b/spa/assets/worlds/009/fx0105.wav differ diff --git a/spa/assets/worlds/009/fx0106.wav b/spa/assets/worlds/009/fx0106.wav new file mode 100644 index 00000000..6cc0ab74 Binary files /dev/null and b/spa/assets/worlds/009/fx0106.wav differ diff --git a/spa/assets/worlds/009/goaway.wav b/spa/assets/worlds/009/goaway.wav new file mode 100644 index 00000000..0a9bce9f Binary files /dev/null and b/spa/assets/worlds/009/goaway.wav differ diff --git a/spa/assets/worlds/009/goldtrim.jpg b/spa/assets/worlds/009/goldtrim.jpg new file mode 100644 index 00000000..718f1261 Binary files /dev/null and b/spa/assets/worlds/009/goldtrim.jpg differ diff --git a/spa/assets/worlds/009/home.wrl b/spa/assets/worlds/009/home.wrl new file mode 100644 index 00000000..97cd731c --- /dev/null +++ b/spa/assets/worlds/009/home.wrl @@ -0,0 +1,18271 @@ +#VRML V2.0 utf8 + +EXTERNPROTO SharedObject [ +exposedField SFVec3f translation +exposedField SFRotation rotation +exposedField MFNode children +exposedField SFString name +exposedField SFString id +eventIn SFBool startMove +eventOut SFBool isOver +eventOut SFTime touchTime +eventOut SFVec3f newPosition +eventOut SFRotation newRotation +] "/externprotos/shared_xite.wrl#SharedObject" + +EXTERNPROTO SharedEvent [ +exposedField SFString name +exposedField SFString type +eventIn SFTime set_time +eventOut SFTime timeToServer +eventIn SFTime timeFromServer +eventOut SFTime time_changed +] [ "/externprotos/shared_xite.wrl#SharedEvent" ] + +############################################################################# +#Random Trigger +############################################################################# + +PROTO RandomTrigger[ +exposedField SFTime minTime 1 # minimum time between triggers in seconds +field SFInt32 probability 50 # a value between 1 and 100 determing how likely the trigger is +eventOut SFTime trigger_changed +]{ +Group{ children[ +DEF clock TimeSensor{cycleInterval IS minTime loop TRUE +} +DEF s Script{ +eventIn SFTime set_cycle +field SFInt32 probability IS probability +eventOut SFTime trigger_changed IS trigger_changed +url"vrmlscript: +function set_cycle(v,t){ +n = Math.floor(Math.random() * 100); +if(n < probability){trigger_changed = t;} +} +"}]} +ROUTE clock.cycleTime TO s.set_cycle +}#END RandomTrigger PROTO + +############################################################################# +#RevesableClock PROTO +############################################################################# + +PROTO ReversableClock[ + +eventIn SFTime set_toggle +eventIn SFTime set_forward +eventIn SFTime set_reverse +exposedField SFBool run TRUE +exposedField SFBool isForward TRUE + +exposedField SFTime cycleInterval 1 +exposedField SFBool loop FALSE +exposedField SFBool enabled TRUE +exposedField SFTime startTime 0 +exposedField SFTime stopTime 0 +eventOut SFFloat fraction_changed +eventOut SFBool isActive +eventOut SFTime time +eventOut SFTime cycleTime +]{ + +Group{ children[ + +DEF t TimeSensor{ +cycleInterval IS cycleInterval +loop IS loop +enabled IS enabled +startTime IS startTime +stopTime IS stopTime +isActive IS isActive +time IS time +cycleTime IS cycleTime +} + +DEF s Script{ +eventIn SFFloat set_fraction +eventIn SFTime set_toggle IS set_toggle +eventIn SFTime set_forward IS set_forward +eventIn SFTime set_reverse IS set_reverse + +exposedField SFBool run IS run +exposedField SFBool isForward IS isForward + +field SFNode clock USE t +eventOut SFFloat fraction_changed IS fraction_changed + +directOutput TRUE +url"vrmlscript: + +function set_fraction(v,t){ + if(isForward){fraction_changed = v;} + else{fraction_changed = 1-v;} +} + +function set_toggle(v,t){ + if(isForward){isForward = false;} + else{isForward = true;} + if(run){clock.stopTime = t; clock.startTime = t + .01;} +} + +function set_forward(v,t){ + isForward = true; + if(run){clock.stopTime = t; clock.startTime = t + .01;} +} + +function set_reverse(v,t){ + isForward = false; + if(run){clock.stopTime = t; clock.startTime = t + .01;} +} + +"} +]} +ROUTE t.fraction_changed TO s.set_fraction +} + +############################################################################# +#SharedToggle +############################################################################# + +PROTO SharedToggle[ +eventIn SFBool set_toggleState +eventOut SFTime trueTime_changed +eventOut SFTime falseTime_changed +]{ +Script{ +eventIn SFBool set_toggleState IS set_toggleState +eventOut SFTime trueTime_changed IS trueTime_changed +eventOut SFTime falseTime_changed IS falseTime_changed +url"vrmlscript: +function set_toggleState(v,t){ +if(v){trueTime_changed = t;} +else{falseTime_changed = t;} +} +"} +} + +############################################################################# +#Toggle +############################################################################# + +PROTO Toggle[ +eventIn SFTime set_toggle +exposedField SFBool toggleState FALSE +eventOut SFBool state_changed +]{ +Script{ +eventIn SFTime set_toggle IS set_toggle +exposedField SFBool toggleState IS toggleState +eventOut SFBool state_changed IS state_changed +url"vrmlscript: +function set_toggle(){ +if(toggleState){toggleState = false;} +else{toggleState = true;} +state_changed = toggleState; +} +"} +} + +############################################################################# +#Shared Event +############################################################################# + +PROTO SharedEvent [ +field SFBool local FALSE +field SFBool debug FALSE +exposedField SFString name "event" +exposedField SFString type "SFTime" +eventIn SFBool boolFromServer eventIn SFColor colorFromServer +eventIn SFFloat floatFromServer eventIn SFInt32 int32FromServer +eventIn SFRotation rotationFromServer +eventIn SFString stringFromServer eventIn SFTime timeFromServer +eventIn SFVec2f vec2fFromServer eventIn SFVec3f vec3fFromServer +eventOut SFBool boolToServer eventOut SFColor colorToServer +eventOut SFFloat floatToServer eventOut SFInt32 int32ToServer +eventOut SFRotation rotationToServer +eventOut SFString stringToServer eventOut SFTime timeToServer +eventOut SFVec2f vec2fToServer eventOut SFVec3f vec3fToServer +eventIn SFBool set_bool eventIn SFColor set_color +eventIn SFFloat set_float eventIn SFInt32 set_int32 +eventIn SFRotation set_rotation +eventIn SFString set_string eventIn SFTime set_time +eventIn SFVec2f set_vec2f eventIn SFVec3f set_vec3f +eventOut SFBool bool_changed eventOut SFColor color_changed +eventOut SFFloat float_changed eventOut SFInt32 int32_changed +eventOut SFRotation rotation_changed +eventOut SFString string_changed eventOut SFTime time_changed +eventOut SFVec2f vec2f_changed eventOut SFVec3f vec3f_changed +]{ +Script { +field SFBool local IS local +field SFBool debug IS debug +field SFString name IS name +#eventIn SFString set_name IS set_name eventIn SFString set_type IS set_type eventOut SFString name_changed IS name_changed eventOut SFString type_changed IS type_changed +eventIn SFBool boolFromServer IS boolFromServer +eventIn SFColor colorFromServer IS colorFromServer +eventIn SFFloat floatFromServer IS floatFromServer +eventIn SFInt32 int32FromServer IS int32FromServer +eventIn SFRotation rotationFromServer IS rotationFromServer +eventIn SFString stringFromServer IS stringFromServer +eventIn SFTime timeFromServer IS timeFromServer +eventIn SFVec2f vec2fFromServer IS vec2fFromServer +eventIn SFVec3f vec3fFromServer IS vec3fFromServer +eventOut SFBool boolToServer IS boolToServer +eventOut SFColor colorToServer IS colorToServer +eventOut SFFloat floatToServer IS floatToServer +eventOut SFInt32 int32ToServer IS int32ToServer +eventOut SFRotation rotationToServer IS rotationToServer +eventOut SFString stringToServer IS stringToServer +eventOut SFTime timeToServer IS timeToServer +eventOut SFVec2f vec2fToServer IS vec2fToServer +eventOut SFVec3f vec3fToServer IS vec3fToServer +eventIn SFBool set_bool IS set_bool +eventIn SFColor set_color IS set_color +eventIn SFFloat set_float IS set_float +eventIn SFInt32 set_int32 IS set_int32 +eventIn SFRotation set_rotation IS set_rotation +eventIn SFString set_string IS set_string +eventIn SFTime set_time IS set_time +eventIn SFVec2f set_vec2f IS set_vec2f +eventIn SFVec3f set_vec3f IS set_vec3f +eventOut SFBool bool_changed IS bool_changed +eventOut SFColor color_changed IS color_changed +eventOut SFFloat float_changed IS float_changed +eventOut SFInt32 int32_changed IS int32_changed +eventOut SFRotation rotation_changed IS rotation_changed +eventOut SFString string_changed IS string_changed +eventOut SFTime time_changed IS time_changed +eventOut SFVec2f vec2f_changed IS vec2f_changed +eventOut SFVec3f vec3f_changed IS vec3f_changed +url "vrmlscript: +function set_name (value, time){if(debug){print(name + ' received name event: ' + value);} name_changed = value;} +function set_type (value, time){if(debug){print(name + ' received type event: ' + value);} type_changed = value;} +function boolFromServer (value, time){if(debug){print(name + ' received bool event: ' + value);} bool_changed = value;} +function colorFromServer (value, time){if(debug){print(name + ' received color event: ' + value);} color_changed = value;} +function floatFromServer (value, time){if(debug){print(name + ' received float event: ' + value);} float_changed = value;} +function int32FromServer (value, time){if(debug){print(name + ' received int32 event: ' + value);} int32_changed = value;} +function rotationFromServer (value, time){if(debug){print(name + ' received rotation event: ' + value);} rotation_changed = value;} +function stringFromServer (value, time){if(debug){print(name + ' received string event: ' + value);} string_changed = value;} +function timeFromServer (value, time){if(debug){print(name + ' received time event: ' + value);} time_changed = time;} +function vec2fFromServer (value, time){if(debug){print(name + ' received vec2f event: ' + value);} vec2f_changed = value;} +function vec3fFromServer (value, time){if(debug){print(name + ' received vec3f event: ' + value);} vec3f_changed = value;} +function set_bool (value, time){if(debug){print(name + ' sent bool event: ' + value);} boolToServer = value; if(local){boolFromServer(value,time);}} +function set_color (value, time){if(debug){print(name + ' sent color event: ' + value);} colorToServer = value; if(local){colorFromServer(value,time);}} +function set_float (value, time){if(debug){print(name + ' sent float event: ' + value);} floatToServer = value; if(local){floatFromServer(value,time);}} +function set_int32 (value, time){if(debug){print(name + ' sent int32 event: ' + value);} int32ToServer = value; if(local){int32FromServer(value,time);}} +function set_rotation (value, time){if(debug){print(name + ' sent rotation event: ' + value);} rotationToServer = value; if(local){rotationFromServer(value,time);}} +function set_string (value, time){if(debug){print(name + ' sent string event: ' + value);} stringToServer = value; if(local){stringFromServer(value,time);}} +function set_time (value, time){if(debug){print(name + ' sent time event: ' + value);} timeToServer = value; if(local){timeFromServer(value,time);}} +function set_vec2f (value, time){if(debug){print(name + ' sent vec2f event: ' + value);} vec2fToServer = value; if(local){vec2fFromServer(value,time);}} +function set_vec3f (value, time){if(debug){print(name + ' sent vec3f event: ' + value);} vec3fToServer = value; if(local){vec3fFromServer(value,time);}} +"} +} + +############################################################################# +#BlaxxunZone +############################################################################# + +PROTO BlaxxunZone [#PROTO supplied by BLAXXUN +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars +exposedField MFNode events [] +exposedField MFNode avatars [] +exposedField SFString myAvatarURL "" +exposedField SFString myAvatarName "" +exposedField SFFloat number_avatars 0 +eventOut MFNode avatars_added +eventOut MFNode avatars_removed +exposedField MFNode avatarLOD [] +exposedField MFFloat avatarRange [] +]{ +Transform { +addChildren IS addEvents +removeChildren IS removeEvents +children IS events +} +Transform { + addChildren IS addAvatars + removeChildren IS removeAvatars + children IS avatars +} +}# END BlaxxunZone + +DEF SharedZone BlaxxunZone { + events [ + + ] +} + + +######################################################################### +#Drink +######################################################################### + +PROTO Drink[ +eventIn SFNode set_sharedZone +field SFVec3f startPosition 0 0 0 +field SFVec3f liquid_offset 0 0 0 +field SFInt32 myBottle -1 + +exposedField MFVec3f pourKeys [1 .000001 1,1 1 1] +exposedField SFInt32 drinkID -1 +exposedField MFNode glass_geometry [] +exposedField MFNode liquid_geometry [] +eventOut SFTime drinkTime_changed +]{ + +DEF move Transform{translation IS startPosition +children Collision{collide FALSE +children[ +DEF drink_sensor TouchSensor{} +Group{children IS glass_geometry} +Shape{appearance Appearance{material Material{transparency 1}}geometry Box{size .5 .5 .5}} +DEF liquid Transform{children IS liquid_geometry translation IS liquid_offset scale .00001 .00001 .00001} +DEF liquid_clock TimeSensor{cycleInterval 1 loop FALSE enabled TRUE} +DEF liquid_interp PositionInterpolator{key[0,1] keyValue IS pourKeys} + +DEF move_clock TimeSensor{cycleInterval 2 loop FALSE enabled TRUE} +DEF move_interp PositionInterpolator{key[0,1] keyValue[]} + +Group{children[ +DEF foating_coaster Group{ children[ +Shape { +appearance Appearance {material Material {diffuseColor 0 0 0 specularColor .63 .92 1}} +geometry IndexedFaceSet {creaseAngle .5 +coord Coordinate { point [ 0 0 -.05 0 .01 -.05 .019 0 -.046 .019 .01 -.046 .035 0 -.035 .035 .01 -.035 .046 0 -.019 .046 .01 -.019 .05 0 0 .05 .01 0 .046 0 .019 .046 .01 .019 .035 0 .035 .035 .01 .035 .019 0 .046 .019 .01 .046 0 0 .05 0 .01 .05 -.019 0 .046 -.019 .01 .046 -.035 0 .035 -.035 .01 .035 -.046 0 .019 -.046 .01 .019 -.05 0 0 -.05 .01 0 -.046 0 -.019 -.046 .01 -.019 -.035 0 -.035 -.035 .01 -.035 -.019 0 -.046 -.019 .01 -.046 0 .01 0 ] } +coordIndex [ 0 1 3 2 -1 2 3 5 4 -1 4 5 7 6 -1 6 7 9 8 -1 8 9 11 10 -1 10 11 13 12 -1 12 13 15 14 -1 14 15 17 16 -1 16 17 19 18 -1 18 19 21 20 -1 20 21 23 22 -1 22 23 25 24 -1 24 25 27 26 -1 26 27 29 28 -1 28 29 31 30 -1 30 31 1 0 -1 32 31 29 -1 32 29 27 -1 32 27 25 -1 32 25 23 -1 32 23 21 -1 32 21 19 -1 32 19 17 -1 32 17 15 -1 32 15 13 -1 32 13 11 -1 32 11 9 -1 32 9 7 -1 32 7 5 -1 32 5 3 -1 32 3 1 -1 32 1 31 -1 ] +}} +Shape { +appearance Appearance {material DEF c_mat Material { shininess 1 transparency .9}} +geometry IndexedFaceSet {creaseAngle .5 +coord Coordinate { point [ 0 -.025 -.035 0 0 -.041 .016 0 -.038 .014 -.025 -.033 .03 0 -.029 .025 -.025 -.025 .039 0 -.015 .033 -.025 -.013 .042 0 .001 .036 -.025 .001 .039 0 .017 .033 -.025 .015 .03 0 .03 .025 -.025 .026 .016 0 .04 .014 -.025 .034 0 0 .043 0 -.025 .037 -.016 0 .04 -.014 -.025 .034 -.03 0 .03 -.025 -.025 .026 -.039 0 .017 -.033 -.025 .015 -.042 0 .001 -.036 -.025 .001 -.039 0 -.015 -.033 -.025 -.013 -.03 0 -.029 -.025 -.025 -.025 -.016 0 -.038 -.014 -.025 -.033 ] } +coordIndex [ 0 1 2 3 -1 3 2 4 5 -1 5 4 6 7 -1 7 6 8 9 -1 9 8 10 11 -1 11 10 12 13 -1 13 12 14 15 -1 15 14 16 17 -1 17 16 18 19 -1 19 18 20 21 -1 21 20 22 23 -1 23 22 24 25 -1 25 24 26 27 -1 27 26 28 29 -1 29 28 30 31 -1 31 30 1 0 -1 ] +}} +DEF c_interp ColorInterpolator{key[0,.5,1] keyValue[0 1 1,.8 1 1,0 1 1]} +DEF c_clock TimeSensor{cycleInterval 1 loop TRUE} +ROUTE c_clock.fraction_changed TO c_interp.set_fraction +ROUTE c_interp.value_changed TO c_mat.set_diffuseColor +ROUTE c_interp.value_changed TO c_mat.set_emissiveColor +]} +]} + + +DEF s Script{ + +eventIn SFBool set_fillActive +eventIn SFString set_position +eventIn SFTime set_drink +eventIn SFBool set_up +eventIn SFNode set_sharedZone IS set_sharedZone + +field SFNode sharedDrink Group{} +field SFNode move_interp USE move_interp +field SFInt32 myBottle IS myBottle +field SFInt32 drinkID IS drinkID +field SFVec3f start_position IS startPosition +field SFBool moved FALSE + +eventOut SFTime fillTime_changed +eventOut MFString message_changed +eventOut SFTime moveTime_changed +eventOut SFString position_changed +eventOut SFInt32 destroy_changed +eventOut SFTime drinkTime_changed IS drinkTime_changed +eventOut SFBool set_up_changed + +directOutput TRUE +url"vrmlscript: + +function get_sharedZone(){ + start = new SFVec3f(0,1000,0); + end = new SFVec3f(0,-1000,0); + ray = Browser.computeRayHit(start,end).hitPath[0].children; + for(i = 0; i < ray.length; i++){if(ray[i].getName() == 'SharedZone' && ray[i].getType() == 'BlaxxunZone'){thisSharedZone = ray[i]; }} + return thisSharedZone; +} + +function get_bottle(){ + start = new SFVec3f(0,1000,0); + end = new SFVec3f(0,-1000,0); + ray = Browser.computeRayHit(start,end).hitPath[0].children; + for(i = 0; i < ray.length; i++){if(ray[i].getName() == 'bottle' + myBottle && ray[i].getType() == 'Bottle'){thisBottle = ray[i]; }} + return thisBottle; +} + +function send_position(){ + v = Browser.viewpointPosition.add(Browser.viewpointOrientation.multVec(new SFVec3f(.25,-.25,-.75))); + position_changed = drinkID + '|' + v; +} + +function set_position(v,t){ + thisID = v.substring(0,v.indexOf('|')); + posString = v.substring((v.indexOf('|') + 1),v.length); + if(thisID == new SFString(drinkID)){ + pos = Browser.createVrmlFromString('Transform{ translation ' +posString+ '}'); + moved = true; + move_interp.keyValue = new MFVec3f(start_position,pos[0].translation); + moveTime_changed = t; + } +} + +function destroy_drink(){ + Browser.deleteRoute(Browser.getScript(),'position_changed',sharedDrink,'set_string'); + Browser.deleteRoute(sharedDrink,'string_changed',Browser.getScript(),'set_position'); + destroy_changed = drinkID; +} + +function set_drink(v,t){ + if(!moved){send_position();} + else{destroy_drink(); drinkTime_changed = t;} +} + +function set_sharedZone(v){ + sharedZone = v; + + for(i = 0; i < sharedZone.events.length; i++){if(sharedZone.events[i].getName() == ('bottle_destroy' + myBottle)){sharedDrink = sharedZone.events[i]; }} + + Browser.addRoute(Browser.getScript(),'position_changed',sharedDrink,'set_string'); + Browser.addRoute(sharedDrink,'string_changed',Browser.getScript(),'set_position'); + Browser.addRoute(Browser.getScript(),'destroy_changed',sharedDrink,'set_int32'); + + bottle = get_bottle(); + Browser.addRoute(Browser.getScript(),'drinkTime_changed',bottle,'set_count'); + + fillTime_changed = Browser.getTime() + .25; +} + + +function initialize(){ + //set_up_changed = true; +} + +"} + +]}} +ROUTE s.set_up_changed TO s.set_up +ROUTE drink_sensor.touchTime TO s.set_drink +ROUTE s.fillTime_changed TO liquid_clock.set_startTime +ROUTE liquid_clock.fraction_changed TO liquid_interp.set_fraction +ROUTE liquid_interp.value_changed TO liquid.set_scale +ROUTE s.moveTime_changed TO move_clock.set_startTime +ROUTE move_clock.fraction_changed TO move_interp.set_fraction +ROUTE move_interp.value_changed TO move.set_translation +}#END Drink PROTO + + + + + + + +######################################################################### +#Bottle +######################################################################### + +PROTO FauxDrink[ + +field SFVec3f startPosition 0 0 0 +field SFVec3f liquid_offset 0 0 0 +field SFInt32 myBottle -1 +exposedField SFNode sharedZone Group{} +exposedField MFVec3f pourKeys [1 .000001 1,1 1 1] +exposedField SFInt32 drinkID -1 +exposedField MFNode glass_geometry [] +exposedField MFNode liquid_geometry [] +eventOut SFTime drinkTime_changed +]{} + +PROTO Bottle[ +eventIn SFTime set_count +field SFInt32 bottleID -1 +field MFVec3f pourKeys [1 .000001 1,1 1 1] +exposedField SFNode sharedZone BlaxxunZone{} +exposedField SFVec3f translation 0 0 0 +exposedField SFRotation rotation 0 1 0 0 +exposedField SFVec3f liquid_offset 0 0 0 +exposedField MFNode glass_geometry [] +exposedField MFNode liquid_geometry [] +exposedField MFNode bottle_geometry [Group{children[DEF Trigger TouchSensor{}]}] +exposedField MFNode drinks [] + +eventOut SFTime effectTime_changed +]{ + +DEF drinks Group{children[FauxDrink{}]} +Transform{ translation IS translation rotation IS rotation +children[ +DEF bottle Group{children IS bottle_geometry} + + +DEF s Script{ + +eventIn SFTime make_drink +eventIn SFInt32 make +eventIn SFInt32 destroy +eventIn SFBool set_up +eventIn SFTime set_count IS set_count + +field SFVec3f position IS translation +field SFInt32 bottleID IS bottleID +field SFVec3f liquid_offset IS liquid_offset +field MFNode glass_geometry IS glass_geometry +field MFNode liquid_geometry IS liquid_geometry +field SFNode sharedZone IS sharedZone +field SFNode trigger Group{} +field SFNode bottle USE bottle +field SFNode drinks USE drinks +field MFVec3f pourKeys IS pourKeys + +field SFTime last_time 0 +field SFInt32 drink_count 0 + +eventOut SFInt32 make_changed +eventOut SFBool set_up_changed +eventOut SFTime effectTime_changed IS effectTime_changed + + +url"vrmlscript: + +function get_sharedZone(){ + start = new SFVec3f(0,1000,0); + end = new SFVec3f(0,-1000,0); + ray = Browser.computeRayHit(start,end).hitPath[0].children; + for(i = 0; i < ray.length; i++){if(ray[i].getName() == 'SharedZone' && ray[i].getType() == 'BlaxxunZone'){thisSharedZone = ray[i]; }} + return thisSharedZone; +} + +function make_drink(v,t){ + if(t < lastTime + 5 ){return;} + ID = ((bottleID * 100000000) + Math.round((t - Math.round(t)) * 10000000)); + make_changed = ID; +} + +function make(v,t){ + thisDrink = Browser.createVrmlFromString('Drink{ drinkID ' + v + ' myBottle ' + bottleID + ' startPosition ' + position + ' liquid_offset ' + liquid_offset + '}'); + thisDrink[0].pourKeys = pourKeys; + thisDrink[0].set_sharedZone = sharedZone; + drinks.addChildren = thisDrink; + + for(i = 0; i < drinks.children.length; i++){ + if(drinks.children[i].drinkID == v){ + drinks.children[i].glass_geometry = glass_geometry; + drinks.children[i].liquid_geometry = liquid_geometry; + } + } + lastTime = t; + +} + +function destroy(v){ for(i = 0; i < drinks.children.length; i++){if(drinks.children[i].drinkID == v){ drinks.removeChildren = new MFNode(drinks.children[i]); }}} + +function set_count(v,t){ + drink_count++; + if(drink_count > 10){effectTime_changed = t;} +} + +function set_up(){ + //sharedZone = get_sharedZone(); + + for(i = 0; i < bottle.children[0].children.length; i++){if(bottle.children[0].children[i].getName() == 'Trigger'+bottleID && bottle.children[0].children[i].getType() == 'TouchSensor'){trigger = bottle.children[0].children[i]; }} + Browser.addRoute(trigger,'touchTime',Browser.getScript(),'make_drink'); + + make_drink_se = Browser.createVrmlFromString('DEF bottle_make' + bottleID + ' SharedEvent{name \"bottle_make' + bottleID + '\"}'); + sharedZone.addEvents = make_drink_se; + for(i = 0; i < sharedZone.events.length; i++){if(sharedZone.events[i].getName() == ('bottle_make' + bottleID)){sharedMake = sharedZone.events[i]; }} + Browser.addRoute(Browser.getScript(),'make_changed',sharedMake,'set_int32'); + Browser.addRoute(sharedMake,'int32_changed',Browser.getScript(),'make'); + + destroy_drink_se = Browser.createVrmlFromString('DEF bottle_destroy' + bottleID + ' SharedEvent{name \"bottle_destroy' + bottleID + '\"}'); + sharedZone.addEvents = destroy_drink_se; + for(i = 0; i < sharedZone.events.length; i++){if(sharedZone.events[i].getName() == ('bottle_destroy' + bottleID)){sharedDestroy = sharedZone.events[i]; }} + Browser.addRoute(sharedDestroy,'int32_changed',Browser.getScript(),'destroy'); +} + +function initialize(){ + + set_up_changed = true; +} + +"} +]} + +ROUTE s.set_up_changed TO s.set_up + +}#END Bottle PROTO + + + +######################################################################### +#PlaceInfo +######################################################################### + + +PROTO PlaceInfo[ +eventIn SFTime get_info +eventIn SFString set_info +field SFString name "" +field SFBool onLoad FALSE +exposedField SFString ID "" +exposedField SFString plc "" +exposedField SFString DTY "" +exposedField SFString name "" +exposedField SFBool isOwner FALSE +eventOut SFTime info_changed +]{ + +DEF s Script{ +eventIn SFTime get_info IS get_info +eventIn SFString set_info IS set_info +eventIn SFTime get_infoOnload +field SFString PI_name IS name +field SFBool onLoad IS onLoad +exposedField SFString ID IS ID +exposedField SFString plc IS plc +exposedField SFString DTY IS DTY +exposedField SFString name IS name +exposedField SFBool isOwner IS isOwner +eventOut SFTime getInfo_changed +eventOut SFTime info_changed IS info_changed +url"vrmlscript: + +function get_info(){ + //if(ID != ''){return;} + +} + +function set_info(v,t){ + if(v == ''){return;} + + info = new MFString(); + startIndex = 0; + for(i = 0; i < 5; i++){ + info[info.length] = v.substring(startIndex, v.indexOf('|',startIndex)); + startIndex = v.indexOf('|',startIndex) + 1; + } + ID = info[0]; + plc = info[1]; + DTY = info[2]; + name = info[3]; + if(info[4] == 'TRUE'){isOwner = true;} else{isOwner = false;} + info_changed = t; + //print(info); +} + +function get_infoOnload(){ + get_info(); +} + +function initialize(){ + if(onLoad){getInfo_changed = Browser.getTime();} +} + +"} +ROUTE s.getInfo_changed TO s.get_infoOnload +}#END PlaceInfo PROTO + +######################################################################### +#AvatarWardrobe +######################################################################### +PROTO AvatarWardrobe[ +eventIn SFString reset_info +field SFString name "" +field SFNode PI Group{} +]{ + +Group{ children[ +#################### +#Base Geometry +#################### + +Group{children[ +Transform{children [ +Shape {appearance Appearance {material Material {}texture ImageTexture {url "plainmarble2.jpg"}} +geometry IndexedFaceSet {ccw TRUE solid TRUE +coord Coordinate { point [-0.5614 0.01613 0.5762, -0.004092 0.01924 -0.3941, -0.004638 0.2154 -0.398, -0.5651 0.2123 0.5787, 0.5578 0.01769 0.5733, 0.5608 0.2139 0.5764, -0.6954 0.8245 0.6553, -0.007703 0.8283 -0.5455, 0.6917 0.8264 0.6518, -0.007586 0.7438 -0.5457, 0.6918 0.7139 0.6515, 0.6906 0.7417 0.7069, -0.007547 0.7158 -0.5458, -0.6952 0.712 0.655, -0.6957 0.7398 0.7093, -0.004389 0.6873 -0.3199, 0.4942 0.6859 0.5384, -0.501 0.6845 0.5422, -0.004505 0.5961 -0.4885, 0.64 0.5943 0.6222, -0.6474 0.5925 0.6271, -0.00574 0.5036 -0.488, 0.6388 0.5019 0.6227, -0.6438 0.5001 0.6249, -0.4223 0.411 0.4961, -0.003647 0.4133 -0.2297, 0.4155 0.4121 0.4926]} +coordIndex [3, 2, 1, -1, 1, 0, 3, -1, 5, 3, 0, -1, 0, 4, 5, -1, 2, 5, 4, -1, 4, 1, 2, -1, 1, 4, 0, -1, 6, 8, 7, -1, 9, 11, 10, -1, 12, 9, 10, -1, 14, 13, 10, -1, 10, 11, 14, -1, 9, 12, 13, -1, 13, 14, 9, -1, 10, 16, 15, -1, 15, 12, 10, -1, 13, 17, 16, -1, 16, 10, 13, -1, 12, 15, 17, -1, 17, 13, 12, -1, 16, 19, 18, -1, 18, 15, 16, -1, 17, 20, 19, 16, -1, 15, 18, 20, 17, -1, 19, 22, 21, 18, -1, 20, 23, 22, -1, 22, 19, 20, -1, 18, 21, 23, -1, 23, 20, 18, -1, 25, 24, 23, -1, 23, 21, 25, -1, 26, 25, 21, 22, -1, 24, 26, 22, -1, 22, 23, 24, -1, 2, 3, 24, -1, 24, 25, 2, -1, 5, 2, 25, 26, -1, 3, 5, 26, -1, 26, 24, 3, -1, 9, 6, 7, -1, 14, 6, 9, -1, 6, 14, 11, -1, 11, 8, 6, -1, 8, 11, 9, -1, 9, 7, 8, -1] +texCoord TextureCoordinate { point [0.4836 0.1478, 0.09381 0.9355, 0.2923 0.4511, 0.7312 0.4509, 0.8733 0.9358, 0.2865 0.4412, 0.03171 0.01621, 0.3155 0.924, 0.9931 0.02361, 0.9976 0.9978, 0.7756 0.8129, 0.7751 0.9428, 0.2599 0.9423, 0.7599 0.9401, 0.2758 0.8122, 0.3301 0.7443, 0.2756 0.9412, 0.6896 0.7445, 0.2774 0.4423, 0.7045 0.6306, 0.7426 0.4428, 0.2618 0.9509, 0.7254 0.4414, 0.7618 0.9505, 0.6754 0.7724, 0.3488 0.7722, 0.7559 0.9412, 0.003737 0, -0.000303 1, 0.9981 0, 0.9997 1, 0.9997 1, -0.0002648 1, 0.9983 0, 0.003265 0, 0.02494 0.9975, 0.9976 0.9975, 0.9743 0.0025, 0.002619 0.0025, 0.02527 0.9931, 0.9777 0.9931, 0.9777 0.261, 0.9777 0.01875, 0.02527 0.01875, 0.003336 0.261, 0.9972 0.9975, 0.002238 0.9975, 0.9958 0.0025, 0.00575 0.0025, 0.003788 0, 0.9977 0, 0.9997 1, -0.0002525 1, 0.0003685 0.9978, 0.9976 0.269, 0.0003685 0.00366, 0.001941 0.269, 0.9976 0.00366, 0.9975 0.9975, 0.0025 0.9975, 0.9975 0.0025, 0.0025 0.0025, 0.9915 0.005, 0.995 0.995, 0.008462 0.005, 0.005 0.995, 0.2796 0.9406, 0.7796 0.9384, 0.7086 0.7438, 0.3506 0.7436, 0.7489 0.449, 0.3103 0.449, 0.7796 0.949, 0.2796 0.949, 0.6922 0.7708, 0.367 0.7708, 0.3459 0.6312, 0.7569 0.4428, 0.293 0.4437, 0.2559 0.9408, 0.3424 0.7625, 0.669 0.7623, 0.7611 0.4413, 0.2981 0.4406]} +texCoordIndex [52, 51, 50, -1, 50, 49, 52, -1, 30, 28, 27, -1, 27, 29, 30, -1, 63, 65, 64, -1, 64, 62, 63, -1, 1, 4, 0, -1, 6, 8, 7, -1, 54, 56, 55, -1, 57, 54, 55, -1, 16, 14, 10, -1, 10, 11, 16, -1, 41, 42, 43, -1, 43, 44, 41, -1, 66, 69, 68, -1, 68, 67, 66, -1, 14, 76, 19, -1, 19, 10, 14, -1, 12, 15, 17, -1, 17, 13, 12, -1, 69, 83, 82, -1, 82, 68, 69, -1, 76, 78, 77, 19, -1, 15, 18, 20, 17, -1, 59, 61, 60, 58, -1, 32, 34, 33, -1, 33, 31, 32, -1, 45, 47, 48, -1, 48, 46, 45, -1, 25, 24, 23, -1, 23, 21, 25, -1, 75, 74, 72, 73, -1, 80, 81, 26, -1, 26, 79, 80, -1, 2, 3, 24, -1, 24, 25, 2, -1, 71, 70, 74, 75, -1, 5, 22, 81, -1, 81, 80, 5, -1, 41, 39, 40, -1, 44, 39, 41, -1, 35, 38, 37, -1, 37, 36, 35, -1, 53, 56, 54, -1, 54, 9, 53, -1] +}} +]} +]}#end Base + +#################### +#Lights +#################### + +Group{children[ +#BackLight +Shape {appearance DEF Gold Appearance {material Material {}texture ImageTexture {url "goldtrim.jpg"}} +geometry IndexedFaceSet {ccw TRUE solid TRUE +coord Coordinate { point [0.03823 0.9415 -0.4732, 0.008261 0.8285 -0.4983, 0.01223 0.8241 -0.4898, 0.05461 0.9232 -0.4381, -0.0013 0.9491 -0.4877, -0.0013 0.8303 -0.5018, -0.04083 0.9415 -0.4732, -0.01086 0.8285 -0.4983, -0.05721 0.9232 -0.4381, -0.01483 0.8241 -0.4898, -0.04083 0.9049 -0.4031, -0.01086 0.8196 -0.4814, -0.0013 0.8973 -0.3885, -0.0013 0.8178 -0.4778, 0.03823 0.9049 -0.4031, 0.008261 0.8196 -0.4814]} +coordIndex [3, 2, 1, 0, -1, 0, 1, 5, 4, -1, 4, 5, 7, 6, -1, 6, 7, 9, 8, -1, 8, 9, 11, 10, -1, 10, 11, 13, 12, -1, 12, 13, 15, 14, -1, 14, 15, 2, 3, -1, 8, 10, 12, 14, 3, 0, 4, 6, -1, 7, 5, 1, 2, 15, 13, 11, 9, -1] +texCoord TextureCoordinate { point [0.8141 0.9996, 0.8141 0.01439, 0.6315 0.01447, 0.6315 0.9995, 0.9966 0.9995, 0.9966 0.01447, -0.2814 0.9996, -0.2814 0.01439, -0.09881 0.9995, -0.09881 0.01447, 0.08376 0.9996, 0.08376 0.01439, 0.2663 0.9995, 0.2663 0.01447, 0.4489 0.9996, 0.4489 0.01439, -0.464 0.9995, -0.464 0.01447, -0.464 0.01447, -0.6465 0.01439, -0.25 0.07558]} +texCoordIndex [3, 2, 1, 0, -1, 0, 1, 5, 4, -1, 16, 17, 7, 6, -1, 6, 7, 9, 8, -1, 8, 9, 11, 10, -1, 10, 11, 13, 12, -1, 12, 13, 15, 14, -1, 14, 15, 2, 3, -1, 8, 10, 12, 14, 3, 0, 4, 6, -1, 7, 18, 19, 20, 15, 13, 11, 9, -1] +}} +#RightLight +Shape {appearance USE Gold +geometry IndexedFaceSet {ccw TRUE solid TRUE creaseAngle 3.142 +coord Coordinate { point [0.6361 0.9115 0.5438, 0.6585 0.822 0.6199, 0.662 0.8277 0.6278, 0.6507 0.9351 0.5764, 0.6006 0.8887 0.5365, 0.6499 0.8165 0.6181, 0.5651 0.88 0.5588, 0.6413 0.8144 0.6235, 0.5504 0.8906 0.5975, 0.6377 0.8169 0.6329, 0.565 0.9142 0.6301, 0.6413 0.8226 0.6408, 0.6005 0.937 0.6374, 0.6499 0.8282 0.6425, 0.636 0.9456 0.6151, 0.6584 0.8303 0.6371]} +coordIndex [3, 2, 1, 0, -1, 0, 1, 5, 4, -1, 4, 5, 7, 6, -1, 6, 7, 9, 8, -1, 8, 9, 11, 10, -1, 10, 11, 13, 12, -1, 12, 13, 15, 14, -1, 14, 15, 2, 3, -1, 8, 10, 12, 14, 3, 0, 4, 6, -1, 7, 5, 1, 2, 15, 13, 11, 9, -1] +texCoord TextureCoordinate { point [0.8137 0.9892, 0.8137 0.0141, 0.633 0.01417, 0.633 0.9891, 0.9944 0.9891, 0.9944 0.01417, -0.2705 0.9892, -0.2705 0.0141, -0.08984 0.9891, -0.08984 0.01417, 0.09086 0.9892, 0.09086 0.0141, 0.2716 0.9891, 0.2716 0.01417, 0.4523 0.9892, 0.4523 0.0141, -0.4512 0.9891, -0.4512 0.01417, -0.4512 0.01417, -0.6319 0.0141, -0.8126 0.01417]} +texCoordIndex [3, 2, 1, 0, -1, 0, 1, 5, 4, -1, 16, 17, 7, 6, -1, 6, 7, 9, 8, -1, 8, 9, 11, 10, -1, 10, 11, 13, 12, -1, 12, 13, 15, 14, -1, 14, 15, 2, 3, -1, 8, 10, 12, 14, 3, 0, 4, 6, -1, 7, 18, 19, 20, 15, 13, 11, 9, -1] +}} +#LeftLight +Shape {appearance USE Gold +geometry IndexedFaceSet { ccw TRUE solid TRUE creaseAngle 3.142 +coord Coordinate { point [-0.5761 0.8946 0.5588, -0.638 0.8142 0.6221, -0.6332 0.8156 0.6312, -0.5564 0.9004 0.5964, -0.6149 0.9036 0.5433, -0.6474 0.8164 0.6184, -0.6502 0.9222 0.5589, -0.6559 0.8209 0.6221, -0.6612 0.9394 0.5965, -0.6586 0.825 0.6312, -0.6415 0.9452 0.634, -0.6538 0.8264 0.6403, -0.6027 0.9362 0.6496, -0.6444 0.8243 0.6441, -0.5674 0.9176 0.634, -0.6359 0.8198 0.6403]} +coordIndex [3, 2, 1, 0, -1, 0, 1, 5, 4, -1, 4, 5, 7, 6, -1, 6, 7, 9, 8, -1, 8, 9, 11, 10, -1, 10, 11, 13, 12, -1, 12, 13, 15, 14, -1, 14, 15, 2, 3, -1, 8, 10, 12, 14, 3, 0, 4, 6, -1, 7, 5, 1, 2, 15, 13, 11, 9, -1] +texCoord TextureCoordinate { point [1.171 0.9932, 1.171 0.01065, 0.989 0.01073, 0.989 0.9931, 1.353 0.9931, 1.353 0.01073, 0.07862 0.9932, 0.07862 0.01065, 0.2607 0.9931, 0.2607 0.01073, 0.4428 0.9932, 0.4428 0.01065, 0.6249 0.9931, 0.6249 0.01073, 0.807 0.9932, 0.807 0.01065, -0.1035 0.9931, -0.1035 0.01073, -0.1035 0.01073, -0.2855 0.01065, -0.4676 0.01073]} +texCoordIndex [3, 2, 1, 0, -1, 0, 1, 5, 4, -1, 16, 17, 7, 6, -1, 6, 7, 9, 8, -1, 8, 9, 11, 10, -1, 10, 11, 13, 12, -1, 12, 13, 15, 14, -1, 14, 15, 2, 3, -1, 8, 10, 12, 14, 3, 0, 4, 6, -1, 7, 18, 19, 20, 15, 13, 11, 9, -1] +}} +]}#end Lights + +#################### +#beams +#################### +Group{children[ + +DEF beamclock TimeSensor{loop FALSE cycleInterval 1 startTime -1} +DEF beamclock2 TimeSensor{loop FALSE cycleInterval 1 startTime -1} +DEF beamtrans ScalarInterpolator{key[0,.25,.5,.75,1]keyValue[1,.75,.5,.25,0]} + +Shape { appearance DEF Light Appearance {material DEF beamlight Material {emissiveColor 0 0 0 transparency 1}texture ImageTexture {url "light3.png"}} +geometry IndexedFaceSet {ccw TRUE solid TRUE creaseAngle 3.142 +coord Coordinate { point [-0.0013 0.8921 -0.3885, -0.001294 1.737 0.1321, 0.08872 1.754 0.0994, 0.03823 0.8997 -0.4031, -0.09132 1.754 0.0994, -0.1282 1.795 0.01962, -0.09132 1.837 -0.05973, -0.001294 1.854 -0.09295, 0.08872 1.837 -0.05973, 0.1256 1.795 0.01962, 0.05461 0.918 -0.4381, 0.03823 0.9363 -0.4732, -0.0013 0.9438 -0.4877, -0.04083 0.9363 -0.4732, -0.05721 0.918 -0.4381, -0.04083 0.8997 -0.4031]} +coordIndex [3, 2, 1, -1, 1, 0, 3, -1, 7, 6, 5, 4, 1, 2, 9, 8, -1, 10, 9, 2, -1, 2, 3, 10, -1, 11, 8, 9, -1, 9, 10, 11, -1, 12, 7, 8, 11, -1, 13, 6, 7, 12, -1, 14, 5, 6, -1, 6, 13, 14, -1, 15, 4, 5, -1, 5, 14, 15, -1, 0, 1, 4, -1, 4, 15, 0, -1, 11, 10, 3, 0, 15, 14, 13, 12, -1] +texCoord TextureCoordinate { point [0.5 0.0004995, 0.5 0.9995, 0.625 0.9995, 0.625 0.0004995, 0.375 0.9995, 0.25 0.9995, 0.1255 0.9995, 1 0.9995, 0.8745 0.9995, 0.75 0.9995, 0.75 0.0004995, 0.875 0.0004995, 1 0.0004995, 0.125 0.0004995, 0.25 0.0004995, 0.375 0.0004995, 0 0.9995, 0 0.9995, 0 0.0004995, 0 0.0004995]} +texCoordIndex [ +3, 2, 1, -1, 1, 0, 3, -1, 16, 6, 5, 4, 1, 2, 9, 8, -1, 10, 9, 2, -1, 2, 3, 10, -1, 11, 8, 9, -1, 9, 10, 11, -1, 12, 7, 8, 11, -1, 13, 6, 17, 18, -1, 14, 5, 6, -1, 6, 13, 14, -1, 15, 4, 5, -1, 5, 14, 15, -1, 0, 1, 4, -1, 4, 15, 0, -1, 11, 10, 3, 0, 15, 14, 13, 19, -1] +}} +Shape {appearance USE Light +geometry IndexedFaceSet {ccw TRUE solid TRUE creaseAngle 3.142 +coord Coordinate { point [0.6005 0.9344 0.6374, 0.2082 1.693 0.3747, 0.3016 1.716 0.3162, 0.636 0.943 0.6151, 0.115 1.633 0.3556, 0.07644 1.571 0.27, 0.1152 1.543 0.168, 0.2086 1.566 0.1095, 0.3019 1.626 0.1286, 0.3404 1.688 0.2143, 0.6507 0.9325 0.5764, 0.6361 0.9089 0.5438, 0.6006 0.8861 0.5365, 0.5651 0.8774 0.5588, 0.5504 0.888 0.5975, 0.565 0.9115 0.6301]} +coordIndex [3, 2, 1, 0, -1, 7, 6, 5, 4, 1, 2, 9, 8, -1, 10, 9, 2, 3, -1, 11, 8, 9, 10, -1, 12, 7, 8, 11, -1, 13, 6, 7, 12, -1, 14, 5, 6, 13, -1, 15, 4, 5, 14, -1, 0, 1, 4, 15, -1, 11, 10, 3, 0, 15, 14, 13, 12, -1] +texCoord TextureCoordinate { point [0.5 0.0004995, 0.5 0.9995, 0.625 0.9995, 0.625 0.0004995, 0.375 0.9995, 0.25 0.9995, 0.125 0.9995, 1.324e-005 0.9995, 0.875 0.9995, 0.75 0.9995, 0.75 0.0004995, 0.875 0.0004995, 0.125 0.0004995, 0.25 0.0004995, 0.375 0.0004995, -0.125 0.9995, 0 0.0004995, -0.125 0.9995, 0 0.0004995, 0 0.0004995]} +texCoordIndex [3, 2, 1, 0, -1, 7, 6, 5, 4, 1, 2, 9, 15, -1, 10, 9, 2, 3, -1, 11, 8, 9, 10, -1, 16, 7, 17, 11, -1, 12, 6, 7, 18, -1, 13, 5, 6, 12, -1, 14, 4, 5, 13, -1, 0, 1, 4, 14, -1, 11, 10, 3, 0, 14, 13, 12, 19, -1] +}} +Shape {appearance USE Light +geometry IndexedFaceSet {ccw TRUE solid TRUE creaseAngle 3.142 +coord Coordinate { point [-0.6027 0.9344 0.6496, -0.2946 1.762 0.4358, -0.2139 1.72 0.4001, -0.5674 0.9159 0.634, -0.3831 1.783 0.4002, -0.4281 1.769 0.3146, -0.4029 1.73 0.2286, -0.3225 1.688 0.1929, -0.2337 1.667 0.2285, -0.1887 1.68 0.3144, -0.5564 0.8986 0.5964, -0.5761 0.8928 0.5588, -0.6149 0.9019 0.5433, -0.6502 0.9205 0.5589, -0.6612 0.9377 0.5965, -0.6415 0.9435 0.634]} +coordIndex [3, 2, 1, 0, -1, 7, 6, 5, 4, 1, 2, 9, 8, -1, 10, 9, 2, 3, -1, 11, 8, 9, 10, -1, 12, 7, 8, 11, -1, 13, 6, 7, 12, -1, 14, 5, 6, 13, -1, 15, 4, 5, 14, -1, 0, 1, 4, 15, -1, 11, 10, 3, 0, 15, 14, 13, 12, -1] +texCoord TextureCoordinate { point [0.5008 0.0004995, 0.4997 0.9995, 0.625 0.9995, 0.625 0.0004995, 0.375 0.9995, 0.2502 0.9995, 0.125 0.9995, 0.0002563 0.9995, 0.875 0.9995, 0.7498 0.9995, 0.7492 0.0004995, 0.8739 0.0004995, 0.125 0.0004995, 0.2508 0.0004995, 0.3761 0.0004995, -0.125 0.9995, -0.0007998 0.0004995, -0.125 0.9995, -0.0007998 0.0004995, -0.0007998 0.0004995]} +texCoordIndex [3, 2, 1, 0, -1, 7, 6, 5, 4, 1, 2, 9, 15, -1, 10, 9, 2, 3, -1, 11, 8, 9, 10, -1, 16, 7, 17, 11, -1, 12, 6, 7, 18, -1, 13, 5, 6, 12, -1, 14, 4, 5, 13, -1, 0, 1, 4, 14, -1, 11, 10, 3, 0, 14, 13, 12, 19, -1] +}} +]} + +#################### +#Buttons +#################### +Transform{ scale 1.1 1.1 1.1 translation 0 -.2 .05 children[ + +#Select Button +Transform {children [ +DEF SelectTouch TouchSensor{enabled FALSE} +Shape {appearance USE Gold +geometry IndexedFaceSet { ccw TRUE solid TRUE +coord Coordinate { point [0 0.9 .6, -0.1 0.85 .6, -0.1 0.75 .6, 0 0.7 .6, 0.1 0.75 .6, 0.1 0.85 .6]} +coordIndex [3, 2, 1, 0, 5, 4, -1, 2, 3, 4, 5, 0, 1, -1] +texCoord TextureCoordinate { point [0.5059 0.0004997, 0.005758 0.2468, 0.0004997 0.744, 0.4941 0.9995, 0.9942 0.7532, 0.9995 0.256]} +texCoordIndex [3, 2, 1, 0, 5, 4, -1, 2, 3, 4, 5, 0, 1, -1] +} +}]} + +#Scroll Back through the index +Transform {children [ +DEF BackTouch TouchSensor{enabled FALSE} +Shape {appearance USE Gold +geometry IndexedFaceSet { ccw TRUE solid TRUE +coord Coordinate { point [-.15 .7 .6, -.35 .8 .6, -.15 .9 .6]} +coordIndex [0, 2, 1, -1, 2, 0, 1, -1] +texCoord TextureCoordinate { point [0.01672 0.02879, 0.5091 1, 1.017 0.02637]} +texCoordIndex [0, 2, 1, -1, 2, 0, 1, -1] +}}]} + +#Scroll Forward through the index +Transform {children [ +DEF ForwardTouch TouchSensor{enabled FALSE} +Shape {appearance USE Gold +geometry IndexedFaceSet { ccw TRUE solid TRUE +coord Coordinate { point [.15 .9 .6, .35 .8 .6, .15 .7 .6]} +coordIndex [0, 2, 1, -1, 2, 0, 1, -1] +texCoord TextureCoordinate { point [0.01672 0.02879, 0.5091 1, 1.017 0.02637]} +texCoordIndex [0, 2, 1, -1, 2, 0, 1, -1] +}}]} + +#Configure your changer here +DEF config_switch Switch{ whichChoice -1 +choice[ + +Transform{ scale 1.5 1.5 1.5 children[ +DEF config TouchSensor{enabled FALSE} +Transform{translation 0 .3 .4 children[ +Shape{ appearance Appearance{material Material{diffuseColor 1 1 1}}geometry Text{string "Configure" fontStyle FontStyle{family "ARIAL" style "BOLD" justify "MIDDLE" size .05}}} +]} +Transform{translation 0 .31 .4 children[ +Shape { appearance DEF Light Appearance {material Material {}texture ImageTexture {url "light3.png"}}geometry Box{size .2 .1 .001}} +]}]} +]}#end Switch + +]} + +#################### +#Information HUD +#################### + +Transform {translation 0 .9 .65 +children[ + +Shape { + appearance Appearance {material Material {diffuseColor 0 1 1}} + geometry DEF prev_text Text {fontStyle FontStyle {size .15 family "ARIAL" style "BOLD" justify "MIDDLE"}string ""} +} +Shape { + appearance Appearance {material Material {diffuseColor 0 1 1 }} + geometry DEF forward_text Text {fontStyle FontStyle {size .15 family "ARIAL" style "BOLD" justify "MIDDLE"}string ""} +} +Shape { + appearance Appearance {material Material {diffuseColor 0 1 1 }} + geometry DEF select_text Text {fontStyle FontStyle {size .15 family "ARIAL" style "BOLD" justify "MIDDLE"}string ""} +} +Shape { + appearance Appearance {material Material {diffuseColor 0 1 1 }} + geometry DEF config_text Text {fontStyle FontStyle {size .15 family "ARIAL" style "BOLD" justify "MIDDLE"}string ""} +} + +]} + +#################### +#Avatar +#################### + +Transform{translation 0 2.5 .250 children[DEF myAvatar Inline{url "" }]} + +#################### +#Scripts +#################### + +DEF config_script Script{ eventIn SFBool Over eventOut MFString choice_changed url"vrmlscript: function Over(v,t){if(v){choice_changed = new MFString('CONFIGURE AVATAR SELECTION');}else{choice_changed = new MFString('');}}"} +DEF previous_script Script{eventIn SFBool Over eventOut MFString choice_changed url"vrmlscript: function Over(v,t){if(v){choice_changed = new MFString('PREVIOUS SELECTION');} else{choice_changed = new MFString('');}}"} +DEF forward_script Script{ eventIn SFBool Over eventOut MFString choice_changed url"vrmlscript: function Over(v,t){if(v){choice_changed = new MFString('NEXT SELECTION');} else{choice_changed = new MFString('');}}"} +DEF select_script Script{ eventIn SFBool Over eventOut MFString choice_changed url"vrmlscript: function Over(v,t){if(v){choice_changed = new MFString('SELECT THIS AVATAR');} else{choice_changed = new MFString('');}}"} + +DEF get_delay TimeSensor{cycleInterval 10} +DEF LoadScript Script{ + +eventIn MFNode receive +eventIn SFTime set_forward +eventIn SFTime set_backward +eventIn SFTime set_avatar +eventIn SFTime set_config +eventIn SFTime set_pi +eventIn SFString reset_info IS reset_info +eventIn SFBool get_info + +field MFString loadURL [""] +field SFNode self USE LoadScript +field SFInt32 count 0 +field SFNode PI IS PI +field SFString name IS name + +exposedField MFString avatar [""] +field SFBool isOwner FALSE + +eventOut MFString currentAvatar +eventOut SFInt32 configChoice_changed +eventOut SFBool enabled_changed +eventOut SFTime getTime_changed + +url "vrmlscript: + +function set_config(){ + u = new MFString('javascript:loadInfo(\"/cgi-bin/cybertown/edit?tpl=common/avatarwardrobe/avatarupdate&T_awname=' + name + '\")'); + p = new MFString('target=action'); + +} + +function receive(v,t){ + avatar = v[0].avatarUrls; + //print(v[0].avatarUrls); + currentAvatar = new MFString(avatar[0]); +} + +function set_forward(v,t){ + count++; + if (count == 4 ) {count = 0;} + currentAvatar = new MFString(avatar[count]); +} + +function set_backward(v,t){ + count--; + if (count == -1) {count = 0;} + currentAvatar = new MFString(avatar[count]); +} + +function set_avatar(v,t){ + u = new MFString('/cgi-bin/cybertown/edit?tpl=common/avatarwardrobe/defaultavatar&AVU='+ currentAvatar +'&fool=b.html'); + p = new MFString('target=audio'); + + + u2 = new MFString('http://www1.cybertown.com/cgi-bin/cybertown/property?ID=' + PI.ID +'&ac=3D&T_OWNER=' + PI.isOwner + '&T_setAvatar=' + currentAvatar[0] +'&T_refresh=false&IE=x.bxx'); + p2 = new MFString(); + +} + +function reset_info(v,t){ + getTime_changed = t; +} + +function get_info(){ + if(v){return;} + + u = new MFString('/cgi-bin/cybertown/edit?tpl=common/avatarwardrobe/avatarinfo&T_placeID='+PI.ID+'&mime=.wrl'); + + //print(u); + Browser.createVrmlFromURL(u,self,'receive'); +} + +function set_pi(v,t){ + isOwner = PI.isOwner; + enabled_changed = true; + if(isOwner){configChoice_changed = 0;} + get_info(false); +} + +function initialize(){ + get_info(false); + Browser.addRoute(PI,'info_changed',Browser.getScript(),'set_pi'); +} + +"} +]} +ROUTE LoadScript.currentAvatar TO myAvatar.set_url +ROUTE LoadScript.configChoice_changed TO config_switch.set_whichChoice +ROUTE LoadScript.getTime_changed TO get_delay.set_startTime +#ROUTE get_delay.isActive TO LoadScript.get_info +ROUTE LoadScript.enabled_changed TO ForwardTouch.set_enabled +ROUTE LoadScript.enabled_changed TO BackTouch.set_enabled +ROUTE LoadScript.enabled_changed TO SelectTouch.set_enabled +ROUTE LoadScript.enabled_changed TO config.set_enabled +ROUTE ForwardTouch.touchTime TO LoadScript.set_forward +ROUTE BackTouch.touchTime TO LoadScript.set_backward +ROUTE SelectTouch.touchTime TO LoadScript.set_avatar +ROUTE config.touchTime TO LoadScript.set_config +ROUTE ForwardTouch.touchTime TO beamclock.startTime +ROUTE BackTouch.touchTime TO beamclock2.startTime +ROUTE beamclock.fraction_changed TO beamtrans.set_fraction +ROUTE beamclock2.fraction_changed TO beamtrans.set_fraction +ROUTE beamtrans.value_changed TO beamlight.set_transparency +ROUTE config.isOver TO config_script.Over +ROUTE ForwardTouch.isOver TO forward_script.Over +ROUTE BackTouch.isOver TO previous_script.Over +ROUTE SelectTouch.isOver TO select_script.Over +ROUTE previous_script.choice_changed TO prev_text.set_string +ROUTE config_script.choice_changed TO config_text.set_string +ROUTE forward_script.choice_changed TO forward_text.set_string +ROUTE select_script.choice_changed TO select_text.set_string +}#END AvatarWardrobe PROTO + + + +######################################################################### +#LoopCountClock +######################################################################### + +PROTO LoopCountClock[ + eventIn SFTime set_startTime + eventIn SFTime set_stopTime + exposedField SFTime cycleInterval 1 + exposedField SFFloat loopCount 10 + exposedField SFBool enabled TRUE + eventOut SFTime cycleTime + eventOut SFFloat fraction_changed + eventOut SFFloat reset_changed + eventOut SFBool isActive + eventOut SFTime time + eventOut SFTime done +]{ +DEF clock TimeSensor{ + cycleInterval IS cycleInterval + cycleTime IS cycleTime + fraction_changed IS fraction_changed + isActive IS isActive + time IS time + enabled FALSE + loop TRUE +} +Group{ children[ +DEF start_clock TimeSensor{cycleInterval .01 loop FALSE enabled TRUE} +DEF stop_clock TimeSensor{cycleInterval .01 loop FALSE enabled TRUE} +DEF s Script{ + eventIn SFTime set_startTime IS set_startTime + eventIn SFTime set_stopTime IS set_stopTime + eventIn SFTime set_start + eventIn SFTime set_stop + eventIn SFTime set_loop + field SFFloat loops 0 + exposedField SFFloat loopCount IS loopCount + exposedField SFBool enabled IS enabled + eventOut SFTime startClock_changed + eventOut SFTime stopClock_changed + eventOut SFBool clockEnabled_changed + eventOut SFFloat reset_changed IS reset_changed + eventOut SFTime done IS done +url"vrmlscript: +function set_startTime(v,t){startClock_changed = t;} +function set_startTime(v,t){stopClock_changed = t;} +function set_start(v,t){ + if(enabled){ + clockEnabled_changed = true; + loops = 0; + } +} +function set_stop(v,t){ + clockEnabled_changed = false; + loops = 0; + reset_changed = 0; +} +function set_loop(v,t){ + loops++; + if(loops > loopCount){clockEnabled_changed = false; done = t;} +} +"} +]} +ROUTE s.startClock_changed TO start_clock.set_startTime +ROUTE s.stopClock_changed TO stop_clock.set_startTime +ROUTE start_clock.cycleTime TO s.set_start +ROUTE stop_clock.cycleTime TO s.set_stop +ROUTE s.clockEnabled_changed TO clock.set_enabled +ROUTE clock.cycleTime TO s.set_loop +}#END LoopCountClock PROTO + + + +######################################################################### +#FizzEffect +######################################################################### + +PROTO FizzEffect[ + eventIn SFTime set_time +]{ +DEF trans Transform{ children[ + DEF effect_view Viewpoint{} + #Transform{ translation 0 0 3 children Box{}} +]} +DEF default_view Viewpoint{position 0 1.75 0} +DEF clock1 LoopCountClock {cycleInterval 10 loopCount 2} +DEF pinterp PositionInterpolator { +key [ +0 .0333 .0667 .1 .133 .167 .2 .233 .267 .3 .333 .367 .4 .433 .467 .5 .533 .567 .6 .633 .667 .7 .733 .767 .8 .833 .867 .9 .933 .967 1] +keyValue [ 0 0 0 0 .65 0 0 1.0 0 0 1.2 0 0 1.0 0 0 .4 0 0 .2 0 0 .4 0 0 1.0 0 0 1.2 0 0 1.0 0 0 .4 0 0 .2 0 0 .4 0 0 1.0 0 0 1.2 0 0 1.0 0 0 .4 0 0 .2 0 0 .4 0 0 1.0 0 0 1.2 0 0 1.0 0 0 .4 0 0 .2 0 0 .4 0 0 1.0 0 0 1.2 0 0 1.0 0 0 .2 0 0 0 0]} +DEF clock2 LoopCountClock {cycleInterval .5 loopCount 3} +DEF ointerp OrientationInterpolator { +key [0 .5 1] +keyValue [0 1 0 0,0 1 0 3.14,0 1 0 6.28] +} +DEF clock3 LoopCountClock {cycleInterval 4 loopCount 3} +DEF winterp OrientationInterpolator { +key [0 .25 .75 1] +keyValue [0 0 1 0,0 0 1 .1,0 0 1 -.1,0 0 1 0] +} +DEF s Script{ +eventIn SFTime set_time IS set_time +eventIn SFBool set_active +field SFBool isActive FALSE +eventOut SFVec3f position_changed +eventOut SFRotation orientation_changed +eventOut SFVec3f center_changed +eventOut SFBool effectBind_changed +eventOut SFBool defaultBind_changed +eventOut SFTime startTime_changed +url"vrmlscript: +function set_time(v,t){ + if(isActive){return;} + isActive = true; + center_changed = Browser.viewpointPosition; + position_changed = Browser.viewpointPosition; + orientation_changed = Browser.viewpointOrientation; + effectBind_changed = true; + startTime_changed = t + .1; +} +function set_active(v,t){ + if(v){Browser.setGravity(false);} + else{ + Browser.setGravity(true); + isActive = false; + position_changed = Browser.viewpointPosition; + orientation_changed = Browser.viewpointOrientation; + defaultBind_changed = true; + } +} +"} +ROUTE s.center_changed TO trans.set_center +ROUTE s.position_changed TO effect_view.set_position +ROUTE s.orientation_changed TO effect_view.set_orientation +ROUTE s.effectBind_changed TO effect_view.set_bind +ROUTE s.position_changed TO default_view.set_position +ROUTE s.orientation_changed TO default_view.set_orientation +ROUTE s.defaultBind_changed TO default_view.set_bind +ROUTE s.startTime_changed TO clock1.set_startTime +ROUTE s.startTime_changed TO clock2.set_startTime +ROUTE clock1.fraction_changed TO pinterp.set_fraction +ROUTE clock2.fraction_changed TO ointerp.set_fraction +ROUTE clock3.fraction_changed TO winterp.set_fraction +ROUTE pinterp.value_changed TO trans.set_translation +ROUTE ointerp.value_changed TO trans.set_rotation +ROUTE winterp.value_changed TO trans.set_rotation +ROUTE clock1.reset_changed TO pinterp.set_fraction +ROUTE clock1.isActive TO s.set_active +ROUTE clock2.done TO clock3.set_startTime +}#END FizzEffect PROTO + + + + + +Transform{ +children[ + +######################################################################### +#Sounds +######################################################################### + +Sound +{ +direction 1 1 1 # exposedField SFVec3f +location 0 20 -150 # exposedField SFVec3f +intensity 1 +maxBack 210 # exposedField SFFloat +maxFront 210 # exposedField SFFloat +minBack 5 # exposedField SFFloat +minFront 5 # exposedField SFFloat +source DEF oceansound AudioClip{ +url"ocean.wav" +loop TRUE +} +} + +DEF sound00 Sound{#door +location 3.06 2.3 1.37 +direction 0 1 0 +maxFront 5 +maxBack 5 +source DEF dooropened AudioClip{url"dooropened.wav" +} +} +DEF sound00 Sound{#door +location 3.06 2.3 1.37 +direction 0 1 0 +maxFront 5 +maxBack 5 +source DEF doorclosed AudioClip{url"doorclosed.wav" +} +} +DEF entryClock TimeSensor { +cycleInterval 2 +startTime -1 +} + +DEF duration Script { +eventIn SFTime durationchanged +eventOut SFTime startsound +url "javascript: +function durationchanged(val,time){if(val)startsound=time;}"} +DEF sound14 Sound{#elevator up +location -7.75 2.47 -6.6 direction 1 1 1 minFront 10.0 +minBack 10.0 maxFront 50.0 maxBack 50.0 +source DEF up_sound AudioClip{url"down.wav" +}} +DEF sound15 Sound{#elevator down +location -7.75 2.47 -6.6 direction 1 1 1 minFront 10.0 +minBack 10.0 maxFront 50.0 maxBack 50.0 +source DEF down_sound AudioClip{url"down.wav" +}} + +DEF rt RandomTrigger{minTime 55 probability 50 } +Sound +{ +direction 1 1 1 +intensity .5 +location 0 -20 -150 +maxBack 210 +maxFront 210 +minBack 5 +minFront 5 +source DEF whalesound AudioClip{ +url"whale.wav" +} +} + + + +######################################################################### +#Textures +######################################################################### +Transform +{#defined images +children[ +Shape +{ +appearance DEF window Appearance { +material DEF blank Material { +} +texture +ImageTexture +{ +url "window.png" +} +} +} +Shape +{ +appearance DEF mb_window Appearance { +material USE blank +texture +ImageTexture +{url "mb_window.png"} +} +} +Shape +{ +appearance DEF outer_wall12 Appearance { +material +Material +{} +texture +ImageTexture +{ +url "outer_wall12.gif" +} +} +} +Shape +{ +appearance DEF b_counter Appearance { +material USE blank +texture +ImageTexture +{ +url "b_counter.gif" +} +} +} +Shape +{ +appearance DEF b_counter3 Appearance { +material USE blank +texture +ImageTexture +{ +url "b_counter3.gif" +} +} +} +Shape +{ +appearance DEF mb_floor5 Appearance { +material USE blank +texture +ImageTexture +{ +url "mb_floor5.jpg" +} +} +} +DEF chsl_1 Shape +{ +appearance DEF sea_rock_decor Appearance { +material USE blank +texture +ImageTexture +{ +url "sea_rock_decor.gif" +} +} +} +Shape +{ +appearance DEF b_mountain Appearance { +material USE blank +texture +ImageTexture +{ +url "b_mountain.gif" +} +} +} +Shape +{ +appearance DEF b_ceiling2 Appearance { +material +Material +{ +emissiveColor 0.1345 0.3322 0.3816 +} +texture +ImageTexture +{ +url "b_ceiling2.gif" +} +} +} +Shape +{ +appearance DEF blue_wall2 Appearance { +material USE blank +texture +ImageTexture +{ +url "blue_wall2.gif" +} +} +} +Shape +{ +appearance DEF water_d Appearance { +material USE blank +texture DEF waterd ImageTexture { +url "water_d.gif" +} +} +} +Shape +{ +appearance DEF water_e Appearance { +material +Material +{ +diffuseColor 0.3608 0.3608 0.3608 +ambientIntensity 0.1203 +specularColor 0.045 0.045 0.045 +shininess 0.2875 +transparency 0.6 +} +texture USE waterd +} +} +Shape +{ +appearance DEF b_light2 Appearance { +material USE blank +texture +ImageTexture +{ +url "b_light2.gif" +} +} +} +Shape +{ +appearance DEF pillar2 Appearance { +material USE blank +texture +ImageTexture +{ +url "pillar2.gif" +} +} +} +Shape +{ +appearance DEF stone_w Appearance { +material USE blank +texture +ImageTexture +{ +url "stone_w.gif" +} +} +} +Shape +{ +appearance DEF bf Appearance { +material USE blank +texture +ImageTexture +{ +url "bf.jpg" +} +} +} +Shape +{ +appearance DEF beach_sand Appearance { +material USE blank +texture +ImageTexture +{ +url "beach_sand.gif" +} +} +} +Shape +{ +appearance DEF wood_floor Appearance { +material USE blank +texture +ImageTexture +{ +url "wood_floor.gif" +} +} +} +Shape +{ +appearance DEF pad_walls Appearance { +material USE blank +texture +ImageTexture +{ +url "pad_walls.gif" +} +} +} +Shape +{ +appearance DEF blue_pad_ceiling2 Appearance { +material USE blank +texture +ImageTexture +{ +url "blue_pad_ceiling2.gif" +} +} +} +Shape +{ +appearance DEF rooflc Appearance { +material USE blank +texture +ImageTexture +{ +url "roof1c.gif" +} +} +} +Shape +{ +appearance DEF wood_rail Appearance { +material USE blank +texture +ImageTexture +{ +url "wood_rail.gif" +} +} +} +Shape +{ +appearance DEF arc_map3 Appearance { +material USE blank +texture +ImageTexture +{ +url "arc_map3.gif" +} +} +} +Shape +{ +appearance DEF outer_wall11 Appearance { +material USE blank +texture +ImageTexture +{ +url "outer_wall11.gif" +} +} +} +Shape +{ +appearance DEF wall_text5 Appearance { +material +Material +{emissiveColor 0.4176 0.5441 0.1441} +texture +ImageTexture +{ +url "wall_text5.gif" +} +} +} +Shape +{ +appearance DEF pool_border Appearance { +material USE blank +texture +ImageTexture +{ +url "pool_border.gif" +} +} +} +USE chsl_1 Shape +{ +appearance DEF sea_decor3 Appearance { +material USE blank +texture +ImageTexture +{ +url "sea_decor3.gif" +} +} +} +Shape +{ +appearance DEF checker_floor Appearance { +material +Material +{emissiveColor 0.25 0.25 0.25} +texture +ImageTexture +{ +url "checker_floor.gif" +} +} +} +Shape +{ +appearance DEF e_design Appearance { +material +Material +{emissiveColor 0 0.3918 0.1729} +texture +ImageTexture +{ +url "e_design.gif" +} +} +} +Shape +{ +appearance DEF d_light Appearance { +material +Material +{emissiveColor 1 1 1} +texture +ImageTexture +{ +url "d_light.gif" +} +} +} + +Shape +{ +appearance DEF map Appearance { +material +Material +{emissiveColor 0.7906 0.2855 0.3922} +texture +ImageTexture +{ +url "map.gif" +} +} +} + +Shape +{ +appearance DEF yellow_finfish Appearance { +material USE blank +texture +ImageTexture +{ +url "yellow_finfish.gif" +} +} +} +Shape +{ +appearance DEF mr_fish2 Appearance { +material USE blank +texture +ImageTexture +{ +url "mr_fish2.gif" +} +} +} +Shape +{ +appearance DEF blue_finfish Appearance { +material USE blank +texture +ImageTexture +{ +url "blue_finfish.gif" +} +} +} +Shape +{ +appearance DEF jellyfish Appearance { +material +DEF chsl_2 Material +{emissiveColor 0.5 0.5 0.5} +texture +ImageTexture +{ +url "jellyfish.gif" +} +} +} +Shape +{ +appearance DEF sea_weed Appearance { +material +USE chsl_2 texture +ImageTexture +{ +url "sea_weed.gif" +} +} +} +]} + +######################################################################### +#Viewpoints +######################################################################### + +DEF paddio Viewpoint { +jump TRUE +position 4.756 2.186 50.2 +orientation 1 0 0 0 +fieldOfView 0.8985 +description "The Patio" +} +DEF pool_room Viewpoint { +position -17.64 2.186 -1.663 +orientation 0 -1 0 -0.3371 +fieldOfView 0.8985 +description "Pool" +} +DEF game_room Viewpoint { +position -6.981 -2.516 -2.917 +orientation 0 1 0 -0.7235 +fieldOfView 0.8985 +description "Game Room" +} +Viewpoint{ position 3.87852 -5.38672 -47.503 orientation 0 1 0 0.0108472 description "Underwater Dining Room"} +Viewpoint{ position 24.5806 -9.93812 -119.919 orientation 0 1 0 2.83163 description "Under the waves"} +DEF west_side_shore Viewpoint { +position 63.99 0.327 -29.56 +orientation 0 -1 0 -0.6332 +fieldOfView 0.8985 +description "West Side of Shore" +} +DEF east_side_shore Viewpoint { +position -62.26 0.327 -29.56 +orientation 0 1 0 -0.4666 +fieldOfView 0.8985 +description "East Side of Shore" +} +DEF moving_on_water Viewpoint { +position 72.54 0.9112 -55.74 +orientation -0.003144 -1 0.005845 -2.155 +fieldOfView 0.8985 +description "Moving on the Water" +} +DEF moving_on_water-TIMER TimeSensor { loop TRUE cycleInterval 6.667 }, +DEF moving_on_water-POS-INTERP PositionInterpolator { +key [0, 0.015, 0.03, 0.045, 0.06, 0.075, 0.09, 0.105, 0.12, 0.135, +0.15, 0.165, 0.18, 0.195, 0.21, 0.225, 0.24, 0.255, 0.27, 0.285, +0.3, 0.315, 0.33, 0.345, 0.36, 0.375, 0.39, 0.405, 0.42, 0.435, +0.45, 0.465, 0.48, 0.495, 0.51, 0.525, 0.54, 0.555, 0.57, 0.585, +0.6, 0.615, 0.63, 0.645, 0.66, 0.675, 0.69, 0.705, 0.72, 0.735, +0.75, 0.765, 0.78, 0.795, 0.81, 0.825, 0.84, 0.855, 0.87, 0.885, +0.9, 0.915, 0.93, 0.945, 0.96, 0.975, 0.99, 1, ] +keyValue [72.54 0.9112 -55.74, 72.44 0.9112 -59.02, 72.15 0.9112 -62.24, +71.68 0.9112 -65.41, 71.02 0.9112 -68.52, 70.2 0.9112 -71.57, +69.2 0.9112 -74.55, 68.05 0.9112 -77.46, 66.74 0.9112 -80.3, +65.28 0.9112 -83.07, 63.67 0.9112 -85.76, 61.93 0.9112 -88.37, +60.06 0.9112 -90.9, 58.07 0.9112 -93.34, 55.95 0.9112 -95.7, +53.73 0.9112 -97.96, 51.4 0.9112 -100.1, 48.96 0.9112 -102.2, +46.44 0.9112 -104.2, 43.82 0.9112 -106, 41.12 0.9112 -107.8, +38.35 0.9112 -109.5, 35.5 0.9112 -111, 32.6 0.9112 -112.4, +29.63 0.9112 -113.7, 26.61 0.9112 -114.9, 23.55 0.9112 -116, +20.45 0.9112 -116.9, 17.31 0.9112 -117.7, 14.15 0.9112 -118.4, +10.96 0.9112 -119, 7.76 0.9112 -119.4, 4.55 0.9112 -119.6, +1.336 0.9112 -119.8, -1.884 0.9112 -119.7, -5.132 0.9112 -119.6, +-8.402 0.9112 -119.3, -11.69 0.9112 -118.9, -14.98 0.9112 -118.4, +-18.27 0.9112 -117.7, -21.55 0.9112 -117, -24.82 0.9112 -116.1, +-28.06 0.9112 -115.1, -31.27 0.9112 -114, -34.44 0.9112 -112.7, +-37.55 0.9112 -111.4, -40.62 0.9112 -110, -43.61 0.9112 -108.4, +-46.54 0.9112 -106.7, -49.38 0.9112 -105, -52.14 0.9112 -103.1, +-54.8 0.9112 -101.2, -57.35 0.9112 -99.11, -59.79 0.9112 -96.96, +-62.12 0.9112 -94.71, -64.31 0.9112 -92.37, -66.37 0.9112 -89.94, +-68.28 0.9112 -87.43, -70.05 0.9112 -84.83, -71.65 0.9112 -82.14, +-73.08 0.9112 -79.37, -74.34 0.9112 -76.52, -75.42 0.9112 -73.59, +-76.3 0.9112 -70.59, -76.99 0.9112 -67.51, -77.46 0.9112 -64.36, +-77.72 0.9112 -61.13, -77.77 0.9112 -58.95, ] }, +DEF moving_on_water-ROT-INTERP OrientationInterpolator { +key [0, 0.015, 0.03, 0.045, 0.06, 0.075, 0.09, 0.105, 0.12, 0.135, +0.15, 0.165, 0.18, 0.195, 0.21, 0.225, 0.24, 0.255, 0.27, 0.285, +0.3, 0.315, 0.33, 0.345, 0.36, 0.375, 0.39, 0.405, 0.42, 0.435, +0.45, 0.465, 0.48, 0.495, 0.51, 0.525, 0.54, 0.555, 0.57, 0.585, +0.6, 0.615, 0.63, 0.645, 0.66, 0.675, 0.69, 0.705, 0.72, 0.735, +0.75, 0.765, 0.78, 0.795, 0.81, 0.825, 0.84, 0.855, 0.87, 0.885, +0.9, 0.915, 0.93, 0.945, 0.96, 0.975, 0.99, 1, ] +keyValue [-0.003144 -1 0.005845 -2.155, -0.002951 -1 0.005718 -2.189, +-0.002773 -1 0.005603 -2.222, -0.002609 -1 0.005498 -2.256, +-0.002456 -1 0.005402 -2.288, -0.002313 -1 0.005314 -2.321, +-0.002179 -1 0.005234 -2.353, -0.002052 -1 0.00516 -2.385, +-0.001932 -1 0.005092 -2.416, -0.001818 -1 0.005028 -2.448, +-0.001709 -1 0.00497 -2.479, -0.001604 -1 0.004916 -2.511, +-0.001504 -1 0.004865 -2.542, -0.001407 -1 0.004818 -2.573, +-0.001314 -1 0.004774 -2.604, -0.001224 -1 0.004733 -2.636, +-0.001136 -1 0.004694 -2.667, -0.001051 -1 0.004657 -2.698, +-0.000968 -1 0.004623 -2.729, -0.0008873 -1 0.004591 -2.76, +-0.0008085 -1 0.00456 -2.791, -0.0007316 -1 0.004532 -2.821, +-0.0006563 -1 0.004505 -2.852, -0.0005826 -1 0.004479 -2.883, +-0.0005103 -1 0.004455 -2.914, -0.0004394 -1 0.004433 -2.944, +-0.0003697 -1 0.004412 -2.974, -0.0003012 -1 0.004393 -3.005, +-0.0002337 -1 0.004376 -3.035, -0.0001671 -1 0.00436 -3.065, +-0.0001014 -1 0.004346 -3.095, -3.631e-005 -1 0.004334 -3.125, +2.818e-005 -1 0.004323 -3.155, 9.223e-005 -1 0.004315 -3.184, +0.0001562 -1 0.004308 -3.214, 0.0002206 -1 0.004303 -3.244, +0.0002856 -1 0.004299 -3.274, 0.0003512 -1 0.004295 -3.305, +0.0004174 -1 0.004293 -3.335, 0.0004842 -1 0.004291 -3.366, +0.0005515 -1 0.004289 -3.397, 0.0006193 -1 0.004288 -3.428, +0.0006876 -1 0.004288 -3.46, 0.0007565 -1 0.004288 -3.491, +0.0008258 -1 0.004289 -3.522, 0.0008957 -1 0.00429 -3.553, +0.0009661 -1 0.004292 -3.584, 0.001037 -1 0.004294 -3.615, +0.001108 -1 0.004298 -3.646, 0.001181 -1 0.004302 -3.677, +0.001253 -1 0.004308 -3.708, 0.001327 -1 0.004315 -3.738, +0.001402 -1 0.004324 -3.769, 0.001478 -1 0.004334 -3.799, +0.001555 -1 0.004347 -3.829, 0.001634 -1 0.004362 -3.858, +0.001715 -1 0.004379 -3.888, 0.001798 -1 0.0044 -3.917, +0.001884 -1 0.004424 -3.947, 0.001973 -1 0.004452 -3.976, +0.002065 -1 0.004485 -4.005, 0.002162 -1 0.004522 -4.034, +0.002264 -1 0.004564 -4.063, 0.002372 -1 0.004612 -4.091, +0.002486 -1 0.004667 -4.12, 0.002609 -1 0.00473 -4.15, +0.002741 -1 0.004801 -4.179, 0.002835 -1 0.004853 -4.199, +] }, + +DEF sink_underwater Viewpoint { + position 4.756 2.186 -105 + orientation 0 -1 0 -3.142 + fieldOfView 0.8985 + description "Sinking Under Water" +} +DEF sink_underwater-TIMER TimeSensor { loop TRUE cycleInterval 6.667 }, +DEF sink_underwater-POS-INTERP PositionInterpolator { + key [0, 0.015, 0.03, 0.045, 0.06, 0.075, 0.09, 0.105, 0.12, 0.135, + 0.15, 0.165, 0.18, 0.195, 0.21, 0.225, 0.24, 0.255, 0.27, 0.285, + 0.3, 0.315, 0.33, 0.345, 0.36, 0.375, 0.39, 0.405, 0.42, 0.435, + 0.45, 0.465, 0.48, 0.495, 0.51, ] + keyValue [4.756 2.186 -105, 4.756 1.857 -105, 4.756 1.528 -105, + 4.756 1.199 -105, 4.756 0.8696 -105, 4.756 0.5406 -105, + 4.756 0.2115 -105, 4.756 -0.1175 -105, 4.756 -0.4465 -105, + 4.756 -0.7755 -105, 4.756 -1.104 -105, 4.756 -1.433 -105, + 4.756 -1.763 -105, 4.756 -2.092 -105, 4.756 -2.421 -105, + 4.756 -2.75 -105, 4.756 -3.079 -105, 4.756 -3.408 -105, + 4.756 -3.737 -105, 4.756 -4.066 -105, 4.756 -4.395 -105, + 4.756 -4.724 -105, 4.756 -5.053 -105, 4.756 -5.382 -105, + 4.756 -5.711 -105, 4.756 -6.04 -105, 4.756 -6.369 -105, + 4.756 -6.698 -105, 4.756 -7.027 -105, 4.756 -7.356 -105, + 4.756 -7.685 -105, 4.756 -8.014 -105, 4.756 -8.343 -105, + 4.756 -8.672 -105, 4.756 -8.781 -105, ] }, + + + +######################################################################### +#Lights +######################################################################### + +DEF dad_Global_1 Transform { + translation 125 -100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_1 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_2 Transform { + translation 125 100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_2 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_3 Transform { + translation -125 100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_3 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_4 Transform { + translation -125 -100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_4 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} + +NavigationInfo { +avatarSize [ +.25 1.75 .75 +] +speed 2.5 +headlight FALSE +} + +######################################################################### +#Culling Script +######################################################################### + + +DEF up_prox ProximitySensor{ +center 0 8.83 0 +size 1500 17.76 1500 +} + +DEF down_prox ProximitySensor{ +center 250 -4.415 250 +size 500 5.59 500 +} + + + +DEF whichViewScript Script{ +eventIn SFTime switchChoice_up +eventIn SFTime switchChoice_down +eventIn SFTime switchChoice_both +eventOut SFInt32 myChoice +eventOut SFBool collide +field MFNode up_prox USE up_prox +field MFNode down_prox USE down_prox +url"vrmlscript: +function switchChoice_up (v,t){ +if (t>.01){myChoice = 0;} +} +function switchChoice_down (v,t){ +if (v >.01){myChoice = 1;} +} +function switchChoice_both(v,t){ +if(v > .01 ){myChoice = 2;} +collide = false; +} + +" +}#end script + + +DEF which_view Switch { +whichChoice 0 +choice[ +DEF GroupUp Group +{#upperlevel geometry +children[ + + +#################### upper_level_lwindow + +DEF upper_floor_window_right01 Transform { +translation 11.65 -4.375 -14.3 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE window +geometry DEF upper_floor_window_right01-FACES IndexedFaceSet { +solid FALSE +coord DEF upper_floor_window_right01-COORD Coordinate { +point [ -21.35 .1147 5.914 -16.41 3.838 5.914 -16.41 3.839 7.989 -21.35 .1155 +7.989 ] } +coordIndex [ 2 3 0 1 -1 ] texCoord DEF upper_floor_window_right01-TEXCOORD +TextureCoordinate { point [ -1.039 .9996 2.039 .9991 2.039 .000376 -1.039 +.000864 ] } texCoordIndex +[ 2 3 0 1 -1 ] +} +} +] +} + +#################### upper_level_lwindow end + +#################### upper_level_rwindow + +DEF upper_level_rwindow Transform { +translation -5.979 -4.375 -14.29 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE window +geometry DEF upper_level_rwindow-FACES IndexedFaceSet { +ccw FALSE +solid FALSE +coord DEF upper_level_rwindow-COORD Coordinate { +point [ 21.35 -.1147 -5.914 16.41 -3.838 -5.914 16.41 -3.839 -7.989 21.35 +-.1155 -7.989 ] } +coordIndex [ 2 3 0 1 -1 ] texCoord DEF upper_level_rwindow-TEXCOORD +TextureCoordinate { point [ -1.039 .9996 2.039 .9991 2.039 .000376 -1.039 +.000864 ] } texCoordIndex +[ 2 3 0 1 -1 ] +} +} +] +} + +#################### upper_level_rwindow end + +#################### upper_floor_swindow + +DEF upper_floor_swindow Transform { +translation -5.985 -4.348 -14.39 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE mb_window +geometry DEF upper_floor_swindow-FACES IndexedFaceSet { +ccw FALSE +solid FALSE +coord DEF upper_floor_swindow-COORD Coordinate { +point [ 15.65 -4.258 -9.3 12.47 -4.258 -9.3 2.189 -4.258 -9.3 5.376 -4.258 +-9.3 13.05 -2.015 -10.6 11.1 -2.015 -10.6 4.791 -2.015 -10.6 6.746 -2.015 +-10.6 ] } +coordIndex [ 1 0 4 5 -1 6 2 3 7 -1 ] texCoord DEF upper_floor_swindow-TEXCOORD +TextureCoordinate { point [ .9744 .9995 .2938 .9995 .9745 .9947 .2806 .9947 +.4395 .00045 .02468 .00045 .453 .0053 .02259 .0053 ] } texCoordIndex +[ 1 0 4 5 -1 6 2 3 7 -1 ] +} +} +] +} + +#################### upper_floor_swindow + +#################### ani_door add proximity sensor and a sound +DEF DoorProx ProximitySensor{ +center 3.06 2.3 1.37 +size 4 2 4 +} + + +DEF door Transform { +translation 1.531 0.7669 0.8231 +rotation 0.5771 -0.577 0.5779 -2.094 +children [ +DEF door-POS-INTERP PositionInterpolator { +key [0, 0.3, 0.6, 0.9, 1, ] +keyValue [1.531 0.7669 0.8231, 2.2 0.7669 0.8231, 2.87 0.7669 0.8231, +3.539 0.7669 0.8231, 3.762 0.7669 0.8231, ] }, +Shape +{ +appearance USE outer_wall12 +geometry DEF door-FACES IndexedFaceSet { +coord DEF door-COORD Coordinate { +point [ -3.219 .1912 2.489 -3.219 .1881 .1502 -3.219 .1815 2.489 -3.219 .1784 +.1498 -.008098 .1916 2.489 -.008098 .1885 .1502 -.008139 .1819 2.489 -.008139 +.1788 .1498 ] } +coordIndex [ 4 6 7 5 -1 2 3 7 6 -1 1 0 4 5 -1 3 1 5 7 -1 ] texCoord DEF door-TEXCOORD +TextureCoordinate { point [ -.004495 .09682 1.004 .4425 1.004 .4426 -.004495 +.09668 .09682 .9987 .09668 -.00032 .4425 .005299 .4426 1.004 1.004 .09668 +-.004495 .4425 -.004495 .4426 1.004 .09682 .9995 .2591 .000509 .2616 .000496 +.3874 .9995 .3849 ] } texCoordIndex +[ 4 5 6 7 -1 8 1 9 3 -1 10 0 11 2 -1 12 15 14 13 -1 ] +} +} +DEF toggle1 Toggle{} +DEF toggle1SH SharedToggle{} +DEF sh_clock1 ReversableClock{cycleInterval .13 isForward FALSE} +] + + +} +#################### ani_door end + +#################### bridge_front_window + +DEF Object02 Transform { +translation 2.848 -4.474 -14.41 +rotation -1 0 0 -3.142 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE window +geometry DEF Object02-FACES IndexedFaceSet { +ccw FALSE +solid FALSE +coord DEF Object02-COORD Coordinate { +point [ -3.104 -8.656 -40.13 -3.104 -5.154 -40.12 -1.205 -8.656 -40.14 -1.193 +-5.154 -40.13 ] +} +texCoord DEF Object02-TEXCOORD +TextureCoordinate { point [ .000499 2.096 .9995 2.096 .000502 -1.076 .9995 +-1.096 ] } coordIndex [ 3 1 0 -1 0 2 3 -1 ] texCoordIndex +[ 3 1 0 -1 0 2 3 -1 ] +} +} +] +} +DEF Object03 Transform { +translation 2.848 -4.474 -14.41 +rotation -1 0 0 -3.142 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE window +geometry DEF Object03-FACES IndexedFaceSet { +ccw FALSE +solid FALSE +coord DEF Object03-COORD Coordinate { +point [ 3.33 -8.656 -40.14 3.33 -5.154 -40.13 1.102 -8.656 -40.14 1.114 -5.154 +-40.13 ] +} +texCoord DEF Object03-TEXCOORD +TextureCoordinate { point [ -.5164 .6093 1.572 .6094 -.5164 5.395 1.572 5.369 +] } coordIndex [ 2 0 1 -1 1 3 2 -1 ] texCoordIndex +[ 2 0 1 -1 1 3 2 -1 ] +} +} +] +} + +############## bridge_front_wall end +##############drawer countertop + +DEF drawer_countertop Transform { +translation 47.3 1.673 25.39 +rotation -0.5773 -0.5774 0.5774 -2.095 +scale 10.96 10.96 10.96 +children [ +Shape +{ +appearance USE b_counter +geometry DEF drawer_countertop-FACES IndexedFaceSet { +convex FALSE +color +Color { color [ 1 1 1 .4588 .2824 0 .5333 .3333 .01961 ] } colorIndex +[ 0 0 0 0 -1 0 0 0 0 -1 0 0 0 1 -1 0 0 1 0 -1 2 0 0 0 -1 2 1 0 0 -1 0 0 0 0 +-1 0 0 0 -1 ] +coord DEF drawer_countertop-COORD Coordinate +{ +point [ 3.748 -5.757 -.01784 4.086 -5.715 -.01784 3.891 -5.792 -.01784 3.7 +-5.765 -.01784 3.508 -5.792 -.01784 3.651 -5.757 -.01784 4.086 -5.653 -.01784 +3.773 -5.736 -.01784 3.764 -5.713 -.01784 3.725 -5.698 -.01784 3.635 -5.713 +-.01784 3.314 -5.712 -.01784 3.313 -5.653 -.01784 3.674 -5.698 -.01784 3.626 +-5.736 -.01784 ] } +coordIndex [ 0 1 2 3 -1 3 2 4 5 -1 1 0 7 6 -1 8 9 6 7 -1 12 13 10 11 -1 12 6 +9 13 -1 4 11 10 14 -1 5 4 14 -1 ] texCoord DEF drawer_countertop-TEXCOORD +TextureCoordinate { point [ .8732 1.242 3.495 .3347 1.983 1.998 .4994 1.416 +-.9838 1.998 .1256 1.242 3.497 -.9985 1.072 .8006 1.003 .2987 .698 -.0289 +-.0046 .2987 -2.496 .2702 -2.497 -.9985 .3002 -.0289 -.0736 .8006 ] } texCoordIndex +[ 0 1 2 3 -1 3 2 4 5 -1 1 0 7 6 -1 8 9 6 7 -1 12 13 10 11 -1 12 6 9 13 -1 4 +11 10 14 -1 5 4 14 -1 ] +} +} +] +} + +############drawer countertop end + +############pool_drawer + +DEF pool_drawer Transform { +translation 47.3 1.673 25.39 +rotation -0.5773 -0.5774 0.5774 -2.095 +scale 10.96 10.96 10.96 +children [ +Shape +{ +appearance USE b_counter3 +geometry DEF pool_drawer-FACES IndexedFaceSet { +coord DEF pool_drawer-COORD Coordinate { +point [ 4.086 -5.715 .08192 3.891 -5.792 .08192 3.891 -5.792 -.01784 4.086 +-5.715 -.01784 3.508 -5.792 .08192 3.508 -5.792 -.01784 3.314 -5.712 .08192 +3.314 -5.712 -.01784 3.313 -5.653 .08192 3.313 -5.653 -.01784 4.086 -5.653 +.08192 4.086 -5.653 -.01784 ] } +coordIndex [ 0 1 2 3 -1 1 4 5 2 -1 4 6 7 5 -1 6 8 9 7 -1 10 0 3 11 -1 ] texCoord +DEF pool_drawer-TEXCOORD +TextureCoordinate { point [ 1 0 0 1 0 0 1 1 ] } texCoordIndex +[ 2 0 3 1 -1 2 0 3 1 -1 2 0 3 1 -1 2 0 3 1 -1 2 0 3 1 -1 ] +} +} +] +} + +############pool_drawer end + +###########b_sink + +DEF b_sink Transform { +translation 47.3 1.673 25.39 +rotation -0.5773 -0.5774 0.5774 -2.095 +scale 10.96 10.96 10.96 +children [ +Shape +{ +appearance USE mb_floor5 +geometry DEF b_sink-FACES IndexedFaceSet { +coord DEF b_sink-COORD Coordinate { +point [ 3.762 -5.733 -.008041 3.641 -5.721 -.008041 3.675 -5.708 -.008041 +3.758 -5.721 -.008041 3.724 -5.708 -.008041 3.744 -5.747 -.008041 3.7 -5.754 +-.008041 3.637 -5.733 -.008041 3.655 -5.747 -.008041 3.748 -5.757 -.01784 +3.7 -5.765 -.01784 3.7 -5.76 -.01142 3.746 -5.752 -.01142 3.773 -5.736 -.01784 +3.768 -5.734 -.01142 3.764 -5.713 -.01784 3.761 -5.717 -.01142 3.725 -5.698 +-.01784 3.724 -5.703 -.01142 3.635 -5.713 -.01784 3.674 -5.698 -.01784 3.675 +-5.703 -.01142 3.638 -5.717 -.01142 3.626 -5.736 -.01784 3.631 -5.734 -.01142 +3.651 -5.757 -.01784 3.653 -5.752 -.01142 ] +} +texCoord DEF b_sink-TEXCOORD +TextureCoordinate { point [ .3409 .3793 .6489 .4114 .5623 .4462 .3511 .4114 +.4376 .4462 .3867 .3419 .4987 .3231 .6591 .3793 .6133 .3418 .3766 .3151 .4987 +.2937 .4987 .3071 .3816 .3285 .3129 .3713 .3256 .3767 .3358 .4328 .3435 .4221 +.4351 .4729 .4376 .4596 .6642 .4328 .5649 .4729 .5623 .4595 .6565 .4221 .6871 +.3712 .6743 .3766 .6234 .3151 .6184 .3284 ] } coordIndex [ 0 1 2 -1 2 3 0 +-1 3 2 4 -1 0 5 6 -1 6 1 0 -1 7 1 6 -1 6 8 7 -1 9 10 11 -1 11 12 9 -1 13 9 12 +-1 12 14 13 -1 15 13 14 -1 14 16 15 -1 17 15 16 -1 16 18 17 -1 19 20 21 -1 21 +22 19 -1 23 19 22 -1 22 24 23 -1 20 17 18 -1 18 21 20 -1 25 23 24 -1 24 26 25 +-1 10 25 26 -1 26 11 10 -1 16 14 0 -1 0 3 16 -1 22 21 2 -1 2 1 22 -1 21 18 4 +-1 4 2 21 -1 18 16 3 -1 3 4 18 -1 14 12 5 -1 5 0 14 -1 12 11 6 -1 6 5 12 -1 +24 22 1 -1 1 7 24 -1 11 26 8 -1 8 6 11 -1 26 24 7 -1 7 8 26 -1 ] texCoordIndex +[ 0 1 2 -1 2 3 0 -1 3 2 4 -1 0 5 6 -1 6 1 0 -1 7 1 6 -1 6 8 7 -1 9 10 11 -1 +11 12 9 -1 13 9 12 -1 12 14 13 -1 15 13 14 -1 14 16 15 -1 17 15 16 -1 16 18 +17 -1 19 20 21 -1 21 22 19 -1 23 19 22 -1 22 24 23 -1 20 17 18 -1 18 21 20 +-1 25 23 24 -1 24 26 25 -1 10 25 26 -1 26 11 10 -1 16 14 0 -1 0 3 16 -1 22 21 +2 -1 2 1 22 -1 21 18 4 -1 4 2 21 -1 18 16 3 -1 3 4 18 -1 14 12 5 -1 5 0 14 +-1 12 11 6 -1 6 5 12 -1 24 22 1 -1 1 7 24 -1 11 26 8 -1 8 6 11 -1 26 24 7 +-1 7 8 26 -1 ] +} +} +] +} + +##########b_sink end +Group +{#pool +children[ +#################### pool_rock + +DEF pool_rock Transform { +translation -23.18 -5.703 -13.78 +children [ +DEF pool_rock_ledge Transform { +translation -0.7902 -5.535 -4.818 +children [ +Shape +{ +appearance USE sea_rock_decor +geometry DEF pool_rock_ledge-FACES IndexedFaceSet { +coord DEF pool_rock_ledge-COORD Coordinate { +point [ -7.789 -.9425 3.976 -6.51 -.9425 8.715 -7.086 -.9425 12.77 -5.519 +-.9425 15.23 2.883 -.9425 15.95 7.15 -.9425 14.79 7.092 -.9425 1.538 8.427 +-.9425 -3.657 6.685 -.9425 -6.373 -.5818 -.9425 -6.891 -6.011 -.9425 -6.203 +-7.216 -.9425 -2.949 -11.05 12.01 4.007 -9.18 12.01 10.93 -10.02 12.01 16.85 +-7.733 12.01 20.43 4.534 12.01 21.49 10.76 12.01 19.79 10.68 12.01 .4481 12.63 +12.01 -7.137 10.09 12.01 -11.1 -.5245 12.01 -11.86 -8.451 12.01 -10.85 -10.21 +12.01 -6.103 ] +} +texCoord DEF pool_rock_ledge-TEXCOORD +TextureCoordinate { point [ .4748 .000499 .6167 .000499 .7382 .000499 .8117 +.000499 .4117 .1665 .2013 .000499 .5982 .000499 .7538 .000499 .8352 .000499 +.5579 .000499 .787 .000499 .2674 .000499 .4757 .9995 .683 .9995 .8603 .9995 +.9677 .9995 .342 .000499 .0514 .9995 .6309 .9995 .8581 .9995 .9768 .9995 .5555 +.9995 .8899 .9995 .1729 .9995 .2317 .2013 .07918 .0514 .7662 .1883 .8597 .03231 +.1699 .000499 .03057 .9995 .2512 .000499 .1078 .9995 ] } coordIndex [ 4 5 17 +-1 17 16 4 -1 5 6 18 -1 18 17 5 -1 3 4 16 -1 16 15 3 -1 2 3 15 -1 15 14 2 +-1 1 2 14 -1 14 13 1 -1 0 1 13 -1 13 12 0 -1 11 0 12 -1 12 23 11 -1 10 11 23 +-1 23 22 10 -1 9 10 22 -1 22 21 9 -1 8 9 21 -1 21 20 8 -1 6 7 19 -1 19 18 6 +-1 7 8 20 -1 20 19 7 -1 ] texCoordIndex +[ 4 24 25 -1 25 16 4 -1 5 6 18 -1 18 17 5 -1 26 4 16 -1 16 27 26 -1 2 3 15 +-1 15 14 2 -1 1 2 14 -1 14 13 1 -1 0 1 13 -1 13 12 0 -1 11 0 12 -1 12 23 11 +-1 28 11 23 -1 23 29 28 -1 9 10 22 -1 22 21 9 -1 30 9 21 -1 21 31 30 -1 6 7 +19 -1 19 18 6 -1 7 8 20 -1 20 19 7 -1 ] +} +} +] +}, +DEF rock_surface Transform { +translation -0.7902 -5.535 -4.818 +children [ +Shape +{ +appearance USE b_mountain +geometry DEF rock_surface-FACES IndexedFaceSet { +coord DEF rock_surface-COORD Coordinate { +point [ -11.05 12.01 4.007 -9.18 12.01 10.93 -10.02 12.01 16.85 -7.733 12.01 +20.43 4.534 12.01 21.49 10.76 12.01 19.79 10.68 12.01 .4481 12.63 12.01 -7.137 +10.09 12.01 -11.1 -.5245 12.01 -11.86 -8.451 12.01 -10.85 -10.21 12.01 -6.103 +-5.221 12.01 4.464 -5.202 12.01 -8.079 .1313 12.01 4.455 2.567 12.01 -8.077 +2.562 12.01 -5.8 1.64 12.01 -3.338 1.648 12.01 2.831 ] +} +texCoord DEF rock_surface-TEXCOORD +TextureCoordinate { point [ .2633 .6166 .3006 .4608 .2838 .3274 .3295 .2467 +.5749 .2228 .6994 .261 .6978 .6967 .7367 .8676 .6859 .9568 .4737 .9739 .3152 +.9513 .28 .8443 .3798 .6063 .3802 .8888 .4868 .6065 .5355 .8887 .5354 .8374 +.517 .782 .5172 .6431 ] } coordIndex [ 4 5 6 -1 3 4 6 -1 2 3 6 -1 1 2 6 -1 0 +1 11 -1 12 13 1 -1 1 13 11 -1 10 11 13 -1 12 1 14 -1 15 9 13 -1 9 10 13 -1 17 +18 16 -1 6 16 18 -1 16 6 15 -1 6 7 15 -1 8 15 7 -1 1 6 14 -1 8 9 15 -1 14 6 +18 -1 ] texCoordIndex +[ 4 5 6 -1 3 4 6 -1 2 3 6 -1 1 2 6 -1 0 1 11 -1 12 13 1 -1 1 13 11 -1 10 11 +13 -1 12 1 14 -1 15 9 13 -1 9 10 13 -1 17 18 16 -1 6 16 18 -1 16 6 15 -1 6 7 +15 -1 8 15 7 -1 1 6 14 -1 8 9 15 -1 14 6 18 -1 ] +} +} +] +} +] +} + +#################### pool_rock end + +#################### pool_ceiling + +DEF pool_ceiling Transform { +translation -17.78 0.7769 -9.62 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE b_ceiling2 +geometry DEF pool_ceiling-FACES IndexedFaceSet { +solid FALSE +coord DEF pool_ceiling-COORD Coordinate { +point [ 2.129 -17.11 -4.3 2.124 5.608 -4.3 -12.21 8.17 -4.3 -12.21 -17.11 +-4.3 4.113 8.172 -4.298 4.107 7.634 -4.3 ] } +coordIndex [ 0 1 2 3 -1 4 2 5 -1 5 2 1 -1 ] texCoord DEF pool_ceiling-TEXCOORD +TextureCoordinate { point [ -.513 1.942 -.5122 -.6498 2.013 -.9421 2.013 1.942 +-.8625 -.9423 -.8615 -.881 ] } texCoordIndex +[ 0 1 2 3 -1 4 2 5 -1 5 2 1 -1 ] +} +} +] +} + +#################### pool_ceiling end + +#################### pool_innerwall + +DEF pool_walls Transform { +translation -17.78 0.7769 -9.62 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE blue_wall2 +geometry DEF pool_walls-FACES IndexedFaceSet { +convex FALSE +color +Color { color [ 1 1 1 0 .702 .8078 0 .7882 .7961 ] } colorIndex +[ 0 0 0 1 -1 0 0 0 -1 0 0 0 0 -1 0 0 1 0 -1 2 0 0 0 -1 0 2 0 -1 0 0 0 -1 0 0 +0 -1 0 0 1 0 -1 0 2 0 0 -1 ] +coord DEF pool_walls-COORD +Coordinate { +point [ 3.029 -18.01 -3.3 -13.11 -18.01 -3.3 -3.172 -18.01 -3.103 3.029 -18.01 +0 -13.11 -18.01 -3.103 -13.11 9.07 -3.3 -13.11 -4.112 -3.1 -3.172 -18.01 -.209 +-13.11 -18.01 0 -13.11 9.07 0 -13.11 -4.112 -.2093 -13.11 -18.01 -.209 3.024 +5.242 -3.3 3.024 5.242 0 4.113 9.07 -3.3 4.113 9.07 -.008259 ] } +coordIndex [ 0 1 2 3 -1 1 4 2 -1 1 5 6 4 -1 7 8 3 2 -1 9 8 10 6 -1 5 9 6 -1 +7 11 8 -1 10 8 11 -1 12 0 3 13 -1 15 9 5 14 -1 ] +texCoord +DEF pool_walls-TEXCOORD +TextureCoordinate { point [ 2.164 .9995 -1.403 .9995 .7936 .9399 2.164 .000499 +-1.403 .9399 4.174 .9399 4.175 .9995 -3.175 .9995 .4029 .9391 .7936 .06377 +-1.403 .000499 -3.175 .000499 4.175 .000499 .4029 .06387 -1.403 .06376 4.174 +.06376 3.136 .9995 3.136 .000499 2.403 .000499 2.403 .9995 -1.403 .003 ] } +texCoordIndex +[ 0 1 2 3 -1 1 4 2 -1 6 7 8 5 -1 9 10 3 2 -1 11 12 13 8 -1 7 11 8 -1 9 14 10 +-1 13 12 15 -1 16 7 11 17 -1 20 18 19 1 -1 ] +} +} +] +} + +#################### pool_innerwall end + +#################### pool_roof_ledge + +DEF roof_ledge Transform { +translation -17.78 0.7769 -9.62 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE outer_wall12 +geometry DEF roof_ledge-FACES IndexedFaceSet { +coord DEF roof_ledge-COORD Coordinate { +point [ 2.124 5.608 -4.6 2.129 -17.11 -4.6 -12.21 -17.11 -4.6 -12.21 8.17 +-4.6 4.113 8.172 -4.598 4.107 7.634 -4.6 4.113 8.172 -4.298 2.124 5.608 -4.3 +2.129 -17.11 -4.3 -12.21 -17.11 -4.3 -12.21 8.17 -4.3 4.107 7.634 -4.3 ] +} +texCoord DEF roof_ledge-TEXCOORD +TextureCoordinate { point [ .9414 .4598 .9418 .4598 -.08367 .4598 1.084 .4596 +1.083 .4598 1.084 .4382 .9414 .4383 .9418 .4383 -.08367 .4383 1.083 .4383 +] } coordIndex [ 4 6 11 -1 4 11 5 -1 7 0 11 -1 11 0 5 -1 8 1 7 -1 7 1 0 -1 2 +1 8 -1 2 8 9 -1 3 2 9 -1 3 9 10 -1 4 3 10 -1 4 10 6 -1 ] texCoordIndex +[ 3 5 9 -1 3 9 4 -1 6 0 9 -1 9 0 4 -1 7 1 6 -1 6 1 0 -1 2 1 7 -1 2 7 8 -1 2 +2 8 -1 2 8 8 -1 3 2 8 -1 3 8 5 -1 ] +} +} +] +} + +#################### pool_roof_ledge end + +#################### pool_water +Collision +{ +collide FALSE +children[ +DEF pool_water Transform { +translation -17.78 -2.942 -9.62 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE water_e +geometry DEF pool_water-FACES IndexedFaceSet { +solid FALSE +coord DEF pool_water-COORD Coordinate { +point [ -4.195 -16.71 -3.618 -10.97 -16.71 -3.618 -5.153 -12.39 -3.618 -4.195 +-14.89 -3.618 -6.332 -4.986 -3.618 -5.151 -6.272 -3.618 -10.97 -4.986 -3.618 +] } +coordIndex [ 0 1 2 3 -1 4 5 2 6 -1 1 6 2 -1 ] texCoord DEF pool_water-TEXCOORD +TextureCoordinate { point [ .9995 .000499 .1418 .3686 .000499 .1556 .1415 +.8899 .9995 .9995 .000499 .000499 .3156 .9995 ] } texCoordIndex +[ 5 0 1 2 -1 6 3 1 4 -1 0 4 1 -1 ] +} +} +] +} +#################### pool_water end +]} +#################### small_pool_wall + +DEF pool_hallway01 Transform { +translation -17.78 0.7769 -9.62 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE b_ceiling2 +geometry DEF pool_hallway01-FACES IndexedFaceSet { +solid FALSE +coord DEF pool_hallway01-COORD Coordinate { +point [ 4.113 9.07 -.008259 7.713 9.07 0 7.713 9.07 -3.3 4.113 9.07 -3.3 ] +} +coordIndex [ 0 3 2 1 -1 ] texCoord DEF pool_hallway01-TEXCOORD +TextureCoordinate { point [ 1.033 -.04491 1.035 1.045 -.03607 1.045 -.03607 +-.04491 ] } texCoordIndex +[ 0 3 2 1 -1 ] +} +} +] +} + +#################### small_pool_wall end + +#################### pool_door_outline + +DEF pool_door_outline Transform { +translation -17.78 0.7769 -9.62 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +DEF pool_door_outline-TIMER TimeSensor { loop TRUE cycleInterval 6.667 }, +Shape +{ +appearance USE b_ceiling2 +geometry DEF pool_door_outline-FACES IndexedFaceSet { +solid FALSE +color +Color { color [ 0 .6431 .5882 1 1 1 ] } colorIndex +[ 0 0 0 -1 0 0 0 -1 1 0 1 -1 1 0 0 -1 1 1 0 -1 0 0 1 -1 ] +coord DEF pool_door_outline-COORD +Coordinate { +point [ 7.713 6.702 0 7.886 9.205 0 7.886 6.489 0 7.886 6.489 -3.3 7.713 9.07 +0 7.713 6.702 -3.3 7.713 9.07 -3.286 7.886 9.205 -3.286 ] +} +texCoord DEF pool_door_outline-TEXCOORD +TextureCoordinate { point [ -.7783 -1.028 1.207 -1.028 -.2066 -1.028 -.2066 +2.028 1.778 -1.028 -.7783 2.028 1.778 2.015 1.207 2.015 -.7783 6.613 -.7783 +-6.03 -.2066 -6.751 -.2066 7.751 ] } coordIndex [ 0 4 1 -1 0 1 2 -1 5 0 3 +-1 3 0 2 -1 6 7 1 -1 1 4 6 -1 ] texCoordIndex +[ 8 9 10 -1 8 10 11 -1 5 0 3 -1 3 0 2 -1 6 7 1 -1 1 4 6 -1 ] +} +} +] +} + +#################### pool_door_outline end + +#################### pool_building + +DEF pool_building Transform { +translation -20.46 2.394 -14.06 +children [ +DEF pool_building-TIMER TimeSensor { loop TRUE cycleInterval 6.667 }, +DEF pool_light Transform { +translation 2.675 -1.617 4.438 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE b_light2 +geometry DEF pool_light-FACES IndexedFaceSet { +solid FALSE +coord DEF pool_light-COORD Coordinate { +point [ 3.029 -18.01 -3.3 3.024 5.242 -3.3 2.129 -17.11 -4.3 2.124 5.608 -4.3 +] } +coordIndex [ 0 1 2 -1 3 2 1 -1 ] texCoord DEF pool_light-TEXCOORD +TextureCoordinate { point [ -3.168 .01021 3.972 -.004141 -2.892 1.004 4.085 +.99 ] } texCoordIndex +[ 0 1 2 -1 3 2 1 -1 ] +} +} +] +}, +DEF pool_windows Transform { +translation -8.145 -1.398 -9.978 +rotation -1 0 0 -1.571 +children [ +Shape +{ +appearance USE window +geometry DEF pool_windows-FACES IndexedFaceSet { +solid FALSE +coord DEF pool_windows-COORD Coordinate { +point [ -2.28 10.63 0 -2.254 -3.477 0 -2.254 -3.477 -3 -2.28 10.63 -3 7.942 +-3.52 0 7.942 -3.52 -3 ] } +coordIndex [ 0 1 2 3 -1 1 4 5 2 -1 ] texCoord DEF pool_windows-TEXCOORD +TextureCoordinate { point [ -1.533 -.002555 2.52 -.002555 2.52 1.068 -1.533 +1.068 -1.512 -.002555 2.522 -.002555 2.522 1.068 -1.512 1.068 ] } texCoordIndex +[ 0 1 2 3 -1 4 5 6 7 -1 ] +} +} +] +}, + +DEF pool_pillar Transform { +translation -35.97 -1.617 60.26 +rotation -1 0 0 -1.571 +scale 6.19 6.19 6.19 +children [ +Shape +{ +appearance USE b_light2 +geometry DEF pool_pillar-FACES IndexedFaceSet { +solid FALSE +coord DEF pool_pillar-COORD Coordinate { +point [ 4.253 -7.56 0 4.29 -7.623 0 4.29 -7.623 -.5209 4.253 -7.56 -.5209 +4.253 -7.686 0 4.253 -7.686 -.5209 4.18 -7.686 0 4.18 -7.686 -.5209 4.144 +-7.623 0 4.144 -7.623 -.5209 4.18 -7.56 0 4.18 -7.56 -.5209 ] } +coordIndex [ 0 1 2 3 -1 1 4 5 2 -1 4 6 7 5 -1 6 8 9 7 -1 8 10 11 9 -1 10 0 3 +11 -1 7 9 11 5 -1 5 11 3 2 -1 ] texCoord DEF pool_pillar-TEXCOORD +TextureCoordinate { point [ 0 .2093 0 .2803 1 .2803 1 .2093 0 .06911 1 .06911 +0 0 1 0 ] } texCoordIndex +[ 0 1 2 3 -1 1 0 3 2 -1 0 4 5 3 -1 4 6 7 5 -1 6 4 5 7 -1 4 0 3 5 -1 5 7 5 3 +-1 3 5 3 2 -1 ] +} +} +] +}, +DEF b_hallway_window Transform { +translation 2.635 -1.617 4.533 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE window +geometry DEF b_hallway_window-FACES IndexedFaceSet { +solid FALSE +coord DEF b_hallway_window-COORD Coordinate { +point [ 7.78 6.489 -3.052 4.556 6.487 -3.054 4.557 6.487 -.1148 7.78 6.489 +-.1118 3.415 5.346 -3.052 3.415 5.346 -.1116 ] } +coordIndex [ 0 1 2 3 -1 1 4 5 2 -1 ] texCoord DEF b_hallway_window-TEXCOORD +TextureCoordinate { point [ 2.602 .999 -.1073 .9995 -.1061 .001611 2.602 .000567 +-1.066 .999 -1.066 .000499 ] } texCoordIndex +[ 0 1 2 3 -1 1 4 5 2 -1 ] +} +} +] +}, +DEF b_upper_windows Transform { +translation 2.675 -1.617 4.438 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE window +geometry DEF b_upper_windows-FACES IndexedFaceSet { +solid FALSE +coord DEF b_upper_windows-COORD Coordinate { +point [ -13.11 -18.01 -3.3 3.029 -18.01 -3.3 2.129 -17.11 -4.3 -12.21 -17.11 +-4.3 -13.11 9.07 -3.3 -12.21 8.17 -4.3 4.113 8.172 -4.298 4.113 9.07 -3.3 +] } +coordIndex [ 0 1 2 3 -1 4 0 3 5 -1 6 7 4 5 -1 ] texCoord DEF b_upper_windows-TEXCOORD +TextureCoordinate { point [ -2.544 .000505 3.544 .000497 3.205 .9995 -2.205 +.9995 -3.521 .000517 4.521 .000485 4.254 .9995 -3.254 .9995 -1.503 .9974 -1.503 +.000505 2.503 .000499 2.294 .9995 ] } texCoordIndex +[ 0 1 2 3 -1 4 5 6 7 -1 8 9 10 11 -1 ] +} +} +] +}, +DEF pool_outline01 Transform { +translation 2.675 -1.617 4.438 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE b_light2 +geometry DEF pool_outline01-FACES IndexedFaceSet { +solid FALSE +coord DEF pool_outline01-COORD Coordinate { +point [ -4.195 -16.71 -.05878 -3.989 -16.94 -.05878 -11.19 -16.94 -.05878 +-10.97 -16.71 -.05878 -5.151 -6.272 -.05878 -4.942 -6.267 -.05878 -4.942 -12.42 +-.05878 -5.153 -12.39 -.05878 -10.97 -4.986 -.05878 -11.19 -4.802 -.05878 +-6.242 -4.802 -.05878 -6.332 -4.986 -.05878 -4.195 -14.89 -.05878 -3.991 -14.97 +-.05878 -10.97 -16.71 0 -4.195 -16.71 0 -4.195 -14.89 0 -5.153 -12.39 0 -5.151 +-6.272 0 -6.332 -4.986 0 -10.97 -4.986 0 -6.242 -4.802 0 -4.942 -6.267 0 -11.19 +-4.802 0 -11.19 -16.94 0 -4.942 -12.42 0 -3.991 -14.97 0 -3.989 -16.94 0 ] +} +coordIndex [ 0 1 2 3 -1 4 5 6 7 -1 8 9 10 11 -1 4 11 10 5 -1 3 2 9 8 -1 12 7 +6 13 -1 0 12 13 1 -1 14 15 0 3 -1 16 17 7 12 -1 15 16 12 0 -1 18 19 11 4 -1 +17 18 4 7 -1 20 14 3 8 -1 19 20 8 11 -1 21 22 5 10 -1 23 21 10 9 -1 24 23 9 +2 -1 25 26 13 6 -1 22 25 6 5 -1 26 27 1 13 -1 27 24 2 1 -1 ] +texCoord DEF +pool_outline01-TEXCOORD +TextureCoordinate { point [ .01895 .5763 0 .5933 0 0 .01895 .01812 .8789 .4975 +.8793 .5147 .3724 .5147 .3749 .4974 .9848 .01812 1 0 1 .4076 .9848 .4002 .1689 +.5763 .1623 .5931 ] } texCoordIndex +[ 0 1 2 3 -1 4 5 6 7 -1 8 9 10 11 -1 4 11 10 5 -1 3 2 9 8 -1 12 7 6 13 -1 0 +12 13 1 -1 3 0 0 3 -1 12 7 7 12 -1 0 12 12 0 -1 4 11 11 4 -1 7 4 4 7 -1 8 3 +3 8 -1 11 8 8 11 -1 10 5 5 10 -1 9 10 10 9 -1 2 9 9 2 -1 6 13 13 6 -1 5 6 6 +5 -1 13 1 1 13 -1 1 2 2 1 -1 ] +} +} +] +}, +DEF bw_hallway Transform { +translation 2.675 -1.617 4.438 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE blue_wall2 +geometry DEF bw_hallway-FACES IndexedFaceSet { +coord DEF bw_hallway-COORD Coordinate { +point [ 4.487 6.699 -.1149 4.483 6.699 -.003439 7.713 6.702 0 7.713 6.702 +-.1117 3.024 5.242 0 7.713 6.702 -3.3 3.347 5.564 -.1115 3.024 5.242 -3.3 +4.483 6.699 -3.301 7.713 6.702 -3.052 4.488 6.699 -3.054 3.347 5.564 -3.052 +] } +coordIndex [ 9 5 8 10 -1 10 8 11 -1 11 8 7 -1 11 7 4 6 -1 1 0 4 -1 4 0 6 -1 +2 3 0 1 -1 ] texCoord DEF bw_hallway-TEXCOORD +TextureCoordinate { point [ .3122 .03527 .3113 .001541 .9995 .000499 .000499 +.000499 .06932 .03424 .000499 .9992 .3113 .9995 .9995 .9241 .3124 .9247 .9995 +.9992 .06932 .9241 .9995 .0343 ] } texCoordIndex +[ 7 9 6 8 -1 8 6 10 -1 10 6 5 -1 10 5 3 4 -1 1 0 3 -1 3 0 4 -1 2 11 0 1 -1 +] +} +} +] +}, +DEF pool_light2 Transform { +translation 2.675 -1.617 4.438 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE b_light2 +geometry DEF pool_light2-FACES IndexedFaceSet { +solid FALSE +coord DEF pool_light2-COORD Coordinate { +point [ 7.713 6.702 -3.3 6.813 7.635 -4.3 4.483 6.699 -3.301 4.107 7.634 -4.3 +2.124 5.608 -4.3 3.024 5.242 -3.3 ] } +coordIndex [ 0 1 2 -1 2 1 3 -1 3 4 5 -1 3 5 2 -1 ] texCoord DEF pool_light2-TEXCOORD +TextureCoordinate { point [ 1 0 1 1 0 0 0 1 ] } texCoordIndex +[ 0 1 2 -1 2 1 3 -1 1 3 2 -1 1 2 0 -1 ] +} +} +] +}, +DEF pool_rooftop Transform { +translation 2.675 -1.617 4.438 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE outer_wall12 +geometry DEF pool_rooftop-FACES IndexedFaceSet { +coord DEF pool_rooftop-COORD Coordinate { +point [ 2.124 5.608 -4.6 2.129 -17.11 -4.6 -12.21 -17.11 -4.6 -12.21 8.17 +-4.6 4.113 8.172 -4.598 4.107 7.634 -4.6 ] } +coordIndex [ 2 3 0 1 -1 5 0 4 -1 4 0 3 -1 ] texCoord DEF pool_rooftop-TEXCOORD +TextureCoordinate { point [ .3899 .8009 .3898 .5392 .6456 .5392 .6456 .8304 +.3544 .8305 .3545 .8243 ] } texCoordIndex +[ 2 3 0 1 -1 5 0 4 -1 4 0 3 -1 ] +} +} +] +}, +DEF pool_pillar1 Transform { +translation -47.34 -1.617 -39.43 +rotation 0.5773 -0.5774 0.5774 -4.189 +scale 6.19 6.19 6.19 +scaleOrientation 0.9067 0.3159 0.2797 -0.2511 +children [ +Shape +{ +appearance USE pillar2 +geometry DEF pool_pillar1-FACES IndexedFaceSet { +coord DEF pool_pillar1-COORD Coordinate { +point [ 4.243 -7.585 0 4.262 -7.623 0 4.262 -7.623 -.5209 4.243 -7.585 -.5209 +4.243 -7.661 0 4.243 -7.661 -.5209 4.205 -7.672 0 4.205 -7.672 -.5209 4.205 +-7.574 0 4.205 -7.574 -.5209 ] } +coordIndex [ 0 1 2 3 -1 1 4 5 2 -1 4 6 7 5 -1 8 0 3 9 -1 5 7 9 3 -1 2 5 3 +-1 ] texCoord DEF pool_pillar1-TEXCOORD +TextureCoordinate { point [ .6665 .006125 .9995 .006125 .9995 .9667 .6665 +.9667 .00051 .006125 .000513 .9667 .000594 .006125 .000596 .9667 ] } texCoordIndex +[ 0 1 2 3 -1 1 0 3 2 -1 0 4 5 3 -1 6 0 3 7 -1 3 5 7 3 -1 2 3 3 -1 ] +} +} +] +}, +DEF b_hallway_roof Transform { +translation 2.675 -1.617 4.438 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE window +geometry DEF b_hallway_roof-FACES IndexedFaceSet { +solid FALSE +coord DEF b_hallway_roof-COORD Coordinate { +point [ 4.107 7.634 -4.3 6.813 8.17 -4.3 6.813 7.635 -4.3 4.113 8.172 -4.298 +] } +coordIndex [ 0 3 1 -1 0 1 2 -1 ] texCoord DEF b_hallway_roof-TEXCOORD +TextureCoordinate { point [ .9995 .000499 .000499 .9958 .000499 .002358 .9973 +.9995 ] } texCoordIndex +[ 0 3 1 -1 0 1 2 -1 ] +} +} +] +}, +DEF b_hallway_roof1 Transform { +translation 2.675 -1.617 4.438 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE b_ceiling2 +geometry DEF b_hallway_roof1-FACES IndexedFaceSet { +solid FALSE +coord DEF b_hallway_roof1-COORD Coordinate { +point [ 7.713 9.07 -3.3 7.713 6.702 -3.3 6.813 7.635 -4.3 6.813 8.17 -4.3 +4.113 9.07 -3.3 4.113 8.172 -4.298 ] } +coordIndex [ 5 3 0 4 -1 1 0 3 2 -1 ] texCoord DEF b_hallway_roof1-TEXCOORD +TextureCoordinate { point [ .000499 .000499 .9995 .0005 .9995 .9975 .2502 +.9995 .000547 .0005 .6197 .9995 .394 .9995 ] } texCoordIndex +[ 2 3 0 1 -1 4 1 5 6 -1 ] +} +} +] +}, +DEF pool_pillar2 Transform { +translation -36.43 -1.617 47.82 +rotation -1 0.0001018 -0.0001018 -1.571 +scale 6.19 6.19 6.19 +scaleOrientation 0.9067 0.3159 0.2797 -0.2511 +children [ +Shape +{ +appearance USE pillar2 +geometry DEF pool_pillar2-FACES IndexedFaceSet { +coord DEF pool_pillar2-COORD Coordinate { +point [ 4.243 -7.585 0 4.262 -7.623 0 4.262 -7.623 -.5209 4.243 -7.585 -.5209 +4.243 -7.661 0 4.243 -7.661 -.5209 4.205 -7.663 0 4.205 -7.663 -.5209 4.205 +-7.583 0 4.205 -7.583 -.5209 ] } +coordIndex [ 0 1 2 3 -1 1 4 5 2 -1 4 6 7 5 -1 8 0 3 9 -1 5 7 9 3 -1 2 5 3 +-1 ] texCoord DEF pool_pillar2-TEXCOORD +TextureCoordinate { point [ .6665 .006125 .9995 .006125 .9995 .9667 .6665 +.9667 .00051 .006125 .000513 .9667 .000594 .006125 .000596 .9667 ] } texCoordIndex +[ 0 1 2 3 -1 1 0 3 2 -1 0 4 5 3 -1 6 0 3 7 -1 3 5 7 3 -1 2 3 3 -1 ] +} +} +] +}, +DEF outer_bw Transform { +translation 2.675 -1.617 4.438 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE stone_w +geometry DEF outer_bw-FACES IndexedFaceSet { +convex FALSE +coord DEF outer_bw-COORD Coordinate { +point [ 4.487 6.699 -.1149 7.713 6.702 -.1117 7.886 6.489 0 7.886 6.489 -3.3 +7.717 6.489 -.1118 4.552 6.487 -.01921 4.557 6.487 -.1148 3.321 5.254 0 3.321 +5.254 -3.3 3.504 5.437 -.1116 7.713 6.702 -3.3 3.347 5.564 -.1115 3.024 5.242 +-3.3 4.552 6.487 -3.3 4.483 6.699 -3.301 7.713 6.702 -3.052 4.488 6.699 -3.054 +7.717 6.489 -3.052 4.556 6.487 -3.054 3.347 5.564 -3.052 3.504 5.437 -3.052 +] } +coordIndex [ 9 11 0 6 -1 6 0 1 4 -1 20 19 11 9 -1 18 16 19 20 -1 17 15 16 18 +-1 13 14 3 -1 3 14 10 -1 8 12 13 -1 13 12 14 -1 8 13 18 -1 8 18 20 9 -1 8 9 +7 -1 9 6 5 -1 9 5 7 -1 5 6 4 2 -1 17 3 2 4 -1 13 3 17 18 -1 15 1 4 17 -1 15 +17 4 1 -1 ] texCoord DEF outer_bw-TEXCOORD +TextureCoordinate { point [ 0 0 -.08474 -.08417 -.08474 1.075 -.04178 -.04491 +.7614 -.04385 1.076 -.08417 1.076 1.075 1.029 -.04498 -.04178 .9876 .7617 +.9883 .7627 1.075 1.029 .9876 .7627 -.07742 .7604 -.08749 .7781 .05931 -.0373 +.06137 -.03831 -.08611 -.03831 -.07651 -.0373 .07098 .7606 -.07789 .7778 .06891 +.7616 -.07709 .7791 .06971 -.08102 -.0757 -.0373 .07179 1.03 -.07758 1.034 +.06011 .7401 .05769 .7584 -.07903 1.078 -.07758 1.118 .0606 .7591 -.07661 +.7406 .05963 .2592 -.08104 .2806 .06966 -.05451 -.07996 -.05899 .07289 -.06114 +.9885 .07776 .9885 -.06114 -.04044 .07776 -.04048 .9788 -.08741 .9788 .07062 +-.05405 -.08741 -.05401 .07062 ] } texCoordIndex +[ 25 26 27 28 -1 13 14 15 16 -1 37 38 40 39 -1 33 34 36 35 -1 17 18 20 19 +-1 21 22 23 -1 23 22 24 -1 29 30 31 -1 31 30 32 -1 6 10 9 -1 6 9 11 7 -1 6 7 +5 -1 7 4 12 -1 7 12 5 -1 12 4 3 1 -1 8 2 1 3 -1 10 2 8 9 -1 0 0 3 8 -1 41 42 +44 43 -1 ] +} +} +] +}, +DEF b_outer_ledge Transform { +translation 2.675 -1.617 4.438 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance +DEF chsl_3 Appearance +{ +material +Material +{ +diffuseColor 0.4863 0.6118 0.9804 +ambientIntensity 0.16 +specularColor 0.00225 0.00225 0.00225 +shininess 0.07218 +} +} +geometry DEF b_outer_ledge-FACES IndexedFaceSet { +solid FALSE +coord DEF b_outer_ledge-COORD Coordinate { +point [ 7.886 9.205 -3.3 4.113 9.193 -3.3 7.886 6.489 -3.3 3.321 5.254 -3.3 +-13.29 -18.17 -3.3 -13.29 9.205 -3.3 7.713 9.07 -3.3 7.713 6.702 -3.3 3.024 +5.242 -3.3 4.113 9.07 -3.3 -13.11 9.07 -3.3 3.029 -18.01 -3.3 3.325 -18.17 +-3.3 -13.11 -18.01 -3.3 ] } +coordIndex [ 7 6 0 2 -1 11 12 4 13 -1 9 10 5 1 -1 9 1 0 6 -1 8 3 12 11 -1 13 +4 5 10 -1 ] texCoord DEF b_outer_ledge-TEXCOORD +TextureCoordinate { point [ .9315 2.929 1.075 2.926 1.072 -1.843 .9295 -1.876 +-1.186 .06177 -1.248 -.08394 2.21 .06176 2.248 -.08395 4.207 -.0606 4.251 +.03055 -3.251 .03066 -3.214 -.06049 -1.3 -.07785 3.25 -.07792 3.297 .0236 +-1.3 .01465 -2.297 .02369 -2.251 -.07784 .0755 .03447 .0755 .8561 -.07309 +.9029 -.07309 -.03943 ] } +} +} +Shape +{ +appearance USE stone_w +geometry DEF b_outer_ledge-FACES IndexedFaceSet { +coord USE b_outer_ledge-COORD +coordIndex [ 7 6 0 2 -1 11 12 4 13 -1 9 10 5 1 -1 9 1 0 6 -1 8 3 12 11 -1 13 +4 5 10 -1 ] +texCoord USE b_outer_ledge-TEXCOORD +texCoordIndex +[ 18 19 20 21 -1 4 5 7 6 -1 12 13 14 15 -1 12 15 16 17 -1 1 0 3 2 -1 8 9 10 +11 -1 ] +} +} +] +}, +DEF b_outer_walls2 Transform { +translation 2.675 -1.617 4.438 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE outer_wall12 +geometry DEF b_outer_walls-FACES IndexedFaceSet { +coord DEF b_outer_walls-COORD Coordinate { +point [ 7.886 9.205 -3.3 4.113 9.193 -3.3 4.113 9.197 -.009346 7.886 9.205 +0 3.321 5.254 0 3.321 5.254 -3.3 3.325 -18.17 0 -3.172 -18.17 -3.103 -13.29 +-18.16 -3.103 -13.29 -18.17 -3.3 -13.29 9.205 -3.3 -13.29 -4.112 -3.099 -13.29 +9.205 0 -13.29 -18.17 0 3.325 -18.17 -3.3 -13.29 -4.112 -.2093 -13.29 -18.15 +-.209 -3.172 -18.17 -.209 ] } +coordIndex [ 5 4 6 14 -1 8 9 14 -1 6 13 16 -1 7 8 14 -1 6 16 17 -1 17 7 14 6 +-1 9 8 11 10 -1 13 12 15 16 -1 11 15 12 10 -1 2 1 10 12 -1 0 1 2 3 -1 ] +texCoord +DEF b_outer_walls-TEXCOORD +TextureCoordinate { point [ -1.579 .0005 -1.579 .9995 2.579 .000499 2.579 +.9995 -3.348 .9399 -3.348 .9995 2.826 .9995 2.826 .000498 -3.348 .000502 -3.348 +.06377 .4119 .9399 .4119 .06377 -2.306 .9995 -2.304 .9399 3.306 .9995 -2.306 +.000503 3.306 .000497 -2.302 .06377 .576 .9387 .576 .06386 2.15 .003328 2.15 +.9995 -2.063 .000501 -2.063 .9995 3.063 .9995 3.063 .000498 ] } texCoordIndex +[ 1 0 2 3 -1 4 5 6 -1 7 8 9 -1 10 4 6 -1 7 9 11 -1 11 10 6 7 -1 12 13 18 14 +-1 15 16 19 17 -1 18 19 16 14 -1 20 21 23 22 -1 24 21 20 25 -1 ] +} +} +] +}, +DEF pool_floor Transform { +translation 2.675 -1.617 4.438 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE bf +geometry DEF pool_floor-FACES IndexedFaceSet { +convex FALSE +coord DEF pool_floor-COORD Coordinate { +point [ -4.395 -16.51 1.334 -10.77 -16.51 1.334 -5.353 -12.43 1.334 -4.395 +-14.93 1.334 4.113 9.07 -.008259 7.713 9.07 0 7.713 6.702 0 -13.11 9.07 0 +-3.323 9.07 -.004694 -3.323 7.957 0 4.483 6.699 -.003439 -3.323 7.75 -.001913 +3.024 5.242 0 -6.42 -5.186 .5563 -5.351 -6.349 .5563 -10.77 -5.186 .5563 -3.347 +-4.467 0 -13.1 -4.47 0 -11.19 -4.802 0 3.031 -4.47 0 -3.323 -17.98 0 -3.991 +-14.97 0 -4.942 -12.42 0 -4.942 -6.267 0 -3.989 -16.94 0 -13.11 -18.01 0 -11.19 +-16.94 0 -4.195 -16.71 0 -10.97 -16.71 0 -10.77 -16.51 .3379 -4.395 -16.51 +.3379 -5.153 -12.39 0 -4.195 -14.89 0 -4.395 -14.93 .3379 -5.353 -12.43 .3379 +-6.332 -4.986 0 -5.151 -6.272 0 -5.351 -6.349 .3379 -6.42 -5.186 .3379 -10.97 +-4.986 0 -10.77 -5.186 .3379 -6.242 -4.802 0 3.029 -18.01 0 ] } +coordIndex [ 0 1 2 3 -1 4 5 6 -1 7 8 6 -1 7 9 10 -1 7 11 12 -1 14 2 15 -1 13 +14 15 -1 1 15 2 -1 12 16 7 -1 17 7 16 18 -1 19 20 16 12 -1 23 20 21 22 -1 26 +24 25 17 -1 27 28 29 30 -1 33 34 31 32 -1 32 27 30 33 -1 38 35 36 37 -1 37 36 +31 34 -1 28 39 40 29 -1 40 39 35 38 -1 30 29 1 0 -1 34 33 3 2 -1 33 30 0 3 +-1 38 37 14 13 -1 37 34 2 14 -1 29 40 15 1 -1 40 38 13 15 -1 8 4 6 -1 9 6 10 +-1 10 12 11 -1 20 25 24 21 -1 41 18 16 23 -1 18 26 17 -1 19 42 20 -1 16 20 23 +-1 ] texCoord DEF pool_floor-TEXCOORD +TextureCoordinate { point [ .3272 .942 .08773 .942 .2912 .7919 .3272 .8837 +.6466 .00171 .7754 .00171 .7754 .08872 -.000266 .00171 .3674 .00171 .3674 +.04261 .6605 .08885 .3674 .05019 .6057 .1424 .2511 .5256 .2913 .5684 .08773 +.5256 .3665 .4992 .000405 .4993 .07203 .5115 .606 .4993 .3674 .9998 .3423 +.8852 .3066 .7915 .3066 .5654 .3424 .9576 -.000266 1.001 .07203 .9575 .3347 +.9494 .08022 .9494 .2987 .7906 .3347 .8824 .2544 .5183 .2988 .5655 .08022 +.5183 .2578 .5115 .6059 1.001 ] } texCoordIndex +[ 0 1 2 3 -1 4 5 6 -1 7 8 6 -1 7 9 10 -1 7 11 12 -1 14 2 15 -1 13 14 15 -1 1 +15 2 -1 12 16 7 -1 17 7 16 18 -1 19 20 16 12 -1 23 20 21 22 -1 26 24 25 17 +-1 27 28 1 0 -1 3 2 29 30 -1 30 27 0 3 -1 13 31 32 14 -1 14 32 29 2 -1 28 33 +15 1 -1 15 33 31 13 -1 0 1 1 0 -1 2 3 3 2 -1 3 0 0 3 -1 13 14 14 13 -1 14 2 +2 14 -1 1 15 15 1 -1 15 13 13 15 -1 8 4 6 -1 9 6 10 -1 10 12 11 -1 20 25 24 +21 -1 34 18 16 23 -1 18 26 17 -1 19 35 20 -1 16 20 23 -1 ] +} +} +] +}, +DEF pool_cut_window Transform { +translation 2.675 -1.617 4.438 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance +USE chsl_3 +geometry DEF pool_cut_window-FACES IndexedFaceSet { +solid FALSE +coord DEF pool_cut_window-COORD Coordinate { +point [ 4.113 9.197 -.009346 7.886 9.205 0 3.321 5.254 0 3.325 -18.17 0 -3.172 +-18.17 -3.103 -13.29 -18.16 -3.103 -13.29 -4.112 -3.099 -13.11 9.07 0 -13.29 +9.205 0 -13.29 -18.17 0 -13.11 -18.01 0 4.113 9.07 -.008259 3.029 -18.01 0 +7.713 9.07 0 3.024 5.242 0 -13.29 -4.112 -.2093 -13.29 -18.15 -.209 -13.11 +-18.01 -.209 -13.11 -4.112 -3.1 -13.11 -4.112 -.2093 -3.172 -18.01 -3.103 +-13.11 -18.01 -3.103 -3.172 -18.17 -.209 -3.172 -18.01 -.209 ] } +coordIndex [ 8 9 10 7 -1 11 0 7 -1 7 0 8 -1 9 3 12 10 -1 12 3 2 14 -1 20 4 22 +23 -1 17 23 22 16 -1 21 5 4 20 -1 15 19 17 16 -1 15 6 18 19 -1 1 13 11 -1 1 +11 0 -1 6 5 21 -1 6 21 18 -1 ] texCoord DEF pool_cut_window-TEXCOORD +TextureCoordinate { point [ 91.91 0 98.31 0 -225.9 0 -78.49 0 -.0796 1.079 +-35.35 0 -43.58 0 -55.21 0 -72.87 0 -85.31 0 -99.05 0 -110.6 0 -121.1 0 -.0796 +-.07942 .06666 1.079 .06666 -.07942 1.057 1.939 .9301 1.939 1.057 -.9365 .9301 +-.9078 1.057 1.939 1.057 -.9386 .9301 -.9078 .9301 1.939 1.848 .06631 -.8973 +.06633 -.8973 -.03108 1.897 -.01892 1.897 -.02501 -.3142 1.053 -.3142 .9558 +1.314 .9558 1.314 1.053 ] } +} +} +Shape +{ +appearance USE stone_w +geometry DEF pool_cut_window-FACES IndexedFaceSet { +coord USE pool_cut_window-COORD +coordIndex [ 8 9 10 7 -1 11 0 7 -1 7 0 8 -1 9 3 12 10 -1 12 3 2 14 -1 20 4 22 +23 -1 17 23 22 16 -1 21 5 4 20 -1 15 19 17 16 -1 15 6 18 19 -1 1 13 11 -1 1 +11 0 -1 6 5 21 -1 6 21 18 -1 ] +texCoord USE pool_cut_window-TEXCOORD +texCoordIndex +[ 6 7 8 5 -1 9 0 5 -1 5 0 6 -1 7 3 10 8 -1 10 3 2 12 -1 29 30 31 32 -1 24 25 +26 27 -1 24 28 26 25 -1 16 17 19 18 -1 13 4 14 15 -1 1 11 9 -1 1 9 0 -1 16 21 +19 -1 16 19 17 -1 ] +} +} +] +} +] +} +#################### pool_building end +]}#end pool group + + + +DEF elevator_view_outside Viewpoint { +jump TRUE +position -19.102 4.11 -61.31 +orientation 0 1 0 3.13 #0 1 0 .8126 +fieldOfView 0.7854 +} + +DEF elevator Transform{ +children[ + + +DEF elevator_structure Transform { +translation -7.824 0.3324 -6.607 +children [ + + +DEF p_bottom Transform { +translation 10.67 -9.287 -7.783 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE b_ceiling2 +geometry DEF p_bottom-FACES IndexedFaceSet { +coord DEF p_bottom-COORD Coordinate { +point [ -9.153 -9.75 4.9 -12.4 -9.749 4.9 -12.4 -5.97 4.9 -9.153 -5.97 4.9 +] } +coordIndex [ 3 0 1 2 -1 ] texCoord DEF p_bottom-TEXCOORD +TextureCoordinate { point [ -.03299 .07054 -.03299 .9286 1.033 .9295 1.033 +.07054 ] } texCoordIndex +[ 0 3 2 1 -1 ] +} +} +] +}, +DEF p_wall Transform { +translation 10.67 -9.287 -7.783 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE b_ceiling2 +geometry DEF p_wall-FACES IndexedFaceSet { +coord DEF p_wall-COORD Coordinate { +point [ -8.991 -9.937 5.179 -12.57 -9.937 5.179 -8.991 -5.781 5.179 -12.57 +-5.781 5.179 -8.991 -9.937 5.579 -12.57 -9.937 5.579 -8.991 -5.781 5.579 -12.57 +-5.781 5.579 ] } +coordIndex [ 2 3 7 6 -1 1 0 4 5 -1 ] texCoord DEF p_wall-TEXCOORD +TextureCoordinate { point [ -1.438 .9995 2.438 .000497 2.436 .000502 2.438 +.9995 -1.438 .000502 2.436 .9995 -1.438 .000497 ] } texCoordIndex +[ 3 0 4 1 -1 5 0 6 2 -1 ] +} +} +] +}, +DEF p_floor Transform { +translation 10.67 -9.287 -7.783 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE mb_floor5 +geometry DEF p_floor-FACES IndexedFaceSet { +coord DEF p_floor-COORD Coordinate { +point [ -12.4 -9.749 5.179 -9.153 -9.75 5.179 -12.4 -5.97 5.179 -9.153 -5.97 +5.179 ] } +coordIndex [ 1 3 2 0 -1 ] texCoord DEF p_floor-TEXCOORD +TextureCoordinate { point [ .09946 .7988 .9004 .2012 .09946 .2018 .9005 .7988 +] } texCoordIndex +[ 3 0 2 1 -1 ] +} +} +] +}, +DEF platform_0 Transform { +children [ +DEF elvator_platform Transform { +translation 10.67 -9.287 -7.783 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE b_light2 +geometry DEF elvator_platform-FACES IndexedFaceSet { + solid FALSE + convex FALSE + coord DEF elvator_platform-COORD Coordinate { +point [ -12.57 -9.937 4.9 -8.991 -9.937 4.9 -8.991 -9.937 5.179 -12.57 -9.937 +5.179 -8.991 -5.781 4.9 -8.991 -5.781 5.179 -12.57 -5.781 4.9 -12.57 -5.781 +5.179 -12.4 -9.749 5.179 -9.153 -9.75 5.179 -12.4 -5.97 5.179 -9.153 -5.97 +5.179 -8.991 -9.937 5.579 -12.57 -9.937 5.579 -8.991 -5.781 5.579 -12.57 -5.781 +5.579 -12.4 -9.749 5.579 -9.153 -9.75 5.579 -12.4 -5.97 5.579 -9.153 -5.97 +5.579 ] } +coordIndex [ 7 5 4 6 -1 5 2 1 4 -1 19 14 15 13 12 17 16 18 -1 11 9 2 5 -1 2 +3 0 1 -1 10 11 19 18 -1 8 10 18 16 -1 9 8 16 17 -1 11 5 14 19 -1 2 9 17 12 +-1 ] texCoord DEF elvator_platform-TEXCOORD +TextureCoordinate { point [ 2.034 .004364 2.004 -.003365 2.034 -.003363 -1.034 +1.003 -1.031 -.003365 2.034 .9955 -1.031 .9955 -1.003 .004364 2.003 .9955 +-1.003 1.003 -1.034 .004464 2.034 1.003 .9541 .6308 .9128 .4465 .04591 .6308 +.9053 .4409 .05402 .6157 .9054 .6498 .09456 .6505 .946 .4551 -.01717 -.02002 +1.017 -.01999 1.017 .9949 -.01718 .9948 1.017 -.02064 -.01717 -.02051 -.01718 +.9943 1.017 .9942 -1.023 .006709 -1.024 1.006 -1.028 1.006 -1.028 .9933 2.027 +-.005717 -1.028 .006709 2.028 .006709 2.028 1.006 2.024 -.005717 2.023 .9933 +-1.028 -.005717 2.027 .9933 -7.657 .9995 9.467 .000493 8.649 .9995 -8.467 +.000526 ] } texCoordIndex +[ 33 34 35 30 -1 28 36 37 29 -1 13 12 14 16 19 17 18 15 -1 42 40 43 41 -1 38 +32 39 31 -1 4 2 5 6 -1 7 1 8 9 -1 10 0 11 3 -1 20 21 22 23 -1 24 25 26 27 +-1 ] + } +} +DEF plaform_window Transform { +children [ +Shape +{ + appearance +DEF chsl_4 Appearance +{ + material +Material +{ + diffuseColor 0 0.9882 1 + ambientIntensity 0.6719 + specularColor 0.58 0.58 0.58 + shininess 0.2875 + transparency 0.7 + } + } + geometry DEF plaform_window-FACES IndexedFaceSet { +solid FALSE + coord DEF plaform_window-COORD Coordinate { +point [ -9.161 -9.815 5.579 -12.48 -9.815 5.579 -9.161 -5.842 5.579 -12.49 +-5.842 5.579 -9.161 -5.842 13.87 -12.49 -5.842 13.87 -12.48 -9.815 13.87 -9.161 +-9.815 13.87 ] } +coordIndex [ 4 5 3 2 -1 5 6 1 3 -1 6 7 0 1 -1 ] + } + } +] +} +] +} +] +}, +DEF p_bottom2 Transform { +translation 10.67 -9.287 -7.783 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance +USE chsl_4 +geometry DEF p_bottom2-FACES IndexedFaceSet { +solid FALSE +convex FALSE +coord DEF p_bottom2-COORD Coordinate { +point [ -12.57 -9.937 4.9 -8.991 -9.937 4.9 -8.991 -5.781 4.9 -12.57 -5.781 +4.9 -9.153 -9.75 4.9 -12.4 -9.749 4.9 -12.4 -5.97 4.9 -9.153 -5.97 4.9 ] } +coordIndex [ 0 3 2 1 0 5 4 7 6 5 -1 ] +} +} +] +} + + +]} +Transform +{#buttons +children[ +DEF liftTouch TouchSensor{} +DEF p_button2 Transform { +translation -9.5 2.717 -6.596 +rotation -0.5772 -0.5774 0.5774 -2.095 +scale 1.12 1.12 1.12 +children [ +Shape +{ +appearance +DEF chsl_5 Appearance +{ +material +Material +{ +diffuseColor 0.5 0.5 0.5 +ambientIntensity 0.1 +specularColor 0.045 0.045 0.045 +shininess 0.2875 +} +texture +ImageTexture +{ +url "arrow.jpg" +} +} +geometry DEF p_button2-FACES IndexedFaceSet { +coord DEF p_button2-COORD Coordinate { +point [ .3155 .07815 0 .1577 .07815 -.2732 -.1578 .07815 -.2732 -.3155 .07815 +0 -.1578 .07815 .2732 .1577 .07815 .2732 .3156 .1051 0 .1579 .1051 -.2732 +-.1576 .1051 -.2732 -.3154 .1051 0 -.1576 .1051 .2732 .1579 .1051 .2732 ] +} +coordIndex [ 1 0 5 4 3 2 -1 7 6 0 1 -1 8 7 1 2 -1 9 8 2 3 -1 10 9 3 4 -1 11 +10 4 5 -1 6 11 5 0 -1 6 7 8 9 10 11 -1 ] texCoord DEF p_button2-TEXCOORD +TextureCoordinate { point [ .9999 .5 .75 1 .25 1 9.208e-005 .5 .25 0 .75 0 +1 .5 .7501 1 .2502 1 .000276 .5 .2502 0 .7501 0 1.009 .5 .7573 .945 .2545 +.945 .003071 .5 .2545 .055 .7573 .055 ] } texCoordIndex +[ 1 0 5 4 3 2 -1 7 6 0 1 -1 8 7 1 2 -1 9 8 2 3 -1 10 9 3 4 -1 11 10 4 5 -1 6 +11 5 0 -1 12 13 14 15 16 17 -1 ] +} +} +] +} +DEF p_button Transform { +translation -9.5 -2.226 -6.596 +rotation -0.5775 0.5773 -0.5773 -2.094 +scale 1.12 1.12 1.12 +children [ +Shape +{ +appearance +USE chsl_5 +geometry DEF p_button-FACES IndexedFaceSet { +ccw FALSE +coord DEF p_button-COORD Coordinate { +point [ -.3155 -.07815 0 -.1577 -.07815 .2732 .1578 -.07815 .2732 .3155 -.07815 +0 .1578 -.07815 -.2732 -.1577 -.07815 -.2732 -.3156 -.1051 0 -.1579 -.1051 +.2732 .1576 -.1051 .2732 .3154 -.1051 0 .1576 -.1051 -.2732 -.1579 -.1051 +-.2732 ] } +coordIndex [ 1 0 5 4 3 2 -1 7 6 0 1 -1 8 7 1 2 -1 9 8 2 3 -1 10 9 3 4 -1 11 +10 4 5 -1 6 11 5 0 -1 6 7 8 9 10 11 -1 ] texCoord DEF p_button-TEXCOORD +TextureCoordinate { point [ .9999 .5 .75 1 .25 1 9.208e-005 .5 .25 0 .75 0 +1 .5 .7501 1 .2502 1 .000276 .5 .2502 0 .7501 0 1.009 .5 .7573 .945 .2545 +.945 .003071 .5 .2545 .055 .7573 .055 ] } texCoordIndex +[ 1 0 5 4 3 2 -1 7 6 0 1 -1 8 7 1 2 -1 9 8 2 3 -1 10 9 3 4 -1 11 10 4 5 -1 6 +11 5 0 -1 12 13 14 15 16 17 -1 ] +} +} +] +} +]} +############################################################################################# +# Elevator Here +############################################################################################# +DEF lift_platform Transform{ +children[ + +DEF platform_proximity ProximitySensor{ +center -7.75 2.47 -6.6 +size 3.25 4 3.5 +} + +DEF elevator_view_inside Viewpoint { +jump TRUE +position -7.75 2.47 -6.6 +} +DEF activate_elevator Script{ +eventIn SFTime set_active +eventIn SFTime set_unbind +eventIn SFTime set_inactive +field SFNode lift_platform USE lift_platform +field SFNode elevator_view_inside USE elevator_view_inside +field SFNode elevator_view_outside USE elevator_view_outside +field SFVec3f position_out 19.102 4.11 -61.31 +field SFRotation orientation_out 0 1 0 3.13 +field SFNode prox USE platform_proximity +eventOut SFVec3f this_position +eventOut SFRotation this_orientation +eventOut SFBool isActivated +eventOut SFVec3f this_position_out +eventOut SFRotation this_orientation_out +eventOut SFBool isDeactivated +directOutput TRUE +url "vrmlscript: +function set_active(v,t){ + if(prox.isActive){ + //elevator_view_inside.position = Browser.viewpointPosition.subtract(new SFVec3f(0,lift_platform.translation[1],0)); + elevator_view_inside.position = new SFVec3f(Browser.viewpointPosition[0],2.47,Browser.viewpointPosition[2]); + elevator_view_inside.orientation = Browser.viewpointOrientation; + elevator_view_inside.bind = true; + } + if(!prox.isActive && elevator_view_inside.isBound){ + elevator_view_outside.position = Browser.viewpointPosition; + elevator_view_outside.orientation = Browser.viewpointOrientation; + elevator_view_outside.bind = true; + } +} + +function set_unbind(){ +return; + elevator_view_outside.position = Browser.viewpointPosition; + elevator_view_outside.orientation = Browser.viewpointOrientation; + elevator_view_outside.bind = true; +} +" +} +########################################## +DEF m_platform Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +DEF m_platform-POS-INTERP PositionInterpolator { +key [0, 1, ] +keyValue [0 0 0, 0 -4.6 0 ] }, +Shape +{ +appearance USE pool_border +geometry DEF m_platform-FACES IndexedFaceSet { +coord DEF m_platform-COORD Coordinate { +point [ -9.06 -9.865 5.179 -12.5 -9.865 5.179 -12.5 -5.843 5.179 -9.06 -5.843 +5.179 -9.06 -9.865 5.279 -12.5 -9.865 5.279 -12.5 -5.843 5.279 -9.06 -5.843 +5.279 ] } +coordIndex [ 5 4 7 6 -1 1 0 4 5 -1 2 1 5 6 -1 0 3 7 4 -1 3 2 6 7 -1 0 1 2 3 +-1 ] texCoord DEF m_platform-TEXCOORD +TextureCoordinate { point [ 1.01 -.01027 -.01027 1.01 -.009715 -.01027 -.01027 +-.01027 -.009787 1.01 1.01 1.01 -.01027 -.009715 1.01 -.009707 -.009721 1.01 +-.01028 -.01027 -.009787 -.01026 ] } texCoordIndex +[ 3 0 5 4 -1 5 1 6 7 -1 8 9 0 5 -1 0 5 1 2 -1 5 4 10 0 -1 3 0 5 1 -1 ] +} +} +DEF sh_clock14 ReversableClock{cycleInterval .5 isForward FALSE} +DEF toggle14 Toggle{} +DEF toggle14SH SharedToggle{} +]} +]} +]} +Group +{#landscape +children[ +#################### beach +DEF beach Transform { +translation -0.324 0 14.84 +children [ +Shape +{ +appearance USE beach_sand +geometry DEF beach-FACES IndexedFaceSet { creaseAngle 3 +convex FALSE +color +Color { color [ 1 1 1 .6275 .5686 .1647 0 .2314 .8235 .03922 .1333 .4431 .06667 +.4863 .7804 .1451 .3451 .5333 0 .2039 .8627 ] } colorIndex +[ 0 0 0 0 -1 0 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 1 0 1 -1 0 0 1 +-1 0 0 1 -1 0 1 1 -1 1 0 1 -1 0 0 1 -1 0 0 1 -1 0 1 1 -1 0 0 0 0 -1 0 0 0 +-1 0 0 0 -1 1 0 1 -1 0 0 1 -1 0 0 1 -1 0 1 1 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 +0 0 -1 1 0 1 -1 0 0 1 -1 0 0 1 1 -1 0 0 0 -1 1 0 0 1 -1 0 0 0 -1 2 1 2 -1 1 +2 1 -1 2 1 2 -1 1 2 1 -1 2 1 2 -1 1 2 1 -1 2 1 2 -1 1 2 1 -1 2 1 2 -1 1 2 1 +-1 2 1 2 -1 1 2 1 -1 2 1 1 2 -1 1 2 1 -1 3 0 4 -1 0 3 0 -1 2 1 5 -1 1 2 1 +-1 5 0 3 -1 0 5 1 -1 2 1 2 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 +-1 0 0 0 -1 1 1 0 -1 0 1 0 -1 0 1 0 -1 0 1 1 -1 1 1 0 -1 0 1 0 -1 0 1 0 -1 0 +1 1 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 1 1 0 -1 0 1 0 -1 0 1 0 -1 0 1 1 +1 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 1 0 -1 0 1 1 0 -1 0 0 0 -1 1 1 0 +-1 0 1 0 -1 0 0 0 -1 6 6 1 -1 1 1 6 -1 6 6 1 -1 1 1 6 -1 6 6 1 -1 1 1 6 -1 6 +6 1 -1 1 1 6 -1 6 6 1 -1 1 1 6 -1 6 6 1 -1 1 1 6 -1 6 6 1 1 -1 1 1 6 -1 6 6 +0 -1 0 0 6 -1 6 6 1 -1 1 1 6 -1 6 6 0 -1 0 1 6 -1 6 6 1 -1 ] coord DEF beach-COORD +Coordinate { +point [ 28.03 -.005251 29.41 48.28 -.02125 11.29 26.06 -1.255 5.292 44.28 +-1.477 -15.4 62.13 -.01928 -18.49 54.27 -1.449 -35.54 68.98 .03567 -49.55 +58.27 -1.484 -53.2 82.74 0 -79.91 66.84 -1.49 -70.95 14.65 -.01431 34.6 39.11 +-.008969 21.64 13.03 .02814 10.55 26.3 .007548 16.17 35.17 -1.446 -3.705 46.98 +-.3191 -3.572 57.3 -.3414 -29.33 49.52 -1.469 -25.09 56.1 -.01315 -2.31 61.76 +-.3152 -50.64 56.44 -1.484 -45.52 65.76 -.002438 -37.87 73.97 -.1706 -74.77 +61.52 -1.497 -60.81 66.48 -.3363 -61.65 75.62 -.5709 -63.68 13.68 -.002087 +21.25 36.8 .01598 8.703 53.03 -.3244 -16.44 59.9 -.3427 -41.27 13.03 -2.459 +2.32 26.06 -2.459 -2.939 35.17 -2.459 -11.94 42.81 -2.459 -21.85 47.74 -2.459 +-30.53 50.97 -2.447 -39.32 52.88 -2.425 -48.26 55.95 -2.479 -55.88 72.72 -2.459 +-83.74 78.57 -2.46 -80.73 58.79 -2.46 -67.55 62.91 -2.499 -76.5 -28.03 -.005251 +29.41 -48.28 -.02125 11.29 -26.06 -1.255 5.292 -44.28 -1.477 -15.4 -62.13 +-.01928 -18.49 -54.27 -1.449 -35.54 -68.98 .03567 -49.55 -58.27 -1.484 -53.2 +-82.74 0 -79.91 -66.84 -1.49 -70.95 -14.65 -.01431 34.6 -39.11 -.008969 21.64 +-13.03 .02814 10.55 -26.3 .007548 16.17 -35.17 -1.446 -3.705 -46.98 .02361 +-3.572 -57.3 -.5481 -29.33 -49.52 -1.469 -25.09 -56.1 -.01315 -2.31 -61.76 +-.5219 -50.64 -56.44 -1.484 -45.52 -65.76 -.002438 -37.87 -73.97 -1.278 -74.77 +-61.52 -1.497 -60.81 -66.48 -.543 -61.65 -75.62 -.5709 -63.68 -13.68 -.002087 +21.25 -36.8 .01598 8.703 -53.03 .01833 -16.44 -59.9 -.5494 -41.27 -13.03 -2.459 +2.32 -26.06 -2.459 -2.939 -35.17 -2.459 -11.94 -42.81 -2.459 -21.85 -47.74 +-2.459 -30.53 -50.97 -2.447 -39.32 -52.88 -2.425 -48.26 -55.95 -2.479 -55.88 +-72.72 -2.459 -83.74 -78.57 -2.46 -80.73 -58.79 -2.46 -67.55 -62.91 -2.499 +-76.5 ] } +coordIndex [ 11 27 13 0 -1 13 26 10 0 -1 18 28 1 -1 28 15 1 -1 15 27 1 -1 27 +11 1 -1 12 26 2 -1 26 13 2 -1 13 27 2 -1 27 14 2 -1 14 27 3 -1 27 15 3 -1 15 +28 3 -1 28 17 3 -1 16 28 18 4 -1 21 29 4 -1 29 16 4 -1 17 28 5 -1 28 16 5 +-1 16 29 5 -1 29 20 5 -1 19 29 6 -1 29 21 6 -1 25 24 6 -1 24 19 6 -1 20 29 7 +-1 29 19 7 -1 19 24 23 7 -1 22 24 8 -1 23 24 22 9 -1 24 25 8 -1 30 2 31 -1 2 +30 12 -1 31 14 32 -1 14 31 2 -1 32 3 33 -1 3 32 14 -1 33 17 34 -1 17 33 3 +-1 34 5 35 -1 5 34 17 -1 35 20 36 -1 20 35 5 -1 36 7 23 37 -1 7 36 20 -1 38 +8 39 -1 8 38 22 -1 40 9 41 -1 9 40 23 -1 41 22 38 -1 22 41 9 -1 37 23 40 -1 +53 42 69 43 -1 69 42 68 55 -1 68 42 52 -1 60 43 70 -1 70 43 57 -1 57 43 69 +-1 54 44 68 -1 68 44 55 -1 55 44 69 -1 69 44 56 -1 56 45 69 -1 69 45 57 -1 57 +45 70 -1 70 45 59 -1 58 46 70 -1 70 46 60 -1 63 46 71 -1 71 46 58 -1 59 47 70 +-1 70 47 58 -1 58 47 71 -1 71 47 62 49 -1 61 48 71 -1 71 48 63 -1 67 48 66 +-1 66 48 61 -1 71 49 61 -1 61 49 65 66 -1 64 50 66 -1 65 51 66 -1 66 51 64 +-1 66 50 67 -1 72 73 44 -1 44 54 72 -1 73 74 56 -1 56 44 73 -1 74 75 45 -1 45 +56 74 -1 75 76 59 -1 59 45 75 -1 76 77 47 -1 47 59 76 -1 77 78 62 -1 62 47 77 +-1 78 79 65 49 -1 49 62 78 -1 80 81 50 -1 50 64 80 -1 82 83 51 -1 51 65 82 +-1 83 80 64 -1 64 51 83 -1 79 82 65 -1 ] texCoord DEF beach-TEXCOORD +TextureCoordinate { point [ 2.167 -3.988 3.371 -2.482 2.049 -1.983 3.133 -.2626 +4.195 -.005243 3.727 1.412 4.602 2.577 5.42 5.102 4.475 4.357 1.371 -4.42 +2.826 -3.342 1.275 -2.42 2.064 -2.887 2.591 -1.235 3.294 -1.246 3.907 .8964 +3.445 .5431 3.836 -1.351 4.173 2.668 3.856 2.242 4.411 1.606 4.899 4.674 4.159 +3.513 4.453 3.583 4.997 3.752 1.314 -3.31 2.688 -2.266 3.653 -.1761 4.062 +1.889 1.275 -1.736 2.049 -1.298 2.591 -.5503 3.046 .2739 3.339 .9958 3.531 +1.727 3.644 2.47 3.827 3.104 4.824 5.42 -4.172 5.17 3.996 4.074 4.241 4.818 +-1.167 -3.988 -2.371 -2.482 -1.049 -1.983 -2.133 -.2626 -3.195 -.00524 -2.727 +1.412 -3.602 2.577 -2.965 2.881 -4.42 5.102 -3.475 4.357 -.371 -4.42 -.2747 +-2.42 -1.064 -2.887 -1.591 -1.235 -2.294 -1.246 -2.907 .8964 -2.445 .5431 +-2.836 -1.351 -3.173 2.668 -2.856 2.242 -3.411 1.606 -3.899 4.674 -3.159 3.513 +-3.453 3.583 -3.997 3.752 -.3136 -3.31 -1.688 -2.266 -2.653 -.1761 -3.062 +1.889 -.2747 -1.736 -1.049 -1.298 -1.591 -.5503 -2.046 .2739 -2.339 .9958 +-2.531 1.727 -2.644 2.47 -3.824 5.42 5.172 5.17 -2.996 4.074 -3.241 4.818 +3.965 2.881 -1.826 -3.342 -2.827 3.104 ] } texCoordIndex +[ 10 26 12 0 -1 12 25 9 0 -1 17 27 1 -1 27 14 1 -1 14 26 1 -1 26 10 1 -1 11 +25 2 -1 25 12 2 -1 12 26 2 -1 26 13 2 -1 13 26 3 -1 26 14 3 -1 14 27 3 -1 27 +16 3 -1 15 27 17 4 -1 20 28 4 -1 28 15 4 -1 16 27 5 -1 27 15 5 -1 15 28 5 +-1 28 19 5 -1 18 28 6 -1 28 20 6 -1 24 23 6 -1 23 18 6 -1 19 28 81 -1 28 18 +81 -1 18 23 22 81 -1 21 23 7 -1 22 23 21 8 -1 23 24 7 -1 29 2 30 -1 2 29 11 +-1 30 13 31 -1 13 30 2 -1 31 3 32 -1 3 31 13 -1 32 16 33 -1 16 32 3 -1 33 5 +34 -1 5 33 16 -1 34 19 35 -1 19 34 5 -1 35 81 22 36 -1 81 35 19 -1 77 49 38 +-1 7 37 21 -1 39 8 40 -1 8 39 22 -1 40 21 37 -1 21 40 8 -1 36 22 39 -1 82 41 +67 42 -1 67 41 66 53 -1 66 41 51 -1 58 42 68 -1 68 42 55 -1 55 42 67 -1 52 43 +66 -1 66 43 53 -1 53 43 67 -1 67 43 54 -1 54 44 67 -1 67 44 55 -1 55 44 68 +-1 68 44 57 -1 56 45 68 -1 68 45 58 -1 61 45 69 -1 69 45 56 -1 57 46 68 -1 68 +46 56 -1 56 46 69 -1 69 46 60 48 -1 59 47 69 -1 69 47 61 -1 65 47 64 -1 64 47 +59 -1 69 48 59 -1 59 48 63 64 -1 62 49 64 -1 63 50 64 -1 64 50 62 -1 64 49 65 +-1 70 71 43 -1 43 52 70 -1 71 72 54 -1 54 43 71 -1 72 73 44 -1 44 54 72 -1 73 +74 57 -1 57 44 73 -1 74 75 46 -1 46 57 74 -1 75 76 60 -1 60 46 75 -1 76 83 63 +48 -1 48 60 76 -1 37 78 7 -1 49 62 77 -1 79 80 50 -1 50 63 79 -1 80 77 62 +-1 62 50 80 -1 83 79 63 -1 ] +} +} +] +} + +#################### beach end + +#################### b_mountain + +DEF b_mountain2a Transform { +translation -0.324 0 14.84 +children [ +DEF b_mountain-TIMER TimeSensor { loop TRUE cycleInterval 3.733 }, +Shape +{ +appearance USE b_mountain +geometry DEF b_mountain-FACES IndexedFaceSet { +coord DEF b_mountain-COORD Coordinate { +point [ 0 26.23 56.39 0 -.02255 36.53 0 18.94 45.4 34.73 25.53 48.76 57.89 +24.35 28.26 28.03 -.005251 29.41 48.28 -.02125 11.29 62.13 -.01928 -18.49 +68.98 .03567 -49.55 82.74 0 -79.91 76.17 30.41 .915 88.79 31 -38.54 92.99 +.01297 -74.76 18.34 22.99 54.5 47.53 22.78 39.58 14.65 -.01431 34.6 30.99 +19.21 38.19 39.11 -.008969 21.64 52.67 24.82 19.01 56.1 -.01315 -2.31 65.76 +-.002438 -37.87 75.62 -.5709 -63.68 68.86 27.84 -9.929 67.61 26.92 15.96 80.92 +30.09 -48.77 83.05 31.1 -18.52 88.72 .034 -77.53 91.15 25.61 -56.5 16.23 17.02 +43.5 42.82 21 29.88 61.52 25.99 6.017 74.53 34.33 -29.67 83.62 24.78 -62.82 +-34.73 25.53 48.76 -57.89 24.35 28.26 -28.03 -.005251 29.41 -48.28 -.02125 +11.29 -62.13 -.01928 -18.49 -68.98 .03567 -49.55 -82.74 0 -79.91 -76.17 30.41 +.915 -88.79 31 -38.54 -92.99 .01297 -74.76 -18.34 22.99 54.5 -47.53 22.78 +39.58 -14.65 -.01431 34.6 -30.99 19.21 38.19 -39.11 -.008969 21.64 -52.67 +24.82 19.01 -56.1 -.01315 -2.31 -65.76 -.002438 -37.87 -75.62 -.5709 -63.68 +-68.86 27.84 -9.929 -67.61 26.92 15.96 -80.92 30.09 -48.77 -83.05 31.1 -18.52 +-88.72 .034 -77.53 -91.15 25.61 -56.5 -16.23 17.02 43.5 -42.82 21 29.88 -61.52 +25.99 6.017 -74.53 34.33 -29.67 -83.62 24.78 -62.82 ] +} +texCoord DEF b_mountain-TEXCOORD +TextureCoordinate { point [ 7 .7457 7 .01672 7 .5447 .5795 .7279 1.075 .7001 +.6673 .01894 1.256 .02291 1.872 .03023 2.31 .03935 2.519 .04576 1.564 .8762 +2.074 .9022 2.414 .04486 .3004 .6557 .8311 .6534 .3417 .01742 .6182 .5538 +.9645 .02073 1.159 .7156 1.566 .02646 2.173 .03543 2.421 .02584 1.718 .8069 +1.315 .7749 2.226 .8794 1.838 .9002 2.462 .04612 2.257 .756 .3181 .4914 .8896 +.606 1.435 .7513 2.01 .9933 2.36 .7342 6.42 .7279 5.925 .7001 6.333 .01894 +5.744 .02291 5.128 .03023 4.69 .03935 4.481 .04576 5.436 .8762 4.926 .9022 +4.586 .04486 6.7 .6557 6.169 .6534 6.658 .01742 6.382 .5538 6.036 .02073 5.841 +.7156 5.434 .02646 4.827 .03543 4.578 .02584 5.282 .8069 5.685 .7749 4.774 +.8794 5.162 .9002 4.538 .04612 4.743 .756 6.682 .4914 6.11 .606 5.565 .7513 +4.99 .9933 4.64 .7342 0 .7457 0 .5447 0 .01672 ] } coordIndex [ 13 28 0 -1 28 +2 0 -1 14 29 3 -1 29 16 3 -1 16 28 3 -1 28 13 3 -1 23 30 4 -1 30 18 4 -1 18 +29 4 -1 29 14 4 -1 2 28 1 -1 28 15 1 -1 15 28 5 -1 28 16 5 -1 16 29 5 -1 29 +17 5 -1 17 29 6 -1 29 18 6 -1 18 30 6 -1 30 19 6 -1 19 30 7 -1 30 22 7 -1 22 +31 7 -1 31 20 7 -1 20 31 8 -1 31 24 8 -1 24 32 8 -1 32 21 8 -1 22 30 10 -1 30 +23 10 -1 25 31 10 -1 31 22 10 -1 24 31 11 -1 31 25 11 -1 27 32 11 -1 32 24 11 +-1 26 32 12 -1 32 27 12 -1 21 32 9 -1 32 26 9 -1 43 0 58 -1 58 0 2 -1 44 33 +59 -1 59 33 46 -1 46 33 58 -1 58 33 43 -1 53 34 60 -1 60 34 48 -1 48 34 59 +-1 59 34 44 -1 2 1 58 -1 58 1 45 -1 45 35 58 -1 58 35 46 -1 46 35 59 -1 59 35 +47 -1 47 36 59 -1 59 36 48 -1 48 36 60 -1 60 36 49 -1 49 37 60 -1 60 37 52 +-1 52 37 61 -1 61 37 50 -1 50 38 61 -1 61 38 54 -1 54 38 62 -1 62 38 51 -1 52 +40 60 -1 60 40 53 -1 55 40 61 -1 61 40 52 -1 54 41 61 -1 61 41 55 -1 57 41 62 +-1 62 41 54 -1 56 42 62 -1 62 42 57 -1 51 39 62 -1 62 39 56 -1 ] texCoordIndex +[ 13 28 63 -1 28 64 63 -1 14 29 3 -1 29 16 3 -1 16 28 3 -1 28 13 3 -1 23 30 +4 -1 30 18 4 -1 18 29 4 -1 29 14 4 -1 64 28 65 -1 28 15 65 -1 15 28 5 -1 28 +16 5 -1 16 29 5 -1 29 17 5 -1 17 29 6 -1 29 18 6 -1 18 30 6 -1 30 19 6 -1 19 +30 7 -1 30 22 7 -1 22 31 7 -1 31 20 7 -1 20 31 8 -1 31 24 8 -1 24 32 8 -1 32 +21 8 -1 22 30 10 -1 30 23 10 -1 25 31 10 -1 31 22 10 -1 24 31 11 -1 31 25 11 +-1 27 32 11 -1 32 24 11 -1 26 32 12 -1 32 27 12 -1 21 32 9 -1 32 26 9 -1 43 +0 58 -1 58 0 2 -1 44 33 59 -1 59 33 46 -1 46 33 58 -1 58 33 43 -1 53 34 60 +-1 60 34 48 -1 48 34 59 -1 59 34 44 -1 2 1 58 -1 58 1 45 -1 45 35 58 -1 58 35 +46 -1 46 35 59 -1 59 35 47 -1 47 36 59 -1 59 36 48 -1 48 36 60 -1 60 36 49 +-1 49 37 60 -1 60 37 52 -1 52 37 61 -1 61 37 50 -1 50 38 61 -1 61 38 54 -1 54 +38 62 -1 62 38 51 -1 52 40 60 -1 60 40 53 -1 55 40 61 -1 61 40 52 -1 54 41 61 +-1 61 41 55 -1 57 41 62 -1 62 41 54 -1 56 42 62 -1 62 42 57 -1 51 39 62 -1 62 +39 56 -1 ] +} +} +] +} +#################### b_mountain end + +#################### mountain2 + +DEF Sphere02 Transform { +translation -78.6 -0.0105 35.44 +rotation -0.00601 -0.9999 0.01408 -2.335 +children [ +DEF Sphere02-TIMER TimeSensor { loop TRUE cycleInterval 2 }, +Shape +{ +appearance USE b_mountain +geometry DEF Sphere02-FACES IndexedFaceSet { +coord DEF Sphere02-COORD Coordinate { +point [ 5.762 56.38 -15.58 -10.55 49.94 -27.18 -14.04 47.06 -12.87 -8.796 +52.37 1.711 6.793 47.38 6.08 18.5 52.38 2.119 31.23 52.52 -11.33 26.16 52.59 +-27.26 -18.16 17.18 -34.6 -28.91 17.18 -8.632 -33.91 16.78 3.14 15.34 16.68 +10.33 40.23 17.41 5.264 44.52 17.18 -8.632 33.77 17.18 -34.6 ] +} +texCoord DEF Sphere02-TEXCOORD +TextureCoordinate { point [ 5.953 .9772 .7854 .8435 1.483 .7838 2.271 .894 +3.119 .7904 3.763 .8942 4.53 .8971 5.167 .8985 .7812 .1632 1.619 .1632 1.879 +.1548 3.446 .1528 4.113 .1678 4.474 .1632 5.207 .1632 -.1268 .9772 ] } coordIndex +[ 0 1 2 -1 0 2 3 -1 0 3 4 -1 0 4 5 -1 0 5 6 -1 0 6 7 -1 1 8 9 -1 1 9 2 -1 2 +9 10 -1 2 10 3 -1 3 10 11 -1 3 11 4 -1 4 11 12 -1 4 12 5 -1 5 12 13 -1 5 13 +6 -1 6 13 14 -1 6 14 7 -1 ] texCoordIndex +[ 15 1 2 -1 15 2 3 -1 15 3 4 -1 0 4 5 -1 0 5 6 -1 0 6 7 -1 1 8 9 -1 1 9 2 +-1 2 9 10 -1 2 10 3 -1 3 10 11 -1 3 11 4 -1 4 11 12 -1 4 12 5 -1 5 12 13 -1 +5 13 6 -1 6 13 14 -1 6 14 7 -1 ] +} +} +] +} + + +]}#end landscape +Group +{#padio +children[ +#################### pad_floor + +DEF pad_floor2 Transform { +translation -0.324 0 14.84 +children [ +Shape +{ +appearance USE wood_floor +geometry DEF pad_floor-FACES IndexedFaceSet { +color +Color { color [ .9647 .8824 .6627 .851 .7294 .6627 .8745 .7725 .6667 .702 +.5059 .349 ] } colorIndex +[ 0 0 0 -1 0 0 0 1 -1 0 0 0 -1 0 0 0 -1 0 1 3 -1 0 3 0 -1 0 3 2 -1 ] +coord +DEF pad_floor-COORD Coordinate { +point [ 14.65 .6551 34.61 -14.65 .6551 34.7 0 .6468 36.36 .1501 .6992 21.17 +13.03 .6975 10.38 -13.03 .704 10.38 -13.68 .6673 21.09 .1493 .7007 10.38 13.68 +.6673 21.09 ] } +coordIndex [ 0 8 2 -1 3 2 8 4 -1 1 2 6 -1 6 2 3 -1 3 4 7 -1 3 7 6 -1 6 7 5 +-1 ] texCoord DEF pad_floor-TEXCOORD +TextureCoordinate { point [ 2.578 -1.298 -1.578 -1.311 .5 -1.578 .5213 .8521 +2.348 2.578 -1.348 2.578 -1.441 .866 .5212 2.578 2.441 .866 ] } texCoordIndex +[ 0 8 2 -1 3 2 8 4 -1 1 2 6 -1 6 2 3 -1 3 4 7 -1 3 7 6 -1 6 7 5 -1 ] +} +} +] +} + +#################### pad_floor end + +#################### pad_ledge + +DEF pad_ledge Transform { +translation -0.324 0 14.84 +children [ +Shape +{ +appearance USE wood_floor +geometry DEF pad_ledge-FACES IndexedFaceSet { +color +Color { color [ .8471 .6588 .5059 .8824 .9608 0 .9804 .9922 0 .7882 .6863 +0 1 .8471 0 1 .8275 .1333 .6078 .6667 .3765 .6118 .5176 0 1 1 1 .8 .5725 .3686 +.3373 .302 .2431 .749 .7059 .5843 ] } colorIndex +[ 0 2 11 -1 11 6 0 -1 2 1 8 11 -1 5 3 7 -1 7 10 5 -1 4 5 10 9 -1 ] +coord DEF +pad_ledge-COORD Coordinate { +point [ 14.65 -.01431 34.6 13.03 .02814 10.55 13.68 -.002087 21.25 -14.65 +-.01431 34.6 -13.03 .02814 10.55 -13.68 -.002087 21.25 14.65 .6551 34.61 -14.65 +.6551 34.7 13.03 .6975 10.38 -13.03 .704 10.38 -13.68 .6673 21.09 13.68 .6673 +21.09 ] } +coordIndex [ 0 2 11 -1 11 6 0 -1 2 1 8 11 -1 5 3 7 -1 7 10 5 -1 4 5 10 9 -1 +] texCoord DEF pad_ledge-TEXCOORD +TextureCoordinate { point [ -1.747 .3536 .7127 .4018 .7436 .9654 -1.748 .9165 +2.684 .4592 2.715 1.023 .7767 .05075 -1.679 -.02225 -1.696 .5404 .8076 .6144 +2.745 .1249 2.776 .694 ] } texCoordIndex +[ 0 1 2 -1 2 3 0 -1 1 4 5 2 -1 6 7 8 -1 8 9 6 -1 10 6 9 11 -1 ] +} +} +] +} + +#################### pad_ledge end + +#################### pad_slope + +DEF pad_slope Transform { +translation -0.324 0 14.84 +children [ +Shape +{ +appearance USE wood_floor +geometry DEF pad_slope-FACES IndexedFaceSet { +color +Color { color [ .5647 .9451 1 .4157 .6 .4157 .7647 .6392 .4196 1 1 1 .6627 +.5922 .3098 ] } colorIndex +[ 1 4 2 0 -1 1 3 4 -1 ] coord DEF pad_slope-COORD Coordinate { +point [ 13.03 -1.79 2.152 -13.03 -1.79 2.152 13.03 .6975 10.38 -13.03 .704 +10.38 .1493 .7007 10.38 ] } +coordIndex [ 1 4 2 0 -1 1 3 4 -1 ] texCoord DEF pad_slope-TEXCOORD +TextureCoordinate { point [ -1.243 .000501 2.438 .000499 -1.243 .9993 2.438 +.9995 .5768 .9994 ] } texCoordIndex +[ 1 4 2 0 -1 1 3 4 -1 ] +} +} +] +} + +#################### pad_slope end + +#################### pad_slope_ledge + +DEF pad_slop_ledge Transform { +translation -0.324 0 14.84 +children [ +Shape +{ +appearance USE wood_floor +geometry DEF pad_slop_ledge-FACES IndexedFaceSet { +color +Color { color [ 1 1 1 .5255 .698 0 .4392 .8745 .9843 ] } colorIndex +[ 0 0 2 0 -1 1 0 0 0 -1 ] coord DEF pad_slop_ledge-COORD Coordinate { +point [ 13.03 .02814 10.55 13.03 -2.459 2.32 -13.03 .02814 10.55 -13.03 -2.459 +2.32 13.03 -1.79 2.152 -13.03 -1.79 2.152 13.03 .6975 10.38 -13.03 .704 10.38 +] } +coordIndex [ 0 1 4 6 -1 3 2 7 5 -1 ] texCoord DEF pad_slop_ledge-TEXCOORD +TextureCoordinate { point [ .9795 .000499 .9995 .786 .000499 .2119 .02045 +.9975 .000499 .786 .9995 .2119 .02045 .000499 .9795 .9995 ] } texCoordIndex +[ 4 0 5 3 -1 6 1 7 2 -1 ] +} +} +] +} + +#################### pad_slope_ledge end + +################### pad_support + +DEF pad_support Transform { +translation -2.421 0.6517 46.39 +rotation -0.9981 -6.181e-005 -0.06181 -0.002004 +children [ +Shape +{ +appearance USE wood_floor +geometry DEF pad_support-FACES IndexedFaceSet { +color +Color { color [ 1 1 1 .1961 .2196 .7255 ] } colorIndex +[ 0 0 1 1 -1 0 0 1 1 -1 0 0 1 1 -1 0 0 1 1 -1 ] +coord DEF pad_support-COORD +Coordinate { +point [ -.5438 0 .1474 .5438 0 .1474 -.5438 0 -.1474 .5438 0 -.1474 -.5438 +3.563 .1474 .5438 3.563 .1474 -.5438 3.563 -.1474 .5438 3.563 -.1474 ] } +coordIndex [ 0 1 5 4 -1 1 3 7 5 -1 3 2 6 7 -1 2 0 4 6 -1 ] texCoord DEF pad_support-TEXCOORD +TextureCoordinate { point [ .5887 -.2199 .4431 1.22 .4311 1.22 .3298 1.22 +.4161 -.2199 .6697 -.2198 .6702 1.22 .4166 1.22 .4113 -.2198 .5371 -.2196 +.5689 1.22 .3303 -.2196 .5839 -.2197 .5834 1.22 .4629 -.2197 .5569 1.22 ] +} texCoordIndex +[ 4 5 6 7 -1 8 9 10 1 -1 11 12 13 3 -1 14 0 15 2 -1 ] +} +} +] +} + +################### pad_support end + +################### pad_support01 + +DEF pad_support01 Transform { +translation -6.63 0.6517 46.39 +rotation -0.9981 -6.181e-005 -0.06181 -0.002004 +children [ +Shape +{ +appearance USE wood_floor +geometry DEF pad_support01-FACES IndexedFaceSet { +color +Color { color [ 1 1 1 0 .05882 .8275 ] } colorIndex +[ 0 0 1 1 -1 0 0 1 1 -1 0 0 1 1 -1 0 0 1 1 -1 ] +coord DEF pad_support01-COORD +Coordinate { +point [ -.5438 0 .1474 .5438 0 .1474 -.5438 0 -.1474 .5438 0 -.1474 -.5438 +3.563 .1474 .5438 3.563 .1474 -.5438 3.563 -.1474 .5438 3.563 -.1474 ] } +coordIndex [ 0 1 5 4 -1 1 3 7 5 -1 3 2 6 7 -1 2 0 4 6 -1 ] texCoord DEF pad_support01-TEXCOORD +TextureCoordinate { point [ .5887 -.2199 .4431 1.22 .4311 1.22 .3298 1.22 +.4161 -.2199 .6697 -.2198 .6702 1.22 .4166 1.22 .4113 -.2198 .5371 -.2196 +.5689 1.22 .3303 -.2196 .5839 -.2197 .5834 1.22 .4629 -.2197 .5569 1.22 ] +} texCoordIndex +[ 4 5 6 7 -1 8 9 10 1 -1 11 12 13 3 -1 14 0 15 2 -1 ] +} +} +] +} + +################### pad_support01 end + +################### pad_walls + +DEF paddio_back_wall Transform { +translation -0.324 0 14.84 +children [ +DEF paddio_back_wall-TIMER TimeSensor { loop TRUE cycleInterval 3.733 }, +Shape +{ +appearance USE pad_walls +geometry DEF paddio_back_wall-FACES IndexedFaceSet { +color +DEF chsl_6 +Color { color [ .4431 .4824 .1922 .5451 .5333 .1922 .6863 .5922 .2118 1 1 +1 .8078 .5725 .4196 .8196 .7216 .4549 .7804 .6627 .451 .6039 .5098 0 .7608 +.651 .4745 .4157 .5294 .4627 .7608 .7333 .5451 .7725 .6745 .1373 .8431 .6353 +0 .7765 .7333 .5059 .6745 .5529 .3412 .7608 .6627 .4549 .6824 .5333 .4549 +] } coord DEF paddio_back_wall-COORD Coordinate { +point [ 14.5 .6551 34.61 -14.65 .6551 34.7 0 .6468 36.36 .03853 3.171 36.36 +14.54 3.179 34.62 -14.58 3.179 34.7 14.49 .6554 34.31 -14.65 .6554 34.4 -.000886 +.6471 36.06 .03765 3.172 36.06 14.54 3.18 34.32 -14.58 3.18 34.4 14.65 .6515 +34.61 14.69 3.176 34.62 14.65 .6518 34.31 14.69 3.176 34.32 12.91 .6556 10.51 +12.96 3.18 10.52 13.06 .6521 10.51 13.11 3.176 10.52 12.91 .6559 10.41 12.96 +3.18 10.42 13.06 .6523 10.41 13.11 3.177 10.42 6.596 .6897 10.46 6.641 3.214 +10.47 6.596 .6899 10.36 6.641 3.214 10.37 13.95 .6555 26.07 13.99 3.18 26.05 +14.14 3.176 26.04 14.1 .6519 26.06 14.52 3.176 31.7 14.32 .6554 31.73 14.37 +3.18 31.71 14.47 .6518 31.71 13.02 2.926 11.57 13.55 2.947 19.53 13.7 2.944 +19.52 13.17 2.922 11.56 12.99 1.325 11.57 13.15 1.322 11.56 13.52 1.329 19.53 +13.67 1.325 19.52 ] +} +texCoord DEF paddio_back_wall-TEXCOORD +TextureCoordinate { point [ .5044 1.103 4.484 1.107 4.484 -3.342 4.526 1.106 +4.514 -.1221 -3.339 -.1219 -3.341 1.106 -3.508 1.107 4.372 1.108 -3.526 -.1204 +4.37 -.1202 .4938 -.1244 4.472 -.1204 -3.037 -.12 4.05 5.041 5.042 1.106 5.044 +-.1217 -3.255 .9928 -3.109 4.64 5.007 1.106 4.375 1.106 -3.478 1.106 -3.436 +1.108 4.05 5.006 5.009 -.1218 -1.304 -.1034 2.316 5.057 2.316 5.022 4.333 +1.108 -3.466 -.1219 4.363 -.1219 4.102 4.639 -3.247 .2057 -3.424 -.1202 4.321 +-.1202 -3.068 4.636 4.06 4.636 -3.213 .9944 -3.205 .2073 -3.447 1.106 -3.444 +-.1221 4.475 -.1204 4.477 1.107 -3.05 1.108 -3.091 1.106 -3.079 -.1217 4.484 +-3.447 4.526 -3.447 4.526 -3.341 1.85 .9928 4.64 .9824 -.4377 1.106 4.478 +-2.424 4.436 -2.428 4.092 5.007 4.091 5.042 -1.316 1.124 4.333 -.4415 4.375 +-.4377 -2.429 -.1219 -2.424 1.106 -.4439 -.1219 4.639 .2039 1.849 .2057 4.109 +.9824 4.068 .984 4.102 .2039 4.06 .2056 -3.255 1.85 -3.213 1.847 4.247 1.849 +4.205 1.846 .478 .9829 2.886 .9862 2.885 .003707 .4872 .000499 3.996 .9862 +4.011 .003707 -.3072 .8956 1.101 .9862 -2.252 .9863 -2.024 .8873 -2.254 .003809 +2.111 .9995 2.1 .01706 2.326 .003718 2.324 .9862 1.105 .003742 -2.024 .2644 +-.3068 .2658 -3.011 .9862 -3.001 .003707 3.62 .003809 3.631 .9863 .01082 -.1045 +1.016 -.1028 1.014 .001142 .008435 -.000539 0 -.1045 1.006 -.1135 1.009 -.03302 +.002466 -.02397 ] } +} +} +Shape +{ +appearance USE pad_walls +geometry DEF paddio_back_wall-FACES IndexedFaceSet { +color +USE chsl_6 +colorIndex +[ 3 3 4 -1 4 6 3 -1 3 3 6 -1 6 5 3 -1 3 3 3 -1 3 3 3 -1 3 3 7 -1 7 3 3 -1 3 +3 3 -1 3 3 3 -1 1 3 3 -1 3 5 1 -1 2 3 1 -1 1 3 3 -1 3 3 2 -1 3 2 0 -1 11 3 3 +-1 3 12 11 -1 3 3 3 -1 3 3 3 -1 3 0 3 -1 3 3 3 -1 3 3 3 -1 3 3 3 -1 3 3 10 +-1 10 3 3 -1 3 3 3 -1 3 3 3 -1 3 10 3 -1 3 3 3 -1 10 9 12 -1 12 3 10 -1 3 11 +14 -1 14 3 3 -1 8 3 3 -1 3 13 8 -1 3 3 3 -1 3 3 3 -1 3 3 3 -1 3 4 3 -1 3 3 10 +-1 3 3 10 -1 7 3 3 -1 3 3 7 -1 3 8 3 -1 15 3 3 -1 3 8 3 -1 3 16 3 -1 9 10 3 +-1 3 9 3 -1 8 15 3 -1 3 15 3 -1 16 9 3 -1 3 16 3 -1 15 3 3 -1 3 16 3 -1 3 3 +3 -1 3 3 3 -1 3 15 16 -1 3 16 3 -1 3 3 3 -1 3 3 3 -1 3 3 3 -1 3 3 3 -1 3 3 3 +-1 3 3 3 -1 3 3 3 -1 3 3 3 -1 ] +coord USE paddio_back_wall-COORD +texCoord USE paddio_back_wall-TEXCOORD +coordIndex [ 9 10 6 -1 6 8 9 -1 11 9 8 -1 8 7 11 -1 3 4 10 -1 10 9 3 -1 13 12 +14 -1 14 15 13 -1 5 3 9 -1 9 11 5 -1 1 5 11 -1 11 7 1 -1 2 3 1 -1 1 3 5 -1 4 +3 2 -1 4 2 0 -1 20 21 23 -1 23 22 20 -1 10 4 13 -1 13 15 10 -1 4 0 12 -1 12 +13 4 -1 37 29 17 -1 17 36 37 -1 38 39 19 -1 19 30 38 -1 15 32 10 -1 34 10 32 +-1 17 19 23 -1 23 21 17 -1 19 18 22 -1 22 23 19 -1 21 20 26 -1 26 27 21 -1 16 +17 25 -1 25 24 16 -1 17 21 27 -1 27 25 17 -1 33 10 34 -1 33 6 10 -1 17 29 19 +-1 29 30 19 -1 14 35 32 -1 32 15 14 -1 17 16 36 -1 28 29 37 -1 36 16 40 -1 30 +31 38 -1 18 19 39 -1 41 18 39 -1 16 28 40 -1 40 28 42 -1 31 18 41 -1 43 31 41 +-1 28 37 42 -1 38 31 43 -1 32 35 33 -1 32 33 34 -1 29 28 31 -1 29 31 30 -1 39 +36 41 -1 41 36 40 -1 39 38 37 -1 39 37 36 -1 41 40 43 -1 43 40 42 -1 42 37 43 +-1 43 37 38 -1 ] texCoordIndex +[ 72 90 91 -1 91 75 72 -1 76 72 75 -1 75 77 76 -1 98 99 100 -1 100 101 98 +-1 39 40 5 -1 5 6 39 -1 94 95 96 -1 96 97 94 -1 41 42 8 -1 8 10 41 -1 11 0 9 +-1 9 0 7 -1 1 0 11 -1 1 11 12 -1 13 43 44 -1 44 45 13 -1 2 46 47 -1 47 48 2 +-1 1 12 4 -1 4 3 1 -1 78 79 80 -1 80 81 78 -1 49 50 19 -1 19 51 49 -1 48 52 +2 -1 53 2 52 -1 23 54 55 -1 55 14 23 -1 19 24 16 -1 16 15 19 -1 43 13 25 -1 +25 56 43 -1 92 93 83 -1 83 84 92 -1 23 14 26 -1 26 27 23 -1 85 73 86 -1 85 74 +73 -1 23 57 54 -1 57 58 54 -1 5 59 60 -1 60 6 5 -1 80 82 81 -1 87 79 78 -1 81 +82 88 -1 51 61 49 -1 24 19 50 -1 62 24 50 -1 82 87 88 -1 88 87 89 -1 61 24 62 +-1 63 61 62 -1 87 78 89 -1 49 61 63 -1 21 29 33 -1 21 33 22 -1 28 34 30 -1 28 +30 20 -1 64 65 66 -1 66 65 67 -1 18 68 69 -1 18 69 35 -1 31 36 70 -1 70 36 71 +-1 38 37 32 -1 32 37 17 -1 ] +} +} +] +} +################### pad_walls end +################## pad_window_wall01 +DEF pad_window_wall01 Transform { +translation -0.324 0 14.84 +children [ +DEF pad_window_wall01-TIMER TimeSensor { loop TRUE cycleInterval 3.733 }, +Shape +{ +appearance USE pad_walls +geometry DEF pad_window_wall01-FACES IndexedFaceSet { +color +Color { color [ .6784 .6078 .1451 .3529 .2157 .5608 .4392 .349 .6667 .6235 +.5176 .1961 1 1 1 .6 .4745 .7412 .7804 .7451 .8431 .5412 .6863 .7216 .7412 +.6824 .3569 .8353 .7451 .5843 ] } colorIndex +[ 4 4 3 -1 0 3 4 -1 3 1 4 -1 2 0 4 -1 4 2 4 -1 1 2 4 -1 5 1 4 -1 4 1 5 -1 7 +4 4 -1 4 4 7 -1 9 4 8 -1 4 8 4 -1 6 8 4 -1 4 6 4 -1 7 6 4 -1 4 6 4 -1 6 1 8 +-1 8 1 3 -1 4 4 4 -1 4 4 4 -1 4 4 4 -1 4 4 5 -1 2 7 9 -1 2 9 0 -1 4 4 5 -1 4 +5 4 -1 4 4 4 -1 4 4 4 -1 ] +coord DEF +pad_window_wall01-COORD Coordinate { +point [ -13.43 .6673 21.09 -12.78 3.17 10.39 -13.43 3.133 21.09 -12.78 .704 +10.39 -12.85 1.019 11.53 -13.33 1.02 19.48 -13.33 2.935 19.48 -12.85 2.934 +11.52 -13.68 .6673 21.09 -13.03 3.17 10.38 -13.68 3.133 21.09 -13.03 .704 +10.38 -13.58 1.025 19.47 -13.1 1.023 11.51 -13.58 2.94 19.47 -13.1 2.914 11.51 +] +} +texCoord DEF pad_window_wall01-TEXCOORD +TextureCoordinate { point [ .278 -.1397 .000497 1.219 .2781 1.199 .000524 +-.1197 .9229 .0512 .3865 -1.817 .6135 -1.816 .07705 3.105 3.808 -.1397 .278 +1.219 .000524 1.199 .2781 -.1197 .000497 -.1397 .1094 -1.808 .6458 .05352 +.8905 -1.808 .3541 3.113 3.105 .0512 -1.817 .05168 3.808 -.1197 -2.811 -.1397 +3.808 1.219 -2.812 1.199 -1.816 1.092 3.105 1.091 3.808 1.199 2.808 1.094 +2.808 .05445 -2.812 -.1197 -2.113 .05352 -2.811 1.219 -2.113 1.08 .9229 3.105 +.6458 3.113 .6459 1.08 .9229 1.091 .9992 1.099 .000588 1.096 .9994 .05248 +.00076 .04969 ] } coordIndex [ 4 5 3 -1 0 3 5 -1 3 1 4 -1 2 0 5 -1 6 2 5 -1 +1 2 6 -1 7 1 6 -1 4 1 7 -1 10 14 12 -1 12 8 10 -1 8 12 11 -1 13 11 12 -1 9 11 +13 -1 15 9 13 -1 10 9 14 -1 14 9 15 -1 9 1 11 -1 11 1 3 -1 4 13 12 -1 4 12 5 +-1 13 4 15 -1 15 4 7 -1 2 10 8 -1 2 8 0 -1 14 15 7 -1 14 7 6 -1 14 6 12 -1 12 +6 5 -1 ] texCoordIndex +[ 17 18 19 -1 20 19 18 -1 19 21 17 -1 22 20 18 -1 23 22 18 -1 21 22 23 -1 24 +21 23 -1 17 21 24 -1 25 26 27 -1 27 8 25 -1 8 27 28 -1 29 28 27 -1 30 28 29 +-1 31 30 29 -1 25 30 26 -1 26 30 31 -1 9 1 11 -1 11 1 3 -1 32 33 13 -1 32 13 +5 -1 14 4 34 -1 34 4 35 -1 2 10 12 -1 2 12 0 -1 15 16 7 -1 15 7 6 -1 36 37 38 +-1 38 37 39 -1 ] +} +} +] +} +################## pad_window_wall01 end +################## pad_center_wall +DEF pad_center_wall Transform { +translation -0.324 0 14.84 +children [ +DEF pad_center_wall-TIMER TimeSensor { loop TRUE cycleInterval 3.733 }, +Shape +{ +appearance USE pad_walls +geometry DEF pad_center_wall-FACES IndexedFaceSet { +color +Color { color [ .7961 .6235 .5059 1 1 1 .749 .5216 .3373 .4745 .4078 .5569 +.7373 .7059 .7961 .3098 .502 .5373 .7765 .6941 .5922 ] } colorIndex +[ 3 4 6 -1 2 6 4 -1 0 1 3 -1 3 6 0 -1 1 1 0 -1 1 0 5 -1 4 1 5 -1 4 5 2 -1 1 +1 4 -1 1 4 3 -1 ] coord DEF pad_center_wall-COORD Coordinate { +point [ .2095 .6992 21.17 .2075 3.654 21.18 .208 3.654 10.42 .08594 .7007 +10.38 .08678 3.654 21.17 .08662 3.654 10.42 .2087 .7007 10.38 .08694 .6993 +21.17 ] +} +texCoord DEF pad_center_wall-TEXCOORD +TextureCoordinate { point [ -.4333 -.1244 .9829 -.4341 .9871 1.427 .9995 -.1237 +.007295 -.4331 .006083 1.428 .007246 -.1238 .008619 -.1244 1.433 1.124 -.4282 +1.124 1.433 -.1244 -.4341 -.1237 1.434 1.124 .007295 1.124 .9995 -.1244 1.427 +1.124 -.4341 1.124 1.434 -.1238 1.428 1.124 .9939 1.124 ] } coordIndex [ 4 5 +7 -1 3 7 5 -1 0 1 4 -1 4 7 0 -1 2 1 0 -1 2 0 6 -1 5 2 6 -1 5 6 3 -1 1 2 5 +-1 1 5 4 -1 ] texCoordIndex +[ 8 9 10 -1 11 10 9 -1 10 12 8 -1 13 7 14 -1 15 16 0 -1 15 0 17 -1 18 15 17 +-1 19 6 3 -1 1 2 5 -1 1 5 4 -1 ] +} +} +] +} +################## pad_center_wall +################## pad_ceiling +DEF pad_ceiling Transform { +translation -0.324 0.353 14.84 +children [ +Shape +{ +appearance USE blue_pad_ceiling2 +geometry DEF pad_ceiling-FACES IndexedFaceSet { +color +Color { color [ .5412 1 .4784 1 1 1 .4 .9569 .5333 ] } colorIndex +[ 1 1 2 -1 2 0 1 -1 0 2 1 1 -1 1 1 1 -1 1 1 1 -1 1 0 2 -1 2 1 1 -1 0 1 1 2 +-1 1 1 1 1 -1 ] coord DEF pad_ceiling-COORD Coordinate { +point [ -7.792 3.953 21.11 -.936 3.96 21.16 -12.76 2.828 10.39 -13.52 2.677 +21.09 .2106 3.301 21.17 .2105 3.301 10.41 -7.793 3.953 10.38 -.8993 3.961 +10.44 -13.52 2.679 32.13 .111 3.19 32.21 -7.789 3.841 32.15 -1.036 3.848 32.2 +] } +coordIndex [ 3 2 6 -1 6 0 3 -1 0 6 7 1 -1 1 7 5 -1 5 4 1 -1 3 0 10 -1 10 8 3 +-1 0 1 11 10 -1 1 4 9 11 -1 ] texCoord DEF pad_ceiling-TEXCOORD +TextureCoordinate { point [ .2009 .5275 2.259 .5198 -1.346 2.059 -1.545 .5296 +.1965 2.06 .1705 -1.051 -1.575 -1.049 2.575 .5182 2.575 2.056 2.545 -1.06 +2.271 2.052 2.229 -1.058 ] } texCoordIndex +[ 3 2 4 -1 4 0 3 -1 0 4 10 1 -1 1 10 8 -1 8 7 1 -1 3 0 5 -1 5 6 3 -1 0 1 11 +5 -1 1 7 9 11 -1 ] +} +} +] +} +################## pad_ceiling end +################## pad_roof +DEF pad_roof Transform { +translation -0.324 0.353 14.84 +children [ +DEF pad_roof-TIMER TimeSensor { loop TRUE cycleInterval 3.733 }, +Shape +{ +appearance USE rooflc +geometry DEF pad_roof-FACES IndexedFaceSet { +coord DEF pad_roof-COORD Coordinate { +point [ -12.77 3.074 10.39 -13.42 2.939 21.09 .2028 3.449 21.17 .2044 3.449 +10.41 -7.71 4.101 10.38 -.9053 4.109 10.44 -13.52 2.827 32.13 .105 3.338 32.21 +-7.795 3.989 32.15 -1.042 3.996 32.2 ] +} +texCoord DEF pad_roof-TEXCOORD +TextureCoordinate { point [ -.2007 2.963 -.2526 .5203 1.263 .5562 1.242 3.008 +.3619 2.984 1.119 2.999 -.2422 -1.997 1.273 -1.961 .3947 -1.978 1.146 -1.963 +] } coordIndex [ 9 5 8 -1 8 5 4 -1 4 0 1 -1 4 1 6 -1 4 6 8 -1 2 3 5 -1 5 9 7 +-1 5 7 2 -1 ] texCoordIndex +[ 9 5 8 -1 8 5 4 -1 4 0 1 -1 4 1 6 -1 4 6 8 -1 2 3 5 -1 5 9 7 -1 5 7 2 -1 +] +} +} +] +} +################## pad_roof end +################## pad_roof_ledge +DEF pad_roof_ledge Transform { +translation -0.324 0.353 14.84 +children [ +DEF pad_roof_ledge-TIMER TimeSensor { loop TRUE cycleInterval 3.733 }, +Shape +{ +appearance USE blue_pad_ceiling2 +geometry DEF pad_roof_ledge-FACES IndexedFaceSet { +coord DEF pad_roof_ledge-COORD Coordinate { +point [ -12.77 3.074 10.39 -13.42 2.939 21.09 .2028 3.449 21.17 .2044 3.449 +10.41 -7.71 4.101 10.38 -.9053 4.109 10.44 -13.52 2.827 32.13 .105 3.338 32.21 +-7.795 3.989 32.15 -1.042 3.996 32.2 -12.76 2.828 10.39 -13.52 2.677 21.09 +.2106 3.301 21.17 .2105 3.301 10.41 -7.793 3.953 10.38 -.8993 3.961 10.44 +-13.52 2.679 32.13 .111 3.19 32.21 -7.789 3.841 32.15 -1.036 3.848 32.2 ] +} +texCoord DEF pad_roof_ledge-TEXCOORD +TextureCoordinate { point [ 5.693 2.12 -4.677 2.097 -4.678 1.871 5.693 1.894 +3.057 .1325 -2.057 .1317 -2.057 -.1051 3.057 -.1051 .9237 .09595 -.1314 .0912 +-.06818 -.1161 .9868 -.1113 .9673 1.147 .06432 1.137 .008181 .8886 .9111 .8985 +2.161 1.124 -1.2 1.134 -1.203 .9195 2.202 .9086 1.005 1.139 -.01472 1.087 +.007262 .9443 1.014 .869 2.006 .1209 -1.008 .1403 -1.008 -.1018 2.008 -.171 +.9781 1.087 -.02088 1.106 -.02067 .8722 .9782 .9715 1.013 .06337 -.005052 +.0662 -.009156 -.04528 1.009 -.0481 .9986 1.103 .0005 1.092 .001393 .8806 +.9995 .8913 ] } +} +} +Shape +{ +appearance USE pad_walls +geometry DEF pad_roof_ledge-FACES IndexedFaceSet { +coord USE pad_roof_ledge-COORD +texCoord USE pad_roof_ledge-TEXCOORD +coordIndex [ 1 0 10 -1 10 11 1 -1 0 4 14 -1 14 10 0 -1 4 5 15 -1 15 14 4 -1 +5 3 13 -1 13 15 5 -1 3 2 12 -1 12 13 3 -1 8 6 16 -1 16 18 8 -1 6 1 11 -1 11 +16 6 -1 9 8 18 -1 18 19 9 -1 2 7 17 -1 17 12 2 -1 7 9 19 -1 19 17 7 -1 ] texCoordIndex +[ 24 25 26 -1 26 27 24 -1 20 21 22 -1 22 23 20 -1 16 17 18 -1 18 19 16 -1 12 +13 14 -1 14 15 12 -1 4 5 6 -1 6 7 4 -1 32 33 34 -1 34 35 32 -1 28 29 30 -1 30 +31 28 -1 36 37 38 -1 38 39 36 -1 0 1 2 -1 2 3 0 -1 8 9 10 -1 10 11 8 -1 ] +} +} +] +} +################## pad_roof_ledge end +################## pad_left_window +DEF pad_left_window Transform { +translation -25.29 -5.16 15.05 +rotation -0.7901 0.4333 -0.4335 -1.805 +scale 0.9901 0.9901 0.9901 +scaleOrientation 0.001297 -0.0002117 -1 -0.3025 +children [ +DEF pad_left_window-TIMER TimeSensor { loop TRUE cycleInterval 3.733 }, +Shape +{ +appearance USE window +geometry DEF pad_left_window-FACES IndexedFaceSet { +ccw FALSE +solid FALSE +coord DEF pad_left_window-COORD Coordinate { +point [ 22.6 .7506 -6.24 16.05 -4.007 -6.239 16.05 -4.008 -8.19 22.6 .7498 +-8.191 ] +} +texCoord DEF pad_left_window-TEXCOORD +TextureCoordinate { point [ -2.027 .999 3.026 .9995 3.027 .000983 -2.026 .0005 +] } coordIndex [ 2 3 0 -1 0 1 2 -1 ] texCoordIndex +[ 2 3 0 -1 0 1 2 -1 ] +} +} +]} +################## pad_left_window end +################## pad_right_window +DEF pad_right_window Transform { +translation -0.4104 -4.508 16.81 +rotation -0.8349 0.3891 -0.3893 -1.751 +scale 0.9901 0.9901 0.9901 +scaleOrientation 0.001583 0.0001296 1 -0.2739 +children [ +Shape +{ +appearance USE window +geometry DEF pad_right_window-FACES IndexedFaceSet { +ccw FALSE +solid FALSE +coord DEF pad_right_window-COORD Coordinate { +point [ 22.52 .7563 -5.885 16.01 -4.02 -5.884 16.01 -4.02 -7.541 22.52 .7557 +-7.542 ] } +coordIndex [ 2 3 0 1 -1 ] texCoord DEF pad_right_window-TEXCOORD +TextureCoordinate { point [ -2.102 .9995 3.039 .9989 3.039 .000494 -2.102 +.001093 ] } texCoordIndex +[ 2 3 0 1 -1 ] +} +} +] +} +################## pad_right_window end +]}#end padio group +Group +{#bridge +children[ +################## bridge_outer_wall +DEF bridg_outer_wall Transform { +translation 2.848 -4.474 -14.41 +rotation -1 0 0 -3.142 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE outer_wall12 +geometry DEF bridg_outer_wall-FACES IndexedFaceSet { +ccw FALSE +color +Color { color [ 1 1 1 .4667 .5137 .7098 .4353 .4745 .6471 .3059 .2706 .5725 +.3412 .5686 .6549 .04706 .4 .5647 .1765 .4667 .5608 .3098 .3922 .8118 .3804 +.3804 .6275 .6941 .4745 .1922 .7647 .4863 0 .6392 .3608 .1137 .3294 .7804 +.6706 0 .4941 .3961 ] } colorIndex +[ 2 1 0 4 -1 0 3 5 0 -1 4 0 0 6 -1 0 5 7 -1 7 0 0 -1 0 6 0 12 -1 13 0 7 0 +-1 0 9 0 12 -1 10 6 0 0 -1 9 10 0 0 -1 7 11 0 0 -1 8 0 13 0 -1 11 8 0 0 -1 +] coord DEF bridg_outer_wall-COORD Coordinate { +point [ 7.338 -8.947 -15.28 -7.047 -8.947 -15.28 -7.033 -5.186 -15.27 7.407 +-5.183 -15.28 7.336 -8.94 -20.48 -7.049 -8.94 -20.48 -7.035 -5.179 -20.47 +7.406 -5.176 -20.48 3.436 -8.936 -23.38 -3.193 -8.936 -23.38 -3.186 -5.175 +-23.37 3.468 -5.172 -23.38 3.429 -8.919 -40.14 -3.2 -8.919 -40.14 -3.193 -5.159 +-40.13 3.462 -5.156 -40.13 -3.193 -8.271 -27.14 -3.19 -6.145 -27.13 -3.198 +-8.254 -38.07 -3.194 -6.129 -38.06 3.459 -6.146 -27.13 3.44 -8.271 -27.14 +3.436 -8.254 -38.07 3.454 -6.129 -38.06 ] } +coordIndex [ 2 1 5 6 -1 0 3 7 4 -1 6 5 9 10 -1 4 7 11 -1 11 8 4 -1 17 10 9 16 +-1 21 8 11 20 -1 9 13 18 16 -1 14 10 17 19 -1 13 14 19 18 -1 11 15 23 20 -1 +12 8 21 22 -1 15 12 22 23 -1 ] texCoord DEF bridg_outer_wall-TEXCOORD +TextureCoordinate { point [ 4.119 1.022 -3.119 .4555 -1.734 1.021 2.734 1.021 +-1.735 .4544 -.9619 1.02 1.962 1.02 1.964 .4543 -.9623 .4538 3.5 1.018 -2.5 +1.018 .9614 .9203 -1.951 .9177 -1.949 .5978 .03633 .6004 2.949 .5979 4.121 +.4559 2.736 .4549 -3.119 1.022 .9637 .6003 .03863 .9203 -2.498 .4518 3.5 .4513 +2.951 .9178 ] } texCoordIndex +[ 16 0 3 17 -1 18 1 4 2 -1 17 3 6 7 -1 2 4 8 -1 8 5 2 -1 19 7 6 11 -1 20 5 8 +14 -1 6 10 12 11 -1 21 7 19 13 -1 10 21 13 12 -1 8 22 15 14 -1 9 5 20 23 -1 +22 9 23 15 -1 ] +} +} +] +} + +################## bridge_outer_wall end + +################## bridge_floor + +DEF bridge_floor Transform { +translation 2.848 -4.474 -14.41 +rotation -1 0 0 -3.142 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE mb_floor5 +geometry DEF bridge_floor-FACES IndexedFaceSet { +ccw FALSE +color +Color { color [ .3608 .4471 .5412 .2824 .4784 .7686 1 1 1 .5255 .9608 1 .1765 +.4745 .6157 .1451 .4196 .6118 .9882 .9922 .9961 .7921 .8465 .8785 ] } colorIndex +[ 0 1 2 7 -1 2 2 6 2 -1 3 2 5 4 -1 4 5 1 0 -1 2 6 7 2 -1 ] +coord DEF bridge_floor-COORD +Coordinate { +point [ -3.1 -5.287 -23.37 3.336 -5.286 -23.37 -3.107 -5.271 -40.13 3.33 -5.269 +-40.13 -6.846 -5.299 -15.27 6.812 -5.297 -15.27 -6.848 -5.291 -20.47 6.81 +-5.29 -20.47 -3.106 -5.273 -38.57 3.331 -5.272 -38.57 -3.101 -5.285 -27.02 +3.335 -5.283 -27.02 ] } +coordIndex [ 0 1 11 10 -1 3 2 8 9 -1 4 5 7 6 -1 6 7 1 0 -1 9 8 10 11 -1 ] +texCoord DEF bridge_floor-TEXCOORD +TextureCoordinate { point [ .000675 .2021 .9995 .2025 .9993 .3686 .000499 +.3686 .6933 .612 .2896 .6119 .29 .2902 .9283 .7835 .07161 .7834 .0717 .6733 +.9284 .6734 .6937 .2902 .6934 .5527 .2897 .5447 ] } texCoordIndex +[ 4 5 13 12 -1 0 1 2 3 -1 7 8 9 10 -1 10 9 5 4 -1 6 11 12 13 -1 ] +} +} +] +} +################## bridge_floor end + +################## brige_inner_walls + +DEF bridge_inner_walls Transform { +translation 2.848 -4.474 -14.41 +rotation -1 0 0 -3.142 +scale 0.9901 0.9901 0.9901 +children [ +DEF bridge_inner_walls-TIMER TimeSensor { loop TRUE cycleInterval 3.733 }, +Shape +{ +appearance USE blue_wall2 +geometry DEF bridge_inner_walls-FACES IndexedFaceSet { +ccw FALSE +color +Color { color [ 0 .8902 .9216 0 .9176 1 0 1 .9647 0 .898 .9804 .2314 .5765 +.6275 1 1 1 0 .298 .4392 .2118 .6471 .6863 .3216 .9529 .8275 .251 .502 .6784 +.1843 .8353 1 .06667 .5412 .5451 .9961 1 .9608 ] } colorIndex +[ 1 0 4 -1 4 5 1 -1 2 3 5 -1 5 6 2 -1 5 4 7 -1 7 8 5 -1 6 5 10 -1 10 9 6 -1 +5 8 5 -1 7 5 8 -1 5 9 10 -1 10 5 5 -1 7 11 5 -1 5 11 5 -1 12 8 5 -1 5 12 5 +-1 11 12 5 -1 5 11 5 -1 10 5 5 -1 5 5 5 -1 5 9 5 -1 5 5 5 -1 5 5 5 -1 5 5 5 +-1 5 5 5 -1 5 5 1 -1 5 5 5 -1 5 0 5 -1 0 0 5 -1 1 5 0 -1 0 5 5 -1 5 3 5 -1 5 +5 5 -1 5 2 5 -1 3 2 2 -1 3 2 2 -1 3 3 5 -1 5 3 2 -1 2 5 5 -1 ] +coord DEF +bridge_inner_walls-COORD Coordinate { +point [ -6.846 -5.299 -15.27 -6.84 -8.684 -15.28 6.812 -5.297 -15.27 6.812 +-8.684 -15.28 -6.848 -5.291 -20.47 -6.842 -8.677 -20.48 6.81 -5.29 -20.47 +6.81 -8.677 -20.48 -3.1 -5.287 -23.37 -3.097 -8.673 -23.38 3.336 -5.286 -23.37 +3.336 -8.673 -23.38 -3.107 -5.271 -40.13 -3.104 -8.656 -40.13 3.33 -5.269 +-40.13 3.33 -8.656 -40.14 -3.101 -6.146 -27.13 -3.099 -8.271 -27.14 -3.104 +-8.254 -38.07 -3.105 -6.129 -38.06 3.335 -8.271 -27.14 3.335 -6.145 -27.13 +3.33 -8.254 -38.07 3.33 -6.129 -38.06 -1.244 -8.682 -15.25 -5.494 -8.947 -15.25 +5.489 -8.947 -15.25 1.236 -8.682 -15.25 -7.056 -8.947 -15.25 -1.252 -5.296 +-15.23 -7.056 -5.187 -15.24 7.272 -8.947 -15.25 7.405 -8.947 -15.25 -5.993 +-5.186 -15.24 1.236 -5.295 -15.25 -5.527 -5.186 -15.24 7.405 -5.184 -15.25 +7.391 -5.183 -15.25 6.07 -5.183 -15.25 ] +} +texCoord DEF bridge_inner_walls-TEXCOORD +TextureCoordinate { point [ 1.217 .9292 3.367 .9995 -2.187 .9995 -.0366 .9292 +4.156 .9995 1.221 .0306 4.156 .001436 -3.089 .9995 3.619 .001368 -.0366 .03018 +3.383 .001337 -3.156 .9995 -3.156 .00069 -3.15 .000499 -2.481 .000585 -6.036 +.9995 -6.038 .009083 -3.304 .007013 -3.301 .9974 7.037 .008628 7.034 .9995 +4.3 .9974 4.302 .006558 -1.779 .005858 -1.776 .9963 2.775 .9963 2.777 .005402 +.2009 .8786 .1963 .2569 .8037 .2568 .7992 .8786 7.034 .000955 5.948 .252 7.037 +.9914 5.953 .8737 -6.038 .9914 -4.953 .8737 -6.036 .000499 -4.948 .2519 ] +} coordIndex [ 1 0 4 -1 4 5 1 -1 2 3 7 -1 7 6 2 -1 5 4 8 -1 8 9 5 -1 6 7 11 +-1 11 10 6 -1 17 9 16 -1 8 16 9 -1 21 10 11 -1 11 20 21 -1 8 12 16 -1 16 12 +19 -1 13 9 17 -1 18 13 17 -1 12 13 18 -1 19 12 18 -1 11 15 20 -1 20 15 22 +-1 14 10 21 -1 14 21 23 -1 15 14 22 -1 22 14 23 -1 24 25 26 -1 25 24 28 -1 26 +27 24 -1 29 30 24 -1 33 30 29 -1 28 24 30 -1 33 29 35 -1 26 31 27 -1 34 35 29 +-1 34 38 35 -1 32 36 37 -1 32 37 38 -1 31 32 27 -1 27 32 38 -1 38 34 27 -1 +] texCoordIndex +[ 15 16 17 -1 17 18 15 -1 19 20 21 -1 21 22 19 -1 18 17 23 -1 23 24 18 -1 22 +21 25 -1 25 26 22 -1 27 24 28 -1 23 28 24 -1 29 26 25 -1 25 30 29 -1 23 31 28 +-1 28 31 32 -1 33 24 27 -1 34 33 27 -1 31 33 34 -1 32 31 34 -1 25 35 30 -1 30 +35 36 -1 37 26 29 -1 37 29 38 -1 35 37 36 -1 36 37 38 -1 0 1 2 -1 1 0 4 -1 2 +3 0 -1 5 6 0 -1 8 6 5 -1 4 0 6 -1 8 5 10 -1 2 7 3 -1 9 10 5 -1 9 14 10 -1 11 +12 13 -1 11 13 14 -1 7 11 3 -1 3 11 14 -1 14 9 3 -1 ] +} +} +] +} + +################## brige_inner_walls end + +################## bridge_ceiling + +DEF bridge_ceiling Transform { +translation 2.848 -4.474 -14.41 +rotation -1 0 0 -3.142 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE b_ceiling2 +geometry DEF bridge_ceiling-FACES IndexedFaceSet { +ccw FALSE +color +Color { color [ 1 1 1 .5137 .6667 .7176 .4275 .7333 .8118 .251 .4941 .6078 +] } colorIndex +[ 0 0 1 0 -1 0 1 0 2 -1 2 0 3 0 -1 ] +coord DEF bridge_ceiling-COORD Coordinate +{ +point [ -6.84 -8.684 -15.28 6.812 -8.684 -15.28 -6.842 -8.677 -20.48 6.81 +-8.677 -20.48 -3.097 -8.673 -23.38 3.336 -8.673 -23.38 -3.104 -8.656 -40.13 +3.33 -8.656 -40.14 ] } +coordIndex [ 1 0 2 3 -1 3 2 4 5 -1 5 4 6 7 -1 ] texCoord DEF bridge_ceiling-TEXCOORD +TextureCoordinate { point [ -1.712 3.05 -1.713 2.088 -.4991 1.552 1.584 -1.547 +2.713 3.049 2.712 2.088 1.586 1.551 -.5013 -1.546 ] } texCoordIndex +[ 4 0 1 5 -1 5 1 2 6 -1 6 2 7 3 -1 ] +} +} +] +} +################## bridge_ceiling end + +################## bridge_roof + +DEF bridge_roof Transform { +translation 2.991 5.013 13.02 +children [ +DEF bridge_roof-TIMER TimeSensor { loop TRUE cycleInterval 3.733 }, +DEF bridge_rooftop2 Transform { +translation -0.143 -9.487 -27.43 +rotation -1 0 0 -3.142 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE rooflc +geometry DEF bridge_rooftop2-FACES IndexedFaceSet { +ccw FALSE +coord DEF bridge_rooftop2-COORD Coordinate { +point [ 5.737 -10.24 -16.88 -5.448 -10.24 -16.88 5.736 -10.24 -19.67 -5.449 +-10.24 -19.68 1.837 -10.24 -22.57 -1.592 -10.24 -22.58 1.83 -10.22 -38.54 +-1.599 -10.22 -38.54 ] } +coordIndex [ 1 0 2 3 -1 3 2 4 5 -1 5 4 6 7 -1 ] texCoord DEF bridge_rooftop2-TEXCOORD +TextureCoordinate { point [ 1.766 .9986 1.765 .003273 -.8468 .9967 -.8468 +.001377 1.264 .9976 -.2243 .9995 .2947 .002492 .7512 .000499 1.344 1.009 -.3442 +1.009 -.344 .0122 1.344 .01019 ] } texCoordIndex +[ 8 9 10 11 -1 4 5 6 7 -1 1 0 2 3 -1 ] +} +} +] +}, +DEF bridge_rooftop Transform { +translation -0.143 -9.487 -27.43 +rotation -1 0 0 -3.142 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE rooflc +geometry DEF bridge_rooftop-FACES IndexedFaceSet { +ccw FALSE +coord DEF bridge_rooftop-COORD Coordinate { +point [ 7.338 -8.947 -15.28 -7.047 -8.947 -15.28 7.336 -8.94 -20.48 -7.049 +-8.94 -20.48 3.436 -8.936 -23.38 -3.193 -8.936 -23.38 3.429 -8.919 -40.14 +-3.2 -8.919 -40.14 5.737 -10.24 -16.88 -5.448 -10.24 -16.88 5.736 -10.24 -19.67 +-5.449 -10.24 -19.68 1.837 -10.24 -22.57 -1.592 -10.24 -22.58 1.83 -10.22 +-38.54 -1.599 -10.22 -38.54 ] } +coordIndex [ 6 7 15 14 -1 3 1 9 11 -1 1 0 8 9 -1 0 2 10 8 -1 5 3 11 13 -1 2 +4 12 10 -1 4 6 14 12 -1 7 5 13 15 -1 ] texCoord DEF bridge_rooftop-TEXCOORD +TextureCoordinate { point [ -.04945 -.004755 1.049 -.004688 .2157 .7931 .7841 +.7932 -.8275 .2379 1.961 .2049 1.695 .9842 -.961 1.016 -.5992 .2408 1.432 +.2581 1.529 .989 -.4055 .9726 .264 .2513 .83 .2535 .736 .9813 .17 .9791 .4337 +1.148 1.018 1.143 .8375 .4062 .5229 .4086 -.2373 .8631 1.892 .8631 1.655 1.588 +-.000464 1.588 -.4335 .2448 .2153 .2424 .3229 1.016 -.3258 1.018 -.3092 .2665 +.6892 .2624 .5356 1.014 -.001159 1.017 ] } texCoordIndex +[ 0 1 3 2 -1 16 17 18 19 -1 20 21 22 23 -1 28 29 30 31 -1 12 13 14 15 -1 24 +25 26 27 -1 4 5 6 7 -1 8 9 10 11 -1 ] +} +} +] +} +] +} + +################## bridge_roof end + +################## bridge_ledge + +DEF bridge_ledge Transform { +translation 2.848 -4.474 -14.41 +rotation -1 0 0 -3.142 +scale 0.9901 0.9901 0.9901 +children [ +DEF bridge_ledge-TIMER TimeSensor { loop TRUE cycleInterval 3.733 }, +Shape +{ +appearance USE blue_wall2 +geometry DEF bridge_ledge-FACES IndexedFaceSet { +ccw FALSE +color +Color { color [ .8745 .7608 .5804 1 1 1 .5529 .5059 0 .6941 .4353 .1569 ] +} colorIndex +[ 0 1 1 -1 2 1 1 -1 1 1 2 -1 1 2 3 -1 0 0 1 -1 1 0 1 -1 0 1 3 -1 0 3 1 -1 1 +1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 +-1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 ] coord +DEF bridge_ledge-COORD Coordinate { +point [ 3.429 -8.919 -40.14 -3.2 -8.919 -40.14 -3.193 -5.159 -40.13 3.462 +-5.156 -40.13 -3.107 -5.271 -40.13 -3.104 -8.656 -40.13 3.33 -5.269 -40.13 +3.33 -8.656 -40.14 -3.193 -8.271 -27.14 -3.19 -6.145 -27.13 -3.101 -6.146 +-27.13 -3.099 -8.271 -27.14 -3.198 -8.254 -38.07 -3.104 -8.254 -38.07 -3.194 +-6.129 -38.06 -3.105 -6.129 -38.06 3.459 -6.146 -27.13 3.44 -8.271 -27.14 +3.335 -8.271 -27.14 3.335 -6.145 -27.13 3.436 -8.254 -38.07 3.33 -8.254 -38.07 +3.454 -6.129 -38.06 3.33 -6.129 -38.06 ] +} +texCoord DEF bridge_ledge-TEXCOORD +TextureCoordinate { point [ 4.695 1.003 4.686 .9355 -4.054 1.002 -4.063 .9342 +5.785 .00701 -4.785 .005841 5.785 .03705 -4.785 .03587 -2.082 .9929 -2.081 +.9354 3.082 .9347 3.081 1.002 3.051 -.07873 3.052 -.00458 -2.051 -.004599 +-2.052 -.06784 -4.069 .9895 -4.069 .9239 5.061 .9927 5.061 .9271 -4.061 .9226 +-4.061 .9922 5.069 .9954 5.069 .9259 -2.091 -.01398 -2.091 -.06405 3.053 -.01607 +3.052 -.06328 3.087 -.07478 3.087 -.001607 -2.087 -.004631 -2.087 -.07363 +4.066 .9995 3.963 .9298 4.059 .001277 3.966 .03107 -3.087 .000499 -2.945 .03066 +-3.052 .9995 -2.945 .9298 ] } coordIndex [ 1 5 2 -1 4 2 5 -1 3 2 4 -1 3 4 6 +-1 1 0 5 -1 5 0 7 -1 0 3 6 -1 0 6 7 -1 19 16 22 -1 19 22 23 -1 16 19 18 -1 16 +18 17 -1 20 17 21 -1 21 17 18 -1 20 21 23 -1 20 23 22 -1 9 10 14 -1 14 10 15 +-1 8 11 9 -1 9 11 10 -1 11 8 12 -1 11 12 13 -1 13 12 14 -1 13 14 15 -1 ] texCoordIndex +[ 32 33 34 -1 35 34 33 -1 36 34 35 -1 36 35 37 -1 32 38 33 -1 33 38 39 -1 38 +36 37 -1 38 37 39 -1 1 0 2 -1 1 2 3 -1 12 13 14 -1 12 14 15 -1 4 5 6 -1 6 5 +7 -1 8 9 10 -1 8 10 11 -1 16 17 18 -1 18 17 19 -1 24 25 26 -1 26 25 27 -1 20 +21 22 -1 20 22 23 -1 28 29 30 -1 28 30 31 -1 ] +} +} +] +} + +################## bridge_ledge end + +################## bridge_windows + +DEF bridge_left_window Transform { +translation -13.03 -4.213 3.823 +rotation -0.8144 0.4103 -0.4105 -1.775 +scale 0.9901 0.9901 0.9901 +scaleOrientation 0.01483 -0.001584 0.9999 -0.02987 +children [ +Shape +{ +appearance USE window +geometry DEF bridge_left_window-FACES IndexedFaceSet { +ccw FALSE +solid FALSE +coord DEF bridge_left_window-COORD Coordinate { +point [ 23.44 1.362 -5.859 14.65 -5.145 -5.857 14.65 -5.146 -7.987 23.44 1.362 +-7.99 ] } +coordIndex [ 2 3 0 1 -1 ] texCoord DEF bridge_left_window-TEXCOORD +TextureCoordinate { point [ -3.033 .9987 4.033 .9983 4.033 .001317 -3.033 +.001668 ] } texCoordIndex +[ 2 3 0 1 -1 ] +} +} +] +} +DEF bridge_windows Transform { +translation 6.263 2.642 17.87 +children [ +DEF bridge_windows-TIMER TimeSensor { loop TRUE cycleInterval 3.733 }, +DEF bridge_right_window_ Transform { +translation -12.72 -6.855 -14.04 +rotation -0.8144 0.4103 -0.4105 -1.775 +scale 0.9901 0.9901 0.9901 +scaleOrientation 0.01483 -0.001584 0.9999 -0.02987 +children [ +Shape +{ +appearance USE window +geometry DEF bridge_right_window_-FACES IndexedFaceSet { +ccw FALSE +solid FALSE +coord DEF bridge_right_window_-COORD Coordinate { +point [ 23.44 1.362 -5.859 14.65 -5.139 -5.857 14.65 -5.14 -7.987 23.44 1.362 +-7.99 ] } +coordIndex [ 2 3 0 1 -1 ] texCoord DEF bridge_right_window_-TEXCOORD +TextureCoordinate { point [ -3.033 .9987 4.033 .9983 4.033 .001317 -3.033 +.001668 ] } texCoordIndex +[ 2 3 0 1 -1 ] +} +} +] +} +] +} + +################## bridge_windows end +]}#end bridge group + + +##################pier + +DEF pier Transform { +translation -51.74 -0.178 -47.39 +children [ +DEF rail Transform { +translation -8.392 -0.7835 3.766 +rotation 0 -1 0 -0.3054 +children [ +Shape +{ +appearance USE wood_rail +geometry DEF rail-FACES IndexedFaceSet { +solid FALSE +coord DEF rail-COORD Coordinate { +point [ -3.769 .2374 2.578 11.01 .6764 2.578 -3.769 .2374 -1.097 11.01 .6764 +-1.097 11.01 .6764 8.478 11.01 .6764 -6.997 15.82 .6764 8.478 15.82 .6764 +-6.997 17.14 .3346 8.478 17.14 .3346 -6.997 18.94 .3346 2.578 18.94 .3346 +-1.097 18.94 .3346 8.478 18.94 .3346 -6.997 10.99 1.523 2.658 -3.795 1.084 +2.658 -3.764 1.128 -1.117 11.02 1.567 -1.117 10.99 1.523 8.558 15.79 1.523 +8.558 15.82 1.567 -7.017 11.02 1.567 -7.017 17.12 1.181 8.558 17.15 1.225 +-7.017 18.95 1.225 -1.117 18.95 1.225 -7.017 18.92 1.181 8.558 18.92 1.181 +2.658 -3.768 .228 2.677 -3.795 1.074 2.757 -3.668 .2312 2.677 -3.695 1.077 +2.757 -3.669 .2406 2.61 -3.695 1.087 2.69 -3.764 1.126 -1.217 -3.769 .2352 +-1.197 -3.664 1.125 -1.217 -3.669 .2347 -1.197 -3.664 1.128 -1.178 -3.669 +.2369 -1.159 ] +} +texCoord DEF rail-TEXCOORD +TextureCoordinate { point [ 3.367 -.3505 3.367 1.351 3.367 4.081 -2.367 .3512 +3.367 .3512 3.367 -3.081 .005025 .000557 6.076 .000518 6.109 .9995 .03879 +.9995 7.747 .000514 7.781 .9995 10.02 .000497 10.05 .9994 3.962 .000354 10.05 +.000244 10.05 .9991 3.968 .9992 2.285 .000364 2.292 .9992 .005028 .000402 +.01127 .9993 -9.51 .000498 -1.926 .000498 -1.901 .9995 -9.485 .9995 -3.408 +.000498 4.516 .000498 -3.516 .9995 4.408 .9995 -4.814 .05171 5.81 -.01043 +-4.811 1.068 5.813 1.005 -4.95 .0169 5.93 .07331 -4.929 .9864 5.951 1.043 +] } coordIndex [ 15 14 0 -1 1 0 14 -1 17 16 3 -1 2 3 16 -1 14 18 1 -1 4 1 18 +-1 18 19 6 -1 6 4 18 -1 20 21 5 -1 5 7 20 -1 21 17 3 -1 3 5 21 -1 19 22 6 +-1 8 6 22 -1 23 20 7 -1 7 9 23 -1 24 25 13 -1 13 11 24 -1 25 23 9 -1 9 13 25 +-1 27 26 10 -1 12 10 26 -1 22 26 8 -1 12 8 26 -1 28 29 15 -1 15 0 28 -1 30 31 +29 -1 29 28 30 -1 32 33 31 -1 31 30 32 -1 34 35 2 -1 2 16 34 -1 36 37 35 -1 +35 34 36 -1 38 39 37 -1 37 36 38 -1 ] texCoordIndex +[ 30 31 32 -1 33 32 31 -1 34 35 36 -1 37 36 35 -1 26 27 28 -1 29 28 27 -1 6 +7 8 -1 8 9 6 -1 14 15 16 -1 16 17 14 -1 22 23 24 -1 24 25 22 -1 7 10 8 -1 11 +8 10 -1 18 14 17 -1 17 19 18 -1 1 2 2 -1 2 1 1 -1 20 18 19 -1 19 21 20 -1 0 +5 0 -1 5 0 5 -1 10 12 11 -1 13 11 12 -1 3 3 3 -1 3 3 3 -1 3 3 3 -1 3 3 3 -1 +3 3 3 -1 3 3 3 -1 4 4 4 -1 4 4 4 -1 4 4 4 -1 4 4 4 -1 4 4 4 -1 4 4 4 -1 ] +} +} +] +}, +DEF rail01 Transform { +translation -8.392 -0.7835 3.766 +rotation 0 -1 0 -0.3054 +children [ +Shape +{ +appearance USE wood_floor +geometry DEF rail01-FACES IndexedFaceSet { +solid FALSE +coord DEF rail01-COORD Coordinate { +point [ 18.94 .3346 2.578 18.94 .3346 -1.097 10.99 1.523 2.658 -3.795 1.084 +2.658 -3.764 1.128 -1.117 11.02 1.567 -1.117 10.99 1.523 8.558 15.79 1.523 +8.558 15.82 1.567 -7.017 11.02 1.567 -7.017 17.12 1.181 8.558 17.15 1.225 +-7.017 18.95 1.225 -1.117 18.95 1.225 -7.017 18.92 1.181 8.558 18.92 1.181 +2.658 10.92 1.566 -1.218 -3.764 1.126 -1.217 -3.795 1.074 2.757 10.89 1.516 +2.758 10.92 1.566 -7.117 15.82 1.565 -7.117 10.89 1.516 8.657 15.79 1.513 +8.657 17.15 1.223 -7.117 19.05 1.224 -7.116 19.05 1.225 -1.117 19.02 1.184 +2.658 19.02 1.178 8.657 17.11 1.171 8.657 19.04 .3378 2.578 19.04 .3341 -1.097 +] +} +texCoord DEF rail01-TEXCOORD +TextureCoordinate { point [ -2.765 -.2551 3.765 -2.792 1.47 -.2886 -2.795 +-.2886 -2.786 1.288 1.479 1.288 1.47 -2.754 2.856 -2.754 2.865 3.753 1.479 +3.753 3.238 -2.754 3.247 3.753 3.766 1.969 3.766 3.753 3.757 -2.754 -2.757 +-.2886 1.45 1.331 -2.786 1.33 -2.795 -.3302 1.441 -.3304 1.45 3.795 2.865 +3.795 1.441 -2.795 2.856 -2.795 3.247 3.795 3.795 3.795 3.795 1.966 -2.786 +-.2886 3.786 -2.795 3.237 -2.795 -2.794 -.2551 3.794 -2.795 3.795 1.288 3.766 +1.288 3.786 -.2886 3.757 -.2886 ] } coordIndex [ 16 17 4 -1 4 5 16 -1 18 19 +2 -1 2 3 18 -1 20 16 5 -1 5 9 20 -1 21 20 9 -1 9 8 21 -1 19 22 6 -1 6 2 19 +-1 22 23 7 -1 7 6 22 -1 24 21 8 -1 8 11 24 -1 25 24 11 -1 11 13 25 -1 26 25 +13 -1 13 12 26 -1 28 27 14 -1 15 14 27 -1 23 29 10 -1 10 7 23 -1 29 28 14 +-1 14 10 29 -1 30 27 15 -1 15 0 30 -1 31 26 12 -1 12 1 31 -1 ] texCoordIndex +[ 16 17 4 -1 4 5 16 -1 18 19 2 -1 2 3 18 -1 20 16 5 -1 5 9 20 -1 21 20 9 -1 +9 8 21 -1 19 22 6 -1 6 2 19 -1 22 23 7 -1 7 6 22 -1 24 21 8 -1 8 11 24 -1 25 +24 11 -1 11 13 25 -1 32 25 13 -1 13 33 32 -1 28 34 14 -1 35 14 34 -1 23 29 10 +-1 10 7 23 -1 29 28 14 -1 14 10 29 -1 30 27 15 -1 15 0 30 -1 31 26 12 -1 12 +1 31 -1 ] +} +} +] +}, +DEF Box04 Transform { +translation -8.392 -0.7835 3.766 +rotation 0 -1 0 -0.3054 +children [ +Shape +{ +appearance USE wood_floor +geometry DEF Box04-FACES IndexedFaceSet { +solid FALSE +coord DEF Box04-COORD Coordinate { +point [ -3.14 0 2.578 11.01 .4389 2.578 -3.14 0 -1.097 11.01 .4389 -1.097 +-3.769 .2374 2.578 11.01 .6764 2.578 -3.769 .2374 -1.097 11.01 .6764 -1.097 +15.82 .6764 2.578 15.82 .6764 -1.097 11.01 .4389 8.478 11.01 .4389 -6.997 +11.01 .6764 8.478 11.01 .6764 -6.997 15.82 .4389 8.478 15.82 .4389 -6.997 +15.82 .6764 8.478 15.82 .6764 -6.997 17.14 .3346 2.578 17.14 .3346 -1.097 +17.14 .09722 8.478 17.14 .09722 -6.997 17.14 .3346 8.478 17.14 .3346 -6.997 +18.94 .09722 2.578 18.94 .09722 -1.097 18.94 .3346 2.578 18.94 .3346 -1.097 +18.94 .09722 8.478 18.94 .09722 -6.997 18.94 .3346 8.478 18.94 .3346 -6.997 +] +} +texCoord DEF Box04-TEXCOORD +TextureCoordinate { point [ -1.647 .1857 .7721 .5936 2.647 .1857 .2279 .5936 +-1.773 .4064 1.186 .2279 2.773 .4064 1.186 .7721 2.148 .2279 2.148 .7721 1.646 +.5936 -.6457 .5936 1.186 -.6457 1.186 1.646 2.148 .5936 -1.148 .5936 2.148 +-.6457 2.148 1.646 2.413 .2279 2.413 .7721 2.413 .2761 -1.413 .2761 2.413 +.4967 2.413 1.646 .2279 .2761 .7721 .2761 2.773 .2279 2.773 .7721 2.773 .2761 +-1.773 .2761 2.773 .4967 2.773 1.646 -1.773 .2279 -1.773 .7721 1.186 .5936 +1.186 .8143 .7721 .4967 .2279 .4967 -.1861 .5936 -.1861 .8143 2.148 .8143 +-1.148 .8143 .7721 .8143 1.646 .8143 1.646 .2761 1.646 .4967 -.6457 .4967 +-.6457 .2761 .2279 .8143 -.6457 .8143 -1.413 .4967 2.413 -.6457 -1.773 .4967 +2.773 -.6457 ] } coordIndex [ 4 5 7 -1 7 6 4 -1 0 1 5 -1 5 4 0 -1 24 25 27 +-1 27 26 24 -1 3 2 6 -1 6 7 3 -1 7 5 8 -1 8 9 7 -1 12 10 14 -1 14 16 12 -1 11 +13 17 -1 17 15 11 -1 5 1 10 -1 10 12 5 -1 27 25 29 -1 29 31 27 -1 24 26 30 +-1 30 28 24 -1 3 7 13 -1 13 11 3 -1 8 5 12 -1 12 16 8 -1 7 9 17 -1 17 13 7 +-1 9 8 18 -1 18 19 9 -1 16 14 20 -1 20 22 16 -1 15 17 23 -1 23 21 15 -1 17 9 +19 -1 19 23 17 -1 8 16 22 -1 22 18 8 -1 19 18 26 -1 26 27 19 -1 21 23 31 -1 +31 29 21 -1 23 19 27 -1 27 31 23 -1 18 22 30 -1 30 26 18 -1 22 20 28 -1 28 30 +22 -1 ] texCoordIndex +[ 32 5 7 -1 7 33 32 -1 0 34 35 -1 35 4 0 -1 24 25 36 -1 36 37 24 -1 38 2 6 +-1 6 39 38 -1 7 5 8 -1 8 9 7 -1 35 34 14 -1 14 40 35 -1 38 39 41 -1 41 15 38 +-1 42 1 10 -1 10 43 42 -1 36 25 44 -1 44 45 36 -1 24 37 46 -1 46 47 24 -1 3 +48 49 -1 49 11 3 -1 8 5 12 -1 12 16 8 -1 7 9 17 -1 17 13 7 -1 9 8 18 -1 18 19 +9 -1 40 14 20 -1 20 22 40 -1 15 41 50 -1 50 21 15 -1 17 9 19 -1 19 23 17 -1 +8 16 51 -1 51 18 8 -1 19 18 26 -1 26 27 19 -1 21 50 52 -1 52 29 21 -1 23 19 +27 -1 27 31 23 -1 18 51 53 -1 53 26 18 -1 22 20 28 -1 28 30 22 -1 ] +} +} +] +} +] +} +##################pier end + +################## pool_drap_hanger +DEF pool_drap_hanger Transform { +translation -10.01 4.108 -1.864 +rotation -0.5772 -0.5767 0.5781 -2.097 +children [ +Shape +{ +appearance USE blue_wall2 +geometry DEF pool_drap_hanger-FACES IndexedFaceSet { +solid FALSE +coord DEF pool_drap_hanger-COORD Coordinate { +point [ -1.403 0 .03112 1.403 0 .03112 -1.403 -.000205 -.1146 1.403 -.000205 +-.1146 -1.403 .2234 .03112 1.403 .2234 .03112 -1.403 .2232 -.1146 1.403 .2232 +-.1146 ] +} +texCoord DEF pool_drap_hanger-TEXCOORD +TextureCoordinate { point [ -2.017 .9612 3.018 1.038 -2.018 -.03784 3.017 +.03883 .9995 .1072 .9988 .9995 .000499 .9916 .001182 .09932 .9988 .9007 .9995 +.008368 .001183 .000499 .0005 .8928 -2.053 -.0521 3.051 -.05183 3.051 .03954 +-2.053 .03927 ] } coordIndex [ 4 5 7 -1 7 6 4 -1 0 1 5 -1 5 4 0 -1 1 3 7 -1 +7 5 1 -1 2 0 4 -1 4 6 2 -1 ] texCoordIndex +[ 12 13 14 -1 14 15 12 -1 2 3 1 -1 1 0 2 -1 4 5 6 -1 6 7 4 -1 8 9 10 -1 10 11 +8 -1 ] +} +} +] +} + +################## pool_drap_hanger end + +################## upper_level_back_outerwall + +DEF upper_level_back_outerwall Transform { +translation 2.848 -4.474 -14.42 +rotation -1 0 0 -3.142 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE arc_map3 +geometry DEF upper_level_back_outerwall-FACES IndexedFaceSet { +ccw FALSE +solid FALSE +convex FALSE +color +DEF chsl_7 +Color { color [ 1 1 1 .6431 .7373 .7922 .902 .8314 .6235 .8275 .8549 .6353 +] } colorIndex +[ 0 0 0 -1 0 0 2 0 -1 2 0 0 -1 0 3 1 -1 0 1 0 -1 0 0 0 -1 2 0 0 -1 0 0 0 0 +-1 0 1 0 -1 0 0 0 -1 0 0 3 -1 0 2 3 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 +-1 ] +coord DEF upper_level_back_outerwall-COORD Coordinate +{ +point [ 7.405 -8.946 -15.24 7.272 -8.947 -15.28 7.405 -8.947 -15.28 -13.11 +-5.021 -15.28 13.11 -5.021 -15.28 13.11 -9.421 -15.28 -13.11 -9.421 -15.28 +7.405 -5.153 -15.28 7.405 -5.021 -15.28 -7.056 -5.162 -15.27 -7.056 -8.947 +-15.28 -7.056 -5.021 -15.28 5.489 -8.947 -15.28 -5.494 -8.947 -15.28 -7.056 +-5.187 -15.27 -5.527 -5.186 -15.27 -5.993 -5.186 -15.27 7.391 -5.183 -15.28 +6.07 -5.183 -15.28 7.405 -5.184 -15.28 ] } +coordIndex [ 0 1 2 -1 8 4 5 7 -1 5 2 7 -1 10 6 3 -1 10 3 9 -1 16 9 15 -1 5 12 +2 -1 17 18 7 19 -1 9 3 11 -1 8 7 18 -1 10 13 6 -1 12 5 6 13 -1 9 16 14 -1 15 +9 11 -1 18 15 8 -1 11 8 15 -1 ] texCoord DEF upper_level_back_outerwall-TEXCOORD +TextureCoordinate { point [ .4157 .724 .000849 .8538 .000909 .854 1.922 .03037 +1.922 .000499 -.8548 .03243 -.8548 .000501 -.8548 .03809 .7335 .1506 0 .5216 +1.922 .03745 1.958 -.07611 3.108 -.07607 1.958 -.04594 3.108 .9329 1.958 .8241 +-.9566 .8239 -2.177 .9327 -2.177 -.07627 1.572 .824 -.9566 -.04398 -.9566 +-.07622 -.6419 .824 ] } texCoordIndex +[ 0 1 2 -1 11 12 14 13 -1 14 15 13 -1 16 17 18 -1 16 18 20 -1 8 5 8 -1 14 19 +15 -1 8 9 3 10 -1 20 18 21 -1 4 3 9 -1 16 22 17 -1 19 14 17 22 -1 5 8 7 -1 8 +5 6 -1 9 8 4 -1 6 4 8 -1 ] +} +} +Shape +{ +appearance USE outer_wall11 +geometry DEF upper_level_back_outerwall-FACES IndexedFaceSet { +ccw FALSE +solid FALSE +convex FALSE +color +USE chsl_7 +colorIndex +[ 0 0 0 -1 0 0 2 0 -1 2 0 0 -1 0 3 1 -1 0 1 0 -1 0 0 0 -1 2 0 0 -1 0 0 0 0 +-1 0 1 0 -1 0 0 0 -1 0 0 3 -1 0 2 3 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 +-1 ] coord USE upper_level_back_outerwall-COORD +coordIndex [ 0 1 2 -1 8 4 5 7 -1 5 2 7 -1 10 6 3 -1 10 3 9 -1 16 9 15 -1 5 12 +2 -1 17 18 7 19 -1 9 3 11 -1 8 7 18 -1 10 13 6 -1 12 5 6 13 -1 9 16 14 -1 15 +9 11 -1 18 15 8 -1 11 8 15 -1 ] +texCoord USE upper_level_back_outerwall-TEXCOORD +texCoordIndex +[ 0 1 2 -1 11 12 14 13 -1 14 15 13 -1 16 17 18 -1 16 18 20 -1 8 5 8 -1 14 19 +15 -1 8 9 3 10 -1 20 18 21 -1 4 3 9 -1 16 22 17 -1 19 14 17 22 -1 5 8 7 -1 8 +5 6 -1 9 8 4 -1 6 4 8 -1 ] +} +} +] +} + +################## upper_level_back_outerwall end + +################## upper_level_mstructure + +DEF upper_level_mstructure Transform { +translation -5.985 -4.348 -14.39 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE outer_wall11 +geometry DEF upper_level_mstructure-FACES IndexedFaceSet { +ccw FALSE +convex FALSE +color +Color { color [ 1 1 1 .8941 .8667 .5647 .4196 .6314 .651 .3176 .5961 .6902 +0 .3843 .4196 .2706 .6078 .6667 .2118 .8902 .8353 .7569 .8275 .8353 0 .4824 +.5255 0 .1922 .2824 .9608 .7569 .2118 .7176 .7451 .3882 .8588 .7922 .5333 +] } colorIndex +[ 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 1 2 -1 0 2 0 0 -1 3 0 0 0 +-1 1 0 0 3 -1 3 0 12 1 -1 0 0 2 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 +0 -1 8 0 0 0 -1 0 9 0 0 -1 9 0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 +0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 4 -1 0 0 4 0 -1 0 0 5 +0 -1 5 0 0 0 -1 0 0 0 6 -1 6 0 0 7 -1 7 0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 +-1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 10 11 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 +0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 +0 0 -1 0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 +8 -1 0 0 0 8 -1 0 8 0 0 -1 ] +coord DEF upper_level_mstructure-COORD +Coordinate { +point [ 21.39 -.0666 -5.914 21.32 .02747 -5.914 16.48 -3.778 -5.914 16.41 +-3.684 -5.914 16.41 -3.684 -7.972 16.48 -3.778 -7.972 21.39 -.06626 -7.972 +21.32 .02782 -7.972 22.06 .4371 -9.3 15.72 -4.355 -9.3 15.72 -4.355 -4.9 22.06 +.4371 -4.9 8.921 8.775 -11.3 15.85 8.786 -11.3 15.87 .959 -11.3 12.52 -1.575 +-11.3 10.78 -1.575 -11.3 10.42 -1.178 -11.3 7.425 -1.178 -11.3 1.988 8.786 +-11.3 1.969 .959 -11.3 5.325 -1.575 -11.3 7.065 -1.575 -11.3 -4.189 15.24 +-4.9 -4.219 .4371 -4.9 2.121 -4.355 -4.9 5.411 -4.355 -4.9 6.092 -3.603 -4.9 +8.921 -3.603 -4.9 11.75 -3.603 -4.9 12.43 -4.355 -4.9 22.03 15.24 -4.9 10.16 +15.12 -5.176 10.16 15.12 -8.564 10.16 15.22 -5.177 10.16 15.22 -8.564 22.03 +15.24 -9.3 12.43 -4.355 -9.3 11.75 -3.603 -9.3 8.921 -3.603 -9.3 7.685 15.12 +-5.176 7.685 15.12 -8.564 -4.189 15.24 -9.3 7.685 15.22 -8.564 -4.219 .4371 +-9.3 2.121 -4.355 -9.3 5.411 -4.355 -9.3 6.092 -3.603 -9.3 8.921 9.931 -10.6 +16.96 9.945 -10.6 16.99 .8652 -10.6 13.09 -2.074 -10.6 11.07 -2.074 -10.6 +10.66 -1.613 -10.6 8.921 -1.613 -10.6 .8791 9.945 -10.6 .8571 .8652 -10.6 +4.75 -2.074 -10.6 6.768 -2.074 -10.6 7.185 -1.613 -10.6 8.921 -1.178 -11.3 +8.921 15.12 -5.176 8.921 15.21 -8.564 8.921 15.12 -8.564 8.921 15.21 -5.177 +7.685 15.22 -5.177 -4.197 11.3 -5.183 -4.197 11.3 -8.468 -4.067 11.3 -8.464 +-4.067 11.3 -5.18 -4.191 14.02 -8.467 -4.063 14.01 -8.468 -4.191 14.02 -5.184 +-4.061 14.02 -5.181 1.358 -3.778 -5.914 1.358 -3.778 -7.972 1.429 -3.684 -7.972 +1.43 -3.684 -5.914 -3.552 -.0666 -5.914 -3.481 .02747 -5.914 -3.482 .02782 +-7.972 -3.553 -.06626 -7.972 ] } +coordIndex [ 0 1 3 2 -1 4 5 2 3 -1 1 0 6 7 -1 7 6 5 4 -1 5 6 8 9 -1 5 9 10 2 +-1 11 0 2 10 -1 8 6 0 11 -1 11 31 36 8 -1 30 10 9 37 -1 29 30 37 38 -1 28 29 +38 39 -1 44 66 23 24 -1 67 66 44 42 -1 25 26 46 45 -1 26 27 47 46 -1 27 28 39 +47 -1 38 37 52 53 -1 39 38 53 54 -1 58 46 47 59 -1 59 47 39 54 -1 13 49 48 12 +-1 50 49 13 14 -1 51 50 14 15 -1 52 51 15 16 -1 53 52 16 17 -1 54 53 17 60 +-1 48 55 19 12 -1 19 55 56 20 -1 20 56 57 21 -1 21 57 58 22 -1 22 58 59 18 +-1 18 59 54 60 -1 41 40 65 43 -1 41 62 43 -1 62 41 63 -1 62 33 35 -1 33 62 63 +-1 34 32 33 35 -1 32 64 34 -1 32 64 61 -1 32 34 64 -1 64 65 40 61 -1 66 72 70 +23 -1 70 67 42 23 -1 72 66 73 -1 66 69 73 -1 67 68 69 66 -1 70 71 67 -1 71 68 +67 -1 70 72 71 -1 72 73 71 -1 78 74 77 79 -1 74 75 76 77 -1 81 78 79 80 -1 80 +76 75 81 -1 75 44 78 81 -1 45 44 75 25 -1 75 74 78 25 -1 24 25 78 44 -1 ] +texCoord DEF upper_level_mstructure-TEXCOORD +TextureCoordinate { point [ .1077 .5716 .11 .5686 .2622 .6883 .2644 .6853 +.5025 .6112 .09288 .6108 .7186 .5393 .6131 .619 .5584 .619 .547 .6065 .453 +.6065 .09175 .9176 .2814 .5393 .3869 .619 .4416 .619 .5389 .09403 .5389 .09088 +.6104 .7064 .589 .6828 .5 .6828 .4611 .09403 .4611 .09088 .3896 .7064 .411 +.6828 .9121 .6108 .9132 .9176 .7536 .5423 .6312 .6347 .5677 .6347 .5546 .6202 +.5 .6202 .5025 .5575 .2464 .5423 .3688 .6347 .4323 .6347 .4454 .6202 .5 .6065 +.5 .09403 .5 .09119 .08749 .214 .08748 .214 .09158 .214 .08766 .1286 .09165 +.1806 .09175 .1286 -1.026 .6317 -2.017 .6318 -2.151 .9333 -.8719 .9333 -.8719 +-.06572 -1.026 .1644 -2.151 -.06572 -2.016 .1645 -.2083 -.06572 -.2083 .9333 +-.07091 -.06572 -.07091 .9333 .4999 -.06572 .4999 .9333 1.208 .9333 1.872 +-.06573 1.208 -.06573 1.872 .9333 1.071 .9333 1.071 -.06573 2.026 .6317 3.151 +.9333 3.017 .6318 2.026 .1644 3.151 -.06573 3.017 .1645 2.029 .942 -1.029 +-.06797 2.028 -.06522 -1.028 .9393 -1.028 .9277 1.216 -.01276 -1.029 -.07949 +1.216 .7393 2.028 -.07672 1.777 -.01193 2.029 .9305 1.776 .7396 .02735 .557 +.02605 .9129 .9776 .557 .9789 .9129 ] } texCoordIndex +[ 0 1 3 2 -1 3 2 2 3 -1 1 0 0 1 -1 1 0 2 3 -1 45 46 47 48 -1 45 48 49 50 -1 +51 52 50 49 -1 47 46 52 51 -1 72 73 71 74 -1 53 49 48 54 -1 55 53 54 56 -1 57 +55 56 58 -1 75 76 79 77 -1 78 76 75 81 -1 60 61 59 62 -1 61 64 63 59 -1 64 57 +58 63 -1 18 17 28 29 -1 19 18 29 30 -1 34 22 23 35 -1 35 23 19 30 -1 5 83 31 +4 -1 84 83 5 11 -1 27 26 6 7 -1 28 27 7 8 -1 29 28 8 9 -1 30 29 9 36 -1 31 85 +24 4 -1 24 85 86 25 -1 12 32 33 13 -1 13 33 34 14 -1 14 34 35 10 -1 10 35 30 +36 -1 20 20 21 21 -1 20 38 21 -1 38 20 37 -1 38 15 16 -1 15 38 37 -1 16 15 15 +16 -1 15 38 16 -1 15 38 37 -1 15 16 38 -1 38 21 20 37 -1 76 80 82 79 -1 82 78 +81 79 -1 42 39 44 -1 39 41 44 -1 40 41 41 39 -1 42 43 40 -1 43 41 40 -1 42 42 +43 -1 42 44 43 -1 0 2 3 1 -1 2 2 3 3 -1 0 0 1 1 -1 1 3 2 0 -1 65 66 70 67 +-1 62 66 65 60 -1 65 68 70 60 -1 69 60 70 66 -1 ] +} +} +] +} + +################## upper_level_mstructure end + +################## upper_level_mainroof + +DEF upper_level_mainroof Transform { +translation -5.985 -4.348 -14.39 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE rooflc +geometry DEF upper_level_mainroof-FACES IndexedFaceSet { +ccw FALSE +coord DEF upper_level_mainroof-COORD Coordinate { +point [ 22.06 .4371 -9.3 15.72 -4.355 -9.3 22.03 15.24 -9.3 -4.189 15.24 -9.3 +-4.219 .4371 -9.3 2.121 -4.355 -9.3 8.921 15.21 -9.3 8.921 9.931 -10.6 16.96 +9.945 -10.6 16.99 .8652 -10.6 13.09 -2.074 -10.6 .8791 9.945 -10.6 .8571 .8652 +-10.6 4.75 -2.074 -10.6 ] } +coordIndex [ 8 2 6 7 -1 0 2 8 9 -1 1 0 9 10 -1 6 3 11 7 -1 11 3 4 12 -1 12 4 +5 13 -1 ] texCoord DEF upper_level_mainroof-TEXCOORD +TextureCoordinate { point [ 1.407 -.004253 -.2755 .000484 2.432 .997 1.745 +.994 -.6701 .9955 .6695 -.01223 -.6695 -.01637 -.8455 .9925 1.259 -.005906 +-.8417 -.005582 3.06 -.001241 -2.06 -.001241 .5 -.00794 .5 .9888 2.07 .9863 +-1.07 .9863 -.5914 -.003463 1.928 .001729 1.082 .9942 -.5854 .9903 1.017 .9937 +-.01564 .9887 ] } texCoordIndex +[ 14 10 12 13 -1 16 17 18 19 -1 1 0 20 21 -1 12 11 15 13 -1 8 2 7 9 -1 5 3 4 +6 -1 ] +} +} +] +} + +################## upper_mainroof end + +################## upper_floor_decore_ceiling + +DEF upper_floor_decor_ceiling Transform { +translation -5.985 -4.348 -14.39 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE wall_text5 +geometry DEF upper_floor_decor_ceiling-FACES IndexedFaceSet { +ccw FALSE +coord DEF upper_floor_decor_ceiling-COORD Coordinate { +point [ 21.93 .4866 -9.3 15.65 -4.258 -9.3 16.91 .8956 -10.6 13.05 -2.015 +-10.6 21.9 15.14 -9.3 -4.059 15.14 -9.3 -4.089 .4866 -9.3 2.189 -4.258 -9.3 +16.88 9.885 -10.6 .9591 9.885 -10.6 .9371 .8956 -10.6 4.791 -2.015 -10.6 ] +} +coordIndex [ 8 9 5 4 -1 10 6 5 9 -1 0 2 8 4 -1 1 3 2 0 -1 7 6 10 11 -1 ] +texCoord +DEF upper_floor_decor_ceiling-TEXCOORD +TextureCoordinate { point [ 2.034 .000497 -1.034 .000505 -2.001 .9995 3.001 +.9995 -.696 .0005 -.8081 .9995 3.208 .9995 1.768 .000498 1.13 .000499 .9667 +.9995 -.9591 .9995 -.05156 .0005 -1.853 .9995 -1.754 .000502 .6801 .0005 2.115 +.9995 2.074 .9995 -.07871 .9995 -.2779 .0005 1.043 .000499 ] } texCoordIndex +[ 1 0 3 2 -1 13 12 15 14 -1 5 4 7 6 -1 9 8 11 10 -1 17 16 19 18 -1 ] +} +} +] +} +################## upper_floor_decore_ceiling end + +################## upper_floor_lights + +DEF upper_floor_lights Transform { +translation -5.985 -4.348 -14.39 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE b_light2 +geometry DEF upper_floor_lights-FACES IndexedFaceSet { +ccw FALSE +solid FALSE +coord DEF upper_floor_lights-COORD Coordinate { +point [ 8.921 8.723 -11.3 15.79 8.735 -11.3 2.057 8.735 -11.3 15.8 .9852 -11.3 +12.48 -1.524 -11.3 10.8 -1.524 -11.3 10.44 -1.13 -11.3 8.921 -1.13 -11.3 2.038 +.9852 -11.3 5.361 -1.524 -11.3 7.046 -1.524 -11.3 7.402 -1.13 -11.3 16.88 +9.885 -10.6 8.921 9.872 -10.6 16.91 .8956 -10.6 13.05 -2.015 -10.6 11.1 -2.015 +-10.6 10.68 -1.558 -10.6 8.921 -1.558 -10.6 .9591 9.885 -10.6 .9371 .8956 +-10.6 4.791 -2.015 -10.6 6.746 -2.015 -10.6 7.159 -1.558 -10.6 ] } +coordIndex [ 13 12 1 0 -1 1 12 14 3 -1 3 14 15 4 -1 4 15 16 5 -1 5 16 17 6 +-1 6 17 18 7 -1 2 19 13 0 -1 20 19 2 8 -1 21 20 8 9 -1 22 21 9 10 -1 23 22 10 +11 -1 18 23 11 7 -1 ] texCoord DEF upper_floor_lights-TEXCOORD +TextureCoordinate { point [ 3.892 .03587 -1.267 1.031 -2.083 .03086 3.883 +1.035 2.925 .03791 -.2701 1.03 -.3311 .03612 2.537 1.032 2.313 .04014 3.467 +1.039 3.942 .04014 2.063 1.039 1.969 .03961 1.767 1.038 .5 .03961 .5001 1.038 +-2.467 1.039 -1.312 .04015 -2.942 .04015 -1.062 1.039 -.9683 .03962 -.7658 +1.038 -.7073 1.04 1.875 .04238 -1.004 .04184 1.775 1.041 3.353 1.03 -3.648 +.03431 4.37 .02904 -3.56 1.034 4.281 1.027 .5 .02668 4.886 .02665 .5 1.027 +-3.281 1.027 -3.886 .02668 ] } texCoordIndex +[ 31 32 30 33 -1 1 2 0 3 -1 5 6 4 7 -1 9 10 8 11 -1 11 8 12 13 -1 13 12 14 15 +-1 34 35 31 33 -1 27 28 26 29 -1 23 24 22 25 -1 17 18 16 19 -1 20 17 19 21 +-1 14 20 21 15 -1 ] +} +} +] +} + +################## upper_floor_lights end + +################## upper_floor_ceiling + +DEF upper_floor_ceiling Transform { +translation -5.985 -4.348 -14.39 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE water_e +geometry DEF upper_floor_ceiling-FACES IndexedFaceSet { +ccw FALSE +coord DEF upper_floor_ceiling-COORD Coordinate { +point [ 8.921 8.723 -11.3 15.79 8.735 -11.3 15.8 .9852 -11.3 12.48 -1.524 +-11.3 10.8 -1.524 -11.3 10.44 -1.13 -11.3 7.402 -1.13 -11.3 7.046 -1.524 -11.3 +5.361 -1.524 -11.3 2.038 .9852 -11.3 2.057 8.735 -11.3 ] } +coordIndex [ 8 9 10 0 -1 7 8 0 6 -1 6 0 5 -1 1 2 3 0 -1 0 3 4 5 -1 ] +texCoord +DEF upper_floor_ceiling-TEXCOORD +TextureCoordinate { point [ .9995 .7552 .7584 .9995 .6103 .9611 .3898 .9611 +.2417 .9995 .000499 .7552 .001878 .000499 .5 .001668 .3639 .9995 .9981 .000499 +.6361 .9995 ] } texCoordIndex +[ 4 5 6 7 -1 8 4 7 3 -1 3 7 2 -1 9 0 1 7 -1 7 1 10 2 -1 ] +} +} +] +} + +################## upper_floor_ceiling end + +################## upper_level_floor + +DEF upper_level_floor Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE mb_floor5 +geometry DEF upper_level_floor-FACES IndexedFaceSet { +convex FALSE +color +Color { color [ 1 1 1 .6824 .749 .8039 0 .3686 .5412 0 .3412 .4275 ] } colorIndex +[ 2 0 0 0 -1 0 0 2 0 -1 0 0 0 0 -1 0 0 0 0 -1 1 0 0 0 -1 0 0 0 0 -1 0 0 0 0 +-1 0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 3 -1 0 0 0 3 -1 ] coord DEF upper_level_floor-COORD +Coordinate { +point [ -12.98 -15.14 5.179 2.017e-005 -15.12 5.179 -13.01 -.5859 5.179 -6.732 +4.159 5.179 -3.545 4.159 5.179 -2.872 3.513 5.179 2.873 3.513 5.179 3.547 +4.258 5.179 6.732 4.258 5.179 13.01 -.4866 5.179 12.98 -15.14 5.179 -12.57 +-9.937 4.9 -8.991 -9.937 4.9 -8.991 -9.937 5.179 -12.57 -9.937 5.179 -8.991 +-5.781 4.9 -8.991 -5.781 5.179 -12.56 -5.781 4.9 -12.56 -5.781 5.179 ] } +coordIndex [ 8 1 10 9 -1 6 1 8 7 -1 6 5 2 1 -1 13 14 0 1 -1 4 3 2 5 -1 16 13 +1 2 -1 2 0 14 18 -1 16 2 18 -1 13 12 11 14 -1 13 16 15 12 -1 15 16 18 17 -1 +18 14 11 17 -1 ] texCoord DEF upper_level_floor-TEXCOORD +TextureCoordinate { point [ .9937 .2029 .497 .2037 .9928 .7812 .7536 .9612 +.638 .9612 .6124 .9318 .3875 .9318 .3618 .9612 .2404 .9612 .001177 .7812 .000307 +.2029 .01709 -17.06 .1545 -17.06 .1545 -18.06 .01709 -18.06 .01718 -17.06 +.01718 -18.06 .8397 .4082 .9759 .4082 .8397 .5723 .9758 .5723 ] } texCoordIndex +[ 8 1 10 9 -1 6 1 8 7 -1 6 5 2 1 -1 17 18 0 1 -1 4 3 2 5 -1 19 17 1 2 -1 2 0 +18 20 -1 19 2 20 -1 13 12 11 14 -1 13 13 12 12 -1 12 13 16 15 -1 16 14 11 15 +-1 ] +} +} +] +} + +################## upper_level_floor end + +################## upper_level_walls + +DEF upper_level_walls Transform { +translation -5.985 -4.348 -14.39 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE blue_wall2 +geometry DEF upper_level_walls-FACES IndexedFaceSet { +ccw FALSE +convex FALSE +color +Color { color [ 1 1 1 .6627 .8549 .8157 0 .9176 1 0 .3255 .5137 .1961 .5294 +.651 .4471 .6549 .7059 0 .8 1 0 .451 .6627 0 .8588 .9882 .01176 .9647 1 .8235 +.6784 .9608 ] } colorIndex +[ 0 1 0 0 -1 0 1 0 0 -1 0 0 2 0 -1 0 0 2 0 -1 3 8 9 0 -1 3 1 0 8 -1 0 4 0 2 +-1 0 8 7 0 -1 0 0 6 7 -1 5 0 2 0 -1 0 9 8 -1 9 0 0 -1 0 0 3 -1 0 0 0 -1 0 0 +7 -1 0 0 8 -1 9 6 0 8 -1 0 0 7 0 -1 0 0 8 -1 8 0 7 -1 9 7 0 6 -1 0 6 0 10 +-1 2 10 0 9 -1 2 0 10 -1 0 7 9 -1 ] coord DEF upper_level_walls-COORD Coordinate +{ +point [ 21.32 .02747 -5.914 16.41 -3.684 -5.914 16.41 -3.684 -7.972 21.32 +.02782 -7.972 21.93 .4866 -9.3 21.93 .4866 -4.9 15.65 -4.258 -4.9 15.65 -4.258 +-9.3 21.9 15.14 -4.9 12.47 -4.258 -4.9 5.376 -4.258 -4.9 2.189 -4.258 -4.9 +-4.089 .4866 -4.9 -4.059 15.14 -4.9 8.921 15.12 -4.9 10.16 15.12 -5.176 21.9 +15.14 -9.3 10.16 15.12 -8.564 12.47 -4.258 -9.3 7.685 15.12 -5.176 7.685 15.12 +-8.564 -4.059 15.14 -9.3 -4.089 .4866 -9.3 2.189 -4.258 -9.3 5.376 -4.258 +-9.3 8.921 15.12 -9.3 -4.067 11.3 -8.464 -4.067 11.3 -5.18 -4.063 14.01 -8.468 +-4.061 14.02 -5.181 1.429 -3.684 -7.972 1.43 -3.684 -5.914 -3.481 .02747 -5.914 +-3.482 .02782 -7.972 ] } +coordIndex [ 4 5 3 2 -1 3 5 6 0 -1 0 6 7 1 -1 2 1 7 4 -1 8 16 17 15 -1 8 5 4 +16 -1 6 9 18 7 -1 20 21 13 19 -1 27 26 12 13 -1 10 11 23 24 -1 25 17 16 -1 17 +25 20 -1 15 14 8 -1 14 15 19 -1 14 19 13 -1 20 25 21 -1 22 12 26 21 -1 29 27 +13 28 -1 26 28 21 -1 21 28 13 -1 22 33 32 12 -1 11 12 32 31 -1 23 31 30 22 +-1 23 11 31 -1 30 33 22 -1 ] texCoord DEF upper_level_walls-TEXCOORD +TextureCoordinate { point [ .2429 .8324 -2.118 .000501 -2.118 .9995 .2429 +.06316 3.101 .000498 .7399 .8324 3.101 .9995 .7399 .06316 .4914 .9995 .4914 +.000499 -.8867 1.001 1.887 .001022 -.887 .002382 1.887 1 1.161 .06253 1.161 +.8082 -.887 -2.39e-005 -.8867 .999 1.887 -.001379 1.675 .06253 1.887 .9976 +1.673 .8087 -3.281 .9995 -3.281 .000502 -3.104 .698 -3.104 .2308 -1.457 .000501 +-1.677 .2306 -1.457 .9995 -1.677 .6979 -.5311 .9995 -.5311 .000501 2.457 .9995 +1.53 .000499 2.457 .000499 1.53 .9995 4.281 .9995 4.105 .698 4.281 .000497 +4.105 .2307 2.677 .2306 2.677 .6979 ] } texCoordIndex +[ 22 23 24 29 -1 24 23 26 25 -1 25 26 28 27 -1 29 27 28 22 -1 1 2 0 3 -1 11 +12 10 13 -1 26 31 30 28 -1 5 6 4 7 -1 14 15 16 18 -1 33 34 32 35 -1 8 0 2 +-1 0 8 5 -1 3 9 1 -1 9 3 7 -1 9 7 4 -1 5 8 6 -1 17 16 15 20 -1 19 14 18 21 +-1 15 21 20 -1 20 21 18 -1 36 37 39 38 -1 34 38 39 40 -1 32 40 41 36 -1 32 34 +40 -1 41 37 36 -1 ] +} +} +] +} + +################## upper_level_walls end + +################## upper_floor_doorframe + +DEF upper_floor_door_frame Transform { +translation 1.531 0.7669 0.8231 +rotation 0.5771 -0.577 0.5779 -2.094 +children [ +DEF upper_floor_door_frame-TIMER TimeSensor { loop TRUE cycleInterval 0.3333 }, +Shape +{ +appearance USE pool_border +geometry DEF upper_floor_door_frame-FACES IndexedFaceSet { +color +Color { color [ .3412 .5725 .6784 .2745 .6196 .7804 .3176 .4745 .5922 1 1 +1 ] } colorIndex +[ 0 0 1 -1 0 1 3 -1 3 1 1 -1 3 1 3 -1 3 1 2 -1 3 2 2 -1 0 0 1 -1 0 1 1 -1 1 +1 2 -1 1 2 2 -1 2 2 3 -1 2 3 3 -1 3 3 0 -1 3 0 0 -1 0 0 3 -1 0 3 1 -1 1 3 3 +-1 1 3 1 -1 1 3 2 -1 1 2 2 -1 3 3 3 -1 3 3 3 -1 3 3 3 -1 3 3 3 -1 3 3 3 -1 3 +3 3 -1 ] +coord DEF +upper_floor_door_frame-COORD Coordinate { +point [ 0 .37 0 -3.348 .37 0 -3.348 .3699 2.646 .002322 .3701 2.646 0 .37 +.15 -3.219 .37 .15 -3.219 .37 2.489 .002322 .3702 2.489 0 0 0 -3.348 0 0 -3.348 +-5.805e-005 2.646 .002322 9.765e-005 2.646 .002322 .000155 2.489 -3.219 0 +2.489 -3.219 0 .15 0 0 .15 -.008119 .37 2.489 -.008119 .37 .15 -.008119 0 +2.489 -.008119 0 .15 ] +} +texCoord DEF upper_floor_door_frame-TEXCOORD +TextureCoordinate { point [ 1.28 2.652 -.2807 2.652 -.2807 -1.652 1.281 -1.652 +1.28 2.408 -.2191 2.408 -.2191 -1.396 1.281 -1.396 -.2796 .7458 1.281 .7461 +-.2807 .7471 1.281 .7469 -.2807 .747 -.2191 .7461 1.28 .7458 -.2796 .2527 +1.281 .2531 -.2807 .254 1.281 .2539 -.2807 .2539 -1.396 .254 -.2191 .2531 +1.28 .2528 -.2796 2.652 1.281 2.652 -.2796 2.408 1.219 2.408 1.219 -1.396 +-.2807 -1.396 1.219 .254 1.219 .7471 -1.396 .7471 2.408 .2531 2.408 .7461 +2.392 .2997 2.391 .709 -1.412 .291 -1.413 .7003 ] } coordIndex [ 4 0 1 -1 4 +1 5 -1 5 1 2 -1 5 2 6 -1 6 2 3 -1 6 3 7 -1 0 8 9 -1 0 9 1 -1 2 10 11 -1 2 11 +3 -1 7 12 13 -1 7 13 6 -1 5 14 15 -1 5 15 4 -1 8 15 14 -1 8 14 9 -1 9 14 13 +-1 9 13 10 -1 10 13 12 -1 10 12 11 -1 6 13 18 -1 18 16 6 -1 14 5 17 -1 17 19 +14 -1 6 13 5 -1 5 13 14 -1 ] texCoordIndex +[ 4 0 1 -1 4 1 5 -1 5 1 2 -1 5 2 6 -1 6 2 3 -1 6 3 7 -1 8 15 16 -1 8 16 9 +-1 10 17 18 -1 10 18 11 -1 12 19 29 -1 12 29 30 -1 13 21 22 -1 13 22 14 -1 23 +25 26 -1 23 26 24 -1 24 26 27 -1 24 27 3 -1 3 27 28 -1 3 28 2 -1 31 20 20 +-1 20 31 31 -1 30 27 33 -1 13 27 32 -1 34 35 36 -1 36 35 37 -1 ] +} +} +] +} + +################## upper_floor_doorframe end + + +################## frontal_fireplace_wall + +DEF frontal_fireplace_wall Transform { +translation -5.985 -4.348 -14.39 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE outer_wall11 +geometry DEF frontal_fireplace_wall-FACES IndexedFaceSet { +ccw FALSE +solid FALSE +coord DEF frontal_fireplace_wall-COORD Coordinate { +point [ 12.47 -4.258 -4.9 11.79 -3.513 -4.9 8.921 -3.513 -4.9 6.049 -3.513 +-4.9 5.376 -4.258 -4.9 12.47 -4.258 -9.3 11.79 -3.513 -9.3 8.921 -3.513 -9.3 +5.376 -4.258 -9.3 6.049 -3.513 -9.3 11.1 -2.015 -10.6 10.68 -1.558 -10.6 8.921 +-1.558 -10.6 6.746 -2.015 -10.6 7.159 -1.558 -10.6 11.58 -4.575 -.2488 11.58 +-4.575 -3.5 11.58 -4.684 -.2496 11.58 -4.684 -3.5 11.58 -4.161 -4.177 11.57 +-4.064 -4.174 6.281 -4.575 -.2382 6.281 -4.575 -3.502 6.281 -4.684 -.2417 +6.281 -4.684 -3.5 6.286 -4.165 -4.172 6.278 -4.068 -4.169 8.921 -4.066 -4.171 +8.921 -4.163 -4.174 8.918 -4.575 -.2417 8.92 -4.684 -.2457 ] +} +texCoord DEF frontal_fireplace_wall-TEXCOORD +TextureCoordinate { point [ .594 .7134 .5941 .7168 .5939 .7003 .417 .7134 +.417 .7168 .4169 .6974 .5434 .6973 .5 .6974 .4568 .6974 .5 .7004 .4572 .7005 +.5 .7134 .5076 .7168 .9046 .9994 .9995 .000637 .9046 .000499 .9995 .9995 .4999 +.9994 .4999 .000499 .000499 .9995 .0953 .000499 .000499 .000637 .0953 .9994 +.09544 .9198 .1936 .08021 .000499 .9198 .2518 .08018 .5001 .9198 .5001 .08018 +.8065 .08021 .9047 .9198 .9995 .9198 .7483 .08018 ] } +} +} +Shape +{ +appearance USE blue_wall2 +geometry DEF frontal_fireplace_wall-FACES IndexedFaceSet { +ccw FALSE +coord USE frontal_fireplace_wall-COORD +texCoord USE frontal_fireplace_wall-TEXCOORD +coordIndex [ 6 0 1 -1 5 0 6 -1 7 1 2 -1 6 1 7 -1 8 3 4 -1 9 3 8 -1 9 2 3 -1 +7 2 9 -1 6 10 5 -1 10 6 11 -1 7 11 6 -1 11 7 12 -1 13 9 8 -1 14 9 13 -1 14 7 +9 -1 12 7 14 -1 16 17 18 -1 16 15 17 -1 20 18 19 -1 20 16 18 -1 25 22 26 -1 +25 24 22 -1 21 24 23 -1 21 22 24 -1 21 30 29 -1 21 23 30 -1 15 30 17 -1 15 29 +30 -1 27 28 25 -1 27 25 26 -1 20 19 27 -1 27 19 28 -1 ] texCoordIndex +[ 13 14 15 -1 16 14 13 -1 17 15 18 -1 13 15 17 -1 19 20 21 -1 22 20 19 -1 22 +18 20 -1 17 18 22 -1 23 24 25 -1 24 23 26 -1 27 26 23 -1 26 27 28 -1 29 30 31 +-1 32 30 29 -1 32 27 30 -1 28 27 32 -1 0 1 1 -1 0 0 1 -1 6 1 2 -1 6 0 1 -1 10 +3 8 -1 10 4 3 -1 3 4 4 -1 3 3 4 -1 3 12 11 -1 3 4 12 -1 0 12 1 -1 0 11 12 +-1 7 9 10 -1 7 10 5 -1 6 2 7 -1 7 2 9 -1 ] +} +} +] +} + +################## frontal_fireplace_wall end + + +DEF tunnel Group{ +children[ +################## tunnel_roof + +DEF tunnel_roof Transform { +translation 2.903 -1.588 -30.97 +children [ +DEF tunnel_above_lights Transform { +translation -0.05501 -2.76 16.58 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE b_light2 +geometry DEF tunnel_above_lights-FACES IndexedFaceSet { +solid FALSE +coord DEF tunnel_above_lights-COORD Coordinate { +point [ 2.658 20.93 2.92 -2.632 20.93 2.932 2.653 21.27 4.295 -2.637 21.26 +4.305 ] } +coordIndex [ 0 1 3 -1 3 2 0 -1 ] texCoord DEF tunnel_above_lights-TEXCOORD +TextureCoordinate { point [ 2.023 .9995 -1.02 .9905 -1.023 .0005 2.02 .00744 +] } texCoordIndex +[ 0 1 2 -1 2 3 0 -1 ] +} +} +] +}, +DEF t_roof Transform { +translation -0.05501 -2.76 16.58 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE outer_wall12 +geometry DEF t_roof-FACES IndexedFaceSet { +coord DEF t_roof-COORD Coordinate { +point [ -2.636 16.59 4.214 2.654 16.59 4.225 2.657 19.19 3.403 -2.633 19.18 +3.447 2.658 20.93 2.92 -2.632 20.93 2.932 2.651 19.44 4.144 -2.638 19.46 4.145 +2.653 21.27 4.295 -2.637 21.26 4.305 2.654 4.161 4.277 -2.636 4.165 4.272 +2.87 27.01 1.256 2.882 29.33 1.262 -2.771 29.33 1.255 -2.76 27.01 1.25 ] } +coordIndex [ 1 0 11 10 -1 7 6 8 -1 7 8 9 -1 3 2 6 -1 6 7 3 -1 2 4 8 -1 8 6 2 +-1 5 3 7 -1 7 9 5 -1 12 13 14 -1 12 14 15 -1 12 15 4 -1 4 15 5 -1 ] texCoord +DEF t_roof-TEXCOORD +TextureCoordinate { point [ .9593 .3294 .2952 .3982 .7191 .3979 .9588 .405 +.9473 .4054 .9593 .000489 .02436 .000593 .02482 .3979 .9597 .3982 .9975 .6053 +.9995 .6665 .000499 .6665 .002394 .6051 .02507 .4442 .05293 .405 .96 .4443 +.02438 .3295 .02389 .4054 .9591 .4533 .02414 .453 .4534 .4443 .003646 .4533 +.5507 .4442 .9995 .453 ] } texCoordIndex +[ 0 16 6 5 -1 17 3 18 -1 17 18 19 -1 7 8 3 -1 3 17 7 -1 1 20 21 -1 21 14 1 +-1 22 2 4 -1 4 23 22 -1 9 10 11 -1 9 11 12 -1 9 12 15 -1 15 12 13 -1 ] +} +} +] +} +] +} + +################## tunnel_roof end + +################## tunnel_ledge + +DEF tunnel_ledge Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE blue_wall2 +geometry DEF tunnel_ledge-FACES IndexedFaceSet { +solid FALSE +color +Color { color [ 0 .7529 1 .8667 0 .4471 0 .4588 .6706 ] } colorIndex +[ 1 1 0 -1 0 0 1 -1 1 1 0 -1 0 0 1 -1 1 2 2 -1 1 2 1 -1 1 2 2 -1 1 2 1 -1 +] coord DEF tunnel_ledge-COORD Coordinate { +point [ 2.659 4.684 3.5 2.654 4.161 4.177 -2.64 4.684 3.5 -2.636 4.165 4.172 +-2.636 16.59 4.214 2.654 16.59 4.225 -2.64 16.6 3.528 2.87 27.01 1.256 2.876 +27.02 .5771 -2.763 27.02 .5771 2.659 16.6 3.528 -2.76 27.01 1.25 ] +} +texCoord DEF tunnel_ledge-TEXCOORD +TextureCoordinate { point [ 2.712 .973 2.709 .01213 -1.526 .9882 -1.712 .05355 +2.71 .02707 2.712 .9731 -1.71 .06061 -1.301 .01398 2.035 .1206 2.093 1.062 +-1.243 .9763 -1.303 .000305 2.036 .1098 -1.243 .9762 ] } coordIndex [ 10 5 0 +-1 1 0 5 -1 4 6 3 -1 2 3 6 -1 4 11 9 -1 4 9 6 -1 5 7 8 -1 5 8 10 -1 ] texCoordIndex +[ 0 1 2 -1 3 2 1 -1 4 5 6 -1 2 6 5 -1 7 8 9 -1 7 9 10 -1 11 12 9 -1 11 9 13 +-1 ] +} +} +] +} + +################## tunnel_ledge end + +################## tunnel_window + +DEF tunnel_window Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE window +geometry DEF tunnel_window-FACES IndexedFaceSet { +solid FALSE +coord DEF tunnel_window-COORD Coordinate { +point [ -2.633 19.18 3.447 2.657 19.19 3.403 -2.636 16.59 4.214 2.654 16.59 +4.225 ] } +coordIndex [ 3 2 0 -1 3 0 1 -1 ] texCoord DEF tunnel_window-TEXCOORD +TextureCoordinate { point [ .999 .996 .000499 .9995 .9995 .002021 .000929 +.000498 ] } texCoordIndex +[ 3 2 0 -1 3 0 1 -1 ] +} +} +] +} + +################## tunnel_window end + +################## tunnel_endwall + +DEF tunnel_endwall Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE blue_wall2 +geometry DEF tunnel_endwall-FACES IndexedFaceSet { +solid FALSE +color +Color { color [ 1 1 1 0 .3176 .3961 0 .4431 .5529 .5922 .6902 .7608 .8549 +0 .5843 ] } colorIndex +[ 0 0 1 -1 0 0 0 -1 2 1 0 0 -1 0 3 1 0 -1 0 0 0 -1 0 0 0 -1 4 0 0 -1 0 1 4 +-1 0 0 2 -1 2 0 0 -1 0 0 0 4 -1 3 4 0 -1 0 1 3 -1 0 0 0 -1 0 0 0 -1 3 0 0 +-1 3 0 4 -1 ] coord DEF tunnel_endwall-COORD Coordinate { +point [ -2.96 27.01 1.25 3.07 27.01 1.256 3.073 27.01 -2.68 -2.962 27.01 -2.688 +3.065 29.32 -2.684 3.069 29.32 1.262 -2.969 29.33 1.253 -2.969 29.33 -2.694 +2.88 29.32 1.262 -2.765 29.33 1.254 -2.755 27.01 1.25 2.875 27.01 1.256 -2.753 +27.01 -2.688 -2.759 29.33 -2.694 2.881 27.01 -2.68 2.874 29.32 -2.684 ] } +coordIndex [ 2 5 1 -1 5 2 4 -1 7 3 0 6 -1 8 11 1 5 -1 10 9 6 -1 6 0 10 -1 12 +10 0 -1 0 3 12 -1 9 13 7 -1 7 6 9 -1 13 9 10 12 -1 11 14 2 -1 2 1 11 -1 15 8 +5 -1 5 4 15 -1 11 8 15 -1 11 15 14 -1 ] texCoord DEF tunnel_endwall-TEXCOORD +TextureCoordinate { point [ -1.959 .4029 -1.958 .4021 -1.958 .9298 -1.958 +.9309 -1.36 .9312 -1.36 .4022 -1.359 .4034 -1.359 .9325 -1.36 .4031 ] } texCoordIndex +[ 2 5 1 -1 5 2 4 -1 7 3 0 6 -1 5 1 1 5 -1 0 8 6 -1 6 0 0 -1 3 0 0 -1 0 3 3 +-1 6 7 7 -1 7 6 6 -1 7 8 0 3 -1 1 2 2 -1 2 1 1 -1 4 5 5 -1 5 4 4 -1 1 5 4 +-1 1 4 2 -1 ] +} +} +] +} + +################## tunnel_endwall end + +################## tunnel_structure + +DEF tunnel_structure Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE blue_wall2 +geometry DEF tunnel_structure-FACES IndexedFaceSet { +solid FALSE +color +Color { color [ 1 1 1 0 .3176 .3961 0 .4431 .5529 .5922 .6902 .7608 .8549 +0 .5843 0 .6471 .7059 .5922 .7176 .7647 .9922 .9961 .9961 .01176 .01176 .01176 +] } colorIndex +[ 0 0 0 0 -1 3 0 0 0 -1 0 0 4 4 -1 6 0 4 3 -1 0 3 0 0 -1 0 0 1 -1 0 1 0 -1 1 +1 0 0 -1 2 0 5 -1 2 5 0 -1 7 0 0 -1 0 0 8 -1 ] coord DEF tunnel_structure-COORD +Coordinate { +point [ 2.659 4.684 3.5 2.654 4.161 4.177 -2.64 4.684 3.5 -2.636 4.165 4.172 +-2.636 16.59 4.214 2.654 16.59 4.225 -2.64 16.6 3.528 -2.76 27.01 1.25 2.876 +27.02 .5771 2.859 4.682 .2496 2.859 4.682 3.5 -2.84 4.683 .2417 -2.84 4.683 +3.5 2.859 16.6 3.528 -2.84 16.6 3.528 3.076 27.01 .5771 2.654 4.161 4.277 +-2.636 4.165 4.272 -2.632 21.04 2.672 -2.769 26.99 1.043 2.87 27.01 1.256 +2.871 26.99 1.06 2.658 21.05 2.659 2.659 4.684 .2496 -2.64 4.684 .2417 2.659 +16.6 3.528 2.658 20.93 2.92 -2.632 20.93 2.932 ] } +coordIndex [ 0 23 9 10 -1 25 0 10 13 -1 2 6 14 12 -1 24 2 12 11 -1 8 25 13 15 +-1 5 16 1 -1 4 3 17 -1 3 1 16 17 -1 7 27 18 -1 18 19 7 -1 26 20 21 -1 21 22 +26 -1 ] texCoord DEF tunnel_structure-TEXCOORD +TextureCoordinate { point [ -7.729 .09332 -7.865 .002363 -7.729 .09333 -7.864 +.003051 -4.651 .001897 -4.652 .000443 -4.65 .09388 -1.959 .4029 -1.956 .4931 +-7.73 .5291 -7.73 .09333 -7.729 .5301 -1.957 .4931 -7.865 -.01104 -7.864 -.01036 +-3.5 .2102 -1.964 .4307 -1.958 .4021 -1.964 .4284 -3.499 .2119 -7.729 .5291 +-4.65 .09387 -3.53 .1769 -3.531 .1752 ] } texCoordIndex +[ 0 20 9 10 -1 21 0 10 6 -1 2 6 6 10 -1 11 2 10 11 -1 8 21 6 12 -1 5 13 1 +-1 4 3 14 -1 3 1 13 14 -1 7 23 15 -1 15 16 7 -1 22 17 18 -1 18 19 22 -1 ] +} +} +] +} + +################## tunnel_structure end +]}#end tunnel group +################## brigde_bottom + +DEF bridge_bottom Transform { +translation 2.848 -4.474 -14.41 +rotation -1 0 0 -3.142 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE wood_floor +geometry DEF bridge_bottom-FACES IndexedFaceSet { +ccw FALSE +color +Color { color [ .9725 .4588 0 .8353 .5294 0 .7373 .9137 .9804 .6314 .7961 +1 .7686 .8706 1 .6706 .4118 0 .9294 .698 0 ] } colorIndex +[ 1 0 2 -1 2 2 1 -1 2 2 3 -1 3 4 2 -1 4 3 5 -1 5 6 4 -1 ] +coord DEF bridge_bottom-COORD +Coordinate { +point [ -7.033 -5.186 -15.27 7.407 -5.183 -15.28 -7.035 -5.179 -20.47 7.406 +-5.176 -20.48 -3.186 -5.175 -23.37 3.468 -5.172 -23.38 -3.193 -5.159 -40.13 +3.462 -5.156 -40.13 ] +} +texCoord DEF bridge_bottom-TEXCOORD +TextureCoordinate { point [ 1.813 2.813 -.8137 2.811 1.814 1.845 -.8134 1.844 +1.114 1.306 -.09709 1.305 1.115 -1.811 -.09585 -1.813 ] } coordIndex [ 1 0 2 +-1 2 3 1 -1 3 2 4 -1 4 5 3 -1 5 4 6 -1 6 7 5 -1 ] texCoordIndex +[ 1 0 2 -1 2 3 1 -1 3 2 4 -1 4 5 3 -1 5 4 6 -1 6 7 5 -1 ] +} +} +] +} + +################## brigde_bottom + + + + + + +################## water + +DEF water Transform { + +translation 1.915 -22.44 -68.64 +scale 1.38 1.38 1.38 +children [ + +DEF water-TIMER TimeSensor { loop TRUE cycleInterval 3.733 }, +DEF water-POS-INTERP PositionInterpolator { +key [0, 0.02679, 0.05357, 0.08036, 0.1071, 0.1339, 0.1607, 0.1875, +0.2143, 0.2411, 0.2679, 0.2946, 0.3214, 0.3482, 0.375, 0.4018, +0.4286, 0.4554, 0.4821, 0.5089, 0.5357, 0.5625, 0.5893, 0.6161, +0.6429, 0.6696, 0.6964, 0.7232, 0.75, 0.7768, 0.8036, 0.8304, +0.8571, 0.8839, 0.9107, 0.9375, 0.9643, 0.9911, 1, ] +keyValue [1.915 -22.44 -68.64, 1.915 -22.4 -68.64, 1.915 -22.37 -68.64, +1.915 -22.34 -68.64, 1.915 -22.32 -68.64, 1.915 -22.29 -68.64, +1.915 -22.27 -68.64, 1.915 -22.25 -68.64, 1.915 -22.23 -68.64, +1.915 -22.21 -68.64, 1.915 -22.19 -68.64, 1.915 -22.18 -68.64, +1.915 -22.17 -68.64, 1.915 -22.16 -68.64, 1.915 -22.15 -68.64, +1.915 -22.14 -68.64, 1.915 -22.13 -68.64, 1.915 -22.13 -68.64, +1.915 -22.13 -68.64, 1.915 -22.13 -68.64, 1.915 -22.13 -68.64, +1.915 -22.13 -68.64, 1.915 -22.14 -68.64, 1.915 -22.14 -68.64, +1.915 -22.15 -68.64, 1.915 -22.16 -68.64, 1.915 -22.18 -68.64, +1.915 -22.19 -68.64, 1.915 -22.2 -68.64, 1.915 -22.22 -68.64, +1.915 -22.24 -68.64, 1.915 -22.26 -68.64, 1.915 -22.28 -68.64, +1.915 -22.31 -68.64, 1.915 -22.34 -68.64, 1.915 -22.36 -68.64, +1.915 -22.39 -68.64, 1.915 -22.42 -68.64, 1.915 -22.44 -68.64, +] }, +Shape +{ +appearance USE water_d +geometry DEF water-FACES IndexedFaceSet { +solid FALSE +convex FALSE +color +Color { color [ 1 1 1 .4745 .7373 .8039 .1255 .4667 .4157 .007843 .3765 .549 +.4667 .7255 .6549 0 .4824 .6392 .4863 .902 .9059 0 .5294 .7255 .7569 .8667 +.9294 ] } colorIndex +[ 0 2 1 0 -1 0 0 3 2 -1 0 0 3 3 -1 0 0 3 3 -1 0 0 4 3 -1 0 0 1 4 -1 0 0 0 1 +-1 0 0 5 0 -1 0 0 0 5 -1 0 0 0 0 -1 0 0 5 0 -1 0 0 5 0 -1 0 0 6 5 -1 0 0 1 0 +-1 1 7 6 0 -1 1 2 7 7 -1 2 3 7 7 -1 3 3 7 7 -1 3 3 7 7 -1 3 4 0 7 -1 4 1 0 0 +-1 1 0 8 0 -1 0 5 0 8 -1 0 0 0 0 -1 5 6 5 0 -1 0 6 0 -1 0 6 7 7 -1 0 7 7 7 +-1 0 7 7 0 -1 0 0 0 8 -1 0 8 0 5 -1 0 0 8 0 -1 0 0 0 5 -1 0 5 6 -1 8 0 0 0 +-1 0 0 0 0 -1 0 0 0 0 -1 0 5 0 0 -1 ] coord DEF water-COORD Coordinate { +point [ 116.1 15.24 0 100.6 15.24 -39.49 58.05 15.24 -68.4 0 15.24 -78.98 +-58.05 15.24 -68.4 -100.6 15.24 -39.49 -116.1 15.24 0 -100.6 15.24 39.49 -58.05 +15.24 68.4 1.382e-005 15.24 78.98 58.05 15.24 68.4 100.6 15.24 39.49 77.4 +15.24 0 67.03 15.24 -26.33 38.7 15.24 -45.6 0 15.24 -52.66 -38.7 15.24 -45.6 +-67.03 15.24 -26.33 -77.4 15.24 0 -67.03 15.24 26.33 -38.7 15.24 45.6 12.03 +15.24 52.28 38.7 15.24 45.6 67.03 15.24 26.33 38.7 15.24 0 33.52 15.24 -13.16 +19.35 15.24 -22.8 0 15.24 -26.33 -19.35 15.24 -22.8 -33.52 15.24 -13.16 -38.7 +15.24 0 -33.52 15.24 13.16 -19.35 15.24 22.8 19.35 15.24 22.8 33.52 15.24 +13.16 0 15.24 0 -10.71 15.24 52.28 -10.71 15.24 39.5 -5.143 15.24 35.31 -2.402 +15.24 35.32 -1.83 15.24 35.87 3.168 15.24 35.87 3.754 15.24 35.23 6.52 15.24 +35.23 12.03 15.24 39.48 -1.233 15.24 24.26 0 15.24 24.26 2.582 15.24 24.25 +2.601 15.24 25.86 2.601 15.24 35.87 -1.235 15.24 26.12 -1.235 15.24 35.87 +] } +coordIndex [ 0 13 12 11 -1 0 1 14 13 -1 1 2 15 14 -1 2 3 16 15 -1 3 4 17 16 +-1 4 5 18 17 -1 5 6 19 18 -1 6 7 20 19 -1 7 8 36 20 -1 36 8 9 21 -1 9 10 22 +21 -1 44 21 22 43 -1 10 23 34 22 -1 10 11 12 23 -1 12 25 24 23 -1 12 13 26 25 +-1 13 14 27 26 -1 14 15 28 27 -1 15 16 29 28 -1 16 17 30 29 -1 17 18 31 30 +-1 18 19 32 31 -1 19 20 36 32 -1 49 41 42 48 -1 22 34 33 43 -1 23 24 35 -1 35 +24 25 26 -1 35 26 27 28 -1 35 28 29 30 -1 35 30 31 32 -1 35 32 46 33 -1 45 46 +32 50 -1 46 47 48 33 -1 35 33 34 -1 32 36 37 50 -1 50 37 38 39 -1 40 51 50 39 +-1 43 33 48 42 -1 ] texCoord DEF water-TEXCOORD +TextureCoordinate { point [ 3.687 1.428 3.26 .3793 2.093 -.3881 .5 -.669 -1.093 +-.3881 -2.26 .3793 -2.687 1.428 -2.26 2.476 -1.093 3.243 .5 3.524 2.093 3.243 +3.26 2.476 2.625 1.428 2.34 .7288 1.562 .2172 .5 .02991 -.5623 .2172 -1.34 +.7288 -1.625 1.428 -1.34 2.126 -.5623 2.638 .8302 2.815 1.562 2.638 2.34 2.126 +1.562 1.428 1.42 1.078 1.031 .8224 .5 .7288 -.03114 .8224 -.42 1.078 -.5623 +1.428 -.42 1.777 -.03113 2.033 1.031 2.033 1.42 1.777 .5 1.428 .206 2.815 +.206 2.476 .3588 2.365 .4341 2.365 .4498 2.38 .5869 2.38 .603 2.363 .679 2.363 +.8301 2.476 .4662 2.072 .5 2.072 .5709 2.071 .5714 2.114 .5714 2.38 .4661 +2.121 .4661 2.38 ] } texCoordIndex +[ 0 13 12 11 -1 0 1 14 13 -1 1 2 15 14 -1 2 3 16 15 -1 3 4 17 16 -1 4 5 18 17 +-1 5 6 19 18 -1 6 7 20 19 -1 7 8 36 20 -1 36 8 9 21 -1 9 10 22 21 -1 44 21 22 +43 -1 10 23 34 22 -1 10 11 12 23 -1 12 25 24 23 -1 12 13 26 25 -1 13 14 27 26 +-1 14 15 28 27 -1 15 16 29 28 -1 16 17 30 29 -1 17 18 31 30 -1 18 19 32 31 +-1 19 20 36 32 -1 49 41 42 48 -1 22 34 33 43 -1 23 24 35 -1 35 24 25 26 -1 35 +26 27 28 -1 35 28 29 30 -1 35 30 31 32 -1 35 32 46 33 -1 45 46 32 50 -1 46 47 +48 33 -1 35 33 34 -1 32 36 37 50 -1 50 37 38 39 -1 40 51 50 39 -1 43 33 48 42 +-1 ] +} +} +] +} + +################## water end + + +################## game_room_mstructure + +DEF gameroom_mstructure Transform { +translation -5.985 -4.348 -14.39 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE outer_wall11 +geometry DEF gameroom_mstructure-FACES IndexedFaceSet { +ccw FALSE +color +Color { color [ 1 1 1 .8941 .8667 .5647 .4196 .6314 .651 .3176 .5961 .6902 +0 .4588 .502 0 .298 .3961 .1451 .4745 .5843 .07059 .4078 .4941 .02745 .3686 +.4549 .1843 .5294 .5804 .03922 .3137 .5686 .2353 .4627 .5686 0 .3333 .4588 +.6039 .7608 .7843 0 .3843 .4196 .2706 .6078 .6667 .2118 .8902 .8353 .7569 +.8275 .8353 .1373 .5882 .6039 .2118 .5451 .5961 .302 .5843 .6353 0 .4824 .5255 +] } colorIndex +[ 0 0 0 0 -1 1 0 3 2 -1 0 4 5 3 -1 0 0 5 4 -1 6 0 0 0 -1 0 0 7 6 -1 0 0 0 7 +-1 0 0 0 0 -1 0 0 0 0 -1 8 0 0 -1 0 0 8 -1 0 8 0 -1 8 0 9 -1 2 9 0 -1 9 2 0 +-1 3 0 2 -1 0 3 10 -1 0 14 0 11 -1 0 0 6 0 -1 0 0 0 11 -1 0 7 0 -1 12 7 0 +-1 0 0 0 -1 0 0 0 -1 13 0 0 -1 0 0 13 -1 0 13 0 -1 13 0 0 -1 0 0 0 0 -1 0 0 +15 0 -1 0 4 0 15 -1 6 7 12 0 -1 5 0 10 3 -1 0 14 0 5 -1 0 16 18 17 -1 0 19 17 +18 -1 16 0 0 0 -1 0 0 19 0 -1 19 0 0 -1 19 0 0 -1 19 0 0 17 -1 0 0 0 -1 0 0 +17 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 20 0 -1 0 0 0 21 -1 21 20 0 0 -1 0 0 0 -1 0 +2 0 -1 1 2 0 0 -1 0 1 0 -1 1 0 0 -1 0 0 0 0 -1 ] coord DEF gameroom_mstructure-COORD +Coordinate { +point [ 15.72 -4.355 -4.9 22.06 .4371 -4.9 8.921 18.09 0 -6.939 18.11 0 -6.939 +18.11 -3.5 8.921 18.09 -3.5 -6.971 .1861 .008459 -6.971 .1863 -3.492 .7064 +-5.589 .008655 .7064 -5.588 -3.491 4.674 -5.594 0 4.674 -5.594 -3.5 5.498 +-4.684 0 5.498 -4.684 -3.5 8.921 -4.684 0 12.34 -4.684 0 12.34 -4.684 -3.5 +13.17 -5.594 0 13.17 -5.594 -3.5 17.13 -5.589 .008655 17.13 -5.588 -3.491 +24.81 .1861 .008459 24.81 .1863 -3.492 24.78 18.11 0 24.78 18.11 -3.5 -4.189 +15.24 -4.9 8.921 15.21 -4.9 -4.219 .4371 -4.9 2.121 -4.355 -4.9 5.411 -4.355 +-4.9 6.092 -3.603 -4.9 8.921 -3.603 -4.9 11.75 -3.603 -4.9 12.43 -4.355 -4.9 +22.03 15.24 -4.9 11.58 -4.684 -.2496 11.58 -4.684 -3.5 11.58 -4.161 -4.177 +6.281 -4.684 -.2417 6.281 -4.684 -3.5 6.286 -4.165 -4.172 8.921 -4.163 -4.174 +8.92 -4.684 -.2457 24.1 -.3358 -.8938 24.03 -.2417 -.8938 17.92 -5.006 -.8929 +17.85 -4.912 -.8929 17.85 -4.912 -2.951 17.92 -5.006 -2.951 24.1 -.3354 -2.952 +24.03 -.2413 -2.952 -6.261 -.3358 -.8938 -6.19 -.2417 -.8938 -.08013 -5.006 +-.8929 -.008788 -4.912 -.8929 -.009248 -4.912 -2.951 -.08059 -5.006 -2.951 +-6.262 -.3354 -2.952 -6.19 -.2413 -2.952 ] } +coordIndex [ 2 3 4 5 -1 8 10 11 9 -1 10 12 13 11 -1 38 39 13 12 -1 16 36 35 +15 -1 15 17 18 16 -1 17 19 20 18 -1 21 23 24 22 -1 23 2 5 24 -1 25 5 4 -1 26 +5 25 -1 7 25 4 -1 25 7 27 -1 9 27 7 -1 27 9 28 -1 11 28 9 -1 28 11 29 -1 30 +40 41 31 -1 37 36 16 32 -1 41 37 32 31 -1 0 18 20 -1 33 18 0 -1 1 20 22 -1 0 +20 1 -1 34 22 24 -1 1 22 34 -1 5 34 24 -1 34 5 26 -1 3 6 7 4 -1 15 35 42 14 +-1 38 12 14 42 -1 16 18 33 32 -1 13 30 29 11 -1 39 40 30 13 -1 43 44 46 45 +-1 47 48 45 46 -1 44 43 49 50 -1 50 49 48 47 -1 48 49 22 -1 48 22 20 -1 48 20 +19 45 -1 21 43 19 -1 19 43 45 -1 22 49 43 21 -1 51 53 54 52 -1 53 56 55 54 +-1 57 51 52 58 -1 58 55 56 57 -1 56 7 57 -1 56 9 7 -1 8 9 56 53 -1 6 8 51 +-1 8 53 51 -1 51 57 7 6 -1 ] texCoord DEF gameroom_mstructure-TEXCOORD +TextureCoordinate { point [ .548 .4554 1.397 .4554 1.402 .09373 .5487 .09584 +.6144 .4512 .4074 .4532 .4074 .2107 .1965 .4532 .3664 .7454 .3924 .7168 .5 +.7168 .6076 .7168 .6336 .7454 .1281 .1405 .2861 .1405 .915 .1429 .9192 .4478 +1.397 .0978 -.3047 .09373 .1965 .2107 .08755 .4526 .3896 .7064 .411 .6828 +.5 .6828 .589 .6828 .6104 .7064 .06447 .4486 .9192 .2304 .5941 .7168 .5939 +.7003 .417 .7168 .5 .7004 .4572 .7005 .543 .7004 .5076 .7168 .1077 .5716 .11 +.5686 .2622 .6883 .2644 .6853 .06447 .2286 .1633 .4492 .1633 .2291 .3547 .4492 +.08755 .2101 .3318 .1131 .1577 .1131 .0673 .1131 .6144 .2135 .9478 .4518 .9478 +.2141 .6678 .1185 .9431 .1185 .3879 .3907 .2181 .3907 .2182 .2481 .3879 .2481 +.3547 .2291 .04609 .1405 .337 .3924 .1829 .3925 .1829 .2631 .337 .263 .6144 +.4472 .6144 .2298 .6632 .1429 .548 .0978 -.3011 .4554 -.3011 .0978 1.254 .4423 +.5487 .44 -.1567 .4423 ] } texCoordIndex +[ 0 1 17 65 -1 7 20 43 19 -1 8 9 9 8 -1 30 30 9 9 -1 11 28 28 11 -1 11 12 12 +11 -1 26 40 41 39 -1 16 62 63 27 -1 66 0 65 67 -1 68 3 2 -1 69 3 68 -1 49 50 +47 -1 50 49 51 -1 19 44 6 -1 44 19 45 -1 43 45 19 -1 45 43 46 -1 22 32 31 23 +-1 29 28 11 24 -1 31 33 24 23 -1 13 39 41 -1 57 39 13 -1 14 41 56 -1 13 41 14 +-1 64 27 63 -1 15 27 64 -1 3 70 18 -1 70 3 69 -1 4 48 49 47 -1 11 28 34 10 +-1 30 9 10 10 -1 11 12 25 24 -1 9 22 21 8 -1 30 32 22 9 -1 35 36 38 37 -1 38 +37 37 38 -1 36 35 35 36 -1 36 35 37 38 -1 60 61 56 -1 60 56 41 -1 60 41 40 59 +-1 42 58 40 -1 40 58 59 -1 56 61 58 42 -1 35 37 38 36 -1 37 37 38 38 -1 35 35 +36 36 -1 36 38 37 35 -1 54 6 55 -1 54 19 6 -1 7 19 54 53 -1 5 7 52 -1 7 53 52 +-1 52 55 6 5 -1 ] +} +} +] +} + +################## game_room_mstructure end + + + + + +DEF t_outer_wall Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE outer_wall12 +geometry DEF t_outer_wall-FACES IndexedFaceSet { +solid FALSE +color +Color { color [ 0 .3176 .4667 1 1 1 .01176 .302 .4667 .9333 1 .9882 .7529 +.6588 .8157 .4157 .5686 .6549 ] } colorIndex +[ 1 3 1 0 -1 1 1 2 1 -1 4 1 3 1 -1 1 5 1 1 -1 ] +coord DEF t_outer_wall-COORD +Coordinate { +point [ 2.859 4.682 .2496 2.859 4.682 3.5 -2.84 4.683 .2417 -2.84 4.683 3.5 +-2.84 16.6 .2693 2.859 16.6 3.528 -2.84 16.6 3.528 3.073 27.01 -2.68 3.076 +27.01 .5771 -2.963 27.02 .5771 2.859 16.6 .2772 -2.962 27.01 -2.688 ] } +coordIndex [ 10 5 1 0 -1 6 4 2 3 -1 7 8 5 10 -1 9 11 4 6 -1 ] +texCoord DEF +t_outer_wall-TEXCOORD +TextureCoordinate { point [ .5686 .4526 .5698 .1203 .431 .1203 .5702 .4526 +.569 .1203 .4298 .1203 .4298 .4526 .431 .4526 .4446 1.148 .4321 1.413 .5579 +1.437 .4292 1.17 .4421 1.436 .5682 1.412 .5708 1.172 .5556 1.146 ] } texCoordIndex +[ 0 6 2 1 -1 3 7 5 4 -1 8 14 10 9 -1 11 15 13 12 -1 ] +} +} +] +} + +################## underwater_tunnel_outerwall end + +]}#end upper level geometry +DEF GroupDown Group +{#lower level geometry +children[ +USE elevator +USE tunnel +USE water +USE gameroom_mstructure +USE t_outer_wall + + +################## game_room_walls + +DEF game_room_walls Transform { +translation -5.985 -4.348 -14.39 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +DEF game_room_walls-TIMER TimeSensor { loop TRUE cycleInterval 3.733 }, +Shape +{ +appearance USE outer_wall11 +geometry DEF game_room_walls-FACES IndexedFaceSet { +ccw FALSE +solid FALSE +color +DEF chsl_8 +Color { color [ 0 .9647 1 1 1 1 .2941 .5882 .6 0 .8235 .8353 0 .2588 .7882 +0 .9882 1 0 .4353 .5451 .4 .6667 .6745 0 .902 .9137 .7255 .9922 1 ] } colorIndex +[ 1 1 0 -1 1 1 1 -1 2 1 1 -1 1 1 1 -1 ] +coord DEF game_room_walls-COORD Coordinate +{ +point [ 12.4 -4.575 0 12.4 -4.575 -3.5 8.921 -4.575 0 5.446 -4.575 0 5.446 +-4.575 -3.5 11.58 -4.575 -.2488 11.58 -4.575 -3.5 6.281 -4.575 -.2382 6.281 +-4.575 -3.502 8.918 -4.575 -.2417 12.47 -4.258 -4.9 11.79 -3.513 -4.9 8.921 +-3.513 -4.9 6.049 -3.513 -4.9 5.376 -4.258 -4.9 11.57 -4.064 -4.174 6.278 +-4.068 -4.169 8.921 -4.066 -4.171 13.21 -5.476 -3.5 4.631 -5.476 -3.5 13.21 +-5.476 0 24.62 18 0 24.67 .2409 .00846 24.67 .2411 -3.492 24.62 18 -3.5 17.06 +-5.481 .008655 17.06 -5.481 -3.491 4.631 -5.476 0 .7809 -5.481 .008655 .7809 +-5.481 -3.491 -6.831 .2409 .00846 -6.831 .2411 -3.492 -6.729 17.98 0 -6.729 +17.98 -3.5 24.03 -.2417 -.8938 17.85 -4.912 -.8929 17.85 -4.912 -2.951 24.03 +-.2413 -2.952 -6.19 -.2417 -.8938 -.008788 -4.912 -.8929 -.009248 -4.912 -2.951 +-6.19 -.2413 -2.952 ] +} +texCoord DEF game_room_walls-TEXCOORD +TextureCoordinate { point [ -.3861 .9061 1.386 .9061 -.4042 .09389 -.2324 +.09385 .5001 .09385 1.232 .09385 1.404 .09389 -.1775 .9061 -.1754 .5151 1.173 +.9048 1.174 .5181 .5001 .5167 -.5939 .9062 1.594 .9061 -.362 .9989 -.1591 +.07376 -.1591 .9989 -.362 .002963 1.361 .9989 1.154 .9995 1.361 .002962 1.154 +.07075 .4998 .002963 .5005 .07174 -.5641 .9989 -1.518 .9964 -.5641 .002963 +-1.518 .000501 2.518 .9964 1.563 .9989 1.563 .002962 2.518 .000499 3.602 .9962 +3.172 .8426 3.602 3.305e-005 3.171 .2569 -1.509 .000614 -.9865 .2572 -1.508 +.9968 -.9859 .8429 -1.711 .9993 -1.71 .000555 -1.262 .8452 -1.261 .258 3.609 +.000706 3.066 .2579 3.609 .9994 3.066 .8452 -2.683 .005614 -2.683 1.002 3.333 +.008025 3.333 1.005 -2.467 .9965 3.467 .002244 3.467 .9988 -2.467 -.000161 +4.496 .000496 4.496 .9995 -3.496 .000504 -3.496 .9995 ] } coordIndex [ 2 5 0 +-1 9 5 2 -1 3 7 2 -1 7 9 2 -1 ] texCoordIndex +[ 22 15 17 -1 23 15 22 -1 20 21 22 -1 21 23 22 -1 ] +} +} +Shape +{ +appearance USE blue_wall2 +geometry DEF game_room_walls-FACES IndexedFaceSet { +ccw FALSE +color +USE chsl_8 +colorIndex +[ 1 1 1 -1 1 0 1 -1 1 1 2 -1 1 2 1 -1 3 1 3 -1 3 1 1 -1 3 3 1 -1 3 1 1 -1 1 +3 1 -1 3 1 1 -1 3 3 1 -1 3 1 3 -1 1 1 1 -1 1 1 3 -1 1 3 1 -1 3 1 1 -1 1 1 9 +-1 1 1 1 -1 1 5 1 -1 1 5 1 -1 1 5 6 -1 1 6 1 -1 1 1 1 -1 1 1 6 -1 1 1 1 -1 1 +1 1 -1 1 1 1 -1 1 1 1 -1 1 8 1 -1 1 1 8 -1 1 1 1 -1 1 8 1 -1 1 1 1 -1 1 1 1 +-1 4 1 1 -1 1 1 9 -1 5 1 4 -1 4 1 1 -1 1 1 1 -1 1 1 6 -1 1 1 7 -1 1 7 8 -1 1 +1 7 -1 7 1 2 -1 1 1 0 -1 0 1 1 -1 ] +coord USE game_room_walls-COORD +texCoord USE game_room_walls-TEXCOORD +coordIndex [ 1 5 6 -1 1 0 5 -1 4 8 3 -1 7 3 8 -1 10 1 11 -1 12 15 17 -1 12 11 +15 -1 13 8 4 -1 8 13 16 -1 13 17 16 -1 13 12 17 -1 13 4 14 -1 6 15 1 -1 1 15 +11 -1 1 10 18 -1 14 4 19 -1 31 32 33 -1 31 30 32 -1 23 22 37 -1 37 22 34 -1 +34 22 25 -1 34 25 35 -1 26 36 35 -1 26 35 25 -1 36 26 23 -1 36 23 37 -1 31 41 +30 -1 41 38 30 -1 38 28 30 -1 38 39 28 -1 29 39 40 -1 29 28 39 -1 40 31 29 +-1 40 41 31 -1 21 24 32 -1 32 24 33 -1 22 23 21 -1 21 23 24 -1 18 26 20 -1 20 +26 25 -1 29 19 27 -1 29 27 28 -1 19 4 27 -1 27 4 3 -1 1 18 0 -1 0 18 20 -1 +] texCoordIndex +[ 14 15 16 -1 14 17 15 -1 18 19 20 -1 21 20 19 -1 2 0 3 -1 4 8 11 -1 4 3 8 +-1 5 9 1 -1 9 5 10 -1 5 11 10 -1 5 4 11 -1 5 1 6 -1 7 8 0 -1 0 8 3 -1 0 2 12 +-1 6 1 13 -1 52 53 54 -1 52 55 53 -1 40 41 42 -1 42 41 43 -1 43 41 44 -1 43 +44 45 -1 46 47 45 -1 46 45 44 -1 47 46 40 -1 47 40 42 -1 32 33 34 -1 33 35 34 +-1 35 36 34 -1 35 37 36 -1 38 37 39 -1 38 36 37 -1 39 32 38 -1 39 33 32 -1 56 +57 58 -1 58 57 59 -1 48 49 50 -1 50 49 51 -1 24 25 26 -1 26 25 27 -1 28 29 30 +-1 28 30 31 -1 29 18 30 -1 30 18 20 -1 14 24 17 -1 17 24 26 -1 ] +} +} +] +} + +################## game_room_walls end + +################## game_room_floor + +DEF game_room_floor Transform { +translation 2.848 3.784 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE mb_floor5 +geometry DEF game_room_floor-FACES IndexedFaceSet { +coord DEF game_room_floor-COORD Coordinate { +point [ 8.146 5.473 -8.027 15.75 -.2677 -8.027 15.7 -18 -8.027 0 -17.97 -8.027 +3.476 4.572 -8.027 4.291 5.473 -8.027 -3.475 4.572 -8.027 -15.75 -.2677 -8.027 +-15.7 -18 -8.027 -4.29 5.473 -8.027 -8.146 5.473 -8.027 ] } +coordIndex [ 1 0 3 2 -1 5 4 3 0 -1 3 4 6 7 -1 8 3 7 -1 6 9 10 7 -1 ] +texCoord +DEF game_room_floor-TEXCOORD +TextureCoordinate { point [ .2419 .9566 .002729 .7732 .002328 .3008 .498 .3018 +.3887 .9278 .3631 .9566 .6073 .9278 .9933 .7732 .9937 .3008 .6329 .9566 .7542 +.9566 ] } texCoordIndex +[ 1 0 3 2 -1 5 4 3 0 -1 3 4 6 7 -1 8 3 7 -1 6 9 10 7 -1 ] +} +} +] +} + +################## game_room_floor end + + + + +################## game_room_ceiling01 + +DEF gameroom_ceiling01 Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +DEF gameroom_ceiling01-TIMER TimeSensor { loop TRUE cycleInterval 3.733 }, +Shape +{ +appearance USE b_light2 +geometry DEF gameroom_ceiling01-FACES IndexedFaceSet { +coord DEF gameroom_ceiling01-COORD Coordinate { +point [ -3.545 4.258 4.9 -6.741 4.247 4.896 -6.751 -15.16 4.902 6.732 4.258 +4.9 3.547 4.258 4.9 2.873 3.513 4.9 -2.872 3.513 4.9 6.74 -15.14 4.901 ] +} +texCoord DEF gameroom_ceiling01-TEXCOORD +TextureCoordinate { point [ 3.406 4.09 6.03 4.086 6.038 -3.09 -5.032 4.09 +-2.417 4.09 -1.863 3.814 2.854 3.814 -5.038 -3.086 ] } coordIndex [ 3 2 4 +-1 4 2 5 -1 5 2 6 -1 6 2 0 -1 0 2 1 -1 7 2 3 -1 ] texCoordIndex +[ 3 2 4 -1 4 2 5 -1 5 2 6 -1 6 2 0 -1 0 2 1 -1 7 2 3 -1 ] +} +} +Shape +{ +appearance USE blue_wall2 +geometry DEF gameroom_ceiling01-FACES IndexedFaceSet { +coord USE gameroom_ceiling01-COORD +texCoord USE gameroom_ceiling01-TEXCOORD +} +} +] +} +################## game_room_ceiling01 end + +################## game_room_ceiling02 + +DEF game_room_ceiling02 Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE b_light2 +geometry DEF game_room_ceiling02-FACES IndexedFaceSet { +convex FALSE +color +DEF chsl_9 +Color { color [ 1 1 1 0 .498 .6627 0 .5922 .6784 0 .9882 1 .1333 .9608 .8941 +] } colorIndex +[ 0 2 4 0 -1 0 1 0 0 -1 0 0 0 -1 0 0 1 0 -1 0 1 0 -1 1 3 0 0 -1 0 1 0 0 -1 0 +0 0 -1 0 0 0 -1 ] +coord DEF game_room_ceiling02-COORD Coordinate +{ +point [ -6.741 4.247 4.896 -6.751 -15.16 4.902 12.98 -15.14 4.9 13.01 -.4866 +4.9 6.732 4.258 4.9 -12.98 -15.14 4.9 -13.01 -.4866 4.9 -12.57 -9.938 4.9 +-12.56 -5.781 4.9 -8.988 -5.781 4.899 -8.984 -9.937 4.899 6.74 -15.14 4.901 +] } +coordIndex [ 3 2 11 4 -1 7 5 6 8 -1 6 0 8 -1 9 0 1 10 -1 10 5 7 -1 1 5 10 0 +-1 0 1 10 9 -1 0 9 8 -1 0 10 9 -1 ] texCoord DEF game_room_ceiling02-TEXCOORD +TextureCoordinate { point [ 1.283 .9287 2.01 .9947 .7014 .9283 -.03862 .9995 +.7014 .3585 -.7004 .000499 2.012 .002106 1.282 .358 .9724 .9995 1.613 .000499 +-1.006 .001785 -1.005 .9947 ] } texCoordIndex +[ 8 11 10 9 -1 0 1 3 2 -1 3 5 2 -1 4 5 6 7 -1 7 1 0 -1 6 1 7 5 -1 5 6 7 4 +-1 5 4 2 -1 5 7 4 -1 ] +} +} +Shape +{ +appearance USE blue_wall2 +geometry DEF game_room_ceiling02-FACES IndexedFaceSet { +convex FALSE +color +USE chsl_9 +colorIndex +[ 0 2 4 0 -1 0 1 0 0 -1 0 0 0 -1 0 0 1 0 -1 0 1 0 -1 1 3 0 0 -1 0 1 0 0 -1 0 +0 0 -1 0 0 0 -1 ] coord USE game_room_ceiling02-COORD +coordIndex [ 3 2 11 4 -1 7 5 6 8 -1 6 0 8 -1 9 0 1 10 -1 10 5 7 -1 1 5 10 0 +-1 0 1 10 9 -1 0 9 8 -1 0 10 9 -1 ] +texCoord USE game_room_ceiling02-TEXCOORD +texCoordIndex +[ 8 11 10 9 -1 0 1 3 2 -1 3 5 2 -1 4 5 6 7 -1 7 1 0 -1 6 1 7 5 -1 5 6 7 4 +-1 5 4 2 -1 5 7 4 -1 ] +} +} +] +} + +################## game_room_ceiling02 end + +################## gameroom_ceiling03 + +DEF gameroom_ceiling03 Transform { +translation -5.985 -4.348 -14.39 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE wall_text5 +geometry DEF gameroom_ceiling03-FACES IndexedFaceSet { +ccw FALSE +coord DEF gameroom_ceiling03-COORD Coordinate { +point [ 22 .4618 -4.9 15.65 -4.258 -4.9 24.67 .2411 -3.492 24.62 18 -3.5 17.06 +-5.481 -3.491 13.21 -5.476 -3.5 4.631 -5.476 -3.5 .7809 -5.481 -3.491 -6.831 +.2411 -3.492 -6.779 18 -3.5 21.9 15.14 -4.9 12.47 -4.258 -4.9 5.376 -4.258 +-4.9 2.189 -4.258 -4.9 -4.089 .4866 -4.9 -4.059 15.14 -4.9 ] } +coordIndex [ 0 10 2 -1 2 10 3 -1 9 3 10 15 -1 9 15 14 8 -1 14 13 8 -1 8 13 7 +-1 0 2 1 -1 1 2 4 -1 11 1 4 5 -1 13 12 6 7 -1 ] texCoord DEF gameroom_ceiling03-TEXCOORD +TextureCoordinate { point [ -2.142 .9995 3.142 .9995 2.685 .000495 -1.685 +.000507 1.681 .000499 -1.21 .000499 -1.244 .9995 2.253 .9936 -.4035 .9994 +.1006 .0005 2.088 .000499 1.991 .9995 .2333 .000499 1.189 .000499 .9659 .9934 +-.1893 .9995 1.686 .000499 2.217 .9936 -1.136 .9995 -1.08 .000498 -.2674 .0005 +1.795 .000499 2.335 .9994 -.1613 .9995 -.3741 .0005 .8384 .0005 1.374 .9995 +-.09069 .9935 ] } texCoordIndex +[ 5 4 6 -1 6 4 7 -1 1 0 3 2 -1 17 16 19 18 -1 21 20 22 -1 22 20 23 -1 9 8 10 +-1 10 8 11 -1 13 12 15 14 -1 25 24 27 26 -1 ] +} +} +] +} + +################## gameroom_ceiling03 end + + + +#################### bump_rock +DEF bump_rock Transform { +translation 36.18 -11.72 -92.64 +rotation -0.9631 -0.000271 -0.2691 -0.002091 +children [ +Shape +{ +appearance USE sea_rock_decor +geometry DEF bump_rock-FACES IndexedFaceSet { +color +DEF chsl_10 +Color { color [ 1 1 1 0 .4471 .4118 .1451 .7686 .6 .2824 .5176 1 .302 .4078 +.7569 .1333 .2275 .3961 ] } colorIndex +[ 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 +1 0 -1 0 0 0 -1 0 0 2 -1 0 2 0 -1 0 2 3 -1 0 3 0 -1 0 3 0 -1 0 0 0 -1 0 0 4 +-1 0 4 0 -1 0 4 5 -1 0 5 0 -1 0 5 0 -1 0 0 0 -1 0 0 1 -1 0 1 0 -1 ] coord +DEF bump_rock-COORD Coordinate { +point [ -.007224 .9143 .02586 -.004361 1.975 -9.709 -6.881 1.975 -6.861 -5.992 +1.973 .01561 -3.494 1.972 6.196 -.00436 1.97 7.514 6.872 1.972 5.434 16.28 +1.971 .01561 10.55 1.972 -7.029 0 -.004432 -15.95 -9.725 0 -9.725 -16.31 .001441 +0 -9.725 0 9.725 0 0 13.75 9.725 0 9.725 20.32 -.003694 0 16.29 -.003694 -9.725 +] } +coordIndex [ 0 1 2 -1 0 2 3 -1 0 3 4 -1 0 4 5 -1 0 5 6 -1 0 6 7 -1 0 7 8 -1 +0 8 1 -1 1 9 10 -1 1 10 2 -1 2 10 11 -1 2 11 3 -1 3 11 12 -1 3 12 4 -1 4 12 +13 -1 4 13 5 -1 5 13 14 -1 5 14 6 -1 6 14 15 -1 6 15 7 -1 7 15 16 -1 7 16 8 +-1 8 16 9 -1 8 9 1 -1 ] texCoord DEF bump_rock-TEXCOORD +TextureCoordinate { point [ .3855 .1904 .3858 .6194 -.1774 .4939 -.1046 .1908 +.09998 -.08154 .3858 -.1396 .9489 -.04796 1.72 .1908 1.25 .5013 .3861 .8945 +-.4103 .6201 -.95 .1915 -.4103 -.237 .3861 -.4145 1.183 -.237 2.05 .1915 1.72 +.6201 ] } texCoordIndex +[ 0 1 2 -1 0 2 3 -1 0 3 4 -1 0 4 5 -1 0 5 6 -1 0 6 7 -1 0 7 8 -1 0 8 1 -1 1 +9 10 -1 1 10 2 -1 2 10 11 -1 2 11 3 -1 3 11 12 -1 3 12 4 -1 4 12 13 -1 4 13 +5 -1 5 13 14 -1 5 14 6 -1 6 14 15 -1 6 15 7 -1 7 15 16 -1 7 16 8 -1 8 16 9 +-1 8 9 1 -1 ] +} +} +] +} +#################### bump_rock end + +#################### rock_bump2 +DEF bump_rock01 Transform { +translation -38.69 -11.72 -86.48 +rotation -0.9631 -0.000271 -0.2691 -0.002091 +children [ +Shape +{ +appearance USE sea_rock_decor +geometry DEF bump_rock01-FACES IndexedFaceSet { +color +USE chsl_10 +colorIndex +[ 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 +1 0 -1 0 0 0 -1 0 0 2 -1 0 2 0 -1 0 2 3 -1 0 3 0 -1 0 3 0 -1 0 0 0 -1 0 0 4 +-1 0 4 0 -1 0 4 5 -1 0 5 0 -1 0 5 0 -1 0 0 0 -1 0 0 1 -1 0 1 0 -1 ] coord +DEF bump_rock01-COORD Coordinate { +point [ -.004497 5.762 .01609 -.002987 4.417 -9.714 -6.88 4.417 -6.866 -5.991 +4.415 .01069 -3.493 4.414 6.192 -.002985 4.412 7.509 6.874 4.414 5.429 16.29 +4.413 .0107 10.55 4.415 -7.034 0 -.004432 -15.95 -9.725 0 -9.725 -16.31 .001441 +0 -9.725 0 9.725 0 0 13.75 9.725 0 9.725 20.32 -.003694 0 20.48 -.006053 -9.725 +] } +coordIndex [ 0 1 2 -1 0 2 3 -1 0 3 4 -1 0 4 5 -1 0 5 6 -1 0 6 7 -1 0 7 8 -1 +0 8 1 -1 1 9 10 -1 1 10 2 -1 2 10 11 -1 2 11 3 -1 3 11 12 -1 3 12 4 -1 4 12 +13 -1 4 13 5 -1 5 13 14 -1 5 14 6 -1 6 14 15 -1 6 15 7 -1 7 15 16 -1 7 16 8 +-1 8 16 9 -1 8 9 1 -1 ] texCoord DEF bump_rock01-TEXCOORD +TextureCoordinate { point [ .3855 .1904 .3858 .6194 -.1774 .4939 -.1046 .1908 +.09998 -.08154 .3858 -.1396 .9489 -.04796 1.72 .1908 1.25 .5013 .3861 .8945 +-.4103 .6201 -.95 .1915 -.4103 -.237 .3861 -.4145 1.183 -.237 2.05 .1915 1.72 +.6201 ] } texCoordIndex +[ 0 1 2 -1 0 2 3 -1 0 3 4 -1 0 4 5 -1 0 5 6 -1 0 6 7 -1 0 7 8 -1 0 8 1 -1 1 +9 10 -1 1 10 2 -1 2 10 11 -1 2 11 3 -1 3 11 12 -1 3 12 4 -1 4 12 13 -1 4 13 +5 -1 5 13 14 -1 5 14 6 -1 6 14 15 -1 6 15 7 -1 7 15 16 -1 7 16 8 -1 8 16 9 +-1 8 9 1 -1 ] +} +} +] +} +#################### rock_bump2 end + +#################### gameroom_windows + +DEF lower_level_windows Transform { +translation 2.822 -2.416 -17.04 +children [ +DEF lower_level_windows-TIMER TimeSensor { loop TRUE cycleInterval 2 }, +DEF upper_floor_window_right03 Transform { +translation 6.905 -6.856 1.876 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE window +geometry DEF upper_floor_window_right03-FACES IndexedFaceSet { +solid FALSE +coord DEF upper_floor_window_right03-COORD Coordinate { +point [ -22.81 -.9761 5.858 -15.14 4.77 5.857 -15.14 4.771 7.988 -22.81 -.9753 +7.99 ] } +coordIndex [ 2 3 0 1 -1 ] texCoord DEF upper_floor_window_right03-TEXCOORD +TextureCoordinate { point [ 1.025 -2.617 1.027 3.737 -.04894 3.738 -.05163 +-2.616 ] } texCoordIndex +[ 2 3 0 1 -1 ] +} +} +] +}, +DEF upper_floor_window_right02 Transform { +translation -6.905 -6.856 1.876 +rotation -1 0 0 -1.571 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE window +geometry DEF upper_floor_window_right02-FACES IndexedFaceSet { +ccw FALSE +solid FALSE +coord DEF upper_floor_window_right02-COORD Coordinate { +point [ 22.81 .9761 -5.858 15.14 -4.77 -5.857 15.14 -4.771 -7.988 22.81 .9753 +-7.99 ] } +coordIndex [ 2 3 0 1 -1 ] texCoord DEF upper_floor_window_right02-TEXCOORD +TextureCoordinate { point [ 1.025 -2.617 1.027 3.737 -.04894 3.738 -.05163 +-2.616 ] } texCoordIndex +[ 2 3 0 1 -1 ] +} +} +] +} +] +} + +#################### gameroom_windows end + + +################## underwater_tunnel_bottom + +DEF underwater_tunnel_bottom Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +DEF underwater_tunnel_bottom-TIMER TimeSensor { loop TRUE cycleInterval 2 }, +Shape +{ +appearance USE outer_wall11 +geometry DEF underwater_tunnel_bottom-FACES IndexedFaceSet { +coord DEF underwater_tunnel_bottom-COORD Coordinate { +point [ 2.659 4.684 .2496 -2.64 4.684 .2417 2.659 17.11 .277 -2.64 17.11 .2691 +2.667 26.82 -2.508 -2.631 26.82 -2.516 2.659 4.659 .05118 -2.64 4.659 .04321 +2.659 17.09 .07857 -2.639 17.09 .0706 2.667 26.79 -2.707 -2.631 26.79 -2.715 +] +} +texCoord DEF underwater_tunnel_bottom-TEXCOORD +TextureCoordinate { point [ .5941 .7168 .417 .7168 .3791 .4751 .3791 .07703 +.6209 .07703 .6209 .4751 .3853 .4484 .3857 .07982 .6147 .07981 .6143 .4484 +] } coordIndex [ 10 8 9 -1 10 9 11 -1 8 6 7 -1 8 7 9 -1 2 0 6 -1 6 8 2 -1 1 +3 9 -1 9 7 1 -1 4 2 8 -1 8 10 4 -1 3 5 11 -1 11 9 3 -1 ] texCoordIndex +[ 6 7 8 -1 6 8 9 -1 2 3 4 -1 2 4 5 -1 0 0 0 -1 0 0 0 -1 1 1 1 -1 1 1 1 -1 0 +0 0 -1 0 0 0 -1 1 1 1 -1 1 1 1 -1 ] +} +} +] +} + +################## underwater_tunnel_bottom end + +################## support_wall + +DEF support_wall Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE outer_wall12 +geometry DEF support_wall-FACES IndexedFaceSet { +solid FALSE +coord DEF support_wall-COORD Coordinate { +point [ -7.273 65.37 -2.795 7.866 65.36 -2.815 -3.576 68.67 -2.8 4.168 68.66 +-2.819 -7.273 65.57 -2.795 7.866 65.56 -2.815 -3.576 68.87 -2.8 4.168 68.86 +-2.82 -7.285 65.36 -8.095 7.854 65.35 -8.115 -3.588 68.66 -8.1 4.156 68.65 +-8.12 -7.284 65.56 -8.096 7.855 65.55 -8.116 -3.587 68.86 -8.1 4.156 68.85 +-8.12 ] } +coordIndex [ 0 4 12 8 -1 5 1 9 13 -1 3 2 10 11 -1 6 7 15 14 -1 2 0 8 10 -1 4 +6 14 12 -1 1 3 11 9 -1 7 5 13 15 -1 ] texCoord DEF support_wall-TEXCOORD +TextureCoordinate { point [ -.5673 .06942 1.569 .07086 -.04564 .06974 1.047 +.07118 -.5673 .06945 1.569 .07089 -.04561 .06977 1.047 .07121 -.5689 .4533 +1.567 .4547 -.04725 .4536 1.045 .455 1.567 .4548 -.04722 .4536 1.045 .4551 +] } texCoordIndex +[ 0 4 8 8 -1 5 1 9 12 -1 3 2 10 11 -1 6 7 14 13 -1 2 0 8 10 -1 4 6 13 8 -1 1 +3 11 9 -1 7 5 12 14 -1 ] +} +} +] +} + +################## support_wall end + + + +################## underwater_level_1 + +DEF underwater_level_1 Transform { +translation -3.946 -11.95 -34.19 +children [ +Shape +{ +appearance USE sea_decor3 +geometry DEF underwater_level_1-FACES IndexedFaceSet { +solid FALSE +color +Color { color [ 1 1 1 .5922 .5059 .7686 .2039 .4431 .5333 0 .3882 .5137 .9608 +0 .451 ] } colorIndex +[ 0 0 0 0 -1 0 0 2 0 -1 0 2 3 0 -1 0 0 3 -1 0 0 0 0 -1 0 0 1 0 -1 1 0 0 0 +-1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 1 0 4 -1 ] +coord DEF underwater_level_1-COORD +Coordinate { +point [ -30.16 7.6 33.93 16.64 7.6 37.3 -27.91 7.6 16.68 10.45 7.6 21.18 -50.52 +7.6 47.76 -25.14 7.6 52.46 8.767 7.6 52.83 40.83 7.6 48.15 -54.37 7.6 26.52 +49.95 7.6 25.48 -49.21 7.6 10.34 35.88 7.6 22.87 -36.26 7.6 2.984 -13.87 7.6 +-.8752 7.665 7.6 3.599 24.62 7.6 12.07 ] } +coordIndex [ 8 4 0 2 -1 0 4 5 1 -1 1 5 6 9 -1 7 9 6 -1 10 8 2 13 -1 2 0 3 14 +-1 3 0 1 11 -1 9 11 1 -1 12 10 13 -1 13 2 14 -1 14 3 11 15 -1 ] +texCoord DEF +underwater_level_1-TEXCOORD +TextureCoordinate { point [ -.381 -1.145 1.424 .4063 -.6379 .1848 .8758 1.332 +-.8638 -2.925 .1714 -2.29 1.438 -1.016 2.536 .5515 -1.426 -1.539 2.427 2.536 +-1.554 -.1749 1.853 2.185 -1.219 .8525 -.463 1.99 .4249 2.493 1.222 2.532 +] } texCoordIndex +[ 8 4 0 2 -1 0 4 5 1 -1 1 5 6 9 -1 7 9 6 -1 10 8 2 13 -1 2 0 3 14 -1 3 0 1 11 +-1 9 11 1 -1 12 10 13 -1 13 2 14 -1 14 3 11 15 -1 ] +} +} +] +} + +################## underwater_level_1 end + +################## underwater_level_ledge + +DEF underwater_level_ledge Transform { +translation -0.324 0 14.84 +children [ +DEF underwater_level_ledge-TIMER TimeSensor { loop TRUE cycleInterval 0.3333 }, +Shape +{ +appearance USE sea_rock_decor +geometry DEF underwater_level_ledge-FACES IndexedFaceSet { +color +Color { color [ 1 1 1 .9451 .5216 .7608 .9412 .4588 .7098 0 .251 .5647 .06667 +.5176 .5216 0 .1333 .3294 0 .1294 .6784 0 .3059 .3608 0 .2196 .2235 .9686 +.5451 .7843 .2549 .6392 .6745 .8314 .2824 .6941 .1647 .3451 .6745 .6627 1 +.4353 .9922 .9922 .9961 .2314 .3961 .4549 .8941 .5059 .8157 ] } colorIndex +[ 4 4 0 -1 0 0 4 -1 5 4 0 -1 0 0 5 -1 5 5 0 -1 0 1 5 -1 6 5 1 -1 1 0 6 -1 6 +6 0 -1 0 0 6 -1 6 6 0 -1 0 0 6 -1 7 6 0 -1 0 0 7 -1 7 7 0 -1 0 0 7 -1 8 8 0 +-1 0 0 8 -1 9 10 2 -1 2 0 9 -1 8 9 0 -1 0 0 8 -1 10 7 0 -1 0 2 10 -1 4 0 0 +-1 0 0 4 -1 0 11 0 -1 0 0 0 -1 11 12 0 -1 0 0 11 -1 12 12 0 -1 0 0 12 -1 12 +0 0 -1 0 0 12 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 13 14 +3 -1 3 0 13 -1 15 16 0 -1 0 0 15 -1 16 13 0 -1 0 0 16 -1 0 15 0 -1 0 0 0 -1 +0 0 3 -1 3 14 0 -1 0 14 8 -1 8 0 0 -1 ] +coord DEF +underwater_level_ledge-COORD Coordinate { +point [ 13.03 -2.41 2.236 26.06 -2.459 -2.939 35.17 -2.459 -11.94 42.81 -2.459 +-21.85 47.74 -2.459 -30.53 50.97 -2.447 -39.32 52.88 -2.425 -48.26 55.95 -2.479 +-55.88 72.72 -2.459 -83.74 78.57 -2.46 -86.41 58.79 -2.46 -67.55 62.91 -2.499 +-76.5 0 -2.411 2.214 -13.03 -2.41 2.236 -26.06 -2.459 -2.939 -35.17 -2.459 +-11.94 -42.81 -2.459 -21.85 -47.74 -2.459 -30.53 -50.97 -2.447 -39.32 -52.88 +-2.425 -48.26 -55.95 -2.479 -55.88 -72.72 -2.459 -83.74 -78.57 -2.46 -83.98 +-58.79 -2.46 -67.55 -62.91 -2.499 -76.5 13.03 -12.18 2.288 0 -12.18 2.266 +26.06 -12.18 -2.971 35.17 -12.18 -11.97 42.81 -12.18 -21.88 47.74 -12.18 -30.56 +50.97 -12.17 -39.35 52.88 -12.14 -48.29 55.95 -12.2 -55.91 78.57 -12.18 -86.45 +72.72 -12.18 -83.77 62.91 -12.22 -76.53 58.79 -12.18 -67.58 -13.03 -12.18 +2.288 -26.06 -12.18 -2.971 -35.17 -12.18 -11.97 -42.81 -12.18 -21.88 -47.74 +-12.18 -30.56 -50.97 -12.17 -39.35 -52.88 -12.14 -48.29 -55.95 -12.2 -55.91 +-72.72 -12.18 -83.77 -78.57 -12.18 -84.01 -58.79 -12.18 -67.58 -62.91 -12.22 +-76.53 -91.57 -12.18 -76.75 -91.57 -2.459 -76.72 87.16 -2.459 -88.53 87.16 +-12.18 -88.56 ] +} +texCoord DEF underwater_level_ledge-TEXCOORD +TextureCoordinate { point [ 1.575 .9995 2.494 .9946 3.137 .9946 3.675 .9945 +4.023 .9945 4.251 .9958 4.386 .998 4.603 .9925 5.785 .9945 6.198 .9944 4.803 +.9944 5.093 .9905 .6557 .9994 -.2633 .9995 -1.182 .9946 -1.825 .9946 -2.364 +.9945 -2.712 .9945 -2.94 .9958 -3.074 .998 -3.291 .9925 -4.474 .9945 -4.887 +.9944 -3.492 .9944 -3.782 .9905 1.575 .004536 .6557 .004454 2.494 .004582 +3.137 .004582 3.675 .004492 4.023 .004517 4.251 .005804 4.386 .007978 4.603 +.002513 6.198 .004455 5.785 .004514 5.093 .000499 4.803 .004434 -.2633 .004536 +-1.182 .004582 -1.825 .004582 -2.364 .004492 -2.712 .004517 -2.94 .005804 +-3.074 .007978 -3.291 .002513 -4.474 .004514 -4.887 .004455 -3.492 .004434 +-3.782 .000499 -5.804 .004485 -5.804 .9945 6.804 .9945 6.804 .004485 ] } coordIndex +[ 25 26 12 -1 12 0 25 -1 27 25 0 -1 0 1 27 -1 28 27 1 -1 1 2 28 -1 29 28 2 +-1 2 3 29 -1 30 29 3 -1 3 4 30 -1 31 30 4 -1 4 5 31 -1 32 31 5 -1 5 6 32 -1 +33 32 6 -1 6 7 33 -1 34 35 8 -1 8 9 34 -1 36 37 10 -1 10 11 36 -1 35 36 11 +-1 11 8 35 -1 37 33 7 -1 7 10 37 -1 26 38 13 -1 13 12 26 -1 38 39 14 -1 14 13 +38 -1 39 40 15 -1 15 14 39 -1 40 41 16 -1 16 15 40 -1 41 42 17 -1 17 16 41 +-1 42 43 18 -1 18 17 42 -1 43 44 19 -1 19 18 43 -1 44 45 20 -1 20 19 44 -1 46 +47 22 -1 22 21 46 -1 48 49 24 -1 24 23 48 -1 49 46 21 -1 21 24 49 -1 45 48 23 +-1 23 20 45 -1 50 51 22 -1 22 47 50 -1 52 53 34 -1 34 9 52 -1 ] texCoordIndex +[ 25 26 12 -1 12 0 25 -1 27 25 0 -1 0 1 27 -1 28 27 1 -1 1 2 28 -1 29 28 2 +-1 2 3 29 -1 30 29 3 -1 3 4 30 -1 31 30 4 -1 4 5 31 -1 32 31 5 -1 5 6 32 -1 +33 32 6 -1 6 7 33 -1 34 35 8 -1 8 9 34 -1 36 37 10 -1 10 11 36 -1 35 36 11 +-1 11 8 35 -1 37 33 7 -1 7 10 37 -1 26 38 13 -1 13 12 26 -1 38 39 14 -1 14 13 +38 -1 39 40 15 -1 15 14 39 -1 40 41 16 -1 16 15 40 -1 41 42 17 -1 17 16 41 +-1 42 43 18 -1 18 17 42 -1 43 44 19 -1 19 18 43 -1 44 45 20 -1 20 19 44 -1 46 +47 22 -1 22 21 46 -1 48 49 24 -1 24 23 48 -1 49 46 21 -1 21 24 49 -1 45 48 23 +-1 23 20 45 -1 50 51 22 -1 22 47 50 -1 52 53 34 -1 34 9 52 -1 ] +} +} +] +} + +################## underwater_level_ledge end + +################## underwater_level_1ledge + +DEF underwater_level_1ledge Transform { +translation -3.946 -11.95 -34.19 +children [ +Shape +{ +appearance USE sea_rock_decor +geometry DEF underwater_level_1ledge-FACES IndexedFaceSet { +color +Color { color [ 1 1 1 .5922 .5059 .7686 .2039 .4431 .5333 0 .3882 .5137 ] +} colorIndex +[ 0 0 2 0 -1 0 0 0 3 -1 0 0 3 0 -1 1 0 0 0 -1 0 1 0 0 -1 0 0 0 2 -1 ] coord +DEF underwater_level_1ledge-COORD Coordinate { +point [ 49.95 0 25.48 -49.21 0 10.34 35.88 0 22.87 -36.26 0 2.984 -13.87 0 +-.8752 7.665 0 3.599 24.62 0 12.07 49.95 7.6 25.48 -49.21 7.6 10.34 35.88 +7.6 22.87 -36.26 7.6 2.984 -13.87 7.6 -.8752 7.665 7.6 3.599 24.62 7.6 12.07 +] } +coordIndex [ 0 2 9 7 -1 3 1 8 10 -1 4 3 10 11 -1 5 4 11 12 -1 6 5 12 13 -1 2 +6 13 9 -1 ] texCoord DEF underwater_level_1ledge-TEXCOORD +TextureCoordinate { point [ 2.623 .000499 2.021 .000499 2.021 .9995 2.623 +.9995 -1.068 .000499 -1.623 .000499 -1.623 .9995 -1.068 .9995 -.1094 .000499 +-.1094 .9995 .8125 .000499 .8125 .9995 1.539 .000499 1.539 .9995 ] } texCoordIndex +[ 0 1 2 3 -1 4 5 6 7 -1 8 4 7 9 -1 10 8 9 11 -1 12 10 11 13 -1 1 12 13 2 -1 +] +} +} +] +} + +################## underwater_level_1ledge end + +################## underwater_level_2 + +DEF underwater_level_2 Transform { +translation -3.946 -5.355 -34.19 +children [ +Shape +{ +appearance USE sea_decor3 +geometry DEF underwater_level_2-FACES IndexedFaceSet { +solid FALSE +color +DEF chsl_11 +Color { color [ .1961 .5059 .5176 1 1 1 0 .8471 1 .1529 .2706 .298 0 .6627 +.9725 0 .2784 .4392 .2706 .5216 .6667 .1647 .5137 .5765 ] } colorIndex +[ 1 0 1 1 -1 2 1 1 1 -1 3 2 1 5 -1 1 3 5 6 -1 1 1 6 1 -1 4 1 1 7 -1 ] coord +DEF underwater_level_2-COORD Coordinate { +point [ 49.95 -1.589 25.48 35.88 -1.589 22.87 24.62 -1.589 12.07 7.665 -1.589 +3.599 -13.87 -1.589 -.8752 -36.26 -1.589 2.984 -49.21 -1.589 10.34 56.59 -1.82 +4.573 35.88 -1.82 1.96 24.62 -1.82 -8.838 7.665 -1.82 -17.31 -13.87 -1.82 +-21.79 -36.26 -1.82 -17.93 -53.51 -1.82 -10.57 ] } +coordIndex [ 1 0 7 8 -1 2 1 8 9 -1 3 2 9 10 -1 4 3 10 11 -1 5 4 11 12 -1 6 5 +12 13 -1 ] texCoord DEF underwater_level_2-TEXCOORD +TextureCoordinate { point [ 2.656 -3.372 2.066 -3.226 1.595 -2.624 .8836 -2.151 +-.01896 -1.902 -.9579 -2.117 -1.501 -2.527 2.934 -2.205 2.066 -2.06 1.595 +-1.458 .8836 -.9851 -.01896 -.7355 -.9579 -.9507 -1.681 -1.361 ] } texCoordIndex +[ 1 0 7 8 -1 2 1 8 9 -1 3 2 9 10 -1 4 3 10 11 -1 5 4 11 12 -1 6 5 12 13 -1 +] +} +} +] +} + +################## underwater_level_2 end + +################## underwater_level_2ledge + +DEF underwater_level_2ledge Transform { +translation -3.946 -5.355 -34.19 +children [ +Shape +{ +appearance USE sea_rock_decor +geometry DEF underwater_level_2ledge-FACES IndexedFaceSet { +color +USE chsl_11 +colorIndex +[ 1 1 1 0 -1 1 1 2 1 -1 1 5 3 2 -1 5 6 1 3 -1 6 1 1 1 -1 1 7 4 1 -1 ] coord +DEF underwater_level_2ledge-COORD Coordinate { +point [ 56.59 -1.82 4.573 35.88 -1.82 1.96 24.62 -1.82 -8.838 7.665 -1.82 +-17.31 -13.87 -1.82 -21.79 -36.26 -1.82 -17.93 -53.51 -1.82 -10.57 56.57 -6.49 +1.734 35.86 -6.49 -.8785 24.61 -6.49 -11.68 7.649 -6.49 -20.15 -13.88 -6.49 +-24.63 -36.28 -6.49 -20.77 -53.53 -6.49 -13.41 ] } +coordIndex [ 7 8 1 0 -1 8 9 2 1 -1 9 10 3 2 -1 10 11 4 3 -1 11 12 5 4 -1 12 +13 6 5 -1 ] texCoord DEF underwater_level_2ledge-TEXCOORD +TextureCoordinate { point [ 3.481 .000499 2.36 .000499 2.36 .9995 3.482 .9995 +1.75 .000499 1.751 .9995 .8314 .000499 .8322 .9995 -.3348 .000499 -.334 .9995 +-1.548 .000499 -1.547 .9995 -2.482 .000499 -2.481 .9995 ] } texCoordIndex +[ 0 1 2 3 -1 1 4 5 2 -1 4 6 7 5 -1 6 8 9 7 -1 8 10 11 9 -1 10 12 13 11 -1 +] +} +} +] +} + +################## underwater_level_2ledge end + +################## underwater_bottom_level + +DEF underwater_bottom_level Transform { +translation -3.946 -5.355 -34.19 +children [ +Shape +{ +appearance USE sea_decor3 +geometry DEF underwater_bottom_level-FACES IndexedFaceSet { +solid FALSE +color +Color { color [ .1961 .5059 .5176 1 1 1 0 .8471 1 .1529 .2706 .298 0 .6627 +.9725 0 .2784 .4392 .2706 .5216 .6667 .1647 .5137 .5765 .2157 .3608 .7255 +0 .6392 .698 .9843 .5804 .7686 0 .9922 .3255 0 .3725 .4078 ] } colorIndex +[ 1 1 1 0 -1 1 1 2 1 -1 1 5 3 2 -1 5 6 1 3 -1 6 1 1 1 -1 1 7 4 1 -1 8 1 1 +-1 1 1 8 -1 1 9 5 1 -1 1 1 1 -1 9 1 6 5 -1 1 10 1 6 -1 10 11 7 1 -1 11 12 7 +-1 ] +coord DEF underwater_bottom_level-COORD Coordinate +{ +point [ 56.57 -6.49 1.734 35.86 -6.49 -.8785 24.61 -6.49 -11.68 7.649 -6.49 +-20.15 -13.88 -6.49 -24.63 -36.28 -6.49 -20.77 -53.53 -6.49 -13.41 64.08 -6.404 +-20.41 41.89 -6.404 -33.29 25.34 -6.404 -39.87 7.659 -6.404 -42.98 -13.87 +-6.404 -47.45 -45.7 -6.404 -43.22 -68.23 -6.404 -33.22 76.1 -6.304 -35.04 +90.87 -6.304 -39.95 72 -6.304 -93.08 9.533 -6.304 -113.4 -49.91 -6.304 -107.6 +-93.84 -6.304 -76.03 -88.2 -6.304 -28.04 ] } +coordIndex [ 7 8 1 0 -1 8 9 2 1 -1 9 10 3 2 -1 10 11 4 3 -1 11 12 5 4 -1 12 +13 6 5 -1 14 15 8 -1 8 7 14 -1 15 16 10 9 -1 9 8 15 -1 16 17 11 10 -1 17 18 +12 11 -1 18 19 13 12 -1 19 20 13 -1 ] texCoord DEF underwater_bottom_level-TEXCOORD +TextureCoordinate { point [ 2.934 -2.047 2.066 -1.901 1.594 -1.299 .883 -.8268 +-.0196 -.5773 -.9585 -.7925 -1.681 -1.203 3.249 -.8123 2.318 -.09426 1.624 +.2726 .8834 .4463 -.0192 .6958 -1.353 .4596 -2.298 -.09785 3.752 .003692 4.372 +.2774 3.58 3.24 .9619 4.372 -1.53 4.047 -3.372 2.289 -3.135 -.3871 ] } texCoordIndex +[ 7 8 1 0 -1 8 9 2 1 -1 9 10 3 2 -1 10 11 4 3 -1 11 12 5 4 -1 12 13 6 5 -1 14 +15 8 -1 8 7 14 -1 15 16 10 9 -1 9 8 15 -1 16 17 11 10 -1 17 18 12 11 -1 18 19 +13 12 -1 19 20 13 -1 ] +} +} +] +} +################## underwater_bottom_level end + +################## underwater_bottom_wall + +DEF underwater_bottom_level Transform { +translation -10.71 -11.67 -103.9 +children [ +DEF underwater_bottom_level-TIMER TimeSensor { loop TRUE cycleInterval 0.3333 }, +Shape +{ +appearance USE sea_rock_decor +geometry DEF underwater_bottom_level-FACES IndexedFaceSet { +color +Color { color [ 0 .2118 .2902 0 .9922 .9569 1 1 1 0 .7922 .9922 .007843 .9765 +.9882 .9922 1 1 .007843 .9882 1 0 .9882 1 0 .4196 .4353 .9686 1 1 .02745 1 +.9647 ] } colorIndex +[ 0 0 1 -1 1 0 1 -1 0 0 1 -1 1 0 1 -1 0 0 2 -1 2 0 1 -1 0 0 3 -1 3 0 2 -1 0 +0 2 -1 2 0 3 -1 0 0 4 -1 4 0 2 -1 0 0 4 -1 4 0 4 -1 0 0 5 -1 5 0 4 -1 0 0 5 +-1 5 0 5 -1 0 0 5 -1 5 0 5 -1 0 0 6 -1 6 0 5 -1 0 0 7 -1 7 0 6 -1 0 0 8 -1 8 +0 7 -1 0 0 7 -1 7 0 8 -1 0 0 5 -1 5 0 7 -1 0 0 9 -1 9 0 5 -1 0 0 2 -1 2 0 9 +-1 0 0 9 -1 9 0 2 -1 0 0 10 -1 10 0 9 -1 0 0 10 -1 10 0 10 -1 0 0 10 -1 10 0 +10 -1 ] coord DEF underwater_bottom_level-COORD Coordinate { +point [ 97.58 0 30.37 92.55 0 19.07 87.67 0 10.91 71.28 0 13.45 59.43 0 9.103 +57.46 0 -5.214 69.59 0 -18.39 51.88 0 -30.26 28.57 0 -30.39 20.43 0 -9.364 +5.352 0 -5.542 -8.829 0 -21.81 -13.4 0 -36.14 -43.1 0 -35.93 -63.32 0 -18.02 +-59.56 0 -7.578 -47.17 0 -3.339 -43.59 0 8.608 -56.85 0 14.98 -78.87 0 16.32 +-79.58 0 31.07 -67.65 0 35.33 97.58 9.866 30.37 92.55 9.866 19.07 87.67 9.866 +10.91 71.28 9.866 13.45 59.43 9.866 9.103 57.46 9.866 -5.214 69.59 9.866 -18.39 +51.88 9.866 -30.26 28.57 9.866 -30.39 20.43 9.866 -9.364 5.352 9.866 -5.542 +-8.829 9.866 -21.81 -13.4 9.866 -36.14 -43.1 9.866 -35.93 -63.32 9.866 -18.02 +-59.56 9.866 -7.578 -47.17 9.866 -3.339 -43.59 9.866 8.608 -56.85 9.866 14.98 +-78.87 9.866 16.32 -79.58 9.866 31.07 -67.65 9.866 35.33 ] +} +texCoord DEF underwater_bottom_level-TEXCOORD +TextureCoordinate { point [ .9995 2.329 .9995 1.657 5.618 .000499 4.552 .000499 +.9995 1.065 .9995 .2145 4.442 .000499 3.29 .000499 .000499 -1.281 1.244 .000499 +.9995 .1951 .9995 -.7716 -.9572 .000499 -2.89 .000499 .000499 -.5465 4.96 +.000499 .000499 .3259 -2.921 .000499 -3.784 .0005 .0005 1.494 6.263 .0005 +5.486 .0005 .000499 2.329 .000499 1.657 5.618 .9995 4.552 .9995 .000499 1.065 +.000499 .2145 4.442 .9995 3.29 .9995 .9995 -1.281 1.244 .9995 .000499 .1951 +.0005 -.7716 -.9572 .9995 -2.89 .9995 .9995 -.5465 4.96 .9995 .9995 .3259 +-2.921 .9995 -3.784 .9995 .9995 1.494 6.263 .9995 5.486 .9995 .9995 1.173 +.000499 1.173 3.781 .000499 3.781 .9995 .9995 -.5679 .0005 -.5679 1.774 .000499 +1.774 .9995 .000499 -.03204 .9995 -.03204 .2629 .000499 .2629 .9995 .9995 +-1.623 .0005 -1.623 -4.205 .000499 -4.205 .9995 .000499 .0741 .9995 .0741 +4.154 .000499 4.154 .9995 .000499 1.036 .9995 1.036 -5.216 .0005 -5.216 .9995 +.0005 2.37 .9995 2.37 ] } coordIndex [ 1 0 23 -1 23 0 22 -1 2 1 24 -1 24 1 23 +-1 3 2 25 -1 25 2 24 -1 4 3 26 -1 26 3 25 -1 5 4 27 -1 27 4 26 -1 6 5 28 -1 +28 5 27 -1 7 6 29 -1 29 6 28 -1 8 7 30 -1 30 7 29 -1 9 8 31 -1 31 8 30 -1 10 +9 32 -1 32 9 31 -1 11 10 33 -1 33 10 32 -1 12 11 34 -1 34 11 33 -1 13 12 35 +-1 35 12 34 -1 14 13 36 -1 36 13 35 -1 15 14 37 -1 37 14 36 -1 16 15 38 -1 38 +15 37 -1 17 16 39 -1 39 16 38 -1 18 17 40 -1 40 17 39 -1 19 18 41 -1 41 18 40 +-1 20 19 42 -1 42 19 41 -1 21 20 43 -1 43 20 42 -1 ] texCoordIndex +[ 1 0 23 -1 23 0 22 -1 44 1 45 -1 45 1 23 -1 3 2 25 -1 25 2 24 -1 46 3 47 +-1 47 3 25 -1 5 4 27 -1 27 4 26 -1 48 5 49 -1 49 5 27 -1 7 6 29 -1 29 6 28 +-1 50 7 51 -1 51 7 29 -1 52 8 53 -1 53 8 30 -1 54 9 55 -1 55 9 31 -1 11 10 33 +-1 33 10 32 -1 56 11 57 -1 57 11 33 -1 13 12 35 -1 35 12 34 -1 58 13 59 -1 59 +13 35 -1 60 14 61 -1 61 14 36 -1 62 15 63 -1 63 15 37 -1 64 16 65 -1 65 16 38 +-1 18 17 40 -1 40 17 39 -1 66 18 67 -1 67 18 40 -1 68 19 69 -1 69 19 41 -1 21 +20 43 -1 43 20 42 -1 ] +} +} +] +} + +################## underwater_bottom_wall end + +################## underwater_tunnel_outerwall + +################## underwater_tunnel_innerwall + +DEF under_tunnel_wall Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE b_light2 +geometry DEF under_tunnel_wall-FACES IndexedFaceSet { +solid FALSE +color +Color { color [ 1 1 1 ] } colorIndex +[ 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 ] +coord DEF under_tunnel_wall-COORD +Coordinate { +point [ 2.873 27.01 -2.681 -2.762 27.01 -2.688 2.659 4.684 3.5 2.659 16.6 +3.528 -2.64 4.684 3.5 2.876 27.02 .5771 -2.64 16.6 .2693 -2.763 27.02 .5771 +2.659 4.684 .2496 -2.64 4.684 .2417 2.659 16.6 .2772 -2.64 16.6 3.528 ] } +coordIndex [ 2 3 10 8 -1 3 5 0 10 -1 11 4 9 6 -1 7 11 6 1 -1 ] +texCoord DEF +under_tunnel_wall-TEXCOORD +TextureCoordinate { point [ -2.042 -.09012 3.042 -.09862 -2.042 1.096 3.042 +1.087 3.042 -.0986 -2.042 -.0901 -2.042 1.099 3.042 1.09 -1.111 -.1013 1.886 +-.04401 2.117 1.144 -.8784 1.083 1.886 -.04398 2.117 1.147 -.8779 1.086 ] +} texCoordIndex +[ 0 1 3 2 -1 8 9 10 11 -1 4 5 6 7 -1 12 8 14 13 -1 ] +} +} +] +} + +################## underwater_tunnel_innerwall end + +################## underwater_tunnel_floor + +DEF under_tunnel_floor Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE mb_floor5 +geometry DEF under_tunnel_floor-FACES IndexedFaceSet { +color +Color { color [ 1 1 1 .08627 .4627 .6 .05882 .8039 .9882 .251 .5059 .7451 +0 .3765 .5529 ] } colorIndex +[ 3 1 2 4 -1 0 3 4 0 -1 ] coord DEF under_tunnel_floor-COORD Coordinate { +point [ 2.659 4.684 .2496 -2.64 4.684 .2417 2.873 27.01 -2.681 -2.762 27.01 +-2.688 2.659 16.6 .2772 -2.64 16.6 .2693 ] } +coordIndex [ 4 2 3 5 -1 0 4 5 1 -1 ] texCoord DEF under_tunnel_floor-TEXCOORD +TextureCoordinate { point [ .9052 .5233 .9385 .8039 .08049 .5233 .06146 .8039 +.9052 .2021 .08049 .2021 ] } texCoordIndex +[ 0 1 3 2 -1 4 0 2 5 -1 ] +} +} +] +} + +################## underwater_tunnel_floor end + +################## underwater_tunnel_ceiling + +DEF under_ceiling Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE b_ceiling2 +geometry DEF under_ceiling-FACES IndexedFaceSet { +coord DEF under_ceiling-COORD Coordinate { +point [ -2.636 16.59 4.214 2.654 16.59 4.225 -2.633 19.18 3.447 -2.632 20.93 +2.932 -2.769 26.99 1.043 2.871 26.99 1.06 2.882 29.33 1.062 -2.77 29.33 1.055 +2.658 21.05 2.659 -2.632 21.04 2.672 2.658 20.93 2.92 2.657 19.19 3.403 -2.636 +4.165 4.172 2.654 4.161 4.177 ] } +coordIndex [ 5 9 4 -1 8 9 5 -1 11 2 3 -1 11 3 10 -1 7 5 4 -1 5 7 6 -1 12 0 1 +-1 12 1 13 -1 10 3 8 -1 9 8 3 -1 ] texCoord DEF under_ceiling-TEXCOORD +TextureCoordinate { point [ .5368 .9758 .5377 .04106 -.09344 .9753 -.5192 +.975 -1.997 .9991 -1.997 .002645 -2.567 .000614 -2.567 .9994 -.55 .04025 -.5485 +.975 -.5207 .04026 -.09567 .0406 3.566 .9758 3.567 .04106 .5897 .04026 .5929 +.975 .5114 .975 .5082 .04025 ] } texCoordIndex +[ 5 9 4 -1 8 9 5 -1 11 2 3 -1 11 3 10 -1 7 5 4 -1 5 7 6 -1 12 0 1 -1 12 1 13 +-1 14 15 17 -1 16 17 15 -1 ] +} +} +] +} + +################## underwater_tunnel_ceiling end + +################## dinning_structure + +DEF dinning_structure Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +DEF dinning_structure-TIMER TimeSensor { loop TRUE cycleInterval 0.3333 }, +Shape +{ +appearance USE blue_wall2 +geometry DEF dinning_structure-FACES IndexedFaceSet { +solid FALSE +color +Color { color [ 1 1 1 0 .3176 .3961 0 .4431 .5529 0 .6471 .7059 .5922 .6902 +.7608 .5333 .949 .9529 .8549 0 .5843 .5922 .7176 .7647 .9922 .9961 .9961 .01176 +.01176 .01176 .5922 .7098 .7647 .8824 .9373 .949 .5922 .7412 .7647 ] } colorIndex +[ 0 3 0 -1 3 3 0 -1 7 0 2 -1 0 10 3 -1 1 0 0 -1 0 0 1 -1 0 0 0 -1 0 0 0 -1 0 +2 5 -1 5 3 0 -1 0 0 0 -1 0 0 0 -1 1 0 0 -1 0 4 1 -1 0 0 0 -1 0 0 0 -1 0 0 0 +-1 4 6 2 -1 0 2 11 -1 6 0 0 -1 0 0 0 -1 0 0 0 -1 0 2 0 -1 0 0 0 -1 0 0 0 -1 +0 6 0 -1 9 0 0 -1 0 0 1 -1 4 3 0 -1 0 3 8 -1 8 0 9 -1 8 9 0 -1 3 4 0 -1 3 0 +1 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 +-1 0 0 6 -1 0 0 2 -1 12 0 0 -1 0 0 0 -1 0 0 0 -1 0 3 0 -1 1 0 11 -1 0 11 0 +-1 1 0 0 -1 0 4 1 -1 0 1 4 -1 4 2 0 -1 0 0 0 -1 0 0 0 -1 0 2 5 -1 5 4 2 -1 0 +0 0 -1 0 9 0 -1 2 0 3 -1 3 5 2 -1 0 0 9 -1 0 9 0 -1 3 4 3 -1 3 2 3 -1 0 3 2 +-1 2 3 0 -1 4 9 0 -1 0 3 4 -1 0 3 0 -1 0 0 0 -1 0 0 0 -1 0 0 5 -1 0 0 5 -1 0 +5 0 -1 3 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 +-1 0 0 0 -1 0 0 0 -1 2 4 5 -1 5 0 2 -1 4 2 0 -1 0 5 4 -1 2 3 0 -1 0 0 2 -1 0 +2 0 -1 0 0 0 -1 3 0 0 -1 0 0 3 -1 2 3 0 -1 0 0 2 -1 3 0 0 -1 3 0 0 -1 2 3 2 +-1 2 2 4 -1 2 3 0 -1 2 0 0 -1 0 2 6 -1 0 6 0 -1 0 0 0 -1 0 0 0 -1 0 0 0 -1 0 +0 0 -1 0 0 0 -1 0 0 0 -1 0 1 0 -1 11 0 1 -1 0 0 6 -1 0 6 2 -1 ] +coord DEF +dinning_structure-COORD Coordinate { +point [ -1.157 31.35 2.191 11.82 40.03 2.16 1.684 31.35 2.191 -11.31 56.16 +2.158 11.82 56.15 2.158 14.45 56.16 1.231 2.882 29.32 -2.684 2.882 29.33 1.262 +14.46 39.44 -2.703 -13.86 56.17 -2.769 -2.771 29.33 1.255 -2.771 29.32 -2.692 +-13.85 39.44 -2.703 14.45 56.15 -2.775 3.069 29.32 1.262 -2.969 29.33 1.253 +2.882 29.33 1.062 14.83 39.43 1.228 14.83 39.42 -2.7 -14.25 56.18 1.2 -14.28 +39.41 1.225 -14.25 56.18 -2.771 -14.28 39.41 -2.703 14.83 56.12 -2.775 14.83 +56.13 1.231 14.45 56.15 -3.175 -11.31 40.05 2.417 11.82 40.03 2.417 -11.31 +56.16 2.432 11.82 56.15 2.432 14.46 39.45 1.228 -13.86 56.17 1.202 -13.85 +39.45 1.228 -2.77 29.33 1.055 14.83 40.89 .6926 14.82 55.34 .6961 14.45 55.34 +.6961 14.46 40.89 .693 14.82 55.34 -1.745 14.45 55.34 -1.733 14.46 40.89 -1.67 +14.83 40.89 -1.67 -14.27 55.35 .6961 -14.28 40.89 .6926 -13.87 40.89 .6926 +-13.86 55.35 .6955 -14.27 55.34 -1.745 -13.86 55.34 -1.745 -13.85 40.89 -1.68 +-14.28 40.89 -1.67 6.462 63.74 2.145 7.863 64.9 1.199 -7.274 65 -2.847 7.865 +64.98 -2.851 7.865 64.73 -3.161 -7.284 65.37 1.199 7.872 65.38 1.198 -7.273 +65.37 -2.795 7.866 65.36 -2.815 -3.576 68.67 -2.8 4.168 68.66 -2.819 -7.284 +65.57 1.199 7.872 65.58 1.198 -3.581 68.87 1.194 4.171 68.88 1.193 3.065 29.32 +-2.684 -2.969 29.33 -2.694 -13.86 56.16 -3.169 -7.274 64.75 -3.157 -5.909 +63.72 2.145 -7.285 64.86 1.2 4.171 68.68 1.194 -3.582 68.67 1.195 -11.31 40.05 +2.16 4.17 68.87 .3559 -3.58 68.87 .3566 -3.581 68.67 .357 4.17 68.67 .3563 +4.168 68.87 -2.257 4.162 68.67 -2.255 -3.577 68.87 -2.237 -6.846 65.76 -2.232 +-6.836 65.77 .3592 -6.854 65.95 .361 -6.844 65.96 -2.232 -3.577 68.67 -2.236 +7.505 65.92 -2.252 7.512 65.93 .3603 7.377 65.78 .3584 7.369 65.78 -2.252 +-3.576 68.67 -2.643 -7.273 65.37 -2.638 7.866 65.36 -2.658 4.168 68.66 -2.663 +-7.274 65.02 -2.769 7.865 64.99 -2.774 -7.273 65.39 -2.717 7.866 65.38 -2.737 +2.882 29.32 -3.084 14.46 39.44 -3.103 -2.771 29.32 -3.092 -13.85 39.44 -3.103 +] +} +texCoord DEF dinning_structure-TEXCOORD +TextureCoordinate { point [ .4188 .05221 .7156 .2917 .5799 .05197 .2842 .6709 +.7157 .6712 .7321 .6463 .8656 .05548 .6608 .04909 .7759 .3118 .2233 .6458 +.328 .05507 .1465 .06091 .224 .3112 .7767 .6451 .6657 .05159 .3238 .05781 +.6699 .0475 .7326 .3142 .7752 .3151 .2671 .6437 .2674 .3139 .2239 .6427 .2247 +.3149 .7761 .6414 .7326 .6426 .7811 .6445 .2876 .2934 .7123 .2924 .2878 .6702 +.7121 .6705 .7321 .3107 .2676 .6468 .2679 .3101 .3197 .05366 .7384 .3369 .7383 +.6287 .738 .6316 .7381 .3334 .765 .6285 .7652 .6314 .7645 .3336 .7642 .3371 +.2617 .6288 .2616 .3369 .262 .333 .262 .6321 .235 .6286 .2346 .6319 .2353 +.333 .2358 .337 .6885 .8639 .7175 .8549 .1996 .8525 .8003 .8517 .8061 .848 +.2826 .859 .7176 .8585 .2006 .8557 .7996 .8549 .1605 .9272 .8394 .9266 .2826 +.8605 .7176 .86 .3113 .9339 .6892 .9335 .8602 .05765 .1512 .06341 .2189 .6451 +.1938 .8488 .3115 .8636 .2826 .855 .6892 .9328 .3114 .9333 .2842 .2927 .7206 +.9371 .2797 .9376 .2797 .937 .7206 .9365 .8218 .9315 .8218 .9309 .1783 .9321 +.2093 .8675 .2663 .871 .2663 .872 .2093 .869 .1783 .9314 .7905 .867 .734 .8702 +.7337 .8713 .7913 .8681 .1652 .9285 .2036 .8564 .7966 .8557 .8347 .9278 .2011 +.853 .7988 .8522 .2021 .8561 .7981 .8554 .8783 .0598 .7803 .3125 .134 .06485 +.2196 .3119 -.1997 .8517 -.1939 .848 -.1782 .9309 -.1782 .9315 -.1606 .9266 +-.1653 .9278 -.2004 .8549 -.2019 .8554 -.2012 .8522 -.1344 .05548 -.1217 .0598 +] } coordIndex [ 6 7 14 -1 14 65 6 -1 10 11 66 -1 66 15 10 -1 7 10 33 -1 33 +16 7 -1 5 30 17 -1 17 24 5 -1 8 13 23 -1 23 18 8 -1 32 31 19 -1 19 20 32 -1 +9 12 22 -1 22 21 9 -1 30 7 14 -1 14 17 30 -1 7 6 65 -1 65 14 7 -1 11 10 15 +-1 15 66 11 -1 10 32 20 -1 20 15 10 -1 3 73 26 -1 26 28 3 -1 1 4 29 -1 29 27 +1 -1 38 39 41 -1 41 39 40 -1 34 37 35 -1 35 37 36 -1 36 39 38 -1 36 38 35 +-1 37 34 41 -1 37 41 40 -1 45 42 46 -1 45 46 47 -1 42 45 43 -1 43 45 44 -1 47 +46 49 -1 47 49 48 -1 43 44 49 -1 49 44 48 -1 2 1 27 -1 0 26 73 -1 69 3 28 +-1 50 29 4 -1 52 53 68 -1 54 68 53 -1 9 52 67 -1 68 67 52 -1 9 31 19 -1 19 21 +9 -1 52 9 21 -1 21 57 52 -1 31 70 55 -1 55 19 31 -1 5 13 23 -1 23 24 5 -1 51 +5 24 -1 24 56 51 -1 13 53 58 -1 58 23 13 -1 51 70 56 -1 55 56 70 -1 72 71 64 +-1 64 63 72 -1 55 72 63 -1 63 61 55 -1 71 56 62 -1 62 64 71 -1 77 74 87 -1 77 +87 88 -1 78 79 86 -1 86 79 89 -1 87 86 89 -1 87 89 88 -1 74 77 75 -1 75 77 76 +-1 79 78 80 -1 79 80 85 -1 81 85 80 -1 81 80 84 -1 75 76 83 -1 83 76 82 -1 83 +82 84 -1 84 82 81 -1 57 59 90 -1 90 91 57 -1 59 60 93 -1 93 90 59 -1 60 58 92 +-1 92 93 60 -1 52 57 96 -1 96 94 52 -1 58 53 95 -1 95 97 58 -1 57 58 97 -1 97 +96 57 -1 58 96 94 -1 58 94 95 -1 60 58 57 -1 60 57 59 -1 57 58 53 -1 57 53 52 +-1 95 13 25 -1 95 25 54 -1 8 6 99 -1 98 99 6 -1 6 11 98 -1 100 98 11 -1 11 12 +100 -1 101 100 12 -1 12 9 101 -1 67 101 9 -1 8 99 25 -1 8 25 13 -1 ] texCoordIndex +[ 6 7 14 -1 14 65 6 -1 10 11 66 -1 66 15 10 -1 7 10 33 -1 33 16 7 -1 5 30 17 +-1 17 24 5 -1 8 13 23 -1 23 18 8 -1 32 31 19 -1 19 20 32 -1 9 12 22 -1 22 21 +9 -1 30 7 14 -1 14 17 30 -1 7 6 65 -1 65 14 7 -1 11 10 15 -1 15 66 11 -1 10 +32 20 -1 20 15 10 -1 3 73 26 -1 26 28 3 -1 1 4 29 -1 29 27 1 -1 38 39 41 -1 +41 39 40 -1 34 37 35 -1 35 37 36 -1 36 39 38 -1 36 38 35 -1 37 34 41 -1 37 41 +40 -1 45 42 46 -1 45 46 47 -1 42 45 43 -1 43 45 44 -1 47 46 49 -1 47 49 48 +-1 43 44 49 -1 49 44 48 -1 2 1 27 -1 0 26 73 -1 69 3 28 -1 50 29 4 -1 52 102 +68 -1 103 68 102 -1 9 52 67 -1 68 67 52 -1 9 31 19 -1 19 21 9 -1 52 9 21 -1 +21 57 52 -1 31 70 55 -1 55 19 31 -1 5 13 23 -1 23 24 5 -1 51 5 24 -1 24 56 51 +-1 13 53 58 -1 58 23 13 -1 51 70 56 -1 55 56 70 -1 72 71 64 -1 64 63 72 -1 55 +72 63 -1 63 61 55 -1 71 56 62 -1 62 64 71 -1 77 74 87 -1 77 87 88 -1 78 79 86 +-1 86 79 89 -1 87 86 89 -1 87 89 88 -1 74 77 75 -1 75 77 76 -1 104 105 80 +-1 104 80 85 -1 81 85 80 -1 81 80 84 -1 75 76 83 -1 83 76 82 -1 83 82 84 -1 +84 82 81 -1 57 59 90 -1 90 91 57 -1 59 106 107 -1 107 90 59 -1 60 58 92 -1 92 +93 60 -1 52 57 96 -1 96 94 52 -1 58 53 95 -1 95 97 58 -1 57 108 109 -1 109 96 +57 -1 108 96 94 -1 108 94 110 -1 106 108 57 -1 106 57 59 -1 57 108 102 -1 57 +102 52 -1 95 13 25 -1 95 25 54 -1 8 6 99 -1 98 99 6 -1 111 11 112 -1 100 112 +11 -1 11 12 100 -1 101 100 12 -1 12 9 101 -1 67 101 9 -1 8 99 25 -1 8 25 13 +-1 ] +} +} +] +} + +################## dinning_structure end + +################# tunnel_carpet + +DEF tunnel_carpet Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE mb_floor5 +geometry DEF tunnel_carpet-FACES IndexedFaceSet { +coord DEF tunnel_carpet-COORD Coordinate { +point [ 2.873 27.01 -2.681 -2.762 27.01 -2.688 2.882 29.32 -2.684 -2.771 29.32 +-2.692 ] } +coordIndex [ 1 0 2 3 -1 ] texCoord DEF tunnel_carpet-TEXCOORD +TextureCoordinate { point [ .9979 .203 .000499 .4708 .9995 .4708 .002019 .203 +] } texCoordIndex +[ 3 0 2 1 -1 ] +} +} +] +} + +################# tunnel_carpet end + +################# dining_room_bar_rail + +DEF Line02 Transform { +translation 12.14 -3.918 -69.98 +rotation 1 0 0 -1.571 +children [ +DEF Line02-TIMER TimeSensor { loop TRUE cycleInterval 3.733 }, +Shape +{ +appearance USE blue_wall2 +geometry DEF Line02-FACES IndexedFaceSet { +ccw FALSE +color +Color { color [ 0 .1647 .3216 .7451 0 0 0 .8667 .6314 1 1 1 0 .2706 .3686 +.7647 .0902 0 0 .2588 .3569 ] } colorIndex +[ 3 3 3 -1 3 3 3 -1 3 3 3 -1 3 3 3 -1 3 3 3 -1 3 3 3 -1 3 0 3 -1 3 0 0 -1 3 +1 0 -1 3 1 3 -1 3 2 1 -1 3 2 3 -1 3 3 0 -1 3 0 0 -1 3 0 4 -1 3 3 4 -1 3 4 3 +-1 3 3 3 -1 3 3 3 -1 3 3 3 -1 3 3 3 -1 3 3 3 -1 3 3 3 -1 3 3 3 -1 3 3 0 -1 3 +0 0 -1 3 0 5 -1 3 3 5 -1 3 5 2 -1 3 3 2 -1 3 0 3 -1 3 0 0 -1 3 6 0 -1 3 6 3 +-1 3 3 6 -1 3 3 3 -1 ] coord DEF Line02-COORD Coordinate { +point [ 2.477 0 1.694 5.008 0 .7952 5.008 0 -3.102 4.575 0 -3.102 4.575 0 +.09576 2.377 0 .9284 -9.412 0 .9228 -9.412 0 1.687 2.477 -.5 1.694 5.008 -.5 +.7952 5.008 -.5 -3.102 4.575 -.5 -3.102 4.575 -.5 .09576 2.377 -.5 .9284 -9.412 +-.5 .9228 -9.412 -.5 1.687 -20.44 0 1.694 -22.97 0 .7952 -22.97 0 -3.102 -22.53 +0 -3.102 -22.53 0 .09576 -20.34 0 .9284 -20.44 -.5 1.694 -22.97 -.5 .7952 +-22.97 -.5 -3.102 -22.53 -.5 -3.102 -22.53 -.5 .09576 -20.34 -.5 .9284 ] +} +texCoord DEF Line02-TEXCOORD +TextureCoordinate { point [ 2.544 1.384 3.01 1.205 3.04 .4316 2.961 .4317 +2.937 1.066 2.532 1.232 .3942 1.232 .3884 1.384 -1.544 1.384 -2.01 1.205 -2.04 +.4316 -1.961 .4317 -1.937 1.066 -1.532 1.232 .6058 1.232 .6116 1.384 -1.611 +1.387 -2.063 1.209 -2.033 .4358 -1.955 .4357 -1.979 1.07 -1.587 1.235 2.611 +1.387 3.063 1.209 3.033 .4358 2.955 .4357 2.979 1.07 2.587 1.235 .9995 .4317 +.9995 1.066 .000571 1.066 .000572 .4317 .000572 .4357 .9995 1.07 .000572 1.07 +.9995 .4357 .2549 .4941 .2442 .493 .2442 .507 .2549 .5059 .8709 .3737 .8709 +.6263 .7451 .4941 .7558 .507 .7558 .493 .7451 .5059 -.1291 .3737 -.1291 .6263 +] } coordIndex [ 3 4 12 -1 3 12 11 -1 4 5 13 -1 4 13 12 -1 5 6 14 -1 5 14 13 +-1 5 7 6 -1 5 0 7 -1 5 1 0 -1 4 1 5 -1 4 2 1 -1 3 2 4 -1 13 14 15 -1 13 15 8 +-1 13 8 9 -1 12 13 9 -1 12 9 10 -1 11 12 10 -1 19 26 20 -1 19 25 26 -1 20 27 +21 -1 20 26 27 -1 21 14 6 -1 21 27 14 -1 21 6 7 -1 21 7 16 -1 21 16 17 -1 20 +21 17 -1 20 17 18 -1 19 20 18 -1 27 15 14 -1 27 22 15 -1 27 23 22 -1 26 23 27 +-1 26 24 23 -1 25 24 26 -1 ] texCoordIndex +[ 28 29 30 -1 28 30 31 -1 36 37 38 -1 36 38 39 -1 37 46 47 -1 37 47 38 -1 5 +7 6 -1 5 0 7 -1 5 1 0 -1 4 1 5 -1 4 2 1 -1 3 2 4 -1 13 14 15 -1 13 15 8 -1 13 +8 9 -1 12 13 9 -1 12 9 10 -1 11 12 10 -1 32 33 34 -1 32 35 33 -1 42 43 44 +-1 42 45 43 -1 44 41 40 -1 44 43 41 -1 21 6 7 -1 21 7 16 -1 21 16 17 -1 20 21 +17 -1 20 17 18 -1 19 20 18 -1 27 15 14 -1 27 22 15 -1 27 23 22 -1 26 23 27 +-1 26 24 23 -1 25 24 26 -1 ] +} +} +] +} +################# dining_room_bar_rail end + +################# dine_floor + +DEF dine_floor Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE checker_floor +geometry DEF dine_floor-FACES IndexedFaceSet { +color +Color { color [ 1 1 1 0 .7686 .6157 .1137 .3608 .5333 .851 .3176 .5294 .2235 +.3725 .6471 ] } colorIndex +[ 4 0 0 2 -1 0 1 3 -1 0 3 0 -1 4 2 3 1 -1 ] +coord DEF dine_floor-COORD Coordinate +{ +point [ 2.882 29.32 -2.684 14.46 39.44 -2.703 -13.86 56.17 -2.769 -2.771 29.32 +-2.692 -13.85 39.44 -2.703 14.45 56.15 -2.775 -7.274 65 -2.847 7.865 64.98 +-2.851 ] } +coordIndex [ 5 7 6 2 -1 0 1 4 -1 0 4 3 -1 5 2 4 1 -1 ] texCoord DEF dine_floor-TEXCOORD +TextureCoordinate { point [ 1.229 -3.489 4.505 -1.226 -3.505 2.513 -.3697 +-3.489 -3.503 -1.226 4.502 2.508 -1.643 4.489 2.638 4.483 ] } texCoordIndex +[ 5 7 6 2 -1 0 1 4 -1 0 4 3 -1 5 2 4 1 -1 ] +} +} +] +} + +################# dine_floor end + + + +################# dining_wall + +DEF dinning_wall Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +DEF dinning_wall-TIMER TimeSensor { loop TRUE cycleInterval 0.3333 }, +Shape +{ +appearance USE blue_wall2 +geometry DEF dinning_wall-FACES IndexedFaceSet { +color +Color { color [ 0 .3882 .5333 1 1 1 0 .9098 .7725 0 .1882 .3176 .8392 .2039 +.4588 .2039 .04706 .7137 ] } colorIndex +[ 1 1 1 -1 1 1 4 -1 1 1 2 -1 1 2 0 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 +5 1 -1 1 5 1 -1 2 1 1 -1 2 1 1 -1 1 5 2 -1 2 1 1 -1 1 4 1 -1 1 4 1 -1 3 1 1 +-1 1 3 1 -1 4 3 1 -1 1 4 1 -1 ] +coord +DEF dinning_wall-COORD Coordinate { +point [ 2.882 29.32 -2.684 14.46 39.45 1.228 14.46 39.44 -2.703 -13.86 56.17 +1.202 -13.85 39.45 1.228 -13.86 56.17 -2.769 -2.771 29.32 -2.692 -13.85 39.44 +-2.703 14.45 56.15 -2.775 -2.771 29.33 1.255 2.882 29.33 1.262 14.45 56.16 +1.231 14.45 55.34 .6961 14.46 40.89 .693 14.45 55.34 -1.733 14.46 40.89 -1.67 +-13.87 40.89 .6926 -13.86 55.35 .6955 -13.86 55.34 -1.745 -13.85 40.89 -1.68 +] +} +texCoord DEF dinning_wall-TEXCOORD +TextureCoordinate { point [ 6.043 .02569 1.863 .9919 1.863 .01887 6.043 .9818 +-.8627 .9919 6.043 -.000858 -5.043 .02376 -.863 .01885 -5.035 -.002225 -5.042 +1 6.042 1.002 -5.041 .9891 -4.701 .8569 1.266 .8591 -4.701 .2557 1.266 .2742 +-.2664 .859 5.704 .8568 5.704 .2529 -.2669 .2719 ] } coordIndex [ 4 9 6 -1 4 +6 7 -1 10 1 2 -1 10 2 0 -1 1 11 13 -1 12 13 11 -1 3 4 17 -1 16 17 4 -1 11 8 +12 -1 12 8 14 -1 2 1 13 -1 2 13 15 -1 14 8 2 -1 2 15 14 -1 4 7 16 -1 16 7 19 +-1 5 3 17 -1 18 5 17 -1 7 5 18 -1 19 7 18 -1 ] texCoordIndex +[ 4 9 6 -1 4 6 7 -1 10 1 2 -1 10 2 0 -1 1 11 13 -1 12 13 11 -1 3 4 17 -1 16 +17 4 -1 11 8 12 -1 12 8 14 -1 2 1 13 -1 2 13 15 -1 14 8 2 -1 2 15 14 -1 4 7 +16 -1 16 7 19 -1 5 3 17 -1 18 5 17 -1 7 5 18 -1 19 7 18 -1 ] +} +} +] +} + +################# dining_wall end + +################# dining_ceiling1 + +DEF dining_ceiling1 Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +DEF dining_ceiling1-TIMER TimeSensor { loop TRUE cycleInterval 0.3333 }, +Shape +{ +appearance USE wall_text5 +geometry DEF dining_ceiling1-FACES IndexedFaceSet { +solid FALSE +color +DEF chsl_12 +Color { color [ .007843 .9333 .902 .007843 .3961 .6667 1 1 1 0 .9647 1 0 .6118 +.5333 ] } +coord DEF dining_ceiling1-COORD Coordinate +{ +point [ -11.31 56.16 2.158 11.82 56.15 2.158 6.462 63.74 2.145 11.82 40.03 +2.16 1.684 31.35 2.191 -1.157 31.35 2.191 -5.909 63.72 2.145 -11.31 40.05 +2.16 ] +} +texCoord DEF dining_ceiling1-TEXCOORD +TextureCoordinate { point [ 1.472 .000446 -.4716 .001296 -.01786 .9995 1.021 +.9981 .000499 1.019 .9995 1.018 .5618 -.01901 .4391 -.01899 ] } +} +} +Shape +{ +appearance USE b_ceiling2 +geometry DEF dining_ceiling1-FACES IndexedFaceSet { +color +USE chsl_12 +colorIndex +[ 1 0 2 -1 2 2 1 -1 4 3 2 -1 4 2 2 -1 ] +coord USE dining_ceiling1-COORD +texCoord USE dining_ceiling1-TEXCOORD +coordIndex [ 1 0 6 -1 6 2 1 -1 7 3 4 -1 7 4 5 -1 ] texCoordIndex +[ 0 1 2 -1 2 3 0 -1 4 5 6 -1 4 6 7 -1 ] +} +} +] +} + +################# dining_ceiling1 end + +################# dining_ceiling2 + +DEF dining_ceiling2 Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +DEF dining_ceiling2-TIMER TimeSensor { loop TRUE cycleInterval 0.3333 }, +Shape +{ +appearance USE b_ceiling2 +geometry DEF dining_ceiling2-FACES IndexedFaceSet { +color +Color { color [ .3373 .7098 .9255 0 .9882 1 1 1 1 ] } colorIndex +[ 0 0 1 -1 0 1 2 -1 ] coord DEF dining_ceiling2-COORD Coordinate { +point [ -11.31 56.16 2.158 11.82 56.15 2.158 11.82 40.03 2.16 -11.31 40.05 +2.16 ] +} +texCoord DEF dining_ceiling2-TEXCOORD +TextureCoordinate { point [ -1.028 1.54 2.028 1.531 2.028 -.5397 -1.028 -.524 +] } coordIndex [ 0 1 2 -1 0 2 3 -1 ] texCoordIndex +[ 0 1 2 -1 0 2 3 -1 ] +} +} +] +} + +################# dining_ceiling2 end + +################# dining_upper_lights + +DEF dining_upper_lights Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE b_light2 +geometry DEF dining_upper_lights-FACES IndexedFaceSet { +solid FALSE +coord DEF dining_upper_lights-COORD Coordinate { +point [ -13.85 39.45 1.228 -2.771 29.33 1.255 2.882 29.33 1.262 14.46 39.45 +1.228 14.45 56.16 1.231 -13.86 56.17 1.202 6.462 63.74 2.145 11.82 40.03 2.16 +1.684 31.35 2.191 -1.157 31.35 2.191 -11.31 56.16 2.158 11.82 56.15 2.158 +7.863 64.9 1.199 -11.31 40.05 2.16 -5.909 63.72 2.145 -7.285 64.86 1.2 ] } +coordIndex [ 15 14 6 -1 15 6 12 -1 6 11 12 -1 12 11 4 -1 7 3 4 11 -1 5 10 14 +-1 5 14 15 -1 0 13 10 -1 0 10 5 -1 9 13 0 -1 9 0 1 -1 9 1 2 -1 9 2 8 -1 7 8 +2 -1 7 2 3 -1 ] texCoord DEF dining_upper_lights-TEXCOORD +TextureCoordinate { point [ 0 1 0 0 4.04 1 4.04 0 .1935 .9981 -.2143 .001855 +1.214 .003798 .9115 .9981 1.935 1.003 2.043 -.002566 -1.042 .01487 -1.04 1.016 +2.043 -.002575 1.932 1.003 -1.042 1.016 -1.043 -.01674 -1.173 .01977 -.8695 +.9995 1.864 .9865 2.173 .000508 -1.256 .02223 -.7936 1.001 1.982 .9896 2.003 +.021 -.9849 1.002 1.783 1.014 -1.009 -.01387 2.252 .02102 ] } texCoordIndex +[ 16 17 18 -1 16 18 19 -1 24 25 26 -1 26 25 27 -1 8 9 10 11 -1 20 21 22 -1 20 +22 23 -1 12 13 14 -1 12 14 15 -1 2 0 1 -1 2 1 3 -1 4 5 6 -1 4 6 7 -1 2 0 1 +-1 2 1 3 -1 ] +} +} +] +} + +################# dining_upper_lights end + +################# dine_front_wall + +DEF dine_front_wall Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE e_design +geometry DEF dine_front_wall-FACES IndexedFaceSet { +convex FALSE +coord DEF dine_front_wall-COORD Coordinate { +point [ -13.86 56.17 -2.769 14.45 56.15 -2.775 -13.86 56.17 1.202 -7.285 64.86 +1.2 -7.274 65 -2.847 7.865 64.98 -2.851 -7.273 65.37 -2.795 7.866 65.36 -2.815 +-3.582 68.67 1.195 4.171 68.68 1.194 -3.576 68.67 -2.8 4.168 68.66 -2.819 +14.45 56.16 1.231 7.863 64.9 1.199 -7.284 65.37 1.199 7.872 65.38 1.198 -3.581 +68.67 .357 4.17 68.67 .3563 4.162 68.67 -2.255 -3.577 68.67 -2.236 -6.846 +65.76 -2.232 -6.836 65.77 .3592 7.377 65.78 .3584 7.369 65.78 -2.252 ] } +coordIndex [ 3 2 0 -1 3 0 4 -1 12 13 5 -1 12 5 1 -1 20 21 6 10 -1 14 6 21 8 +-1 10 19 20 -1 17 9 16 -1 8 16 9 -1 15 22 7 -1 23 7 22 -1 8 21 16 -1 19 10 18 +-1 11 18 10 -1 9 17 22 -1 11 7 18 -1 15 9 22 -1 18 7 23 -1 13 15 5 -1 5 15 7 +-1 14 3 4 6 -1 ] texCoord DEF dine_front_wall-TEXCOORD +TextureCoordinate { point [ -2.498 .9794 3.499 .9808 -2.499 .007672 -1.106 +.008128 -1.104 .9984 2.103 .9995 -1.103 .9857 2.103 .9905 -.3215 .009394 1.32 +.009575 -.3204 .9868 1.32 .9916 3.499 .000498 2.103 .00831 -1.106 .008298 +2.104 .008478 -.3215 .2144 1.32 .2145 1.319 .8535 -.3206 .849 -1.013 .8479 +-1.011 .2138 2 .214 1.998 .8528 ] } texCoordIndex +[ 3 2 0 -1 3 0 4 -1 12 13 5 -1 12 5 1 -1 20 21 6 10 -1 14 6 21 8 -1 10 19 20 +-1 17 9 16 -1 8 16 9 -1 15 22 7 -1 23 7 22 -1 8 21 16 -1 19 10 18 -1 11 18 10 +-1 9 17 22 -1 11 7 18 -1 15 9 22 -1 18 7 23 -1 13 15 5 -1 5 15 7 -1 14 3 4 6 +-1 ] +} +} +] +} + +################# dine_front_wall end + +################# dine_windows + +DEF dine_windows Transform { +translation 3.123 -5.074 -68.69 +children [ +DEF dine_windows-TIMER TimeSensor { loop TRUE cycleInterval 0.3333 }, +DEF dinning_window2 Transform { +translation -0.3665 0.7264 54.3 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE window +geometry DEF dinning_window2-FACES IndexedFaceSet { +solid FALSE +coord DEF dinning_window2-COORD Coordinate { +point [ 14.82 55.34 -1.745 14.83 40.89 -1.741 14.8 55.34 .7368 14.82 40.89 +.7406 ] } +coordIndex [ 2 3 1 0 -1 ] texCoord DEF dinning_window2-TEXCOORD +TextureCoordinate { point [ .9979 3.067 -.02071 -2.067 -.01916 3.068 .9963 +-2.068 ] } texCoordIndex +[ 2 1 3 0 -1 ] +} +} +] +}, +DEF dinning_window03 Transform { +translation -28.98 0.7264 54.3 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE window +geometry DEF dinning_window03-FACES IndexedFaceSet { +solid FALSE +coord DEF dinning_window03-COORD Coordinate { +point [ 14.82 55.34 -1.745 14.83 40.89 -1.741 14.8 55.34 .7368 14.82 40.89 +.7406 ] } +coordIndex [ 2 3 1 0 -1 ] texCoord DEF dinning_window03-TEXCOORD +TextureCoordinate { point [ .9979 3.067 -.02071 -2.067 -.01916 3.068 .9963 +-2.068 ] } texCoordIndex +[ 2 1 3 0 -1 ] +} +} +] +}, +DEF dinning_window Transform { +translation -0.2748 0.7264 54.18 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE window +geometry DEF dinning_window-FACES IndexedFaceSet { +solid FALSE +coord DEF dinning_window-COORD Coordinate { +point [ 4.162 68.67 -2.255 -6.893 65.76 -2.232 -3.577 68.67 -2.236 7.369 65.78 +-2.252 7.388 65.75 .3626 4.132 68.63 .3597 -3.607 68.64 .3781 -6.876 65.72 +.3824 ] } +coordIndex [ 5 4 0 -1 3 0 4 -1 6 5 0 2 -1 7 6 2 -1 2 1 7 -1 ] +texCoord DEF +dinning_window-TEXCOORD +TextureCoordinate { point [ 2.014 .9995 -2.262 .9909 -.9791 .9925 3.254 .9984 +3.262 .007997 2.002 .009087 -.9908 .00213 -2.255 .000501 ] } texCoordIndex +[ 5 4 0 -1 3 0 4 -1 6 5 0 2 -1 7 6 2 -1 2 1 7 -1 ] +} +} +] +} +] +} + +################# dine_windows end + +################# dine_ceiling_window + +DEF dine_ceiling_window Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +DEF dine_ceiling_window-TIMER TimeSensor { loop TRUE cycleInterval 0.3333 }, +Shape +{ +appearance USE water_e +geometry DEF dine_ceiling_window-FACES IndexedFaceSet { +solid FALSE +color +Color { color [ .3098 .8235 .7569 1 1 1 ] } colorIndex +[ 0 0 1 -1 1 1 0 -1 ] coord DEF dine_ceiling_window-COORD Coordinate { +point [ -7.284 65.37 1.199 7.872 65.38 1.198 4.171 68.68 1.194 -3.582 68.67 +1.195 ] +} +texCoord DEF dine_ceiling_window-TEXCOORD +TextureCoordinate { point [ -.5789 .000501 1.579 .002074 1.052 .9995 -.05182 +.9979 ] } coordIndex [ 0 1 2 -1 2 3 0 -1 ] texCoordIndex +[ 0 1 2 -1 2 3 0 -1 ] +} +} +] +} + +################# dine_ceiling_window end + +################# dine_steps + +DEF dine_steps Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +DEF dine_steps-TIMER TimeSensor { loop TRUE cycleInterval 0.3333 }, +Shape +{ +appearance USE mb_floor5 +geometry DEF dine_steps-FACES IndexedFaceSet { +coord DEF dine_steps-COORD Coordinate { +point [ -7.274 65 -2.847 7.865 64.98 -2.851 -7.273 65.37 -2.795 7.866 65.36 +-2.815 -3.576 68.67 -2.643 -7.273 65.37 -2.638 7.866 65.36 -2.658 4.168 68.66 +-2.663 -7.274 65.02 -2.769 7.865 64.99 -2.774 -7.273 65.39 -2.717 7.866 65.38 +-2.737 ] +} +texCoord DEF dine_steps-TEXCOORD +TextureCoordinate { point [ .000503 .3022 .9994 .2994 .2445 .7006 .7555 .6995 +.000499 .3035 .9994 .3007 .000566 .3436 .9995 .3425 .000581 .3424 .9995 .3412 +.9995 .6778 .00051 .7291 .9995 .2709 .000499 .3222 ] } coordIndex [ 8 9 10 +-1 11 10 9 -1 5 6 4 -1 7 4 6 -1 2 3 5 -1 6 5 3 -1 0 1 8 -1 9 8 1 -1 ] texCoordIndex +[ 4 5 6 -1 7 6 5 -1 8 9 2 -1 3 2 9 -1 10 11 12 -1 13 12 11 -1 0 1 4 -1 5 4 1 +-1 ] +} +} +] +} + +################# dine_steps end + +################# dine_outer_wall + +DEF dine_outer_wall Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE outer_wall12 +geometry DEF dine_outer_wall-FACES IndexedFaceSet { +solid FALSE +convex FALSE +color +Color { color [ .07843 .3804 .4902 1 1 1 .03922 .4863 .4196 .01176 .302 .502 +0 .4078 .4667 .007843 .5725 .6549 0 .302 .4745 .01961 .4745 .4784 0 .3961 +.6706 0 .5098 .5843 0 .2392 .4588 0 .3961 .2902 ] } colorIndex +[ 1 1 1 2 -1 1 1 1 -1 1 1 1 -1 1 1 1 3 -1 2 1 1 0 -1 1 2 1 1 -1 4 1 1 1 -1 2 +4 1 -1 1 1 1 -1 1 1 1 -1 3 1 1 1 -1 1 3 1 -1 1 1 5 6 -1 1 4 7 1 -1 8 1 1 -1 +1 1 1 -1 5 8 1 1 -1 1 1 7 -1 7 1 1 -1 6 5 5 6 -1 1 1 1 -1 1 1 6 -1 6 5 1 -1 +10 1 7 -1 10 9 1 -1 9 6 1 -1 9 1 1 -1 1 6 1 -1 7 1 1 -1 1 1 1 -1 3 11 1 1 +-1 1 7 7 1 -1 ] coord DEF dine_outer_wall-COORD Coordinate { +point [ 3.065 29.32 -2.684 3.069 29.32 1.262 14.83 39.43 1.228 14.83 39.42 +-2.7 -14.25 56.18 1.2 -14.28 39.41 1.225 -14.25 56.18 -2.771 -14.28 39.41 +-2.703 14.83 56.12 -2.775 14.83 56.13 1.231 14.83 40.89 .6926 14.82 55.34 +.6961 14.82 55.34 -1.745 14.83 40.89 -1.67 -14.27 55.35 .6961 -14.28 40.89 +.6926 -14.27 55.34 -1.745 -14.28 40.89 -1.67 -7.284 65.37 1.199 7.872 65.38 +1.198 -7.273 65.37 -2.795 7.866 65.36 -2.815 -7.284 65.57 1.199 7.872 65.58 +1.198 -7.273 65.57 -2.795 7.866 65.56 -2.815 -3.581 68.87 1.194 4.171 68.88 +1.193 -3.576 68.87 -2.8 4.168 68.86 -2.82 4.17 68.87 .3559 -3.58 68.87 .3566 +4.168 68.87 -2.257 -3.577 68.87 -2.237 -6.854 65.95 .361 -6.844 65.96 -2.232 +7.505 65.92 -2.252 7.512 65.93 .3603 -2.969 29.33 1.253 -2.969 29.33 -2.694 +] } +coordIndex [ 10 9 2 3 -1 11 9 10 -1 4 14 15 -1 5 4 15 7 -1 3 2 1 0 -1 10 3 12 +13 -1 8 9 11 12 -1 3 8 12 -1 4 6 14 -1 14 6 16 -1 7 15 17 16 -1 6 7 16 -1 6 +4 18 20 -1 9 8 21 19 -1 26 27 31 -1 30 31 27 -1 22 26 31 34 -1 37 23 25 -1 25 +36 37 -1 20 18 22 24 -1 23 30 27 -1 34 35 24 -1 24 22 34 -1 29 32 25 -1 29 28 +32 -1 28 24 33 -1 28 33 32 -1 33 24 35 -1 25 32 36 -1 30 23 37 -1 7 39 38 5 +-1 19 21 25 23 -1 ] texCoord DEF dine_outer_wall-TEXCOORD +TextureCoordinate { point [ .6395 .1306 .6395 .4312 .5918 .115 .7229 .115 +.5927 .2793 .5919 .1148 .7253 .2793 .723 .1148 .7254 .2786 .5917 .2788 .6096 +.1294 .6095 .271 .691 .271 .6885 .1294 .6095 .2711 .6096 .1293 .691 .2711 +.6885 .1293 -.002385 .1247 -.002344 .4032 .9826 .4035 .9826 .1225 .2336 .1247 +.7469 .1248 .234 .4049 .7467 .4063 .2336 .1248 .359 .1251 .6216 .1251 .3592 +.4052 .6215 .4066 .6215 .1839 .3591 .1838 .6215 .3671 .3592 .3657 .2482 .1835 +.2485 .3654 .7345 .3668 .7347 .1836 .7811 .4287 .7811 .1294 .4307 .4285 .4307 +.1292 .5668 .4305 .5668 .1298 ] } texCoordIndex +[ 10 9 2 3 -1 11 9 10 -1 4 14 15 -1 5 4 15 7 -1 40 39 1 0 -1 10 3 12 13 -1 8 +9 11 12 -1 3 8 12 -1 4 6 14 -1 14 6 16 -1 7 15 17 16 -1 6 7 16 -1 19 18 22 24 +-1 21 20 25 23 -1 27 28 32 -1 31 32 28 -1 26 27 32 35 -1 38 23 25 -1 25 37 38 +-1 24 22 26 24 -1 23 31 28 -1 35 36 24 -1 24 26 35 -1 30 33 25 -1 30 29 33 +-1 29 24 34 -1 29 34 33 -1 34 24 36 -1 25 33 37 -1 31 23 38 -1 42 44 43 41 +-1 23 25 25 23 -1 ] +} +} +] +} + +################# dine_outer_wall end + +################# dining_room_roof + +DEF dining_room_roof Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE d_light +geometry DEF dining_room_roof-FACES IndexedFaceSet { +coord DEF dining_room_roof-COORD Coordinate { +point [ -1.157 31.35 2.191 1.684 31.35 2.191 -11.31 40.05 2.417 11.82 40.03 +2.417 -11.31 56.16 2.432 11.82 56.15 2.432 6.462 63.74 2.145 -5.909 63.72 +2.145 ] } +coordIndex [ 4 2 3 5 -1 5 6 7 4 -1 3 2 0 1 -1 ] texCoord DEF dining_room_roof-TEXCOORD +TextureCoordinate { point [ .167 1.123 .5412 .6282 .833 1.122 .4594 .6282 +.6522 .2136 .2162 -.06582 .7838 -.06621 .3487 .2127 .9993 .9981 .000741 .001138 +.000499 .9995 .9995 .000516 ] } texCoordIndex +[ 9 10 8 11 -1 6 4 7 5 -1 2 0 3 1 -1 ] +} +} +] +} + +################# dining_room_roof end + +################ underneath_floor + +DEF underneath_floor Transform { +translation 2.848 -4.348 -14.39 +rotation 1 0 0 -1.57 +scale 0.9901 0.9901 0.9901 +children [ +Shape +{ +appearance USE d_light +geometry DEF underneath_floor-FACES IndexedFaceSet { +coord DEF underneath_floor-COORD Coordinate { +point [ 14.45 56.15 -3.175 -7.274 64.75 -3.157 7.865 64.73 -3.161 -13.86 56.16 +-3.169 2.882 29.32 -3.084 14.46 39.44 -3.103 -2.771 29.32 -3.092 -13.85 39.44 +-3.103 ] } +coordIndex [ 4 7 5 -1 4 6 7 -1 3 0 5 7 -1 0 3 1 2 -1 ] texCoord DEF underneath_floor-TEXCOORD +TextureCoordinate { point [ .000878 .757 .7673 .9995 .2333 .9988 .4091 .000499 +.000499 .2859 .6085 .000499 .9993 .2859 .9995 .7574 ] } texCoordIndex +[ 3 6 4 -1 3 5 6 -1 7 0 4 6 -1 0 7 1 2 -1 ] +} +} +] +} + +################ underneath_floor end + +################underwood + +DEF underwood Transform { +translation -0.324 0 14.84 +children [ +Shape +{ +appearance USE wood_floor +geometry DEF underwood-FACES IndexedFaceSet { +color +Color { color [ 1 1 1 0 .2471 .5255 ] } colorIndex +[ 1 1 0 0 -1 ] coord DEF underwood-COORD Coordinate { +point [ 13.03 -1.79 2.152 -13.03 -1.79 2.152 13.03 -2.461 2.323 -13.03 -2.461 +2.323 ] } +coordIndex [ 2 3 1 0 -1 ] texCoord DEF underwood-TEXCOORD +TextureCoordinate { point [ -1.243 .000501 2.438 .000499 ] } texCoordIndex +[ 0 1 1 0 -1 ] +} +} +] +} + +################ underwood end + +################ underwater_steps + +DEF underwater_steps Transform { +translation -15.96 -4.753 -22.08 +children [ +DEF underwater_steps-TIMER TimeSensor { loop TRUE cycleInterval 3.733 }, +DEF Box01 Transform { +translation -32.63 -1.529 -8.176 +rotation 0.1837 -0.6951 0.6951 -3.505 +children [ +Shape +{ +appearance USE sea_rock_decor +geometry DEF Box01-FACES IndexedFaceSet { +coord DEF Box01-COORD Coordinate { +point [ -3.036 -3.376 .7033 3.344 -3.376 .7033 -3.124 -3.426 0 3.344 -3.376 +0 -3.036 -3.376 -1.852 3.344 -3.376 -1.852 -3.234 1.566 .7033 3.19 1.591 .7033 +-3.19 1.591 -.2882 3.19 1.591 -.2882 -2.865 .8129 -.1904 3.19 1.591 -.4651 +-3.267 3.348 .7033 3.19 3.391 .7033 -3.19 3.391 .4531 3.19 3.391 .462 ] } +coordIndex [ 12 13 15 -1 15 14 12 -1 8 9 11 -1 11 10 8 -1 1 3 9 7 -1 3 5 11 +9 -1 5 4 10 -1 10 11 5 -1 4 2 8 -1 8 10 4 -1 2 0 6 -1 6 8 2 -1 7 9 15 13 -1 +9 8 14 -1 14 15 9 -1 8 6 12 -1 12 14 8 -1 ] texCoord DEF Box01-TEXCOORD +TextureCoordinate { point [ .9995 .007815 .7246 .000499 .9646 .007815 .000499 +.007815 .9995 .732 .6119 .7357 .02381 .7357 .9389 .6217 .9995 .9931 .000499 +.9995 .9017 .9995 .02381 .9995 .000499 .0005 .9762 .000499 .9762 .09482 .01208 +.09829 .01208 .3881 .9762 .3881 .9762 .4572 .9879 .7357 .2754 .007815 .3881 +.7357 .000499 .7357 .4572 .7357 .09482 .9995 .9879 .9995 ] } texCoordIndex +[ 12 13 14 -1 14 15 12 -1 16 17 18 -1 6 7 19 -1 3 20 21 22 -1 20 0 23 21 -1 +3 2 7 -1 7 6 3 -1 3 1 5 -1 19 7 2 -1 1 0 4 -1 4 5 1 -1 22 21 24 9 -1 6 19 25 +-1 25 11 6 -1 5 4 8 -1 8 10 5 -1 ] +} +} +] +}, +DEF Box03 Transform { +translation -26.96 1.124 8.268 +rotation -0.374 -0.6558 0.6558 -2.426 +children [ +Shape +{ +appearance USE sea_rock_decor +geometry DEF Box03-FACES IndexedFaceSet { +coord DEF Box03-COORD Coordinate { +point [ -3.036 -3.376 .7033 3.344 -3.376 .7033 -3.124 -3.426 0 3.344 -3.376 +0 -3.036 -3.376 -1.109 3.344 -3.376 -1.109 -3.234 1.566 .7033 3.19 1.591 .7033 +-3.19 1.591 -.2882 3.19 1.591 -.2882 -2.865 .8129 -.1904 3.19 1.591 -.4651 +-3.267 3.348 .7033 3.19 3.391 .7033 -3.19 3.391 .4531 3.19 3.391 .462 ] } +coordIndex [ 12 13 15 -1 15 14 12 -1 8 9 11 -1 11 10 8 -1 1 3 9 7 -1 3 5 11 +9 -1 5 4 10 -1 10 11 5 -1 4 2 8 -1 8 10 4 -1 2 0 6 -1 6 8 2 -1 7 9 15 13 -1 +9 8 14 -1 14 15 9 -1 8 6 12 -1 12 14 8 -1 ] texCoord DEF Box03-TEXCOORD +TextureCoordinate { point [ .9995 .007815 .7246 .000499 .9646 .007815 .000499 +.007815 .9995 .732 .6119 .7357 .02381 .7357 .9389 .6217 .9995 .9931 .000499 +.9995 .9017 .9995 .02381 .9995 .000499 .0005 .9762 .000499 .9762 .09482 .01208 +.09829 .01208 .3881 .9762 .3881 .9762 .4572 .9879 .7357 .2754 .007815 .3881 +.7357 .000499 .7357 .4572 .7357 .09482 .9995 .9879 .9995 ] } texCoordIndex +[ 12 13 14 -1 14 15 12 -1 16 17 18 -1 6 7 19 -1 3 20 21 22 -1 20 0 23 21 -1 +3 2 7 -1 7 6 3 -1 3 1 5 -1 19 7 2 -1 1 0 4 -1 4 5 1 -1 22 21 24 9 -1 6 19 25 +-1 25 11 6 -1 5 4 8 -1 8 10 5 -1 ] +} +} +] +}, +DEF Box02 Transform { +translation 32.68 -1.529 -5.973 +rotation -0.1699 0.6968 0.6968 -3.478 +children [ +Shape +{ +appearance USE sea_rock_decor +geometry DEF Box02-FACES IndexedFaceSet { +ccw FALSE +coord DEF Box02-COORD Coordinate { +point [ 3.036 3.376 -.7033 -3.344 3.376 -.7033 3.124 3.426 0 -3.344 3.376 +0 3.036 3.376 1.852 -3.344 3.376 1.852 3.234 -1.566 -.7033 -3.19 -1.591 -.7033 +3.19 -1.591 .2882 -3.19 -1.591 .2882 2.865 -.8129 .1904 -3.19 -1.591 .4651 +3.267 -3.348 -.7033 -3.19 -3.391 -.7033 3.19 -3.391 -.4531 -3.19 -3.391 -.462 +] } +coordIndex [ 12 13 15 -1 15 14 12 -1 8 9 11 -1 11 10 8 -1 1 3 9 7 -1 3 5 11 +9 -1 5 4 10 -1 10 11 5 -1 4 2 8 -1 8 10 4 -1 2 0 6 -1 6 8 2 -1 7 9 15 13 -1 +9 8 14 -1 14 15 9 -1 8 6 12 -1 12 14 8 -1 ] texCoord DEF Box02-TEXCOORD +TextureCoordinate { point [ .9995 .007815 .7246 .000499 .9646 .007815 .000499 +.007815 .9995 .732 .6119 .7357 .02381 .7357 .9389 .6217 .9995 .9931 .000499 +.9995 .9017 .9995 .02381 .9995 .000499 .0005 .9762 .000499 .9762 .09482 .01208 +.09829 .01208 .3881 .9762 .3881 .9762 .4572 .9879 .7357 .2754 .007815 .3881 +.7357 .000499 .7357 .4572 .7357 .09482 .9995 .9879 .9995 ] } texCoordIndex +[ 12 13 14 -1 14 15 12 -1 16 17 18 -1 6 7 19 -1 3 20 21 22 -1 20 0 23 21 -1 +3 2 7 -1 7 6 3 -1 3 1 5 -1 19 7 2 -1 1 0 4 -1 4 5 1 -1 22 21 24 9 -1 6 19 25 +-1 25 11 6 -1 5 4 8 -1 8 10 5 -1 ] +} +} +] +} +] +} + +################ underwater_steps end + +Group +{#fish +children[ +#######################################################################animation fishes + + +###################### yellow_fish +DEF yellow_fish02 Transform { +children [ +DEF yellow_fish02-TIMER TimeSensor { loop TRUE cycleInterval 24 }, +Shape +{ +appearance USE yellow_finfish +geometry DEF yellow_fish02-FACES IndexedFaceSet { creaseAngle 3 +solid FALSE +coord DEF yellow_fish02-COORD Coordinate { +point [ 6.526 -9.03 -89.15 6.803 -9.343 -89 6.406 -9.538 -89.16 6.862 -9.342 +-89.14 6.063 -9.072 -89.2 6.044 -9.47 -89.19 5.638 -9.175 -89.23 5.772 -9.336 +-89.21 5.634 -9.315 -89.22 4.995 -8.933 -89.23 5.061 -9.446 -89.23 6.908 -9.558 +-89.06 6.878 -9.071 -89.07 7.324 -9.357 -88.95 5.281 -9.22 -89.23 6.281 -8.84 +-89.19 5.499 -8.992 -89.23 6.785 -8.953 -89.1 6.451 -9.776 -89.15 5.391 -9.552 +-89.23 ] +} +texCoord DEF yellow_fish02-TEXCOORD +TextureCoordinate { point [ .3496 .7741 .193 .494 .3663 .3218 .1923 .4949 +.5067 .7146 .5428 .3665 .6703 .5808 .6303 .466 .7144 .5143 .9872 .775 .9773 +.4134 .2448 .3118 .21 .7338 .01048 .4743 .782 .537 .5127 .8911 .6176 .7309 +.291 .9044 .3593 .1397 .7468 .237 ] } coordIndex [ 0 4 1 -1 1 5 2 -1 2 5 3 +-1 3 4 0 -1 4 6 1 -1 1 6 7 -1 1 7 5 -1 5 7 3 -1 3 7 6 -1 3 6 4 -1 6 8 7 -1 7 +8 6 -1 6 10 8 -1 8 10 6 -1 1 12 0 -1 1 2 11 -1 3 11 2 -1 3 0 12 -1 12 1 13 +-1 1 11 13 -1 11 3 13 -1 3 12 13 -1 9 14 6 -1 10 6 14 -1 10 14 6 -1 9 6 14 +-1 0 4 15 -1 16 15 4 -1 4 6 16 -1 15 17 0 -1 12 0 17 -1 18 11 2 -1 5 7 19 +-1 ] texCoordIndex +[ 0 4 1 -1 1 5 2 -1 2 5 3 -1 3 4 0 -1 4 6 1 -1 1 6 7 -1 1 7 5 -1 5 7 3 -1 3 +7 6 -1 3 6 4 -1 6 8 7 -1 7 8 6 -1 6 10 8 -1 8 10 6 -1 1 12 0 -1 1 2 11 -1 3 +11 2 -1 3 0 12 -1 12 1 13 -1 1 11 13 -1 11 3 13 -1 3 12 13 -1 9 14 6 -1 10 6 +14 -1 10 14 6 -1 9 6 14 -1 0 4 15 -1 16 15 4 -1 4 6 16 -1 15 17 0 -1 12 0 17 +-1 18 11 2 -1 5 7 19 -1 ] +} +} +DEF yellow_fish02-COORD-INTERP CoordinateInterpolator { +key [0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, +0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1, ] +keyValue [6.526 -9.03 -89.15, +6.803 -9.343 -89, 6.406 -9.538 -89.16, 6.862 -9.342 -89.14, 6.063 -9.072 -89.2, +6.044 -9.47 -89.19, 5.638 -9.175 -89.23, 5.772 -9.336 -89.21, +5.634 -9.315 -89.22, 4.995 -8.933 -89.23, 5.061 -9.446 -89.23, +6.908 -9.558 -89.06, 6.878 -9.071 -89.07, 7.324 -9.357 -88.95, +5.281 -9.22 -89.23, 6.281 -8.84 -89.19, 5.499 -8.992 -89.23, +6.785 -8.953 -89.1, 6.451 -9.776 -89.15, 5.391 -9.552 -89.23, +10.61 -9.03 -87.22, 10.64 -9.343 -87.03, 10.54 -9.538 -87.26, +10.8 -9.342 -87.11, 10.4 -9.072 -87.42, 10.38 -9.47 -87.42, 10.17 -9.175 -87.6, +10.24 -9.336 -87.54, 10.16 -9.315 -87.6, 9.75 -8.933 -87.89, +9.796 -9.446 -87.86, 10.76 -9.558 -87.04, 10.75 -9.071 -87.06, +10.92 -9.357 -86.85, 9.943 -9.22 -87.76, 10.51 -8.84 -87.33, +10.08 -8.992 -87.67, 10.72 -8.953 -87.11, 10.56 -9.776 -87.24, +10.02 -9.552 -87.71, 11.19 -9.03 -84.77, 11.03 -9.343 -84.63, +11.19 -9.538 -84.83, 11.22 -9.342 -84.6, 11.28 -9.072 -84.99, +11.26 -9.47 -85.01, 11.34 -9.175 -85.18, 11.31 -9.336 -85.12, +11.33 -9.315 -85.18, 11.39 -8.933 -85.48, 11.38 -9.446 -85.44, +11.12 -9.558 -84.57, 11.13 -9.071 -84.59, 11.08 -9.357 -84.33, +11.37 -9.22 -85.34, 11.24 -8.84 -84.89, 11.36 -8.992 -85.24, +11.16 -8.953 -84.64, 11.18 -9.776 -84.81, 11.37 -9.552 -85.29, +11.79 -9.03 -81.44, 11.8 -9.343 -81.24, 11.73 -9.538 -81.5, 11.97 -9.342 -81.3, +11.63 -9.072 -81.7, 11.61 -9.47 -81.71, 11.5 -9.175 -81.97, 11.53 -9.336 -81.88, +11.49 -9.315 -81.97, 11.31 -8.933 -82.41, 11.33 -9.446 -82.36, +11.92 -9.558 -81.24, 11.91 -9.071 -81.25, 12.09 -9.357 -81.02, +11.39 -9.22 -82.2, 11.71 -8.84 -81.58, 11.46 -8.992 -82.06, 11.89 -8.953 -81.31, +11.75 -9.776 -81.48, 11.42 -9.552 -82.13, 14.31 -9.03 -79.66, +14.37 -9.343 -79.5, 14.25 -9.538 -79.68, 14.51 -9.342 -79.6, +14.1 -9.072 -79.8, 14.09 -9.47 -79.79, 13.9 -9.175 -79.91, 13.96 -9.336 -79.87, +13.89 -9.315 -79.91, 13.57 -8.933 -80.06, 13.61 -9.446 -80.05, +14.48 -9.558 -79.52, 14.46 -9.071 -79.54, 14.66 -9.357 -79.37, +13.72 -9.22 -80, 14.21 -8.84 -79.74, 13.83 -8.992 -79.95, 14.43 -8.953 -79.58, +14.27 -9.776 -79.67, 13.78 -9.552 -79.97, 15.65 -9.03 -77.02, +15.5 -9.343 -76.86, 15.64 -9.538 -77.09, 15.68 -9.342 -76.83, +15.68 -9.072 -77.29, 15.66 -9.47 -77.3, 15.67 -9.175 -77.54, +15.67 -9.336 -77.46, 15.66 -9.315 -77.54, 15.6 -8.933 -77.93, +15.6 -9.446 -77.89, 15.59 -9.558 -76.8, 15.59 -9.071 -76.82, +15.49 -9.357 -76.55, 15.63 -9.22 -77.75, 15.68 -8.84 -77.16, +15.66 -8.992 -77.62, 15.62 -8.953 -76.88, 15.64 -9.776 -77.07, +15.65 -9.552 -77.69, 12.84 -9.03 -73.93, 12.65 -9.343 -73.79, +12.86 -9.538 -73.99, 12.83 -9.342 -73.74, 12.99 -9.072 -74.16, +12.98 -9.47 -74.18, 13.18 -9.175 -74.39, 13.11 -9.336 -74.32, +13.18 -9.315 -74.39, 13.61 -8.933 -74.71, 13.55 -9.446 -74.68, +12.73 -9.558 -73.72, 12.74 -9.071 -73.74, 12.65 -9.357 -73.49, +13.39 -9.22 -74.57, 12.92 -8.84 -74.05, 13.26 -8.992 -74.46, +12.78 -8.953 -73.79, 12.84 -9.776 -73.97, 13.32 -9.552 -74.51, +11.31 -9.03 -71.18, 11.02 -9.343 -71.16, 11.39 -9.538 -71.23, +11.1 -9.342 -71.03, 11.62 -9.072 -71.35, 11.62 -9.47 -71.36, +11.85 -9.175 -71.52, 11.78 -9.336 -71.47, 11.85 -9.315 -71.53, +12.12 -8.933 -71.84, 12.1 -9.446 -71.81, 11 -9.558 -71.07, 11.02 -9.071 -71.08, +10.66 -9.357 -70.97, 12.01 -9.22 -71.7, 11.49 -8.84 -71.26, 11.92 -8.992 -71.59, +11.12 -8.953 -71.1, 11.36 -9.776 -71.22, 11.97 -9.552 -71.64, +7.165 -9.03 -70.61, 6.969 -9.343 -70.71, 7.25 -9.538 -70.61, +6.935 -9.342 -70.57, 7.495 -9.072 -70.58, 7.509 -9.47 -70.59, +7.816 -9.175 -70.58, 7.713 -9.336 -70.58, 7.82 -9.315 -70.58, +8.341 -8.933 -70.59, 8.285 -9.446 -70.59, 6.9 -9.558 -70.64, +6.921 -9.071 -70.64, 6.605 -9.357 -70.69, 8.101 -9.22 -70.58, +7.338 -8.84 -70.59, 7.926 -8.992 -70.57, 6.986 -8.953 -70.62, +7.219 -9.776 -70.61, 8.012 -9.552 -70.58, 3.93 -9.03 -72.28, +3.905 -9.343 -72.5, 3.994 -9.538 -72.22, 3.734 -9.342 -72.43, +4.133 -9.072 -72.03, 4.154 -9.47 -72.02, 4.345 -9.175 -71.81, +4.281 -9.336 -71.88, 4.352 -9.315 -71.81, 4.712 -8.933 -71.5, +4.673 -9.446 -71.53, 3.784 -9.558 -72.51, 3.794 -9.071 -72.49, +3.622 -9.357 -72.78, 4.544 -9.22 -71.64, 4.029 -8.84 -72.14, +4.417 -8.992 -71.74, 3.818 -8.953 -72.42, 3.975 -9.776 -72.24, +4.478 -9.552 -71.69, 2.317 -9.03 -75.44, 2.251 -9.343 -75.61, +2.38 -9.538 -75.4, 2.124 -9.342 -75.5, 2.504 -9.072 -75.25, 2.524 -9.47 -75.25, +2.663 -9.175 -75.04, 2.621 -9.336 -75.11, 2.67 -9.315 -75.04, +2.879 -8.933 -74.65, 2.859 -9.446 -74.69, 2.146 -9.558 -75.58, +2.161 -9.071 -75.57, 1.918 -9.357 -75.69, 2.79 -9.22 -74.83, +2.413 -8.84 -75.34, 2.709 -8.992 -74.96, 2.196 -8.953 -75.53, +2.361 -9.776 -75.42, 2.748 -9.552 -74.9, -1.621 -9.03 -75.76, +-1.706 -9.343 -75.93, -1.547 -9.538 -75.72, -1.839 -9.342 -75.82, +-1.364 -9.072 -75.61, -1.345 -9.47 -75.61, -1.094 -9.175 -75.5, +-1.18 -9.336 -75.53, -1.089 -9.315 -75.5, -0.6002 -8.933 -75.41, +-0.657 -9.446 -75.41, -1.816 -9.558 -75.9, -1.801 -9.071 -75.89, +-2.036 -9.357 -76.07, -0.8346 -9.22 -75.44, -1.492 -8.84 -75.67, +-0.9978 -8.992 -75.47, -1.761 -8.953 -75.84, -1.572 -9.776 -75.74, +-0.9192 -9.552 -75.45, -5.174 -9.03 -76.97, -5.423 -9.343 -77.08, +-5.073 -9.538 -76.98, -5.443 -9.342 -76.93, -4.791 -9.072 -76.94, +-4.774 -9.47 -76.95, -4.436 -9.175 -76.91, -4.548 -9.336 -76.93, +-4.432 -9.315 -76.91, -3.897 -8.933 -76.85, -3.952 -9.446 -76.86, +-5.497 -9.558 -77, -5.47 -9.071 -77, -5.87 -9.357 -77.03, -4.136 -9.22 -76.88, +-4.971 -8.84 -76.95, -4.32 -8.992 -76.9, -5.388 -8.953 -76.98, +-5.11 -9.776 -76.98, -4.23 -9.552 -76.89, -9.982 -9.03 -77.39, +-10.19 -9.343 -77.51, -9.887 -9.538 -77.38, -10.24 -9.342 -77.37, +-9.616 -9.072 -77.33, -9.599 -9.47 -77.34, -9.25 -9.175 -77.29, +-9.368 -9.336 -77.3, -9.246 -9.315 -77.29, -8.639 -8.933 -77.22, +-8.705 -9.446 -77.23, -10.27 -9.558 -77.44, -10.25 -9.071 -77.44, +-10.58 -9.357 -77.51, -8.92 -9.22 -77.25, -9.792 -8.84 -77.35, +-9.124 -8.992 -77.27, -10.18 -8.953 -77.41, -9.922 -9.776 -77.39, +-9.025 -9.552 -77.26, -12.41 -9.03 -78.95, -12.3 -9.343 -79.09, +-12.39 -9.538 -78.9, -12.49 -9.342 -79.1, -12.37 -9.072 -78.74, +-12.36 -9.47 -78.74, -12.3 -9.175 -78.54, -12.32 -9.336 -78.6, +-12.3 -9.315 -78.54, -12.15 -8.933 -78.27, -12.16 -9.446 -78.3, +-12.41 -9.558 -79.13, -12.41 -9.071 -79.11, -12.39 -9.357 -79.32, +-12.22 -9.22 -78.39, -12.4 -8.84 -78.84, -12.28 -8.992 -78.48, +-12.42 -8.953 -79.07, -12.39 -9.776 -78.92, -12.26 -9.552 -78.43, +-10.97 -9.03 -81.54, -10.73 -9.343 -81.65, -11.01 -9.538 -81.48, +-10.89 -9.342 -81.73, -11.18 -9.072 -81.32, -11.17 -9.47 -81.3, +-11.37 -9.175 -81.1, -11.3 -9.336 -81.17, -11.36 -9.315 -81.1, +-11.65 -8.933 -80.76, -11.62 -9.446 -80.79, -10.78 -9.558 -81.73, +-10.8 -9.071 -81.71, -10.58 -9.357 -81.94, -11.52 -9.22 -80.91, +-11.09 -8.84 -81.43, -11.43 -8.992 -81.03, -10.86 -8.953 -81.67, +-10.99 -9.776 -81.5, -11.48 -9.552 -80.97, -8.355 -9.03 -84.57, +-8.127 -9.343 -84.71, -8.387 -9.538 -84.49, -8.289 -9.342 -84.79, +-8.538 -9.072 -84.28, -8.531 -9.47 -84.27, -8.721 -9.175 -84.02, +-8.654 -9.336 -84.1, -8.718 -9.315 -84.01, -9.039 -8.933 -83.6, +-9.003 -9.446 -83.64, -8.18 -9.558 -84.79, -8.196 -9.071 -84.78, +-7.965 -9.357 -85.02, -8.887 -9.22 -83.79, -8.458 -8.84 -84.42, +-8.789 -8.992 -83.93, -8.255 -8.953 -84.73, -8.37 -9.776 -84.51, +-8.838 -9.552 -83.86, -4.427 -9.03 -85.94, -4.174 -9.343 -85.87, +-4.523 -9.538 -85.93, -4.178 -9.342 -86.01, -4.809 -9.072 -85.93, +-4.823 -9.47 -85.92, -5.178 -9.175 -85.91, -5.059 -9.336 -85.91, +-5.181 -9.315 -85.9, -5.769 -8.933 -85.85, -5.706 -9.446 -85.85, +-4.117 -9.558 -85.95, -4.142 -9.071 -85.95, -3.775 -9.357 -85.96, +-5.501 -9.22 -85.87, -4.629 -8.84 -85.94, -5.304 -8.992 -85.9, +-4.221 -8.953 -85.96, -4.487 -9.776 -85.93, -5.401 -9.552 -85.89, +-0.8893 -9.03 -86.81, -0.6428 -9.343 -86.87, -0.9461 -9.538 -86.76, +-0.7678 -9.342 -86.97, -1.156 -9.072 -86.64, -1.156 -9.47 -86.62, +-1.415 -9.175 -86.47, -1.326 -9.336 -86.52, -1.414 -9.315 -86.46, +-1.818 -8.933 -86.22, -1.786 -9.446 -86.24, -0.6691 -9.558 -86.95, +-0.6876 -9.071 -86.94, -0.4322 -9.357 -87.12, -1.647 -9.22 -86.32, +-1.034 -8.84 -86.72, -1.507 -8.992 -86.41, -0.7531 -8.953 -86.91, +-0.921 -9.776 -86.78, -1.576 -9.552 -86.37, 2.183 -9.03 -88.68, +2.42 -9.343 -88.68, 2.119 -9.538 -88.64, 2.335 -9.342 -88.8, +1.907 -9.072 -88.55, 1.905 -9.47 -88.54, 1.652 -9.175 -88.43, +1.738 -9.336 -88.46, 1.653 -9.315 -88.42, 1.253 -8.933 -88.2, +1.296 -9.446 -88.23, 2.42 -9.558 -88.76, 2.4 -9.071 -88.76, 2.69 -9.357 -88.86, +1.436 -9.22 -88.3, 2.032 -8.84 -88.62, 1.565 -8.992 -88.38, 2.332 -8.953 -88.74, +2.146 -9.776 -88.65, 1.501 -9.552 -88.35, 6.526 -9.03 -89.15, +6.803 -9.343 -89, 6.406 -9.538 -89.16, 6.862 -9.342 -89.14, 6.063 -9.072 -89.2, +6.044 -9.47 -89.19, 5.638 -9.175 -89.23, 5.772 -9.336 -89.21, +5.634 -9.315 -89.22, 4.995 -8.933 -89.23, 5.061 -9.446 -89.23, +6.908 -9.558 -89.06, 6.878 -9.071 -89.07, 7.324 -9.357 -88.95, +5.281 -9.22 -89.23, 6.281 -8.84 -89.19, 5.499 -8.992 -89.23, +6.785 -8.953 -89.1, 6.451 -9.776 -89.15, 5.391 -9.552 -89.23, +] +} +] +ROUTE yellow_fish02-TIMER.fraction_changed TO yellow_fish02-COORD-INTERP.set_fraction +ROUTE yellow_fish02-COORD-INTERP.value_changed TO yellow_fish02-COORD.set_point +} +####################yellow_fish end + +####################yellow_anifish2 +DEF yellow_fish01 Transform { +children [ +DEF yellow_fish01-TIMER TimeSensor { loop TRUE cycleInterval 6 }, +Shape +{ +appearance USE yellow_finfish +geometry DEF yellow_fish01-FACES IndexedFaceSet { creaseAngle 3 +solid FALSE +coord DEF yellow_fish01-COORD Coordinate { +point [ 78.79 -9.286 -85.02 79 -9.547 -84.88 78.69 -9.711 -85.01 79.06 -9.547 +-84.99 78.42 -9.321 -85.04 78.41 -9.653 -85.04 78.12 -9.408 -85.02 78.22 -9.542 +-85.04 78.12 -9.524 -85.02 77.72 -9.206 -84.93 77.76 -9.634 -84.94 79.09 -9.727 +-84.91 79.06 -9.321 -84.92 79.38 -9.559 -84.82 77.89 -9.445 -84.96 78.59 -9.128 +-85.02 78.03 -9.255 -84.99 79 -9.222 -84.97 78.73 -9.909 -85.01 77.96 -9.723 +-84.97 ] +} +texCoord DEF yellow_fish01-TEXCOORD +TextureCoordinate { point [ .3496 .7741 .193 .494 .3663 .3218 .1923 .4949 +.5067 .7146 .5428 .3665 .6703 .5808 .6303 .466 .7144 .5143 .9872 .775 .9773 +.4134 .2448 .3118 .21 .7338 .01048 .4743 .782 .537 .5127 .8911 .6176 .7309 +.291 .9044 .3593 .1397 .7468 .237 ] } coordIndex [ 0 4 1 -1 1 5 2 -1 2 5 3 +-1 3 4 0 -1 4 6 1 -1 1 6 7 -1 1 7 5 -1 5 7 3 -1 3 7 6 -1 3 6 4 -1 6 8 7 -1 7 +8 6 -1 6 10 8 -1 8 10 6 -1 1 12 0 -1 1 2 11 -1 3 11 2 -1 3 0 12 -1 12 1 13 +-1 1 11 13 -1 11 3 13 -1 3 12 13 -1 9 14 6 -1 10 6 14 -1 10 14 6 -1 9 6 14 +-1 0 4 15 -1 16 15 4 -1 4 6 16 -1 15 17 0 -1 12 0 17 -1 18 11 2 -1 5 7 19 +-1 ] texCoordIndex +[ 0 4 1 -1 1 5 2 -1 2 5 3 -1 3 4 0 -1 4 6 1 -1 1 6 7 -1 1 7 5 -1 5 7 3 -1 3 +7 6 -1 3 6 4 -1 6 8 7 -1 7 8 6 -1 6 10 8 -1 8 10 6 -1 1 12 0 -1 1 2 11 -1 3 +11 2 -1 3 0 12 -1 12 1 13 -1 1 11 13 -1 11 3 13 -1 3 12 13 -1 9 14 6 -1 10 6 +14 -1 10 14 6 -1 9 6 14 -1 0 4 15 -1 16 15 4 -1 4 6 16 -1 15 17 0 -1 12 0 17 +-1 18 11 2 -1 5 7 19 -1 ] +} +} +DEF yellow_fish01-COORD-INTERP CoordinateInterpolator { +key [0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, +0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1, ] +keyValue [78.79 -9.286 -85.02, +79 -9.547 -84.88, 78.69 -9.711 -85.01, 79.06 -9.547 -84.99, 78.42 -9.321 -85.04, +78.41 -9.653 -85.04, 78.12 -9.408 -85.02, 78.22 -9.542 -85.04, +78.12 -9.524 -85.02, 77.72 -9.206 -84.93, 77.76 -9.634 -84.94, +79.09 -9.727 -84.91, 79.06 -9.321 -84.92, 79.38 -9.559 -84.82, +77.89 -9.445 -84.96, 78.59 -9.128 -85.02, 78.03 -9.255 -84.99, +79 -9.222 -84.97, 78.73 -9.909 -85.01, 77.96 -9.723 -84.97, 79.79 -9.286 -84.51, +79.8 -9.547 -84.36, 79.74 -9.711 -84.55, 79.94 -9.547 -84.41, +79.61 -9.321 -84.69, 79.59 -9.653 -84.69, 79.35 -9.408 -84.8, +79.44 -9.542 -84.76, 79.35 -9.524 -84.8, 78.84 -9.206 -84.98, +78.9 -9.634 -84.97, 79.89 -9.727 -84.36, 79.89 -9.321 -84.37, +79.96 -9.559 -84.21, 79.1 -9.445 -84.93, 79.71 -9.128 -84.61, +79.26 -9.255 -84.85, 79.87 -9.222 -84.41, 79.76 -9.909 -84.53, +79.18 -9.723 -84.89, 79.91 -9.286 -83.89, 79.8 -9.547 -83.76, +79.92 -9.711 -83.94, 79.95 -9.547 -83.74, 79.97 -9.321 -84.06, +79.96 -9.653 -84.07, 79.96 -9.408 -84.22, 79.96 -9.542 -84.17, +79.95 -9.524 -84.22, 79.81 -9.206 -84.5, 79.83 -9.634 -84.47, +79.88 -9.727 -83.71, 79.88 -9.321 -83.72, 79.9 -9.559 -83.48, +79.89 -9.445 -84.37, 79.96 -9.128 -83.98, 79.94 -9.255 -84.28, +79.9 -9.222 -83.77, 79.91 -9.909 -83.93, 79.92 -9.723 -84.32, +80.09 -9.286 -83.04, 80.12 -9.547 -82.88, 80.04 -9.711 -83.08, +80.25 -9.547 -82.96, 79.97 -9.321 -83.26, 79.95 -9.653 -83.27, +79.9 -9.408 -83.51, 79.91 -9.542 -83.43, 79.89 -9.524 -83.52, +79.9 -9.206 -83.89, 79.89 -9.634 -83.85, 80.22 -9.727 -82.9, +80.21 -9.321 -82.91, 80.4 -9.559 -82.76, 79.88 -9.445 -83.73, +80.02 -9.128 -83.15, 79.89 -9.255 -83.6, 80.18 -9.222 -82.95, +80.05 -9.909 -83.06, 79.88 -9.723 -83.66, 80.74 -9.286 -82.58, +80.77 -9.547 -82.45, 80.69 -9.711 -82.61, 80.9 -9.547 -82.54, +80.57 -9.321 -82.7, 80.56 -9.653 -82.69, 80.39 -9.408 -82.78, +80.46 -9.542 -82.75, 80.38 -9.524 -82.77, 80.1 -9.206 -83, 80.12 -9.634 -82.97, +80.87 -9.727 -82.48, 80.86 -9.321 -82.49, 80.99 -9.559 -82.33, +80.22 -9.445 -82.87, 80.65 -9.128 -82.65, 80.32 -9.255 -82.81, +80.84 -9.222 -82.52, 80.7 -9.909 -82.6, 80.27 -9.723 -82.84, +81.05 -9.286 -81.94, 80.91 -9.547 -81.81, 81.05 -9.711 -82, 81.06 -9.547 -81.77, +81.05 -9.321 -82.15, 81.04 -9.653 -82.16, 80.98 -9.408 -82.33, +81 -9.542 -82.27, 80.97 -9.524 -82.33, 80.76 -9.206 -82.57, 80.78 -9.634 -82.54, +80.97 -9.727 -81.76, 80.98 -9.321 -81.77, 80.77 -9.559 -81.53, +80.86 -9.445 -82.46, 81.07 -9.128 -82.05, 80.94 -9.255 -82.38, +81.02 -9.222 -81.82, 81.05 -9.909 -81.97, 80.9 -9.723 -82.42, +80.33 -9.286 -81.14, 80.19 -9.547 -81, 80.35 -9.711 -81.2, 80.34 -9.547 -81, +80.5 -9.321 -81.35, 80.5 -9.653 -81.37, 80.79 -9.408 -81.54, +80.7 -9.542 -81.48, 80.79 -9.524 -81.55, 81.03 -9.206 -81.89, +81.02 -9.634 -81.86, 80.26 -9.727 -80.96, 80.27 -9.321 -80.98, +80.22 -9.559 -80.77, 80.96 -9.445 -81.73, 80.41 -9.128 -81.26, +80.87 -9.255 -81.61, 80.29 -9.222 -81.02, 80.34 -9.909 -81.18, +80.92 -9.723 -81.67, 79.93 -9.286 -80.48, 79.7 -9.547 -80.46, +80 -9.711 -80.52, 79.75 -9.547 -80.36, 80.14 -9.321 -80.6, 80.13 -9.653 -80.62, +80.22 -9.408 -80.78, 80.2 -9.542 -80.72, 80.22 -9.524 -80.78, +80.31 -9.206 -81.11, 80.29 -9.634 -81.07, 79.68 -9.727 -80.39, +79.7 -9.321 -80.39, 79.42 -9.559 -80.36, 80.26 -9.445 -80.96, +80.07 -9.128 -80.54, 80.24 -9.255 -80.84, 79.77 -9.222 -80.41, +79.97 -9.909 -80.5, 80.25 -9.723 -80.9, 78.89 -9.286 -80.35, +78.75 -9.547 -80.43, 78.96 -9.711 -80.35, 78.7 -9.547 -80.31, +79.16 -9.321 -80.31, 79.17 -9.653 -80.32, 79.44 -9.408 -80.36, +79.35 -9.542 -80.35, 79.44 -9.524 -80.37, 79.88 -9.206 -80.45, +79.83 -9.634 -80.43, 78.68 -9.727 -80.37, 78.7 -9.321 -80.37, +78.46 -9.559 -80.46, 79.68 -9.445 -80.4, 79.03 -9.128 -80.32, +79.53 -9.255 -80.38, 78.75 -9.222 -80.36, 78.94 -9.909 -80.35, +79.6 -9.723 -80.39, 78.09 -9.286 -80.77, 78.09 -9.547 -80.95, +78.14 -9.711 -80.71, 77.95 -9.547 -80.93, 78.27 -9.321 -80.57, +78.29 -9.653 -80.57, 78.48 -9.408 -80.47, 78.41 -9.542 -80.51, +78.48 -9.524 -80.47, 78.85 -9.206 -80.34, 78.81 -9.634 -80.34, +78 -9.727 -80.98, 78.01 -9.321 -80.97, 77.92 -9.559 -81.2, 78.68 -9.445 -80.37, +78.17 -9.128 -80.64, 78.55 -9.255 -80.43, 78.01 -9.222 -80.92, +78.13 -9.909 -80.73, 78.61 -9.723 -80.4, 77.68 -9.286 -81.59, +77.56 -9.547 -81.72, 77.74 -9.711 -81.55, 77.52 -9.547 -81.6, +77.82 -9.321 -81.38, 77.84 -9.653 -81.37, 77.92 -9.408 -81.15, +77.89 -9.542 -81.22, 77.92 -9.524 -81.15, 78.09 -9.206 -80.83, +78.06 -9.634 -80.86, 77.49 -9.727 -81.65, 77.51 -9.321 -81.65, +77.18 -9.559 -81.59, 78 -9.445 -80.97, 77.76 -9.128 -81.49, 77.95 -9.255 -81.08, +77.56 -9.222 -81.64, 77.72 -9.909 -81.57, 77.97 -9.723 -81.02, +76.68 -9.286 -81.67, 76.61 -9.547 -81.82, 76.73 -9.711 -81.63, +76.5 -9.547 -81.72, 76.89 -9.321 -81.54, 76.9 -9.653 -81.55, +77.21 -9.408 -81.62, 77.09 -9.542 -81.58, 77.21 -9.524 -81.62, +77.66 -9.206 -81.6, 77.62 -9.634 -81.61, 76.52 -9.727 -81.79, +76.53 -9.321 -81.78, 76.29 -9.559 -81.87, 77.48 -9.445 -81.64, +76.78 -9.128 -81.58, 77.32 -9.255 -81.64, 76.56 -9.222 -81.74, +76.72 -9.909 -81.65, 77.4 -9.723 -81.64, 75.75 -9.286 -81.96, +75.53 -9.547 -82.05, 75.83 -9.711 -81.95, 75.52 -9.547 -81.93, +76.06 -9.321 -81.92, 76.07 -9.653 -81.93, 76.32 -9.408 -81.89, +76.24 -9.542 -81.92, 76.32 -9.524 -81.89, 76.65 -9.206 -81.68, +76.62 -9.634 -81.7, 75.47 -9.727 -81.98, 75.49 -9.321 -81.98, +75.15 -9.559 -82, 76.51 -9.445 -81.77, 75.91 -9.128 -81.92, 76.39 -9.255 -81.85, +75.56 -9.222 -81.97, 75.8 -9.909 -81.96, 76.45 -9.723 -81.81, +74.53 -9.286 -82.07, 74.38 -9.547 -82.16, 74.61 -9.711 -82.07, +74.32 -9.547 -82.05, 74.84 -9.321 -82.01, 74.85 -9.653 -82.02, +75.17 -9.408 -82.01, 75.06 -9.542 -82.01, 75.17 -9.524 -82.01, +75.7 -9.206 -81.97, 75.64 -9.634 -81.97, 74.31 -9.727 -82.11, +74.32 -9.321 -82.1, 74.12 -9.559 -82.2, 75.46 -9.445 -81.97, +74.69 -9.128 -82.04, 75.28 -9.255 -82, 74.37 -9.222 -82.08, 74.58 -9.909 -82.07, +75.37 -9.723 -81.98, 73.95 -9.286 -82.45, 74.06 -9.547 -82.56, +73.97 -9.711 -82.41, 73.9 -9.547 -82.58, 74 -9.321 -82.29, 74.02 -9.653 -82.29, +74.13 -9.408 -82.2, 74.08 -9.542 -82.23, 74.14 -9.524 -82.2, +74.49 -9.206 -82.07, 74.44 -9.634 -82.08, 73.98 -9.727 -82.59, +73.98 -9.321 -82.58, 74.06 -9.559 -82.75, 74.31 -9.445 -82.13, +73.96 -9.128 -82.36, 74.19 -9.255 -82.17, 73.95 -9.222 -82.55, +73.97 -9.909 -82.42, 74.25 -9.723 -82.15, 74.34 -9.286 -83.11, +74.54 -9.547 -83.21, 74.3 -9.711 -83.05, 74.41 -9.547 -83.27, +74.17 -9.321 -82.92, 74.18 -9.653 -82.9, 74.05 -9.408 -82.75, +74.09 -9.542 -82.8, 74.05 -9.524 -82.75, 73.97 -9.206 -82.49, +73.97 -9.634 -82.51, 74.5 -9.727 -83.28, 74.49 -9.321 -83.26, +74.68 -9.559 -83.47, 73.99 -9.445 -82.6, 74.24 -9.128 -83, 74.02 -9.255 -82.69, +74.43 -9.222 -83.22, 74.32 -9.909 -83.07, 74 -9.723 -82.65, 75 -9.286 -83.89, +75.19 -9.547 -83.95, 74.98 -9.711 -83.83, 75.09 -9.547 -84.05, +74.84 -9.321 -83.67, 74.85 -9.653 -83.65, 74.67 -9.408 -83.45, +74.73 -9.542 -83.52, 74.67 -9.524 -83.44, 74.37 -9.206 -83.13, +74.4 -9.634 -83.16, 75.17 -9.727 -84.03, 75.15 -9.321 -84.02, +75.41 -9.559 -84.14, 74.51 -9.445 -83.26, 74.92 -9.128 -83.77, +74.6 -9.255 -83.38, 75.1 -9.222 -84, 74.99 -9.909 -83.85, 74.55 -9.723 -83.32, +76 -9.286 -84.19, 76.21 -9.547 -84.14, 75.92 -9.711 -84.19, 76.2 -9.547 -84.26, +75.69 -9.321 -84.2, 75.68 -9.653 -84.19, 75.39 -9.408 -84.12, +75.48 -9.542 -84.14, 75.39 -9.524 -84.12, 75.04 -9.206 -83.93, +75.07 -9.634 -83.96, 76.25 -9.727 -84.21, 76.23 -9.321 -84.21, +76.5 -9.559 -84.23, 75.18 -9.445 -84.04, 75.84 -9.128 -84.21, +75.3 -9.255 -84.1, 76.17 -9.222 -84.21, 75.95 -9.909 -84.19, +75.24 -9.723 -84.08, 76.9 -9.286 -84.43, 77.11 -9.547 -84.5, +76.85 -9.711 -84.38, 77 -9.547 -84.57, 76.68 -9.321 -84.3, 76.68 -9.653 -84.29, +76.48 -9.408 -84.24, 76.56 -9.542 -84.25, 76.48 -9.524 -84.24, +76.05 -9.206 -84.2, 76.1 -9.634 -84.2, 77.09 -9.727 -84.56, 77.07 -9.321 -84.55, +77.28 -9.559 -84.7, 76.26 -9.445 -84.19, 76.78 -9.128 -84.36, +76.4 -9.255 -84.22, 77.02 -9.222 -84.52, 76.88 -9.909 -84.4, +76.33 -9.723 -84.2, 77.68 -9.286 -84.9, 77.88 -9.547 -84.89, +77.63 -9.711 -84.87, 77.82 -9.547 -85, 77.46 -9.321 -84.82, 77.46 -9.653 -84.81, +77.26 -9.408 -84.68, 77.33 -9.542 -84.73, 77.26 -9.524 -84.68, +76.94 -9.206 -84.46, 76.98 -9.634 -84.47, 77.89 -9.727 -84.97, +77.87 -9.321 -84.96, 78.14 -9.559 -85.04, 77.09 -9.445 -84.54, +77.56 -9.128 -84.87, 77.19 -9.255 -84.63, 77.81 -9.222 -84.95, +77.65 -9.909 -84.88, 77.14 -9.723 -84.59, 78.79 -9.286 -85.02, +79 -9.547 -84.88, 78.69 -9.711 -85.01, 79.06 -9.547 -84.99, 78.42 -9.321 -85.04, +78.41 -9.653 -85.04, 78.12 -9.408 -85.02, 78.22 -9.542 -85.04, +78.12 -9.524 -85.02, 77.72 -9.206 -84.93, 77.76 -9.634 -84.94, +79.09 -9.727 -84.91, 79.06 -9.321 -84.92, 79.38 -9.559 -84.82, +77.89 -9.445 -84.96, 78.59 -9.128 -85.02, 78.03 -9.255 -84.99, +79 -9.222 -84.97, 78.73 -9.909 -85.01, 77.96 -9.723 -84.97, ] +} +] +ROUTE yellow_fish01-TIMER.fraction_changed TO yellow_fish01-COORD-INTERP.set_fraction +ROUTE yellow_fish01-COORD-INTERP.value_changed TO yellow_fish01-COORD.set_point +} +####################yellow_anifish2 end + + +####################mr_fish + +DEF mr_fish Transform { +children [ +DEF mr_fish-TIMER TimeSensor { loop TRUE cycleInterval 24 }, +Shape +{ +appearance USE mr_fish2 +geometry DEF mr_fish-FACES IndexedFaceSet { creaseAngle 3 +solid FALSE +coord DEF mr_fish-COORD Coordinate { +point [ 5.449 -8.87 -96.94 6.575 -8.829 -96.65 5.47 -9.267 -96.91 6.193 -10.25 +-96.78 6.471 -10.28 -96.69 6.934 -10.27 -96.48 5.506 -9.797 -96.9 5.399 -9.486 +-96.92 5.387 -8.985 -96.93 5.372 -9.349 -96.94 5.205 -9.585 -96.96 7.119 -9.003 +-96.41 7.484 -9.565 -96.26 7.633 -9.773 -96.3 7.515 -9.568 -96.39 7.634 -9.583 +-96.31 6.213 -8.592 -96.78 6.961 -8.798 -96.47 5.987 -10.58 -96.84 5.448 -10.11 +-96.91 ] +} +texCoord DEF mr_fish-TEXCOORD +TextureCoordinate { point [ .9478 .7548 .5184 .8155 .9258 .5633 .5298 .1794 +.37 .1807 .2585 .1818 .84 .3117 .9054 .4558 .9817 .6863 .9556 .5158 .9963 +.4251 .2934 .7818 .1243 .5468 .008607 .4462 .124 .5456 .075 .5492 .5669 .898 +.3276 .8373 .6155 .01284 .8424 .1234 ] } coordIndex [ 0 2 1 -1 4 3 2 -1 4 2 +5 -1 2 6 3 -1 3 6 2 -1 2 7 6 -1 6 7 2 -1 2 8 9 -1 2 9 7 -1 7 10 9 -1 7 9 2 +-1 2 9 8 -1 3 4 5 -1 2 0 1 -1 1 2 12 -1 13 12 2 -1 2 3 13 -1 3 5 13 -1 14 13 +5 -1 5 2 14 -1 1 14 2 -1 12 15 11 -1 11 1 12 -1 15 14 1 -1 1 11 15 -1 12 13 +15 -1 13 14 15 -1 9 10 7 -1 0 16 1 -1 16 17 11 -1 11 1 16 -1 5 18 4 -1 6 3 19 +-1 ] texCoordIndex +[ 0 2 1 -1 4 3 2 -1 4 2 5 -1 2 6 3 -1 3 6 2 -1 2 7 6 -1 6 7 2 -1 2 8 9 -1 2 +9 7 -1 7 10 9 -1 7 9 2 -1 2 9 8 -1 3 4 5 -1 2 0 1 -1 1 2 12 -1 13 12 2 -1 2 +3 13 -1 3 5 13 -1 14 13 5 -1 5 2 14 -1 1 14 2 -1 12 15 11 -1 11 1 12 -1 15 14 +1 -1 1 11 15 -1 12 13 15 -1 13 14 15 -1 9 10 7 -1 0 16 1 -1 16 17 11 -1 11 1 +16 -1 5 18 4 -1 6 3 19 -1 ] +} +} +DEF mr_fish-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, 0.2667, +0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, 0.5333, 0.5667, +0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, 0.8, 0.8333, 0.8667, +0.9, 0.9333, 0.9667, 1, ] +keyValue [5.449 -8.87 -96.94, 6.575 -8.829 -96.65, +5.47 -9.267 -96.91, 6.193 -10.25 -96.78, 6.471 -10.28 -96.69, +6.934 -10.27 -96.48, 5.506 -9.797 -96.9, 5.399 -9.486 -96.92, +5.387 -8.985 -96.93, 5.372 -9.349 -96.94, 5.205 -9.585 -96.96, +7.119 -9.003 -96.41, 7.484 -9.565 -96.26, 7.633 -9.773 -96.3, +7.515 -9.568 -96.39, 7.634 -9.583 -96.31, 6.213 -8.592 -96.78, +6.961 -8.798 -96.47, 5.987 -10.58 -96.84, 5.448 -10.11 -96.91, +10.7 -8.87 -95.68, 11.92 -8.829 -95.56, 10.72 -9.267 -95.65, +11.5 -10.25 -95.6, 11.81 -10.28 -95.58, 12.27 -10.27 -95.48, +10.76 -9.797 -95.63, 10.65 -9.486 -95.67, 10.63 -8.985 -95.67, +10.62 -9.349 -95.68, 10.44 -9.585 -95.74, 12.45 -9.003 -95.42, +12.76 -9.565 -95.21, 12.9 -9.773 -95.22, 12.8 -9.568 -95.34, +12.9 -9.583 -95.23, 11.52 -8.592 -95.6, 12.3 -8.798 -95.47, +11.28 -10.58 -95.61, 10.7 -10.11 -95.65, 15.29 -8.87 -94.4, +15.97 -8.829 -93.8, 15.29 -9.267 -94.37, 15.75 -10.25 -94.01, +15.92 -10.28 -93.86, 16.16 -10.27 -93.59, 15.31 -9.797 -94.34, +15.25 -9.486 -94.4, 15.24 -8.985 -94.41, 15.23 -9.349 -94.42, +15.12 -9.585 -94.5, 16.24 -9.003 -93.49, 16.34 -9.565 -93.24, +16.44 -9.773 -93.2, 16.45 -9.568 -93.31, 16.45 -9.583 -93.21, +15.77 -8.592 -94.01, 16.17 -8.798 -93.57, 15.63 -10.58 -94.13, +15.28 -10.11 -94.38, 16.89 -8.87 -91.15, 16.6 -8.829 -90.03, +16.86 -9.267 -91.12, 16.72 -10.25 -90.44, 16.64 -10.28 -90.14, +16.46 -10.27 -89.64, 16.84 -9.797 -91.09, 16.88 -9.486 -91.19, +16.88 -8.985 -91.2, 16.89 -9.349 -91.21, 16.91 -9.585 -91.36, +16.38 -9.003 -89.44, 16.19 -9.565 -89.07, 16.22 -9.773 -88.93, +16.33 -9.568 -89.04, 16.23 -9.583 -88.93, 16.72 -8.592 -90.41, +16.44 -8.798 -89.61, 16.78 -10.58 -90.64, 16.86 -10.11 -91.14, +16.47 -8.87 -86.79, 17.03 -8.829 -86.29, 16.46 -9.267 -86.76, +16.8 -10.25 -86.43, 16.96 -10.28 -86.33, 17.24 -10.27 -86.17, +16.46 -9.797 -86.73, 16.44 -9.486 -86.8, 16.44 -8.985 -86.81, +16.43 -9.349 -86.82, 16.39 -9.585 -86.92, 17.36 -9.003 -86.1, +17.56 -9.565 -85.91, 17.68 -9.773 -85.92, 17.63 -9.568 -86.03, +17.68 -9.583 -85.92, 16.81 -8.592 -86.43, 17.26 -8.798 -86.15, +16.69 -10.58 -86.53, 16.45 -10.11 -86.77, 20.03 -8.87 -84.89, +21.08 -8.829 -84.46, 20.05 -9.267 -84.87, 20.72 -10.25 -84.63, +20.99 -10.28 -84.51, 21.4 -10.27 -84.27, 20.08 -9.797 -84.84, +19.98 -9.486 -84.89, 19.97 -8.985 -84.9, 19.96 -9.349 -84.9, +19.81 -9.585 -84.96, 21.56 -9.003 -84.16, 21.84 -9.565 -83.91, +21.99 -9.773 -83.9, 21.91 -9.568 -84.02, 21.99 -9.583 -83.9, +20.74 -8.592 -84.63, 21.42 -8.798 -84.25, 20.53 -10.58 -84.72, +20.03 -10.11 -84.87, 24.26 -8.87 -81.93, 24.88 -8.829 -80.67, +24.26 -9.267 -81.89, 24.68 -10.25 -81.09, 24.84 -10.28 -80.77, +25.02 -10.27 -80.33, 24.27 -9.797 -81.84, 24.22 -9.486 -81.96, +24.21 -8.985 -81.98, 24.21 -9.349 -82, 24.11 -9.585 -82.17, +25.09 -9.003 -80.17, 25.13 -9.565 -79.82, 25.23 -9.773 -79.74, +25.26 -9.568 -79.87, 25.23 -9.583 -79.74, 24.7 -8.592 -81.07, +25.03 -8.798 -80.3, 24.57 -10.58 -81.34, 24.24 -10.11 -81.91, +25.44 -8.87 -77.43, 25.22 -8.829 -76.61, 25.41 -9.267 -77.42, +25.3 -10.25 -76.89, 25.24 -10.28 -76.69, 25.13 -10.27 -76.37, +25.4 -9.797 -77.39, 25.43 -9.486 -77.47, 25.43 -8.985 -77.48, +25.44 -9.349 -77.49, 25.47 -9.585 -77.61, 25.07 -9.003 -76.24, +24.89 -9.565 -76.03, 24.91 -9.773 -75.92, 25.02 -9.568 -75.98, +24.92 -9.583 -75.92, 25.3 -8.592 -76.88, 25.11 -8.798 -76.35, +25.34 -10.58 -77.04, 25.42 -10.11 -77.43, 23.53 -8.87 -74.19, +22.77 -8.829 -73.55, 23.5 -9.267 -74.19, 23.03 -10.25 -73.79, +22.84 -10.28 -73.61, 22.51 -10.27 -73.33, 23.47 -9.797 -74.18, +23.55 -9.486 -74.23, 23.56 -8.985 -74.23, 23.57 -9.349 -74.24, +23.68 -9.585 -74.32, 22.38 -9.003 -73.22, 22.07 -9.565 -73.04, +22.01 -9.773 -72.91, 22.15 -9.568 -72.94, 22.02 -9.583 -72.91, +23.02 -8.592 -73.77, 22.49 -8.798 -73.32, 23.18 -10.58 -73.9, +23.51 -10.11 -74.2, 19.61 -8.87 -71.2, 18.51 -8.829 -70.36, +19.58 -9.267 -71.2, 18.89 -10.25 -70.66, 18.61 -10.28 -70.44, +18.17 -10.27 -70.09, 19.53 -9.797 -71.18, 19.64 -9.486 -71.24, +19.66 -8.985 -71.24, 19.68 -9.349 -71.25, 19.83 -9.585 -71.35, +18 -9.003 -69.96, 17.61 -9.565 -69.78, 17.53 -9.773 -69.64, +17.69 -9.568 -69.66, 17.53 -9.583 -69.64, 18.87 -8.592 -70.64, +18.14 -8.798 -70.07, 19.1 -10.58 -70.82, 19.6 -10.11 -71.21, +15.66 -8.87 -67.48, 15.38 -8.829 -66.47, 15.63 -9.267 -67.47, +15.44 -10.25 -66.82, 15.4 -10.28 -66.57, 15.32 -10.27 -66.16, +15.61 -9.797 -67.43, 15.66 -9.486 -67.53, 15.67 -8.985 -67.54, +15.68 -9.349 -67.55, 15.75 -9.585 -67.69, 15.3 -9.003 -66, +15.18 -9.565 -65.68, 15.22 -9.773 -65.57, 15.31 -9.568 -65.68, +15.23 -9.583 -65.57, 15.45 -8.592 -66.81, 15.31 -8.798 -66.13, +15.5 -10.58 -67.01, 15.64 -10.11 -67.48, 14.43 -8.87 -63.2, +13.64 -8.829 -62.54, 14.4 -9.267 -63.19, 13.94 -10.25 -62.75, +13.73 -10.28 -62.59, 13.31 -10.27 -62.38, 14.37 -9.797 -63.18, +14.44 -9.486 -63.24, 14.45 -8.985 -63.24, 14.46 -9.349 -63.25, +14.56 -9.585 -63.36, 13.13 -9.003 -62.31, 12.74 -9.565 -62.23, +12.65 -9.773 -62.12, 12.79 -9.568 -62.1, 12.65 -9.583 -62.11, +13.94 -8.592 -62.73, 13.28 -8.798 -62.37, 14.1 -10.58 -62.86, +14.41 -10.11 -63.21, 10.05 -8.87 -61.45, 8.977 -8.829 -61.24, +10.02 -9.267 -61.47, 9.343 -10.25 -61.32, 9.075 -10.28 -61.26, +8.655 -10.27 -61.21, 9.985 -9.797 -61.47, 10.09 -9.486 -61.47, +10.1 -8.985 -61.47, 10.12 -9.349 -61.47, 10.27 -9.585 -61.48, +8.495 -9.003 -61.21, 8.185 -9.565 -61.31, 8.075 -9.773 -61.27, +8.178 -9.568 -61.18, 8.076 -9.583 -61.26, 9.326 -8.592 -61.31, +8.63 -8.798 -61.21, 9.544 -10.58 -61.36, 10.04 -10.11 -61.47, +5.677 -8.87 -61.79, 4.836 -8.829 -62.42, 5.666 -9.267 -61.82, +5.127 -10.25 -62.21, 4.913 -10.28 -62.36, 4.579 -10.27 -62.59, +5.643 -9.797 -61.85, 5.718 -9.486 -61.79, 5.726 -8.985 -61.78, +5.737 -9.349 -61.77, 5.861 -9.585 -61.69, 4.451 -9.003 -62.68, +4.246 -9.565 -62.9, 4.115 -9.773 -62.91, 4.152 -9.568 -62.79, +4.11 -9.583 -62.9, 5.109 -8.592 -62.22, 4.563 -8.798 -62.61, +5.28 -10.58 -62.09, 5.683 -10.11 -61.81, 2.504 -8.87 -65.32, +2.034 -8.829 -66.34, 2.513 -9.267 -65.36, 2.207 -10.25 -66.04, +2.079 -10.28 -66.26, 1.877 -10.27 -66.6, 2.508 -9.797 -65.4, +2.541 -9.486 -65.28, 2.543 -8.985 -65.27, 2.545 -9.349 -65.25, +2.613 -9.585 -65.08, 1.797 -9.003 -66.73, 1.692 -9.565 -67.03, +1.577 -9.773 -67.08, 1.574 -9.568 -66.95, 1.571 -9.583 -67.07, +2.191 -8.592 -66.05, 1.869 -8.798 -66.63, 2.284 -10.58 -65.85, +2.523 -10.11 -65.34, -0.1394 -8.87 -68.53, -1.127 -8.829 -68.56, +-0.1543 -9.267 -68.55, -0.7715 -10.25 -68.56, -1.03 -10.28 -68.56, +-1.459 -10.27 -68.57, -0.1821 -9.797 -68.57, -0.09896 -9.486 -68.55, +-0.09029 -8.985 -68.54, -0.07881 -9.349 -68.53, 0.04601 -9.585 -68.51, +-1.633 -9.003 -68.57, -2.015 -9.565 -68.61, -2.131 -9.773 -68.51, +-1.981 -9.568 -68.47, -2.128 -9.583 -68.51, -0.7887 -8.592 -68.56, +-1.486 -8.798 -68.57, -0.5855 -10.58 -68.56, -0.137 -10.11 -68.55, +-4.824 -8.87 -67.51, -5.964 -8.829 -67.23, -4.853 -9.267 -67.53, +-5.557 -10.25 -67.36, -5.853 -10.28 -67.26, -6.338 -10.27 -67.11, +-4.891 -9.797 -67.54, -4.787 -9.486 -67.53, -4.775 -8.985 -67.53, +-4.759 -9.349 -67.53, -4.608 -9.585 -67.54, -6.528 -9.003 -67.07, +-6.915 -9.565 -67.09, -7.038 -9.773 -67.02, -6.899 -9.568 -66.95, +-7.036 -9.583 -67.01, -5.575 -8.592 -67.35, -6.368 -8.798 -67.11, +-5.342 -10.58 -67.42, -4.834 -10.11 -67.53, -10.14 -8.87 -66.86, +-11.35 -8.829 -66.9, -10.17 -9.267 -66.89, -10.94 -10.25 -66.94, +-11.24 -10.28 -66.91, -11.72 -10.27 -66.86, -10.21 -9.797 -66.91, +-10.1 -9.486 -66.87, -10.08 -8.985 -66.87, -10.07 -9.349 -66.86, +-9.889 -9.585 -66.83, -11.9 -9.003 -66.85, -12.25 -9.565 -66.91, +-12.37 -9.773 -66.84, -12.26 -9.568 -66.77, -12.37 -9.583 -66.84, +-10.96 -8.592 -66.93, -11.75 -8.798 -66.87, -10.71 -10.58 -66.93, +-10.15 -10.11 -66.88, -14.59 -8.87 -67.08, -15.28 -8.829 -67.29, +-14.6 -9.267 -67.11, -14.98 -10.25 -67.18, -15.19 -10.28 -67.25, +-15.59 -10.27 -67.44, -14.62 -9.797 -67.12, -14.56 -9.486 -67.1, +-14.55 -8.985 -67.09, -14.54 -9.349 -67.09, -14.44 -9.585 -67.07, +-15.74 -9.003 -67.53, -15.99 -9.565 -67.76, -16.12 -9.773 -67.77, +-16.05 -9.568 -67.65, -16.12 -9.583 -67.76, -14.99 -8.592 -67.18, +-15.61 -8.798 -67.46, -14.88 -10.58 -67.15, -14.59 -10.11 -67.11, +-17.95 -8.87 -69.5, -18.48 -8.829 -70.46, -17.95 -9.267 -69.53, +-18.29 -10.25 -70.14, -18.43 -10.28 -70.37, -18.63 -10.27 -70.75, +-17.95 -9.797 -69.57, -17.91 -9.486 -69.47, -17.91 -8.985 -69.46, +-17.91 -9.349 -69.44, -17.83 -9.585 -69.3, -18.7 -9.003 -70.9, +-18.78 -9.565 -71.23, -18.89 -9.773 -71.3, -18.91 -9.568 -71.17, +-18.9 -9.583 -71.3, -18.31 -8.592 -70.15, -18.64 -8.798 -70.78, +-18.2 -10.58 -69.95, -17.93 -10.11 -69.51, -19.78 -8.87 -73.91, +-20.06 -8.829 -75, -19.77 -9.267 -73.94, -19.95 -10.25 -74.64, +-20.03 -10.28 -74.9, -20.15 -10.27 -75.31, -19.77 -9.797 -73.98, +-19.76 -9.486 -73.87, -19.76 -8.985 -73.86, -19.76 -9.349 -73.84, +-19.73 -9.585 -73.68, -20.19 -9.003 -75.47, -20.21 -9.565 -75.8, +-20.31 -9.773 -75.88, -20.35 -9.568 -75.75, -20.31 -9.583 -75.88, +-19.96 -8.592 -74.65, -20.15 -8.798 -75.34, -19.91 -10.58 -74.43, +-19.76 -10.11 -73.92, -20.62 -8.87 -78, -20.4 -8.829 -78.86, +-20.59 -9.267 -78.02, -20.48 -10.25 -78.56, -20.43 -10.28 -78.78, +-20.31 -10.27 -79.13, -20.58 -9.797 -78.04, -20.61 -9.486 -77.96, +-20.61 -8.985 -77.96, -20.62 -9.349 -77.94, -20.64 -9.585 -77.82, +-20.26 -9.003 -79.26, -20.09 -9.565 -79.51, -20.1 -9.773 -79.62, +-20.21 -9.568 -79.56, -20.11 -9.583 -79.63, -20.49 -8.592 -78.58, +-20.3 -8.798 -79.15, -20.53 -10.58 -78.4, -20.59 -10.11 -78, +-18.8 -8.87 -81.85, -18.12 -8.829 -82.8, -18.76 -9.267 -81.86, +-18.35 -10.25 -82.46, -18.18 -10.28 -82.71, -17.91 -10.27 -83.09, +-18.73 -9.797 -81.89, -18.81 -9.486 -81.81, -18.82 -8.985 -81.8, +-18.83 -9.349 -81.79, -18.93 -9.585 -81.66, -17.8 -9.003 -83.24, +-17.53 -9.565 -83.48, -17.51 -9.773 -83.62, -17.64 -9.568 -83.57, +-17.52 -9.583 -83.63, -18.34 -8.592 -82.48, -17.89 -8.798 -83.11, +-18.48 -10.58 -82.29, -18.78 -10.11 -81.85, -15.83 -8.87 -86.04, +-15.19 -8.829 -87.09, -15.79 -9.267 -86.05, -15.39 -10.25 -86.71, +-15.25 -10.28 -86.99, -15.02 -10.27 -87.44, -15.76 -9.797 -86.08, +-15.84 -9.486 -85.99, -15.85 -8.985 -85.98, -15.86 -9.349 -85.97, +-15.97 -9.585 -85.83, -14.93 -9.003 -87.62, -14.71 -9.565 -87.92, +-14.73 -9.773 -88.04, -14.84 -9.568 -87.97, -14.74 -9.583 -88.04, +-15.39 -8.592 -86.74, -15 -8.798 -87.46, -15.51 -10.58 -86.52, +-15.8 -10.11 -86.03, -13.74 -8.87 -90.65, -13.33 -8.829 -91.84, +-13.71 -9.267 -90.67, -13.46 -10.25 -91.42, -13.37 -10.28 -91.73, +-13.21 -10.27 -92.22, -13.68 -9.797 -90.7, -13.74 -9.486 -90.6, +-13.75 -8.985 -90.58, -13.76 -9.349 -90.57, -13.83 -9.585 -90.4, +-13.15 -9.003 -92.41, -12.97 -9.565 -92.78, -12.99 -9.773 -92.93, +-13.1 -9.568 -92.81, -13 -9.583 -92.93, -13.46 -8.592 -91.44, +-13.2 -8.798 -92.25, -13.54 -10.58 -91.2, -13.72 -10.11 -90.64, +-12.06 -8.87 -95.94, -11.67 -8.829 -97.1, -12.03 -9.267 -95.96, +-11.79 -10.25 -96.71, -11.7 -10.28 -97, -11.56 -10.27 -97.45, +-12 -9.797 -96, -12.06 -9.486 -95.89, -12.07 -8.985 -95.88, +-12.08 -9.349 -95.86, -12.14 -9.585 -95.69, -11.5 -9.003 -97.62, +-11.31 -9.565 -97.94, -11.34 -9.773 -98.07, -11.44 -9.568 -97.97, +-11.34 -9.583 -98.07, -11.79 -8.592 -96.73, -11.54 -8.798 -97.47, +-11.87 -10.58 -96.49, -12.04 -10.11 -95.94, -10.42 -8.87 -100.3, +-10.03 -8.829 -100.9, -10.39 -9.267 -100.3, -10.15 -10.25 -100.7, +-10.06 -10.28 -100.9, -9.917 -10.27 -101.1, -10.37 -9.797 -100.3, +-10.42 -9.486 -100.2, -10.43 -8.985 -100.2, -10.44 -9.349 -100.2, +-10.5 -9.585 -100.1, -9.858 -9.003 -101.1, -9.693 -9.565 -101.2, +-9.698 -9.773 -101.3, -9.788 -9.568 -101.3, -9.703 -9.583 -101.3, +-10.15 -8.592 -100.7, -9.904 -8.798 -101.1, -10.23 -10.58 -100.6, +-10.4 -10.11 -100.3, -7.962 -8.87 -102, -7.12 -8.829 -102.1, +-7.941 -9.267 -102, -7.417 -10.25 -102, -7.2 -10.28 -102, +-6.848 -10.27 -102.1, -7.913 -9.797 -102, -7.991 -9.486 -102, +-8 -8.985 -102, -8.013 -9.349 -102, -8.13 -9.585 -102, -6.71 -9.003 -102.1, +-6.446 -9.565 -102, -6.338 -9.773 -102, -6.421 -9.568 -102.1, +-6.337 -9.583 -102, -7.402 -8.592 -102, -6.828 -8.798 -102.1, +-7.574 -10.58 -102, -7.956 -10.11 -102, -4.015 -8.87 -101.2, +-3.001 -8.829 -100.8, -4.001 -9.267 -101.1, -3.354 -10.25 -100.9, +-3.094 -10.28 -100.8, -2.69 -10.27 -100.6, -3.973 -9.797 -101.1, +-4.061 -9.486 -101.2, -4.071 -8.985 -101.2, -4.083 -9.349 -101.2, +-4.223 -9.585 -101.2, -2.534 -9.003 -100.5, -2.252 -9.565 -100.2, +-2.113 -9.773 -100.2, -2.19 -9.568 -100.3, -2.11 -9.583 -100.2, +-3.334 -8.592 -100.9, -2.668 -8.798 -100.6, -3.541 -10.58 -101, +-4.02 -10.11 -101.1, 0.5588 -8.87 -98.88, 1.646 -8.829 -98.26, +0.5725 -9.267 -98.85, 1.255 -10.25 -98.41, 1.54 -10.28 -98.29, +2.001 -10.27 -98.15, 0.6022 -9.797 -98.81, 0.5096 -9.486 -98.9, +0.4999 -8.985 -98.91, 0.4872 -9.349 -98.93, 0.3392 -9.585 -99.04, +2.18 -9.003 -98.11, 2.508 -9.565 -97.93, 2.656 -9.773 -97.94, +2.564 -9.568 -98.06, 2.658 -9.583 -97.95, 1.277 -8.592 -98.41, +2.026 -8.798 -98.14, 1.055 -10.58 -98.53, 0.5527 -10.11 -98.86, +5.449 -8.87 -96.94, 6.575 -8.829 -96.65, 5.47 -9.267 -96.91, +6.193 -10.25 -96.78, 6.471 -10.28 -96.69, 6.934 -10.27 -96.48, +5.506 -9.797 -96.9, 5.399 -9.486 -96.92, 5.387 -8.985 -96.93, +5.372 -9.349 -96.94, 5.205 -9.585 -96.96, 7.119 -9.003 -96.41, +7.484 -9.565 -96.26, 7.633 -9.773 -96.3, 7.515 -9.568 -96.39, +7.634 -9.583 -96.31, 6.213 -8.592 -96.78, 6.961 -8.798 -96.47, +5.987 -10.58 -96.84, 5.448 -10.11 -96.91, ] +} +] +ROUTE mr_fish-TIMER.fraction_changed TO mr_fish-COORD-INTERP.set_fraction +ROUTE mr_fish-COORD-INTERP.value_changed TO mr_fish-COORD.set_point +} +####################mr_fish + +####################mr_fish 2 +DEF mr_fish01 Transform { +children [ +DEF mr_fish01-TIMER TimeSensor { loop TRUE cycleInterval 24 }, +Shape +{ +appearance USE mr_fish2 +geometry DEF mr_fish01-FACES IndexedFaceSet { creaseAngle 3 +solid FALSE +coord DEF mr_fish01-COORD Coordinate { +point [ 6.878 -9.123 -100.2 7.589 -9.1 -100.2 6.897 -9.351 -100.2 7.339 -9.917 +-100.2 7.515 -9.93 -100.2 7.881 -9.925 -100.3 6.921 -9.655 -100.2 6.853 -9.476 +-100.2 6.845 -9.189 -100.2 6.834 -9.398 -100.2 6.732 -9.533 -100.2 8.027 -9.199 +-100.4 8.338 -9.521 -100.5 8.428 -9.641 -100.6 8.31 -9.524 -100.6 8.425 -9.532 +-100.6 7.349 -8.964 -100.2 7.903 -9.082 -100.3 7.209 -10.1 -100.2 6.884 -9.836 +-100.2 ] +} +texCoord DEF mr_fish01-TEXCOORD +TextureCoordinate { point [ .9478 .7548 .5184 .8155 .9258 .5633 .5298 .1794 +.37 .1807 .2585 .1818 .84 .3117 .9054 .4558 .9817 .6863 .9556 .5158 .9963 +.4251 .2934 .7818 .1243 .5468 .008607 .4462 .124 .5456 .075 .5492 .5669 .898 +.3276 .8373 .6155 .01284 .8424 .1234 ] } coordIndex [ 0 2 1 -1 4 3 2 -1 4 2 +5 -1 2 6 3 -1 3 6 2 -1 2 7 6 -1 6 7 2 -1 2 8 9 -1 2 9 7 -1 7 10 9 -1 7 9 2 +-1 2 9 8 -1 3 4 5 -1 2 0 1 -1 1 2 12 -1 13 12 2 -1 2 3 13 -1 3 5 13 -1 14 13 +5 -1 5 2 14 -1 1 14 2 -1 12 15 11 -1 11 1 12 -1 15 14 1 -1 1 11 15 -1 12 13 +15 -1 13 14 15 -1 9 10 7 -1 0 16 1 -1 16 17 11 -1 11 1 16 -1 5 18 4 -1 6 3 19 +-1 ] texCoordIndex +[ 0 2 1 -1 4 3 2 -1 4 2 5 -1 2 6 3 -1 3 6 2 -1 2 7 6 -1 6 7 2 -1 2 8 9 -1 2 +9 7 -1 7 10 9 -1 7 9 2 -1 2 9 8 -1 3 4 5 -1 2 0 1 -1 1 2 12 -1 13 12 2 -1 2 +3 13 -1 3 5 13 -1 14 13 5 -1 5 2 14 -1 1 14 2 -1 12 15 11 -1 11 1 12 -1 15 14 +1 -1 1 11 15 -1 12 13 15 -1 13 14 15 -1 9 10 7 -1 0 16 1 -1 16 17 11 -1 11 1 +16 -1 5 18 4 -1 6 3 19 -1 ] +} +} +DEF mr_fish01-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, 0.2667, +0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, 0.5333, 0.5667, +0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, 0.8, 0.8333, 0.8667, +0.9, 0.9333, 0.9667, 1, ] +keyValue [6.878 -9.123 -100.2, 7.589 -9.1 -100.2, +6.897 -9.351 -100.2, 7.339 -9.917 -100.2, 7.515 -9.93 -100.2, +7.881 -9.925 -100.3, 6.921 -9.655 -100.2, 6.853 -9.476 -100.2, +6.845 -9.189 -100.2, 6.834 -9.398 -100.2, 6.732 -9.533 -100.2, +8.027 -9.199 -100.4, 8.338 -9.521 -100.5, 8.428 -9.641 -100.6, +8.31 -9.524 -100.6, 8.425 -9.532 -100.6, 7.349 -8.964 -100.2, +7.903 -9.082 -100.3, 7.209 -10.1 -100.2, 6.884 -9.836 -100.2, +14.74 -9.123 -100.8, 15.35 -9.1 -100.6, 14.75 -9.351 -100.8, +15.14 -9.917 -100.7, 15.29 -9.93 -100.7, 15.53 -9.925 -100.6, +14.77 -9.655 -100.8, 14.71 -9.476 -100.8, 14.71 -9.189 -100.8, +14.7 -9.398 -100.8, 14.61 -9.533 -100.9, 15.62 -9.199 -100.5, +15.78 -9.521 -100.4, 15.85 -9.641 -100.4, 15.81 -9.524 -100.5, +15.85 -9.532 -100.4, 15.16 -8.964 -100.7, 15.55 -9.082 -100.6, +15.03 -10.1 -100.7, 14.74 -9.836 -100.8, 18.92 -9.123 -96.78, +19.1 -9.1 -96.23, 18.91 -9.351 -96.77, 19.03 -9.917 -96.42, +19.08 -9.93 -96.28, 19.15 -9.925 -96.05, 18.91 -9.655 -96.75, +18.9 -9.476 -96.8, 18.9 -9.189 -96.81, 18.9 -9.398 -96.82, +18.88 -9.533 -96.9, 19.18 -9.199 -95.97, 19.18 -9.521 -95.79, +19.23 -9.641 -95.73, 19.25 -9.524 -95.8, 19.23 -9.532 -95.74, +19.05 -8.964 -96.41, 19.15 -9.082 -96.04, 19 -10.1 -96.52, +18.91 -9.836 -96.77, 18.97 -9.123 -91.89, 18.74 -9.1 -91.57, +18.95 -9.351 -91.89, 18.81 -9.917 -91.68, 18.76 -9.93 -91.6, +18.66 -9.925 -91.48, 18.94 -9.655 -91.88, 18.96 -9.476 -91.91, +18.97 -9.189 -91.91, 18.97 -9.398 -91.91, 19.01 -9.533 -91.96, +18.63 -9.199 -91.43, 18.51 -9.521 -91.38, 18.51 -9.641 -91.32, +18.57 -9.524 -91.32, 18.51 -9.532 -91.32, 18.82 -8.964 -91.67, +18.66 -9.082 -91.47, 18.85 -10.1 -91.74, 18.95 -9.836 -91.9, +18.92 -9.123 -88.36, 19.39 -9.1 -87.91, 18.92 -9.351 -88.34, +19.21 -9.917 -88.04, 19.34 -9.93 -87.94, 19.55 -9.925 -87.78, +18.93 -9.655 -88.32, 18.9 -9.476 -88.37, 18.89 -9.189 -88.38, +18.89 -9.398 -88.39, 18.83 -9.533 -88.46, 19.63 -9.199 -87.72, +19.78 -9.521 -87.57, 19.86 -9.641 -87.56, 19.83 -9.524 -87.64, +19.86 -9.532 -87.57, 19.23 -8.964 -88.05, 19.56 -9.082 -87.77, +19.12 -10.1 -88.13, 18.91 -9.836 -88.35, 25.02 -9.123 -83.81, +25.59 -9.1 -83.36, 25.02 -9.351 -83.79, 25.39 -9.917 -83.49, +25.53 -9.93 -83.39, 25.75 -9.925 -83.22, 25.04 -9.655 -83.76, +24.99 -9.476 -83.82, 24.98 -9.189 -83.83, 24.98 -9.398 -83.84, +24.89 -9.533 -83.91, 25.84 -9.199 -83.16, 25.97 -9.521 -82.99, +26.05 -9.641 -82.97, 26.03 -9.524 -83.05, 26.06 -9.532 -82.97, +25.41 -8.964 -83.5, 25.77 -9.082 -83.21, 25.28 -10.1 -83.58, +25.01 -9.836 -83.79, 27.34 -9.123 -78.96, 27.26 -9.1 -78.49, +27.33 -9.351 -78.96, 27.27 -9.917 -78.66, 27.26 -9.93 -78.54, +27.23 -9.925 -78.35, 27.31 -9.655 -78.94, 27.33 -9.476 -78.99, +27.34 -9.189 -78.99, 27.34 -9.398 -79, 27.36 -9.533 -79.06, +27.23 -9.199 -78.28, 27.16 -9.521 -78.14, 27.19 -9.641 -78.08, +27.24 -9.524 -78.12, 27.19 -9.532 -78.08, 27.28 -8.964 -78.65, +27.23 -9.082 -78.34, 27.29 -10.1 -78.75, 27.32 -9.836 -78.97, +26.34 -9.123 -74.13, 26.15 -9.1 -73.63, 26.32 -9.351 -74.12, +26.2 -9.917 -73.81, 26.16 -9.93 -73.68, 26.08 -9.925 -73.48, +26.3 -9.655 -74.11, 26.33 -9.476 -74.15, 26.34 -9.189 -74.16, +26.34 -9.398 -74.16, 26.37 -9.533 -74.23, 26.06 -9.199 -73.4, +25.96 -9.521 -73.26, 25.97 -9.641 -73.19, 26.03 -9.524 -73.22, +25.97 -9.532 -73.18, 26.21 -8.964 -73.8, 26.08 -9.082 -73.46, +26.24 -10.1 -73.9, 26.32 -9.836 -74.14, 23.08 -9.123 -68.74, +22.53 -9.1 -68.21, 23.05 -9.351 -68.74, 22.71 -9.917 -68.4, +22.57 -9.93 -68.26, 22.35 -9.925 -68.05, 23.03 -9.655 -68.72, +23.09 -9.476 -68.77, 23.1 -9.189 -68.77, 23.1 -9.398 -68.78, +23.18 -9.533 -68.85, 22.26 -9.199 -67.96, 22.04 -9.521 -67.82, +22 -9.641 -67.73, 22.1 -9.524 -67.76, 22.01 -9.532 -67.73, +22.71 -8.964 -68.38, 22.34 -9.082 -68.03, 22.81 -10.1 -68.5, +23.06 -9.836 -68.75, 18.28 -9.123 -63.03, 18.13 -9.1 -62.39, +18.26 -9.351 -63.02, 18.16 -9.917 -62.61, 18.13 -9.93 -62.45, +18.08 -9.925 -62.2, 18.25 -9.655 -63, 18.27 -9.476 -63.06, +18.28 -9.189 -63.07, 18.28 -9.398 -63.07, 18.31 -9.533 -63.17, +18.07 -9.199 -62.1, 17.99 -9.521 -61.91, 18.01 -9.641 -61.83, +18.07 -9.524 -61.89, 18.02 -9.532 -61.83, 18.17 -8.964 -62.6, +18.08 -9.082 -62.18, 18.19 -10.1 -62.73, 18.26 -9.836 -63.03, +15.68 -9.123 -58.82, 14.99 -9.1 -59.01, 15.67 -9.351 -58.83, +15.25 -9.917 -58.95, 15.06 -9.93 -59, 14.75 -9.925 -59.08, +15.65 -9.655 -58.85, 15.7 -9.476 -58.82, 15.71 -9.189 -58.82, +15.72 -9.398 -58.81, 15.8 -9.533 -58.79, 14.62 -9.199 -59.11, +14.36 -9.521 -59.22, 14.25 -9.641 -59.21, 14.33 -9.524 -59.14, +14.25 -9.532 -59.2, 15.23 -8.964 -58.94, 14.73 -9.082 -59.09, +15.38 -10.1 -58.91, 15.68 -9.836 -58.84, 9.378 -9.123 -59.52, +8.963 -9.1 -59.33, 9.362 -9.351 -59.53, 9.098 -9.917 -59.41, +8.997 -9.93 -59.36, 8.836 -9.925 -59.26, 9.345 -9.655 -59.54, +9.389 -9.476 -59.54, 9.395 -9.189 -59.54, 9.402 -9.398 -59.54, +9.465 -9.533 -59.56, 8.776 -9.199 -59.22, 8.633 -9.521 -59.19, +8.606 -9.641 -59.13, 8.667 -9.524 -59.12, 8.609 -9.532 -59.13, +9.096 -8.964 -59.4, 8.828 -9.082 -59.26, 9.175 -10.1 -59.45, +9.369 -9.836 -59.54, 4.885 -9.123 -59.1, 4.262 -9.1 -59.62, +4.879 -9.351 -59.13, 4.491 -9.917 -59.43, 4.327 -9.93 -59.57, +4.057 -9.925 -59.79, 4.864 -9.655 -59.15, 4.915 -9.476 -59.1, +4.919 -9.189 -59.09, 4.927 -9.398 -59.08, 5.01 -9.533 -59.03, +3.945 -9.199 -59.87, 3.745 -9.521 -60.07, 3.642 -9.641 -60.09, +3.697 -9.524 -60.01, 3.639 -9.532 -60.09, 4.474 -8.964 -59.43, +4.038 -9.082 -59.8, 4.607 -10.1 -59.34, 4.892 -9.836 -59.12, +-0.963 -9.123 -61.92, -1.444 -9.1 -61.66, -0.9807 -9.351 -61.93, +-1.285 -9.917 -61.77, -1.403 -9.93 -61.69, -1.597 -9.925 -61.55, +-1.001 -9.655 -61.93, -0.9505 -9.476 -61.94, -0.9435 -9.189 -61.94, +-0.936 -9.398 -61.94, -0.866 -9.533 -61.96, -1.67 -9.199 -61.49, +-1.851 -9.521 -61.39, -1.882 -9.641 -61.32, -1.803 -9.524 -61.33, +-1.878 -9.532 -61.31, -1.286 -8.964 -61.76, -1.607 -9.082 -61.54, +-1.194 -10.1 -61.82, -0.974 -9.836 -61.94, -6.143 -9.123 -58.4, +-6.7 -9.1 -58.39, -6.159 -9.351 -58.41, -6.511 -9.917 -58.39, +-6.649 -9.93 -58.39, -6.87 -9.925 -58.42, -6.18 -9.655 -58.42, +-6.124 -9.476 -58.42, -6.117 -9.189 -58.42, -6.109 -9.398 -58.42, +-6.027 -9.533 -58.43, -6.957 -9.199 -58.44, -7.125 -9.521 -58.52, +-7.191 -9.641 -58.5, -7.136 -9.524 -58.45, -7.191 -9.532 -58.5, +-6.519 -8.964 -58.37, -6.884 -9.082 -58.42, -6.408 -10.1 -58.39, +-6.15 -9.836 -58.42, -12.36 -9.123 -62.93, -13 -9.1 -63.27, +-12.37 -9.351 -62.96, -12.77 -9.917 -63.19, -12.94 -9.93 -63.25, +-13.19 -9.925 -63.34, -12.38 -9.655 -62.98, -12.33 -9.476 -62.93, +-12.32 -9.189 -62.92, -12.31 -9.398 -62.91, -12.23 -9.533 -62.84, +-13.29 -9.199 -63.37, -13.47 -9.521 -63.47, -13.55 -9.641 -63.46, +-13.5 -9.524 -63.4, -13.56 -9.532 -63.45, -12.79 -8.964 -63.18, +-13.21 -9.082 -63.34, -12.65 -10.1 -63.13, -12.35 -9.836 -62.95, +-17.92 -9.123 -63.65, -18.38 -9.1 -63.56, -17.93 -9.351 -63.66, +-18.23 -9.917 -63.61, -18.34 -9.93 -63.58, -18.52 -9.925 -63.54, +-17.95 -9.655 -63.67, -17.91 -9.476 -63.66, -17.9 -9.189 -63.66, +-17.89 -9.398 -63.66, -17.82 -9.533 -63.66, -18.59 -9.199 -63.52, +-18.73 -9.521 -63.53, -18.78 -9.641 -63.49, -18.72 -9.524 -63.45, +-18.77 -9.532 -63.48, -18.23 -8.964 -63.59, -18.53 -9.082 -63.53, +-18.14 -10.1 -63.62, -17.93 -9.836 -63.67, -23.46 -9.123 -64.63, +-24.09 -9.1 -64.79, -23.47 -9.351 -64.65, -23.87 -9.917 -64.76, +-24.03 -9.93 -64.79, -24.27 -9.925 -64.84, -23.49 -9.655 -64.67, +-23.43 -9.476 -64.64, -23.42 -9.189 -64.63, -23.42 -9.398 -64.63, +-23.33 -9.533 -64.6, -24.37 -9.199 -64.86, -24.55 -9.521 -64.96, +-24.62 -9.641 -64.94, -24.57 -9.524 -64.88, -24.62 -9.532 -64.94, +-23.88 -8.964 -64.75, -24.29 -9.082 -64.84, -23.75 -10.1 -64.73, +-23.46 -9.836 -64.65, -28.61 -9.123 -67.34, -28.95 -9.1 -67.75, +-28.6 -9.351 -67.36, -28.83 -9.917 -67.62, -28.92 -9.93 -67.71, +-29.05 -9.925 -67.88, -28.61 -9.655 -67.38, -28.58 -9.476 -67.33, +-28.58 -9.189 -67.33, -28.58 -9.398 -67.32, -28.53 -9.533 -67.26, +-29.11 -9.199 -67.94, -29.17 -9.521 -68.11, -29.23 -9.641 -68.13, +-29.23 -9.524 -68.06, -29.24 -9.532 -68.13, -28.84 -8.964 -67.61, +-29.06 -9.082 -67.89, -28.76 -10.1 -67.54, -28.59 -9.836 -67.36, +-29.56 -9.123 -71.61, -29.31 -9.1 -71.96, -29.54 -9.351 -71.61, +-29.39 -9.917 -71.83, -29.32 -9.93 -71.92, -29.22 -9.925 -72.07, +-29.53 -9.655 -71.61, -29.56 -9.476 -71.59, -29.56 -9.189 -71.59, +-29.57 -9.398 -71.58, -29.6 -9.533 -71.53, -29.18 -9.199 -72.13, +-29.05 -9.521 -72.21, -29.05 -9.641 -72.27, -29.11 -9.524 -72.26, +-29.05 -9.532 -72.28, -29.39 -8.964 -71.84, -29.21 -9.082 -72.08, +-29.43 -10.1 -71.77, -29.54 -9.836 -71.6, -25.25 -9.123 -75.39, +-24.65 -9.1 -75.75, -25.22 -9.351 -75.38, -24.85 -9.917 -75.61, +-24.7 -9.93 -75.71, -24.46 -9.925 -75.87, -25.2 -9.655 -75.39, +-25.26 -9.476 -75.36, -25.27 -9.189 -75.36, -25.28 -9.398 -75.36, +-25.36 -9.533 -75.31, -24.37 -9.199 -75.93, -24.16 -9.521 -76.03, +-24.11 -9.641 -76.1, -24.2 -9.524 -76.09, -24.12 -9.532 -76.11, +-24.85 -8.964 -75.63, -24.45 -9.082 -75.88, -24.96 -10.1 -75.54, +-25.23 -9.836 -75.37, -18.97 -9.123 -79.5, -18.37 -9.1 -79.9, +-18.95 -9.351 -79.5, -18.57 -9.917 -79.75, -18.42 -9.93 -79.85, +-18.19 -9.925 -80.01, -18.93 -9.655 -79.5, -18.99 -9.476 -79.47, +-19 -9.189 -79.47, -19.01 -9.398 -79.47, -19.1 -9.533 -79.41, +-18.1 -9.199 -80.07, -17.9 -9.521 -80.16, -17.86 -9.641 -80.23, +-17.94 -9.524 -80.22, -17.86 -9.532 -80.23, -18.56 -8.964 -79.77, +-18.18 -9.082 -80.02, -18.68 -10.1 -79.68, -18.96 -9.836 -79.49, +-14.11 -9.123 -83.88, -13.83 -9.1 -84.32, -14.1 -9.351 -83.88, +-13.91 -9.917 -84.16, -13.85 -9.93 -84.27, -13.75 -9.925 -84.46, +-14.08 -9.655 -83.89, -14.12 -9.476 -83.86, -14.12 -9.189 -83.85, +-14.13 -9.398 -83.85, -14.18 -9.533 -83.79, -13.72 -9.199 -84.53, +-13.62 -9.521 -84.65, -13.63 -9.641 -84.71, -13.69 -9.524 -84.69, +-13.63 -9.532 -84.71, -13.92 -8.964 -84.17, -13.75 -9.082 -84.47, +-13.96 -10.1 -84.08, -14.1 -9.836 -83.87, -13.46 -9.123 -89.33, +-13.58 -9.1 -90.01, -13.45 -9.351 -89.35, -13.52 -9.917 -89.78, +-13.56 -9.93 -89.95, -13.62 -9.925 -90.22, -13.44 -9.655 -89.37, +-13.45 -9.476 -89.3, -13.45 -9.189 -89.3, -13.45 -9.398 -89.29, +-13.44 -9.533 -89.19, -13.65 -9.199 -90.32, -13.66 -9.521 -90.55, +-13.71 -9.641 -90.61, -13.73 -9.524 -90.52, -13.71 -9.532 -90.61, +-13.54 -8.964 -89.78, -13.63 -9.082 -90.23, -13.5 -10.1 -89.65, +-13.44 -9.836 -89.34, -15.41 -9.123 -96.68, -15.63 -9.1 -97.41, +-15.4 -9.351 -96.7, -15.54 -9.917 -97.16, -15.6 -9.93 -97.34, +-15.7 -9.925 -97.64, -15.4 -9.655 -96.73, -15.39 -9.476 -96.66, +-15.39 -9.189 -96.65, -15.39 -9.398 -96.64, -15.36 -9.533 -96.53, +-15.74 -9.199 -97.75, -15.77 -9.521 -97.99, -15.83 -9.641 -98.06, +-15.85 -9.524 -97.97, -15.83 -9.532 -98.06, -15.56 -8.964 -97.17, +-15.71 -9.082 -97.65, -15.5 -10.1 -97.03, -15.39 -9.836 -96.69, +-17.21 -9.123 -103.4, -17.27 -9.1 -104, -17.19 -9.351 -103.4, +-17.23 -9.917 -103.8, -17.26 -9.93 -103.9, -17.28 -9.925 -104.1, +-17.19 -9.655 -103.5, -17.19 -9.476 -103.4, -17.19 -9.189 -103.4, +-17.19 -9.398 -103.4, -17.19 -9.533 -103.3, -17.29 -9.199 -104.2, +-17.26 -9.521 -104.4, -17.3 -9.641 -104.4, -17.34 -9.524 -104.4, +-17.3 -9.532 -104.4, -17.25 -8.964 -103.8, -17.28 -9.082 -104.1, +-17.22 -10.1 -103.7, -17.19 -9.836 -103.4, -15.94 -9.123 -107, +-15.42 -9.1 -107.2, -15.93 -9.351 -107, -15.6 -9.917 -107.1, +-15.47 -9.93 -107.1, -15.26 -9.925 -107.2, -15.91 -9.655 -106.9, +-15.96 -9.476 -106.9, -15.97 -9.189 -106.9, -15.97 -9.398 -106.9, +-16.05 -9.533 -106.9, -15.19 -9.199 -107.3, -15.02 -9.521 -107.3, +-14.97 -9.641 -107.3, -15.03 -9.524 -107.3, -14.97 -9.532 -107.3, +-15.59 -8.964 -107.1, -15.25 -9.082 -107.2, -15.69 -10.1 -107.1, +-15.93 -9.836 -106.9, -10.84 -9.123 -106.9, -10.34 -9.1 -106.6, +-10.84 -9.351 -106.9, -10.52 -9.917 -106.7, -10.39 -9.93 -106.6, +-10.18 -9.925 -106.5, -10.82 -9.655 -106.8, -10.87 -9.476 -106.9, +-10.87 -9.189 -106.9, -10.88 -9.398 -106.9, -10.95 -9.533 -106.9, +-10.1 -9.199 -106.5, -9.96 -9.521 -106.4, -9.889 -9.641 -106.4, +-9.927 -9.524 -106.5, -9.887 -9.532 -106.4, -10.51 -8.964 -106.7, +-10.17 -9.082 -106.5, -10.61 -10.1 -106.7, -10.85 -9.836 -106.9, +-5.552 -9.123 -104.1, -5.013 -9.1 -103.7, -5.547 -9.351 -104.1, +-5.206 -9.917 -103.8, -5.067 -9.93 -103.7, -4.85 -9.925 -103.6, +-5.534 -9.655 -104, -5.58 -9.476 -104.1, -5.583 -9.189 -104.1, +-5.591 -9.398 -104.1, -5.667 -9.533 -104.1, -4.762 -9.199 -103.5, +-4.615 -9.521 -103.3, -4.537 -9.641 -103.3, -4.575 -9.524 -103.4, +-4.535 -9.532 -103.3, -5.19 -8.964 -103.8, -4.834 -9.082 -103.5, +-5.305 -10.1 -103.9, -5.56 -9.836 -104.1, 0.2458 -9.123 -101, +0.8529 -9.1 -100.7, 0.2543 -9.351 -101, 0.6403 -9.917 -100.8, +0.7945 -9.93 -100.8, 1.038 -9.925 -100.6, 0.2713 -9.655 -101, +0.217 -9.476 -101, 0.212 -9.189 -101, 0.2037 -9.398 -101, +0.1163 -9.533 -101.1, 1.134 -9.199 -100.6, 1.313 -9.521 -100.5, +1.39 -9.641 -100.5, 1.335 -9.524 -100.5, 1.391 -9.532 -100.5, +0.6546 -8.964 -100.8, 1.054 -9.082 -100.6, 0.528 -10.1 -100.9, +0.2413 -9.836 -101, 6.878 -9.123 -100.2, 7.589 -9.1 -100.2, +6.897 -9.351 -100.2, 7.339 -9.917 -100.2, 7.515 -9.93 -100.2, +7.881 -9.925 -100.3, 6.921 -9.655 -100.2, 6.853 -9.476 -100.2, +6.845 -9.189 -100.2, 6.834 -9.398 -100.2, 6.732 -9.533 -100.2, +8.027 -9.199 -100.4, 8.338 -9.521 -100.5, 8.428 -9.641 -100.6, +8.31 -9.524 -100.6, 8.425 -9.532 -100.6, 7.349 -8.964 -100.2, +7.903 -9.082 -100.3, 7.209 -10.1 -100.2, 6.884 -9.836 -100.2, +] +} +] +ROUTE mr_fish01-TIMER.fraction_changed TO mr_fish01-COORD-INTERP.set_fraction +ROUTE mr_fish01-COORD-INTERP.value_changed TO mr_fish01-COORD.set_point +} +####################mr_fish_2 end + +####################p_fish + +DEF pretty_fish Transform { +children [ +DEF pretty_fish-TIMER TimeSensor { loop TRUE cycleInterval 40 }, +Shape +{ +appearance USE blue_finfish +geometry DEF pretty_fish-FACES IndexedFaceSet { creaseAngle 3 +solid FALSE +coord DEF pretty_fish-COORD Coordinate { +point [ 39.17 -7.962 -125.4 39.28 -8.068 -125.3 39.13 -8.134 -125.5 39.32 +-8.067 -125.3 39.02 -7.976 -125.5 39.02 -8.11 -125.5 38.88 -8.011 -125.5 38.93 +-8.065 -125.5 38.88 -8.058 -125.5 38.68 -7.93 -125.6 38.7 -8.103 -125.6 39.33 +-8.14 -125.3 39.32 -7.976 -125.3 39.51 -8.073 -125.2 38.77 -8.026 -125.6 39.09 +-7.898 -125.5 38.84 -7.95 -125.6 39.28 -7.936 -125.3 39.15 -8.214 -125.5 38.8 +-8.138 -125.6 ] +} +texCoord DEF pretty_fish-TEXCOORD +TextureCoordinate { point [ .3496 .7741 .193 .494 .3663 .3218 .1923 .4949 +.5067 .7146 .5428 .3665 .6703 .5808 .6303 .466 .7144 .5143 .9872 .775 .9773 +.4134 .2448 .3118 .21 .7338 .01048 .4743 .782 .537 .5127 .8911 .6176 .7309 +.291 .9044 .3593 .1397 .7468 .237 ] } coordIndex [ 0 4 1 -1 1 5 2 -1 2 5 3 +-1 3 4 0 -1 4 6 1 -1 1 6 7 -1 1 7 5 -1 5 7 3 -1 3 7 6 -1 3 6 4 -1 6 8 7 -1 7 +8 6 -1 6 10 8 -1 8 10 6 -1 1 12 0 -1 1 2 11 -1 3 11 2 -1 3 0 12 -1 12 1 13 +-1 1 11 13 -1 11 3 13 -1 3 12 13 -1 9 14 6 -1 10 6 14 -1 10 14 6 -1 9 6 14 +-1 0 4 15 -1 16 15 4 -1 4 6 16 -1 15 17 0 -1 12 0 17 -1 18 11 2 -1 5 7 19 +-1 ] texCoordIndex +[ 0 4 1 -1 1 5 2 -1 2 5 3 -1 3 4 0 -1 4 6 1 -1 1 6 7 -1 1 7 5 -1 5 7 3 -1 3 +7 6 -1 3 6 4 -1 6 8 7 -1 7 8 6 -1 6 10 8 -1 8 10 6 -1 1 12 0 -1 1 2 11 -1 3 +11 2 -1 3 0 12 -1 12 1 13 -1 1 11 13 -1 11 3 13 -1 3 12 13 -1 9 14 6 -1 10 6 +14 -1 10 14 6 -1 9 6 14 -1 0 4 15 -1 16 15 4 -1 4 6 16 -1 15 17 0 -1 12 0 17 +-1 18 11 2 -1 5 7 19 -1 ] +} +} +DEF pretty_fish-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, 0.2667, +0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, 0.5333, 0.5667, +0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, 0.8, 0.8333, 0.8667, +0.9, 0.9333, 0.9667, 1, ] +keyValue [39.17 -7.962 -125.4, 39.28 -8.068 -125.3, +39.13 -8.134 -125.5, 39.32 -8.067 -125.3, 39.02 -7.976 -125.5, +39.02 -8.11 -125.5, 38.88 -8.011 -125.5, 38.93 -8.065 -125.5, +38.88 -8.058 -125.5, 38.68 -7.93 -125.6, 38.7 -8.103 -125.6, +39.33 -8.14 -125.3, 39.32 -7.976 -125.3, 39.51 -8.073 -125.2, +38.77 -8.026 -125.6, 39.09 -7.898 -125.5, 38.84 -7.95 -125.6, +39.28 -7.936 -125.3, 39.15 -8.214 -125.5, 38.8 -8.138 -125.6, +41.03 -7.962 -125, 41.1 -8.068 -125, 41.01 -8.134 -125, 41.07 -8.067 -125, +40.94 -7.976 -124.9, 40.94 -8.11 -124.9, 40.86 -8.011 -124.9, +40.89 -8.065 -124.9, 40.86 -8.058 -124.9, 40.71 -7.93 -124.8, +40.73 -8.103 -124.8, 41.09 -8.14 -125, 41.09 -7.976 -125, +41.17 -8.073 -125.1, 40.78 -8.026 -124.8, 40.98 -7.898 -124.9, +40.83 -7.95 -124.8, 41.07 -7.936 -125, 41.02 -8.214 -125, +40.81 -8.138 -124.8, 42.4 -7.962 -125.7, 42.49 -8.068 -125.6, +42.37 -8.134 -125.7, 42.5 -8.067 -125.7, 42.27 -7.976 -125.7, +42.27 -8.11 -125.7, 42.16 -8.011 -125.7, 42.19 -8.065 -125.7, +42.15 -8.058 -125.7, 41.98 -7.93 -125.6, 42 -8.103 -125.6, +42.52 -8.14 -125.6, 42.51 -7.976 -125.6, 42.66 -8.073 -125.6, +42.06 -8.026 -125.7, 42.33 -7.898 -125.7, 42.12 -7.95 -125.7, +42.48 -7.936 -125.7, 42.38 -8.214 -125.7, 42.09 -8.138 -125.7, +44.85 -7.962 -124.3, 44.93 -8.068 -124.2, 44.81 -8.134 -124.3, +44.96 -8.067 -124.2, 44.71 -7.976 -124.4, 44.7 -8.11 -124.4, +44.57 -8.011 -124.5, 44.61 -8.065 -124.4, 44.56 -8.058 -124.5, +44.32 -7.93 -124.6, 44.35 -8.103 -124.6, 44.97 -8.14 -124.2, +44.96 -7.976 -124.2, 45.09 -8.073 -124.1, 44.44 -8.026 -124.5, +44.78 -7.898 -124.3, 44.52 -7.95 -124.5, 44.93 -7.936 -124.2, +44.83 -8.214 -124.3, 44.48 -8.138 -124.5, 46.26 -7.962 -123, +46.26 -8.068 -122.9, 46.24 -8.134 -123, 46.31 -8.067 -123, +46.2 -7.976 -123.1, 46.19 -8.11 -123.1, 46.14 -8.011 -123.1, +46.16 -8.065 -123.1, 46.14 -8.058 -123.1, 46.03 -7.93 -123.3, +46.04 -8.103 -123.2, 46.3 -8.14 -122.9, 46.29 -7.976 -122.9, +46.34 -8.073 -122.8, 46.08 -8.026 -123.2, 46.23 -7.898 -123, +46.12 -7.95 -123.2, 46.29 -7.936 -122.9, 46.24 -8.214 -123, +46.1 -8.138 -123.2, 46.17 -7.962 -121.6, 46.1 -8.068 -121.5, +46.18 -8.134 -121.7, 46.16 -8.067 -121.5, 46.24 -7.976 -121.8, +46.24 -8.11 -121.8, 46.31 -8.011 -122, 46.29 -8.065 -121.9, +46.31 -8.058 -122, 46.38 -7.93 -122.2, 46.37 -8.103 -122.2, +46.13 -8.14 -121.5, 46.13 -7.976 -121.5, 46.09 -8.073 -121.4, +46.36 -8.026 -122.1, 46.21 -7.898 -121.7, 46.34 -7.95 -122.1, +46.15 -7.936 -121.5, 46.18 -8.214 -121.7, 46.36 -8.138 -122.1, +46.47 -7.962 -120.1, 46.51 -8.068 -120, 46.45 -8.134 -120.1, +46.55 -8.067 -120.1, 46.39 -7.976 -120.2, 46.39 -8.11 -120.2, +46.32 -8.011 -120.3, 46.34 -8.065 -120.2, 46.32 -8.058 -120.3, +46.21 -7.93 -120.4, 46.22 -8.103 -120.4, 46.54 -8.14 -120.1, +46.54 -7.976 -120.1, 46.63 -8.073 -120, 46.26 -8.026 -120.3, +46.43 -7.898 -120.2, 46.3 -7.95 -120.3, 46.52 -7.936 -120.1, +46.46 -8.214 -120.1, 46.28 -8.138 -120.3, 47.87 -7.962 -118, +47.87 -8.068 -117.9, 47.85 -8.134 -118, 47.93 -8.067 -117.9, +47.79 -7.976 -118.2, 47.78 -8.11 -118.2, 47.7 -8.011 -118.5, +47.73 -8.065 -118.4, 47.7 -8.058 -118.5, 47.55 -7.93 -118.8, +47.56 -8.103 -118.7, 47.91 -8.14 -117.9, 47.91 -7.976 -117.9, +47.94 -8.073 -117.7, 47.62 -8.026 -118.6, 47.84 -7.898 -118.1, +47.67 -7.95 -118.5, 47.9 -7.936 -117.9, 47.86 -8.214 -118, +47.64 -8.138 -118.6, 47.38 -7.962 -116.5, 47.29 -8.068 -116.5, +47.4 -8.134 -116.5, 47.32 -8.067 -116.4, 47.48 -7.976 -116.6, +47.48 -8.11 -116.6, 47.57 -8.011 -116.6, 47.54 -8.065 -116.6, +47.57 -8.058 -116.6, 47.69 -7.93 -116.7, 47.68 -8.103 -116.7, +47.29 -8.14 -116.5, 47.3 -7.976 -116.5, 47.19 -8.073 -116.4, +47.64 -8.026 -116.7, 47.43 -7.898 -116.5, 47.6 -7.95 -116.6, +47.32 -7.936 -116.5, 47.39 -8.214 -116.5, 47.62 -8.138 -116.7, +45.44 -7.962 -115.8, 45.33 -8.068 -115.8, 45.48 -8.134 -115.8, +45.36 -8.067 -115.7, 45.59 -7.976 -115.8, 45.59 -8.11 -115.8, +45.73 -8.011 -115.9, 45.68 -8.065 -115.9, 45.73 -8.058 -115.9, +45.95 -7.93 -116, 45.93 -8.103 -116, 45.32 -8.14 -115.7, +45.33 -7.976 -115.7, 45.19 -8.073 -115.7, 45.85 -8.026 -115.9, +45.52 -7.898 -115.8, 45.77 -7.95 -115.9, 45.36 -7.936 -115.7, +45.46 -8.214 -115.8, 45.81 -8.138 -115.9, 44.31 -7.962 -114.1, +44.25 -8.068 -114, 44.31 -8.134 -114.1, 44.32 -8.067 -114, +44.33 -7.976 -114.3, 44.33 -8.11 -114.3, 44.35 -8.011 -114.4, +44.34 -8.065 -114.4, 44.35 -8.058 -114.4, 44.39 -7.93 -114.7, +44.39 -8.103 -114.6, 44.28 -8.14 -114, 44.28 -7.976 -114, +44.26 -8.073 -113.8, 44.37 -8.026 -114.6, 44.32 -7.898 -114.2, +44.36 -7.95 -114.5, 44.3 -7.936 -114, 44.31 -8.214 -114.1, +44.37 -8.138 -114.5, 43.22 -7.962 -112.6, 43.13 -8.068 -112.6, +43.25 -8.134 -112.6, 43.15 -8.067 -112.6, 43.35 -7.976 -112.7, +43.35 -8.11 -112.7, 43.45 -8.011 -112.7, 43.42 -8.065 -112.7, +43.45 -8.058 -112.7, 43.62 -7.93 -112.8, 43.6 -8.103 -112.8, +43.12 -8.14 -112.6, 43.13 -7.976 -112.6, 43 -8.073 -112.6, +43.54 -8.026 -112.7, 43.29 -7.898 -112.6, 43.49 -7.95 -112.7, +43.16 -7.936 -112.6, 43.24 -8.214 -112.6, 43.52 -8.138 -112.7, +41.49 -7.962 -111.6, 41.41 -8.068 -111.6, 41.51 -8.134 -111.7, +41.46 -8.067 -111.5, 41.58 -7.976 -111.8, 41.58 -8.11 -111.8, +41.67 -8.011 -111.9, 41.64 -8.065 -111.8, 41.67 -8.058 -111.9, +41.83 -7.93 -112, 41.81 -8.103 -112, 41.42 -8.14 -111.5, +41.43 -7.976 -111.5, 41.36 -8.073 -111.4, 41.75 -8.026 -112, +41.54 -7.898 -111.7, 41.7 -7.95 -111.9, 41.45 -7.936 -111.6, +41.5 -8.214 -111.7, 41.73 -8.138 -111.9, 40.71 -7.962 -109.5, +40.64 -8.068 -109.5, 40.72 -8.134 -109.6, 40.69 -8.067 -109.4, +40.77 -7.976 -109.7, 40.77 -8.11 -109.7, 40.82 -8.011 -109.8, +40.8 -8.065 -109.8, 40.82 -8.058 -109.8, 40.9 -7.93 -110, +40.89 -8.103 -110, 40.66 -8.14 -109.4, 40.66 -7.976 -109.4, +40.59 -8.073 -109.3, 40.86 -8.026 -109.9, 40.75 -7.898 -109.6, +40.84 -7.95 -109.8, 40.68 -7.936 -109.5, 40.72 -8.214 -109.6, +40.85 -8.138 -109.9, 39.08 -7.962 -108.9, 39.03 -8.068 -109, +39.1 -8.134 -108.9, 39 -8.067 -108.9, 39.18 -7.976 -108.8, +39.18 -8.11 -108.8, 39.28 -8.011 -108.8, 39.25 -8.065 -108.8, +39.28 -8.058 -108.8, 39.47 -7.93 -108.8, 39.45 -8.103 -108.8, +39 -8.14 -109, 39.01 -7.976 -109, 38.92 -8.073 -109, 39.38 -8.026 -108.8, +39.13 -7.898 -108.9, 39.32 -7.95 -108.8, 39.02 -7.936 -108.9, +39.09 -8.214 -108.9, 39.35 -8.138 -108.8, 37.55 -7.962 -109.7, +37.46 -8.068 -109.7, 37.58 -8.134 -109.7, 37.47 -8.067 -109.6, +37.68 -7.976 -109.7, 37.68 -8.11 -109.7, 37.79 -8.011 -109.7, +37.75 -8.065 -109.7, 37.79 -8.058 -109.7, 38 -7.93 -109.7, +37.97 -8.103 -109.7, 37.44 -8.14 -109.7, 37.45 -7.976 -109.7, +37.32 -8.073 -109.6, 37.9 -8.026 -109.7, 37.62 -7.898 -109.7, +37.83 -7.95 -109.7, 37.48 -7.936 -109.7, 37.57 -8.214 -109.7, +37.86 -8.138 -109.7, 35.72 -7.962 -109.4, 35.67 -8.068 -109.5, +35.74 -8.134 -109.4, 35.64 -8.067 -109.4, 35.81 -7.976 -109.3, +35.82 -8.11 -109.3, 35.92 -8.011 -109.3, 35.88 -8.065 -109.3, +35.92 -8.058 -109.3, 36.1 -7.93 -109.4, 36.08 -8.103 -109.4, +35.64 -8.14 -109.4, 35.65 -7.976 -109.4, 35.56 -8.073 -109.5, +36.02 -8.026 -109.3, 35.77 -7.898 -109.4, 35.96 -7.95 -109.3, +35.66 -7.936 -109.4, 35.73 -8.214 -109.4, 35.99 -8.138 -109.3, +34.75 -7.962 -111.1, 34.72 -8.068 -111.2, 34.78 -8.134 -111.1, +34.68 -8.067 -111.1, 34.84 -7.976 -111, 34.84 -8.11 -111, +34.91 -8.011 -110.9, 34.89 -8.065 -110.9, 34.91 -8.058 -110.9, +35.02 -7.93 -110.7, 35.01 -8.103 -110.7, 34.69 -8.14 -111.1, +34.69 -7.976 -111.1, 34.61 -8.073 -111.2, 34.97 -8.026 -110.8, +34.8 -7.898 -111, 34.94 -7.95 -110.9, 34.71 -7.936 -111.1, +34.77 -8.214 -111.1, 34.95 -8.138 -110.8, 32.9 -7.962 -110.8, +32.78 -8.068 -110.8, 32.94 -8.134 -110.9, 32.8 -8.067 -110.8, +33.07 -7.976 -110.9, 33.07 -8.11 -110.9, 33.23 -8.011 -111, +33.18 -8.065 -111, 33.23 -8.058 -111, 33.48 -7.93 -111.2, +33.46 -8.103 -111.2, 32.77 -8.14 -110.8, 32.78 -7.976 -110.8, +32.63 -8.073 -110.7, 33.37 -8.026 -111.1, 32.99 -7.898 -110.9, +33.29 -7.95 -111.1, 32.81 -7.936 -110.8, 32.92 -8.214 -110.9, +33.33 -8.138 -111.1, 31.83 -7.962 -111.6, 31.89 -8.068 -111.7, +31.83 -8.134 -111.6, 31.82 -8.067 -111.7, 31.82 -7.976 -111.5, +31.82 -8.11 -111.5, 31.82 -8.011 -111.3, 31.82 -8.065 -111.4, +31.82 -8.058 -111.3, 31.85 -7.93 -111.1, 31.85 -8.103 -111.1, +31.86 -8.14 -111.8, 31.86 -7.976 -111.8, 31.9 -8.073 -111.9, +31.83 -8.026 -111.2, 31.82 -7.898 -111.5, 31.82 -7.95 -111.3, +31.84 -7.936 -111.7, 31.84 -8.214 -111.6, 31.83 -8.138 -111.2, +31.93 -7.962 -114, 31.93 -8.068 -114.1, 31.95 -8.134 -114, +31.87 -8.067 -114.1, 31.98 -7.976 -113.9, 31.99 -8.11 -113.9, +32.02 -8.011 -113.8, 32.01 -8.065 -113.8, 32.02 -8.058 -113.8, +32.07 -7.93 -113.5, 32.06 -8.103 -113.6, 31.89 -8.14 -114.1, +31.89 -7.976 -114.1, 31.83 -8.073 -114.2, 32.05 -8.026 -113.6, +31.95 -7.898 -114, 32.03 -7.95 -113.7, 31.9 -7.936 -114.1, +31.94 -8.214 -114, 32.04 -8.138 -113.7, 30.67 -7.962 -115.6, +30.68 -8.068 -115.7, 30.69 -8.134 -115.6, 30.62 -8.067 -115.7, +30.72 -7.976 -115.5, 30.72 -8.11 -115.5, 30.77 -8.011 -115.4, +30.76 -8.065 -115.4, 30.77 -8.058 -115.4, 30.89 -7.93 -115.2, +30.88 -8.103 -115.2, 30.64 -8.14 -115.7, 30.65 -7.976 -115.7, +30.61 -8.073 -115.8, 30.83 -8.026 -115.3, 30.69 -7.898 -115.5, +30.79 -7.95 -115.3, 30.65 -7.936 -115.7, 30.68 -8.214 -115.6, +30.81 -8.138 -115.3, 30.04 -7.962 -117.6, 30.03 -8.068 -117.7, +30.06 -8.134 -117.6, 29.97 -8.067 -117.7, 30.11 -7.976 -117.4, +30.12 -8.11 -117.4, 30.17 -8.011 -117.3, 30.16 -8.065 -117.3, +30.18 -8.058 -117.3, 30.27 -7.93 -117.1, 30.26 -8.103 -117.1, +29.98 -8.14 -117.7, 29.99 -7.976 -117.7, 29.92 -8.073 -117.9, +30.23 -8.026 -117.2, 30.07 -7.898 -117.5, 30.19 -7.95 -117.3, +30 -7.936 -117.7, 30.05 -8.214 -117.6, 30.21 -8.138 -117.2, +29.49 -7.962 -119.7, 29.55 -8.068 -119.7, 29.48 -8.134 -119.6, +29.49 -8.067 -119.7, 29.46 -7.976 -119.5, 29.47 -8.11 -119.5, +29.45 -8.011 -119.4, 29.46 -8.065 -119.5, 29.45 -8.058 -119.4, +29.46 -7.93 -119.2, 29.46 -8.103 -119.2, 29.52 -8.14 -119.7, +29.52 -7.976 -119.7, 29.57 -8.073 -119.8, 29.45 -8.026 -119.3, +29.47 -7.898 -119.6, 29.45 -7.95 -119.4, 29.5 -7.936 -119.7, +29.49 -8.214 -119.6, 29.45 -8.138 -119.4, 31.35 -7.962 -120.5, +31.44 -8.068 -120.6, 31.34 -8.134 -120.5, 31.38 -8.067 -120.6, +31.26 -7.976 -120.4, 31.26 -8.11 -120.4, 31.15 -8.011 -120.3, +31.19 -8.065 -120.4, 31.15 -8.058 -120.3, 30.93 -7.93 -120.2, +30.96 -8.103 -120.3, 31.42 -8.14 -120.6, 31.41 -7.976 -120.6, +31.47 -8.073 -120.7, 31.04 -8.026 -120.3, 31.31 -7.898 -120.5, +31.11 -7.95 -120.3, 31.39 -7.936 -120.6, 31.34 -8.214 -120.5, +31.08 -8.138 -120.3, 31.85 -7.962 -122.6, 31.93 -8.068 -122.6, +31.84 -8.134 -122.6, 31.88 -8.067 -122.7, 31.79 -7.976 -122.5, +31.79 -8.11 -122.5, 31.75 -8.011 -122.4, 31.76 -8.065 -122.4, +31.75 -8.058 -122.4, 31.7 -7.93 -122.2, 31.7 -8.103 -122.2, +31.92 -8.14 -122.7, 31.91 -7.976 -122.7, 32 -8.073 -122.7, +31.72 -8.026 -122.3, 31.82 -7.898 -122.6, 31.73 -7.95 -122.4, +31.89 -7.936 -122.7, 31.85 -8.214 -122.6, 31.72 -8.138 -122.3, +33.43 -7.962 -124.1, 33.47 -8.068 -124.2, 33.43 -8.134 -124.1, +33.4 -8.067 -124.2, 33.41 -7.976 -123.9, 33.41 -8.11 -123.9, +33.38 -8.011 -123.8, 33.4 -8.065 -123.9, 33.39 -8.058 -123.8, +33.32 -7.93 -123.6, 33.32 -8.103 -123.6, 33.44 -8.14 -124.2, +33.44 -7.976 -124.2, 33.44 -8.073 -124.3, 33.35 -8.026 -123.7, +33.41 -7.898 -124, 33.37 -7.95 -123.8, 33.43 -7.936 -124.2, +33.43 -8.214 -124.1, 33.36 -8.138 -123.7, 33.96 -7.962 -125.6, +34.07 -8.068 -125.5, 33.93 -8.134 -125.6, 34.09 -8.067 -125.6, +33.83 -7.976 -125.6, 33.83 -8.11 -125.6, 33.73 -8.011 -125.5, +33.76 -8.065 -125.5, 33.73 -8.058 -125.5, 33.6 -7.93 -125.4, +33.61 -8.103 -125.4, 34.12 -8.14 -125.6, 34.11 -7.976 -125.6, +34.35 -8.073 -125.5, 33.66 -8.026 -125.5, 33.89 -7.898 -125.6, +33.7 -7.95 -125.5, 34.06 -7.936 -125.6, 33.94 -8.214 -125.6, +33.68 -8.138 -125.5, 36.44 -7.962 -124.9, 36.52 -8.068 -124.8, +36.42 -8.134 -124.9, 36.51 -8.067 -124.9, 36.33 -7.976 -124.9, +36.33 -8.11 -124.9, 36.22 -8.011 -124.9, 36.26 -8.065 -124.9, +36.22 -8.058 -124.9, 36.02 -7.93 -124.9, 36.04 -8.103 -124.9, +36.53 -8.14 -124.9, 36.53 -7.976 -124.9, 36.63 -8.073 -124.9, +36.11 -8.026 -124.9, 36.39 -7.898 -124.9, 36.18 -7.95 -124.9, +36.5 -7.936 -124.9, 36.43 -8.214 -124.9, 36.15 -8.138 -124.9, +37.64 -7.962 -125.4, 37.7 -8.068 -125.4, 37.62 -8.134 -125.4, +37.68 -8.067 -125.5, 37.57 -7.976 -125.4, 37.57 -8.11 -125.4, +37.5 -8.011 -125.4, 37.52 -8.065 -125.4, 37.5 -8.058 -125.4, +37.39 -7.93 -125.3, 37.4 -8.103 -125.3, 37.7 -8.14 -125.5, +37.7 -7.976 -125.5, 37.77 -8.073 -125.5, 37.44 -8.026 -125.3, +37.6 -7.898 -125.4, 37.48 -7.95 -125.4, 37.68 -7.936 -125.5, +37.63 -8.214 -125.4, 37.46 -8.138 -125.3, 39.17 -7.962 -125.4, +39.28 -8.068 -125.3, 39.13 -8.134 -125.5, 39.32 -8.067 -125.3, +39.02 -7.976 -125.5, 39.02 -8.11 -125.5, 38.88 -8.011 -125.5, +38.93 -8.065 -125.5, 38.88 -8.058 -125.5, 38.68 -7.93 -125.6, +38.7 -8.103 -125.6, 39.33 -8.14 -125.3, 39.32 -7.976 -125.3, +39.51 -8.073 -125.2, 38.77 -8.026 -125.6, 39.09 -7.898 -125.5, +38.84 -7.95 -125.6, 39.28 -7.936 -125.3, 39.15 -8.214 -125.5, +38.8 -8.138 -125.6, ] +} +] +ROUTE pretty_fish-TIMER.fraction_changed TO pretty_fish-COORD-INTERP.set_fraction +ROUTE pretty_fish-COORD-INTERP.value_changed TO pretty_fish-COORD.set_point +} +####################p_fish end + + +DEF jelly1 Transform { +translation 7.973 -3.48 -97.61 +scale 0.025 0.01284 0.0212 +children [ +DEF jelly1-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +Shape { +appearance USE jellyfish +geometry DEF jelly1-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +coord DEF jelly1-COORD Coordinate { point [ +0 13.36 -31.67, -27.5 11.51 -15.88, -31.75 12.44 0, -27.5 12.44 15.88, +0 12.44 31.67, 27.5 12.44 15.88, 31.75 12.44 0, 27.5 13.51 -15.88, +3.969 1.521e-005 -34.1, -28.09 0 -19.44, -35.29 0 1.719, +-28.09 0 19.44, 1.314 0 32.9, 28.09 0 16.61, 34.98 0 -2.865, +25.8 0 -21.71, 0 32.02 -11.27, -11.61 32.27 0, 0 32.02 11.27, +11.61 32.27 0, 0.1209 34.64 0.1311, -11.91 0 -29.6, +2.401 -18.29 -21.64, -17.68 -18.3 -13.85, -23.48 -18.3 -0.1521, +-13.51 -18.3 16.56, 7.639 -18.3 19.56, 22.29 -18.3 5.952, +20.15 -18.3 -6.496, -26.52 -35.51 13.47, -26.1 -35.51 15.04, +-3.372 -35.74 27.94, -0.04711 -35.5 29.86, 22.35 -35.46 17.2, +26.06 -35.5 15.1, -6.549 -35.5 -26.17, -9.551 -35.86 -24.4, +-27.11 -35.51 -11.29, -27.81 -35.51 -8.648, 29.12 -35.51 -3.779, +28.11 -35.51 -7.533, 17.97 -35.62 -19.67, 15.31 -35.33 -21.22, +-18.14 -57.52 -11.03, -18.8 -57.52 9.061, -17.79 -57.52 12.82, +-0.5715 -58.19 23.83, 2.405 -57.98 25.54, 19.01 -57.14 17.29, +21.56 -57.52 15.77, -2.305 -57.52 -14.96, -6.692 -57.69 -12.45, +-18.8 -57.52 -9.061, -19.81 -57.52 -5.307, 20.81 -57.52 -1.553, +19.81 -57.52 -5.307, 11.27 -57.83 -13.56, 8.807 -57.52 -15, +-21.92 -89.66 11.92, -21.36 -89.66 14.02, -0.6973 -89.66 23.33, +2.939 -89.66 25.39, 8.386 -89.66 12.95, 12.02 -89.66 10.88, +-4.734 -89.66 -20.98, -8.37 -89.66 -18.92, -22.55 -89.66 -9.528, +-23.11 -89.66 -7.428, 24.42 -89.66 -2.998, 23.85 -89.66 -5.098, +16.16 -89.66 -14.56, 12.53 -89.66 -16.63, -8.051 -141.9 2.801, +0.6082 -128.5 7.191, 7.773 -141.9 8.954, 15.15 -141.9 -0.2773, +-0.697 -141.9 -4.32, -13.72 -132.3 -5.18, 10.66 -128.9 -0.07603, +6.652 -133.6 -6.085] +} +texCoord DEF jelly1-TEXCOORD TextureCoordinate { point [ +0.5056 0.8725, 1.406 0.8613, 1.545 0.8669, 1.406 0.8669, +0.5056 0.8669, -0.3948 0.8669, -0.5341 0.8669, -0.3948 0.8734, +0.3756 0.7915, 1.425 0.7915, 1.661 0.7915, 1.425 0.7915, +0.4625 0.7915, -0.4142 0.7915, -0.6397 0.7915, -0.3392 0.7915, +0.4961 0.2097, 0.8692 0.2097, 0.927 0.2097, 0.8692 0.2097, +0.4961 0.2097, 0.1229 0.2097, 0.06514 0.2097, 0.1229 0.2097, +0.5056 0.9856, 0.8855 0.9871, 0.5056 0.9856, 0.1256 0.9871, +0.5016 1.001, 0.8954 0.7915, 0.427 0.6806, 1.084 0.6806, +0.4961 1.003, 0.5035 0.9751, 0.6076 0.9683, 0.6248 0.9683, +1.274 0.6806, 0.9478 0.6806, 0.3845 0.9683, 0.3673 0.9683, +0.2554 0.6806, -0.2241 0.6806, -0.1541 0.6806, 1.374 0.5763, +1.36 0.5763, 0.616 0.5748, 0.5071 0.5763, -0.2262 0.5765, +-0.3475 0.5763, 0.72 0.5763, 0.8183 0.5741, 1.393 0.5763, +1.416 0.5763, -0.4478 0.5763, -0.4149 0.5763, -0.08269 0.5755, +0.004179 0.5773, 0.4961 0.3026, 0.6826 0.2097, 0.8981 0.3026, +0.8981 0.2097, 0.9603 0.3026, 0.8981 0.2097, 0.8981 0.3026, +0.6826 0.2097, 0.4961 0.3026, 0.3095 0.2097, 0.09401 0.3026, +0.09401 0.2097, 0.03181 0.3026, 0.09401 0.2097, 0.09401 0.3026, +0.3095 0.2097, 0.6971 0.3026, 0.9292 0.3026, 0.9292 0.3026, +0.6971 0.3026, 0.295 0.3026, 0.06291 0.3026, 0.06291 0.3026, +0.295 0.3026, 1.028 0.5681, 1.06 0.5696, 0.5773 0.5686, +0.977 0.3955, 0.977 0.3955, 0.504 0.5686, 1.121 0.4428, +0.6038 0.3955, 1.088 0.4428, 0.5243 0.4388, 0.4268 0.44, +0.01515 0.3955, 0.01515 0.3955, -0.1169 0.4451, 0.1729 0.3955, +-0.2005 0.4428, 0.7239 0.5686, 0.3955 0.3026, 0.7971 0.5686, +0.5966 0.3026, 0.581 0.4428, 0.7976 0.3026, 0.9125 0.3491, +0.9136 0.3026, 0.7247 0.4418, 0.9447 0.3026, 1.121 0.4428, +0.9447 0.3026, 0.9447 0.3491, 0.9136 0.3026, 1.154 0.4428, +0.7976 0.3026, 0.09989 0.5673, 0.5966 0.3026, 0.06466 0.5686, +0.3955 0.3026, -0.007378 0.5686, 0.1945 0.3026, 0.02193 0.567, +0.07846 0.3026, 0.2832 0.5686, 0.04736 0.3026, 0.01515 0.3491, +0.04736 0.3026, 0.3565 0.5686, 0.07846 0.3026, -0.1758 0.4428, +0.1945 0.3026, 0.6899 0.2561, 0.4961 0.2561, 0.5893 0.2097, +0.3022 0.2561, 0.4028 0.2097, 0.9136 0.2561, 0.8837 0.2561, +0.8837 0.2097, 0.7759 0.2097, 0.9136 0.2561, 0.9436 0.2561, +0.9125 0.2097, 0.9125 0.2097, 0.6899 0.2561, 0.8837 0.2561, +0.7759 0.2097, 0.8837 0.2097, 0.3022 0.2561, 0.4961 0.2561, +0.4028 0.2097, 0.5893 0.2097, 0.07846 0.2561, 0.1084 0.2561, +0.1084 0.2097, 0.2162 0.2097, 0.07846 0.2561, 0.04848 0.2561, +0.07958 0.2097, 0.07958 0.2097, 0.1084 0.2561, 0.2162 0.2097, +0.1084 0.2097, -0.1429 0.4428, 0.1366 0.441, 0.2172 0.4428, +0.8684 0.452, 0.8868 0.452, 0.9609 0.3491, 0.5338 0.452, +0.4605 0.452, 1.223 0.248, 1.205 0.248, 0.5284 0.248, +0.4093 0.248, 0.03125 0.3491, 0.231 0.248, 0.1119 0.248, +0.6804 0.452, 0.593 0.2561, 0.3991 0.2561, 0.8987 0.2561, +0.7868 0.2561, 0.9286 0.2561, 0.9286 0.2561, 0.7868 0.2561, +0.8987 0.2561, 0.3991 0.2561, 0.593 0.2561, 0.09345 0.2561, +0.2053 0.2561, 0.06347 0.2561, 0.06347 0.2561, 0.2053 0.2561, +0.09345 0.2561, 0.7537 0.452, 0.6606 0.248, 0.8084 0.3491, +0.9125 0.3491, 0.7796 0.248, 1.244 0.248, 1.262 0.248, +0.2661 0.4513, 0.2347 0.4529, 0.1386 0.452, 0.1737 0.4506, +0.3266 0.452, 0.03125 0.3491, 0.01515 0.3491, 0.3999 0.452, +-0.2939 0.248, -0.2754 0.248, -0.02365 0.248, 0.0954 0.248, +0.9578 0.2817, 0.9609 0.3491, 0.9447 0.3491, 0.9981 0.2817, +0.5166 0.2817, 0.4756 0.2817, 0.7692 -0.06852, 0.4857 0.01279, +0.2511 -0.06851, 0.5284 -0.06851, 0.9547 -0.01021, +0.1566 0.009839, 0.735 0.2817, 0.776 0.2817, 0.2878 -0.01815, +0.8084 0.3491, 0.9125 0.3491, 0 0, 0 0, 0 0, 0.2181 0.2817, +0.1778 0.2817, 0.0928 0.2817, 0.1331 0.2817, 0.3164 0.2817, +0.03125 0.3491, 0.01515 0.3491, 0.3574 0.2817, 0 0, +0 0, 0 0, 0 0, 0.7694 0.04331, 0.9609 0.3491, 0.9447 0.3491, +0.5014 0.1282, 0 0, 0 0, 0 0, 0.6562 0.05099, 0 0, +0 0, 0.3971 0.07039, 0.2712 0.005092, 0.4495 0.005082, +0 0, 0 0, 0.8084 0.3491, 0.9125 0.3491, 0 0, 0 0, 0 0, +0 0, 0 0, 0 0, 0 0, 0 0, 0.03125 0.3491, 0.01515 0.3491, +0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0.9609 0.3491, 0.9447 0.3491, +0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, +0.4961 0.3491, 0.8084 0.3491, 0.9125 0.3491, 0 0, 0.977 0.3491, +0 0, 0.9125 0.3491, 0 0, 0.4961 0.3491, 0 0, 0.07957 0.3491, +0.03125 0.3491, 0.01515 0.3491, 0 0, 0.07958 0.3491, +0 0, 0.7043 0.3491, 0 0, 0.9447 0.3491, 0.9609 0.3491, +0.9447 0.3491, 0 0, 0.7043 0.3491, 0 0, 0.2878 0.3491, +0 0, 0.04736 0.3491, 0 0, 0.04736 0.3491, 0 0, 0.2878 0.3491] +} +coordIndex [ +16, 0, 17, -1, 1, 17, 0, -1, 2, 17, 1, -1, 4, 17, 3, -1, +4, 18, 17, -1, 18, 4, 19, -1, 5, 19, 4, -1, 6, 19, 5, -1, +0, 19, 7, -1, 0, 16, 19, -1, 0, 8, 21, -1, 0, 9, 1, -1, +0, 21, 9, -1, 1, 10, 2, -1, 1, 9, 10, -1, 2, 11, 3, -1, +2, 10, 11, -1, 3, 12, 4, -1, 3, 11, 12, -1, 4, 13, 5, -1, +4, 12, 13, -1, 5, 14, 6, -1, 5, 13, 14, -1, 6, 15, 7, -1, +6, 14, 15, -1, 7, 8, 0, -1, 7, 15, 8, -1, 17, 2, 3, -1, +19, 6, 7, -1, 20, 16, 17, -1, 20, 17, 18, -1, 20, 18, 19, -1, +20, 19, 16, -1, 22, 21, 8, -1, 24, 25, 11, -1, 14, 28, 15, -1, +9, 23, 10, -1, 23, 24, 10, -1, 24, 11, 10, -1, 11, 25, 12, -1, +13, 27, 14, -1, 27, 28, 14, -1, 22, 8, 15, -1, 28, 22, 15, -1, +29, 30, 25, -1, 25, 24, 29, -1, 31, 32, 26, -1, 26, 25, 31, -1, +33, 34, 27, -1, 27, 26, 33, -1, 35, 36, 23, -1, 23, 22, 35, -1, +37, 38, 24, -1, 24, 23, 37, -1, 39, 40, 28, -1, 28, 27, 39, -1, +41, 42, 22, -1, 22, 28, 41, -1, 44, 45, 30, -1, 30, 29, 44, -1, +46, 47, 32, -1, 32, 31, 46, -1, 48, 49, 34, -1, 34, 33, 48, -1, +50, 51, 36, -1, 36, 35, 50, -1, 52, 53, 38, -1, 38, 37, 52, -1, +54, 55, 40, -1, 40, 39, 54, -1, 56, 57, 42, -1, 42, 41, 56, -1, +58, 59, 45, -1, 45, 44, 58, -1, 60, 61, 47, -1, 47, 46, 60, -1, +62, 63, 49, -1, 49, 48, 62, -1, 64, 65, 51, -1, 51, 50, 64, -1, +66, 67, 53, -1, 53, 52, 66, -1, 68, 69, 55, -1, 55, 54, 68, -1, +70, 71, 57, -1, 57, 56, 70, -1, 59, 58, 72, -1, 61, 60, 73, -1, +63, 62, 74, -1, 65, 64, 76, -1, 67, 66, 77, -1, 69, 68, 78, -1, +71, 70, 79, -1, 9, 21, 22, -1, 9, 22, 23, -1, 12, 26, 27, -1, +12, 27, 13, -1, 12, 25, 26, -1] +texCoordIndex [ +24, 0, 25, -1, 1, 25, 0, -1, 2, 25, 1, -1, 4, 25, 3, -1, +4, 26, 25, -1, 26, 4, 27, -1, 5, 27, 4, -1, 6, 27, 5, -1, +0, 27, 7, -1, 0, 24, 27, -1, 0, 8, 29, -1, 0, 9, 1, -1, +0, 29, 9, -1, 1, 10, 2, -1, 1, 9, 10, -1, 2, 11, 3, -1, +2, 10, 11, -1, 3, 12, 4, -1, 3, 11, 12, -1, 4, 13, 5, -1, +4, 12, 13, -1, 5, 14, 6, -1, 5, 13, 14, -1, 6, 15, 7, -1, +6, 14, 15, -1, 7, 8, 0, -1, 7, 15, 8, -1, 25, 2, 3, -1, +27, 6, 7, -1, 28, 24, 25, -1, 28, 25, 26, -1, 28, 26, 27, -1, +28, 27, 24, -1, 30, 29, 8, -1, 36, 37, 11, -1, 14, 42, 15, -1, +9, 31, 10, -1, 31, 36, 10, -1, 36, 11, 10, -1, 11, 37, 12, -1, +13, 41, 14, -1, 41, 42, 14, -1, 30, 8, 15, -1, 42, 30, 15, -1, +43, 44, 37, -1, 37, 36, 43, -1, 45, 46, 40, -1, 40, 37, 45, -1, +47, 48, 41, -1, 41, 40, 47, -1, 49, 50, 31, -1, 31, 30, 49, -1, +51, 52, 36, -1, 36, 31, 51, -1, 53, 54, 42, -1, 42, 41, 53, -1, +55, 56, 30, -1, 30, 42, 55, -1, 87, 89, 44, -1, 44, 43, 87, -1, +90, 91, 46, -1, 46, 45, 90, -1, 94, 96, 48, -1, 48, 47, 94, -1, +101, 105, 50, -1, 50, 49, 101, -1, 107, 111, 52, -1, +52, 51, 107, -1, 127, 161, 54, -1, 54, 53, 127, -1, +162, 163, 56, -1, 56, 55, 162, -1, 169, 170, 89, -1, +89, 87, 169, -1, 171, 172, 91, -1, 91, 90, 171, -1, +174, 175, 96, -1, 96, 94, 174, -1, 194, 197, 105, -1, +105, 101, 194, -1, 198, 199, 111, -1, 111, 107, 198, -1, +208, 209, 161, -1, 161, 127, 208, -1, 210, 211, 163, -1, +163, 162, 210, -1, 170, 169, 218, -1, 172, 171, 219, -1, +175, 174, 220, -1, 197, 194, 221, -1, 199, 198, 222, -1, +209, 208, 223, -1, 211, 210, 226, -1, 9, 29, 30, -1, +9, 30, 31, -1, 12, 40, 41, -1, 12, 41, 13, -1, 12, 37, 40, -1] +} +} +DEF jelly1-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [0 13.36 -31.67, -27.5 11.51 -15.88, -31.75 12.44 0, +-27.5 12.44 15.88, 0 12.44 31.67, 27.5 12.44 15.88, 31.75 12.44 0, +27.5 13.51 -15.88, 3.969 1.521e-005 -34.1, -28.09 0 -19.44, +-35.29 0 1.719, -28.09 0 19.44, 1.314 0 32.9, 28.09 0 16.61, +34.98 0 -2.865, 25.8 0 -21.71, 0 32.02 -11.27, -11.61 32.27 0, +0 32.02 11.27, 11.61 32.27 0, 0.1209 34.64 0.1311, -11.91 0 -29.6, +2.401 -18.29 -21.64, -17.68 -18.3 -13.85, -23.48 -18.3 -0.1521, +-13.51 -18.3 16.56, 7.639 -18.3 19.56, 22.29 -18.3 5.952, +20.15 -18.3 -6.496, -26.52 -35.51 13.47, -26.1 -35.51 15.04, +-3.372 -35.74 27.94, -0.04711 -35.5 29.86, 22.35 -35.46 17.2, +26.06 -35.5 15.1, -6.549 -35.5 -26.17, -9.551 -35.86 -24.4, +-27.11 -35.51 -11.29, -27.81 -35.51 -8.648, 29.12 -35.51 -3.779, +28.11 -35.51 -7.533, 17.97 -35.62 -19.67, 15.31 -35.33 -21.22, +-18.14 -57.52 -11.03, -18.8 -57.52 9.061, -17.79 -57.52 12.82, +-0.5715 -58.19 23.83, 2.405 -57.98 25.54, 19.01 -57.14 17.29, +21.56 -57.52 15.77, -2.305 -57.52 -14.96, -6.692 -57.69 -12.45, +-18.8 -57.52 -9.061, -19.81 -57.52 -5.307, 20.81 -57.52 -1.553, +19.81 -57.52 -5.307, 11.27 -57.83 -13.56, 8.807 -57.52 -15, +-21.92 -89.66 11.92, -21.36 -89.66 14.02, -0.6973 -89.66 23.33, +2.939 -89.66 25.39, 8.386 -89.66 12.95, 12.02 -89.66 10.88, +-4.734 -89.66 -20.98, -8.37 -89.66 -18.92, -22.55 -89.66 -9.528, +-23.11 -89.66 -7.428, 24.42 -89.66 -2.998, 23.85 -89.66 -5.098, +16.16 -89.66 -14.56, 12.53 -89.66 -16.63, -8.051 -141.9 2.801, +0.6082 -128.5 7.191, 7.773 -141.9 8.954, 15.15 -141.9 -0.2773, +-0.697 -141.9 -4.32, -13.72 -132.3 -5.18, 10.66 -128.9 -0.07603, +6.652 -133.6 -6.085, 0 50.33 -31.67, -27.5 48.49 -15.88, +-31.75 49.41 0, -27.5 49.41 15.88, 0 49.41 31.67, 27.5 49.41 15.88, +31.75 49.41 0, 27.5 50.48 -15.88, 3.969 39.48 -34.1, -28.09 39.48 -19.44, +-35.29 39.48 1.719, -28.09 39.48 19.44, 1.314 39.48 32.9, +28.09 39.48 16.61, 34.98 39.48 -2.865, 25.8 39.48 -21.71, +0 67.13 -11.27, -11.61 67.36 0, 0 67.13 11.27, 11.61 67.36 0, +0.1209 67.34 0.1311, -11.91 39.48 -29.6, 2.401 24.96 -21.64, +-17.68 24.96 -13.85, -23.48 24.96 -0.1521, -13.51 24.96 16.56, +7.639 24.96 19.56, 22.29 24.96 5.952, 20.15 24.96 -6.496, +-26.52 10.84 13.47, -26.1 10.84 15.04, -3.372 10.64 27.94, +-0.04711 10.84 29.86, 22.35 10.87 17.2, 26.06 10.84 15.1, +-6.549 10.84 -26.17, -9.551 10.54 -24.4, -27.11 10.84 -11.29, +-27.81 10.84 -8.648, 29.12 10.84 -3.779, 28.11 10.84 -7.533, +17.97 10.74 -19.67, 15.31 10.98 -21.22, -18.14 -8.847 -11.03, +-18.8 -8.849 9.061, -17.79 -8.849 12.82, -0.5715 -9.483 23.83, +2.405 -9.283 25.54, 19.01 -8.49 17.29, 21.56 -8.847 15.77, +-2.305 -8.847 -14.96, -6.692 -9.013 -12.45, -18.8 -8.849 -9.061, +-19.81 -8.849 -5.307, 20.81 -8.849 -1.553, 19.81 -8.849 -5.307, +11.27 -9.138 -13.56, 8.807 -8.847 -15, -21.92 -40.95 11.92, +-21.36 -40.95 14.02, -0.6973 -40.94 23.33, 2.939 -40.94 25.39, +8.386 -40.94 12.95, 12.02 -40.94 10.88, -4.734 -40.94 -20.98, +-8.37 -40.94 -18.92, -22.55 -40.95 -9.528, -23.11 -40.95 -7.428, +24.42 -40.95 -2.998, 23.85 -40.95 -5.098, 16.16 -40.94 -14.56, +12.53 -40.94 -16.63, -8.051 -93.02 2.801, 0.6082 -80.36 7.191, +7.773 -93.02 8.954, 15.15 -93.02 -0.2773, -0.697 -93.02 -4.32, +-13.72 -84.03 -5.18, 10.66 -80.84 -0.07603, 6.652 -85.28 -6.085, +0 13.36 -31.67, -27.5 11.51 -15.88, -31.75 12.44 0, -27.5 12.44 15.88, +0 12.44 31.67, 27.5 12.44 15.88, 31.75 12.44 0, 27.5 13.51 -15.88, +3.969 1.521e-005 -34.1, -28.09 0 -19.44, -35.29 0 1.719, +-28.09 0 19.44, 1.314 0 32.9, 28.09 0 16.61, 34.98 0 -2.865, +25.8 0 -21.71, 0 32.02 -11.27, -11.61 32.27 0, 0 32.02 11.27, +11.61 32.27 0, 0.1209 34.64 0.1311, -11.91 0 -29.6, 2.401 -18.29 -21.64, +-17.68 -18.3 -13.85, -23.48 -18.3 -0.1521, -13.51 -18.3 16.56, +7.639 -18.3 19.56, 22.29 -18.3 5.952, 20.15 -18.3 -6.496, +-26.52 -35.51 13.47, -26.1 -35.51 15.04, -3.372 -35.74 27.94, +-0.04711 -35.5 29.86, 22.35 -35.46 17.2, 26.06 -35.5 15.1, +-6.549 -35.5 -26.17, -9.551 -35.86 -24.4, -27.11 -35.51 -11.29, +-27.81 -35.51 -8.648, 29.12 -35.51 -3.779, 28.11 -35.51 -7.533, +17.97 -35.62 -19.67, 15.31 -35.33 -21.22, -18.14 -57.52 -11.03, +-18.8 -57.52 9.061, -17.79 -57.52 12.82, -0.5715 -58.19 23.83, +2.405 -57.98 25.54, 19.01 -57.14 17.29, 21.56 -57.52 15.77, +-2.305 -57.52 -14.96, -6.692 -57.69 -12.45, -18.8 -57.52 -9.061, +-19.81 -57.52 -5.307, 20.81 -57.52 -1.553, 19.81 -57.52 -5.307, +11.27 -57.83 -13.56, 8.807 -57.52 -15, -21.92 -89.66 11.92, +-21.36 -89.66 14.02, -0.6973 -89.66 23.33, 2.939 -89.66 25.39, +8.386 -89.66 12.95, 12.02 -89.66 10.88, -4.734 -89.66 -20.98, +-8.37 -89.66 -18.92, -22.55 -89.66 -9.528, -23.11 -89.66 -7.428, +24.42 -89.66 -2.998, 23.85 -89.66 -5.098, 16.16 -89.66 -14.56, +12.53 -89.66 -16.63, -8.051 -141.9 2.801, 0.6082 -128.5 7.191, +7.773 -141.9 8.954, 15.15 -141.9 -0.2773, -0.697 -141.9 -4.32, +-13.72 -132.3 -5.18, 10.66 -128.9 -0.07603, 6.652 -133.6 -6.085, +] +} +] +ROUTE jelly1-TIMER.fraction_changed TO jelly1-COORD-INTERP.set_fraction +ROUTE jelly1-COORD-INTERP.value_changed TO jelly1-COORD.set_point +} +DEF jelly02 Transform { +translation -3.136 -3.48 -92.98 +scale 0.025 0.01284 0.0212 +children [ +DEF jelly02-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +Shape { +appearance USE jellyfish +geometry DEF jelly02-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +coord DEF jelly02-COORD Coordinate { point [ +0 13.36 -31.67, -27.5 11.51 -15.88, -31.75 12.44 0, -27.5 12.44 15.88, +0 12.44 31.67, 27.5 12.44 15.88, 31.75 12.44 0, 27.5 13.51 -15.88, +3.969 1.521e-005 -34.1, -28.09 0 -19.44, -35.29 0 1.719, +-28.09 0 19.44, 1.314 0 32.9, 28.09 0 16.61, 34.98 0 -2.865, +25.8 0 -21.71, 0 32.02 -11.27, -11.61 32.27 0, 0 32.02 11.27, +11.61 32.27 0, 0.1209 34.64 0.1311, -11.91 0 -29.6, +2.401 -18.29 -21.64, -17.68 -18.3 -13.85, -23.48 -18.3 -0.1521, +-13.51 -18.3 16.56, 7.639 -18.3 19.56, 22.29 -18.3 5.952, +20.15 -18.3 -6.496, -26.52 -35.51 13.47, -26.1 -35.51 15.04, +-3.372 -35.74 27.94, -0.04711 -35.5 29.86, 22.35 -35.46 17.2, +26.06 -35.5 15.1, -6.549 -35.5 -26.17, -9.551 -35.86 -24.4, +-27.11 -35.51 -11.29, -27.81 -35.51 -8.648, 29.12 -35.51 -3.779, +28.11 -35.51 -7.533, 17.97 -35.62 -19.67, 15.31 -35.33 -21.22, +-18.14 -57.52 -11.03, -18.8 -57.52 9.061, -17.79 -57.52 12.82, +-0.5715 -58.19 23.83, 2.405 -57.98 25.54, 19.01 -57.14 17.29, +21.56 -57.52 15.77, -2.305 -57.52 -14.96, -6.692 -57.69 -12.45, +-18.8 -57.52 -9.061, -19.81 -57.52 -5.307, 20.81 -57.52 -1.553, +19.81 -57.52 -5.307, 11.27 -57.83 -13.56, 8.807 -57.52 -15, +-21.92 -89.66 11.92, -21.36 -89.66 14.02, -0.6973 -89.66 23.33, +2.939 -89.66 25.39, 8.386 -89.66 12.95, 12.02 -89.66 10.88, +-4.734 -89.66 -20.98, -8.37 -89.66 -18.92, -22.55 -89.66 -9.528, +-23.11 -89.66 -7.428, 24.42 -89.66 -2.998, 23.85 -89.66 -5.098, +16.16 -89.66 -14.56, 12.53 -89.66 -16.63, -8.051 -141.9 2.801, +0.6082 -128.5 7.191, 7.773 -141.9 8.954, 15.15 -141.9 -0.2773, +-0.697 -141.9 -4.32, -13.72 -132.3 -5.18, 10.66 -128.9 -0.07603, +6.652 -133.6 -6.085] +} +texCoord DEF jelly02-TEXCOORD TextureCoordinate { point [ +0.5056 0.8725, 1.406 0.8613, 1.545 0.8669, 1.406 0.8669, +0.5056 0.8669, -0.3948 0.8669, -0.5341 0.8669, -0.3948 0.8734, +0.3756 0.7915, 1.425 0.7915, 1.661 0.7915, 1.425 0.7915, +0.4625 0.7915, -0.4142 0.7915, -0.6397 0.7915, -0.3392 0.7915, +0.4961 0.2097, 0.8692 0.2097, 0.927 0.2097, 0.8692 0.2097, +0.4961 0.2097, 0.1229 0.2097, 0.06514 0.2097, 0.1229 0.2097, +0.5056 0.9856, 0.8855 0.9871, 0.5056 0.9856, 0.1256 0.9871, +0.5016 1.001, 0.8954 0.7915, 0.427 0.6806, 1.084 0.6806, +0.4961 1.003, 0.5035 0.9751, 0.6076 0.9683, 0.6248 0.9683, +1.274 0.6806, 0.9478 0.6806, 0.3845 0.9683, 0.3673 0.9683, +0.2554 0.6806, -0.2241 0.6806, -0.1541 0.6806, 1.374 0.5763, +1.36 0.5763, 0.616 0.5748, 0.5071 0.5763, -0.2262 0.5765, +-0.3475 0.5763, 0.72 0.5763, 0.8183 0.5741, 1.393 0.5763, +1.416 0.5763, -0.4478 0.5763, -0.4149 0.5763, -0.08269 0.5755, +0.004179 0.5773, 0.4961 0.3026, 0.6826 0.2097, 0.8981 0.3026, +0.8981 0.2097, 0.9603 0.3026, 0.8981 0.2097, 0.8981 0.3026, +0.6826 0.2097, 0.4961 0.3026, 0.3095 0.2097, 0.09401 0.3026, +0.09401 0.2097, 0.03181 0.3026, 0.09401 0.2097, 0.09401 0.3026, +0.3095 0.2097, 0.6971 0.3026, 0.9292 0.3026, 0.9292 0.3026, +0.6971 0.3026, 0.295 0.3026, 0.06291 0.3026, 0.06291 0.3026, +0.295 0.3026, 1.028 0.5681, 1.06 0.5696, 0.5773 0.5686, +0.977 0.3955, 0.977 0.3955, 0.504 0.5686, 1.121 0.4428, +0.6038 0.3955, 1.088 0.4428, 0.5243 0.4388, 0.4268 0.44, +0.01515 0.3955, 0.01515 0.3955, -0.1169 0.4451, 0.1729 0.3955, +-0.2005 0.4428, 0.7239 0.5686, 0.3955 0.3026, 0.7971 0.5686, +0.5966 0.3026, 0.581 0.4428, 0.7976 0.3026, 0.9125 0.3491, +0.9136 0.3026, 0.7247 0.4418, 0.9447 0.3026, 1.121 0.4428, +0.9447 0.3026, 0.9447 0.3491, 0.9136 0.3026, 1.154 0.4428, +0.7976 0.3026, 0.09989 0.5673, 0.5966 0.3026, 0.06466 0.5686, +0.3955 0.3026, -0.007378 0.5686, 0.1945 0.3026, 0.02193 0.567, +0.07846 0.3026, 0.2832 0.5686, 0.04736 0.3026, 0.01515 0.3491, +0.04736 0.3026, 0.3565 0.5686, 0.07846 0.3026, -0.1758 0.4428, +0.1945 0.3026, 0.6899 0.2561, 0.4961 0.2561, 0.5893 0.2097, +0.3022 0.2561, 0.4028 0.2097, 0.9136 0.2561, 0.8837 0.2561, +0.8837 0.2097, 0.7759 0.2097, 0.9136 0.2561, 0.9436 0.2561, +0.9125 0.2097, 0.9125 0.2097, 0.6899 0.2561, 0.8837 0.2561, +0.7759 0.2097, 0.8837 0.2097, 0.3022 0.2561, 0.4961 0.2561, +0.4028 0.2097, 0.5893 0.2097, 0.07846 0.2561, 0.1084 0.2561, +0.1084 0.2097, 0.2162 0.2097, 0.07846 0.2561, 0.04848 0.2561, +0.07958 0.2097, 0.07958 0.2097, 0.1084 0.2561, 0.2162 0.2097, +0.1084 0.2097, -0.1429 0.4428, 0.1366 0.441, 0.2172 0.4428, +0.8684 0.452, 0.8868 0.452, 0.9609 0.3491, 0.5338 0.452, +0.4605 0.452, 1.223 0.248, 1.205 0.248, 0.5284 0.248, +0.4093 0.248, 0.03125 0.3491, 0.231 0.248, 0.1119 0.248, +0.6804 0.452, 0.593 0.2561, 0.3991 0.2561, 0.8987 0.2561, +0.7868 0.2561, 0.9286 0.2561, 0.9286 0.2561, 0.7868 0.2561, +0.8987 0.2561, 0.3991 0.2561, 0.593 0.2561, 0.09345 0.2561, +0.2053 0.2561, 0.06347 0.2561, 0.06347 0.2561, 0.2053 0.2561, +0.09345 0.2561, 0.7537 0.452, 0.6606 0.248, 0.8084 0.3491, +0.9125 0.3491, 0.7796 0.248, 1.244 0.248, 1.262 0.248, +0.2661 0.4513, 0.2347 0.4529, 0.1386 0.452, 0.1737 0.4506, +0.3266 0.452, 0.03125 0.3491, 0.01515 0.3491, 0.3999 0.452, +-0.2939 0.248, -0.2754 0.248, -0.02365 0.248, 0.0954 0.248, +0.9578 0.2817, 0.9609 0.3491, 0.9447 0.3491, 0.9981 0.2817, +0.5166 0.2817, 0.4756 0.2817, 0.7692 -0.06852, 0.4857 0.01279, +0.2511 -0.06851, 0.5284 -0.06851, 0.9547 -0.01021, +0.1566 0.009839, 0.735 0.2817, 0.776 0.2817, 0.2878 -0.01815, +0.8084 0.3491, 0.9125 0.3491, 0 0, 0 0, 0 0, 0.2181 0.2817, +0.1778 0.2817, 0.0928 0.2817, 0.1331 0.2817, 0.3164 0.2817, +0.03125 0.3491, 0.01515 0.3491, 0.3574 0.2817, 0 0, +0 0, 0 0, 0 0, 0.7694 0.04331, 0.9609 0.3491, 0.9447 0.3491, +0.5014 0.1282, 0 0, 0 0, 0 0, 0.6562 0.05099, 0 0, +0 0, 0.3971 0.07039, 0.2712 0.005092, 0.4495 0.005082, +0 0, 0 0, 0.8084 0.3491, 0.9125 0.3491, 0 0, 0 0, 0 0, +0 0, 0 0, 0 0, 0 0, 0 0, 0.03125 0.3491, 0.01515 0.3491, +0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0.9609 0.3491, 0.9447 0.3491, +0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, +0.4961 0.3491, 0.8084 0.3491, 0.9125 0.3491, 0 0, 0.977 0.3491, +0 0, 0.9125 0.3491, 0 0, 0.4961 0.3491, 0 0, 0.07957 0.3491, +0.03125 0.3491, 0.01515 0.3491, 0 0, 0.07958 0.3491, +0 0, 0.7043 0.3491, 0 0, 0.9447 0.3491, 0.9609 0.3491, +0.9447 0.3491, 0 0, 0.7043 0.3491, 0 0, 0.2878 0.3491, +0 0, 0.04736 0.3491, 0 0, 0.04736 0.3491, 0 0, 0.2878 0.3491] +} +coordIndex [ +16, 0, 17, -1, 1, 17, 0, -1, 2, 17, 1, -1, 4, 17, 3, -1, +4, 18, 17, -1, 18, 4, 19, -1, 5, 19, 4, -1, 6, 19, 5, -1, +0, 19, 7, -1, 0, 16, 19, -1, 0, 8, 21, -1, 0, 9, 1, -1, +0, 21, 9, -1, 1, 10, 2, -1, 1, 9, 10, -1, 2, 11, 3, -1, +2, 10, 11, -1, 3, 12, 4, -1, 3, 11, 12, -1, 4, 13, 5, -1, +4, 12, 13, -1, 5, 14, 6, -1, 5, 13, 14, -1, 6, 15, 7, -1, +6, 14, 15, -1, 7, 8, 0, -1, 7, 15, 8, -1, 17, 2, 3, -1, +19, 6, 7, -1, 20, 16, 17, -1, 20, 17, 18, -1, 20, 18, 19, -1, +20, 19, 16, -1, 22, 21, 8, -1, 24, 25, 11, -1, 14, 28, 15, -1, +9, 23, 10, -1, 23, 24, 10, -1, 24, 11, 10, -1, 11, 25, 12, -1, +13, 27, 14, -1, 27, 28, 14, -1, 22, 8, 15, -1, 28, 22, 15, -1, +29, 30, 25, -1, 25, 24, 29, -1, 31, 32, 26, -1, 26, 25, 31, -1, +33, 34, 27, -1, 27, 26, 33, -1, 35, 36, 23, -1, 23, 22, 35, -1, +37, 38, 24, -1, 24, 23, 37, -1, 39, 40, 28, -1, 28, 27, 39, -1, +41, 42, 22, -1, 22, 28, 41, -1, 44, 45, 30, -1, 30, 29, 44, -1, +46, 47, 32, -1, 32, 31, 46, -1, 48, 49, 34, -1, 34, 33, 48, -1, +50, 51, 36, -1, 36, 35, 50, -1, 52, 53, 38, -1, 38, 37, 52, -1, +54, 55, 40, -1, 40, 39, 54, -1, 56, 57, 42, -1, 42, 41, 56, -1, +58, 59, 45, -1, 45, 44, 58, -1, 60, 61, 47, -1, 47, 46, 60, -1, +62, 63, 49, -1, 49, 48, 62, -1, 64, 65, 51, -1, 51, 50, 64, -1, +66, 67, 53, -1, 53, 52, 66, -1, 68, 69, 55, -1, 55, 54, 68, -1, +70, 71, 57, -1, 57, 56, 70, -1, 59, 58, 72, -1, 61, 60, 73, -1, +63, 62, 74, -1, 65, 64, 76, -1, 67, 66, 77, -1, 69, 68, 78, -1, +71, 70, 79, -1, 9, 21, 22, -1, 9, 22, 23, -1, 12, 26, 27, -1, +12, 27, 13, -1, 12, 25, 26, -1] +texCoordIndex [ +24, 0, 25, -1, 1, 25, 0, -1, 2, 25, 1, -1, 4, 25, 3, -1, +4, 26, 25, -1, 26, 4, 27, -1, 5, 27, 4, -1, 6, 27, 5, -1, +0, 27, 7, -1, 0, 24, 27, -1, 0, 8, 29, -1, 0, 9, 1, -1, +0, 29, 9, -1, 1, 10, 2, -1, 1, 9, 10, -1, 2, 11, 3, -1, +2, 10, 11, -1, 3, 12, 4, -1, 3, 11, 12, -1, 4, 13, 5, -1, +4, 12, 13, -1, 5, 14, 6, -1, 5, 13, 14, -1, 6, 15, 7, -1, +6, 14, 15, -1, 7, 8, 0, -1, 7, 15, 8, -1, 25, 2, 3, -1, +27, 6, 7, -1, 28, 24, 25, -1, 28, 25, 26, -1, 28, 26, 27, -1, +28, 27, 24, -1, 30, 29, 8, -1, 36, 37, 11, -1, 14, 42, 15, -1, +9, 31, 10, -1, 31, 36, 10, -1, 36, 11, 10, -1, 11, 37, 12, -1, +13, 41, 14, -1, 41, 42, 14, -1, 30, 8, 15, -1, 42, 30, 15, -1, +43, 44, 37, -1, 37, 36, 43, -1, 45, 46, 40, -1, 40, 37, 45, -1, +47, 48, 41, -1, 41, 40, 47, -1, 49, 50, 31, -1, 31, 30, 49, -1, +51, 52, 36, -1, 36, 31, 51, -1, 53, 54, 42, -1, 42, 41, 53, -1, +55, 56, 30, -1, 30, 42, 55, -1, 87, 89, 44, -1, 44, 43, 87, -1, +90, 91, 46, -1, 46, 45, 90, -1, 94, 96, 48, -1, 48, 47, 94, -1, +101, 105, 50, -1, 50, 49, 101, -1, 107, 111, 52, -1, +52, 51, 107, -1, 127, 161, 54, -1, 54, 53, 127, -1, +162, 163, 56, -1, 56, 55, 162, -1, 169, 170, 89, -1, +89, 87, 169, -1, 171, 172, 91, -1, 91, 90, 171, -1, +174, 175, 96, -1, 96, 94, 174, -1, 194, 197, 105, -1, +105, 101, 194, -1, 198, 199, 111, -1, 111, 107, 198, -1, +208, 209, 161, -1, 161, 127, 208, -1, 210, 211, 163, -1, +163, 162, 210, -1, 170, 169, 218, -1, 172, 171, 219, -1, +175, 174, 220, -1, 197, 194, 221, -1, 199, 198, 222, -1, +209, 208, 223, -1, 211, 210, 226, -1, 9, 29, 30, -1, +9, 30, 31, -1, 12, 40, 41, -1, 12, 41, 13, -1, 12, 37, 40, -1] +} +} +DEF jelly02-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [0 13.36 -31.67, -27.5 11.51 -15.88, -31.75 12.44 0, +-27.5 12.44 15.88, 0 12.44 31.67, 27.5 12.44 15.88, 31.75 12.44 0, +27.5 13.51 -15.88, 3.969 1.521e-005 -34.1, -28.09 0 -19.44, +-35.29 0 1.719, -28.09 0 19.44, 1.314 0 32.9, 28.09 0 16.61, +34.98 0 -2.865, 25.8 0 -21.71, 0 32.02 -11.27, -11.61 32.27 0, +0 32.02 11.27, 11.61 32.27 0, 0.1209 34.64 0.1311, -11.91 0 -29.6, +2.401 -18.29 -21.64, -17.68 -18.3 -13.85, -23.48 -18.3 -0.1521, +-13.51 -18.3 16.56, 7.639 -18.3 19.56, 22.29 -18.3 5.952, +20.15 -18.3 -6.496, -26.52 -35.51 13.47, -26.1 -35.51 15.04, +-3.372 -35.74 27.94, -0.04711 -35.5 29.86, 22.35 -35.46 17.2, +26.06 -35.5 15.1, -6.549 -35.5 -26.17, -9.551 -35.86 -24.4, +-27.11 -35.51 -11.29, -27.81 -35.51 -8.648, 29.12 -35.51 -3.779, +28.11 -35.51 -7.533, 17.97 -35.62 -19.67, 15.31 -35.33 -21.22, +-18.14 -57.52 -11.03, -18.8 -57.52 9.061, -17.79 -57.52 12.82, +-0.5715 -58.19 23.83, 2.405 -57.98 25.54, 19.01 -57.14 17.29, +21.56 -57.52 15.77, -2.305 -57.52 -14.96, -6.692 -57.69 -12.45, +-18.8 -57.52 -9.061, -19.81 -57.52 -5.307, 20.81 -57.52 -1.553, +19.81 -57.52 -5.307, 11.27 -57.83 -13.56, 8.807 -57.52 -15, +-21.92 -89.66 11.92, -21.36 -89.66 14.02, -0.6973 -89.66 23.33, +2.939 -89.66 25.39, 8.386 -89.66 12.95, 12.02 -89.66 10.88, +-4.734 -89.66 -20.98, -8.37 -89.66 -18.92, -22.55 -89.66 -9.528, +-23.11 -89.66 -7.428, 24.42 -89.66 -2.998, 23.85 -89.66 -5.098, +16.16 -89.66 -14.56, 12.53 -89.66 -16.63, -8.051 -141.9 2.801, +0.6082 -128.5 7.191, 7.773 -141.9 8.954, 15.15 -141.9 -0.2773, +-0.697 -141.9 -4.32, -13.72 -132.3 -5.18, 10.66 -128.9 -0.07603, +6.652 -133.6 -6.085, 0 50.33 -31.67, -27.5 48.49 -15.88, +-31.75 49.41 0, -27.5 49.41 15.88, 0 49.41 31.67, 27.5 49.41 15.88, +31.75 49.41 0, 27.5 50.48 -15.88, 3.969 39.48 -34.1, -28.09 39.48 -19.44, +-35.29 39.48 1.719, -28.09 39.48 19.44, 1.314 39.48 32.9, +28.09 39.48 16.61, 34.98 39.48 -2.865, 25.8 39.48 -21.71, +0 67.13 -11.27, -11.61 67.36 0, 0 67.13 11.27, 11.61 67.36 0, +0.1209 67.34 0.1311, -11.91 39.48 -29.6, 2.401 24.96 -21.64, +-17.68 24.96 -13.85, -23.48 24.96 -0.1521, -13.51 24.96 16.56, +7.639 24.96 19.56, 22.29 24.96 5.952, 20.15 24.96 -6.496, +-26.52 10.84 13.47, -26.1 10.84 15.04, -3.372 10.64 27.94, +-0.04711 10.84 29.86, 22.35 10.87 17.2, 26.06 10.84 15.1, +-6.549 10.84 -26.17, -9.551 10.54 -24.4, -27.11 10.84 -11.29, +-27.81 10.84 -8.648, 29.12 10.84 -3.779, 28.11 10.84 -7.533, +17.97 10.74 -19.67, 15.31 10.98 -21.22, -18.14 -8.847 -11.03, +-18.8 -8.849 9.061, -17.79 -8.849 12.82, -0.5715 -9.483 23.83, +2.405 -9.283 25.54, 19.01 -8.49 17.29, 21.56 -8.847 15.77, +-2.305 -8.847 -14.96, -6.692 -9.013 -12.45, -18.8 -8.849 -9.061, +-19.81 -8.849 -5.307, 20.81 -8.849 -1.553, 19.81 -8.849 -5.307, +11.27 -9.138 -13.56, 8.807 -8.847 -15, -21.92 -40.95 11.92, +-21.36 -40.95 14.02, -0.6973 -40.94 23.33, 2.939 -40.94 25.39, +8.386 -40.94 12.95, 12.02 -40.94 10.88, -4.734 -40.94 -20.98, +-8.37 -40.94 -18.92, -22.55 -40.95 -9.528, -23.11 -40.95 -7.428, +24.42 -40.95 -2.998, 23.85 -40.95 -5.098, 16.16 -40.94 -14.56, +12.53 -40.94 -16.63, -8.051 -93.02 2.801, 0.6082 -80.36 7.191, +7.773 -93.02 8.954, 15.15 -93.02 -0.2773, -0.697 -93.02 -4.32, +-13.72 -84.03 -5.18, 10.66 -80.84 -0.07603, 6.652 -85.28 -6.085, +0 13.36 -31.67, -27.5 11.51 -15.88, -31.75 12.44 0, -27.5 12.44 15.88, +0 12.44 31.67, 27.5 12.44 15.88, 31.75 12.44 0, 27.5 13.51 -15.88, +3.969 1.521e-005 -34.1, -28.09 0 -19.44, -35.29 0 1.719, +-28.09 0 19.44, 1.314 0 32.9, 28.09 0 16.61, 34.98 0 -2.865, +25.8 0 -21.71, 0 32.02 -11.27, -11.61 32.27 0, 0 32.02 11.27, +11.61 32.27 0, 0.1209 34.64 0.1311, -11.91 0 -29.6, 2.401 -18.29 -21.64, +-17.68 -18.3 -13.85, -23.48 -18.3 -0.1521, -13.51 -18.3 16.56, +7.639 -18.3 19.56, 22.29 -18.3 5.952, 20.15 -18.3 -6.496, +-26.52 -35.51 13.47, -26.1 -35.51 15.04, -3.372 -35.74 27.94, +-0.04711 -35.5 29.86, 22.35 -35.46 17.2, 26.06 -35.5 15.1, +-6.549 -35.5 -26.17, -9.551 -35.86 -24.4, -27.11 -35.51 -11.29, +-27.81 -35.51 -8.648, 29.12 -35.51 -3.779, 28.11 -35.51 -7.533, +17.97 -35.62 -19.67, 15.31 -35.33 -21.22, -18.14 -57.52 -11.03, +-18.8 -57.52 9.061, -17.79 -57.52 12.82, -0.5715 -58.19 23.83, +2.405 -57.98 25.54, 19.01 -57.14 17.29, 21.56 -57.52 15.77, +-2.305 -57.52 -14.96, -6.692 -57.69 -12.45, -18.8 -57.52 -9.061, +-19.81 -57.52 -5.307, 20.81 -57.52 -1.553, 19.81 -57.52 -5.307, +11.27 -57.83 -13.56, 8.807 -57.52 -15, -21.92 -89.66 11.92, +-21.36 -89.66 14.02, -0.6973 -89.66 23.33, 2.939 -89.66 25.39, +8.386 -89.66 12.95, 12.02 -89.66 10.88, -4.734 -89.66 -20.98, +-8.37 -89.66 -18.92, -22.55 -89.66 -9.528, -23.11 -89.66 -7.428, +24.42 -89.66 -2.998, 23.85 -89.66 -5.098, 16.16 -89.66 -14.56, +12.53 -89.66 -16.63, -8.051 -141.9 2.801, 0.6082 -128.5 7.191, +7.773 -141.9 8.954, 15.15 -141.9 -0.2773, -0.697 -141.9 -4.32, +-13.72 -132.3 -5.18, 10.66 -128.9 -0.07603, 6.652 -133.6 -6.085, +] +} +] +ROUTE jelly02-TIMER.fraction_changed TO jelly02-COORD-INTERP.set_fraction +ROUTE jelly02-COORD-INTERP.value_changed TO jelly02-COORD.set_point +} +DEF jelly03 Transform { +translation 22.17 -3.48 -67.78 +scale 0.025 0.01284 0.0212 +children [ +DEF jelly03-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +Shape { +appearance USE jellyfish +geometry DEF jelly03-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +coord DEF jelly03-COORD Coordinate { point [ +0 13.36 -31.67, -27.5 11.51 -15.88, -31.75 12.44 0, -27.5 12.44 15.88, +0 12.44 31.67, 27.5 12.44 15.88, 31.75 12.44 0, 27.5 13.51 -15.88, +3.969 1.521e-005 -34.1, -28.09 0 -19.44, -35.29 0 1.719, +-28.09 0 19.44, 1.314 0 32.9, 28.09 0 16.61, 34.98 0 -2.865, +25.8 0 -21.71, 0 32.02 -11.27, -11.61 32.27 0, 0 32.02 11.27, +11.61 32.27 0, 0.1209 34.64 0.1311, -11.91 0 -29.6, +2.401 -18.29 -21.64, -17.68 -18.3 -13.85, -23.48 -18.3 -0.1521, +-13.51 -18.3 16.56, 7.639 -18.3 19.56, 22.29 -18.3 5.952, +20.15 -18.3 -6.496, -26.52 -35.51 13.47, -26.1 -35.51 15.04, +-3.372 -35.74 27.94, -0.04711 -35.5 29.86, 22.35 -35.46 17.2, +26.06 -35.5 15.1, -6.549 -35.5 -26.17, -9.551 -35.86 -24.4, +-27.11 -35.51 -11.29, -27.81 -35.51 -8.648, 29.12 -35.51 -3.779, +28.11 -35.51 -7.533, 17.97 -35.62 -19.67, 15.31 -35.33 -21.22, +-18.14 -57.52 -11.03, -18.8 -57.52 9.061, -17.79 -57.52 12.82, +-0.5715 -58.19 23.83, 2.405 -57.98 25.54, 19.01 -57.14 17.29, +21.56 -57.52 15.77, -2.305 -57.52 -14.96, -6.692 -57.69 -12.45, +-18.8 -57.52 -9.061, -19.81 -57.52 -5.307, 20.81 -57.52 -1.553, +19.81 -57.52 -5.307, 11.27 -57.83 -13.56, 8.807 -57.52 -15, +-21.92 -89.66 11.92, -21.36 -89.66 14.02, -0.6973 -89.66 23.33, +2.939 -89.66 25.39, 8.386 -89.66 12.95, 12.02 -89.66 10.88, +-4.734 -89.66 -20.98, -8.37 -89.66 -18.92, -22.55 -89.66 -9.528, +-23.11 -89.66 -7.428, 24.42 -89.66 -2.998, 23.85 -89.66 -5.098, +16.16 -89.66 -14.56, 12.53 -89.66 -16.63, -8.051 -141.9 2.801, +0.6082 -128.5 7.191, 7.773 -141.9 8.954, 15.15 -141.9 -0.2773, +-0.697 -141.9 -4.32, -13.72 -132.3 -5.18, 10.66 -128.9 -0.07603, +6.652 -133.6 -6.085] +} +texCoord DEF jelly03-TEXCOORD TextureCoordinate { point [ +0.5056 0.8725, 1.406 0.8613, 1.545 0.8669, 1.406 0.8669, +0.5056 0.8669, -0.3948 0.8669, -0.5341 0.8669, -0.3948 0.8734, +0.3756 0.7915, 1.425 0.7915, 1.661 0.7915, 1.425 0.7915, +0.4625 0.7915, -0.4142 0.7915, -0.6397 0.7915, -0.3392 0.7915, +0.4961 0.2097, 0.8692 0.2097, 0.927 0.2097, 0.8692 0.2097, +0.4961 0.2097, 0.1229 0.2097, 0.06514 0.2097, 0.1229 0.2097, +0.5056 0.9856, 0.8855 0.9871, 0.5056 0.9856, 0.1256 0.9871, +0.5016 1.001, 0.8954 0.7915, 0.427 0.6806, 1.084 0.6806, +0.4961 1.003, 0.5035 0.9751, 0.6076 0.9683, 0.6248 0.9683, +1.274 0.6806, 0.9478 0.6806, 0.3845 0.9683, 0.3673 0.9683, +0.2554 0.6806, -0.2241 0.6806, -0.1541 0.6806, 1.374 0.5763, +1.36 0.5763, 0.616 0.5748, 0.5071 0.5763, -0.2262 0.5765, +-0.3475 0.5763, 0.72 0.5763, 0.8183 0.5741, 1.393 0.5763, +1.416 0.5763, -0.4478 0.5763, -0.4149 0.5763, -0.08269 0.5755, +0.004179 0.5773, 0.4961 0.3026, 0.6826 0.2097, 0.8981 0.3026, +0.8981 0.2097, 0.9603 0.3026, 0.8981 0.2097, 0.8981 0.3026, +0.6826 0.2097, 0.4961 0.3026, 0.3095 0.2097, 0.09401 0.3026, +0.09401 0.2097, 0.03181 0.3026, 0.09401 0.2097, 0.09401 0.3026, +0.3095 0.2097, 0.6971 0.3026, 0.9292 0.3026, 0.9292 0.3026, +0.6971 0.3026, 0.295 0.3026, 0.06291 0.3026, 0.06291 0.3026, +0.295 0.3026, 1.028 0.5681, 1.06 0.5696, 0.5773 0.5686, +0.977 0.3955, 0.977 0.3955, 0.504 0.5686, 1.121 0.4428, +0.6038 0.3955, 1.088 0.4428, 0.5243 0.4388, 0.4268 0.44, +0.01515 0.3955, 0.01515 0.3955, -0.1169 0.4451, 0.1729 0.3955, +-0.2005 0.4428, 0.7239 0.5686, 0.3955 0.3026, 0.7971 0.5686, +0.5966 0.3026, 0.581 0.4428, 0.7976 0.3026, 0.9125 0.3491, +0.9136 0.3026, 0.7247 0.4418, 0.9447 0.3026, 1.121 0.4428, +0.9447 0.3026, 0.9447 0.3491, 0.9136 0.3026, 1.154 0.4428, +0.7976 0.3026, 0.09989 0.5673, 0.5966 0.3026, 0.06466 0.5686, +0.3955 0.3026, -0.007378 0.5686, 0.1945 0.3026, 0.02193 0.567, +0.07846 0.3026, 0.2832 0.5686, 0.04736 0.3026, 0.01515 0.3491, +0.04736 0.3026, 0.3565 0.5686, 0.07846 0.3026, -0.1758 0.4428, +0.1945 0.3026, 0.6899 0.2561, 0.4961 0.2561, 0.5893 0.2097, +0.3022 0.2561, 0.4028 0.2097, 0.9136 0.2561, 0.8837 0.2561, +0.8837 0.2097, 0.7759 0.2097, 0.9136 0.2561, 0.9436 0.2561, +0.9125 0.2097, 0.9125 0.2097, 0.6899 0.2561, 0.8837 0.2561, +0.7759 0.2097, 0.8837 0.2097, 0.3022 0.2561, 0.4961 0.2561, +0.4028 0.2097, 0.5893 0.2097, 0.07846 0.2561, 0.1084 0.2561, +0.1084 0.2097, 0.2162 0.2097, 0.07846 0.2561, 0.04848 0.2561, +0.07958 0.2097, 0.07958 0.2097, 0.1084 0.2561, 0.2162 0.2097, +0.1084 0.2097, -0.1429 0.4428, 0.1366 0.441, 0.2172 0.4428, +0.8684 0.452, 0.8868 0.452, 0.9609 0.3491, 0.5338 0.452, +0.4605 0.452, 1.223 0.248, 1.205 0.248, 0.5284 0.248, +0.4093 0.248, 0.03125 0.3491, 0.231 0.248, 0.1119 0.248, +0.6804 0.452, 0.593 0.2561, 0.3991 0.2561, 0.8987 0.2561, +0.7868 0.2561, 0.9286 0.2561, 0.9286 0.2561, 0.7868 0.2561, +0.8987 0.2561, 0.3991 0.2561, 0.593 0.2561, 0.09345 0.2561, +0.2053 0.2561, 0.06347 0.2561, 0.06347 0.2561, 0.2053 0.2561, +0.09345 0.2561, 0.7537 0.452, 0.6606 0.248, 0.8084 0.3491, +0.9125 0.3491, 0.7796 0.248, 1.244 0.248, 1.262 0.248, +0.2661 0.4513, 0.2347 0.4529, 0.1386 0.452, 0.1737 0.4506, +0.3266 0.452, 0.03125 0.3491, 0.01515 0.3491, 0.3999 0.452, +-0.2939 0.248, -0.2754 0.248, -0.02365 0.248, 0.0954 0.248, +0.9578 0.2817, 0.9609 0.3491, 0.9447 0.3491, 0.9981 0.2817, +0.5166 0.2817, 0.4756 0.2817, 0.7692 -0.06852, 0.4857 0.01279, +0.2511 -0.06851, 0.5284 -0.06851, 0.9547 -0.01021, +0.1566 0.009839, 0.735 0.2817, 0.776 0.2817, 0.2878 -0.01815, +0.8084 0.3491, 0.9125 0.3491, 0 0, 0 0, 0 0, 0.2181 0.2817, +0.1778 0.2817, 0.0928 0.2817, 0.1331 0.2817, 0.3164 0.2817, +0.03125 0.3491, 0.01515 0.3491, 0.3574 0.2817, 0 0, +0 0, 0 0, 0 0, 0.7694 0.04331, 0.9609 0.3491, 0.9447 0.3491, +0.5014 0.1282, 0 0, 0 0, 0 0, 0.6562 0.05099, 0 0, +0 0, 0.3971 0.07039, 0.2712 0.005092, 0.4495 0.005082, +0 0, 0 0, 0.8084 0.3491, 0.9125 0.3491, 0 0, 0 0, 0 0, +0 0, 0 0, 0 0, 0 0, 0 0, 0.03125 0.3491, 0.01515 0.3491, +0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0.9609 0.3491, 0.9447 0.3491, +0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, +0.4961 0.3491, 0.8084 0.3491, 0.9125 0.3491, 0 0, 0.977 0.3491, +0 0, 0.9125 0.3491, 0 0, 0.4961 0.3491, 0 0, 0.07957 0.3491, +0.03125 0.3491, 0.01515 0.3491, 0 0, 0.07958 0.3491, +0 0, 0.7043 0.3491, 0 0, 0.9447 0.3491, 0.9609 0.3491, +0.9447 0.3491, 0 0, 0.7043 0.3491, 0 0, 0.2878 0.3491, +0 0, 0.04736 0.3491, 0 0, 0.04736 0.3491, 0 0, 0.2878 0.3491] +} +coordIndex [ +16, 0, 17, -1, 1, 17, 0, -1, 2, 17, 1, -1, 4, 17, 3, -1, +4, 18, 17, -1, 18, 4, 19, -1, 5, 19, 4, -1, 6, 19, 5, -1, +0, 19, 7, -1, 0, 16, 19, -1, 0, 8, 21, -1, 0, 9, 1, -1, +0, 21, 9, -1, 1, 10, 2, -1, 1, 9, 10, -1, 2, 11, 3, -1, +2, 10, 11, -1, 3, 12, 4, -1, 3, 11, 12, -1, 4, 13, 5, -1, +4, 12, 13, -1, 5, 14, 6, -1, 5, 13, 14, -1, 6, 15, 7, -1, +6, 14, 15, -1, 7, 8, 0, -1, 7, 15, 8, -1, 17, 2, 3, -1, +19, 6, 7, -1, 20, 16, 17, -1, 20, 17, 18, -1, 20, 18, 19, -1, +20, 19, 16, -1, 22, 21, 8, -1, 24, 25, 11, -1, 14, 28, 15, -1, +9, 23, 10, -1, 23, 24, 10, -1, 24, 11, 10, -1, 11, 25, 12, -1, +13, 27, 14, -1, 27, 28, 14, -1, 22, 8, 15, -1, 28, 22, 15, -1, +29, 30, 25, -1, 25, 24, 29, -1, 31, 32, 26, -1, 26, 25, 31, -1, +33, 34, 27, -1, 27, 26, 33, -1, 35, 36, 23, -1, 23, 22, 35, -1, +37, 38, 24, -1, 24, 23, 37, -1, 39, 40, 28, -1, 28, 27, 39, -1, +41, 42, 22, -1, 22, 28, 41, -1, 44, 45, 30, -1, 30, 29, 44, -1, +46, 47, 32, -1, 32, 31, 46, -1, 48, 49, 34, -1, 34, 33, 48, -1, +50, 51, 36, -1, 36, 35, 50, -1, 52, 53, 38, -1, 38, 37, 52, -1, +54, 55, 40, -1, 40, 39, 54, -1, 56, 57, 42, -1, 42, 41, 56, -1, +58, 59, 45, -1, 45, 44, 58, -1, 60, 61, 47, -1, 47, 46, 60, -1, +62, 63, 49, -1, 49, 48, 62, -1, 64, 65, 51, -1, 51, 50, 64, -1, +66, 67, 53, -1, 53, 52, 66, -1, 68, 69, 55, -1, 55, 54, 68, -1, +70, 71, 57, -1, 57, 56, 70, -1, 59, 58, 72, -1, 61, 60, 73, -1, +63, 62, 74, -1, 65, 64, 76, -1, 67, 66, 77, -1, 69, 68, 78, -1, +71, 70, 79, -1, 9, 21, 22, -1, 9, 22, 23, -1, 12, 26, 27, -1, +12, 27, 13, -1, 12, 25, 26, -1] +texCoordIndex [ +24, 0, 25, -1, 1, 25, 0, -1, 2, 25, 1, -1, 4, 25, 3, -1, +4, 26, 25, -1, 26, 4, 27, -1, 5, 27, 4, -1, 6, 27, 5, -1, +0, 27, 7, -1, 0, 24, 27, -1, 0, 8, 29, -1, 0, 9, 1, -1, +0, 29, 9, -1, 1, 10, 2, -1, 1, 9, 10, -1, 2, 11, 3, -1, +2, 10, 11, -1, 3, 12, 4, -1, 3, 11, 12, -1, 4, 13, 5, -1, +4, 12, 13, -1, 5, 14, 6, -1, 5, 13, 14, -1, 6, 15, 7, -1, +6, 14, 15, -1, 7, 8, 0, -1, 7, 15, 8, -1, 25, 2, 3, -1, +27, 6, 7, -1, 28, 24, 25, -1, 28, 25, 26, -1, 28, 26, 27, -1, +28, 27, 24, -1, 30, 29, 8, -1, 36, 37, 11, -1, 14, 42, 15, -1, +9, 31, 10, -1, 31, 36, 10, -1, 36, 11, 10, -1, 11, 37, 12, -1, +13, 41, 14, -1, 41, 42, 14, -1, 30, 8, 15, -1, 42, 30, 15, -1, +43, 44, 37, -1, 37, 36, 43, -1, 45, 46, 40, -1, 40, 37, 45, -1, +47, 48, 41, -1, 41, 40, 47, -1, 49, 50, 31, -1, 31, 30, 49, -1, +51, 52, 36, -1, 36, 31, 51, -1, 53, 54, 42, -1, 42, 41, 53, -1, +55, 56, 30, -1, 30, 42, 55, -1, 87, 89, 44, -1, 44, 43, 87, -1, +90, 91, 46, -1, 46, 45, 90, -1, 94, 96, 48, -1, 48, 47, 94, -1, +101, 105, 50, -1, 50, 49, 101, -1, 107, 111, 52, -1, +52, 51, 107, -1, 127, 161, 54, -1, 54, 53, 127, -1, +162, 163, 56, -1, 56, 55, 162, -1, 169, 170, 89, -1, +89, 87, 169, -1, 171, 172, 91, -1, 91, 90, 171, -1, +174, 175, 96, -1, 96, 94, 174, -1, 194, 197, 105, -1, +105, 101, 194, -1, 198, 199, 111, -1, 111, 107, 198, -1, +208, 209, 161, -1, 161, 127, 208, -1, 210, 211, 163, -1, +163, 162, 210, -1, 170, 169, 218, -1, 172, 171, 219, -1, +175, 174, 220, -1, 197, 194, 221, -1, 199, 198, 222, -1, +209, 208, 223, -1, 211, 210, 226, -1, 9, 29, 30, -1, +9, 30, 31, -1, 12, 40, 41, -1, 12, 41, 13, -1, 12, 37, 40, -1] +} +} +DEF jelly03-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [0 13.36 -31.67, -27.5 11.51 -15.88, -31.75 12.44 0, +-27.5 12.44 15.88, 0 12.44 31.67, 27.5 12.44 15.88, 31.75 12.44 0, +27.5 13.51 -15.88, 3.969 1.521e-005 -34.1, -28.09 0 -19.44, +-35.29 0 1.719, -28.09 0 19.44, 1.314 0 32.9, 28.09 0 16.61, +34.98 0 -2.865, 25.8 0 -21.71, 0 32.02 -11.27, -11.61 32.27 0, +0 32.02 11.27, 11.61 32.27 0, 0.1209 34.64 0.1311, -11.91 0 -29.6, +2.401 -18.29 -21.64, -17.68 -18.3 -13.85, -23.48 -18.3 -0.1521, +-13.51 -18.3 16.56, 7.639 -18.3 19.56, 22.29 -18.3 5.952, +20.15 -18.3 -6.496, -26.52 -35.51 13.47, -26.1 -35.51 15.04, +-3.372 -35.74 27.94, -0.04711 -35.5 29.86, 22.35 -35.46 17.2, +26.06 -35.5 15.1, -6.549 -35.5 -26.17, -9.551 -35.86 -24.4, +-27.11 -35.51 -11.29, -27.81 -35.51 -8.648, 29.12 -35.51 -3.779, +28.11 -35.51 -7.533, 17.97 -35.62 -19.67, 15.31 -35.33 -21.22, +-18.14 -57.52 -11.03, -18.8 -57.52 9.061, -17.79 -57.52 12.82, +-0.5715 -58.19 23.83, 2.405 -57.98 25.54, 19.01 -57.14 17.29, +21.56 -57.52 15.77, -2.305 -57.52 -14.96, -6.692 -57.69 -12.45, +-18.8 -57.52 -9.061, -19.81 -57.52 -5.307, 20.81 -57.52 -1.553, +19.81 -57.52 -5.307, 11.27 -57.83 -13.56, 8.807 -57.52 -15, +-21.92 -89.66 11.92, -21.36 -89.66 14.02, -0.6973 -89.66 23.33, +2.939 -89.66 25.39, 8.386 -89.66 12.95, 12.02 -89.66 10.88, +-4.734 -89.66 -20.98, -8.37 -89.66 -18.92, -22.55 -89.66 -9.528, +-23.11 -89.66 -7.428, 24.42 -89.66 -2.998, 23.85 -89.66 -5.098, +16.16 -89.66 -14.56, 12.53 -89.66 -16.63, -8.051 -141.9 2.801, +0.6082 -128.5 7.191, 7.773 -141.9 8.954, 15.15 -141.9 -0.2773, +-0.697 -141.9 -4.32, -13.72 -132.3 -5.18, 10.66 -128.9 -0.07603, +6.652 -133.6 -6.085, 0 50.33 -31.67, -27.5 48.49 -15.88, +-31.75 49.41 0, -27.5 49.41 15.88, 0 49.41 31.67, 27.5 49.41 15.88, +31.75 49.41 0, 27.5 50.48 -15.88, 3.969 39.48 -34.1, -28.09 39.48 -19.44, +-35.29 39.48 1.719, -28.09 39.48 19.44, 1.314 39.48 32.9, +28.09 39.48 16.61, 34.98 39.48 -2.865, 25.8 39.48 -21.71, +0 67.13 -11.27, -11.61 67.36 0, 0 67.13 11.27, 11.61 67.36 0, +0.1209 67.34 0.1311, -11.91 39.48 -29.6, 2.401 24.96 -21.64, +-17.68 24.96 -13.85, -23.48 24.96 -0.1521, -13.51 24.96 16.56, +7.639 24.96 19.56, 22.29 24.96 5.952, 20.15 24.96 -6.496, +-26.52 10.84 13.47, -26.1 10.84 15.04, -3.372 10.64 27.94, +-0.04711 10.84 29.86, 22.35 10.87 17.2, 26.06 10.84 15.1, +-6.549 10.84 -26.17, -9.551 10.54 -24.4, -27.11 10.84 -11.29, +-27.81 10.84 -8.648, 29.12 10.84 -3.779, 28.11 10.84 -7.533, +17.97 10.74 -19.67, 15.31 10.98 -21.22, -18.14 -8.847 -11.03, +-18.8 -8.849 9.061, -17.79 -8.849 12.82, -0.5715 -9.483 23.83, +2.405 -9.283 25.54, 19.01 -8.49 17.29, 21.56 -8.847 15.77, +-2.305 -8.847 -14.96, -6.692 -9.013 -12.45, -18.8 -8.849 -9.061, +-19.81 -8.849 -5.307, 20.81 -8.849 -1.553, 19.81 -8.849 -5.307, +11.27 -9.138 -13.56, 8.807 -8.847 -15, -21.92 -40.95 11.92, +-21.36 -40.95 14.02, -0.6973 -40.94 23.33, 2.939 -40.94 25.39, +8.386 -40.94 12.95, 12.02 -40.94 10.88, -4.734 -40.94 -20.98, +-8.37 -40.94 -18.92, -22.55 -40.95 -9.528, -23.11 -40.95 -7.428, +24.42 -40.95 -2.998, 23.85 -40.95 -5.098, 16.16 -40.94 -14.56, +12.53 -40.94 -16.63, -8.051 -93.02 2.801, 0.6082 -80.36 7.191, +7.773 -93.02 8.954, 15.15 -93.02 -0.2773, -0.697 -93.02 -4.32, +-13.72 -84.03 -5.18, 10.66 -80.84 -0.07603, 6.652 -85.28 -6.085, +0 13.36 -31.67, -27.5 11.51 -15.88, -31.75 12.44 0, -27.5 12.44 15.88, +0 12.44 31.67, 27.5 12.44 15.88, 31.75 12.44 0, 27.5 13.51 -15.88, +3.969 1.521e-005 -34.1, -28.09 0 -19.44, -35.29 0 1.719, +-28.09 0 19.44, 1.314 0 32.9, 28.09 0 16.61, 34.98 0 -2.865, +25.8 0 -21.71, 0 32.02 -11.27, -11.61 32.27 0, 0 32.02 11.27, +11.61 32.27 0, 0.1209 34.64 0.1311, -11.91 0 -29.6, 2.401 -18.29 -21.64, +-17.68 -18.3 -13.85, -23.48 -18.3 -0.1521, -13.51 -18.3 16.56, +7.639 -18.3 19.56, 22.29 -18.3 5.952, 20.15 -18.3 -6.496, +-26.52 -35.51 13.47, -26.1 -35.51 15.04, -3.372 -35.74 27.94, +-0.04711 -35.5 29.86, 22.35 -35.46 17.2, 26.06 -35.5 15.1, +-6.549 -35.5 -26.17, -9.551 -35.86 -24.4, -27.11 -35.51 -11.29, +-27.81 -35.51 -8.648, 29.12 -35.51 -3.779, 28.11 -35.51 -7.533, +17.97 -35.62 -19.67, 15.31 -35.33 -21.22, -18.14 -57.52 -11.03, +-18.8 -57.52 9.061, -17.79 -57.52 12.82, -0.5715 -58.19 23.83, +2.405 -57.98 25.54, 19.01 -57.14 17.29, 21.56 -57.52 15.77, +-2.305 -57.52 -14.96, -6.692 -57.69 -12.45, -18.8 -57.52 -9.061, +-19.81 -57.52 -5.307, 20.81 -57.52 -1.553, 19.81 -57.52 -5.307, +11.27 -57.83 -13.56, 8.807 -57.52 -15, -21.92 -89.66 11.92, +-21.36 -89.66 14.02, -0.6973 -89.66 23.33, 2.939 -89.66 25.39, +8.386 -89.66 12.95, 12.02 -89.66 10.88, -4.734 -89.66 -20.98, +-8.37 -89.66 -18.92, -22.55 -89.66 -9.528, -23.11 -89.66 -7.428, +24.42 -89.66 -2.998, 23.85 -89.66 -5.098, 16.16 -89.66 -14.56, +12.53 -89.66 -16.63, -8.051 -141.9 2.801, 0.6082 -128.5 7.191, +7.773 -141.9 8.954, 15.15 -141.9 -0.2773, -0.697 -141.9 -4.32, +-13.72 -132.3 -5.18, 10.66 -128.9 -0.07603, 6.652 -133.6 -6.085, +] +} +] +ROUTE jelly03-TIMER.fraction_changed TO jelly03-COORD-INTERP.set_fraction +ROUTE jelly03-COORD-INTERP.value_changed TO jelly03-COORD.set_point +} +DEF jelly04 Transform { +translation 33.45 -3.48 -96.53 +scale 0.025 0.01284 0.0212 +children [ +DEF jelly04-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +Shape { +appearance USE jellyfish +geometry DEF jelly04-FACES IndexedFaceSet { +ccw TRUE +solid FALSE +coord DEF jelly04-COORD Coordinate { point [ +0 13.36 -31.67, -27.5 11.51 -15.88, -31.75 12.44 0, -27.5 12.44 15.88, +0 12.44 31.67, 27.5 12.44 15.88, 31.75 12.44 0, 27.5 13.51 -15.88, +3.969 1.521e-005 -34.1, -28.09 0 -19.44, -35.29 0 1.719, +-28.09 0 19.44, 1.314 0 32.9, 28.09 0 16.61, 34.98 0 -2.865, +25.8 0 -21.71, 0 32.02 -11.27, -11.61 32.27 0, 0 32.02 11.27, +11.61 32.27 0, 0.1209 34.64 0.1311, -11.91 0 -29.6, +2.401 -18.29 -21.64, -17.68 -18.3 -13.85, -23.48 -18.3 -0.1521, +-13.51 -18.3 16.56, 7.639 -18.3 19.56, 22.29 -18.3 5.952, +20.15 -18.3 -6.496, -26.52 -35.51 13.47, -26.1 -35.51 15.04, +-3.372 -35.74 27.94, -0.04711 -35.5 29.86, 22.35 -35.46 17.2, +26.06 -35.5 15.1, -6.549 -35.5 -26.17, -9.551 -35.86 -24.4, +-27.11 -35.51 -11.29, -27.81 -35.51 -8.648, 29.12 -35.51 -3.779, +28.11 -35.51 -7.533, 17.97 -35.62 -19.67, 15.31 -35.33 -21.22, +-18.14 -57.52 -11.03, -18.8 -57.52 9.061, -17.79 -57.52 12.82, +-0.5715 -58.19 23.83, 2.405 -57.98 25.54, 19.01 -57.14 17.29, +21.56 -57.52 15.77, -2.305 -57.52 -14.96, -6.692 -57.69 -12.45, +-18.8 -57.52 -9.061, -19.81 -57.52 -5.307, 20.81 -57.52 -1.553, +19.81 -57.52 -5.307, 11.27 -57.83 -13.56, 8.807 -57.52 -15, +-21.92 -89.66 11.92, -21.36 -89.66 14.02, -0.6973 -89.66 23.33, +2.939 -89.66 25.39, 8.386 -89.66 12.95, 12.02 -89.66 10.88, +-4.734 -89.66 -20.98, -8.37 -89.66 -18.92, -22.55 -89.66 -9.528, +-23.11 -89.66 -7.428, 24.42 -89.66 -2.998, 23.85 -89.66 -5.098, +16.16 -89.66 -14.56, 12.53 -89.66 -16.63, -8.051 -141.9 2.801, +0.6082 -128.5 7.191, 7.773 -141.9 8.954, 15.15 -141.9 -0.2773, +-0.697 -141.9 -4.32, -13.72 -132.3 -5.18, 10.66 -128.9 -0.07603, +6.652 -133.6 -6.085] +} +texCoord DEF jelly04-TEXCOORD TextureCoordinate { point [ +0.5056 0.8725, 1.406 0.8613, 1.545 0.8669, 1.406 0.8669, +0.5056 0.8669, -0.3948 0.8669, -0.5341 0.8669, -0.3948 0.8734, +0.3756 0.7915, 1.425 0.7915, 1.661 0.7915, 1.425 0.7915, +0.4625 0.7915, -0.4142 0.7915, -0.6397 0.7915, -0.3392 0.7915, +0.4961 0.2097, 0.8692 0.2097, 0.927 0.2097, 0.8692 0.2097, +0.4961 0.2097, 0.1229 0.2097, 0.06514 0.2097, 0.1229 0.2097, +0.5056 0.9856, 0.8855 0.9871, 0.5056 0.9856, 0.1256 0.9871, +0.5016 1.001, 0.8954 0.7915, 0.427 0.6806, 1.084 0.6806, +0.4961 1.003, 0.5035 0.9751, 0.6076 0.9683, 0.6248 0.9683, +1.274 0.6806, 0.9478 0.6806, 0.3845 0.9683, 0.3673 0.9683, +0.2554 0.6806, -0.2241 0.6806, -0.1541 0.6806, 1.374 0.5763, +1.36 0.5763, 0.616 0.5748, 0.5071 0.5763, -0.2262 0.5765, +-0.3475 0.5763, 0.72 0.5763, 0.8183 0.5741, 1.393 0.5763, +1.416 0.5763, -0.4478 0.5763, -0.4149 0.5763, -0.08269 0.5755, +0.004179 0.5773, 0.4961 0.3026, 0.6826 0.2097, 0.8981 0.3026, +0.8981 0.2097, 0.9603 0.3026, 0.8981 0.2097, 0.8981 0.3026, +0.6826 0.2097, 0.4961 0.3026, 0.3095 0.2097, 0.09401 0.3026, +0.09401 0.2097, 0.03181 0.3026, 0.09401 0.2097, 0.09401 0.3026, +0.3095 0.2097, 0.6971 0.3026, 0.9292 0.3026, 0.9292 0.3026, +0.6971 0.3026, 0.295 0.3026, 0.06291 0.3026, 0.06291 0.3026, +0.295 0.3026, 1.028 0.5681, 1.06 0.5696, 0.5773 0.5686, +0.977 0.3955, 0.977 0.3955, 0.504 0.5686, 1.121 0.4428, +0.6038 0.3955, 1.088 0.4428, 0.5243 0.4388, 0.4268 0.44, +0.01515 0.3955, 0.01515 0.3955, -0.1169 0.4451, 0.1729 0.3955, +-0.2005 0.4428, 0.7239 0.5686, 0.3955 0.3026, 0.7971 0.5686, +0.5966 0.3026, 0.581 0.4428, 0.7976 0.3026, 0.9125 0.3491, +0.9136 0.3026, 0.7247 0.4418, 0.9447 0.3026, 1.121 0.4428, +0.9447 0.3026, 0.9447 0.3491, 0.9136 0.3026, 1.154 0.4428, +0.7976 0.3026, 0.09989 0.5673, 0.5966 0.3026, 0.06466 0.5686, +0.3955 0.3026, -0.007378 0.5686, 0.1945 0.3026, 0.02193 0.567, +0.07846 0.3026, 0.2832 0.5686, 0.04736 0.3026, 0.01515 0.3491, +0.04736 0.3026, 0.3565 0.5686, 0.07846 0.3026, -0.1758 0.4428, +0.1945 0.3026, 0.6899 0.2561, 0.4961 0.2561, 0.5893 0.2097, +0.3022 0.2561, 0.4028 0.2097, 0.9136 0.2561, 0.8837 0.2561, +0.8837 0.2097, 0.7759 0.2097, 0.9136 0.2561, 0.9436 0.2561, +0.9125 0.2097, 0.9125 0.2097, 0.6899 0.2561, 0.8837 0.2561, +0.7759 0.2097, 0.8837 0.2097, 0.3022 0.2561, 0.4961 0.2561, +0.4028 0.2097, 0.5893 0.2097, 0.07846 0.2561, 0.1084 0.2561, +0.1084 0.2097, 0.2162 0.2097, 0.07846 0.2561, 0.04848 0.2561, +0.07958 0.2097, 0.07958 0.2097, 0.1084 0.2561, 0.2162 0.2097, +0.1084 0.2097, -0.1429 0.4428, 0.1366 0.441, 0.2172 0.4428, +0.8684 0.452, 0.8868 0.452, 0.9609 0.3491, 0.5338 0.452, +0.4605 0.452, 1.223 0.248, 1.205 0.248, 0.5284 0.248, +0.4093 0.248, 0.03125 0.3491, 0.231 0.248, 0.1119 0.248, +0.6804 0.452, 0.593 0.2561, 0.3991 0.2561, 0.8987 0.2561, +0.7868 0.2561, 0.9286 0.2561, 0.9286 0.2561, 0.7868 0.2561, +0.8987 0.2561, 0.3991 0.2561, 0.593 0.2561, 0.09345 0.2561, +0.2053 0.2561, 0.06347 0.2561, 0.06347 0.2561, 0.2053 0.2561, +0.09345 0.2561, 0.7537 0.452, 0.6606 0.248, 0.8084 0.3491, +0.9125 0.3491, 0.7796 0.248, 1.244 0.248, 1.262 0.248, +0.2661 0.4513, 0.2347 0.4529, 0.1386 0.452, 0.1737 0.4506, +0.3266 0.452, 0.03125 0.3491, 0.01515 0.3491, 0.3999 0.452, +-0.2939 0.248, -0.2754 0.248, -0.02365 0.248, 0.0954 0.248, +0.9578 0.2817, 0.9609 0.3491, 0.9447 0.3491, 0.9981 0.2817, +0.5166 0.2817, 0.4756 0.2817, 0.7692 -0.06852, 0.4857 0.01279, +0.2511 -0.06851, 0.5284 -0.06851, 0.9547 -0.01021, +0.1566 0.009839, 0.735 0.2817, 0.776 0.2817, 0.2878 -0.01815, +0.8084 0.3491, 0.9125 0.3491, 0 0, 0 0, 0 0, 0.2181 0.2817, +0.1778 0.2817, 0.0928 0.2817, 0.1331 0.2817, 0.3164 0.2817, +0.03125 0.3491, 0.01515 0.3491, 0.3574 0.2817, 0 0, +0 0, 0 0, 0 0, 0.7694 0.04331, 0.9609 0.3491, 0.9447 0.3491, +0.5014 0.1282, 0 0, 0 0, 0 0, 0.6562 0.05099, 0 0, +0 0, 0.3971 0.07039, 0.2712 0.005092, 0.4495 0.005082, +0 0, 0 0, 0.8084 0.3491, 0.9125 0.3491, 0 0, 0 0, 0 0, +0 0, 0 0, 0 0, 0 0, 0 0, 0.03125 0.3491, 0.01515 0.3491, +0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0.9609 0.3491, 0.9447 0.3491, +0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, +0.4961 0.3491, 0.8084 0.3491, 0.9125 0.3491, 0 0, 0.977 0.3491, +0 0, 0.9125 0.3491, 0 0, 0.4961 0.3491, 0 0, 0.07957 0.3491, +0.03125 0.3491, 0.01515 0.3491, 0 0, 0.07958 0.3491, +0 0, 0.7043 0.3491, 0 0, 0.9447 0.3491, 0.9609 0.3491, +0.9447 0.3491, 0 0, 0.7043 0.3491, 0 0, 0.2878 0.3491, +0 0, 0.04736 0.3491, 0 0, 0.04736 0.3491, 0 0, 0.2878 0.3491] +} +coordIndex [ +16, 0, 17, -1, 1, 17, 0, -1, 2, 17, 1, -1, 4, 17, 3, -1, +4, 18, 17, -1, 18, 4, 19, -1, 5, 19, 4, -1, 6, 19, 5, -1, +0, 19, 7, -1, 0, 16, 19, -1, 0, 8, 21, -1, 0, 9, 1, -1, +0, 21, 9, -1, 1, 10, 2, -1, 1, 9, 10, -1, 2, 11, 3, -1, +2, 10, 11, -1, 3, 12, 4, -1, 3, 11, 12, -1, 4, 13, 5, -1, +4, 12, 13, -1, 5, 14, 6, -1, 5, 13, 14, -1, 6, 15, 7, -1, +6, 14, 15, -1, 7, 8, 0, -1, 7, 15, 8, -1, 17, 2, 3, -1, +19, 6, 7, -1, 20, 16, 17, -1, 20, 17, 18, -1, 20, 18, 19, -1, +20, 19, 16, -1, 22, 21, 8, -1, 24, 25, 11, -1, 14, 28, 15, -1, +9, 23, 10, -1, 23, 24, 10, -1, 24, 11, 10, -1, 11, 25, 12, -1, +13, 27, 14, -1, 27, 28, 14, -1, 22, 8, 15, -1, 28, 22, 15, -1, +29, 30, 25, -1, 25, 24, 29, -1, 31, 32, 26, -1, 26, 25, 31, -1, +33, 34, 27, -1, 27, 26, 33, -1, 35, 36, 23, -1, 23, 22, 35, -1, +37, 38, 24, -1, 24, 23, 37, -1, 39, 40, 28, -1, 28, 27, 39, -1, +41, 42, 22, -1, 22, 28, 41, -1, 44, 45, 30, -1, 30, 29, 44, -1, +46, 47, 32, -1, 32, 31, 46, -1, 48, 49, 34, -1, 34, 33, 48, -1, +50, 51, 36, -1, 36, 35, 50, -1, 52, 53, 38, -1, 38, 37, 52, -1, +54, 55, 40, -1, 40, 39, 54, -1, 56, 57, 42, -1, 42, 41, 56, -1, +58, 59, 45, -1, 45, 44, 58, -1, 60, 61, 47, -1, 47, 46, 60, -1, +62, 63, 49, -1, 49, 48, 62, -1, 64, 65, 51, -1, 51, 50, 64, -1, +66, 67, 53, -1, 53, 52, 66, -1, 68, 69, 55, -1, 55, 54, 68, -1, +70, 71, 57, -1, 57, 56, 70, -1, 59, 58, 72, -1, 61, 60, 73, -1, +63, 62, 74, -1, 65, 64, 76, -1, 67, 66, 77, -1, 69, 68, 78, -1, +71, 70, 79, -1, 9, 21, 22, -1, 9, 22, 23, -1, 12, 26, 27, -1, +12, 27, 13, -1, 12, 25, 26, -1] +texCoordIndex [ +24, 0, 25, -1, 1, 25, 0, -1, 2, 25, 1, -1, 4, 25, 3, -1, +4, 26, 25, -1, 26, 4, 27, -1, 5, 27, 4, -1, 6, 27, 5, -1, +0, 27, 7, -1, 0, 24, 27, -1, 0, 8, 29, -1, 0, 9, 1, -1, +0, 29, 9, -1, 1, 10, 2, -1, 1, 9, 10, -1, 2, 11, 3, -1, +2, 10, 11, -1, 3, 12, 4, -1, 3, 11, 12, -1, 4, 13, 5, -1, +4, 12, 13, -1, 5, 14, 6, -1, 5, 13, 14, -1, 6, 15, 7, -1, +6, 14, 15, -1, 7, 8, 0, -1, 7, 15, 8, -1, 25, 2, 3, -1, +27, 6, 7, -1, 28, 24, 25, -1, 28, 25, 26, -1, 28, 26, 27, -1, +28, 27, 24, -1, 30, 29, 8, -1, 36, 37, 11, -1, 14, 42, 15, -1, +9, 31, 10, -1, 31, 36, 10, -1, 36, 11, 10, -1, 11, 37, 12, -1, +13, 41, 14, -1, 41, 42, 14, -1, 30, 8, 15, -1, 42, 30, 15, -1, +43, 44, 37, -1, 37, 36, 43, -1, 45, 46, 40, -1, 40, 37, 45, -1, +47, 48, 41, -1, 41, 40, 47, -1, 49, 50, 31, -1, 31, 30, 49, -1, +51, 52, 36, -1, 36, 31, 51, -1, 53, 54, 42, -1, 42, 41, 53, -1, +55, 56, 30, -1, 30, 42, 55, -1, 87, 89, 44, -1, 44, 43, 87, -1, +90, 91, 46, -1, 46, 45, 90, -1, 94, 96, 48, -1, 48, 47, 94, -1, +101, 105, 50, -1, 50, 49, 101, -1, 107, 111, 52, -1, +52, 51, 107, -1, 127, 161, 54, -1, 54, 53, 127, -1, +162, 163, 56, -1, 56, 55, 162, -1, 169, 170, 89, -1, +89, 87, 169, -1, 171, 172, 91, -1, 91, 90, 171, -1, +174, 175, 96, -1, 96, 94, 174, -1, 194, 197, 105, -1, +105, 101, 194, -1, 198, 199, 111, -1, 111, 107, 198, -1, +208, 209, 161, -1, 161, 127, 208, -1, 210, 211, 163, -1, +163, 162, 210, -1, 170, 169, 218, -1, 172, 171, 219, -1, +175, 174, 220, -1, 197, 194, 221, -1, 199, 198, 222, -1, +209, 208, 223, -1, 211, 210, 226, -1, 9, 29, 30, -1, +9, 30, 31, -1, 12, 40, 41, -1, 12, 41, 13, -1, 12, 37, 40, -1] +} +} +DEF jelly04-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [0 13.36 -31.67, -27.5 11.51 -15.88, -31.75 12.44 0, +-27.5 12.44 15.88, 0 12.44 31.67, 27.5 12.44 15.88, 31.75 12.44 0, +27.5 13.51 -15.88, 3.969 1.521e-005 -34.1, -28.09 0 -19.44, +-35.29 0 1.719, -28.09 0 19.44, 1.314 0 32.9, 28.09 0 16.61, +34.98 0 -2.865, 25.8 0 -21.71, 0 32.02 -11.27, -11.61 32.27 0, +0 32.02 11.27, 11.61 32.27 0, 0.1209 34.64 0.1311, -11.91 0 -29.6, +2.401 -18.29 -21.64, -17.68 -18.3 -13.85, -23.48 -18.3 -0.1521, +-13.51 -18.3 16.56, 7.639 -18.3 19.56, 22.29 -18.3 5.952, +20.15 -18.3 -6.496, -26.52 -35.51 13.47, -26.1 -35.51 15.04, +-3.372 -35.74 27.94, -0.04711 -35.5 29.86, 22.35 -35.46 17.2, +26.06 -35.5 15.1, -6.549 -35.5 -26.17, -9.551 -35.86 -24.4, +-27.11 -35.51 -11.29, -27.81 -35.51 -8.648, 29.12 -35.51 -3.779, +28.11 -35.51 -7.533, 17.97 -35.62 -19.67, 15.31 -35.33 -21.22, +-18.14 -57.52 -11.03, -18.8 -57.52 9.061, -17.79 -57.52 12.82, +-0.5715 -58.19 23.83, 2.405 -57.98 25.54, 19.01 -57.14 17.29, +21.56 -57.52 15.77, -2.305 -57.52 -14.96, -6.692 -57.69 -12.45, +-18.8 -57.52 -9.061, -19.81 -57.52 -5.307, 20.81 -57.52 -1.553, +19.81 -57.52 -5.307, 11.27 -57.83 -13.56, 8.807 -57.52 -15, +-21.92 -89.66 11.92, -21.36 -89.66 14.02, -0.6973 -89.66 23.33, +2.939 -89.66 25.39, 8.386 -89.66 12.95, 12.02 -89.66 10.88, +-4.734 -89.66 -20.98, -8.37 -89.66 -18.92, -22.55 -89.66 -9.528, +-23.11 -89.66 -7.428, 24.42 -89.66 -2.998, 23.85 -89.66 -5.098, +16.16 -89.66 -14.56, 12.53 -89.66 -16.63, -8.051 -141.9 2.801, +0.6082 -128.5 7.191, 7.773 -141.9 8.954, 15.15 -141.9 -0.2773, +-0.697 -141.9 -4.32, -13.72 -132.3 -5.18, 10.66 -128.9 -0.07603, +6.652 -133.6 -6.085, 0 50.33 -31.67, -27.5 48.49 -15.88, +-31.75 49.41 0, -27.5 49.41 15.88, 0 49.41 31.67, 27.5 49.41 15.88, +31.75 49.41 0, 27.5 50.48 -15.88, 3.969 39.48 -34.1, -28.09 39.48 -19.44, +-35.29 39.48 1.719, -28.09 39.48 19.44, 1.314 39.48 32.9, +28.09 39.48 16.61, 34.98 39.48 -2.865, 25.8 39.48 -21.71, +0 67.13 -11.27, -11.61 67.36 0, 0 67.13 11.27, 11.61 67.36 0, +0.1209 67.34 0.1311, -11.91 39.48 -29.6, 2.401 24.96 -21.64, +-17.68 24.96 -13.85, -23.48 24.96 -0.1521, -13.51 24.96 16.56, +7.639 24.96 19.56, 22.29 24.96 5.952, 20.15 24.96 -6.496, +-26.52 10.84 13.47, -26.1 10.84 15.04, -3.372 10.64 27.94, +-0.04711 10.84 29.86, 22.35 10.87 17.2, 26.06 10.84 15.1, +-6.549 10.84 -26.17, -9.551 10.54 -24.4, -27.11 10.84 -11.29, +-27.81 10.84 -8.648, 29.12 10.84 -3.779, 28.11 10.84 -7.533, +17.97 10.74 -19.67, 15.31 10.98 -21.22, -18.14 -8.847 -11.03, +-18.8 -8.849 9.061, -17.79 -8.849 12.82, -0.5715 -9.483 23.83, +2.405 -9.283 25.54, 19.01 -8.49 17.29, 21.56 -8.847 15.77, +-2.305 -8.847 -14.96, -6.692 -9.013 -12.45, -18.8 -8.849 -9.061, +-19.81 -8.849 -5.307, 20.81 -8.849 -1.553, 19.81 -8.849 -5.307, +11.27 -9.138 -13.56, 8.807 -8.847 -15, -21.92 -40.95 11.92, +-21.36 -40.95 14.02, -0.6973 -40.94 23.33, 2.939 -40.94 25.39, +8.386 -40.94 12.95, 12.02 -40.94 10.88, -4.734 -40.94 -20.98, +-8.37 -40.94 -18.92, -22.55 -40.95 -9.528, -23.11 -40.95 -7.428, +24.42 -40.95 -2.998, 23.85 -40.95 -5.098, 16.16 -40.94 -14.56, +12.53 -40.94 -16.63, -8.051 -93.02 2.801, 0.6082 -80.36 7.191, +7.773 -93.02 8.954, 15.15 -93.02 -0.2773, -0.697 -93.02 -4.32, +-13.72 -84.03 -5.18, 10.66 -80.84 -0.07603, 6.652 -85.28 -6.085, +0 13.36 -31.67, -27.5 11.51 -15.88, -31.75 12.44 0, -27.5 12.44 15.88, +0 12.44 31.67, 27.5 12.44 15.88, 31.75 12.44 0, 27.5 13.51 -15.88, +3.969 1.521e-005 -34.1, -28.09 0 -19.44, -35.29 0 1.719, +-28.09 0 19.44, 1.314 0 32.9, 28.09 0 16.61, 34.98 0 -2.865, +25.8 0 -21.71, 0 32.02 -11.27, -11.61 32.27 0, 0 32.02 11.27, +11.61 32.27 0, 0.1209 34.64 0.1311, -11.91 0 -29.6, 2.401 -18.29 -21.64, +-17.68 -18.3 -13.85, -23.48 -18.3 -0.1521, -13.51 -18.3 16.56, +7.639 -18.3 19.56, 22.29 -18.3 5.952, 20.15 -18.3 -6.496, +-26.52 -35.51 13.47, -26.1 -35.51 15.04, -3.372 -35.74 27.94, +-0.04711 -35.5 29.86, 22.35 -35.46 17.2, 26.06 -35.5 15.1, +-6.549 -35.5 -26.17, -9.551 -35.86 -24.4, -27.11 -35.51 -11.29, +-27.81 -35.51 -8.648, 29.12 -35.51 -3.779, 28.11 -35.51 -7.533, +17.97 -35.62 -19.67, 15.31 -35.33 -21.22, -18.14 -57.52 -11.03, +-18.8 -57.52 9.061, -17.79 -57.52 12.82, -0.5715 -58.19 23.83, +2.405 -57.98 25.54, 19.01 -57.14 17.29, 21.56 -57.52 15.77, +-2.305 -57.52 -14.96, -6.692 -57.69 -12.45, -18.8 -57.52 -9.061, +-19.81 -57.52 -5.307, 20.81 -57.52 -1.553, 19.81 -57.52 -5.307, +11.27 -57.83 -13.56, 8.807 -57.52 -15, -21.92 -89.66 11.92, +-21.36 -89.66 14.02, -0.6973 -89.66 23.33, 2.939 -89.66 25.39, +8.386 -89.66 12.95, 12.02 -89.66 10.88, -4.734 -89.66 -20.98, +-8.37 -89.66 -18.92, -22.55 -89.66 -9.528, -23.11 -89.66 -7.428, +24.42 -89.66 -2.998, 23.85 -89.66 -5.098, 16.16 -89.66 -14.56, +12.53 -89.66 -16.63, -8.051 -141.9 2.801, 0.6082 -128.5 7.191, +7.773 -141.9 8.954, 15.15 -141.9 -0.2773, -0.697 -141.9 -4.32, +-13.72 -132.3 -5.18, 10.66 -128.9 -0.07603, 6.652 -133.6 -6.085, +] +} +] +ROUTE jelly04-TIMER.fraction_changed TO jelly04-COORD-INTERP.set_fraction +ROUTE jelly04-COORD-INTERP.value_changed TO jelly04-COORD.set_point +} + +##################################Jellyfish end + +##################################low_seaweed + +DEF long_seaweed_low01 Transform { +translation 46.29 -6.108 -92.89 +children [ +DEF long_seaweed_low01-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +DEF Plane39 Transform { +translation -46.29 6.108 92.89 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane39-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane39-COORD Coordinate { +point [ 46.53 -10.27 -92.71 46.4 -10.29 -92.78 46.21 -9.208 -92.83 46.16 -9.217 +-92.86 46.56 -8.061 -92.75 46.49 -8.081 -92.87 46.72 -6.89 -92.53 46.66 -6.899 +-92.56 46.46 -5.812 -92.98 46.43 -5.816 -92.99 46.33 -10.32 -92.72 46.13 -9.228 +-92.83 46.42 -8.107 -92.81 46.63 -6.911 -92.53 46.42 -5.822 -92.98 ] +} +texCoord DEF Plane39-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane39-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [46.53 -10.27 -92.71, 46.4 -10.29 -92.78, +46.21 -9.208 -92.83, 46.16 -9.217 -92.86, 46.56 -8.061 -92.75, +46.49 -8.081 -92.87, 46.72 -6.89 -92.53, 46.66 -6.899 -92.56, +46.46 -5.812 -92.98, 46.43 -5.816 -92.99, 46.33 -10.32 -92.72, +46.13 -9.228 -92.83, 46.42 -8.107 -92.81, 46.63 -6.911 -92.53, +46.42 -5.822 -92.98, 46.57 -10.27 -92.66, 46.44 -10.29 -92.74, +46.41 -9.194 -92.61, 46.35 -9.203 -92.65, 46.41 -8.072 -92.93, +46.35 -8.092 -93.03, 46.4 -6.913 -92.89, 46.33 -6.922 -92.93, +46.85 -5.784 -92.54, 46.83 -5.788 -92.55, 46.37 -10.32 -92.67, +46.32 -9.214 -92.62, 46.27 -8.118 -92.97, 46.3 -6.934 -92.9, +46.82 -5.793 -92.53, 46.53 -10.27 -92.71, 46.4 -10.29 -92.78, +46.21 -9.208 -92.83, 46.16 -9.217 -92.86, 46.56 -8.061 -92.75, +46.49 -8.081 -92.87, 46.72 -6.89 -92.53, 46.66 -6.899 -92.56, +46.46 -5.812 -92.98, 46.43 -5.816 -92.99, 46.33 -10.32 -92.72, +46.13 -9.228 -92.83, 46.42 -8.107 -92.81, 46.63 -6.911 -92.53, +46.42 -5.822 -92.98, ] +} +] +}, +DEF Plane40 Transform { +translation -46.29 6.108 92.89 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane40-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane40-COORD Coordinate { +point [ 46.18 -10.27 -92.71 46.3 -10.29 -92.78 46.37 -9.205 -92.9 46.42 -9.214 +-92.93 46.19 -8.061 -92.66 46.32 -8.081 -92.66 46.05 -6.896 -92.67 46.11 -6.905 +-92.7 46.38 -5.81 -92.62 46.41 -5.814 -92.63 46.29 -10.32 -92.88 46.42 -9.224 +-92.97 46.3 -8.107 -92.75 46.1 -6.917 -92.74 46.4 -5.819 -92.65 ] +} +texCoord DEF Plane40-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane40-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [46.18 -10.27 -92.71, 46.3 -10.29 -92.78, +46.37 -9.205 -92.9, 46.42 -9.214 -92.93, 46.19 -8.061 -92.66, +46.32 -8.081 -92.66, 46.05 -6.896 -92.67, 46.11 -6.905 -92.7, +46.38 -5.81 -92.62, 46.41 -5.814 -92.63, 46.29 -10.32 -92.88, +46.42 -9.224 -92.97, 46.3 -8.107 -92.75, 46.1 -6.917 -92.74, +46.4 -5.819 -92.65, 46.14 -10.27 -92.7, 46.27 -10.29 -92.78, +46.19 -9.196 -92.87, 46.24 -9.205 -92.9, 46.33 -8.068 -92.68, +46.46 -8.088 -92.68, 46.36 -6.911 -92.72, 46.42 -6.92 -92.75, +46 -5.792 -92.55, 46.03 -5.796 -92.57, 46.25 -10.32 -92.87, +46.24 -9.216 -92.94, 46.44 -8.114 -92.77, 46.41 -6.932 -92.8, +46.02 -5.8 -92.58, 46.18 -10.27 -92.71, 46.3 -10.29 -92.78, +46.37 -9.205 -92.9, 46.42 -9.214 -92.93, 46.19 -8.061 -92.66, +46.32 -8.081 -92.66, 46.05 -6.896 -92.67, 46.11 -6.905 -92.7, +46.38 -5.81 -92.62, 46.41 -5.814 -92.63, 46.29 -10.32 -92.88, +46.42 -9.224 -92.97, 46.3 -8.107 -92.75, 46.1 -6.917 -92.74, +46.4 -5.819 -92.65, ] +} +] +} +] +ROUTE long_seaweed_low01-TIMER.fraction_changed TO Plane39-COORD-INTERP.set_fraction +ROUTE Plane39-COORD-INTERP.value_changed TO Plane39-COORD.set_point +ROUTE long_seaweed_low01-TIMER.fraction_changed TO Plane40-COORD-INTERP.set_fraction +ROUTE Plane40-COORD-INTERP.value_changed TO Plane40-COORD.set_point +} +DEF long_seaweed_low08 Transform { +translation 36.27 -6.705 -92.89 +children [ +DEF long_seaweed_low08-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +DEF Plane53 Transform { +translation -36.27 6.705 92.89 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane53-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane53-COORD Coordinate { +point [ 36.51 -10.87 -92.71 36.38 -10.89 -92.78 36.19 -9.805 -92.83 36.14 +-9.813 -92.86 36.54 -8.658 -92.75 36.47 -8.678 -92.87 36.7 -7.486 -92.53 36.64 +-7.496 -92.56 36.44 -6.409 -92.98 36.41 -6.413 -92.99 36.31 -10.92 -92.72 +36.11 -9.824 -92.83 36.4 -8.704 -92.81 36.61 -7.507 -92.53 36.4 -6.418 -92.98 +] +} +texCoord DEF Plane53-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane53-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [36.51 -10.87 -92.71, 36.38 -10.89 -92.78, +36.19 -9.805 -92.83, 36.14 -9.813 -92.86, 36.54 -8.658 -92.75, +36.47 -8.678 -92.87, 36.7 -7.486 -92.53, 36.64 -7.496 -92.56, +36.44 -6.409 -92.98, 36.41 -6.413 -92.99, 36.31 -10.92 -92.72, +36.11 -9.824 -92.83, 36.4 -8.704 -92.81, 36.61 -7.507 -92.53, +36.4 -6.418 -92.98, 36.55 -10.87 -92.66, 36.42 -10.89 -92.74, +36.39 -9.791 -92.61, 36.33 -9.8 -92.65, 36.39 -8.669 -92.93, +36.33 -8.688 -93.03, 36.37 -7.51 -92.89, 36.31 -7.519 -92.93, +36.83 -6.381 -92.54, 36.81 -6.385 -92.55, 36.35 -10.91 -92.67, +36.3 -9.811 -92.62, 36.25 -8.715 -92.97, 36.28 -7.531 -92.9, +36.8 -6.39 -92.53, 36.51 -10.87 -92.71, 36.38 -10.89 -92.78, +36.19 -9.805 -92.83, 36.14 -9.813 -92.86, 36.54 -8.658 -92.75, +36.47 -8.678 -92.87, 36.7 -7.486 -92.53, 36.64 -7.496 -92.56, +36.44 -6.409 -92.98, 36.41 -6.413 -92.99, 36.31 -10.92 -92.72, +36.11 -9.824 -92.83, 36.4 -8.704 -92.81, 36.61 -7.507 -92.53, +36.4 -6.418 -92.98, ] +} +] +}, +DEF Plane54 Transform { +translation -36.27 6.705 92.89 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane54-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane54-COORD Coordinate { +point [ 36.15 -10.87 -92.71 36.28 -10.89 -92.78 36.35 -9.802 -92.9 36.4 -9.81 +-92.93 36.17 -8.658 -92.66 36.3 -8.678 -92.66 36.03 -7.493 -92.67 36.09 -7.502 +-92.7 36.36 -6.407 -92.62 36.38 -6.411 -92.63 36.27 -10.92 -92.88 36.4 -9.821 +-92.97 36.28 -8.704 -92.75 36.08 -7.514 -92.74 36.38 -6.416 -92.65 ] +} +texCoord DEF Plane54-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane54-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [36.15 -10.87 -92.71, 36.28 -10.89 -92.78, +36.35 -9.802 -92.9, 36.4 -9.81 -92.93, 36.17 -8.658 -92.66, +36.3 -8.678 -92.66, 36.03 -7.493 -92.67, 36.09 -7.502 -92.7, +36.36 -6.407 -92.62, 36.38 -6.411 -92.63, 36.27 -10.92 -92.88, +36.4 -9.821 -92.97, 36.28 -8.704 -92.75, 36.08 -7.514 -92.74, +36.38 -6.416 -92.65, 36.12 -10.87 -92.7, 36.25 -10.89 -92.78, +36.17 -9.793 -92.87, 36.22 -9.801 -92.9, 36.31 -8.665 -92.68, +36.44 -8.685 -92.68, 36.34 -7.508 -92.72, 36.4 -7.517 -92.75, +35.98 -6.388 -92.55, 36.01 -6.392 -92.57, 36.23 -10.92 -92.87, +36.22 -9.812 -92.94, 36.42 -8.711 -92.77, 36.39 -7.529 -92.8, +36 -6.397 -92.58, 36.15 -10.87 -92.71, 36.28 -10.89 -92.78, +36.35 -9.802 -92.9, 36.4 -9.81 -92.93, 36.17 -8.658 -92.66, +36.3 -8.678 -92.66, 36.03 -7.493 -92.67, 36.09 -7.502 -92.7, +36.36 -6.407 -92.62, 36.38 -6.411 -92.63, 36.27 -10.92 -92.88, +36.4 -9.821 -92.97, 36.28 -8.704 -92.75, 36.08 -7.514 -92.74, +36.38 -6.416 -92.65, ] +} +] +} +] +ROUTE long_seaweed_low08-TIMER.fraction_changed TO Plane53-COORD-INTERP.set_fraction +ROUTE Plane53-COORD-INTERP.value_changed TO Plane53-COORD.set_point +ROUTE long_seaweed_low08-TIMER.fraction_changed TO Plane54-COORD-INTERP.set_fraction +ROUTE Plane54-COORD-INTERP.value_changed TO Plane54-COORD.set_point +} +DEF long_seaweed_low09 Transform { +translation 45.42 -7.668 -34.57 +children [ +DEF long_seaweed_low09-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +DEF Plane55 Transform { +translation -45.42 7.668 34.57 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane55-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane55-COORD Coordinate { +point [ 45.66 -11.83 -34.39 45.53 -11.86 -34.46 45.34 -10.77 -34.51 45.29 +-10.78 -34.54 45.69 -9.622 -34.43 45.62 -9.642 -34.55 45.84 -8.45 -34.21 45.79 +-8.459 -34.24 45.59 -7.373 -34.66 45.56 -7.377 -34.67 45.46 -11.88 -34.4 45.26 +-10.79 -34.51 45.55 -9.668 -34.49 45.76 -8.471 -34.21 45.54 -7.382 -34.66 +] +} +texCoord DEF Plane55-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane55-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [45.66 -11.83 -34.39, 45.53 -11.86 -34.46, +45.34 -10.77 -34.51, 45.29 -10.78 -34.54, 45.69 -9.622 -34.43, +45.62 -9.642 -34.55, 45.84 -8.45 -34.21, 45.79 -8.459 -34.24, +45.59 -7.373 -34.66, 45.56 -7.377 -34.67, 45.46 -11.88 -34.4, +45.26 -10.79 -34.51, 45.55 -9.668 -34.49, 45.76 -8.471 -34.21, +45.54 -7.382 -34.66, 45.7 -11.83 -34.34, 45.57 -11.85 -34.42, +45.54 -10.76 -34.29, 45.48 -10.76 -34.33, 45.54 -9.633 -34.61, +45.48 -9.652 -34.71, 45.52 -8.473 -34.57, 45.46 -8.483 -34.61, +45.98 -7.345 -34.21, 45.95 -7.349 -34.23, 45.49 -11.88 -34.35, +45.45 -10.77 -34.3, 45.4 -9.679 -34.65, 45.43 -8.495 -34.58, +45.94 -7.353 -34.21, 45.66 -11.83 -34.39, 45.53 -11.86 -34.46, +45.34 -10.77 -34.51, 45.29 -10.78 -34.54, 45.69 -9.622 -34.43, +45.62 -9.642 -34.55, 45.84 -8.45 -34.21, 45.79 -8.459 -34.24, +45.59 -7.373 -34.66, 45.56 -7.377 -34.67, 45.46 -11.88 -34.4, +45.26 -10.79 -34.51, 45.55 -9.668 -34.49, 45.76 -8.471 -34.21, +45.54 -7.382 -34.66, ] +} +] +}, +DEF Plane56 Transform { +translation -45.42 7.668 34.57 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane56-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane56-COORD Coordinate { +point [ 45.3 -11.84 -34.39 45.43 -11.86 -34.46 45.5 -10.77 -34.58 45.55 -10.77 +-34.61 45.31 -9.622 -34.34 45.45 -9.642 -34.33 45.18 -8.457 -34.34 45.24 -8.466 +-34.38 45.51 -7.371 -34.3 45.53 -7.374 -34.31 45.42 -11.88 -34.56 45.54 -10.79 +-34.65 45.43 -9.668 -34.43 45.22 -8.478 -34.42 45.53 -7.38 -34.33 ] +} +texCoord DEF Plane56-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane56-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [45.3 -11.84 -34.39, 45.43 -11.86 -34.46, +45.5 -10.77 -34.58, 45.55 -10.77 -34.61, 45.31 -9.622 -34.34, +45.45 -9.642 -34.33, 45.18 -8.457 -34.34, 45.24 -8.466 -34.38, +45.51 -7.371 -34.3, 45.53 -7.374 -34.31, 45.42 -11.88 -34.56, +45.54 -10.79 -34.65, 45.43 -9.668 -34.43, 45.22 -8.478 -34.42, +45.53 -7.38 -34.33, 45.27 -11.83 -34.38, 45.4 -11.85 -34.46, +45.31 -10.76 -34.55, 45.37 -10.77 -34.58, 45.46 -9.629 -34.36, +45.58 -9.649 -34.36, 45.48 -8.472 -34.4, 45.54 -8.481 -34.43, +45.13 -7.352 -34.23, 45.15 -7.356 -34.25, 45.38 -11.88 -34.55, +45.36 -10.78 -34.62, 45.57 -9.675 -34.45, 45.54 -8.493 -34.48, +45.15 -7.361 -34.26, 45.3 -11.84 -34.39, 45.43 -11.86 -34.46, +45.5 -10.77 -34.58, 45.55 -10.77 -34.61, 45.31 -9.622 -34.34, +45.45 -9.642 -34.33, 45.18 -8.457 -34.34, 45.24 -8.466 -34.38, +45.51 -7.371 -34.3, 45.53 -7.374 -34.31, 45.42 -11.88 -34.56, +45.54 -10.79 -34.65, 45.43 -9.668 -34.43, 45.22 -8.478 -34.42, +45.53 -7.38 -34.33, ] +} +] +} +] +ROUTE long_seaweed_low09-TIMER.fraction_changed TO Plane55-COORD-INTERP.set_fraction +ROUTE Plane55-COORD-INTERP.value_changed TO Plane55-COORD.set_point +ROUTE long_seaweed_low09-TIMER.fraction_changed TO Plane56-COORD-INTERP.set_fraction +ROUTE Plane56-COORD-INTERP.value_changed TO Plane56-COORD.set_point +} +DEF long_seaweed_low10 Transform { +translation 22.61 -7.668 -66.5 +children [ +DEF long_seaweed_low10-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +DEF Plane57 Transform { +translation -22.61 7.668 66.5 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane57-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane57-COORD Coordinate { +point [ 22.85 -11.83 -66.32 22.72 -11.86 -66.39 22.53 -10.77 -66.44 22.48 +-10.78 -66.47 22.88 -9.622 -66.36 22.81 -9.642 -66.48 23.03 -8.45 -66.14 22.98 +-8.459 -66.17 22.78 -7.373 -66.59 22.75 -7.377 -66.6 22.65 -11.88 -66.33 22.45 +-10.79 -66.44 22.74 -9.668 -66.42 22.95 -8.471 -66.14 22.73 -7.382 -66.59 +] +} +texCoord DEF Plane57-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane57-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [22.85 -11.83 -66.32, 22.72 -11.86 -66.39, +22.53 -10.77 -66.44, 22.48 -10.78 -66.47, 22.88 -9.622 -66.36, +22.81 -9.642 -66.48, 23.03 -8.45 -66.14, 22.98 -8.459 -66.17, +22.78 -7.373 -66.59, 22.75 -7.377 -66.6, 22.65 -11.88 -66.33, +22.45 -10.79 -66.44, 22.74 -9.668 -66.42, 22.95 -8.471 -66.14, +22.73 -7.382 -66.59, 22.89 -11.83 -66.27, 22.76 -11.85 -66.35, +22.72 -10.76 -66.23, 22.67 -10.76 -66.26, 22.73 -9.633 -66.54, +22.67 -9.652 -66.64, 22.71 -8.473 -66.5, 22.65 -8.483 -66.54, +23.17 -7.345 -66.15, 23.14 -7.349 -66.16, 22.68 -11.88 -66.28, +22.64 -10.77 -66.23, 22.59 -9.679 -66.58, 22.62 -8.495 -66.51, +23.13 -7.353 -66.14, 22.85 -11.83 -66.32, 22.72 -11.86 -66.39, +22.53 -10.77 -66.44, 22.48 -10.78 -66.47, 22.88 -9.622 -66.36, +22.81 -9.642 -66.48, 23.03 -8.45 -66.14, 22.98 -8.459 -66.17, +22.78 -7.373 -66.59, 22.75 -7.377 -66.6, 22.65 -11.88 -66.33, +22.45 -10.79 -66.44, 22.74 -9.668 -66.42, 22.95 -8.471 -66.14, +22.73 -7.382 -66.59, ] +} +] +}, +DEF Plane58 Transform { +translation -22.61 7.668 66.5 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane58-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane58-COORD Coordinate { +point [ 22.49 -11.84 -66.32 22.62 -11.86 -66.39 22.69 -10.77 -66.51 22.74 +-10.77 -66.54 22.5 -9.622 -66.27 22.64 -9.642 -66.27 22.37 -8.457 -66.28 22.43 +-8.466 -66.31 22.7 -7.371 -66.23 22.72 -7.374 -66.24 22.61 -11.88 -66.49 22.73 +-10.79 -66.58 22.62 -9.668 -66.36 22.41 -8.478 -66.35 22.72 -7.38 -66.26 ] +} +texCoord DEF Plane58-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane58-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [22.49 -11.84 -66.32, 22.62 -11.86 -66.39, +22.69 -10.77 -66.51, 22.74 -10.77 -66.54, 22.5 -9.622 -66.27, +22.64 -9.642 -66.27, 22.37 -8.457 -66.28, 22.43 -8.466 -66.31, +22.7 -7.371 -66.23, 22.72 -7.374 -66.24, 22.61 -11.88 -66.49, +22.73 -10.79 -66.58, 22.62 -9.668 -66.36, 22.41 -8.478 -66.35, +22.72 -7.38 -66.26, 22.46 -11.83 -66.31, 22.59 -11.85 -66.39, +22.5 -10.76 -66.48, 22.56 -10.77 -66.51, 22.65 -9.629 -66.29, +22.77 -9.649 -66.29, 22.67 -8.472 -66.33, 22.73 -8.481 -66.36, +22.32 -7.352 -66.16, 22.34 -7.356 -66.18, 22.57 -11.88 -66.48, +22.55 -10.78 -66.55, 22.76 -9.675 -66.39, 22.73 -8.493 -66.41, +22.34 -7.361 -66.19, 22.49 -11.84 -66.32, 22.62 -11.86 -66.39, +22.69 -10.77 -66.51, 22.74 -10.77 -66.54, 22.5 -9.622 -66.27, +22.64 -9.642 -66.27, 22.37 -8.457 -66.28, 22.43 -8.466 -66.31, +22.7 -7.371 -66.23, 22.72 -7.374 -66.24, 22.61 -11.88 -66.49, +22.73 -10.79 -66.58, 22.62 -9.668 -66.36, 22.41 -8.478 -66.35, +22.72 -7.38 -66.26, ] +} +] +} +] +ROUTE long_seaweed_low10-TIMER.fraction_changed TO Plane57-COORD-INTERP.set_fraction +ROUTE Plane57-COORD-INTERP.value_changed TO Plane57-COORD.set_point +ROUTE long_seaweed_low10-TIMER.fraction_changed TO Plane58-COORD-INTERP.set_fraction +ROUTE Plane58-COORD-INTERP.value_changed TO Plane58-COORD.set_point +} +DEF long_seaweed_low11 Transform { +translation 3.064 -7.668 -96.63 +children [ +DEF long_seaweed_low11-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +DEF Plane59 Transform { +translation -3.064 7.668 96.63 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane59-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane59-COORD Coordinate { +point [ 3.305 -11.83 -96.45 3.175 -11.86 -96.53 2.988 -10.77 -96.58 2.934 +-10.78 -96.61 3.337 -9.622 -96.5 3.266 -9.642 -96.62 3.49 -8.45 -96.28 3.432 +-8.459 -96.31 3.231 -7.373 -96.72 3.206 -7.377 -96.74 3.102 -11.88 -96.46 +2.905 -10.79 -96.58 3.194 -9.668 -96.55 3.403 -8.471 -96.27 3.19 -7.382 -96.73 +] +} +texCoord DEF Plane59-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane59-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [3.305 -11.83 -96.45, 3.175 -11.86 -96.53, +2.988 -10.77 -96.58, 2.934 -10.78 -96.61, 3.337 -9.622 -96.5, +3.266 -9.642 -96.62, 3.49 -8.45 -96.28, 3.432 -8.459 -96.31, +3.231 -7.373 -96.72, 3.206 -7.377 -96.74, 3.102 -11.88 -96.46, +2.905 -10.79 -96.58, 3.194 -9.668 -96.55, 3.403 -8.471 -96.27, +3.19 -7.382 -96.73, 3.343 -11.83 -96.41, 3.213 -11.85 -96.48, +3.181 -10.76 -96.36, 3.126 -10.76 -96.39, 3.183 -9.633 -96.67, +3.122 -9.652 -96.78, 3.169 -8.473 -96.64, 3.108 -8.483 -96.67, +3.622 -7.345 -96.28, 3.6 -7.349 -96.29, 3.14 -11.88 -96.42, +3.095 -10.77 -96.37, 3.045 -9.679 -96.72, 3.074 -8.495 -96.65, +3.59 -7.353 -96.27, 3.305 -11.83 -96.45, 3.175 -11.86 -96.53, +2.988 -10.77 -96.58, 2.934 -10.78 -96.61, 3.337 -9.622 -96.5, +3.266 -9.642 -96.62, 3.49 -8.45 -96.28, 3.432 -8.459 -96.31, +3.231 -7.373 -96.72, 3.206 -7.377 -96.74, 3.102 -11.88 -96.46, +2.905 -10.79 -96.58, 3.194 -9.668 -96.55, 3.403 -8.471 -96.27, +3.19 -7.382 -96.73, ] +} +] +}, +DEF Plane60 Transform { +translation -3.064 7.668 96.63 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane60-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane60-COORD Coordinate { +point [ 2.949 -11.84 -96.45 3.078 -11.86 -96.53 3.144 -10.77 -96.65 3.199 +-10.77 -96.68 2.959 -9.622 -96.4 3.094 -9.642 -96.4 2.824 -8.457 -96.41 2.882 +-8.466 -96.44 3.153 -7.371 -96.36 3.179 -7.374 -96.38 3.062 -11.88 -96.62 +3.19 -10.79 -96.72 3.078 -9.668 -96.5 2.871 -8.478 -96.49 3.177 -7.38 -96.4 +] +} +texCoord DEF Plane60-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane60-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [2.949 -11.84 -96.45, 3.078 -11.86 -96.53, +3.144 -10.77 -96.65, 3.199 -10.77 -96.68, 2.959 -9.622 -96.4, +3.094 -9.642 -96.4, 2.824 -8.457 -96.41, 2.882 -8.466 -96.44, +3.153 -7.371 -96.36, 3.179 -7.374 -96.38, 3.062 -11.88 -96.62, +3.19 -10.79 -96.72, 3.078 -9.668 -96.5, 2.871 -8.478 -96.49, +3.177 -7.38 -96.4, 2.912 -11.83 -96.45, 3.042 -11.85 -96.52, +2.961 -10.76 -96.61, 3.016 -10.77 -96.64, 3.106 -9.629 -96.43, +3.231 -9.649 -96.42, 3.13 -8.472 -96.46, 3.19 -8.481 -96.5, +2.777 -7.352 -96.3, 2.8 -7.356 -96.31, 3.026 -11.88 -96.62, +3.01 -10.78 -96.68, 3.218 -9.675 -96.52, 3.183 -8.493 -96.54, +2.793 -7.361 -96.33, 2.949 -11.84 -96.45, 3.078 -11.86 -96.53, +3.144 -10.77 -96.65, 3.199 -10.77 -96.68, 2.959 -9.622 -96.4, +3.094 -9.642 -96.4, 2.824 -8.457 -96.41, 2.882 -8.466 -96.44, +3.153 -7.371 -96.36, 3.179 -7.374 -96.38, 3.062 -11.88 -96.62, +3.19 -10.79 -96.72, 3.078 -9.668 -96.5, 2.871 -8.478 -96.49, +3.177 -7.38 -96.4, ] +} +] +} +] +ROUTE long_seaweed_low11-TIMER.fraction_changed TO Plane59-COORD-INTERP.set_fraction +ROUTE Plane59-COORD-INTERP.value_changed TO Plane59-COORD.set_point +ROUTE long_seaweed_low11-TIMER.fraction_changed TO Plane60-COORD-INTERP.set_fraction +ROUTE Plane60-COORD-INTERP.value_changed TO Plane60-COORD.set_point +} +DEF long_seaweed_low12 Transform { +translation 0.1939 -7.668 -83.69 +children [ +DEF long_seaweed_low12-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +DEF Plane61 Transform { +translation -0.1939 7.668 83.69 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane61-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane61-COORD Coordinate { +point [ .07838 -11.84 -83.51 .208 -11.86 -83.59 .2739 -10.77 -83.7 .328 -10.77 +-83.73 .08874 -9.622 -83.46 .2237 -9.642 -83.46 -.04687 -8.457 -83.47 .01116 +-8.466 -83.5 .2825 -7.371 -83.42 .3082 -7.374 -83.44 .1916 -11.88 -83.68 .3194 +-10.79 -83.77 .207 -9.668 -83.55 .000503 -8.478 -83.55 .3063 -7.38 -83.46 +] +} +texCoord DEF Plane61-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane61-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [0.07838 -11.84 -83.51, 0.208 -11.86 -83.59, +0.2739 -10.77 -83.7, 0.328 -10.77 -83.73, 0.08874 -9.622 -83.46, +0.2237 -9.642 -83.46, -0.04687 -8.457 -83.47, 0.01116 -8.466 -83.5, +0.2825 -7.371 -83.42, 0.3082 -7.374 -83.44, 0.1916 -11.88 -83.68, +0.3194 -10.79 -83.77, 0.207 -9.668 -83.55, 0.0005032 -8.478 -83.55, +0.3063 -7.38 -83.46, 0.04183 -11.83 -83.51, 0.1714 -11.85 -83.58, +0.09014 -10.76 -83.67, 0.1452 -10.77 -83.7, 0.2357 -9.629 -83.49, +0.3602 -9.649 -83.48, 0.2592 -8.472 -83.52, 0.3198 -8.481 -83.56, +-0.09373 -7.352 -83.36, -0.0708 -7.356 -83.37, 0.1555 -11.88 -83.67, +0.139 -10.78 -83.74, 0.3479 -9.675 -83.58, 0.3128 -8.493 -83.6, +-0.07788 -7.361 -83.39, 0.07838 -11.84 -83.51, 0.208 -11.86 -83.59, +0.2739 -10.77 -83.7, 0.328 -10.77 -83.73, 0.08874 -9.622 -83.46, +0.2237 -9.642 -83.46, -0.04687 -8.457 -83.47, 0.01116 -8.466 -83.5, +0.2825 -7.371 -83.42, 0.3082 -7.374 -83.44, 0.1916 -11.88 -83.68, +0.3194 -10.79 -83.77, 0.207 -9.668 -83.55, 0.0005032 -8.478 -83.55, +0.3063 -7.38 -83.46, ] +} +] +}, +DEF Plane62 Transform { +translation -0.1939 7.668 83.69 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane62-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane62-COORD Coordinate { +point [ .434 -11.83 -83.51 .3041 -11.86 -83.58 .1175 -10.77 -83.64 .06338 +-10.78 -83.67 .4664 -9.622 -83.56 .3951 -9.642 -83.67 .6198 -8.45 -83.33 .562 +-8.459 -83.36 .361 -7.373 -83.78 .335 -7.377 -83.8 .2319 -11.88 -83.52 .03493 +-10.79 -83.64 .3232 -9.668 -83.61 .5322 -8.471 -83.33 .3196 -7.382 -83.79 +] +} +texCoord DEF Plane62-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane62-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [0.434 -11.83 -83.51, 0.3041 -11.86 -83.58, +0.1175 -10.77 -83.64, 0.06338 -10.78 -83.67, 0.4664 -9.622 -83.56, +0.3951 -9.642 -83.67, 0.6198 -8.45 -83.33, 0.562 -8.459 -83.36, +0.361 -7.373 -83.78, 0.335 -7.377 -83.8, 0.2319 -11.88 -83.52, +0.03493 -10.79 -83.64, 0.3232 -9.668 -83.61, 0.5322 -8.471 -83.33, +0.3196 -7.382 -83.79, 0.4725 -11.83 -83.47, 0.3427 -11.85 -83.54, +0.3108 -10.76 -83.42, 0.2556 -10.76 -83.45, 0.3121 -9.633 -83.73, +0.252 -9.652 -83.84, 0.2986 -8.473 -83.7, 0.2378 -8.483 -83.73, +0.7519 -7.345 -83.34, 0.7293 -7.349 -83.35, 0.2698 -11.88 -83.48, +0.2242 -10.77 -83.42, 0.1749 -9.679 -83.78, 0.2036 -8.495 -83.7, +0.72 -7.353 -83.33, 0.434 -11.83 -83.51, 0.3041 -11.86 -83.58, +0.1175 -10.77 -83.64, 0.06338 -10.78 -83.67, 0.4664 -9.622 -83.56, +0.3951 -9.642 -83.67, 0.6198 -8.45 -83.33, 0.562 -8.459 -83.36, +0.361 -7.373 -83.78, 0.335 -7.377 -83.8, 0.2319 -11.88 -83.52, +0.03493 -10.79 -83.64, 0.3232 -9.668 -83.61, 0.5322 -8.471 -83.33, +0.3196 -7.382 -83.79, ] +} +] +}, +] +ROUTE long_seaweed_low12-TIMER.fraction_changed TO Plane61-COORD-INTERP.set_fraction +ROUTE Plane61-COORD-INTERP.value_changed TO Plane61-COORD.set_point +ROUTE long_seaweed_low12-TIMER.fraction_changed TO Plane62-COORD-INTERP.set_fraction +ROUTE Plane62-COORD-INTERP.value_changed TO Plane62-COORD.set_point +} +DEF long_seaweed_low13 Transform { +translation -17.09 -7.668 -86.68 +children [ +DEF long_seaweed_low13-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +DEF Plane63 Transform { +translation 17.09 7.668 86.68 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane63-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane63-COORD Coordinate { +point [ -16.85 -11.83 -86.5 -16.98 -11.86 -86.58 -17.17 -10.77 -86.63 -17.22 +-10.78 -86.66 -16.82 -9.622 -86.55 -16.89 -9.642 -86.67 -16.67 -8.45 -86.33 +-16.73 -8.459 -86.36 -16.93 -7.373 -86.77 -16.95 -7.377 -86.79 -17.06 -11.88 +-86.51 -17.25 -10.79 -86.63 -16.96 -9.668 -86.6 -16.76 -8.471 -86.32 -16.97 +-7.382 -86.78 ] +} +texCoord DEF Plane63-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane63-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [-16.85 -11.83 -86.5, -16.98 -11.86 -86.58, +-17.17 -10.77 -86.63, -17.22 -10.78 -86.66, -16.82 -9.622 -86.55, +-16.89 -9.642 -86.67, -16.67 -8.45 -86.33, -16.73 -8.459 -86.36, +-16.93 -7.373 -86.77, -16.95 -7.377 -86.79, -17.06 -11.88 -86.51, +-17.25 -10.79 -86.63, -16.96 -9.668 -86.6, -16.76 -8.471 -86.32, +-16.97 -7.382 -86.78, -16.82 -11.83 -86.46, -16.95 -11.85 -86.53, +-16.98 -10.76 -86.41, -17.03 -10.76 -86.44, -16.98 -9.633 -86.72, +-17.04 -9.652 -86.83, -16.99 -8.473 -86.69, -17.05 -8.483 -86.72, +-16.54 -7.345 -86.33, -16.56 -7.349 -86.34, -17.02 -11.88 -86.47, +-17.06 -10.77 -86.42, -17.11 -9.679 -86.77, -17.08 -8.495 -86.7, +-16.57 -7.353 -86.33, -16.85 -11.83 -86.5, -16.98 -11.86 -86.58, +-17.17 -10.77 -86.63, -17.22 -10.78 -86.66, -16.82 -9.622 -86.55, +-16.89 -9.642 -86.67, -16.67 -8.45 -86.33, -16.73 -8.459 -86.36, +-16.93 -7.373 -86.77, -16.95 -7.377 -86.79, -17.06 -11.88 -86.51, +-17.25 -10.79 -86.63, -16.96 -9.668 -86.6, -16.76 -8.471 -86.32, +-16.97 -7.382 -86.78, ] +} +] +}, +DEF Plane64 Transform { +translation 17.09 7.668 86.68 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane64-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane64-COORD Coordinate { +point [ -17.21 -11.84 -86.51 -17.08 -11.86 -86.58 -17.01 -10.77 -86.7 -16.96 +-10.77 -86.73 -17.2 -9.622 -86.45 -17.06 -9.642 -86.45 -17.33 -8.457 -86.46 +-17.28 -8.466 -86.49 -17.01 -7.371 -86.42 -16.98 -7.374 -86.43 -17.1 -11.88 +-86.67 -16.97 -10.79 -86.77 -17.08 -9.668 -86.55 -17.29 -8.478 -86.54 -16.98 +-7.38 -86.45 ] +} +texCoord DEF Plane64-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane64-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [-17.21 -11.84 -86.51, -17.08 -11.86 -86.58, +-17.01 -10.77 -86.7, -16.96 -10.77 -86.73, -17.2 -9.622 -86.45, +-17.06 -9.642 -86.45, -17.33 -8.457 -86.46, -17.28 -8.466 -86.49, +-17.01 -7.371 -86.42, -16.98 -7.374 -86.43, -17.1 -11.88 -86.67, +-16.97 -10.79 -86.77, -17.08 -9.668 -86.55, -17.29 -8.478 -86.54, +-16.98 -7.38 -86.45, -17.25 -11.83 -86.5, -17.12 -11.85 -86.57, +-17.2 -10.76 -86.66, -17.14 -10.77 -86.69, -17.05 -9.629 -86.48, +-16.93 -9.649 -86.48, -17.03 -8.472 -86.52, -16.97 -8.481 -86.55, +-17.38 -7.352 -86.35, -17.36 -7.356 -86.36, -17.13 -11.88 -86.67, +-17.15 -10.78 -86.73, -16.94 -9.675 -86.57, -16.97 -8.493 -86.59, +-17.37 -7.361 -86.38, -17.21 -11.84 -86.51, -17.08 -11.86 -86.58, +-17.01 -10.77 -86.7, -16.96 -10.77 -86.73, -17.2 -9.622 -86.45, +-17.06 -9.642 -86.45, -17.33 -8.457 -86.46, -17.28 -8.466 -86.49, +-17.01 -7.371 -86.42, -16.98 -7.374 -86.43, -17.1 -11.88 -86.67, +-16.97 -10.79 -86.77, -17.08 -9.668 -86.55, -17.29 -8.478 -86.54, +-16.98 -7.38 -86.45, ] +} +] +}, +] +ROUTE long_seaweed_low13-TIMER.fraction_changed TO Plane63-COORD-INTERP.set_fraction +ROUTE Plane63-COORD-INTERP.value_changed TO Plane63-COORD.set_point +ROUTE long_seaweed_low13-TIMER.fraction_changed TO Plane64-COORD-INTERP.set_fraction +ROUTE Plane64-COORD-INTERP.value_changed TO Plane64-COORD.set_point +} +DEF long_seaweed_low14 Transform { +translation -67.34 -7.668 -77.46 +children [ +DEF long_seaweed_low14-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +DEF Plane65 Transform { +translation 67.34 7.668 77.46 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane65-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane65-COORD Coordinate { +point [ -67.1 -11.83 -77.28 -67.23 -11.86 -77.35 -67.42 -10.77 -77.41 -67.47 +-10.78 -77.44 -67.07 -9.622 -77.32 -67.14 -9.642 -77.44 -66.91 -8.45 -77.1 +-66.97 -8.459 -77.13 -67.17 -7.373 -77.55 -67.2 -7.377 -77.56 -67.3 -11.88 +-77.29 -67.5 -10.79 -77.41 -67.21 -9.668 -77.38 -67 -8.471 -77.1 -67.21 -7.382 +-77.55 ] +} +texCoord DEF Plane65-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane65-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [-67.1 -11.83 -77.28, -67.23 -11.86 -77.35, +-67.42 -10.77 -77.41, -67.47 -10.78 -77.44, -67.07 -9.622 -77.32, +-67.14 -9.642 -77.44, -66.91 -8.45 -77.1, -66.97 -8.459 -77.13, +-67.17 -7.373 -77.55, -67.2 -7.377 -77.56, -67.3 -11.88 -77.29, +-67.5 -10.79 -77.41, -67.21 -9.668 -77.38, -67 -8.471 -77.1, +-67.21 -7.382 -77.55, -67.06 -11.83 -77.24, -67.19 -11.85 -77.31, +-67.22 -10.76 -77.19, -67.28 -10.76 -77.22, -67.22 -9.633 -77.5, +-67.28 -9.652 -77.6, -67.24 -8.473 -77.47, -67.3 -8.483 -77.5, +-66.78 -7.345 -77.11, -66.81 -7.349 -77.12, -67.26 -11.88 -77.25, +-67.31 -10.77 -77.19, -67.36 -9.679 -77.55, -67.33 -8.495 -77.47, +-66.81 -7.353 -77.1, -67.1 -11.83 -77.28, -67.23 -11.86 -77.35, +-67.42 -10.77 -77.41, -67.47 -10.78 -77.44, -67.07 -9.622 -77.32, +-67.14 -9.642 -77.44, -66.91 -8.45 -77.1, -66.97 -8.459 -77.13, +-67.17 -7.373 -77.55, -67.2 -7.377 -77.56, -67.3 -11.88 -77.29, +-67.5 -10.79 -77.41, -67.21 -9.668 -77.38, -67 -8.471 -77.1, +-67.21 -7.382 -77.55, ] +} +] +}, +DEF Plane66 Transform { +translation 67.34 7.668 77.46 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane66-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane66-COORD Coordinate { +point [ -67.46 -11.84 -77.28 -67.33 -11.86 -77.35 -67.26 -10.77 -77.47 -67.21 +-10.77 -77.5 -67.45 -9.622 -77.23 -67.31 -9.642 -77.23 -67.58 -8.457 -77.24 +-67.52 -8.466 -77.27 -67.25 -7.371 -77.19 -67.23 -7.374 -77.21 -67.34 -11.88 +-77.45 -67.22 -10.79 -77.54 -67.33 -9.668 -77.32 -67.53 -8.478 -77.31 -67.23 +-7.38 -77.22 ] +} +texCoord DEF Plane66-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane66-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [-67.46 -11.84 -77.28, -67.33 -11.86 -77.35, +-67.26 -10.77 -77.47, -67.21 -10.77 -77.5, -67.45 -9.622 -77.23, +-67.31 -9.642 -77.23, -67.58 -8.457 -77.24, -67.52 -8.466 -77.27, +-67.25 -7.371 -77.19, -67.23 -7.374 -77.21, -67.34 -11.88 -77.45, +-67.22 -10.79 -77.54, -67.33 -9.668 -77.32, -67.53 -8.478 -77.31, +-67.23 -7.38 -77.22, -67.49 -11.83 -77.27, -67.36 -11.85 -77.35, +-67.44 -10.76 -77.44, -67.39 -10.77 -77.47, -67.3 -9.629 -77.25, +-67.17 -9.649 -77.25, -67.28 -8.472 -77.29, -67.21 -8.481 -77.32, +-67.63 -7.352 -77.13, -67.61 -7.356 -77.14, -67.38 -11.88 -77.44, +-67.4 -10.78 -77.51, -67.19 -9.675 -77.35, -67.22 -8.493 -77.37, +-67.61 -7.361 -77.16, -67.46 -11.84 -77.28, -67.33 -11.86 -77.35, +-67.26 -10.77 -77.47, -67.21 -10.77 -77.5, -67.45 -9.622 -77.23, +-67.31 -9.642 -77.23, -67.58 -8.457 -77.24, -67.52 -8.466 -77.27, +-67.25 -7.371 -77.19, -67.23 -7.374 -77.21, -67.34 -11.88 -77.45, +-67.22 -10.79 -77.54, -67.33 -9.668 -77.32, -67.53 -8.478 -77.31, +-67.23 -7.38 -77.22, ] +} +] +}, +] +ROUTE long_seaweed_low14-TIMER.fraction_changed TO Plane65-COORD-INTERP.set_fraction +ROUTE Plane65-COORD-INTERP.value_changed TO Plane65-COORD.set_point +ROUTE long_seaweed_low14-TIMER.fraction_changed TO Plane66-COORD-INTERP.set_fraction +ROUTE Plane66-COORD-INTERP.value_changed TO Plane66-COORD.set_point +} +DEF long_seaweed_low15 Transform { +translation 78.54 -7.668 -82.55 +children [ +DEF long_seaweed_low15-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +DEF Plane67 Transform { +translation -78.54 7.668 82.55 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane67-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane67-COORD Coordinate { +point [ 78.42 -11.84 -82.37 78.55 -11.86 -82.44 78.62 -10.77 -82.56 78.67 +-10.77 -82.59 78.43 -9.622 -82.31 78.57 -9.642 -82.31 78.3 -8.457 -82.32 78.36 +-8.466 -82.36 78.63 -7.371 -82.28 78.65 -7.374 -82.29 78.54 -11.88 -82.53 +78.66 -10.79 -82.63 78.55 -9.668 -82.41 78.35 -8.478 -82.4 78.65 -7.38 -82.31 +] +} +texCoord DEF Plane67-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane67-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [78.42 -11.84 -82.37, 78.55 -11.86 -82.44, +78.62 -10.77 -82.56, 78.67 -10.77 -82.59, 78.43 -9.622 -82.31, +78.57 -9.642 -82.31, 78.3 -8.457 -82.32, 78.36 -8.466 -82.36, +78.63 -7.371 -82.28, 78.65 -7.374 -82.29, 78.54 -11.88 -82.53, +78.66 -10.79 -82.63, 78.55 -9.668 -82.41, 78.35 -8.478 -82.4, +78.65 -7.38 -82.31, 78.39 -11.83 -82.36, 78.52 -11.85 -82.43, +78.44 -10.76 -82.52, 78.49 -10.77 -82.56, 78.58 -9.629 -82.34, +78.71 -9.649 -82.34, 78.6 -8.472 -82.38, 78.67 -8.481 -82.41, +78.25 -7.352 -82.21, 78.27 -7.356 -82.22, 78.5 -11.88 -82.53, +78.48 -10.78 -82.6, 78.69 -9.675 -82.43, 78.66 -8.493 -82.45, +78.27 -7.361 -82.24, 78.42 -11.84 -82.37, 78.55 -11.86 -82.44, +78.62 -10.77 -82.56, 78.67 -10.77 -82.59, 78.43 -9.622 -82.31, +78.57 -9.642 -82.31, 78.3 -8.457 -82.32, 78.36 -8.466 -82.36, +78.63 -7.371 -82.28, 78.65 -7.374 -82.29, 78.54 -11.88 -82.53, +78.66 -10.79 -82.63, 78.55 -9.668 -82.41, 78.35 -8.478 -82.4, +78.65 -7.38 -82.31, ] +} +] +}, +DEF Plane68 Transform { +translation -78.54 7.668 82.55 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane68-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane68-COORD Coordinate { +point [ 78.78 -11.83 -82.36 78.65 -11.86 -82.44 78.46 -10.77 -82.49 78.41 +-10.78 -82.52 78.81 -9.622 -82.41 78.74 -9.642 -82.53 78.97 -8.45 -82.19 78.91 +-8.459 -82.22 78.71 -7.373 -82.63 78.68 -7.377 -82.65 78.58 -11.88 -82.37 +78.38 -10.79 -82.49 78.67 -9.668 -82.46 78.88 -8.471 -82.19 78.67 -7.382 -82.64 +] +} +texCoord DEF Plane68-TEXCOORD +TextureCoordinate { point [ .4519 .1385 .1385 .5019 .5324 .2402 .2402 .4546 +.4028 .3378 .3359 .582 .4583 .4435 .4435 .5718 .4025 .5408 .5408 .6222 .1385 +.4539 .2402 .4344 .3359 .5341 .4435 .5496 .5408 .6129 .5704 .2402 .542 .1385 +.4638 .3359 .5 .4435 .4199 .5408 ] } coordIndex [ 2 0 3 -1 1 3 0 -1 4 2 5 +-1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 +-1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 -1 13 14 7 -1 ] texCoordIndex +[ 2 0 15 -1 16 15 0 -1 4 2 17 -1 15 17 2 -1 6 4 18 -1 17 18 4 -1 8 6 19 -1 18 +19 6 -1 3 1 11 -1 10 11 1 -1 5 3 12 -1 11 12 3 -1 7 5 13 -1 12 13 5 -1 9 7 14 +-1 13 14 7 -1 ] +} +} +DEF Plane68-COORD-INTERP CoordinateInterpolator { +key [0, 0.6667, 1, ] +keyValue [78.78 -11.83 -82.36, 78.65 -11.86 -82.44, +78.46 -10.77 -82.49, 78.41 -10.78 -82.52, 78.81 -9.622 -82.41, +78.74 -9.642 -82.53, 78.97 -8.45 -82.19, 78.91 -8.459 -82.22, +78.71 -7.373 -82.63, 78.68 -7.377 -82.65, 78.58 -11.88 -82.37, +78.38 -10.79 -82.49, 78.67 -9.668 -82.46, 78.88 -8.471 -82.19, +78.67 -7.382 -82.64, 78.82 -11.83 -82.32, 78.69 -11.85 -82.39, +78.66 -10.76 -82.27, 78.6 -10.76 -82.3, 78.66 -9.633 -82.58, +78.6 -9.652 -82.69, 78.64 -8.473 -82.55, 78.58 -8.483 -82.59, +79.1 -7.345 -82.19, 79.07 -7.349 -82.2, 78.62 -11.88 -82.33, +78.57 -10.77 -82.28, 78.52 -9.679 -82.63, 78.55 -8.495 -82.56, +79.07 -7.353 -82.19, 78.78 -11.83 -82.36, 78.65 -11.86 -82.44, +78.46 -10.77 -82.49, 78.41 -10.78 -82.52, 78.81 -9.622 -82.41, +78.74 -9.642 -82.53, 78.97 -8.45 -82.19, 78.91 -8.459 -82.22, +78.71 -7.373 -82.63, 78.68 -7.377 -82.65, 78.58 -11.88 -82.37, +78.38 -10.79 -82.49, 78.67 -9.668 -82.46, 78.88 -8.471 -82.19, +78.67 -7.382 -82.64, ] +} +] +}, +] +ROUTE long_seaweed_low15-TIMER.fraction_changed TO Plane67-COORD-INTERP.set_fraction +ROUTE Plane67-COORD-INTERP.value_changed TO Plane67-COORD.set_point +ROUTE long_seaweed_low15-TIMER.fraction_changed TO Plane68-COORD-INTERP.set_fraction +ROUTE Plane68-COORD-INTERP.value_changed TO Plane68-COORD.set_point +} +##################################low_seaweed end + +################################## tall_seaweed + +DEF seaweed Transform { +translation -37.13 -5.921 -103.7 +children [ +DEF seaweed-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +DEF Plane27 Transform { +translation 37.13 5.921 103.7 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane27-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane27-COORD Coordinate { +point [ -36.95 -11.8 -103.6 -36.93 -11.8 -103.5 -36.84 -10.74 -103.7 -36.84 +-10.74 -103.6 -36.68 -9.662 -103.7 -36.67 -9.658 -103.6 -36.64 -8.568 -103.6 +-36.64 -8.567 -103.6 -36.64 -7.499 -103.9 -36.62 -7.496 -103.7 -36.39 -6.442 +-103.8 -36.39 -6.44 -103.7 -36.21 -5.363 -103.8 -36.2 -5.36 -103.7 -35.79 +-4.204 -103.8 -35.8 -4.207 -103.9 -36.84 -11.81 -103.4 -36.8 -10.74 -103.6 +-36.57 -9.668 -103.5 -36.59 -8.571 -103.5 -36.53 -7.506 -103.7 -36.34 -6.445 +-103.7 -36.12 -5.368 -103.6 -35.7 -4.213 -103.8 -35.34 -3.901 -104.1 -35.35 +-3.904 -104.2 -35.25 -3.91 -104.1 -34.59 -4.028 -104.5 -34.6 -4.031 -104.6 +-34.5 -4.037 -104.4 -34.03 -3.794 -104.8 -34.04 -3.798 -105 -33.94 -3.804 +-104.8 -33.15 -4.096 -105.3 -33.16 -4.097 -105.3 -33.13 -4.099 -105.2 ] +} +texCoord DEF Plane27-TEXCOORD +TextureCoordinate { point [ 0 0 1 0 0 1 1 1 ] } coordIndex [ 2 0 3 -1 1 3 0 +-1 4 2 5 -1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 10 8 11 -1 9 11 8 +-1 12 10 13 -1 11 13 10 -1 14 15 12 -1 12 13 14 -1 3 1 17 -1 16 17 1 -1 5 3 +18 -1 17 18 3 -1 7 5 19 -1 18 19 5 -1 9 7 20 -1 19 20 7 -1 11 9 21 -1 20 21 +9 -1 13 11 22 -1 21 22 11 -1 23 14 13 -1 13 22 23 -1 24 25 15 -1 15 14 24 +-1 26 24 14 -1 14 23 26 -1 27 28 25 -1 25 24 27 -1 29 27 24 -1 24 26 29 -1 30 +31 28 -1 28 27 30 -1 32 30 27 -1 27 29 32 -1 33 34 31 -1 31 30 33 -1 35 33 30 +-1 30 32 35 -1 ] texCoordIndex +[ 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 +0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 3 2 0 -1 0 1 3 -1 2 0 3 -1 1 3 0 -1 2 0 3 +-1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 +3 0 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 +-1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 +2 0 -1 0 1 3 -1 ] +} +} +DEF Plane27-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, +0.2667, 0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, +0.5333, 0.5667, 0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, +0.8, 0.8333, 0.8667, 0.9, 0.9333, 0.9667, 1, ] +keyValue [-36.95 -11.8 -103.6, +-36.93 -11.8 -103.5, -36.84 -10.74 -103.7, -36.84 -10.74 -103.6, +-36.68 -9.662 -103.7, -36.67 -9.658 -103.6, -36.64 -8.568 -103.6, +-36.64 -8.567 -103.6, -36.64 -7.499 -103.9, -36.62 -7.496 -103.7, +-36.39 -6.442 -103.8, -36.39 -6.44 -103.7, -36.21 -5.363 -103.8, +-36.2 -5.36 -103.7, -35.79 -4.204 -103.8, -35.8 -4.207 -103.9, +-36.84 -11.81 -103.4, -36.8 -10.74 -103.6, -36.57 -9.668 -103.5, +-36.59 -8.571 -103.5, -36.53 -7.506 -103.7, -36.34 -6.445 -103.7, +-36.12 -5.368 -103.6, -35.7 -4.213 -103.8, -35.34 -3.901 -104.1, +-35.35 -3.904 -104.2, -35.25 -3.91 -104.1, -34.59 -4.028 -104.5, +-34.6 -4.031 -104.6, -34.5 -4.037 -104.4, -34.03 -3.794 -104.8, +-34.04 -3.798 -105, -33.94 -3.804 -104.8, -33.15 -4.096 -105.3, +-33.16 -4.097 -105.3, -33.13 -4.099 -105.2, -36.97 -11.8 -103.6, +-36.95 -11.8 -103.5, -36.84 -10.74 -103.7, -36.84 -10.74 -103.6, +-36.66 -9.662 -103.7, -36.65 -9.658 -103.5, -36.65 -8.568 -103.6, +-36.64 -8.567 -103.6, -36.65 -7.499 -103.9, -36.64 -7.496 -103.7, +-36.38 -6.442 -103.8, -36.37 -6.44 -103.7, -36.2 -5.363 -103.8, +-36.19 -5.36 -103.7, -35.8 -4.204 -103.8, -35.82 -4.207 -104, +-36.86 -11.81 -103.5, -36.8 -10.74 -103.6, -36.55 -9.668 -103.5, +-36.6 -8.571 -103.5, -36.55 -7.506 -103.7, -36.33 -6.445 -103.7, +-36.11 -5.368 -103.6, -35.71 -4.213 -103.8, -35.36 -3.901 -104.1, +-35.37 -3.904 -104.3, -35.27 -3.91 -104.1, -34.61 -4.028 -104.5, +-34.62 -4.031 -104.6, -34.52 -4.037 -104.5, -34.05 -3.794 -104.8, +-34.06 -3.798 -105, -33.96 -3.804 -104.8, -33.17 -4.096 -105.3, +-33.18 -4.097 -105.3, -33.15 -4.099 -105.3, -36.99 -11.8 -103.7, +-36.97 -11.8 -103.5, -36.84 -10.74 -103.7, -36.83 -10.74 -103.6, +-36.64 -9.662 -103.7, -36.63 -9.658 -103.5, -36.66 -8.568 -103.6, +-36.65 -8.567 -103.6, -36.67 -7.499 -103.9, -36.66 -7.496 -103.7, +-36.37 -6.442 -103.8, -36.36 -6.44 -103.7, -36.19 -5.363 -103.8, +-36.18 -5.36 -103.6, -35.82 -4.204 -103.8, -35.84 -4.207 -104, +-36.88 -11.81 -103.5, -36.8 -10.74 -103.6, -36.54 -9.668 -103.5, +-36.61 -8.571 -103.6, -36.56 -7.506 -103.7, -36.31 -6.445 -103.7, +-36.1 -5.368 -103.6, -35.73 -4.213 -103.8, -35.38 -3.901 -104.1, +-35.39 -3.904 -104.3, -35.29 -3.91 -104.1, -34.63 -4.028 -104.5, +-34.64 -4.031 -104.6, -34.54 -4.037 -104.5, -34.07 -3.794 -104.9, +-34.08 -3.798 -105, -33.98 -3.804 -104.8, -33.19 -4.096 -105.3, +-33.2 -4.097 -105.3, -33.17 -4.099 -105.3, -37 -11.8 -103.7, +-36.99 -11.8 -103.5, -36.83 -10.74 -103.6, -36.83 -10.74 -103.6, +-36.62 -9.662 -103.6, -36.61 -9.658 -103.5, -36.67 -8.568 -103.6, +-36.66 -8.567 -103.6, -36.68 -7.499 -103.9, -36.67 -7.496 -103.7, +-36.35 -6.442 -103.8, -36.34 -6.44 -103.7, -36.18 -5.363 -103.8, +-36.17 -5.36 -103.6, -35.84 -4.204 -103.8, -35.85 -4.207 -104, +-36.9 -11.81 -103.5, -36.79 -10.74 -103.6, -36.52 -9.668 -103.5, +-36.62 -8.571 -103.6, -36.57 -7.506 -103.7, -36.3 -6.445 -103.7, +-36.09 -5.368 -103.6, -35.75 -4.213 -103.8, -35.4 -3.901 -104.1, +-35.41 -3.904 -104.3, -35.31 -3.91 -104.1, -34.65 -4.028 -104.5, +-34.66 -4.031 -104.7, -34.56 -4.037 -104.5, -34.09 -3.794 -104.9, +-34.1 -3.798 -105, -34 -3.804 -104.8, -33.21 -4.096 -105.3, +-33.21 -4.097 -105.3, -33.19 -4.099 -105.3, -37.02 -11.8 -103.7, +-37.01 -11.8 -103.5, -36.82 -10.74 -103.6, -36.82 -10.74 -103.6, +-36.61 -9.662 -103.6, -36.6 -9.658 -103.5, -36.69 -8.568 -103.7, +-36.68 -8.567 -103.6, -36.69 -7.499 -103.9, -36.68 -7.496 -103.8, +-36.33 -6.442 -103.8, -36.32 -6.44 -103.7, -36.18 -5.363 -103.8, +-36.17 -5.36 -103.6, -35.86 -4.204 -103.9, -35.87 -4.207 -104, +-36.91 -11.81 -103.5, -36.78 -10.74 -103.6, -36.51 -9.668 -103.5, +-36.64 -8.571 -103.6, -36.58 -7.506 -103.7, -36.28 -6.445 -103.7, +-36.09 -5.368 -103.6, -35.77 -4.213 -103.8, -35.41 -3.901 -104.2, +-35.42 -3.904 -104.3, -35.32 -3.91 -104.1, -34.67 -4.028 -104.5, +-34.68 -4.031 -104.7, -34.58 -4.037 -104.5, -34.1 -3.794 -104.9, +-34.11 -3.798 -105, -34.01 -3.804 -104.9, -33.23 -4.096 -105.3, +-33.23 -4.097 -105.4, -33.21 -4.099 -105.3, -37.04 -11.8 -103.7, +-37.02 -11.8 -103.6, -36.81 -10.74 -103.6, -36.8 -10.74 -103.6, +-36.6 -9.662 -103.6, -36.59 -9.658 -103.5, -36.7 -8.568 -103.7, +-36.7 -8.567 -103.6, -36.69 -7.499 -103.9, -36.68 -7.496 -103.8, +-36.31 -6.442 -103.7, -36.3 -6.44 -103.7, -36.18 -5.363 -103.8, +-36.17 -5.36 -103.6, -35.88 -4.204 -103.9, -35.89 -4.207 -104, +-36.93 -11.81 -103.5, -36.76 -10.74 -103.6, -36.49 -9.668 -103.5, +-36.66 -8.571 -103.6, -36.59 -7.506 -103.7, -36.26 -6.445 -103.7, +-36.09 -5.368 -103.6, -35.79 -4.213 -103.9, -35.42 -3.901 -104.2, +-35.44 -3.904 -104.3, -35.34 -3.91 -104.1, -34.68 -4.028 -104.6, +-34.69 -4.031 -104.7, -34.59 -4.037 -104.5, -34.11 -3.794 -104.9, +-34.12 -3.798 -105, -34.02 -3.804 -104.9, -33.25 -4.096 -105.3, +-33.25 -4.097 -105.4, -33.22 -4.099 -105.3, -37.05 -11.8 -103.7, +-37.04 -11.8 -103.6, -36.79 -10.74 -103.6, -36.78 -10.74 -103.5, +-36.59 -9.662 -103.6, -36.58 -9.658 -103.5, -36.72 -8.568 -103.7, +-36.72 -8.567 -103.6, -36.7 -7.499 -103.9, -36.68 -7.496 -103.8, +-36.29 -6.442 -103.7, -36.29 -6.44 -103.6, -36.18 -5.363 -103.8, +-36.17 -5.36 -103.6, -35.9 -4.204 -103.9, -35.91 -4.207 -104, +-36.94 -11.81 -103.5, -36.75 -10.74 -103.5, -36.49 -9.668 -103.4, +-36.67 -8.571 -103.6, -36.59 -7.506 -103.7, -36.24 -6.445 -103.6, +-36.09 -5.368 -103.6, -35.81 -4.213 -103.9, -35.43 -3.901 -104.2, +-35.45 -3.904 -104.3, -35.35 -3.91 -104.2, -34.69 -4.028 -104.6, +-34.71 -4.031 -104.7, -34.61 -4.037 -104.5, -34.12 -3.794 -104.9, +-34.13 -3.798 -105, -34.03 -3.804 -104.9, -33.26 -4.096 -105.4, +-33.26 -4.097 -105.4, -33.24 -4.099 -105.3, -37.06 -11.8 -103.7, +-37.05 -11.8 -103.6, -36.77 -10.74 -103.6, -36.77 -10.74 -103.5, +-36.59 -9.662 -103.6, -36.58 -9.658 -103.5, -36.74 -8.568 -103.7, +-36.74 -8.567 -103.6, -36.69 -7.499 -103.9, -36.68 -7.496 -103.8, +-36.27 -6.442 -103.7, -36.27 -6.44 -103.6, -36.19 -5.363 -103.8, +-36.18 -5.36 -103.6, -35.91 -4.204 -103.9, -35.92 -4.207 -104.1, +-36.95 -11.81 -103.6, -36.73 -10.74 -103.5, -36.48 -9.668 -103.4, +-36.69 -8.571 -103.6, -36.59 -7.506 -103.7, -36.22 -6.445 -103.6, +-36.1 -5.368 -103.6, -35.82 -4.213 -103.9, -35.44 -3.901 -104.2, +-35.45 -3.904 -104.3, -35.35 -3.91 -104.2, -34.7 -4.028 -104.6, +-34.72 -4.031 -104.7, -34.62 -4.037 -104.6, -34.12 -3.794 -104.9, +-34.13 -3.798 -105, -34.03 -3.804 -104.9, -33.27 -4.096 -105.4, +-33.28 -4.097 -105.4, -33.25 -4.099 -105.4, -37.06 -11.8 -103.7, +-37.05 -11.8 -103.6, -36.75 -10.74 -103.6, -36.75 -10.74 -103.5, +-36.59 -9.662 -103.6, -36.58 -9.658 -103.5, -36.76 -8.568 -103.7, +-36.76 -8.567 -103.7, -36.68 -7.499 -103.9, -36.67 -7.496 -103.7, +-36.26 -6.442 -103.7, -36.25 -6.44 -103.6, -36.21 -5.363 -103.8, +-36.19 -5.36 -103.7, -35.92 -4.204 -103.9, -35.93 -4.207 -104.1, +-36.96 -11.81 -103.6, -36.71 -10.74 -103.5, -36.48 -9.668 -103.4, +-36.71 -8.571 -103.7, -36.58 -7.506 -103.7, -36.21 -6.445 -103.6, +-36.11 -5.368 -103.6, -35.83 -4.213 -103.9, -35.44 -3.901 -104.2, +-35.46 -3.904 -104.3, -35.35 -3.91 -104.2, -34.71 -4.028 -104.6, +-34.72 -4.031 -104.7, -34.62 -4.037 -104.6, -34.12 -3.794 -104.9, +-34.13 -3.798 -105, -34.03 -3.804 -104.9, -33.28 -4.096 -105.4, +-33.28 -4.097 -105.4, -33.26 -4.099 -105.4, -37.07 -11.8 -103.7, +-37.05 -11.8 -103.6, -36.73 -10.74 -103.6, -36.73 -10.74 -103.5, +-36.59 -9.662 -103.6, -36.58 -9.658 -103.5, -36.78 -8.568 -103.8, +-36.77 -8.567 -103.7, -36.67 -7.499 -103.9, -36.66 -7.496 -103.7, +-36.24 -6.442 -103.7, -36.24 -6.44 -103.6, -36.22 -5.363 -103.8, +-36.21 -5.36 -103.7, -35.93 -4.204 -103.9, -35.94 -4.207 -104.1, +-36.96 -11.81 -103.6, -36.69 -10.74 -103.5, -36.49 -9.668 -103.4, +-36.73 -8.571 -103.7, -36.57 -7.506 -103.7, -36.19 -6.445 -103.6, +-36.13 -5.368 -103.7, -35.84 -4.213 -103.9, -35.44 -3.901 -104.2, +-35.45 -3.904 -104.3, -35.35 -3.91 -104.2, -34.71 -4.028 -104.6, +-34.73 -4.031 -104.7, -34.62 -4.037 -104.6, -34.11 -3.794 -104.9, +-34.13 -3.798 -105, -34.02 -3.804 -104.9, -33.28 -4.096 -105.4, +-33.29 -4.097 -105.4, -33.26 -4.099 -105.4, -37.06 -11.8 -103.7, +-37.05 -11.8 -103.6, -36.71 -10.74 -103.5, -36.71 -10.74 -103.5, +-36.6 -9.662 -103.6, -36.59 -9.658 -103.5, -36.8 -8.568 -103.8, +-36.79 -8.567 -103.7, -36.66 -7.499 -103.9, -36.65 -7.496 -103.7, +-36.23 -6.442 -103.7, -36.22 -6.44 -103.6, -36.24 -5.363 -103.8, +-36.23 -5.36 -103.7, -35.93 -4.204 -103.9, -35.95 -4.207 -104.1, +-36.96 -11.81 -103.6, -36.67 -10.74 -103.5, -36.5 -9.668 -103.5, +-36.75 -8.571 -103.7, -36.55 -7.506 -103.7, -36.18 -6.445 -103.6, +-36.14 -5.368 -103.7, -35.84 -4.213 -103.9, -35.43 -3.901 -104.2, +-35.45 -3.904 -104.3, -35.35 -3.91 -104.2, -34.71 -4.028 -104.6, +-34.72 -4.031 -104.7, -34.62 -4.037 -104.6, -34.1 -3.794 -104.9, +-34.12 -3.798 -105, -34.02 -3.804 -104.9, -33.28 -4.096 -105.4, +-33.29 -4.097 -105.4, -33.26 -4.099 -105.4, -37.06 -11.8 -103.7, +-37.04 -11.8 -103.6, -36.7 -10.74 -103.5, -36.69 -10.74 -103.5, +-36.61 -9.662 -103.6, -36.6 -9.658 -103.5, -36.81 -8.568 -103.8, +-36.8 -8.567 -103.7, -36.64 -7.499 -103.9, -36.63 -7.496 -103.7, +-36.22 -6.442 -103.7, -36.22 -6.44 -103.6, -36.26 -5.363 -103.8, +-36.25 -5.36 -103.7, -35.93 -4.204 -103.9, -35.94 -4.207 -104.1, +-36.95 -11.81 -103.5, -36.65 -10.74 -103.4, -36.51 -9.668 -103.5, +-36.76 -8.571 -103.7, -36.54 -7.506 -103.7, -36.17 -6.445 -103.6, +-36.16 -5.368 -103.7, -35.84 -4.213 -103.9, -35.42 -3.901 -104.2, +-35.44 -3.904 -104.3, -35.34 -3.91 -104.1, -34.7 -4.028 -104.6, +-34.72 -4.031 -104.7, -34.62 -4.037 -104.6, -34.09 -3.794 -104.9, +-34.1 -3.798 -105, -34 -3.804 -104.9, -33.28 -4.096 -105.4, +-33.28 -4.097 -105.4, -33.26 -4.099 -105.4, -37.05 -11.8 -103.7, +-37.03 -11.8 -103.6, -36.68 -10.74 -103.5, -36.68 -10.74 -103.4, +-36.63 -9.662 -103.7, -36.62 -9.658 -103.5, -36.82 -8.568 -103.8, +-36.81 -8.567 -103.7, -36.63 -7.499 -103.8, -36.61 -7.496 -103.7, +-36.22 -6.442 -103.6, -36.21 -6.44 -103.6, -36.28 -5.363 -103.9, +-36.27 -5.36 -103.7, -35.93 -4.204 -103.9, -35.94 -4.207 -104.1, +-36.94 -11.81 -103.5, -36.64 -10.74 -103.4, -36.52 -9.668 -103.5, +-36.77 -8.571 -103.7, -36.52 -7.506 -103.7, -36.17 -6.445 -103.6, +-36.18 -5.368 -103.7, -35.84 -4.213 -103.9, -35.41 -3.901 -104.2, +-35.42 -3.904 -104.3, -35.32 -3.91 -104.1, -34.69 -4.028 -104.6, +-34.71 -4.031 -104.7, -34.61 -4.037 -104.5, -34.07 -3.794 -104.9, +-34.09 -3.798 -105, -33.99 -3.804 -104.8, -33.27 -4.096 -105.4, +-33.28 -4.097 -105.4, -33.25 -4.099 -105.4, -37.03 -11.8 -103.7, +-37.02 -11.8 -103.6, -36.67 -10.74 -103.5, -36.66 -10.74 -103.4, +-36.65 -9.662 -103.7, -36.63 -9.658 -103.5, -36.82 -8.568 -103.8, +-36.82 -8.567 -103.7, -36.61 -7.499 -103.8, -36.59 -7.496 -103.7, +-36.22 -6.442 -103.6, -36.21 -6.44 -103.6, -36.3 -5.363 -103.9, +-36.28 -5.36 -103.7, -35.92 -4.204 -103.9, -35.93 -4.207 -104.1, +-36.93 -11.81 -103.5, -36.63 -10.74 -103.4, -36.54 -9.668 -103.5, +-36.77 -8.571 -103.7, -36.5 -7.506 -103.7, -36.17 -6.445 -103.6, +-36.2 -5.368 -103.7, -35.83 -4.213 -103.9, -35.39 -3.901 -104.1, +-35.41 -3.904 -104.3, -35.31 -3.91 -104.1, -34.68 -4.028 -104.6, +-34.69 -4.031 -104.7, -34.59 -4.037 -104.5, -34.06 -3.794 -104.8, +-34.07 -3.798 -105, -33.97 -3.804 -104.8, -33.26 -4.096 -105.4, +-33.26 -4.097 -105.4, -33.24 -4.099 -105.3, -37.02 -11.8 -103.7, +-37 -11.8 -103.5, -36.66 -10.74 -103.5, -36.66 -10.74 -103.4, +-36.67 -9.662 -103.7, -36.65 -9.658 -103.5, -36.83 -8.568 -103.8, +-36.82 -8.567 -103.7, -36.59 -7.499 -103.8, -36.57 -7.496 -103.7, +-36.22 -6.442 -103.7, -36.21 -6.44 -103.6, -36.31 -5.363 -103.9, +-36.3 -5.36 -103.8, -35.91 -4.204 -103.9, -35.92 -4.207 -104, +-36.91 -11.81 -103.5, -36.62 -10.74 -103.4, -36.56 -9.668 -103.5, +-36.78 -8.571 -103.7, -36.48 -7.506 -103.6, -36.17 -6.445 -103.6, +-36.22 -5.368 -103.7, -35.82 -4.213 -103.9, -35.38 -3.901 -104.1, +-35.39 -3.904 -104.3, -35.29 -3.91 -104.1, -34.66 -4.028 -104.5, +-34.68 -4.031 -104.7, -34.58 -4.037 -104.5, -34.04 -3.794 -104.8, +-34.05 -3.798 -105, -33.95 -3.804 -104.8, -33.25 -4.096 -105.3, +-33.25 -4.097 -105.4, -33.22 -4.099 -105.3, -37 -11.8 -103.7, +-36.98 -11.8 -103.5, -36.66 -10.74 -103.5, -36.65 -10.74 -103.4, +-36.69 -9.662 -103.7, -36.67 -9.658 -103.6, -36.82 -8.568 -103.8, +-36.82 -8.567 -103.7, -36.57 -7.499 -103.8, -36.55 -7.496 -103.6, +-36.23 -6.442 -103.7, -36.22 -6.44 -103.6, -36.33 -5.363 -103.9, +-36.32 -5.36 -103.8, -35.89 -4.204 -103.9, -35.9 -4.207 -104, +-36.89 -11.81 -103.5, -36.61 -10.74 -103.4, -36.58 -9.668 -103.5, +-36.77 -8.571 -103.7, -36.46 -7.506 -103.6, -36.18 -6.445 -103.6, +-36.24 -5.368 -103.8, -35.8 -4.213 -103.9, -35.36 -3.901 -104.1, +-35.37 -3.904 -104.3, -35.27 -3.91 -104.1, -34.65 -4.028 -104.5, +-34.66 -4.031 -104.7, -34.56 -4.037 -104.5, -34.02 -3.794 -104.8, +-34.03 -3.798 -105, -33.93 -3.804 -104.8, -33.23 -4.096 -105.3, +-33.23 -4.097 -105.4, -33.21 -4.099 -105.3, -36.98 -11.8 -103.6, +-36.96 -11.8 -103.5, -36.66 -10.74 -103.5, -36.65 -10.74 -103.4, +-36.7 -9.662 -103.7, -36.69 -9.658 -103.6, -36.82 -8.568 -103.8, +-36.81 -8.567 -103.7, -36.55 -7.499 -103.8, -36.54 -7.496 -103.6, +-36.24 -6.442 -103.7, -36.23 -6.44 -103.6, -36.34 -5.363 -103.9, +-36.33 -5.36 -103.8, -35.87 -4.204 -103.9, -35.89 -4.207 -104, +-36.87 -11.81 -103.5, -36.61 -10.74 -103.4, -36.6 -9.668 -103.6, +-36.77 -8.571 -103.7, -36.45 -7.506 -103.6, -36.19 -6.445 -103.6, +-36.25 -5.368 -103.8, -35.79 -4.213 -103.9, -35.34 -3.901 -104.1, +-35.35 -3.904 -104.2, -35.25 -3.91 -104.1, -34.63 -4.028 -104.5, +-34.64 -4.031 -104.6, -34.54 -4.037 -104.5, -34 -3.794 -104.8, +-34.01 -3.798 -104.9, -33.91 -3.804 -104.8, -33.21 -4.096 -105.3, +-33.21 -4.097 -105.3, -33.19 -4.099 -105.3, -36.96 -11.8 -103.6, +-36.94 -11.8 -103.5, -36.66 -10.74 -103.5, -36.66 -10.74 -103.4, +-36.72 -9.662 -103.7, -36.71 -9.658 -103.6, -36.81 -8.568 -103.8, +-36.8 -8.567 -103.7, -36.54 -7.499 -103.8, -36.52 -7.496 -103.6, +-36.25 -6.442 -103.7, -36.25 -6.44 -103.6, -36.35 -5.363 -103.9, +-36.34 -5.36 -103.8, -35.85 -4.204 -103.9, -35.87 -4.207 -104, +-36.85 -11.81 -103.5, -36.62 -10.74 -103.4, -36.62 -9.668 -103.6, +-36.76 -8.571 -103.7, -36.43 -7.506 -103.6, -36.2 -6.445 -103.6, +-36.26 -5.368 -103.8, -35.77 -4.213 -103.8, -35.32 -3.901 -104.1, +-35.33 -3.904 -104.2, -35.23 -3.91 -104.1, -34.61 -4.028 -104.5, +-34.62 -4.031 -104.6, -34.52 -4.037 -104.5, -33.98 -3.794 -104.8, +-34 -3.798 -104.9, -33.89 -3.804 -104.8, -33.19 -4.096 -105.3, +-33.2 -4.097 -105.3, -33.17 -4.099 -105.3, -36.94 -11.8 -103.6, +-36.93 -11.8 -103.5, -36.67 -10.74 -103.5, -36.66 -10.74 -103.4, +-36.74 -9.662 -103.8, -36.73 -9.658 -103.6, -36.79 -8.568 -103.8, +-36.79 -8.567 -103.7, -36.52 -7.499 -103.7, -36.51 -7.496 -103.6, +-36.27 -6.442 -103.7, -36.27 -6.44 -103.6, -36.36 -5.363 -103.9, +-36.35 -5.36 -103.8, -35.84 -4.204 -103.8, -35.85 -4.207 -104, +-36.83 -11.81 -103.4, -36.62 -10.74 -103.4, -36.63 -9.668 -103.6, +-36.74 -8.571 -103.7, -36.42 -7.506 -103.6, -36.22 -6.445 -103.6, +-36.27 -5.368 -103.8, -35.75 -4.213 -103.8, -35.3 -3.901 -104.1, +-35.32 -3.904 -104.2, -35.21 -3.91 -104, -34.59 -4.028 -104.5, +-34.6 -4.031 -104.6, -34.5 -4.037 -104.4, -33.97 -3.794 -104.8, +-33.98 -3.798 -104.9, -33.88 -3.804 -104.7, -33.17 -4.096 -105.3, +-33.18 -4.097 -105.3, -33.15 -4.099 -105.3, -36.92 -11.8 -103.6, +-36.91 -11.8 -103.4, -36.68 -10.74 -103.5, -36.67 -10.74 -103.4, +-36.75 -9.662 -103.8, -36.74 -9.658 -103.6, -36.78 -8.568 -103.7, +-36.77 -8.567 -103.7, -36.51 -7.499 -103.7, -36.5 -7.496 -103.6, +-36.29 -6.442 -103.7, -36.28 -6.44 -103.6, -36.36 -5.363 -103.9, +-36.35 -5.36 -103.8, -35.82 -4.204 -103.8, -35.83 -4.207 -104, +-36.82 -11.81 -103.4, -36.63 -10.74 -103.4, -36.65 -9.668 -103.6, +-36.73 -8.571 -103.7, -36.41 -7.506 -103.6, -36.24 -6.445 -103.6, +-36.27 -5.368 -103.8, -35.73 -4.213 -103.8, -35.29 -3.901 -104, +-35.3 -3.904 -104.2, -35.2 -3.91 -104, -34.57 -4.028 -104.5, +-34.58 -4.031 -104.6, -34.48 -4.037 -104.4, -33.95 -3.794 -104.7, +-33.97 -3.798 -104.9, -33.86 -3.804 -104.7, -33.15 -4.096 -105.3, +-33.16 -4.097 -105.3, -33.13 -4.099 -105.2, -36.91 -11.8 -103.6, +-36.89 -11.8 -103.4, -36.69 -10.74 -103.5, -36.69 -10.74 -103.5, +-36.76 -9.662 -103.8, -36.75 -9.658 -103.6, -36.76 -8.568 -103.7, +-36.75 -8.567 -103.7, -36.51 -7.499 -103.7, -36.5 -7.496 -103.6, +-36.31 -6.442 -103.7, -36.3 -6.44 -103.7, -36.36 -5.363 -103.9, +-36.35 -5.36 -103.8, -35.8 -4.204 -103.8, -35.81 -4.207 -103.9, +-36.8 -11.81 -103.4, -36.65 -10.74 -103.4, -36.66 -9.668 -103.6, +-36.71 -8.571 -103.7, -36.4 -7.506 -103.6, -36.26 -6.445 -103.7, +-36.27 -5.368 -103.8, -35.71 -4.213 -103.8, -35.27 -3.901 -104, +-35.29 -3.904 -104.2, -35.19 -3.91 -104, -34.56 -4.028 -104.4, +-34.57 -4.031 -104.6, -34.47 -4.037 -104.4, -33.94 -3.794 -104.7, +-33.95 -3.798 -104.9, -33.85 -3.804 -104.7, -33.14 -4.096 -105.2, +-33.14 -4.097 -105.3, -33.11 -4.099 -105.2, -36.89 -11.8 -103.6, +-36.88 -11.8 -103.4, -36.71 -10.74 -103.5, -36.7 -10.74 -103.5, +-36.77 -9.662 -103.8, -36.76 -9.658 -103.6, -36.74 -8.568 -103.7, +-36.73 -8.567 -103.6, -36.51 -7.499 -103.7, -36.5 -7.496 -103.6, +-36.33 -6.442 -103.8, -36.32 -6.44 -103.7, -36.36 -5.363 -103.9, +-36.35 -5.36 -103.8, -35.78 -4.204 -103.8, -35.79 -4.207 -103.9, +-36.79 -11.81 -103.4, -36.67 -10.74 -103.5, -36.67 -9.668 -103.6, +-36.69 -8.571 -103.6, -36.4 -7.506 -103.6, -36.28 -6.445 -103.7, +-36.27 -5.368 -103.8, -35.69 -4.213 -103.8, -35.26 -3.901 -104, +-35.28 -3.904 -104.2, -35.18 -3.91 -104, -34.54 -4.028 -104.4, +-34.56 -4.031 -104.6, -34.46 -4.037 -104.4, -33.93 -3.794 -104.7, +-33.95 -3.798 -104.9, -33.85 -3.804 -104.7, -33.12 -4.096 -105.2, +-33.13 -4.097 -105.3, -33.1 -4.099 -105.2, -36.88 -11.8 -103.6, +-36.87 -11.8 -103.4, -36.73 -10.74 -103.5, -36.72 -10.74 -103.5, +-36.78 -9.662 -103.8, -36.76 -9.658 -103.6, -36.72 -8.568 -103.7, +-36.71 -8.567 -103.6, -36.51 -7.499 -103.7, -36.5 -7.496 -103.6, +-36.35 -6.442 -103.8, -36.34 -6.44 -103.7, -36.35 -5.363 -103.9, +-36.34 -5.36 -103.8, -35.77 -4.204 -103.8, -35.78 -4.207 -103.9, +-36.78 -11.81 -103.4, -36.68 -10.74 -103.5, -36.67 -9.668 -103.6, +-36.67 -8.571 -103.6, -36.41 -7.506 -103.6, -36.3 -6.445 -103.7, +-36.26 -5.368 -103.8, -35.68 -4.213 -103.8, -35.26 -3.901 -104, +-35.27 -3.904 -104.2, -35.17 -3.91 -104, -34.53 -4.028 -104.4, +-34.55 -4.031 -104.6, -34.45 -4.037 -104.4, -33.93 -3.794 -104.7, +-33.95 -3.798 -104.9, -33.84 -3.804 -104.7, -33.11 -4.096 -105.2, +-33.11 -4.097 -105.3, -33.09 -4.099 -105.2, -36.88 -11.8 -103.6, +-36.87 -11.8 -103.4, -36.75 -10.74 -103.6, -36.74 -10.74 -103.5, +-36.77 -9.662 -103.8, -36.76 -9.658 -103.6, -36.7 -8.568 -103.7, +-36.7 -8.567 -103.6, -36.52 -7.499 -103.7, -36.51 -7.496 -103.6, +-36.36 -6.442 -103.8, -36.36 -6.44 -103.7, -36.34 -5.363 -103.9, +-36.33 -5.36 -103.8, -35.76 -4.204 -103.8, -35.77 -4.207 -103.9, +-36.77 -11.81 -103.4, -36.7 -10.74 -103.5, -36.67 -9.668 -103.6, +-36.65 -8.571 -103.6, -36.41 -7.506 -103.6, -36.31 -6.445 -103.7, +-36.25 -5.368 -103.8, -35.67 -4.213 -103.7, -35.25 -3.901 -104, +-35.27 -3.904 -104.2, -35.17 -3.91 -104, -34.53 -4.028 -104.4, +-34.54 -4.031 -104.6, -34.44 -4.037 -104.4, -33.93 -3.794 -104.7, +-33.95 -3.798 -104.9, -33.85 -3.804 -104.7, -33.1 -4.096 -105.2, +-33.11 -4.097 -105.2, -33.08 -4.099 -105.2, -36.88 -11.8 -103.6, +-36.87 -11.8 -103.4, -36.77 -10.74 -103.6, -36.76 -10.74 -103.5, +-36.77 -9.662 -103.8, -36.76 -9.658 -103.6, -36.68 -8.568 -103.7, +-36.68 -8.567 -103.6, -36.53 -7.499 -103.8, -36.52 -7.496 -103.6, +-36.38 -6.442 -103.8, -36.37 -6.44 -103.7, -36.32 -5.363 -103.9, +-36.31 -5.36 -103.8, -35.75 -4.204 -103.8, -35.76 -4.207 -103.9, +-36.77 -11.81 -103.4, -36.72 -10.74 -103.5, -36.66 -9.668 -103.6, +-36.64 -8.571 -103.6, -36.42 -7.506 -103.6, -36.33 -6.445 -103.7, +-36.23 -5.368 -103.7, -35.66 -4.213 -103.7, -35.26 -3.901 -104, +-35.27 -3.904 -104.2, -35.17 -3.91 -104, -34.52 -4.028 -104.4, +-34.54 -4.031 -104.6, -34.44 -4.037 -104.4, -33.94 -3.794 -104.7, +-33.95 -3.798 -104.9, -33.85 -3.804 -104.7, -33.1 -4.096 -105.2, +-33.1 -4.097 -105.2, -33.08 -4.099 -105.2, -36.88 -11.8 -103.6, +-36.87 -11.8 -103.4, -36.79 -10.74 -103.6, -36.78 -10.74 -103.5, +-36.76 -9.662 -103.8, -36.75 -9.658 -103.6, -36.67 -8.568 -103.6, +-36.66 -8.567 -103.6, -36.54 -7.499 -103.8, -36.53 -7.496 -103.6, +-36.39 -6.442 -103.8, -36.38 -6.44 -103.7, -36.3 -5.363 -103.9, +-36.29 -5.36 -103.8, -35.75 -4.204 -103.8, -35.76 -4.207 -103.9, +-36.78 -11.81 -103.4, -36.74 -10.74 -103.5, -36.66 -9.668 -103.6, +-36.62 -8.571 -103.6, -36.44 -7.506 -103.6, -36.34 -6.445 -103.7, +-36.21 -5.368 -103.7, -35.66 -4.213 -103.7, -35.26 -3.901 -104, +-35.28 -3.904 -104.2, -35.17 -3.91 -104, -34.53 -4.028 -104.4, +-34.54 -4.031 -104.6, -34.44 -4.037 -104.4, -33.95 -3.794 -104.7, +-33.96 -3.798 -104.9, -33.86 -3.804 -104.7, -33.1 -4.096 -105.2, +-33.1 -4.097 -105.2, -33.08 -4.099 -105.2, -36.89 -11.8 -103.6, +-36.87 -11.8 -103.4, -36.8 -10.74 -103.6, -36.8 -10.74 -103.6, +-36.75 -9.662 -103.8, -36.74 -9.658 -103.6, -36.66 -8.568 -103.6, +-36.65 -8.567 -103.6, -36.56 -7.499 -103.8, -36.55 -7.496 -103.6, +-36.4 -6.442 -103.8, -36.39 -6.44 -103.7, -36.29 -5.363 -103.9, +-36.27 -5.36 -103.7, -35.75 -4.204 -103.8, -35.76 -4.207 -103.9, +-36.78 -11.81 -103.4, -36.76 -10.74 -103.5, -36.64 -9.668 -103.6, +-36.61 -8.571 -103.6, -36.45 -7.506 -103.6, -36.35 -6.445 -103.7, +-36.19 -5.368 -103.7, -35.66 -4.213 -103.7, -35.27 -3.901 -104, +-35.29 -3.904 -104.2, -35.18 -3.91 -104, -34.53 -4.028 -104.4, +-34.55 -4.031 -104.6, -34.44 -4.037 -104.4, -33.96 -3.794 -104.8, +-33.97 -3.798 -104.9, -33.87 -3.804 -104.7, -33.1 -4.096 -105.2, +-33.11 -4.097 -105.2, -33.08 -4.099 -105.2, -36.9 -11.8 -103.6, +-36.89 -11.8 -103.4, -36.82 -10.74 -103.6, -36.81 -10.74 -103.6, +-36.73 -9.662 -103.8, -36.72 -9.658 -103.6, -36.65 -8.568 -103.6, +-36.64 -8.567 -103.6, -36.58 -7.499 -103.8, -36.57 -7.496 -103.6, +-36.4 -6.442 -103.8, -36.4 -6.44 -103.8, -36.27 -5.363 -103.8, +-36.25 -5.36 -103.7, -35.75 -4.204 -103.8, -35.76 -4.207 -103.9, +-36.79 -11.81 -103.4, -36.77 -10.74 -103.6, -36.63 -9.668 -103.6, +-36.6 -8.571 -103.5, -36.47 -7.506 -103.6, -36.35 -6.445 -103.7, +-36.17 -5.368 -103.7, -35.66 -4.213 -103.7, -35.29 -3.901 -104, +-35.3 -3.904 -104.2, -35.2 -3.91 -104, -34.54 -4.028 -104.4, +-34.56 -4.031 -104.6, -34.45 -4.037 -104.4, -33.98 -3.794 -104.8, +-33.99 -3.798 -104.9, -33.89 -3.804 -104.7, -33.11 -4.096 -105.2, +-33.11 -4.097 -105.3, -33.09 -4.099 -105.2, -36.91 -11.8 -103.6, +-36.9 -11.8 -103.4, -36.83 -10.74 -103.6, -36.82 -10.74 -103.6, +-36.72 -9.662 -103.7, -36.7 -9.658 -103.6, -36.64 -8.568 -103.6, +-36.63 -8.567 -103.6, -36.6 -7.499 -103.8, -36.59 -7.496 -103.7, +-36.4 -6.442 -103.8, -36.4 -6.44 -103.8, -36.25 -5.363 -103.8, +-36.24 -5.36 -103.7, -35.76 -4.204 -103.8, -35.77 -4.207 -103.9, +-36.81 -11.81 -103.4, -36.79 -10.74 -103.6, -36.61 -9.668 -103.6, +-36.59 -8.571 -103.5, -36.49 -7.506 -103.6, -36.35 -6.445 -103.7, +-36.16 -5.368 -103.7, -35.67 -4.213 -103.7, -35.3 -3.901 -104.1, +-35.31 -3.904 -104.2, -35.21 -3.91 -104, -34.56 -4.028 -104.4, +-34.57 -4.031 -104.6, -34.47 -4.037 -104.4, -33.99 -3.794 -104.8, +-34.01 -3.798 -104.9, -33.9 -3.804 -104.8, -33.12 -4.096 -105.2, +-33.13 -4.097 -105.3, -33.1 -4.099 -105.2, -36.93 -11.8 -103.6, +-36.92 -11.8 -103.5, -36.84 -10.74 -103.7, -36.83 -10.74 -103.6, +-36.7 -9.662 -103.7, -36.68 -9.658 -103.6, -36.64 -8.568 -103.6, +-36.63 -8.567 -103.6, -36.62 -7.499 -103.8, -36.61 -7.496 -103.7, +-36.4 -6.442 -103.8, -36.39 -6.44 -103.7, -36.23 -5.363 -103.8, +-36.22 -5.36 -103.7, -35.77 -4.204 -103.8, -35.78 -4.207 -103.9, +-36.82 -11.81 -103.4, -36.79 -10.74 -103.6, -36.59 -9.668 -103.5, +-36.59 -8.571 -103.5, -36.51 -7.506 -103.7, -36.35 -6.445 -103.7, +-36.14 -5.368 -103.7, -35.68 -4.213 -103.8, -35.32 -3.901 -104.1, +-35.33 -3.904 -104.2, -35.23 -3.91 -104, -34.57 -4.028 -104.5, +-34.58 -4.031 -104.6, -34.48 -4.037 -104.4, -34.01 -3.794 -104.8, +-34.02 -3.798 -104.9, -33.92 -3.804 -104.8, -33.14 -4.096 -105.2, +-33.14 -4.097 -105.3, -33.11 -4.099 -105.2, -36.95 -11.8 -103.6, +-36.93 -11.8 -103.5, -36.84 -10.74 -103.7, -36.84 -10.74 -103.6, +-36.68 -9.662 -103.7, -36.67 -9.658 -103.6, -36.64 -8.568 -103.6, +-36.64 -8.567 -103.6, -36.64 -7.499 -103.9, -36.62 -7.496 -103.7, +-36.39 -6.442 -103.8, -36.39 -6.44 -103.7, -36.21 -5.363 -103.8, +-36.2 -5.36 -103.7, -35.79 -4.204 -103.8, -35.8 -4.207 -103.9, +-36.84 -11.81 -103.4, -36.8 -10.74 -103.6, -36.57 -9.668 -103.5, +-36.59 -8.571 -103.5, -36.53 -7.506 -103.7, -36.34 -6.445 -103.7, +-36.12 -5.368 -103.6, -35.7 -4.213 -103.8, -35.34 -3.901 -104.1, +-35.35 -3.904 -104.2, -35.25 -3.91 -104.1, -34.59 -4.028 -104.5, +-34.6 -4.031 -104.6, -34.5 -4.037 -104.4, -34.03 -3.794 -104.8, +-34.04 -3.798 -105, -33.94 -3.804 -104.8, -33.15 -4.096 -105.3, +-33.16 -4.097 -105.3, -33.13 -4.099 -105.2, ] +} +] +}, +DEF Plane06 Transform { +translation 37.13 5.921 103.7 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane06-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane06-COORD Coordinate { +point [ -37.35 -11.8 -103.6 -37.22 -11.8 -103.5 -37.33 -10.72 -103.8 -37.27 +-10.72 -103.8 -37.34 -9.647 -103.8 -37.2 -9.643 -103.7 -37.31 -8.558 -103.6 +-37.24 -8.556 -103.6 -37.5 -7.483 -103.9 -37.36 -7.479 -103.8 -37.36 -6.412 +-104.1 -37.29 -6.41 -104 -37.32 -5.332 -104 -37.2 -5.329 -103.9 -37.16 -4.153 +-104.3 -37.29 -4.157 -104.4 -37.15 -11.8 -103.6 -37.24 -10.72 -103.8 -37.14 +-9.648 -103.8 -37.21 -8.558 -103.6 -37.3 -7.484 -103.9 -37.26 -6.413 -104.1 +-37.15 -5.333 -104 -37.09 -4.157 -104.4 -37.2 -3.824 -104.9 -37.33 -3.828 +-105 -37.14 -3.829 -105 -37.19 -3.913 -105.7 -37.32 -3.917 -105.8 -37.13 -3.917 +-105.8 -37.23 -3.649 -106.4 -37.36 -3.653 -106.5 -37.17 -3.653 -106.5 -37.2 +-3.906 -107.4 -37.24 -3.907 -107.4 -37.19 -3.908 -107.4 ] +} +texCoord DEF Plane06-TEXCOORD +TextureCoordinate { point [ 0 0 1 0 0 1 1 1 ] } coordIndex [ 2 0 3 -1 1 3 0 +-1 4 2 5 -1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 10 8 11 -1 9 11 8 +-1 12 10 13 -1 11 13 10 -1 14 15 12 -1 12 13 14 -1 3 1 17 -1 16 17 1 -1 5 3 +18 -1 17 18 3 -1 7 5 19 -1 18 19 5 -1 9 7 20 -1 19 20 7 -1 11 9 21 -1 20 21 +9 -1 13 11 22 -1 21 22 11 -1 23 14 13 -1 13 22 23 -1 24 25 15 -1 15 14 24 +-1 26 24 14 -1 14 23 26 -1 27 28 25 -1 25 24 27 -1 29 27 24 -1 24 26 29 -1 30 +31 28 -1 28 27 30 -1 32 30 27 -1 27 29 32 -1 33 34 31 -1 31 30 33 -1 35 33 30 +-1 30 32 35 -1 ] texCoordIndex +[ 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 +0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 3 2 0 -1 0 1 3 -1 2 0 3 -1 1 3 0 -1 2 0 3 +-1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 +3 0 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 +-1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 +2 0 -1 0 1 3 -1 ] +} +} +DEF Plane06-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, +0.2667, 0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, +0.5333, 0.5667, 0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, +0.8, 0.8333, 0.8667, 0.9, 0.9333, 0.9667, 1, ] +keyValue [-37.35 -11.8 -103.6, +-37.22 -11.8 -103.5, -37.33 -10.72 -103.8, -37.27 -10.72 -103.8, +-37.34 -9.647 -103.8, -37.2 -9.643 -103.7, -37.31 -8.558 -103.6, +-37.24 -8.556 -103.6, -37.5 -7.483 -103.9, -37.36 -7.479 -103.8, +-37.36 -6.412 -104.1, -37.29 -6.41 -104, -37.32 -5.332 -104, +-37.2 -5.329 -103.9, -37.16 -4.153 -104.3, -37.29 -4.157 -104.4, +-37.15 -11.8 -103.6, -37.24 -10.72 -103.8, -37.14 -9.648 -103.8, +-37.21 -8.558 -103.6, -37.3 -7.484 -103.9, -37.26 -6.413 -104.1, +-37.15 -5.333 -104, -37.09 -4.157 -104.4, -37.2 -3.824 -104.9, +-37.33 -3.828 -105, -37.14 -3.829 -105, -37.19 -3.913 -105.7, +-37.32 -3.917 -105.8, -37.13 -3.917 -105.8, -37.23 -3.649 -106.4, +-37.36 -3.653 -106.5, -37.17 -3.653 -106.5, -37.2 -3.906 -107.4, +-37.24 -3.907 -107.4, -37.19 -3.908 -107.4, -37.37 -11.8 -103.6, +-37.23 -11.8 -103.5, -37.33 -10.72 -103.8, -37.27 -10.72 -103.8, +-37.32 -9.647 -103.8, -37.18 -9.643 -103.7, -37.31 -8.558 -103.6, +-37.25 -8.556 -103.6, -37.52 -7.483 -103.9, -37.38 -7.479 -103.8, +-37.34 -6.412 -104.1, -37.28 -6.41 -104, -37.31 -5.332 -104, +-37.19 -5.329 -103.9, -37.17 -4.153 -104.3, -37.3 -4.157 -104.4, +-37.17 -11.8 -103.6, -37.24 -10.72 -103.8, -37.12 -9.648 -103.8, +-37.22 -8.558 -103.6, -37.31 -7.484 -103.9, -37.24 -6.413 -104.1, +-37.13 -5.333 -104, -37.11 -4.157 -104.4, -37.22 -3.824 -104.9, +-37.35 -3.828 -105, -37.16 -3.829 -105, -37.21 -3.913 -105.7, +-37.34 -3.917 -105.8, -37.15 -3.917 -105.8, -37.25 -3.649 -106.4, +-37.38 -3.653 -106.5, -37.18 -3.653 -106.5, -37.22 -3.906 -107.4, +-37.26 -3.907 -107.4, -37.21 -3.908 -107.4, -37.39 -11.8 -103.6, +-37.25 -11.8 -103.6, -37.32 -10.72 -103.8, -37.26 -10.72 -103.8, +-37.3 -9.647 -103.8, -37.16 -9.643 -103.7, -37.32 -8.558 -103.6, +-37.26 -8.556 -103.6, -37.53 -7.483 -103.9, -37.39 -7.479 -103.8, +-37.33 -6.412 -104, -37.26 -6.41 -104, -37.3 -5.332 -104, +-37.18 -5.329 -103.9, -37.19 -4.153 -104.3, -37.32 -4.157 -104.4, +-37.19 -11.8 -103.6, -37.24 -10.72 -103.8, -37.1 -9.648 -103.8, +-37.23 -8.558 -103.6, -37.33 -7.484 -103.9, -37.23 -6.413 -104, +-37.12 -5.333 -104, -37.13 -4.157 -104.4, -37.24 -3.824 -104.9, +-37.37 -3.828 -105, -37.18 -3.829 -105, -37.23 -3.913 -105.8, +-37.36 -3.917 -105.8, -37.16 -3.917 -105.8, -37.26 -3.649 -106.4, +-37.39 -3.653 -106.5, -37.2 -3.653 -106.5, -37.24 -3.906 -107.4, +-37.28 -3.907 -107.4, -37.23 -3.908 -107.4, -37.41 -11.8 -103.6, +-37.27 -11.8 -103.6, -37.31 -10.72 -103.8, -37.26 -10.72 -103.8, +-37.29 -9.647 -103.7, -37.15 -9.643 -103.7, -37.34 -8.558 -103.6, +-37.28 -8.556 -103.6, -37.54 -7.483 -103.9, -37.41 -7.479 -103.8, +-37.31 -6.412 -104, -37.24 -6.41 -104, -37.29 -5.332 -103.9, +-37.17 -5.329 -103.9, -37.21 -4.153 -104.4, -37.34 -4.157 -104.4, +-37.21 -11.8 -103.7, -37.23 -10.72 -103.8, -37.08 -9.648 -103.8, +-37.24 -8.558 -103.7, -37.34 -7.484 -103.9, -37.21 -6.413 -104, +-37.12 -5.333 -104, -37.15 -4.157 -104.4, -37.26 -3.824 -104.9, +-37.39 -3.828 -105, -37.19 -3.829 -105, -37.25 -3.913 -105.8, +-37.38 -3.917 -105.8, -37.18 -3.917 -105.8, -37.28 -3.649 -106.5, +-37.41 -3.653 -106.5, -37.21 -3.653 -106.5, -37.26 -3.906 -107.4, +-37.3 -3.907 -107.4, -37.24 -3.908 -107.4, -37.43 -11.8 -103.7, +-37.29 -11.8 -103.6, -37.3 -10.72 -103.8, -37.24 -10.72 -103.8, +-37.27 -9.647 -103.7, -37.13 -9.643 -103.7, -37.35 -8.558 -103.7, +-37.29 -8.556 -103.6, -37.55 -7.483 -103.9, -37.41 -7.479 -103.8, +-37.29 -6.412 -104, -37.23 -6.41 -104, -37.29 -5.332 -103.9, +-37.17 -5.329 -103.9, -37.23 -4.153 -104.4, -37.36 -4.157 -104.4, +-37.22 -11.8 -103.7, -37.22 -10.72 -103.8, -37.07 -9.648 -103.7, +-37.26 -8.558 -103.7, -37.35 -7.484 -103.9, -37.19 -6.413 -104, +-37.11 -5.333 -104, -37.17 -4.157 -104.4, -37.27 -3.824 -105, +-37.4 -3.828 -105, -37.21 -3.829 -105, -37.26 -3.913 -105.8, +-37.39 -3.917 -105.8, -37.2 -3.917 -105.9, -37.29 -3.649 -106.5, +-37.42 -3.653 -106.5, -37.22 -3.653 -106.5, -37.28 -3.906 -107.4, +-37.31 -3.907 -107.4, -37.26 -3.908 -107.4, -37.44 -11.8 -103.7, +-37.31 -11.8 -103.6, -37.29 -10.72 -103.8, -37.23 -10.72 -103.8, +-37.26 -9.647 -103.7, -37.12 -9.643 -103.7, -37.37 -8.558 -103.7, +-37.31 -8.556 -103.7, -37.55 -7.483 -103.9, -37.42 -7.479 -103.9, +-37.27 -6.412 -104, -37.21 -6.41 -104, -37.29 -5.332 -103.9, +-37.17 -5.329 -103.9, -37.25 -4.153 -104.4, -37.38 -4.157 -104.5, +-37.24 -11.8 -103.7, -37.2 -10.72 -103.8, -37.06 -9.648 -103.7, +-37.28 -8.558 -103.7, -37.35 -7.484 -103.9, -37.17 -6.413 -104, +-37.12 -5.333 -104, -37.19 -4.157 -104.5, -37.28 -3.824 -105, +-37.41 -3.828 -105, -37.22 -3.829 -105, -37.28 -3.913 -105.8, +-37.41 -3.917 -105.9, -37.21 -3.917 -105.9, -37.29 -3.649 -106.5, +-37.42 -3.653 -106.5, -37.23 -3.653 -106.5, -37.29 -3.906 -107.4, +-37.32 -3.907 -107.4, -37.27 -3.908 -107.5, -37.45 -11.8 -103.7, +-37.32 -11.8 -103.6, -37.27 -10.72 -103.8, -37.21 -10.72 -103.7, +-37.25 -9.647 -103.7, -37.12 -9.643 -103.7, -37.39 -8.558 -103.7, +-37.33 -8.556 -103.7, -37.55 -7.483 -103.9, -37.42 -7.479 -103.9, +-37.25 -6.412 -104, -37.19 -6.41 -103.9, -37.3 -5.332 -104, +-37.18 -5.329 -103.9, -37.27 -4.153 -104.4, -37.39 -4.157 -104.5, +-37.25 -11.8 -103.7, -37.19 -10.72 -103.8, -37.05 -9.648 -103.7, +-37.3 -8.558 -103.7, -37.35 -7.484 -103.9, -37.15 -6.413 -104, +-37.12 -5.333 -104, -37.2 -4.157 -104.5, -37.29 -3.824 -105, +-37.42 -3.828 -105, -37.23 -3.829 -105, -37.29 -3.913 -105.8, +-37.42 -3.917 -105.9, -37.22 -3.917 -105.9, -37.3 -3.649 -106.5, +-37.42 -3.653 -106.5, -37.23 -3.653 -106.5, -37.3 -3.906 -107.4, +-37.33 -3.907 -107.5, -37.28 -3.908 -107.5, -37.46 -11.8 -103.7, +-37.33 -11.8 -103.6, -37.25 -10.72 -103.7, -37.19 -10.72 -103.7, +-37.25 -9.647 -103.7, -37.11 -9.643 -103.7, -37.41 -8.558 -103.7, +-37.35 -8.556 -103.7, -37.55 -7.483 -103.9, -37.41 -7.479 -103.8, +-37.24 -6.412 -104, -37.17 -6.41 -103.9, -37.31 -5.332 -104, +-37.19 -5.329 -103.9, -37.28 -4.153 -104.4, -37.41 -4.157 -104.5, +-37.26 -11.8 -103.7, -37.17 -10.72 -103.7, -37.05 -9.648 -103.7, +-37.32 -8.558 -103.7, -37.35 -7.484 -103.9, -37.14 -6.413 -104, +-37.13 -5.333 -104, -37.21 -4.157 -104.5, -37.29 -3.824 -105, +-37.42 -3.828 -105, -37.23 -3.829 -105, -37.29 -3.913 -105.8, +-37.42 -3.917 -105.9, -37.23 -3.917 -105.9, -37.29 -3.649 -106.5, +-37.42 -3.653 -106.5, -37.23 -3.653 -106.5, -37.31 -3.906 -107.4, +-37.34 -3.907 -107.5, -37.29 -3.908 -107.5, -37.47 -11.8 -103.7, +-37.33 -11.8 -103.6, -37.23 -10.72 -103.7, -37.17 -10.72 -103.7, +-37.25 -9.647 -103.7, -37.12 -9.643 -103.7, -37.43 -8.558 -103.7, +-37.37 -8.556 -103.7, -37.54 -7.483 -103.9, -37.41 -7.479 -103.8, +-37.22 -6.412 -103.9, -37.15 -6.41 -103.9, -37.32 -5.332 -104, +-37.2 -5.329 -103.9, -37.29 -4.153 -104.4, -37.42 -4.157 -104.5, +-37.27 -11.8 -103.7, -37.15 -10.72 -103.7, -37.05 -9.648 -103.7, +-37.34 -8.558 -103.7, -37.34 -7.484 -103.9, -37.12 -6.413 -103.9, +-37.14 -5.333 -104, -37.22 -4.157 -104.5, -37.29 -3.824 -105, +-37.42 -3.828 -105, -37.23 -3.829 -105, -37.3 -3.913 -105.8, +-37.42 -3.917 -105.9, -37.23 -3.917 -105.9, -37.29 -3.649 -106.5, +-37.42 -3.653 -106.5, -37.22 -3.653 -106.5, -37.31 -3.906 -107.5, +-37.34 -3.907 -107.5, -37.29 -3.908 -107.5, -37.47 -11.8 -103.7, +-37.33 -11.8 -103.6, -37.21 -10.72 -103.7, -37.16 -10.72 -103.7, +-37.26 -9.647 -103.7, -37.12 -9.643 -103.7, -37.45 -8.558 -103.8, +-37.38 -8.556 -103.7, -37.53 -7.483 -103.9, -37.39 -7.479 -103.8, +-37.2 -6.412 -103.9, -37.14 -6.41 -103.9, -37.34 -5.332 -104, +-37.22 -5.329 -103.9, -37.29 -4.153 -104.4, -37.42 -4.157 -104.5, +-37.27 -11.8 -103.7, -37.13 -10.72 -103.7, -37.06 -9.648 -103.7, +-37.35 -8.558 -103.8, -37.33 -7.484 -103.9, -37.11 -6.413 -103.9, +-37.16 -5.333 -104, -37.23 -4.157 -104.5, -37.29 -3.824 -105, +-37.42 -3.828 -105, -37.23 -3.829 -105, -37.29 -3.913 -105.8, +-37.42 -3.917 -105.9, -37.23 -3.917 -105.9, -37.28 -3.649 -106.5, +-37.41 -3.653 -106.5, -37.22 -3.653 -106.5, -37.31 -3.906 -107.4, +-37.34 -3.907 -107.5, -37.29 -3.908 -107.5, -37.47 -11.8 -103.7, +-37.33 -11.8 -103.6, -37.19 -10.72 -103.7, -37.14 -10.72 -103.7, +-37.27 -9.647 -103.7, -37.13 -9.643 -103.7, -37.46 -8.558 -103.8, +-37.4 -8.556 -103.7, -37.52 -7.483 -103.9, -37.38 -7.479 -103.8, +-37.19 -6.412 -103.9, -37.13 -6.41 -103.9, -37.36 -5.332 -104, +-37.24 -5.329 -104, -37.3 -4.153 -104.4, -37.43 -4.157 -104.5, +-37.26 -11.8 -103.7, -37.11 -10.72 -103.7, -37.06 -9.648 -103.7, +-37.37 -8.558 -103.8, -37.32 -7.484 -103.9, -37.1 -6.413 -103.9, +-37.18 -5.333 -104, -37.23 -4.157 -104.5, -37.28 -3.824 -105, +-37.41 -3.828 -105, -37.22 -3.829 -105, -37.29 -3.913 -105.8, +-37.42 -3.917 -105.9, -37.22 -3.917 -105.9, -37.27 -3.649 -106.4, +-37.4 -3.653 -106.5, -37.2 -3.653 -106.5, -37.3 -3.906 -107.4, +-37.34 -3.907 -107.5, -37.28 -3.908 -107.5, -37.46 -11.8 -103.7, +-37.32 -11.8 -103.6, -37.18 -10.72 -103.7, -37.12 -10.72 -103.6, +-37.28 -9.647 -103.7, -37.14 -9.643 -103.7, -37.48 -8.558 -103.8, +-37.41 -8.556 -103.8, -37.5 -7.483 -103.9, -37.36 -7.479 -103.8, +-37.19 -6.412 -103.9, -37.12 -6.41 -103.9, -37.37 -5.332 -104, +-37.26 -5.329 -104, -37.29 -4.153 -104.4, -37.42 -4.157 -104.5, +-37.26 -11.8 -103.7, -37.09 -10.72 -103.7, -37.08 -9.648 -103.7, +-37.38 -8.558 -103.8, -37.3 -7.484 -103.9, -37.09 -6.413 -103.9, +-37.2 -5.333 -104, -37.23 -4.157 -104.5, -37.27 -3.824 -105, +-37.4 -3.828 -105, -37.21 -3.829 -105, -37.28 -3.913 -105.8, +-37.41 -3.917 -105.9, -37.22 -3.917 -105.9, -37.25 -3.649 -106.4, +-37.38 -3.653 -106.5, -37.19 -3.653 -106.5, -37.29 -3.906 -107.4, +-37.33 -3.907 -107.4, -37.27 -3.908 -107.5, -37.45 -11.8 -103.7, +-37.31 -11.8 -103.6, -37.16 -10.72 -103.7, -37.11 -10.72 -103.6, +-37.29 -9.647 -103.8, -37.16 -9.643 -103.7, -37.49 -8.558 -103.8, +-37.42 -8.556 -103.8, -37.48 -7.483 -103.8, -37.34 -7.479 -103.8, +-37.18 -6.412 -103.9, -37.12 -6.41 -103.9, -37.39 -5.332 -104, +-37.28 -5.329 -104, -37.29 -4.153 -104.4, -37.42 -4.157 -104.5, +-37.25 -11.8 -103.7, -37.08 -10.72 -103.7, -37.09 -9.648 -103.8, +-37.39 -8.558 -103.8, -37.28 -7.484 -103.9, -37.08 -6.413 -103.9, +-37.22 -5.333 -104, -37.22 -4.157 -104.5, -37.26 -3.824 -104.9, +-37.39 -3.828 -105, -37.19 -3.829 -105, -37.27 -3.913 -105.8, +-37.4 -3.917 -105.8, -37.2 -3.917 -105.9, -37.23 -3.649 -106.4, +-37.36 -3.653 -106.5, -37.17 -3.653 -106.5, -37.28 -3.906 -107.4, +-37.31 -3.907 -107.4, -37.26 -3.908 -107.4, -37.44 -11.8 -103.7, +-37.3 -11.8 -103.6, -37.15 -10.72 -103.6, -37.09 -10.72 -103.6, +-37.31 -9.647 -103.8, -37.18 -9.643 -103.7, -37.49 -8.558 -103.8, +-37.43 -8.556 -103.8, -37.46 -7.483 -103.8, -37.33 -7.479 -103.8, +-37.18 -6.412 -103.9, -37.12 -6.41 -103.9, -37.41 -5.332 -104.1, +-37.29 -5.329 -104, -37.28 -4.153 -104.4, -37.41 -4.157 -104.5, +-37.23 -11.8 -103.7, -37.07 -10.72 -103.7, -37.11 -9.648 -103.8, +-37.4 -8.558 -103.8, -37.26 -7.484 -103.8, -37.09 -6.413 -103.9, +-37.24 -5.333 -104.1, -37.21 -4.157 -104.5, -37.24 -3.824 -104.9, +-37.37 -3.828 -105, -37.18 -3.829 -105, -37.25 -3.913 -105.8, +-37.38 -3.917 -105.8, -37.19 -3.917 -105.8, -37.21 -3.649 -106.4, +-37.34 -3.653 -106.5, -37.15 -3.653 -106.5, -37.26 -3.906 -107.4, +-37.3 -3.907 -107.4, -37.25 -3.908 -107.4, -37.42 -11.8 -103.7, +-37.28 -11.8 -103.6, -37.14 -10.72 -103.6, -37.09 -10.72 -103.6, +-37.33 -9.647 -103.8, -37.19 -9.643 -103.7, -37.49 -8.558 -103.8, +-37.43 -8.556 -103.8, -37.44 -7.483 -103.8, -37.31 -7.479 -103.7, +-37.19 -6.412 -103.9, -37.12 -6.41 -103.9, -37.43 -5.332 -104.1, +-37.31 -5.329 -104, -37.26 -4.153 -104.4, -37.39 -4.157 -104.5, +-37.22 -11.8 -103.7, -37.06 -10.72 -103.6, -37.13 -9.648 -103.8, +-37.4 -8.558 -103.8, -37.24 -7.484 -103.8, -37.09 -6.413 -103.9, +-37.25 -5.333 -104.1, -37.2 -4.157 -104.5, -37.22 -3.824 -104.9, +-37.35 -3.828 -105, -37.16 -3.829 -105, -37.23 -3.913 -105.8, +-37.36 -3.917 -105.8, -37.17 -3.917 -105.8, -37.19 -3.649 -106.4, +-37.32 -3.653 -106.4, -37.13 -3.653 -106.4, -37.24 -3.906 -107.4, +-37.28 -3.907 -107.4, -37.23 -3.908 -107.4, -37.4 -11.8 -103.6, +-37.26 -11.8 -103.6, -37.14 -10.72 -103.6, -37.08 -10.72 -103.6, +-37.35 -9.647 -103.8, -37.21 -9.643 -103.7, -37.49 -8.558 -103.8, +-37.43 -8.556 -103.8, -37.42 -7.483 -103.8, -37.29 -7.479 -103.7, +-37.2 -6.412 -103.9, -37.13 -6.41 -103.9, -37.45 -5.332 -104.1, +-37.33 -5.329 -104, -37.25 -4.153 -104.4, -37.38 -4.157 -104.5, +-37.2 -11.8 -103.6, -37.05 -10.72 -103.6, -37.15 -9.648 -103.8, +-37.4 -8.558 -103.8, -37.22 -7.484 -103.8, -37.1 -6.413 -103.9, +-37.27 -5.333 -104.1, -37.18 -4.157 -104.5, -37.2 -3.824 -104.9, +-37.33 -3.828 -104.9, -37.14 -3.829 -105, -37.21 -3.913 -105.7, +-37.34 -3.917 -105.8, -37.15 -3.917 -105.8, -37.17 -3.649 -106.4, +-37.3 -3.653 -106.4, -37.11 -3.653 -106.4, -37.23 -3.906 -107.4, +-37.26 -3.907 -107.4, -37.21 -3.908 -107.4, -37.38 -11.8 -103.6, +-37.24 -11.8 -103.6, -37.14 -10.72 -103.6, -37.08 -10.72 -103.6, +-37.37 -9.647 -103.8, -37.23 -9.643 -103.8, -37.48 -8.558 -103.8, +-37.42 -8.556 -103.8, -37.41 -7.483 -103.8, -37.27 -7.479 -103.7, +-37.21 -6.412 -103.9, -37.14 -6.41 -103.9, -37.46 -5.332 -104.1, +-37.34 -5.329 -104, -37.23 -4.153 -104.4, -37.36 -4.157 -104.4, +-37.18 -11.8 -103.6, -37.05 -10.72 -103.6, -37.17 -9.648 -103.8, +-37.39 -8.558 -103.8, -37.21 -7.484 -103.8, -37.11 -6.413 -103.9, +-37.28 -5.333 -104.1, -37.17 -4.157 -104.4, -37.18 -3.824 -104.9, +-37.31 -3.828 -104.9, -37.12 -3.829 -104.9, -37.19 -3.913 -105.7, +-37.32 -3.917 -105.8, -37.13 -3.917 -105.8, -37.16 -3.649 -106.3, +-37.29 -3.653 -106.4, -37.09 -3.653 -106.4, -37.21 -3.906 -107.4, +-37.24 -3.907 -107.4, -37.19 -3.908 -107.4, -37.36 -11.8 -103.6, +-37.22 -11.8 -103.5, -37.14 -10.72 -103.6, -37.09 -10.72 -103.6, +-37.39 -9.647 -103.8, -37.25 -9.643 -103.8, -37.47 -8.558 -103.8, +-37.41 -8.556 -103.7, -37.39 -7.483 -103.8, -37.26 -7.479 -103.7, +-37.22 -6.412 -103.9, -37.16 -6.41 -103.9, -37.47 -5.332 -104.1, +-37.35 -5.329 -104.1, -37.21 -4.153 -104.4, -37.34 -4.157 -104.4, +-37.16 -11.8 -103.6, -37.06 -10.72 -103.6, -37.19 -9.648 -103.8, +-37.38 -8.558 -103.8, -37.19 -7.484 -103.8, -37.13 -6.413 -103.9, +-37.29 -5.333 -104.1, -37.15 -4.157 -104.4, -37.16 -3.824 -104.9, +-37.29 -3.828 -104.9, -37.1 -3.829 -104.9, -37.17 -3.913 -105.7, +-37.3 -3.917 -105.8, -37.11 -3.917 -105.8, -37.14 -3.649 -106.3, +-37.27 -3.653 -106.4, -37.08 -3.653 -106.4, -37.19 -3.906 -107.3, +-37.22 -3.907 -107.4, -37.17 -3.908 -107.4, -37.34 -11.8 -103.6, +-37.21 -11.8 -103.5, -37.15 -10.72 -103.6, -37.09 -10.72 -103.6, +-37.4 -9.647 -103.9, -37.27 -9.643 -103.8, -37.46 -8.558 -103.8, +-37.4 -8.556 -103.7, -37.38 -7.483 -103.7, -37.24 -7.479 -103.7, +-37.24 -6.412 -104, -37.18 -6.41 -103.9, -37.48 -5.332 -104.1, +-37.36 -5.329 -104.1, -37.19 -4.153 -104.3, -37.32 -4.157 -104.4, +-37.14 -11.8 -103.6, -37.07 -10.72 -103.7, -37.2 -9.648 -103.9, +-37.37 -8.558 -103.8, -37.18 -7.484 -103.8, -37.14 -6.413 -104, +-37.3 -5.333 -104.1, -37.13 -4.157 -104.4, -37.15 -3.824 -104.8, +-37.28 -3.828 -104.9, -37.08 -3.829 -104.9, -37.16 -3.913 -105.7, +-37.29 -3.917 -105.7, -37.09 -3.917 -105.8, -37.13 -3.649 -106.3, +-37.26 -3.653 -106.4, -37.06 -3.653 -106.4, -37.17 -3.906 -107.3, +-37.2 -3.907 -107.3, -37.15 -3.908 -107.3, -37.33 -11.8 -103.6, +-37.19 -11.8 -103.5, -37.16 -10.72 -103.7, -37.11 -10.72 -103.6, +-37.42 -9.647 -103.9, -37.28 -9.643 -103.8, -37.44 -8.558 -103.7, +-37.38 -8.556 -103.7, -37.37 -7.483 -103.7, -37.24 -7.479 -103.7, +-37.26 -6.412 -104, -37.19 -6.41 -103.9, -37.48 -5.332 -104.1, +-37.36 -5.329 -104.1, -37.17 -4.153 -104.3, -37.3 -4.157 -104.4, +-37.12 -11.8 -103.6, -37.08 -10.72 -103.7, -37.22 -9.648 -103.9, +-37.35 -8.558 -103.8, -37.17 -7.484 -103.8, -37.16 -6.413 -104, +-37.3 -5.333 -104.1, -37.11 -4.157 -104.4, -37.13 -3.824 -104.8, +-37.26 -3.828 -104.9, -37.07 -3.829 -104.9, -37.14 -3.913 -105.7, +-37.27 -3.917 -105.7, -37.08 -3.917 -105.7, -37.12 -3.649 -106.3, +-37.25 -3.653 -106.4, -37.05 -3.653 -106.4, -37.15 -3.906 -107.3, +-37.19 -3.907 -107.3, -37.14 -3.908 -107.3, -37.31 -11.8 -103.6, +-37.17 -11.8 -103.5, -37.18 -10.72 -103.7, -37.12 -10.72 -103.6, +-37.43 -9.647 -103.9, -37.29 -9.643 -103.8, -37.42 -8.558 -103.7, +-37.36 -8.556 -103.7, -37.37 -7.483 -103.7, -37.23 -7.479 -103.7, +-37.28 -6.412 -104, -37.21 -6.41 -104, -37.48 -5.332 -104.1, +-37.36 -5.329 -104.1, -37.15 -4.153 -104.3, -37.28 -4.157 -104.4, +-37.11 -11.8 -103.6, -37.09 -10.72 -103.7, -37.23 -9.648 -103.9, +-37.33 -8.558 -103.7, -37.17 -7.484 -103.7, -37.18 -6.413 -104, +-37.3 -5.333 -104.1, -37.09 -4.157 -104.4, -37.12 -3.824 -104.8, +-37.25 -3.828 -104.9, -37.06 -3.829 -104.9, -37.13 -3.913 -105.7, +-37.26 -3.917 -105.7, -37.06 -3.917 -105.7, -37.11 -3.649 -106.3, +-37.24 -3.653 -106.4, -37.05 -3.653 -106.4, -37.14 -3.906 -107.3, +-37.17 -3.907 -107.3, -37.12 -3.908 -107.3, -37.3 -11.8 -103.5, +-37.16 -11.8 -103.5, -37.19 -10.72 -103.7, -37.14 -10.72 -103.7, +-37.43 -9.647 -103.9, -37.3 -9.643 -103.8, -37.41 -8.558 -103.7, +-37.34 -8.556 -103.7, -37.37 -7.483 -103.7, -37.23 -7.479 -103.7, +-37.3 -6.412 -104, -37.23 -6.41 -104, -37.47 -5.332 -104.1, +-37.35 -5.329 -104.1, -37.14 -4.153 -104.3, -37.27 -4.157 -104.4, +-37.1 -11.8 -103.6, -37.11 -10.72 -103.7, -37.23 -9.648 -103.9, +-37.31 -8.558 -103.7, -37.17 -7.484 -103.7, -37.2 -6.413 -104, +-37.29 -5.333 -104.1, -37.08 -4.157 -104.4, -37.11 -3.824 -104.8, +-37.24 -3.828 -104.9, -37.05 -3.829 -104.9, -37.12 -3.913 -105.7, +-37.25 -3.917 -105.7, -37.05 -3.917 -105.7, -37.11 -3.649 -106.3, +-37.24 -3.653 -106.4, -37.04 -3.653 -106.4, -37.13 -3.906 -107.3, +-37.16 -3.907 -107.3, -37.11 -3.908 -107.3, -37.29 -11.8 -103.5, +-37.15 -11.8 -103.5, -37.21 -10.72 -103.7, -37.16 -10.72 -103.7, +-37.44 -9.647 -103.9, -37.3 -9.643 -103.8, -37.39 -8.558 -103.7, +-37.32 -8.556 -103.7, -37.37 -7.483 -103.7, -37.24 -7.479 -103.7, +-37.32 -6.412 -104, -37.25 -6.41 -104, -37.46 -5.332 -104.1, +-37.34 -5.329 -104, -37.13 -4.153 -104.3, -37.26 -4.157 -104.3, +-37.09 -11.8 -103.5, -37.13 -10.72 -103.7, -37.24 -9.648 -103.9, +-37.29 -8.558 -103.7, -37.17 -7.484 -103.8, -37.22 -6.413 -104, +-37.28 -5.333 -104.1, -37.06 -4.157 -104.3, -37.11 -3.824 -104.8, +-37.24 -3.828 -104.9, -37.05 -3.829 -104.9, -37.11 -3.913 -105.6, +-37.24 -3.917 -105.7, -37.05 -3.917 -105.7, -37.11 -3.649 -106.3, +-37.24 -3.653 -106.4, -37.05 -3.653 -106.4, -37.12 -3.906 -107.3, +-37.16 -3.907 -107.3, -37.11 -3.908 -107.3, -37.28 -11.8 -103.5, +-37.15 -11.8 -103.5, -37.23 -10.72 -103.7, -37.17 -10.72 -103.7, +-37.44 -9.647 -103.9, -37.3 -9.643 -103.8, -37.37 -8.558 -103.7, +-37.3 -8.556 -103.6, -37.38 -7.483 -103.7, -37.24 -7.479 -103.7, +-37.33 -6.412 -104, -37.27 -6.41 -104, -37.45 -5.332 -104.1, +-37.33 -5.329 -104, -37.12 -4.153 -104.3, -37.25 -4.157 -104.3, +-37.08 -11.8 -103.5, -37.15 -10.72 -103.7, -37.23 -9.648 -103.9, +-37.27 -8.558 -103.7, -37.18 -7.484 -103.8, -37.24 -6.413 -104.1, +-37.27 -5.333 -104.1, -37.05 -4.157 -104.3, -37.11 -3.824 -104.8, +-37.24 -3.828 -104.9, -37.05 -3.829 -104.9, -37.11 -3.913 -105.6, +-37.24 -3.917 -105.7, -37.04 -3.917 -105.7, -37.12 -3.649 -106.3, +-37.25 -3.653 -106.4, -37.05 -3.653 -106.4, -37.12 -3.906 -107.3, +-37.16 -3.907 -107.3, -37.1 -3.908 -107.3, -37.28 -11.8 -103.5, +-37.15 -11.8 -103.5, -37.25 -10.72 -103.7, -37.19 -10.72 -103.7, +-37.43 -9.647 -103.9, -37.29 -9.643 -103.8, -37.35 -8.558 -103.7, +-37.29 -8.556 -103.6, -37.39 -7.483 -103.8, -37.25 -7.479 -103.7, +-37.35 -6.412 -104.1, -37.28 -6.41 -104, -37.43 -5.332 -104.1, +-37.31 -5.329 -104, -37.11 -4.153 -104.3, -37.24 -4.157 -104.3, +-37.08 -11.8 -103.5, -37.17 -10.72 -103.7, -37.23 -9.648 -103.9, +-37.26 -8.558 -103.7, -37.19 -7.484 -103.8, -37.25 -6.413 -104.1, +-37.25 -5.333 -104.1, -37.05 -4.157 -104.3, -37.11 -3.824 -104.8, +-37.24 -3.828 -104.9, -37.05 -3.829 -104.9, -37.11 -3.913 -105.6, +-37.24 -3.917 -105.7, -37.05 -3.917 -105.7, -37.13 -3.649 -106.3, +-37.25 -3.653 -106.4, -37.06 -3.653 -106.4, -37.12 -3.906 -107.3, +-37.16 -3.907 -107.3, -37.11 -3.908 -107.3, -37.29 -11.8 -103.5, +-37.15 -11.8 -103.5, -37.27 -10.72 -103.8, -37.21 -10.72 -103.7, +-37.42 -9.647 -103.9, -37.29 -9.643 -103.8, -37.33 -8.558 -103.6, +-37.27 -8.556 -103.6, -37.41 -7.483 -103.8, -37.27 -7.479 -103.7, +-37.36 -6.412 -104.1, -37.29 -6.41 -104, -37.41 -5.332 -104.1, +-37.29 -5.329 -104, -37.11 -4.153 -104.3, -37.24 -4.157 -104.3, +-37.08 -11.8 -103.5, -37.18 -10.72 -103.8, -37.22 -9.648 -103.9, +-37.24 -8.558 -103.7, -37.2 -7.484 -103.8, -37.26 -6.413 -104.1, +-37.24 -5.333 -104.1, -37.05 -4.157 -104.3, -37.12 -3.824 -104.8, +-37.25 -3.828 -104.9, -37.06 -3.829 -104.9, -37.12 -3.913 -105.7, +-37.25 -3.917 -105.7, -37.05 -3.917 -105.7, -37.14 -3.649 -106.3, +-37.27 -3.653 -106.4, -37.07 -3.653 -106.4, -37.13 -3.906 -107.3, +-37.16 -3.907 -107.3, -37.11 -3.908 -107.3, -37.29 -11.8 -103.5, +-37.16 -11.8 -103.5, -37.29 -10.72 -103.8, -37.23 -10.72 -103.8, +-37.41 -9.647 -103.9, -37.27 -9.643 -103.8, -37.32 -8.558 -103.6, +-37.26 -8.556 -103.6, -37.42 -7.483 -103.8, -37.29 -7.479 -103.7, +-37.37 -6.412 -104.1, -37.3 -6.41 -104, -37.39 -5.332 -104, +-37.27 -5.329 -104, -37.11 -4.153 -104.3, -37.24 -4.157 -104.3, +-37.09 -11.8 -103.5, -37.2 -10.72 -103.8, -37.21 -9.648 -103.9, +-37.23 -8.558 -103.6, -37.22 -7.484 -103.8, -37.27 -6.413 -104.1, +-37.22 -5.333 -104.1, -37.05 -4.157 -104.3, -37.13 -3.824 -104.8, +-37.26 -3.828 -104.9, -37.07 -3.829 -104.9, -37.13 -3.913 -105.7, +-37.25 -3.917 -105.7, -37.06 -3.917 -105.7, -37.15 -3.649 -106.3, +-37.28 -3.653 -106.4, -37.09 -3.653 -106.4, -37.14 -3.906 -107.3, +-37.17 -3.907 -107.3, -37.12 -3.908 -107.3, -37.3 -11.8 -103.5, +-37.17 -11.8 -103.5, -37.3 -10.72 -103.8, -37.24 -10.72 -103.8, +-37.39 -9.647 -103.8, -37.26 -9.643 -103.8, -37.31 -8.558 -103.6, +-37.25 -8.556 -103.6, -37.44 -7.483 -103.8, -37.3 -7.479 -103.7, +-37.37 -6.412 -104.1, -37.3 -6.41 -104.1, -37.38 -5.332 -104, +-37.26 -5.329 -104, -37.12 -4.153 -104.3, -37.25 -4.157 -104.3, +-37.1 -11.8 -103.6, -37.22 -10.72 -103.8, -37.19 -9.648 -103.9, +-37.22 -8.558 -103.6, -37.24 -7.484 -103.8, -37.27 -6.413 -104.1, +-37.2 -5.333 -104, -37.05 -4.157 -104.3, -37.15 -3.824 -104.8, +-37.28 -3.828 -104.9, -37.08 -3.829 -104.9, -37.14 -3.913 -105.7, +-37.27 -3.917 -105.7, -37.07 -3.917 -105.7, -37.17 -3.649 -106.4, +-37.3 -3.653 -106.4, -37.11 -3.653 -106.4, -37.15 -3.906 -107.3, +-37.19 -3.907 -107.3, -37.13 -3.908 -107.3, -37.32 -11.8 -103.6, +-37.18 -11.8 -103.5, -37.31 -10.72 -103.8, -37.26 -10.72 -103.8, +-37.38 -9.647 -103.8, -37.24 -9.643 -103.8, -37.31 -8.558 -103.6, +-37.24 -8.556 -103.6, -37.46 -7.483 -103.8, -37.32 -7.479 -103.8, +-37.37 -6.412 -104.1, -37.3 -6.41 -104, -37.36 -5.332 -104, +-37.24 -5.329 -104, -37.13 -4.153 -104.3, -37.26 -4.157 -104.3, +-37.11 -11.8 -103.6, -37.23 -10.72 -103.8, -37.18 -9.648 -103.8, +-37.21 -8.558 -103.6, -37.26 -7.484 -103.8, -37.27 -6.413 -104.1, +-37.18 -5.333 -104, -37.06 -4.157 -104.4, -37.17 -3.824 -104.9, +-37.29 -3.828 -104.9, -37.1 -3.829 -104.9, -37.15 -3.913 -105.7, +-37.28 -3.917 -105.7, -37.09 -3.917 -105.8, -37.19 -3.649 -106.4, +-37.32 -3.653 -106.4, -37.13 -3.653 -106.4, -37.17 -3.906 -107.3, +-37.2 -3.907 -107.3, -37.15 -3.908 -107.3, -37.33 -11.8 -103.6, +-37.2 -11.8 -103.5, -37.32 -10.72 -103.8, -37.26 -10.72 -103.8, +-37.36 -9.647 -103.8, -37.22 -9.643 -103.8, -37.31 -8.558 -103.6, +-37.24 -8.556 -103.6, -37.48 -7.483 -103.8, -37.34 -7.479 -103.8, +-37.36 -6.412 -104.1, -37.3 -6.41 -104, -37.34 -5.332 -104, +-37.22 -5.329 -103.9, -37.14 -4.153 -104.3, -37.27 -4.157 -104.4, +-37.13 -11.8 -103.6, -37.24 -10.72 -103.8, -37.16 -9.648 -103.8, +-37.21 -8.558 -103.6, -37.28 -7.484 -103.9, -37.27 -6.413 -104.1, +-37.16 -5.333 -104, -37.08 -4.157 -104.4, -37.18 -3.824 -104.9, +-37.31 -3.828 -104.9, -37.12 -3.829 -104.9, -37.17 -3.913 -105.7, +-37.3 -3.917 -105.8, -37.11 -3.917 -105.8, -37.21 -3.649 -106.4, +-37.34 -3.653 -106.5, -37.15 -3.653 -106.5, -37.19 -3.906 -107.3, +-37.22 -3.907 -107.4, -37.17 -3.908 -107.4, -37.35 -11.8 -103.6, +-37.22 -11.8 -103.5, -37.33 -10.72 -103.8, -37.27 -10.72 -103.8, +-37.34 -9.647 -103.8, -37.2 -9.643 -103.7, -37.31 -8.558 -103.6, +-37.24 -8.556 -103.6, -37.5 -7.483 -103.9, -37.36 -7.479 -103.8, +-37.36 -6.412 -104.1, -37.29 -6.41 -104, -37.32 -5.332 -104, +-37.2 -5.329 -103.9, -37.16 -4.153 -104.3, -37.29 -4.157 -104.4, +-37.15 -11.8 -103.6, -37.24 -10.72 -103.8, -37.14 -9.648 -103.8, +-37.21 -8.558 -103.6, -37.3 -7.484 -103.9, -37.26 -6.413 -104.1, +-37.15 -5.333 -104, -37.09 -4.157 -104.4, -37.2 -3.824 -104.9, +-37.33 -3.828 -105, -37.14 -3.829 -105, -37.19 -3.913 -105.7, +-37.32 -3.917 -105.8, -37.13 -3.917 -105.8, -37.23 -3.649 -106.4, +-37.36 -3.653 -106.5, -37.17 -3.653 -106.5, -37.2 -3.906 -107.4, +-37.24 -3.907 -107.4, -37.19 -3.908 -107.4, ] +} +] +}, +DEF Plane26 Transform { +translation 37.13 5.921 103.7 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane26-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane26-COORD Coordinate { +point [ -37.39 -11.8 -103.4 -37.28 -11.8 -103.5 -37.56 -10.72 -103.7 -37.52 +-10.72 -103.8 -37.57 -9.647 -103.5 -37.47 -9.643 -103.6 -37.41 -8.558 -103.4 +-37.37 -8.556 -103.4 -37.67 -7.483 -103.5 -37.57 -7.479 -103.6 -37.81 -6.412 +-103.7 -37.76 -6.41 -103.8 -37.74 -5.332 -103.5 -37.66 -5.329 -103.6 -38.01 +-4.153 -103.8 -38.1 -4.157 -103.7 -37.33 -11.8 -103.6 -37.54 -10.72 -103.8 +-37.51 -9.648 -103.7 -37.39 -8.558 -103.5 -37.62 -7.484 -103.7 -37.79 -6.413 +-103.8 -37.69 -5.333 -103.7 -38.05 -4.157 -103.9 -38.56 -3.824 -104 -38.66 +-3.828 -103.9 -38.6 -3.829 -104.1 -39.34 -3.913 -104.3 -39.43 -3.917 -104.2 +-39.38 -3.917 -104.4 -40 -3.649 -104.6 -40.09 -3.653 -104.5 -40.04 -3.653 +-104.7 -40.88 -3.906 -104.8 -40.91 -3.907 -104.8 -40.89 -3.908 -104.9 ] +} +texCoord DEF Plane26-TEXCOORD +TextureCoordinate { point [ 0 0 1 0 0 1 1 1 ] } coordIndex [ 2 0 3 -1 1 3 0 +-1 4 2 5 -1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 10 8 11 -1 9 11 8 +-1 12 10 13 -1 11 13 10 -1 14 15 12 -1 12 13 14 -1 3 1 17 -1 16 17 1 -1 5 3 +18 -1 17 18 3 -1 7 5 19 -1 18 19 5 -1 9 7 20 -1 19 20 7 -1 11 9 21 -1 20 21 +9 -1 13 11 22 -1 21 22 11 -1 23 14 13 -1 13 22 23 -1 24 25 15 -1 15 14 24 +-1 26 24 14 -1 14 23 26 -1 27 28 25 -1 25 24 27 -1 29 27 24 -1 24 26 29 -1 30 +31 28 -1 28 27 30 -1 32 30 27 -1 27 29 32 -1 33 34 31 -1 31 30 33 -1 35 33 30 +-1 30 32 35 -1 ] texCoordIndex +[ 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 +0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 3 2 0 -1 0 1 3 -1 2 0 3 -1 1 3 0 -1 2 0 3 +-1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 +3 0 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 +-1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 +2 0 -1 0 1 3 -1 ] +} +} +DEF Plane26-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, +0.2667, 0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, +0.5333, 0.5667, 0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, +0.8, 0.8333, 0.8667, 0.9, 0.9333, 0.9667, 1, ] +keyValue [-37.39 -11.8 -103.4, +-37.28 -11.8 -103.5, -37.56 -10.72 -103.7, -37.52 -10.72 -103.8, +-37.57 -9.647 -103.5, -37.47 -9.643 -103.6, -37.41 -8.558 -103.4, +-37.37 -8.556 -103.4, -37.67 -7.483 -103.5, -37.57 -7.479 -103.6, +-37.81 -6.412 -103.7, -37.76 -6.41 -103.8, -37.74 -5.332 -103.5, +-37.66 -5.329 -103.6, -38.01 -4.153 -103.8, -38.1 -4.157 -103.7, +-37.33 -11.8 -103.6, -37.54 -10.72 -103.8, -37.51 -9.648 -103.7, +-37.39 -8.558 -103.5, -37.62 -7.484 -103.7, -37.79 -6.413 -103.8, +-37.69 -5.333 -103.7, -38.05 -4.157 -103.9, -38.56 -3.824 -104, +-38.66 -3.828 -103.9, -38.6 -3.829 -104.1, -39.34 -3.913 -104.3, +-39.43 -3.917 -104.2, -39.38 -3.917 -104.4, -40 -3.649 -104.6, +-40.09 -3.653 -104.5, -40.04 -3.653 -104.7, -40.88 -3.906 -104.8, +-40.91 -3.907 -104.8, -40.89 -3.908 -104.9, -37.4 -11.8 -103.4, +-37.3 -11.8 -103.6, -37.56 -10.72 -103.7, -37.52 -10.72 -103.8, +-37.55 -9.647 -103.5, -37.45 -9.643 -103.6, -37.42 -8.558 -103.4, +-37.37 -8.556 -103.4, -37.69 -7.483 -103.5, -37.59 -7.479 -103.6, +-37.8 -6.412 -103.7, -37.75 -6.41 -103.8, -37.73 -5.332 -103.5, +-37.64 -5.329 -103.6, -38.02 -4.153 -103.8, -38.12 -4.157 -103.7, +-37.35 -11.8 -103.6, -37.54 -10.72 -103.8, -37.49 -9.648 -103.7, +-37.39 -8.558 -103.5, -37.63 -7.484 -103.7, -37.77 -6.413 -103.8, +-37.68 -5.333 -103.7, -38.06 -4.157 -103.9, -38.58 -3.824 -104.1, +-38.67 -3.828 -104, -38.62 -3.829 -104.1, -39.36 -3.913 -104.3, +-39.45 -3.917 -104.2, -39.4 -3.917 -104.4, -40.02 -3.649 -104.6, +-40.11 -3.653 -104.5, -40.06 -3.653 -104.7, -40.9 -3.906 -104.9, +-40.93 -3.907 -104.8, -40.91 -3.908 -104.9, -37.42 -11.8 -103.5, +-37.32 -11.8 -103.6, -37.56 -10.72 -103.7, -37.51 -10.72 -103.8, +-37.53 -9.647 -103.5, -37.43 -9.643 -103.6, -37.43 -8.558 -103.4, +-37.38 -8.556 -103.4, -37.71 -7.483 -103.5, -37.6 -7.479 -103.6, +-37.79 -6.412 -103.7, -37.74 -6.41 -103.8, -37.72 -5.332 -103.5, +-37.63 -5.329 -103.6, -38.04 -4.153 -103.9, -38.14 -4.157 -103.8, +-37.37 -11.8 -103.7, -37.53 -10.72 -103.8, -37.47 -9.648 -103.7, +-37.4 -8.558 -103.5, -37.65 -7.484 -103.7, -37.76 -6.413 -103.8, +-37.67 -5.333 -103.7, -38.08 -4.157 -103.9, -38.6 -3.824 -104.1, +-38.69 -3.828 -104, -38.64 -3.829 -104.2, -39.37 -3.913 -104.4, +-39.47 -3.917 -104.2, -39.42 -3.917 -104.4, -40.03 -3.649 -104.6, +-40.13 -3.653 -104.5, -40.07 -3.653 -104.7, -40.92 -3.906 -104.9, +-40.94 -3.907 -104.9, -40.93 -3.908 -104.9, -37.44 -11.8 -103.5, +-37.34 -11.8 -103.6, -37.55 -10.72 -103.7, -37.5 -10.72 -103.7, +-37.51 -9.647 -103.5, -37.41 -9.643 -103.6, -37.44 -8.558 -103.4, +-37.4 -8.556 -103.5, -37.72 -7.483 -103.5, -37.62 -7.479 -103.6, +-37.77 -6.412 -103.7, -37.72 -6.41 -103.8, -37.72 -5.332 -103.5, +-37.63 -5.329 -103.6, -38.06 -4.153 -103.9, -38.16 -4.157 -103.8, +-37.39 -11.8 -103.7, -37.52 -10.72 -103.8, -37.46 -9.648 -103.7, +-37.42 -8.558 -103.5, -37.66 -7.484 -103.7, -37.74 -6.413 -103.8, +-37.67 -5.333 -103.7, -38.1 -4.157 -104, -38.62 -3.824 -104.1, +-38.71 -3.828 -104, -38.66 -3.829 -104.2, -39.39 -3.913 -104.4, +-39.49 -3.917 -104.3, -39.43 -3.917 -104.4, -40.04 -3.649 -104.6, +-40.14 -3.653 -104.5, -40.09 -3.653 -104.7, -40.94 -3.906 -104.9, +-40.96 -3.907 -104.9, -40.95 -3.908 -104.9, -37.46 -11.8 -103.5, +-37.36 -11.8 -103.6, -37.54 -10.72 -103.7, -37.49 -10.72 -103.7, +-37.5 -9.647 -103.5, -37.4 -9.643 -103.6, -37.46 -8.558 -103.4, +-37.41 -8.556 -103.5, -37.73 -7.483 -103.5, -37.62 -7.479 -103.6, +-37.75 -6.412 -103.7, -37.7 -6.41 -103.7, -37.71 -5.332 -103.5, +-37.62 -5.329 -103.6, -38.08 -4.153 -103.9, -38.18 -4.157 -103.8, +-37.4 -11.8 -103.7, -37.51 -10.72 -103.8, -37.44 -9.648 -103.7, +-37.43 -8.558 -103.5, -37.67 -7.484 -103.7, -37.72 -6.413 -103.8, +-37.66 -5.333 -103.7, -38.12 -4.157 -104, -38.63 -3.824 -104.1, +-38.72 -3.828 -104, -38.67 -3.829 -104.2, -39.41 -3.913 -104.4, +-39.5 -3.917 -104.3, -39.45 -3.917 -104.5, -40.05 -3.649 -104.6, +-40.15 -3.653 -104.5, -40.1 -3.653 -104.7, -40.95 -3.906 -104.9, +-40.98 -3.907 -104.9, -40.96 -3.908 -104.9, -37.48 -11.8 -103.5, +-37.38 -11.8 -103.6, -37.52 -10.72 -103.7, -37.48 -10.72 -103.7, +-37.49 -9.647 -103.5, -37.39 -9.643 -103.6, -37.48 -8.558 -103.4, +-37.43 -8.556 -103.5, -37.73 -7.483 -103.5, -37.63 -7.479 -103.6, +-37.73 -6.412 -103.7, -37.68 -6.41 -103.7, -37.72 -5.332 -103.5, +-37.63 -5.329 -103.6, -38.1 -4.153 -103.9, -38.19 -4.157 -103.8, +-37.42 -11.8 -103.7, -37.5 -10.72 -103.8, -37.43 -9.648 -103.7, +-37.45 -8.558 -103.5, -37.67 -7.484 -103.7, -37.7 -6.413 -103.8, +-37.67 -5.333 -103.7, -38.14 -4.157 -104, -38.64 -3.824 -104.1, +-38.74 -3.828 -104, -38.68 -3.829 -104.2, -39.42 -3.913 -104.4, +-39.52 -3.917 -104.3, -39.46 -3.917 -104.5, -40.06 -3.649 -104.6, +-40.16 -3.653 -104.5, -40.1 -3.653 -104.7, -40.97 -3.906 -104.9, +-40.99 -3.907 -104.9, -40.98 -3.908 -104.9, -37.49 -11.8 -103.5, +-37.39 -11.8 -103.6, -37.5 -10.72 -103.7, -37.46 -10.72 -103.7, +-37.48 -9.647 -103.5, -37.38 -9.643 -103.6, -37.5 -8.558 -103.5, +-37.45 -8.556 -103.5, -37.73 -7.483 -103.5, -37.63 -7.479 -103.6, +-37.71 -6.412 -103.7, -37.66 -6.41 -103.7, -37.72 -5.332 -103.5, +-37.63 -5.329 -103.6, -38.11 -4.153 -103.9, -38.21 -4.157 -103.8, +-37.43 -11.8 -103.7, -37.48 -10.72 -103.7, -37.43 -9.648 -103.7, +-37.47 -8.558 -103.5, -37.67 -7.484 -103.7, -37.68 -6.413 -103.7, +-37.67 -5.333 -103.7, -38.15 -4.157 -104, -38.65 -3.824 -104.1, +-38.74 -3.828 -104, -38.69 -3.829 -104.2, -39.43 -3.913 -104.4, +-39.53 -3.917 -104.3, -39.47 -3.917 -104.5, -40.06 -3.649 -104.6, +-40.16 -3.653 -104.5, -40.1 -3.653 -104.7, -40.98 -3.906 -104.9, +-41 -3.907 -104.9, -40.99 -3.908 -105, -37.5 -11.8 -103.5, +-37.4 -11.8 -103.6, -37.49 -10.72 -103.6, -37.44 -10.72 -103.7, +-37.48 -9.647 -103.5, -37.38 -9.643 -103.6, -37.52 -8.558 -103.5, +-37.47 -8.556 -103.5, -37.73 -7.483 -103.5, -37.62 -7.479 -103.6, +-37.69 -6.412 -103.6, -37.64 -6.41 -103.7, -37.73 -5.332 -103.5, +-37.64 -5.329 -103.6, -38.13 -4.153 -103.9, -38.22 -4.157 -103.8, +-37.44 -11.8 -103.7, -37.46 -10.72 -103.7, -37.42 -9.648 -103.7, +-37.49 -8.558 -103.6, -37.67 -7.484 -103.7, -37.66 -6.413 -103.7, +-37.68 -5.333 -103.7, -38.17 -4.157 -104, -38.65 -3.824 -104.1, +-38.75 -3.828 -104, -38.69 -3.829 -104.2, -39.44 -3.913 -104.4, +-39.53 -3.917 -104.3, -39.48 -3.917 -104.5, -40.06 -3.649 -104.6, +-40.16 -3.653 -104.5, -40.1 -3.653 -104.7, -40.98 -3.906 -104.9, +-41.01 -3.907 -104.9, -40.99 -3.908 -105, -37.5 -11.8 -103.5, +-37.4 -11.8 -103.6, -37.47 -10.72 -103.6, -37.42 -10.72 -103.7, +-37.48 -9.647 -103.5, -37.38 -9.643 -103.6, -37.54 -8.558 -103.5, +-37.49 -8.556 -103.5, -37.72 -7.483 -103.5, -37.62 -7.479 -103.6, +-37.68 -6.412 -103.6, -37.63 -6.41 -103.7, -37.74 -5.332 -103.5, +-37.66 -5.329 -103.6, -38.14 -4.153 -103.9, -38.23 -4.157 -103.8, +-37.45 -11.8 -103.7, -37.44 -10.72 -103.7, -37.42 -9.648 -103.7, +-37.51 -8.558 -103.6, -37.66 -7.484 -103.7, -37.65 -6.413 -103.7, +-37.69 -5.333 -103.7, -38.18 -4.157 -104, -38.65 -3.824 -104.1, +-38.75 -3.828 -104, -38.69 -3.829 -104.2, -39.44 -3.913 -104.4, +-39.54 -3.917 -104.3, -39.48 -3.917 -104.5, -40.06 -3.649 -104.6, +-40.15 -3.653 -104.5, -40.1 -3.653 -104.7, -40.98 -3.906 -104.9, +-41.01 -3.907 -104.9, -41 -3.908 -105, -37.5 -11.8 -103.5, +-37.4 -11.8 -103.7, -37.45 -10.72 -103.6, -37.4 -10.72 -103.7, +-37.49 -9.647 -103.5, -37.39 -9.643 -103.6, -37.55 -8.558 -103.5, +-37.51 -8.556 -103.6, -37.71 -7.483 -103.5, -37.61 -7.479 -103.6, +-37.66 -6.412 -103.6, -37.61 -6.41 -103.7, -37.76 -5.332 -103.5, +-37.67 -5.329 -103.6, -38.14 -4.153 -104, -38.24 -4.157 -103.8, +-37.45 -11.8 -103.7, -37.42 -10.72 -103.7, -37.43 -9.648 -103.7, +-37.53 -8.558 -103.6, -37.65 -7.484 -103.7, -37.63 -6.413 -103.7, +-37.71 -5.333 -103.7, -38.18 -4.157 -104, -38.65 -3.824 -104.1, +-38.74 -3.828 -104, -38.69 -3.829 -104.2, -39.44 -3.913 -104.4, +-39.54 -3.917 -104.3, -39.48 -3.917 -104.5, -40.05 -3.649 -104.6, +-40.14 -3.653 -104.5, -40.09 -3.653 -104.7, -40.98 -3.906 -104.9, +-41.01 -3.907 -104.9, -40.99 -3.908 -105, -37.5 -11.8 -103.5, +-37.4 -11.8 -103.6, -37.43 -10.72 -103.6, -37.39 -10.72 -103.6, +-37.5 -9.647 -103.5, -37.39 -9.643 -103.6, -37.57 -8.558 -103.5, +-37.52 -8.556 -103.6, -37.69 -7.483 -103.5, -37.59 -7.479 -103.6, +-37.65 -6.412 -103.6, -37.6 -6.41 -103.7, -37.78 -5.332 -103.6, +-37.69 -5.329 -103.7, -38.14 -4.153 -104, -38.24 -4.157 -103.8, +-37.44 -11.8 -103.7, -37.4 -10.72 -103.7, -37.44 -9.648 -103.7, +-37.54 -8.558 -103.6, -37.64 -7.484 -103.7, -37.62 -6.413 -103.7, +-37.73 -5.333 -103.7, -38.19 -4.157 -104, -38.64 -3.824 -104.1, +-38.73 -3.828 -104, -38.68 -3.829 -104.2, -39.43 -3.913 -104.4, +-39.53 -3.917 -104.3, -39.48 -3.917 -104.5, -40.03 -3.649 -104.6, +-40.13 -3.653 -104.5, -40.07 -3.653 -104.7, -40.98 -3.906 -104.9, +-41 -3.907 -104.9, -40.99 -3.908 -105, -37.49 -11.8 -103.5, +-37.39 -11.8 -103.6, -37.41 -10.72 -103.6, -37.37 -10.72 -103.6, +-37.51 -9.647 -103.5, -37.41 -9.643 -103.6, -37.58 -8.558 -103.5, +-37.54 -8.556 -103.6, -37.68 -7.483 -103.5, -37.57 -7.479 -103.6, +-37.64 -6.412 -103.6, -37.59 -6.41 -103.6, -37.8 -5.332 -103.6, +-37.71 -5.329 -103.7, -38.14 -4.153 -104, -38.24 -4.157 -103.8, +-37.44 -11.8 -103.7, -37.39 -10.72 -103.7, -37.45 -9.648 -103.7, +-37.56 -8.558 -103.6, -37.62 -7.484 -103.7, -37.62 -6.413 -103.7, +-37.75 -5.333 -103.7, -38.18 -4.157 -104, -38.63 -3.824 -104.1, +-38.72 -3.828 -104, -38.67 -3.829 -104.2, -39.42 -3.913 -104.4, +-39.52 -3.917 -104.3, -39.47 -3.917 -104.5, -40.02 -3.649 -104.6, +-40.11 -3.653 -104.5, -40.06 -3.653 -104.7, -40.97 -3.906 -104.9, +-40.99 -3.907 -104.9, -40.98 -3.908 -105, -37.48 -11.8 -103.5, +-37.38 -11.8 -103.6, -37.4 -10.72 -103.6, -37.35 -10.72 -103.6, +-37.52 -9.647 -103.5, -37.42 -9.643 -103.6, -37.59 -8.558 -103.5, +-37.54 -8.556 -103.6, -37.66 -7.483 -103.5, -37.56 -7.479 -103.6, +-37.64 -6.412 -103.6, -37.59 -6.41 -103.6, -37.82 -5.332 -103.6, +-37.73 -5.329 -103.7, -38.14 -4.153 -103.9, -38.23 -4.157 -103.8, +-37.43 -11.8 -103.7, -37.37 -10.72 -103.6, -37.47 -9.648 -103.7, +-37.56 -8.558 -103.6, -37.6 -7.484 -103.7, -37.61 -6.413 -103.7, +-37.77 -5.333 -103.8, -38.18 -4.157 -104, -38.61 -3.824 -104.1, +-38.71 -3.828 -104, -38.65 -3.829 -104.2, -39.41 -3.913 -104.4, +-39.51 -3.917 -104.3, -39.45 -3.917 -104.5, -40 -3.649 -104.6, +-40.1 -3.653 -104.5, -40.04 -3.653 -104.7, -40.95 -3.906 -104.9, +-40.98 -3.907 -104.9, -40.97 -3.908 -104.9, -37.47 -11.8 -103.5, +-37.37 -11.8 -103.6, -37.39 -10.72 -103.6, -37.34 -10.72 -103.6, +-37.54 -9.647 -103.5, -37.44 -9.643 -103.6, -37.6 -8.558 -103.6, +-37.55 -8.556 -103.6, -37.64 -7.483 -103.4, -37.54 -7.479 -103.6, +-37.64 -6.412 -103.6, -37.59 -6.41 -103.6, -37.84 -5.332 -103.6, +-37.75 -5.329 -103.7, -38.13 -4.153 -103.9, -38.22 -4.157 -103.8, +-37.41 -11.8 -103.7, -37.36 -10.72 -103.6, -37.48 -9.648 -103.7, +-37.57 -8.558 -103.6, -37.58 -7.484 -103.6, -37.61 -6.413 -103.7, +-37.79 -5.333 -103.8, -38.17 -4.157 -104, -38.6 -3.824 -104.1, +-38.69 -3.828 -104, -38.64 -3.829 -104.2, -39.4 -3.913 -104.4, +-39.49 -3.917 -104.3, -39.44 -3.917 -104.5, -39.98 -3.649 -104.6, +-40.08 -3.653 -104.5, -40.02 -3.653 -104.6, -40.94 -3.906 -104.9, +-40.96 -3.907 -104.9, -40.95 -3.908 -104.9, -37.45 -11.8 -103.5, +-37.35 -11.8 -103.6, -37.38 -10.72 -103.5, -37.33 -10.72 -103.6, +-37.56 -9.647 -103.5, -37.46 -9.643 -103.6, -37.6 -8.558 -103.6, +-37.55 -8.556 -103.6, -37.62 -7.483 -103.4, -37.52 -7.479 -103.5, +-37.65 -6.412 -103.6, -37.6 -6.41 -103.6, -37.85 -5.332 -103.6, +-37.76 -5.329 -103.7, -38.11 -4.153 -103.9, -38.21 -4.157 -103.8, +-37.4 -11.8 -103.7, -37.35 -10.72 -103.6, -37.5 -9.648 -103.7, +-37.57 -8.558 -103.6, -37.56 -7.484 -103.6, -37.62 -6.413 -103.7, +-37.8 -5.333 -103.8, -38.15 -4.157 -104, -38.58 -3.824 -104.1, +-38.67 -3.828 -104, -38.62 -3.829 -104.1, -39.38 -3.913 -104.4, +-39.47 -3.917 -104.3, -39.42 -3.917 -104.4, -39.96 -3.649 -104.5, +-40.06 -3.653 -104.4, -40 -3.653 -104.6, -40.92 -3.906 -104.9, +-40.95 -3.907 -104.9, -40.93 -3.908 -104.9, -37.44 -11.8 -103.5, +-37.33 -11.8 -103.6, -37.37 -10.72 -103.5, -37.33 -10.72 -103.6, +-37.58 -9.647 -103.6, -37.48 -9.643 -103.7, -37.6 -8.558 -103.5, +-37.55 -8.556 -103.6, -37.6 -7.483 -103.4, -37.5 -7.479 -103.5, +-37.65 -6.412 -103.6, -37.61 -6.41 -103.7, -37.87 -5.332 -103.6, +-37.78 -5.329 -103.7, -38.1 -4.153 -103.9, -38.19 -4.157 -103.8, +-37.38 -11.8 -103.7, -37.35 -10.72 -103.6, -37.52 -9.648 -103.7, +-37.57 -8.558 -103.6, -37.54 -7.484 -103.6, -37.63 -6.413 -103.7, +-37.82 -5.333 -103.8, -38.14 -4.157 -104, -38.56 -3.824 -104, +-38.65 -3.828 -103.9, -38.6 -3.829 -104.1, -39.36 -3.913 -104.3, +-39.46 -3.917 -104.2, -39.4 -3.917 -104.4, -39.94 -3.649 -104.5, +-40.04 -3.653 -104.4, -39.98 -3.653 -104.6, -40.9 -3.906 -104.9, +-40.93 -3.907 -104.8, -40.91 -3.908 -104.9, -37.42 -11.8 -103.5, +-37.31 -11.8 -103.6, -37.37 -10.72 -103.5, -37.33 -10.72 -103.6, +-37.6 -9.647 -103.6, -37.5 -9.643 -103.7, -37.59 -8.558 -103.5, +-37.54 -8.556 -103.6, -37.58 -7.483 -103.4, -37.48 -7.479 -103.5, +-37.67 -6.412 -103.6, -37.62 -6.41 -103.7, -37.88 -5.332 -103.7, +-37.79 -5.329 -103.8, -38.08 -4.153 -103.9, -38.17 -4.157 -103.8, +-37.36 -11.8 -103.7, -37.35 -10.72 -103.6, -37.54 -9.648 -103.8, +-37.56 -8.558 -103.6, -37.53 -7.484 -103.6, -37.64 -6.413 -103.7, +-37.83 -5.333 -103.8, -38.12 -4.157 -104, -38.54 -3.824 -104, +-38.63 -3.828 -103.9, -38.58 -3.829 -104.1, -39.34 -3.913 -104.3, +-39.44 -3.917 -104.2, -39.38 -3.917 -104.4, -39.92 -3.649 -104.5, +-40.02 -3.653 -104.4, -39.97 -3.653 -104.6, -40.88 -3.906 -104.8, +-40.91 -3.907 -104.8, -40.89 -3.908 -104.9, -37.4 -11.8 -103.4, +-37.29 -11.8 -103.6, -37.38 -10.72 -103.5, -37.33 -10.72 -103.6, +-37.62 -9.647 -103.6, -37.52 -9.643 -103.7, -37.58 -8.558 -103.5, +-37.53 -8.556 -103.6, -37.57 -7.483 -103.4, -37.47 -7.479 -103.5, +-37.68 -6.412 -103.6, -37.63 -6.41 -103.7, -37.89 -5.332 -103.7, +-37.8 -5.329 -103.8, -38.06 -4.153 -103.9, -38.16 -4.157 -103.8, +-37.34 -11.8 -103.6, -37.35 -10.72 -103.6, -37.56 -9.648 -103.8, +-37.55 -8.558 -103.6, -37.51 -7.484 -103.6, -37.65 -6.413 -103.7, +-37.84 -5.333 -103.8, -38.1 -4.157 -104, -38.52 -3.824 -104, +-38.62 -3.828 -103.9, -38.56 -3.829 -104.1, -39.32 -3.913 -104.3, +-39.42 -3.917 -104.2, -39.36 -3.917 -104.4, -39.91 -3.649 -104.5, +-40 -3.653 -104.4, -39.95 -3.653 -104.6, -40.86 -3.906 -104.8, +-40.89 -3.907 -104.8, -40.87 -3.908 -104.9, -37.38 -11.8 -103.4, +-37.28 -11.8 -103.5, -37.39 -10.72 -103.6, -37.34 -10.72 -103.6, +-37.63 -9.647 -103.6, -37.53 -9.643 -103.7, -37.56 -8.558 -103.5, +-37.52 -8.556 -103.6, -37.56 -7.483 -103.4, -37.45 -7.479 -103.5, +-37.7 -6.412 -103.6, -37.65 -6.41 -103.7, -37.9 -5.332 -103.7, +-37.81 -5.329 -103.8, -38.04 -4.153 -103.9, -38.14 -4.157 -103.8, +-37.32 -11.8 -103.6, -37.36 -10.72 -103.6, -37.58 -9.648 -103.8, +-37.54 -8.558 -103.6, -37.5 -7.484 -103.6, -37.67 -6.413 -103.7, +-37.85 -5.333 -103.8, -38.08 -4.157 -103.9, -38.5 -3.824 -104, +-38.6 -3.828 -103.9, -38.54 -3.829 -104.1, -39.3 -3.913 -104.3, +-39.4 -3.917 -104.2, -39.34 -3.917 -104.4, -39.89 -3.649 -104.5, +-39.99 -3.653 -104.4, -39.94 -3.653 -104.6, -40.84 -3.906 -104.8, +-40.87 -3.907 -104.8, -40.86 -3.908 -104.8, -37.36 -11.8 -103.4, +-37.26 -11.8 -103.5, -37.4 -10.72 -103.6, -37.35 -10.72 -103.6, +-37.65 -9.647 -103.6, -37.55 -9.643 -103.7, -37.55 -8.558 -103.5, +-37.5 -8.556 -103.6, -37.55 -7.483 -103.4, -37.45 -7.479 -103.5, +-37.72 -6.412 -103.7, -37.67 -6.41 -103.7, -37.9 -5.332 -103.7, +-37.81 -5.329 -103.8, -38.02 -4.153 -103.8, -38.12 -4.157 -103.7, +-37.3 -11.8 -103.6, -37.37 -10.72 -103.6, -37.59 -9.648 -103.8, +-37.52 -8.558 -103.6, -37.49 -7.484 -103.6, -37.69 -6.413 -103.8, +-37.85 -5.333 -103.8, -38.06 -4.157 -103.9, -38.49 -3.824 -104, +-38.58 -3.828 -103.9, -38.53 -3.829 -104.1, -39.29 -3.913 -104.3, +-39.38 -3.917 -104.2, -39.33 -3.917 -104.4, -39.88 -3.649 -104.5, +-39.98 -3.653 -104.4, -39.93 -3.653 -104.5, -40.83 -3.906 -104.8, +-40.85 -3.907 -104.8, -40.84 -3.908 -104.8, -37.34 -11.8 -103.4, +-37.24 -11.8 -103.5, -37.41 -10.72 -103.6, -37.37 -10.72 -103.6, +-37.66 -9.647 -103.6, -37.56 -9.643 -103.7, -37.53 -8.558 -103.5, +-37.48 -8.556 -103.5, -37.54 -7.483 -103.4, -37.44 -7.479 -103.5, +-37.74 -6.412 -103.7, -37.69 -6.41 -103.7, -37.9 -5.332 -103.7, +-37.81 -5.329 -103.8, -38 -4.153 -103.8, -38.1 -4.157 -103.7, +-37.29 -11.8 -103.6, -37.39 -10.72 -103.7, -37.6 -9.648 -103.8, +-37.5 -8.558 -103.6, -37.49 -7.484 -103.6, -37.71 -6.413 -103.8, +-37.85 -5.333 -103.8, -38.04 -4.157 -103.9, -38.48 -3.824 -104, +-38.57 -3.828 -103.9, -38.52 -3.829 -104.1, -39.27 -3.913 -104.3, +-39.37 -3.917 -104.2, -39.31 -3.917 -104.3, -39.88 -3.649 -104.5, +-39.97 -3.653 -104.4, -39.92 -3.653 -104.5, -40.82 -3.906 -104.8, +-40.84 -3.907 -104.8, -40.83 -3.908 -104.8, -37.33 -11.8 -103.4, +-37.23 -11.8 -103.5, -37.43 -10.72 -103.6, -37.39 -10.72 -103.6, +-37.66 -9.647 -103.6, -37.56 -9.643 -103.7, -37.51 -8.558 -103.5, +-37.46 -8.556 -103.5, -37.54 -7.483 -103.4, -37.44 -7.479 -103.5, +-37.76 -6.412 -103.7, -37.71 -6.41 -103.7, -37.89 -5.332 -103.7, +-37.8 -5.329 -103.8, -37.99 -4.153 -103.8, -38.08 -4.157 -103.7, +-37.28 -11.8 -103.6, -37.4 -10.72 -103.7, -37.61 -9.648 -103.8, +-37.48 -8.558 -103.6, -37.49 -7.484 -103.6, -37.73 -6.413 -103.8, +-37.84 -5.333 -103.8, -38.03 -4.157 -103.9, -38.47 -3.824 -104, +-38.56 -3.828 -103.9, -38.51 -3.829 -104, -39.26 -3.913 -104.2, +-39.36 -3.917 -104.1, -39.3 -3.917 -104.3, -39.88 -3.649 -104.5, +-39.97 -3.653 -104.4, -39.92 -3.653 -104.5, -40.81 -3.906 -104.8, +-40.83 -3.907 -104.8, -40.82 -3.908 -104.8, -37.32 -11.8 -103.4, +-37.22 -11.8 -103.5, -37.45 -10.72 -103.6, -37.4 -10.72 -103.7, +-37.67 -9.647 -103.6, -37.57 -9.643 -103.7, -37.49 -8.558 -103.5, +-37.44 -8.556 -103.5, -37.55 -7.483 -103.4, -37.45 -7.479 -103.5, +-37.77 -6.412 -103.7, -37.73 -6.41 -103.8, -37.88 -5.332 -103.7, +-37.79 -5.329 -103.8, -37.97 -4.153 -103.8, -38.07 -4.157 -103.7, +-37.27 -11.8 -103.6, -37.42 -10.72 -103.7, -37.61 -9.648 -103.8, +-37.47 -8.558 -103.5, -37.49 -7.484 -103.6, -37.75 -6.413 -103.8, +-37.83 -5.333 -103.8, -38.02 -4.157 -103.9, -38.47 -3.824 -104, +-38.56 -3.828 -103.9, -38.51 -3.829 -104, -39.26 -3.913 -104.2, +-39.35 -3.917 -104.1, -39.3 -3.917 -104.3, -39.88 -3.649 -104.5, +-39.97 -3.653 -104.4, -39.92 -3.653 -104.5, -40.8 -3.906 -104.8, +-40.83 -3.907 -104.7, -40.81 -3.908 -104.8, -37.32 -11.8 -103.4, +-37.22 -11.8 -103.5, -37.47 -10.72 -103.6, -37.42 -10.72 -103.7, +-37.67 -9.647 -103.6, -37.56 -9.643 -103.7, -37.47 -8.558 -103.4, +-37.43 -8.556 -103.5, -37.56 -7.483 -103.4, -37.45 -7.479 -103.5, +-37.79 -6.412 -103.7, -37.74 -6.41 -103.8, -37.87 -5.332 -103.6, +-37.78 -5.329 -103.7, -37.96 -4.153 -103.8, -38.06 -4.157 -103.7, +-37.26 -11.8 -103.6, -37.44 -10.72 -103.7, -37.61 -9.648 -103.8, +-37.45 -8.558 -103.5, -37.5 -7.484 -103.6, -37.76 -6.413 -103.8, +-37.82 -5.333 -103.8, -38.01 -4.157 -103.9, -38.47 -3.824 -104, +-38.56 -3.828 -103.9, -38.51 -3.829 -104, -39.25 -3.913 -104.2, +-39.35 -3.917 -104.1, -39.3 -3.917 -104.3, -39.88 -3.649 -104.5, +-39.98 -3.653 -104.4, -39.92 -3.653 -104.5, -40.8 -3.906 -104.8, +-40.82 -3.907 -104.7, -40.81 -3.908 -104.8, -37.32 -11.8 -103.4, +-37.22 -11.8 -103.5, -37.49 -10.72 -103.6, -37.44 -10.72 -103.7, +-37.66 -9.647 -103.6, -37.56 -9.643 -103.7, -37.45 -8.558 -103.4, +-37.41 -8.556 -103.5, -37.57 -7.483 -103.4, -37.47 -7.479 -103.5, +-37.81 -6.412 -103.7, -37.76 -6.41 -103.8, -37.85 -5.332 -103.6, +-37.76 -5.329 -103.7, -37.96 -4.153 -103.8, -38.05 -4.157 -103.7, +-37.26 -11.8 -103.6, -37.46 -10.72 -103.7, -37.6 -9.648 -103.8, +-37.43 -8.558 -103.5, -37.51 -7.484 -103.6, -37.78 -6.413 -103.8, +-37.8 -5.333 -103.8, -38 -4.157 -103.9, -38.47 -3.824 -104, +-38.57 -3.828 -103.9, -38.51 -3.829 -104, -39.26 -3.913 -104.2, +-39.35 -3.917 -104.1, -39.3 -3.917 -104.3, -39.89 -3.649 -104.5, +-39.99 -3.653 -104.4, -39.93 -3.653 -104.6, -40.8 -3.906 -104.8, +-40.82 -3.907 -104.7, -40.81 -3.908 -104.8, -37.32 -11.8 -103.4, +-37.22 -11.8 -103.5, -37.5 -10.72 -103.7, -37.46 -10.72 -103.7, +-37.65 -9.647 -103.6, -37.55 -9.643 -103.7, -37.44 -8.558 -103.4, +-37.39 -8.556 -103.5, -37.58 -7.483 -103.4, -37.48 -7.479 -103.5, +-37.82 -6.412 -103.8, -37.77 -6.41 -103.8, -37.84 -5.332 -103.6, +-37.75 -5.329 -103.7, -37.96 -4.153 -103.8, -38.05 -4.157 -103.7, +-37.26 -11.8 -103.6, -37.48 -10.72 -103.7, -37.59 -9.648 -103.8, +-37.41 -8.558 -103.5, -37.52 -7.484 -103.6, -37.79 -6.413 -103.8, +-37.79 -5.333 -103.8, -38 -4.157 -103.9, -38.48 -3.824 -104, +-38.57 -3.828 -103.9, -38.52 -3.829 -104.1, -39.26 -3.913 -104.2, +-39.36 -3.917 -104.1, -39.3 -3.917 -104.3, -39.91 -3.649 -104.5, +-40 -3.653 -104.4, -39.95 -3.653 -104.6, -40.81 -3.906 -104.8, +-40.83 -3.907 -104.8, -40.82 -3.908 -104.8, -37.33 -11.8 -103.4, +-37.23 -11.8 -103.5, -37.52 -10.72 -103.7, -37.48 -10.72 -103.7, +-37.64 -9.647 -103.6, -37.54 -9.643 -103.7, -37.43 -8.558 -103.4, +-37.38 -8.556 -103.4, -37.6 -7.483 -103.4, -37.5 -7.479 -103.5, +-37.82 -6.412 -103.8, -37.77 -6.41 -103.8, -37.82 -5.332 -103.6, +-37.73 -5.329 -103.7, -37.96 -4.153 -103.8, -38.05 -4.157 -103.7, +-37.27 -11.8 -103.6, -37.5 -10.72 -103.8, -37.58 -9.648 -103.8, +-37.4 -8.558 -103.5, -37.54 -7.484 -103.6, -37.8 -6.413 -103.9, +-37.77 -5.333 -103.8, -38 -4.157 -103.9, -38.49 -3.824 -104, +-38.59 -3.828 -103.9, -38.53 -3.829 -104.1, -39.27 -3.913 -104.3, +-39.37 -3.917 -104.2, -39.31 -3.917 -104.3, -39.92 -3.649 -104.5, +-40.02 -3.653 -104.4, -39.96 -3.653 -104.6, -40.81 -3.906 -104.8, +-40.84 -3.907 -104.8, -40.83 -3.908 -104.8, -37.34 -11.8 -103.4, +-37.24 -11.8 -103.5, -37.54 -10.72 -103.7, -37.49 -10.72 -103.7, +-37.62 -9.647 -103.6, -37.52 -9.643 -103.7, -37.42 -8.558 -103.4, +-37.37 -8.556 -103.4, -37.62 -7.483 -103.4, -37.52 -7.479 -103.5, +-37.83 -6.412 -103.8, -37.78 -6.41 -103.8, -37.8 -5.332 -103.6, +-37.71 -5.329 -103.7, -37.97 -4.153 -103.8, -38.06 -4.157 -103.7, +-37.28 -11.8 -103.6, -37.51 -10.72 -103.8, -37.57 -9.648 -103.8, +-37.39 -8.558 -103.5, -37.56 -7.484 -103.6, -37.8 -6.413 -103.9, +-37.75 -5.333 -103.7, -38.01 -4.157 -103.9, -38.51 -3.824 -104, +-38.6 -3.828 -103.9, -38.55 -3.829 -104.1, -39.28 -3.913 -104.3, +-39.38 -3.917 -104.2, -39.32 -3.917 -104.3, -39.94 -3.649 -104.5, +-40.03 -3.653 -104.4, -39.98 -3.653 -104.6, -40.83 -3.906 -104.8, +-40.85 -3.907 -104.8, -40.84 -3.908 -104.8, -37.35 -11.8 -103.4, +-37.25 -11.8 -103.5, -37.55 -10.72 -103.7, -37.5 -10.72 -103.7, +-37.61 -9.647 -103.6, -37.5 -9.643 -103.7, -37.41 -8.558 -103.4, +-37.37 -8.556 -103.4, -37.64 -7.483 -103.4, -37.53 -7.479 -103.6, +-37.83 -6.412 -103.8, -37.78 -6.41 -103.8, -37.78 -5.332 -103.6, +-37.69 -5.329 -103.7, -37.98 -4.153 -103.8, -38.07 -4.157 -103.7, +-37.29 -11.8 -103.6, -37.52 -10.72 -103.8, -37.55 -9.648 -103.8, +-37.39 -8.558 -103.5, -37.58 -7.484 -103.6, -37.8 -6.413 -103.9, +-37.73 -5.333 -103.7, -38.02 -4.157 -103.9, -38.52 -3.824 -104, +-38.62 -3.828 -103.9, -38.56 -3.829 -104.1, -39.3 -3.913 -104.3, +-39.39 -3.917 -104.2, -39.34 -3.917 -104.4, -39.96 -3.649 -104.5, +-40.05 -3.653 -104.4, -40 -3.653 -104.6, -40.84 -3.906 -104.8, +-40.87 -3.907 -104.8, -40.85 -3.908 -104.8, -37.37 -11.8 -103.4, +-37.27 -11.8 -103.5, -37.56 -10.72 -103.7, -37.51 -10.72 -103.8, +-37.59 -9.647 -103.6, -37.49 -9.643 -103.7, -37.41 -8.558 -103.4, +-37.36 -8.556 -103.4, -37.66 -7.483 -103.5, -37.55 -7.479 -103.6, +-37.82 -6.412 -103.8, -37.77 -6.41 -103.8, -37.76 -5.332 -103.5, +-37.67 -5.329 -103.6, -37.99 -4.153 -103.8, -38.08 -4.157 -103.7, +-37.31 -11.8 -103.6, -37.53 -10.72 -103.8, -37.53 -9.648 -103.8, +-37.38 -8.558 -103.5, -37.6 -7.484 -103.7, -37.79 -6.413 -103.9, +-37.71 -5.333 -103.7, -38.03 -4.157 -103.9, -38.54 -3.824 -104, +-38.64 -3.828 -103.9, -38.58 -3.829 -104.1, -39.32 -3.913 -104.3, +-39.41 -3.917 -104.2, -39.36 -3.917 -104.4, -39.98 -3.649 -104.6, +-40.07 -3.653 -104.4, -40.02 -3.653 -104.6, -40.86 -3.906 -104.8, +-40.89 -3.907 -104.8, -40.87 -3.908 -104.9, -37.39 -11.8 -103.4, +-37.28 -11.8 -103.5, -37.56 -10.72 -103.7, -37.52 -10.72 -103.8, +-37.57 -9.647 -103.5, -37.47 -9.643 -103.6, -37.41 -8.558 -103.4, +-37.37 -8.556 -103.4, -37.67 -7.483 -103.5, -37.57 -7.479 -103.6, +-37.81 -6.412 -103.7, -37.76 -6.41 -103.8, -37.74 -5.332 -103.5, +-37.66 -5.329 -103.6, -38.01 -4.153 -103.8, -38.1 -4.157 -103.7, +-37.33 -11.8 -103.6, -37.54 -10.72 -103.8, -37.51 -9.648 -103.7, +-37.39 -8.558 -103.5, -37.62 -7.484 -103.7, -37.79 -6.413 -103.8, +-37.69 -5.333 -103.7, -38.05 -4.157 -103.9, -38.56 -3.824 -104, +-38.66 -3.828 -103.9, -38.6 -3.829 -104.1, -39.34 -3.913 -104.3, +-39.43 -3.917 -104.2, -39.38 -3.917 -104.4, -40 -3.649 -104.6, +-40.09 -3.653 -104.5, -40.04 -3.653 -104.7, -40.88 -3.906 -104.8, +-40.91 -3.907 -104.8, -40.89 -3.908 -104.9, ] +} +] +}, +DEF Plane25 Transform { +translation 37.13 5.921 103.7 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane25-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane25-COORD Coordinate { +point [ -37.12 -11.79 -103.5 -37.24 -11.79 -103.4 -37.29 -10.71 -103.5 -37.34 +-10.71 -103.4 -37.12 -9.632 -103.5 -37.25 -9.632 -103.4 -37.15 -8.552 -103.5 +-37.21 -8.552 -103.5 -37.21 -7.472 -103.7 -37.33 -7.472 -103.6 -37.27 -6.392 +-103.5 -37.33 -6.392 -103.5 -37.1 -5.312 -103.5 -37.21 -5.312 -103.4 -37.03 +-4.112 -103.2 -36.91 -4.112 -103.3 -37.22 -11.79 -103.3 -37.33 -10.71 -103.4 +-37.23 -9.632 -103.3 -37.2 -8.552 -103.4 -37.31 -7.472 -103.5 -37.32 -6.392 +-103.4 -37.19 -5.312 -103.3 -37.01 -4.112 -103.1 -36.66 -3.747 -103 -36.54 +-3.747 -103.1 -36.64 -3.747 -102.9 -35.95 -3.777 -102.5 -35.83 -3.777 -102.6 +-35.93 -3.777 -102.4 -35.47 -3.468 -102.2 -35.35 -3.468 -102.3 -35.45 -3.468 +-102.1 -34.61 -3.657 -101.6 -34.58 -3.657 -101.6 -34.61 -3.657 -101.6 ] +} +texCoord DEF Plane25-TEXCOORD +TextureCoordinate { point [ 0 0 1 0 0 1 1 1 ] } coordIndex [ 2 0 3 -1 1 3 0 +-1 4 2 5 -1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 10 8 11 -1 9 11 8 +-1 12 10 13 -1 11 13 10 -1 14 15 12 -1 12 13 14 -1 3 1 17 -1 16 17 1 -1 5 3 +18 -1 17 18 3 -1 7 5 19 -1 18 19 5 -1 9 7 20 -1 19 20 7 -1 11 9 21 -1 20 21 +9 -1 13 11 22 -1 21 22 11 -1 23 14 13 -1 13 22 23 -1 24 25 15 -1 15 14 24 +-1 26 24 14 -1 14 23 26 -1 27 28 25 -1 25 24 27 -1 29 27 24 -1 24 26 29 -1 30 +31 28 -1 28 27 30 -1 32 30 27 -1 27 29 32 -1 33 34 31 -1 31 30 33 -1 35 33 30 +-1 30 32 35 -1 ] texCoordIndex +[ 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 +0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 3 2 0 -1 0 1 3 -1 2 0 3 -1 1 3 0 -1 2 0 3 +-1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 +3 0 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 +-1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 +2 0 -1 0 1 3 -1 ] +} +} +DEF Plane25-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, +0.2667, 0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, +0.5333, 0.5667, 0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, +0.8, 0.8333, 0.8667, 0.9, 0.9333, 0.9667, 1, ] +keyValue [-37.12 -11.79 -103.5, +-37.24 -11.79 -103.4, -37.29 -10.71 -103.5, -37.34 -10.71 -103.4, +-37.12 -9.632 -103.5, -37.25 -9.632 -103.4, -37.15 -8.552 -103.5, +-37.21 -8.552 -103.5, -37.21 -7.472 -103.7, -37.33 -7.472 -103.6, +-37.27 -6.392 -103.5, -37.33 -6.392 -103.5, -37.1 -5.312 -103.5, +-37.21 -5.312 -103.4, -37.03 -4.112 -103.2, -36.91 -4.112 -103.3, +-37.22 -11.79 -103.3, -37.33 -10.71 -103.4, -37.23 -9.632 -103.3, +-37.2 -8.552 -103.4, -37.31 -7.472 -103.5, -37.32 -6.392 -103.4, +-37.19 -5.312 -103.3, -37.01 -4.112 -103.1, -36.66 -3.747 -103, +-36.54 -3.747 -103.1, -36.64 -3.747 -102.9, -35.95 -3.777 -102.5, +-35.83 -3.777 -102.6, -35.93 -3.777 -102.4, -35.47 -3.468 -102.2, +-35.35 -3.468 -102.3, -35.45 -3.468 -102.1, -34.61 -3.657 -101.6, +-34.58 -3.657 -101.6, -34.61 -3.657 -101.6, -37.14 -11.79 -103.5, +-37.26 -11.79 -103.4, -37.29 -10.71 -103.5, -37.34 -10.71 -103.4, +-37.1 -9.632 -103.5, -37.23 -9.632 -103.4, -37.16 -8.552 -103.5, +-37.22 -8.552 -103.5, -37.22 -7.472 -103.7, -37.35 -7.472 -103.6, +-37.26 -6.392 -103.5, -37.32 -6.392 -103.5, -37.09 -5.312 -103.5, +-37.2 -5.312 -103.4, -37.05 -4.112 -103.2, -36.93 -4.112 -103.3, +-37.24 -11.79 -103.3, -37.33 -10.71 -103.4, -37.21 -9.632 -103.3, +-37.21 -8.552 -103.5, -37.33 -7.472 -103.5, -37.31 -6.392 -103.4, +-37.18 -5.312 -103.3, -37.03 -4.112 -103.2, -36.67 -3.747 -103, +-36.56 -3.747 -103.1, -36.65 -3.747 -102.9, -35.97 -3.777 -102.5, +-35.85 -3.777 -102.6, -35.95 -3.777 -102.4, -35.48 -3.468 -102.2, +-35.36 -3.468 -102.3, -35.46 -3.468 -102.1, -34.63 -3.657 -101.6, +-34.6 -3.657 -101.7, -34.63 -3.657 -101.6, -37.16 -11.79 -103.5, +-37.28 -11.79 -103.5, -37.28 -10.71 -103.5, -37.33 -10.71 -103.4, +-37.09 -9.632 -103.4, -37.21 -9.632 -103.4, -37.17 -8.552 -103.5, +-37.23 -8.552 -103.5, -37.24 -7.472 -103.7, -37.36 -7.472 -103.6, +-37.25 -6.392 -103.5, -37.31 -6.392 -103.4, -37.08 -5.312 -103.5, +-37.19 -5.312 -103.4, -37.07 -4.112 -103.3, -36.95 -4.112 -103.3, +-37.26 -11.79 -103.4, -37.33 -10.71 -103.4, -37.19 -9.632 -103.3, +-37.22 -8.552 -103.5, -37.34 -7.472 -103.5, -37.3 -6.392 -103.4, +-37.17 -5.312 -103.3, -37.05 -4.112 -103.2, -36.69 -3.747 -103, +-36.57 -3.747 -103.1, -36.67 -3.747 -102.9, -35.99 -3.777 -102.5, +-35.87 -3.777 -102.6, -35.97 -3.777 -102.5, -35.49 -3.468 -102.2, +-35.37 -3.468 -102.3, -35.47 -3.468 -102.1, -34.65 -3.657 -101.7, +-34.62 -3.657 -101.7, -34.64 -3.657 -101.6, -37.18 -11.79 -103.6, +-37.3 -11.79 -103.5, -37.27 -10.71 -103.5, -37.33 -10.71 -103.4, +-37.07 -9.632 -103.4, -37.2 -9.632 -103.3, -37.18 -8.552 -103.6, +-37.24 -8.552 -103.5, -37.25 -7.472 -103.7, -37.38 -7.472 -103.6, +-37.23 -6.392 -103.5, -37.29 -6.392 -103.4, -37.07 -5.312 -103.5, +-37.18 -5.312 -103.4, -37.09 -4.112 -103.3, -36.97 -4.112 -103.4, +-37.28 -11.79 -103.4, -37.32 -10.71 -103.4, -37.17 -9.632 -103.2, +-37.23 -8.552 -103.5, -37.35 -7.472 -103.5, -37.28 -6.392 -103.4, +-37.16 -5.312 -103.3, -37.07 -4.112 -103.2, -36.71 -3.747 -103, +-36.59 -3.747 -103.1, -36.69 -3.747 -102.9, -36.01 -3.777 -102.6, +-35.89 -3.777 -102.6, -35.99 -3.777 -102.5, -35.5 -3.468 -102.2, +-35.38 -3.468 -102.3, -35.48 -3.468 -102.1, -34.66 -3.657 -101.7, +-34.63 -3.657 -101.7, -34.66 -3.657 -101.6, -37.19 -11.79 -103.6, +-37.32 -11.79 -103.5, -37.26 -10.71 -103.4, -37.31 -10.71 -103.4, +-37.06 -9.632 -103.4, -37.18 -9.632 -103.3, -37.2 -8.552 -103.6, +-37.26 -8.552 -103.5, -37.26 -7.472 -103.7, -37.38 -7.472 -103.6, +-37.21 -6.392 -103.4, -37.27 -6.392 -103.4, -37.07 -5.312 -103.5, +-37.18 -5.312 -103.4, -37.1 -4.112 -103.3, -36.99 -4.112 -103.4, +-37.3 -11.79 -103.4, -37.31 -10.71 -103.4, -37.16 -9.632 -103.2, +-37.25 -8.552 -103.5, -37.36 -7.472 -103.6, -37.26 -6.392 -103.4, +-37.16 -5.312 -103.3, -37.08 -4.112 -103.2, -36.72 -3.747 -103, +-36.6 -3.747 -103.1, -36.7 -3.747 -103, -36.02 -3.777 -102.6, +-35.9 -3.777 -102.6, -36 -3.777 -102.5, -35.51 -3.468 -102.2, +-35.39 -3.468 -102.3, -35.49 -3.468 -102.1, -34.67 -3.657 -101.7, +-34.64 -3.657 -101.7, -34.67 -3.657 -101.7, -37.21 -11.79 -103.6, +-37.33 -11.79 -103.5, -37.25 -10.71 -103.4, -37.3 -10.71 -103.4, +-37.05 -9.632 -103.4, -37.17 -9.632 -103.3, -37.22 -8.552 -103.6, +-37.27 -8.552 -103.6, -37.26 -7.472 -103.7, -37.39 -7.472 -103.6, +-37.19 -6.392 -103.4, -37.25 -6.392 -103.4, -37.07 -5.312 -103.5, +-37.18 -5.312 -103.4, -37.12 -4.112 -103.3, -37 -4.112 -103.4, +-37.31 -11.79 -103.4, -37.29 -10.71 -103.4, -37.15 -9.632 -103.2, +-37.26 -8.552 -103.5, -37.37 -7.472 -103.6, -37.24 -6.392 -103.3, +-37.17 -5.312 -103.3, -37.1 -4.112 -103.2, -36.73 -3.747 -103.1, +-36.61 -3.747 -103.1, -36.71 -3.747 -103, -36.03 -3.777 -102.6, +-35.91 -3.777 -102.7, -36.01 -3.777 -102.5, -35.51 -3.468 -102.2, +-35.39 -3.468 -102.3, -35.49 -3.468 -102.1, -34.68 -3.657 -101.7, +-34.65 -3.657 -101.7, -34.67 -3.657 -101.7, -37.22 -11.79 -103.6, +-37.35 -11.79 -103.5, -37.23 -10.71 -103.4, -37.28 -10.71 -103.4, +-37.04 -9.632 -103.4, -37.17 -9.632 -103.3, -37.23 -8.552 -103.6, +-37.29 -8.552 -103.6, -37.26 -7.472 -103.7, -37.39 -7.472 -103.6, +-37.17 -6.392 -103.4, -37.23 -6.392 -103.4, -37.08 -5.312 -103.5, +-37.19 -5.312 -103.4, -37.14 -4.112 -103.3, -37.02 -4.112 -103.4, +-37.32 -11.79 -103.4, -37.27 -10.71 -103.3, -37.14 -9.632 -103.2, +-37.28 -8.552 -103.5, -37.37 -7.472 -103.6, -37.22 -6.392 -103.3, +-37.17 -5.312 -103.3, -37.12 -4.112 -103.2, -36.73 -3.747 -103.1, +-36.62 -3.747 -103.1, -36.71 -3.747 -103, -36.04 -3.777 -102.6, +-35.92 -3.777 -102.7, -36.02 -3.777 -102.5, -35.5 -3.468 -102.2, +-35.39 -3.468 -102.3, -35.48 -3.468 -102.1, -34.68 -3.657 -101.7, +-34.65 -3.657 -101.7, -34.68 -3.657 -101.7, -37.23 -11.79 -103.6, +-37.35 -11.79 -103.5, -37.21 -10.71 -103.4, -37.26 -10.71 -103.4, +-37.04 -9.632 -103.4, -37.16 -9.632 -103.3, -37.25 -8.552 -103.6, +-37.31 -8.552 -103.6, -37.26 -7.472 -103.7, -37.38 -7.472 -103.6, +-37.15 -6.392 -103.4, -37.21 -6.392 -103.4, -37.09 -5.312 -103.5, +-37.2 -5.312 -103.4, -37.15 -4.112 -103.3, -37.03 -4.112 -103.4, +-37.33 -11.79 -103.4, -37.25 -10.71 -103.3, -37.14 -9.632 -103.2, +-37.3 -8.552 -103.5, -37.36 -7.472 -103.6, -37.2 -6.392 -103.3, +-37.18 -5.312 -103.3, -37.13 -4.112 -103.2, -36.74 -3.747 -103.1, +-36.62 -3.747 -103.1, -36.72 -3.747 -103, -36.04 -3.777 -102.6, +-35.92 -3.777 -102.7, -36.02 -3.777 -102.5, -35.5 -3.468 -102.2, +-35.38 -3.468 -102.3, -35.48 -3.468 -102.1, -34.68 -3.657 -101.7, +-34.65 -3.657 -101.7, -34.67 -3.657 -101.7, -37.23 -11.79 -103.6, +-37.36 -11.79 -103.5, -37.19 -10.71 -103.4, -37.24 -10.71 -103.3, +-37.04 -9.632 -103.4, -37.16 -9.632 -103.3, -37.27 -8.552 -103.6, +-37.33 -8.552 -103.6, -37.25 -7.472 -103.7, -37.38 -7.472 -103.6, +-37.14 -6.392 -103.4, -37.2 -6.392 -103.3, -37.11 -5.312 -103.5, +-37.22 -5.312 -103.4, -37.16 -4.112 -103.3, -37.04 -4.112 -103.4, +-37.34 -11.79 -103.4, -37.24 -10.71 -103.3, -37.14 -9.632 -103.2, +-37.32 -8.552 -103.6, -37.35 -7.472 -103.5, -37.19 -6.392 -103.3, +-37.2 -5.312 -103.3, -37.14 -4.112 -103.3, -36.73 -3.747 -103.1, +-36.61 -3.747 -103.1, -36.71 -3.747 -103, -36.04 -3.777 -102.6, +-35.92 -3.777 -102.7, -36.02 -3.777 -102.5, -35.49 -3.468 -102.2, +-35.37 -3.468 -102.3, -35.47 -3.468 -102.1, -34.67 -3.657 -101.7, +-34.64 -3.657 -101.7, -34.67 -3.657 -101.7, -37.23 -11.79 -103.6, +-37.36 -11.79 -103.5, -37.17 -10.71 -103.4, -37.22 -10.71 -103.3, +-37.04 -9.632 -103.4, -37.17 -9.632 -103.3, -37.29 -8.552 -103.7, +-37.35 -8.552 -103.6, -37.24 -7.472 -103.7, -37.36 -7.472 -103.6, +-37.12 -6.392 -103.4, -37.18 -6.392 -103.3, -37.12 -5.312 -103.5, +-37.23 -5.312 -103.4, -37.16 -4.112 -103.3, -37.04 -4.112 -103.4, +-37.34 -11.79 -103.4, -37.22 -10.71 -103.3, -37.15 -9.632 -103.2, +-37.34 -8.552 -103.6, -37.34 -7.472 -103.5, -37.17 -6.392 -103.3, +-37.21 -5.312 -103.4, -37.14 -4.112 -103.3, -36.73 -3.747 -103.1, +-36.61 -3.747 -103.1, -36.71 -3.747 -103, -36.03 -3.777 -102.6, +-35.91 -3.777 -102.7, -36.01 -3.777 -102.5, -35.47 -3.468 -102.2, +-35.35 -3.468 -102.3, -35.45 -3.468 -102.1, -34.66 -3.657 -101.7, +-34.63 -3.657 -101.7, -34.66 -3.657 -101.7, -37.23 -11.79 -103.6, +-37.36 -11.79 -103.5, -37.15 -10.71 -103.3, -37.21 -10.71 -103.3, +-37.05 -9.632 -103.4, -37.18 -9.632 -103.3, -37.31 -8.552 -103.7, +-37.36 -8.552 -103.6, -37.22 -7.472 -103.7, -37.35 -7.472 -103.6, +-37.11 -6.392 -103.4, -37.17 -6.392 -103.3, -37.14 -5.312 -103.5, +-37.25 -5.312 -103.5, -37.16 -4.112 -103.3, -37.04 -4.112 -103.4, +-37.34 -11.79 -103.4, -37.2 -10.71 -103.3, -37.16 -9.632 -103.2, +-37.35 -8.552 -103.6, -37.33 -7.472 -103.5, -37.16 -6.392 -103.3, +-37.23 -5.312 -103.4, -37.14 -4.112 -103.3, -36.72 -3.747 -103, +-36.6 -3.747 -103.1, -36.7 -3.747 -103, -36.02 -3.777 -102.6, +-35.9 -3.777 -102.7, -36 -3.777 -102.5, -35.45 -3.468 -102.2, +-35.34 -3.468 -102.3, -35.44 -3.468 -102.1, -34.65 -3.657 -101.7, +-34.62 -3.657 -101.7, -34.65 -3.657 -101.6, -37.22 -11.79 -103.6, +-37.35 -11.79 -103.5, -37.14 -10.71 -103.3, -37.19 -10.71 -103.3, +-37.07 -9.632 -103.4, -37.19 -9.632 -103.3, -37.32 -8.552 -103.7, +-37.38 -8.552 -103.7, -37.21 -7.472 -103.7, -37.33 -7.472 -103.6, +-37.11 -6.392 -103.4, -37.17 -6.392 -103.3, -37.16 -5.312 -103.5, +-37.27 -5.312 -103.5, -37.16 -4.112 -103.3, -37.04 -4.112 -103.4, +-37.33 -11.79 -103.4, -37.18 -10.71 -103.3, -37.17 -9.632 -103.2, +-37.37 -8.552 -103.6, -37.31 -7.472 -103.5, -37.16 -6.392 -103.3, +-37.25 -5.312 -103.4, -37.14 -4.112 -103.3, -36.7 -3.747 -103, +-36.58 -3.747 -103.1, -36.68 -3.747 -102.9, -36.01 -3.777 -102.6, +-35.89 -3.777 -102.6, -35.99 -3.777 -102.5, -35.44 -3.468 -102.2, +-35.32 -3.468 -102.2, -35.42 -3.468 -102.1, -34.64 -3.657 -101.6, +-34.6 -3.657 -101.7, -34.63 -3.657 -101.6, -37.21 -11.79 -103.6, +-37.34 -11.79 -103.5, -37.12 -10.71 -103.3, -37.18 -10.71 -103.3, +-37.08 -9.632 -103.4, -37.21 -9.632 -103.4, -37.33 -8.552 -103.7, +-37.39 -8.552 -103.7, -37.19 -7.472 -103.7, -37.31 -7.472 -103.6, +-37.1 -6.392 -103.4, -37.16 -6.392 -103.3, -37.18 -5.312 -103.6, +-37.29 -5.312 -103.5, -37.15 -4.112 -103.3, -37.03 -4.112 -103.4, +-37.32 -11.79 -103.4, -37.17 -10.71 -103.2, -37.19 -9.632 -103.3, +-37.38 -8.552 -103.6, -37.29 -7.472 -103.5, -37.15 -6.392 -103.3, +-37.27 -5.312 -103.4, -37.13 -4.112 -103.2, -36.69 -3.747 -103, +-36.57 -3.747 -103.1, -36.67 -3.747 -102.9, -35.99 -3.777 -102.5, +-35.87 -3.777 -102.6, -35.97 -3.777 -102.5, -35.42 -3.468 -102.1, +-35.3 -3.468 -102.2, -35.4 -3.468 -102.1, -34.62 -3.657 -101.6, +-34.59 -3.657 -101.7, -34.61 -3.657 -101.6, -37.2 -11.79 -103.6, +-37.33 -11.79 -103.5, -37.11 -10.71 -103.3, -37.16 -10.71 -103.3, +-37.1 -9.632 -103.4, -37.23 -9.632 -103.4, -37.33 -8.552 -103.7, +-37.39 -8.552 -103.7, -37.17 -7.472 -103.6, -37.29 -7.472 -103.6, +-37.1 -6.392 -103.4, -37.17 -6.392 -103.3, -37.2 -5.312 -103.6, +-37.31 -5.312 -103.5, -37.14 -4.112 -103.3, -37.02 -4.112 -103.4, +-37.3 -11.79 -103.4, -37.15 -10.71 -103.2, -37.2 -9.632 -103.3, +-37.38 -8.552 -103.6, -37.27 -7.472 -103.5, -37.15 -6.392 -103.3, +-37.29 -5.312 -103.4, -37.12 -4.112 -103.2, -36.67 -3.747 -103, +-36.55 -3.747 -103.1, -36.65 -3.747 -102.9, -35.97 -3.777 -102.5, +-35.86 -3.777 -102.6, -35.95 -3.777 -102.4, -35.4 -3.468 -102.1, +-35.28 -3.468 -102.2, -35.38 -3.468 -102, -34.6 -3.657 -101.6, +-34.57 -3.657 -101.6, -34.59 -3.657 -101.6, -37.18 -11.79 -103.6, +-37.31 -11.79 -103.5, -37.1 -10.71 -103.3, -37.16 -10.71 -103.3, +-37.12 -9.632 -103.5, -37.24 -9.632 -103.4, -37.33 -8.552 -103.7, +-37.39 -8.552 -103.7, -37.15 -7.472 -103.6, -37.28 -7.472 -103.5, +-37.11 -6.392 -103.4, -37.17 -6.392 -103.3, -37.21 -5.312 -103.6, +-37.32 -5.312 -103.5, -37.13 -4.112 -103.3, -37.01 -4.112 -103.4, +-37.29 -11.79 -103.4, -37.15 -10.71 -103.2, -37.22 -9.632 -103.3, +-37.38 -8.552 -103.6, -37.25 -7.472 -103.5, -37.16 -6.392 -103.3, +-37.31 -5.312 -103.4, -37.11 -4.112 -103.2, -36.65 -3.747 -103, +-36.53 -3.747 -103.1, -36.63 -3.747 -102.9, -35.96 -3.777 -102.5, +-35.84 -3.777 -102.6, -35.94 -3.777 -102.4, -35.38 -3.468 -102.1, +-35.26 -3.468 -102.2, -35.36 -3.468 -102, -34.58 -3.657 -101.6, +-34.55 -3.657 -101.6, -34.57 -3.657 -101.6, -37.17 -11.79 -103.5, +-37.29 -11.79 -103.5, -37.1 -10.71 -103.3, -37.15 -10.71 -103.3, +-37.14 -9.632 -103.5, -37.26 -9.632 -103.4, -37.33 -8.552 -103.7, +-37.39 -8.552 -103.7, -37.13 -7.472 -103.6, -37.26 -7.472 -103.5, +-37.12 -6.392 -103.4, -37.18 -6.392 -103.3, -37.23 -5.312 -103.6, +-37.34 -5.312 -103.5, -37.11 -4.112 -103.3, -36.99 -4.112 -103.4, +-37.27 -11.79 -103.4, -37.14 -10.71 -103.2, -37.24 -9.632 -103.3, +-37.38 -8.552 -103.6, -37.24 -7.472 -103.4, -37.17 -6.392 -103.3, +-37.32 -5.312 -103.5, -37.09 -4.112 -103.2, -36.63 -3.747 -103, +-36.51 -3.747 -103, -36.61 -3.747 -102.9, -35.94 -3.777 -102.5, +-35.82 -3.777 -102.6, -35.92 -3.777 -102.4, -35.36 -3.468 -102.1, +-35.24 -3.468 -102.2, -35.34 -3.468 -102, -34.56 -3.657 -101.6, +-34.53 -3.657 -101.6, -34.56 -3.657 -101.6, -37.15 -11.79 -103.5, +-37.27 -11.79 -103.4, -37.1 -10.71 -103.3, -37.15 -10.71 -103.3, +-37.16 -9.632 -103.5, -37.28 -9.632 -103.4, -37.32 -8.552 -103.7, +-37.38 -8.552 -103.7, -37.11 -7.472 -103.6, -37.24 -7.472 -103.5, +-37.13 -6.392 -103.4, -37.19 -6.392 -103.3, -37.24 -5.312 -103.6, +-37.35 -5.312 -103.5, -37.09 -4.112 -103.3, -36.97 -4.112 -103.4, +-37.25 -11.79 -103.4, -37.14 -10.71 -103.2, -37.26 -9.632 -103.3, +-37.37 -8.552 -103.6, -37.22 -7.472 -103.4, -37.18 -6.392 -103.3, +-37.33 -5.312 -103.5, -37.07 -4.112 -103.2, -36.61 -3.747 -102.9, +-36.49 -3.747 -103, -36.59 -3.747 -102.9, -35.92 -3.777 -102.5, +-35.8 -3.777 -102.6, -35.9 -3.777 -102.4, -35.35 -3.468 -102.1, +-35.23 -3.468 -102.2, -35.33 -3.468 -102, -34.54 -3.657 -101.6, +-34.51 -3.657 -101.6, -34.54 -3.657 -101.5, -37.13 -11.79 -103.5, +-37.25 -11.79 -103.4, -37.1 -10.71 -103.3, -37.16 -10.71 -103.3, +-37.18 -9.632 -103.5, -37.3 -9.632 -103.4, -37.31 -8.552 -103.7, +-37.37 -8.552 -103.6, -37.1 -7.472 -103.6, -37.23 -7.472 -103.5, +-37.15 -6.392 -103.4, -37.21 -6.392 -103.4, -37.25 -5.312 -103.6, +-37.36 -5.312 -103.6, -37.07 -4.112 -103.3, -36.95 -4.112 -103.3, +-37.23 -11.79 -103.3, -37.15 -10.71 -103.2, -37.28 -9.632 -103.3, +-37.36 -8.552 -103.6, -37.2 -7.472 -103.4, -37.2 -6.392 -103.3, +-37.34 -5.312 -103.5, -37.05 -4.112 -103.2, -36.59 -3.747 -102.9, +-36.47 -3.747 -103, -36.57 -3.747 -102.8, -35.9 -3.777 -102.5, +-35.78 -3.777 -102.5, -35.88 -3.777 -102.4, -35.33 -3.468 -102.1, +-35.22 -3.468 -102.1, -35.32 -3.468 -102, -34.53 -3.657 -101.5, +-34.49 -3.657 -101.6, -34.52 -3.657 -101.5, -37.11 -11.79 -103.5, +-37.23 -11.79 -103.4, -37.11 -10.71 -103.3, -37.17 -10.71 -103.3, +-37.19 -9.632 -103.5, -37.32 -9.632 -103.5, -37.3 -8.552 -103.7, +-37.36 -8.552 -103.6, -37.09 -7.472 -103.6, -37.21 -7.472 -103.5, +-37.16 -6.392 -103.4, -37.23 -6.392 -103.4, -37.26 -5.312 -103.6, +-37.37 -5.312 -103.6, -37.05 -4.112 -103.2, -36.93 -4.112 -103.3, +-37.21 -11.79 -103.3, -37.16 -10.71 -103.2, -37.3 -9.632 -103.4, +-37.35 -8.552 -103.6, -37.19 -7.472 -103.4, -37.21 -6.392 -103.3, +-37.35 -5.312 -103.5, -37.03 -4.112 -103.2, -36.58 -3.747 -102.9, +-36.46 -3.747 -103, -36.56 -3.747 -102.8, -35.88 -3.777 -102.4, +-35.76 -3.777 -102.5, -35.86 -3.777 -102.4, -35.33 -3.468 -102.1, +-35.21 -3.468 -102.1, -35.31 -3.468 -102, -34.51 -3.657 -101.5, +-34.48 -3.657 -101.6, -34.51 -3.657 -101.5, -37.09 -11.79 -103.5, +-37.22 -11.79 -103.4, -37.12 -10.71 -103.3, -37.18 -10.71 -103.3, +-37.21 -9.632 -103.5, -37.33 -9.632 -103.5, -37.28 -8.552 -103.7, +-37.34 -8.552 -103.6, -37.08 -7.472 -103.6, -37.21 -7.472 -103.5, +-37.18 -6.392 -103.4, -37.24 -6.392 -103.4, -37.26 -5.312 -103.6, +-37.37 -5.312 -103.6, -37.03 -4.112 -103.2, -36.91 -4.112 -103.3, +-37.19 -11.79 -103.3, -37.17 -10.71 -103.2, -37.31 -9.632 -103.4, +-37.33 -8.552 -103.6, -37.18 -7.472 -103.4, -37.23 -6.392 -103.3, +-37.35 -5.312 -103.5, -37.01 -4.112 -103.1, -36.56 -3.747 -102.9, +-36.45 -3.747 -103, -36.54 -3.747 -102.8, -35.87 -3.777 -102.4, +-35.75 -3.777 -102.5, -35.85 -3.777 -102.3, -35.32 -3.468 -102.1, +-35.2 -3.468 -102.1, -35.3 -3.468 -102, -34.5 -3.657 -101.5, +-34.47 -3.657 -101.5, -34.5 -3.657 -101.5, -37.08 -11.79 -103.5, +-37.2 -11.79 -103.4, -37.14 -10.71 -103.3, -37.19 -10.71 -103.3, +-37.22 -9.632 -103.6, -37.34 -9.632 -103.5, -37.27 -8.552 -103.6, +-37.32 -8.552 -103.6, -37.08 -7.472 -103.6, -37.2 -7.472 -103.5, +-37.2 -6.392 -103.4, -37.26 -6.392 -103.4, -37.26 -5.312 -103.6, +-37.37 -5.312 -103.6, -37.02 -4.112 -103.2, -36.9 -4.112 -103.3, +-37.18 -11.79 -103.3, -37.18 -10.71 -103.3, -37.32 -9.632 -103.4, +-37.31 -8.552 -103.6, -37.18 -7.472 -103.4, -37.25 -6.392 -103.4, +-37.35 -5.312 -103.5, -37 -4.112 -103.1, -36.55 -3.747 -102.9, +-36.44 -3.747 -103, -36.54 -3.747 -102.8, -35.86 -3.777 -102.4, +-35.74 -3.777 -102.5, -35.84 -3.777 -102.3, -35.32 -3.468 -102.1, +-35.2 -3.468 -102.1, -35.3 -3.468 -102, -34.5 -3.657 -101.5, +-34.46 -3.657 -101.5, -34.49 -3.657 -101.5, -37.06 -11.79 -103.4, +-37.19 -11.79 -103.4, -37.16 -10.71 -103.3, -37.21 -10.71 -103.3, +-37.22 -9.632 -103.6, -37.35 -9.632 -103.5, -37.25 -8.552 -103.6, +-37.3 -8.552 -103.6, -37.08 -7.472 -103.6, -37.2 -7.472 -103.5, +-37.22 -6.392 -103.5, -37.28 -6.392 -103.4, -37.25 -5.312 -103.6, +-37.36 -5.312 -103.6, -37 -4.112 -103.2, -36.88 -4.112 -103.3, +-37.17 -11.79 -103.3, -37.2 -10.71 -103.3, -37.33 -9.632 -103.4, +-37.29 -8.552 -103.5, -37.18 -7.472 -103.4, -37.27 -6.392 -103.4, +-37.34 -5.312 -103.5, -36.98 -4.112 -103.1, -36.55 -3.747 -102.9, +-36.43 -3.747 -103, -36.53 -3.747 -102.8, -35.85 -3.777 -102.4, +-35.73 -3.777 -102.5, -35.83 -3.777 -102.3, -35.32 -3.468 -102.1, +-35.21 -3.468 -102.1, -35.3 -3.468 -102, -34.49 -3.657 -101.5, +-34.46 -3.657 -101.5, -34.49 -3.657 -101.5, -37.05 -11.79 -103.4, +-37.18 -11.79 -103.4, -37.17 -10.71 -103.4, -37.23 -10.71 -103.3, +-37.22 -9.632 -103.6, -37.35 -9.632 -103.5, -37.23 -8.552 -103.6, +-37.28 -8.552 -103.6, -37.08 -7.472 -103.6, -37.21 -7.472 -103.5, +-37.24 -6.392 -103.5, -37.3 -6.392 -103.4, -37.24 -5.312 -103.6, +-37.35 -5.312 -103.5, -36.99 -4.112 -103.2, -36.87 -4.112 -103.3, +-37.16 -11.79 -103.3, -37.22 -10.71 -103.3, -37.33 -9.632 -103.4, +-37.27 -8.552 -103.5, -37.18 -7.472 -103.4, -37.29 -6.392 -103.4, +-37.33 -5.312 -103.5, -36.97 -4.112 -103.1, -36.55 -3.747 -102.9, +-36.43 -3.747 -103, -36.53 -3.747 -102.8, -35.85 -3.777 -102.4, +-35.73 -3.777 -102.5, -35.83 -3.777 -102.3, -35.33 -3.468 -102.1, +-35.21 -3.468 -102.1, -35.31 -3.468 -102, -34.5 -3.657 -101.5, +-34.46 -3.657 -101.5, -34.49 -3.657 -101.5, -37.05 -11.79 -103.4, +-37.17 -11.79 -103.4, -37.19 -10.71 -103.4, -37.25 -10.71 -103.3, +-37.22 -9.632 -103.6, -37.35 -9.632 -103.5, -37.21 -8.552 -103.6, +-37.27 -8.552 -103.5, -37.09 -7.472 -103.6, -37.21 -7.472 -103.5, +-37.26 -6.392 -103.5, -37.32 -6.392 -103.5, -37.23 -5.312 -103.6, +-37.34 -5.312 -103.5, -36.98 -4.112 -103.2, -36.86 -4.112 -103.3, +-37.15 -11.79 -103.3, -37.24 -10.71 -103.3, -37.33 -9.632 -103.4, +-37.26 -8.552 -103.5, -37.19 -7.472 -103.4, -37.31 -6.392 -103.4, +-37.32 -5.312 -103.5, -36.96 -4.112 -103.1, -36.55 -3.747 -102.9, +-36.43 -3.747 -103, -36.53 -3.747 -102.8, -35.85 -3.777 -102.4, +-35.73 -3.777 -102.5, -35.83 -3.777 -102.3, -35.34 -3.468 -102.1, +-35.22 -3.468 -102.2, -35.32 -3.468 -102, -34.5 -3.657 -101.5, +-34.47 -3.657 -101.5, -34.5 -3.657 -101.5, -37.05 -11.79 -103.4, +-37.17 -11.79 -103.4, -37.21 -10.71 -103.4, -37.27 -10.71 -103.4, +-37.22 -9.632 -103.6, -37.34 -9.632 -103.5, -37.19 -8.552 -103.6, +-37.25 -8.552 -103.5, -37.1 -7.472 -103.6, -37.23 -7.472 -103.5, +-37.27 -6.392 -103.5, -37.33 -6.392 -103.5, -37.21 -5.312 -103.6, +-37.32 -5.312 -103.5, -36.98 -4.112 -103.2, -36.86 -4.112 -103.3, +-37.15 -11.79 -103.3, -37.26 -10.71 -103.3, -37.32 -9.632 -103.4, +-37.24 -8.552 -103.5, -37.2 -7.472 -103.4, -37.32 -6.392 -103.4, +-37.3 -5.312 -103.4, -36.96 -4.112 -103.1, -36.56 -3.747 -102.9, +-36.44 -3.747 -103, -36.54 -3.747 -102.8, -35.86 -3.777 -102.4, +-35.74 -3.777 -102.5, -35.84 -3.777 -102.3, -35.36 -3.468 -102.1, +-35.24 -3.468 -102.2, -35.34 -3.468 -102, -34.51 -3.657 -101.5, +-34.48 -3.657 -101.6, -34.51 -3.657 -101.5, -37.05 -11.79 -103.4, +-37.18 -11.79 -103.4, -37.23 -10.71 -103.4, -37.29 -10.71 -103.4, +-37.21 -9.632 -103.5, -37.33 -9.632 -103.5, -37.18 -8.552 -103.6, +-37.23 -8.552 -103.5, -37.12 -7.472 -103.6, -37.24 -7.472 -103.5, +-37.28 -6.392 -103.5, -37.34 -6.392 -103.5, -37.19 -5.312 -103.6, +-37.3 -5.312 -103.5, -36.98 -4.112 -103.2, -36.86 -4.112 -103.3, +-37.16 -11.79 -103.3, -37.28 -10.71 -103.3, -37.31 -9.632 -103.4, +-37.22 -8.552 -103.5, -37.22 -7.472 -103.4, -37.33 -6.392 -103.4, +-37.28 -5.312 -103.4, -36.96 -4.112 -103.1, -36.57 -3.747 -102.9, +-36.45 -3.747 -103, -36.55 -3.747 -102.8, -35.87 -3.777 -102.4, +-35.75 -3.777 -102.5, -35.85 -3.777 -102.3, -35.37 -3.468 -102.1, +-35.25 -3.468 -102.2, -35.35 -3.468 -102, -34.52 -3.657 -101.5, +-34.49 -3.657 -101.6, -34.52 -3.657 -101.5, -37.06 -11.79 -103.4, +-37.18 -11.79 -103.4, -37.25 -10.71 -103.4, -37.3 -10.71 -103.4, +-37.2 -9.632 -103.5, -37.32 -9.632 -103.5, -37.16 -8.552 -103.5, +-37.22 -8.552 -103.5, -37.13 -7.472 -103.6, -37.26 -7.472 -103.5, +-37.29 -6.392 -103.5, -37.35 -6.392 -103.5, -37.17 -5.312 -103.6, +-37.28 -5.312 -103.5, -36.98 -4.112 -103.2, -36.86 -4.112 -103.3, +-37.16 -11.79 -103.3, -37.29 -10.71 -103.4, -37.3 -9.632 -103.4, +-37.21 -8.552 -103.5, -37.24 -7.472 -103.4, -37.34 -6.392 -103.4, +-37.26 -5.312 -103.4, -36.96 -4.112 -103.1, -36.58 -3.747 -102.9, +-36.46 -3.747 -103, -36.56 -3.747 -102.8, -35.88 -3.777 -102.4, +-35.76 -3.777 -102.5, -35.86 -3.777 -102.4, -35.39 -3.468 -102.1, +-35.27 -3.468 -102.2, -35.37 -3.468 -102, -34.54 -3.657 -101.6, +-34.51 -3.657 -101.6, -34.53 -3.657 -101.5, -37.07 -11.79 -103.5, +-37.19 -11.79 -103.4, -37.26 -10.71 -103.4, -37.32 -10.71 -103.4, +-37.18 -9.632 -103.5, -37.31 -9.632 -103.4, -37.15 -8.552 -103.5, +-37.21 -8.552 -103.5, -37.15 -7.472 -103.6, -37.28 -7.472 -103.5, +-37.29 -6.392 -103.5, -37.35 -6.392 -103.5, -37.15 -5.312 -103.5, +-37.26 -5.312 -103.5, -36.99 -4.112 -103.2, -36.87 -4.112 -103.3, +-37.17 -11.79 -103.3, -37.31 -10.71 -103.4, -37.28 -9.632 -103.3, +-37.2 -8.552 -103.5, -37.25 -7.472 -103.5, -37.34 -6.392 -103.4, +-37.24 -5.312 -103.4, -36.97 -4.112 -103.1, -36.6 -3.747 -102.9, +-36.48 -3.747 -103, -36.58 -3.747 -102.8, -35.9 -3.777 -102.5, +-35.78 -3.777 -102.5, -35.88 -3.777 -102.4, -35.41 -3.468 -102.1, +-35.29 -3.468 -102.2, -35.39 -3.468 -102.1, -34.56 -3.657 -101.6, +-34.52 -3.657 -101.6, -34.55 -3.657 -101.6, -37.08 -11.79 -103.5, +-37.21 -11.79 -103.4, -37.27 -10.71 -103.5, -37.33 -10.71 -103.4, +-37.16 -9.632 -103.5, -37.29 -9.632 -103.4, -37.15 -8.552 -103.5, +-37.21 -8.552 -103.5, -37.17 -7.472 -103.6, -37.3 -7.472 -103.6, +-37.29 -6.392 -103.5, -37.35 -6.392 -103.5, -37.13 -5.312 -103.5, +-37.24 -5.312 -103.4, -37 -4.112 -103.2, -36.88 -4.112 -103.3, +-37.19 -11.79 -103.3, -37.32 -10.71 -103.4, -37.27 -9.632 -103.3, +-37.2 -8.552 -103.4, -37.27 -7.472 -103.5, -37.34 -6.392 -103.4, +-37.23 -5.312 -103.4, -36.98 -4.112 -103.1, -36.62 -3.747 -103, +-36.5 -3.747 -103, -36.6 -3.747 -102.9, -35.91 -3.777 -102.5, +-35.8 -3.777 -102.6, -35.9 -3.777 -102.4, -35.43 -3.468 -102.2, +-35.31 -3.468 -102.2, -35.41 -3.468 -102.1, -34.58 -3.657 -101.6, +-34.54 -3.657 -101.6, -34.57 -3.657 -101.6, -37.1 -11.79 -103.5, +-37.23 -11.79 -103.4, -37.28 -10.71 -103.5, -37.34 -10.71 -103.4, +-37.14 -9.632 -103.5, -37.27 -9.632 -103.4, -37.15 -8.552 -103.5, +-37.21 -8.552 -103.5, -37.19 -7.472 -103.7, -37.32 -7.472 -103.6, +-37.28 -6.392 -103.5, -37.34 -6.392 -103.5, -37.12 -5.312 -103.5, +-37.23 -5.312 -103.4, -37.01 -4.112 -103.2, -36.89 -4.112 -103.3, +-37.2 -11.79 -103.3, -37.33 -10.71 -103.4, -37.25 -9.632 -103.3, +-37.2 -8.552 -103.4, -37.29 -7.472 -103.5, -37.33 -6.392 -103.4, +-37.21 -5.312 -103.3, -36.99 -4.112 -103.1, -36.64 -3.747 -103, +-36.52 -3.747 -103, -36.62 -3.747 -102.9, -35.93 -3.777 -102.5, +-35.82 -3.777 -102.6, -35.91 -3.777 -102.4, -35.45 -3.468 -102.2, +-35.33 -3.468 -102.3, -35.43 -3.468 -102.1, -34.59 -3.657 -101.6, +-34.56 -3.657 -101.6, -34.59 -3.657 -101.6, -37.12 -11.79 -103.5, +-37.24 -11.79 -103.4, -37.29 -10.71 -103.5, -37.34 -10.71 -103.4, +-37.12 -9.632 -103.5, -37.25 -9.632 -103.4, -37.15 -8.552 -103.5, +-37.21 -8.552 -103.5, -37.21 -7.472 -103.7, -37.33 -7.472 -103.6, +-37.27 -6.392 -103.5, -37.33 -6.392 -103.5, -37.1 -5.312 -103.5, +-37.21 -5.312 -103.4, -37.03 -4.112 -103.2, -36.91 -4.112 -103.3, +-37.22 -11.79 -103.3, -37.33 -10.71 -103.4, -37.23 -9.632 -103.3, +-37.2 -8.552 -103.4, -37.31 -7.472 -103.5, -37.32 -6.392 -103.4, +-37.19 -5.312 -103.3, -37.01 -4.112 -103.1, -36.66 -3.747 -103, +-36.54 -3.747 -103.1, -36.64 -3.747 -102.9, -35.95 -3.777 -102.5, +-35.83 -3.777 -102.6, -35.93 -3.777 -102.4, -35.47 -3.468 -102.2, +-35.35 -3.468 -102.3, -35.45 -3.468 -102.1, -34.61 -3.657 -101.6, +-34.58 -3.657 -101.6, -34.61 -3.657 -101.6, ] +} +] +} +] +ROUTE seaweed-TIMER.fraction_changed TO Plane27-COORD-INTERP.set_fraction +ROUTE Plane27-COORD-INTERP.value_changed TO Plane27-COORD.set_point +ROUTE seaweed-TIMER.fraction_changed TO Plane06-COORD-INTERP.set_fraction +ROUTE Plane06-COORD-INTERP.value_changed TO Plane06-COORD.set_point +ROUTE seaweed-TIMER.fraction_changed TO Plane26-COORD-INTERP.set_fraction +ROUTE Plane26-COORD-INTERP.value_changed TO Plane26-COORD.set_point +ROUTE seaweed-TIMER.fraction_changed TO Plane25-COORD-INTERP.set_fraction +ROUTE Plane25-COORD-INTERP.value_changed TO Plane25-COORD.set_point +} +DEF seaweed01 Transform { +translation 66.04 -5.921 -75.48 +children [ +DEF seaweed01-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +DEF Plane28 Transform { +translation -66.04 5.921 75.48 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane28-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane28-COORD Coordinate { +point [ 66.22 -11.8 -75.37 66.24 -11.8 -75.22 66.33 -10.74 -75.41 66.33 -10.74 +-75.34 66.49 -9.662 -75.45 66.51 -9.658 -75.3 66.53 -8.568 -75.37 66.54 -8.567 +-75.3 66.53 -7.499 -75.6 66.55 -7.496 -75.45 66.78 -6.442 -75.56 66.79 -6.44 +-75.49 66.96 -5.363 -75.55 66.97 -5.36 -75.42 67.38 -4.204 -75.55 67.37 -4.207 +-75.69 66.33 -11.81 -75.2 66.37 -10.74 -75.33 66.6 -9.668 -75.28 66.58 -8.571 +-75.29 66.64 -7.506 -75.43 66.83 -6.445 -75.48 67.05 -5.368 -75.4 67.47 -4.213 +-75.52 67.83 -3.901 -75.84 67.82 -3.904 -75.98 67.92 -3.91 -75.82 68.58 -4.028 +-76.22 68.57 -4.031 -76.36 68.67 -4.037 -76.2 69.14 -3.794 -76.57 69.13 -3.798 +-76.71 69.23 -3.804 -76.55 70.02 -4.096 -77.01 70.01 -4.097 -77.04 70.04 -4.099 +-77 ] +} +texCoord DEF Plane28-TEXCOORD +TextureCoordinate { point [ 0 0 1 0 0 1 1 1 ] } coordIndex [ 2 0 3 -1 1 3 0 +-1 4 2 5 -1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 10 8 11 -1 9 11 8 +-1 12 10 13 -1 11 13 10 -1 14 15 12 -1 12 13 14 -1 3 1 17 -1 16 17 1 -1 5 3 +18 -1 17 18 3 -1 7 5 19 -1 18 19 5 -1 9 7 20 -1 19 20 7 -1 11 9 21 -1 20 21 +9 -1 13 11 22 -1 21 22 11 -1 23 14 13 -1 13 22 23 -1 24 25 15 -1 15 14 24 +-1 26 24 14 -1 14 23 26 -1 27 28 25 -1 25 24 27 -1 29 27 24 -1 24 26 29 -1 30 +31 28 -1 28 27 30 -1 32 30 27 -1 27 29 32 -1 33 34 31 -1 31 30 33 -1 35 33 30 +-1 30 32 35 -1 ] texCoordIndex +[ 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 +0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 3 2 0 -1 0 1 3 -1 2 0 3 -1 1 3 0 -1 2 0 3 +-1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 +3 0 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 +-1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 +2 0 -1 0 1 3 -1 ] +} +} +DEF Plane28-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, +0.2667, 0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, +0.5333, 0.5667, 0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, +0.8, 0.8333, 0.8667, 0.9, 0.9333, 0.9667, 1, ] +keyValue [66.22 -11.8 -75.37, +66.24 -11.8 -75.22, 66.33 -10.74 -75.41, 66.33 -10.74 -75.34, +66.49 -9.662 -75.45, 66.51 -9.658 -75.3, 66.53 -8.568 -75.37, +66.54 -8.567 -75.3, 66.53 -7.499 -75.6, 66.55 -7.496 -75.45, +66.78 -6.442 -75.56, 66.79 -6.44 -75.49, 66.96 -5.363 -75.55, +66.97 -5.36 -75.42, 67.38 -4.204 -75.55, 67.37 -4.207 -75.69, +66.33 -11.81 -75.2, 66.37 -10.74 -75.33, 66.6 -9.668 -75.28, +66.58 -8.571 -75.29, 66.64 -7.506 -75.43, 66.83 -6.445 -75.48, +67.05 -5.368 -75.4, 67.47 -4.213 -75.52, 67.83 -3.901 -75.84, +67.82 -3.904 -75.98, 67.92 -3.91 -75.82, 68.58 -4.028 -76.22, +68.57 -4.031 -76.36, 68.67 -4.037 -76.2, 69.14 -3.794 -76.57, +69.13 -3.798 -76.71, 69.23 -3.804 -76.55, 70.02 -4.096 -77.01, +70.01 -4.097 -77.04, 70.04 -4.099 -77, 66.21 -11.8 -75.39, +66.22 -11.8 -75.24, 66.33 -10.74 -75.41, 66.33 -10.74 -75.34, +66.51 -9.662 -75.43, 66.53 -9.658 -75.28, 66.52 -8.568 -75.38, +66.53 -8.567 -75.31, 66.52 -7.499 -75.62, 66.53 -7.496 -75.47, +66.79 -6.442 -75.55, 66.8 -6.44 -75.48, 66.97 -5.363 -75.53, +66.98 -5.36 -75.4, 67.37 -4.204 -75.56, 67.35 -4.207 -75.7, +66.31 -11.81 -75.21, 66.37 -10.74 -75.33, 66.62 -9.668 -75.26, +66.57 -8.571 -75.3, 66.62 -7.506 -75.44, 66.84 -6.445 -75.47, +67.06 -5.368 -75.38, 67.46 -4.213 -75.54, 67.81 -3.901 -75.86, +67.8 -3.904 -76, 67.9 -3.91 -75.84, 68.56 -4.028 -76.24, +68.55 -4.031 -76.38, 68.65 -4.037 -76.22, 69.12 -3.794 -76.59, +69.11 -3.798 -76.73, 69.21 -3.804 -76.56, 70 -4.096 -77.02, +70 -4.097 -77.06, 70.02 -4.099 -77.02, 66.19 -11.8 -75.41, +66.2 -11.8 -75.26, 66.33 -10.74 -75.4, 66.34 -10.74 -75.34, +66.53 -9.662 -75.42, 66.54 -9.658 -75.27, 66.51 -8.568 -75.39, +66.52 -8.567 -75.32, 66.5 -7.499 -75.63, 66.51 -7.496 -75.48, +66.8 -6.442 -75.54, 66.81 -6.44 -75.47, 66.98 -5.363 -75.52, +66.99 -5.36 -75.39, 67.35 -4.204 -75.58, 67.34 -4.207 -75.72, +66.29 -11.81 -75.23, 66.38 -10.74 -75.33, 66.63 -9.668 -75.24, +66.56 -8.571 -75.31, 66.61 -7.506 -75.46, 66.86 -6.445 -75.45, +67.08 -5.368 -75.37, 67.44 -4.213 -75.55, 67.79 -3.901 -75.88, +67.78 -3.904 -76.02, 67.88 -3.91 -75.85, 68.54 -4.028 -76.26, +68.53 -4.031 -76.4, 68.63 -4.037 -76.23, 69.1 -3.794 -76.61, +69.09 -3.798 -76.75, 69.19 -3.804 -76.58, 69.98 -4.096 -77.04, +69.98 -4.097 -77.08, 70 -4.099 -77.03, 66.17 -11.8 -75.42, +66.18 -11.8 -75.28, 66.34 -10.74 -75.4, 66.34 -10.74 -75.33, +66.55 -9.662 -75.4, 66.56 -9.658 -75.25, 66.5 -8.568 -75.4, +66.51 -8.567 -75.33, 66.49 -7.499 -75.64, 66.5 -7.496 -75.49, +66.82 -6.442 -75.52, 66.83 -6.44 -75.45, 66.99 -5.363 -75.52, +67 -5.36 -75.39, 67.33 -4.204 -75.6, 67.32 -4.207 -75.74, +66.27 -11.81 -75.25, 66.38 -10.74 -75.32, 66.65 -9.668 -75.23, +66.55 -8.571 -75.32, 66.6 -7.506 -75.47, 66.87 -6.445 -75.44, +67.08 -5.368 -75.37, 67.42 -4.213 -75.57, 67.78 -3.901 -75.9, +67.76 -3.904 -76.04, 67.86 -3.91 -75.87, 68.52 -4.028 -76.28, +68.51 -4.031 -76.42, 68.61 -4.037 -76.25, 69.09 -3.794 -76.62, +69.07 -3.798 -76.76, 69.17 -3.804 -76.6, 69.96 -4.096 -77.06, +69.96 -4.097 -77.1, 69.98 -4.099 -77.05, 66.15 -11.8 -75.44, +66.16 -11.8 -75.29, 66.35 -10.74 -75.39, 66.36 -10.74 -75.32, +66.56 -9.662 -75.39, 66.57 -9.658 -75.24, 66.48 -8.568 -75.42, +66.49 -8.567 -75.35, 66.48 -7.499 -75.65, 66.49 -7.496 -75.5, +66.84 -6.442 -75.51, 66.85 -6.44 -75.43, 66.99 -5.363 -75.51, +67 -5.36 -75.38, 67.31 -4.204 -75.62, 67.3 -4.207 -75.76, +66.26 -11.81 -75.27, 66.39 -10.74 -75.31, 66.67 -9.668 -75.22, +66.53 -8.571 -75.33, 66.59 -7.506 -75.48, 66.89 -6.445 -75.42, +67.09 -5.368 -75.36, 67.4 -4.213 -75.59, 67.76 -3.901 -75.91, +67.75 -3.904 -76.05, 67.85 -3.91 -75.88, 68.51 -4.028 -76.29, +68.49 -4.031 -76.43, 68.59 -4.037 -76.27, 69.07 -3.794 -76.63, +69.06 -3.798 -76.77, 69.16 -3.804 -76.61, 69.94 -4.096 -77.08, +69.94 -4.097 -77.11, 69.97 -4.099 -77.07, 66.13 -11.8 -75.45, +66.15 -11.8 -75.31, 66.36 -10.74 -75.37, 66.37 -10.74 -75.31, +66.57 -9.662 -75.38, 66.58 -9.658 -75.23, 66.47 -8.568 -75.43, +66.47 -8.567 -75.36, 66.48 -7.499 -75.66, 66.49 -7.496 -75.51, +66.86 -6.442 -75.49, 66.87 -6.44 -75.42, 66.99 -5.363 -75.51, +67 -5.36 -75.38, 67.29 -4.204 -75.63, 67.28 -4.207 -75.77, +66.24 -11.81 -75.28, 66.41 -10.74 -75.3, 66.68 -9.668 -75.21, +66.52 -8.571 -75.35, 66.58 -7.506 -75.48, 66.91 -6.445 -75.4, +67.08 -5.368 -75.36, 67.38 -4.213 -75.61, 67.75 -3.901 -75.92, +67.73 -3.904 -76.06, 67.84 -3.91 -75.9, 68.49 -4.028 -76.31, +68.48 -4.031 -76.45, 68.58 -4.037 -76.28, 69.06 -3.794 -76.64, +69.05 -3.798 -76.78, 69.15 -3.804 -76.62, 69.92 -4.096 -77.09, +69.92 -4.097 -77.13, 69.95 -4.099 -77.09, 66.12 -11.8 -75.47, +66.13 -11.8 -75.32, 66.38 -10.74 -75.36, 66.39 -10.74 -75.29, +66.58 -9.662 -75.37, 66.59 -9.658 -75.22, 66.45 -8.568 -75.45, +66.45 -8.567 -75.38, 66.48 -7.499 -75.66, 66.49 -7.496 -75.51, +66.88 -6.442 -75.47, 66.89 -6.44 -75.4, 66.99 -5.363 -75.52, +67 -5.36 -75.39, 67.27 -4.204 -75.65, 67.26 -4.207 -75.79, +66.23 -11.81 -75.29, 66.43 -10.74 -75.29, 66.68 -9.668 -75.2, +66.5 -8.571 -75.37, 66.58 -7.506 -75.48, 66.93 -6.445 -75.39, +67.08 -5.368 -75.37, 67.36 -4.213 -75.62, 67.74 -3.901 -75.93, +67.72 -3.904 -76.07, 67.83 -3.91 -75.91, 68.48 -4.028 -76.32, +68.46 -4.031 -76.46, 68.57 -4.037 -76.3, 69.06 -3.794 -76.65, +69.04 -3.798 -76.79, 69.14 -3.804 -76.63, 69.91 -4.096 -77.11, +69.91 -4.097 -77.14, 69.93 -4.099 -77.1, 66.11 -11.8 -75.47, +66.13 -11.8 -75.33, 66.4 -10.74 -75.34, 66.4 -10.74 -75.28, +66.58 -9.662 -75.37, 66.6 -9.658 -75.22, 66.43 -8.568 -75.47, +66.43 -8.567 -75.4, 66.48 -7.499 -75.65, 66.49 -7.496 -75.5, +66.9 -6.442 -75.45, 66.9 -6.44 -75.38, 66.98 -5.363 -75.53, +66.99 -5.36 -75.4, 67.26 -4.204 -75.66, 67.25 -4.207 -75.8, +66.22 -11.81 -75.3, 66.44 -10.74 -75.27, 66.69 -9.668 -75.19, +66.48 -8.571 -75.39, 66.58 -7.506 -75.48, 66.95 -6.445 -75.37, +67.07 -5.368 -75.38, 67.35 -4.213 -75.64, 67.73 -3.901 -75.94, +67.72 -3.904 -76.08, 67.82 -3.91 -75.91, 68.47 -4.028 -76.33, +68.45 -4.031 -76.47, 68.56 -4.037 -76.31, 69.05 -3.794 -76.65, +69.04 -3.798 -76.79, 69.14 -3.804 -76.63, 69.9 -4.096 -77.12, +69.89 -4.097 -77.15, 69.92 -4.099 -77.11, 66.11 -11.8 -75.48, +66.12 -11.8 -75.33, 66.42 -10.74 -75.32, 66.42 -10.74 -75.26, +66.58 -9.662 -75.37, 66.59 -9.658 -75.22, 66.41 -8.568 -75.49, +66.41 -8.567 -75.42, 66.49 -7.499 -75.65, 66.5 -7.496 -75.5, +66.91 -6.442 -75.44, 66.92 -6.44 -75.36, 66.97 -5.363 -75.54, +66.98 -5.36 -75.41, 67.25 -4.204 -75.67, 67.24 -4.207 -75.81, +66.21 -11.81 -75.31, 66.46 -10.74 -75.25, 66.69 -9.668 -75.2, +66.46 -8.571 -75.41, 66.59 -7.506 -75.47, 66.97 -6.445 -75.35, +67.06 -5.368 -75.39, 67.34 -4.213 -75.65, 67.73 -3.901 -75.94, +67.72 -3.904 -76.08, 67.82 -3.91 -75.91, 68.46 -4.028 -76.34, +68.45 -4.031 -76.48, 68.55 -4.037 -76.31, 69.05 -3.794 -76.65, +69.04 -3.798 -76.79, 69.14 -3.804 -76.63, 69.89 -4.096 -77.12, +69.89 -4.097 -77.16, 69.91 -4.099 -77.12, 66.11 -11.8 -75.48, +66.12 -11.8 -75.33, 66.44 -10.74 -75.3, 66.44 -10.74 -75.24, +66.58 -9.662 -75.37, 66.59 -9.658 -75.22, 66.39 -8.568 -75.5, +66.4 -8.567 -75.43, 66.5 -7.499 -75.64, 66.51 -7.496 -75.49, +66.93 -6.442 -75.42, 66.94 -6.44 -75.35, 66.95 -5.363 -75.55, +66.96 -5.36 -75.42, 67.24 -4.204 -75.68, 67.23 -4.207 -75.82, +66.21 -11.81 -75.31, 66.48 -10.74 -75.23, 66.68 -9.668 -75.2, +66.44 -8.571 -75.42, 66.6 -7.506 -75.46, 66.98 -6.445 -75.34, +67.04 -5.368 -75.4, 67.33 -4.213 -75.65, 67.73 -3.901 -75.94, +67.72 -3.904 -76.08, 67.82 -3.91 -75.91, 68.46 -4.028 -76.34, +68.45 -4.031 -76.48, 68.55 -4.037 -76.31, 69.06 -3.794 -76.65, +69.05 -3.798 -76.79, 69.15 -3.804 -76.62, 69.89 -4.096 -77.13, +69.88 -4.097 -77.17, 69.91 -4.099 -77.12, 66.11 -11.8 -75.48, +66.12 -11.8 -75.33, 66.46 -10.74 -75.29, 66.46 -10.74 -75.22, +66.57 -9.662 -75.38, 66.58 -9.658 -75.23, 66.37 -8.568 -75.52, +66.38 -8.567 -75.45, 66.51 -7.499 -75.62, 66.52 -7.496 -75.47, +66.94 -6.442 -75.41, 66.95 -6.44 -75.34, 66.93 -5.363 -75.57, +66.94 -5.36 -75.44, 67.24 -4.204 -75.68, 67.23 -4.207 -75.82, +66.21 -11.81 -75.31, 66.5 -10.74 -75.21, 66.67 -9.668 -75.21, +66.42 -8.571 -75.44, 66.62 -7.506 -75.45, 66.99 -6.445 -75.33, +67.03 -5.368 -75.42, 67.33 -4.213 -75.66, 67.74 -3.901 -75.93, +67.72 -3.904 -76.07, 67.82 -3.91 -75.91, 68.46 -4.028 -76.34, +68.45 -4.031 -76.48, 68.55 -4.037 -76.31, 69.07 -3.794 -76.64, +69.05 -3.798 -76.78, 69.16 -3.804 -76.61, 69.89 -4.096 -77.13, +69.88 -4.097 -77.17, 69.91 -4.099 -77.12, 66.12 -11.8 -75.47, +66.13 -11.8 -75.32, 66.47 -10.74 -75.27, 66.48 -10.74 -75.21, +66.56 -9.662 -75.39, 66.57 -9.658 -75.24, 66.36 -8.568 -75.53, +66.37 -8.567 -75.46, 66.53 -7.499 -75.61, 66.54 -7.496 -75.46, +66.95 -6.442 -75.4, 66.96 -6.44 -75.33, 66.91 -5.363 -75.59, +66.93 -5.36 -75.46, 67.24 -4.204 -75.68, 67.23 -4.207 -75.82, +66.22 -11.81 -75.3, 66.52 -10.74 -75.2, 66.66 -9.668 -75.22, +66.41 -8.571 -75.45, 66.63 -7.506 -75.44, 67 -6.445 -75.32, +67.01 -5.368 -75.44, 67.33 -4.213 -75.66, 67.75 -3.901 -75.92, +67.73 -3.904 -76.06, 67.83 -3.91 -75.9, 68.47 -4.028 -76.33, +68.45 -4.031 -76.47, 68.55 -4.037 -76.31, 69.08 -3.794 -76.63, +69.07 -3.798 -76.77, 69.17 -3.804 -76.6, 69.89 -4.096 -77.12, +69.89 -4.097 -77.16, 69.91 -4.099 -77.12, 66.13 -11.8 -75.46, +66.14 -11.8 -75.31, 66.49 -10.74 -75.26, 66.49 -10.74 -75.19, +66.54 -9.662 -75.41, 66.55 -9.658 -75.26, 66.35 -8.568 -75.54, +66.36 -8.567 -75.47, 66.55 -7.499 -75.59, 66.56 -7.496 -75.44, +66.95 -6.442 -75.4, 66.96 -6.44 -75.33, 66.89 -5.363 -75.61, +66.91 -5.36 -75.48, 67.24 -4.204 -75.68, 67.23 -4.207 -75.82, +66.23 -11.81 -75.29, 66.53 -10.74 -75.18, 66.65 -9.668 -75.23, +66.4 -8.571 -75.46, 66.65 -7.506 -75.42, 67.01 -6.445 -75.32, +66.99 -5.368 -75.45, 67.33 -4.213 -75.65, 67.76 -3.901 -75.91, +67.75 -3.904 -76.05, 67.85 -3.91 -75.89, 68.48 -4.028 -76.32, +68.46 -4.031 -76.46, 68.56 -4.037 -76.3, 69.1 -3.794 -76.61, +69.08 -3.798 -76.75, 69.18 -3.804 -76.59, 69.9 -4.096 -77.12, +69.89 -4.097 -77.15, 69.92 -4.099 -77.11, 66.14 -11.8 -75.45, +66.15 -11.8 -75.3, 66.5 -10.74 -75.25, 66.51 -10.74 -75.18, +66.52 -9.662 -75.42, 66.54 -9.658 -75.27, 66.35 -8.568 -75.54, +66.35 -8.567 -75.47, 66.57 -7.499 -75.57, 66.58 -7.496 -75.42, +66.95 -6.442 -75.4, 66.96 -6.44 -75.33, 66.88 -5.363 -75.62, +66.89 -5.36 -75.49, 67.25 -4.204 -75.67, 67.24 -4.207 -75.81, +66.24 -11.81 -75.28, 66.55 -10.74 -75.17, 66.63 -9.668 -75.25, +66.4 -8.571 -75.46, 66.67 -7.506 -75.4, 67.01 -6.445 -75.32, +66.97 -5.368 -75.47, 67.34 -4.213 -75.64, 67.78 -3.901 -75.89, +67.76 -3.904 -76.04, 67.86 -3.91 -75.87, 68.49 -4.028 -76.31, +68.48 -4.031 -76.45, 68.58 -4.037 -76.29, 69.11 -3.794 -76.6, +69.1 -3.798 -76.74, 69.2 -3.804 -76.57, 69.91 -4.096 -77.11, +69.91 -4.097 -77.14, 69.93 -4.099 -77.1, 66.16 -11.8 -75.43, +66.17 -11.8 -75.29, 66.51 -10.74 -75.24, 66.51 -10.74 -75.18, +66.51 -9.662 -75.44, 66.52 -9.658 -75.29, 66.35 -8.568 -75.54, +66.35 -8.567 -75.48, 66.58 -7.499 -75.55, 66.6 -7.496 -75.41, +66.95 -6.442 -75.4, 66.96 -6.44 -75.33, 66.86 -5.363 -75.64, +66.87 -5.36 -75.51, 67.27 -4.204 -75.66, 67.25 -4.207 -75.8, +66.26 -11.81 -75.26, 66.55 -10.74 -75.17, 66.61 -9.668 -75.27, +66.39 -8.571 -75.46, 66.69 -7.506 -75.38, 67 -6.445 -75.32, +66.95 -5.368 -75.49, 67.35 -4.213 -75.63, 67.79 -3.901 -75.88, +67.78 -3.904 -76.02, 67.88 -3.91 -75.86, 68.51 -4.028 -76.29, +68.49 -4.031 -76.43, 68.59 -4.037 -76.27, 69.13 -3.794 -76.58, +69.12 -3.798 -76.72, 69.22 -3.804 -76.56, 69.92 -4.096 -77.09, +69.92 -4.097 -77.13, 69.95 -4.099 -77.09, 66.17 -11.8 -75.42, +66.19 -11.8 -75.27, 66.51 -10.74 -75.23, 66.52 -10.74 -75.17, +66.49 -9.662 -75.46, 66.5 -9.658 -75.31, 66.35 -8.568 -75.54, +66.35 -8.567 -75.47, 66.6 -7.499 -75.54, 66.62 -7.496 -75.39, +66.94 -6.442 -75.41, 66.95 -6.44 -75.34, 66.84 -5.363 -75.66, +66.85 -5.36 -75.53, 67.28 -4.204 -75.64, 67.27 -4.207 -75.78, +66.28 -11.81 -75.25, 66.56 -10.74 -75.16, 66.59 -9.668 -75.28, +66.4 -8.571 -75.46, 66.71 -7.506 -75.37, 66.99 -6.445 -75.33, +66.93 -5.368 -75.5, 67.37 -4.213 -75.62, 67.81 -3.901 -75.86, +67.8 -3.904 -76, 67.9 -3.91 -75.84, 68.52 -4.028 -76.28, +68.51 -4.031 -76.42, 68.61 -4.037 -76.25, 69.15 -3.794 -76.56, +69.14 -3.798 -76.7, 69.24 -3.804 -76.54, 69.94 -4.096 -77.08, +69.94 -4.097 -77.11, 69.96 -4.099 -77.07, 66.19 -11.8 -75.4, +66.21 -11.8 -75.25, 66.51 -10.74 -75.23, 66.52 -10.74 -75.17, +66.47 -9.662 -75.48, 66.48 -9.658 -75.33, 66.35 -8.568 -75.54, +66.36 -8.567 -75.47, 66.62 -7.499 -75.52, 66.63 -7.496 -75.37, +66.93 -6.442 -75.42, 66.94 -6.44 -75.35, 66.83 -5.363 -75.67, +66.84 -5.36 -75.54, 67.3 -4.204 -75.63, 67.28 -4.207 -75.77, +66.3 -11.81 -75.23, 66.56 -10.74 -75.16, 66.57 -9.668 -75.3, +66.4 -8.571 -75.46, 66.73 -7.506 -75.35, 66.98 -6.445 -75.34, +66.92 -5.368 -75.52, 67.38 -4.213 -75.6, 67.83 -3.901 -75.84, +67.82 -3.904 -75.98, 67.92 -3.91 -75.82, 68.54 -4.028 -76.26, +68.53 -4.031 -76.4, 68.63 -4.037 -76.24, 69.17 -3.794 -76.54, +69.16 -3.798 -76.68, 69.26 -3.804 -76.52, 69.96 -4.096 -77.06, +69.96 -4.097 -77.1, 69.98 -4.099 -77.05, 66.21 -11.8 -75.38, +66.23 -11.8 -75.23, 66.51 -10.74 -75.24, 66.52 -10.74 -75.17, +66.45 -9.662 -75.49, 66.46 -9.658 -75.34, 66.36 -8.568 -75.53, +66.37 -8.567 -75.46, 66.64 -7.499 -75.51, 66.65 -7.496 -75.36, +66.92 -6.442 -75.43, 66.92 -6.44 -75.36, 66.82 -5.363 -75.68, +66.83 -5.36 -75.55, 67.32 -4.204 -75.61, 67.3 -4.207 -75.75, +66.32 -11.81 -75.21, 66.56 -10.74 -75.16, 66.55 -9.668 -75.32, +66.41 -8.571 -75.45, 66.74 -7.506 -75.33, 66.97 -6.445 -75.35, +66.91 -5.368 -75.53, 67.4 -4.213 -75.59, 67.85 -3.901 -75.82, +67.84 -3.904 -75.97, 67.94 -3.91 -75.8, 68.56 -4.028 -76.24, +68.55 -4.031 -76.38, 68.65 -4.037 -76.22, 69.19 -3.794 -76.53, +69.18 -3.798 -76.67, 69.28 -3.804 -76.5, 69.98 -4.096 -77.04, +69.98 -4.097 -77.08, 70 -4.099 -77.04, 66.23 -11.8 -75.36, +66.25 -11.8 -75.21, 66.5 -10.74 -75.24, 66.51 -10.74 -75.18, +66.43 -9.662 -75.51, 66.44 -9.658 -75.36, 66.38 -8.568 -75.51, +66.38 -8.567 -75.45, 66.65 -7.499 -75.5, 66.66 -7.496 -75.35, +66.9 -6.442 -75.45, 66.91 -6.44 -75.38, 66.81 -5.363 -75.68, +66.82 -5.36 -75.56, 67.34 -4.204 -75.59, 67.32 -4.207 -75.73, +66.34 -11.81 -75.19, 66.55 -10.74 -75.17, 66.54 -9.668 -75.33, +66.43 -8.571 -75.44, 66.75 -7.506 -75.32, 66.95 -6.445 -75.37, +66.9 -5.368 -75.53, 67.42 -4.213 -75.57, 67.87 -3.901 -75.81, +67.86 -3.904 -75.95, 67.96 -3.91 -75.78, 68.58 -4.028 -76.22, +68.57 -4.031 -76.36, 68.67 -4.037 -76.2, 69.21 -3.794 -76.51, +69.19 -3.798 -76.65, 69.29 -3.804 -76.49, 70 -4.096 -77.02, +70 -4.097 -77.06, 70.02 -4.099 -77.02, 66.25 -11.8 -75.35, +66.26 -11.8 -75.2, 66.49 -10.74 -75.25, 66.5 -10.74 -75.19, +66.42 -9.662 -75.52, 66.43 -9.658 -75.37, 66.39 -8.568 -75.5, +66.4 -8.567 -75.43, 66.66 -7.499 -75.49, 66.67 -7.496 -75.34, +66.88 -6.442 -75.47, 66.89 -6.44 -75.4, 66.81 -5.363 -75.69, +66.82 -5.36 -75.56, 67.36 -4.204 -75.57, 67.34 -4.207 -75.71, +66.35 -11.81 -75.18, 66.54 -10.74 -75.18, 66.52 -9.668 -75.35, +66.44 -8.571 -75.42, 66.76 -7.506 -75.32, 66.93 -6.445 -75.38, +66.9 -5.368 -75.54, 67.44 -4.213 -75.55, 67.89 -3.901 -75.79, +67.87 -3.904 -75.93, 67.97 -3.91 -75.77, 68.6 -4.028 -76.21, +68.59 -4.031 -76.35, 68.69 -4.037 -76.18, 69.22 -3.794 -76.5, +69.21 -3.798 -76.64, 69.31 -3.804 -76.47, 70.02 -4.096 -77.01, +70.01 -4.097 -77.04, 70.04 -4.099 -77, 66.26 -11.8 -75.33, +66.28 -11.8 -75.18, 66.48 -10.74 -75.27, 66.48 -10.74 -75.2, +66.41 -9.662 -75.53, 66.42 -9.658 -75.38, 66.41 -8.568 -75.48, +66.42 -8.567 -75.41, 66.66 -7.499 -75.48, 66.67 -7.496 -75.33, +66.86 -6.442 -75.49, 66.87 -6.44 -75.41, 66.81 -5.363 -75.69, +66.82 -5.36 -75.56, 67.37 -4.204 -75.56, 67.36 -4.207 -75.7, +66.37 -11.81 -75.16, 66.52 -10.74 -75.19, 66.51 -9.668 -75.36, +66.46 -8.571 -75.4, 66.77 -7.506 -75.31, 66.91 -6.445 -75.4, +66.9 -5.368 -75.54, 67.46 -4.213 -75.53, 67.9 -3.901 -75.78, +67.88 -3.904 -75.92, 67.99 -3.91 -75.76, 68.62 -4.028 -76.19, +68.6 -4.031 -76.33, 68.7 -4.037 -76.17, 69.23 -3.794 -76.49, +69.22 -3.798 -76.63, 69.32 -3.804 -76.46, 70.03 -4.096 -76.99, +70.03 -4.097 -77.03, 70.06 -4.099 -76.98, 66.28 -11.8 -75.32, +66.29 -11.8 -75.17, 66.46 -10.74 -75.28, 66.47 -10.74 -75.22, +66.4 -9.662 -75.54, 66.41 -9.658 -75.39, 66.43 -8.568 -75.46, +66.44 -8.567 -75.4, 66.66 -7.499 -75.48, 66.68 -7.496 -75.33, +66.84 -6.442 -75.5, 66.85 -6.44 -75.43, 66.81 -5.363 -75.68, +66.82 -5.36 -75.55, 67.39 -4.204 -75.54, 67.38 -4.207 -75.68, +66.38 -11.81 -75.15, 66.51 -10.74 -75.21, 66.51 -9.668 -75.37, +66.48 -8.571 -75.39, 66.77 -7.506 -75.31, 66.89 -6.445 -75.42, +66.9 -5.368 -75.53, 67.48 -4.213 -75.52, 67.91 -3.901 -75.77, +67.89 -3.904 -75.91, 68 -3.91 -75.75, 68.63 -4.028 -76.18, +68.61 -4.031 -76.32, 68.72 -4.037 -76.16, 69.24 -3.794 -76.48, +69.22 -3.798 -76.62, 69.32 -3.804 -76.46, 70.05 -4.096 -76.98, +70.05 -4.097 -77.01, 70.07 -4.099 -76.97, 66.29 -11.8 -75.31, +66.3 -11.8 -75.16, 66.44 -10.74 -75.3, 66.45 -10.74 -75.24, +66.4 -9.662 -75.54, 66.41 -9.658 -75.39, 66.45 -8.568 -75.45, +66.46 -8.567 -75.38, 66.66 -7.499 -75.49, 66.67 -7.496 -75.34, +66.82 -6.442 -75.52, 66.83 -6.44 -75.45, 66.82 -5.363 -75.67, +66.83 -5.36 -75.54, 67.4 -4.204 -75.53, 67.39 -4.207 -75.67, +66.39 -11.81 -75.14, 66.49 -10.74 -75.23, 66.5 -9.668 -75.37, +66.5 -8.571 -75.37, 66.77 -7.506 -75.31, 66.88 -6.445 -75.44, +66.91 -5.368 -75.52, 67.49 -4.213 -75.5, 67.91 -3.901 -75.77, +67.9 -3.904 -75.91, 68 -3.91 -75.74, 68.64 -4.028 -76.17, +68.62 -4.031 -76.31, 68.73 -4.037 -76.15, 69.24 -3.794 -76.48, +69.23 -3.798 -76.62, 69.33 -3.804 -76.45, 70.06 -4.096 -76.97, +70.06 -4.097 -77, 70.08 -4.099 -76.96, 66.29 -11.8 -75.31, +66.3 -11.8 -75.16, 66.42 -10.74 -75.32, 66.43 -10.74 -75.26, +66.4 -9.662 -75.54, 66.41 -9.658 -75.39, 66.47 -8.568 -75.43, +66.48 -8.567 -75.36, 66.65 -7.499 -75.49, 66.66 -7.496 -75.34, +66.81 -6.442 -75.54, 66.81 -6.44 -75.46, 66.83 -5.363 -75.66, +66.85 -5.36 -75.53, 67.41 -4.204 -75.52, 67.4 -4.207 -75.66, +66.4 -11.81 -75.14, 66.47 -10.74 -75.25, 66.5 -9.668 -75.37, +66.52 -8.571 -75.35, 66.76 -7.506 -75.32, 66.86 -6.445 -75.45, +66.93 -5.368 -75.51, 67.5 -4.213 -75.49, 67.92 -3.901 -75.76, +67.9 -3.904 -75.9, 68 -3.91 -75.74, 68.64 -4.028 -76.17, +68.63 -4.031 -76.31, 68.73 -4.037 -76.14, 69.24 -3.794 -76.48, +69.22 -3.798 -76.62, 69.33 -3.804 -76.46, 70.07 -4.096 -76.96, +70.06 -4.097 -77, 70.09 -4.099 -76.95, 66.29 -11.8 -75.31, +66.31 -11.8 -75.16, 66.4 -10.74 -75.34, 66.41 -10.74 -75.27, +66.4 -9.662 -75.54, 66.41 -9.658 -75.39, 66.49 -8.568 -75.41, +66.49 -8.567 -75.34, 66.64 -7.499 -75.5, 66.65 -7.496 -75.35, +66.79 -6.442 -75.55, 66.8 -6.44 -75.48, 66.85 -5.363 -75.65, +66.86 -5.36 -75.52, 67.42 -4.204 -75.51, 67.41 -4.207 -75.65, +66.4 -11.81 -75.13, 66.45 -10.74 -75.26, 66.51 -9.668 -75.36, +66.54 -8.571 -75.33, 66.75 -7.506 -75.33, 66.84 -6.445 -75.47, +66.94 -5.368 -75.5, 67.51 -4.213 -75.49, 67.91 -3.901 -75.77, +67.9 -3.904 -75.91, 68 -3.91 -75.74, 68.65 -4.028 -76.16, +68.63 -4.031 -76.3, 68.73 -4.037 -76.14, 69.23 -3.794 -76.48, +69.22 -3.798 -76.63, 69.32 -3.804 -76.46, 70.07 -4.096 -76.95, +70.07 -4.097 -76.99, 70.1 -4.099 -76.95, 66.29 -11.8 -75.31, +66.3 -11.8 -75.16, 66.38 -10.74 -75.35, 66.39 -10.74 -75.29, +66.41 -9.662 -75.53, 66.42 -9.658 -75.38, 66.5 -8.568 -75.4, +66.51 -8.567 -75.33, 66.63 -7.499 -75.51, 66.64 -7.496 -75.37, +66.78 -6.442 -75.56, 66.79 -6.44 -75.49, 66.87 -5.363 -75.63, +66.88 -5.36 -75.5, 67.43 -4.204 -75.51, 67.41 -4.207 -75.65, +66.4 -11.81 -75.14, 66.43 -10.74 -75.28, 66.51 -9.668 -75.36, +66.55 -8.571 -75.32, 66.73 -7.506 -75.34, 66.83 -6.445 -75.48, +66.96 -5.368 -75.48, 67.51 -4.213 -75.48, 67.91 -3.901 -75.77, +67.89 -3.904 -75.91, 68 -3.91 -75.75, 68.64 -4.028 -76.17, +68.63 -4.031 -76.31, 68.73 -4.037 -76.14, 69.22 -3.794 -76.49, +69.21 -3.798 -76.63, 69.31 -3.804 -76.47, 70.07 -4.096 -76.95, +70.07 -4.097 -76.99, 70.1 -4.099 -76.95, 66.28 -11.8 -75.32, +66.3 -11.8 -75.17, 66.37 -10.74 -75.37, 66.37 -10.74 -75.31, +66.42 -9.662 -75.52, 66.44 -9.658 -75.37, 66.52 -8.568 -75.39, +66.52 -8.567 -75.32, 66.61 -7.499 -75.53, 66.62 -7.496 -75.38, +66.77 -6.442 -75.57, 66.78 -6.44 -75.5, 66.88 -5.363 -75.61, +66.9 -5.36 -75.48, 67.42 -4.204 -75.51, 67.41 -4.207 -75.65, +66.39 -11.81 -75.14, 66.41 -10.74 -75.3, 66.53 -9.668 -75.34, +66.56 -8.571 -75.31, 66.72 -7.506 -75.36, 66.82 -6.445 -75.48, +66.98 -5.368 -75.46, 67.51 -4.213 -75.48, 67.9 -3.901 -75.78, +67.89 -3.904 -75.92, 67.99 -3.91 -75.76, 68.64 -4.028 -76.17, +68.62 -4.031 -76.31, 68.73 -4.037 -76.15, 69.21 -3.794 -76.51, +69.2 -3.798 -76.65, 69.3 -3.804 -76.48, 70.07 -4.096 -76.96, +70.06 -4.097 -77, 70.09 -4.099 -76.95, 66.27 -11.8 -75.33, +66.29 -11.8 -75.18, 66.35 -10.74 -75.38, 66.36 -10.74 -75.32, +66.44 -9.662 -75.5, 66.45 -9.658 -75.35, 66.52 -8.568 -75.38, +66.53 -8.567 -75.31, 66.59 -7.499 -75.55, 66.6 -7.496 -75.4, +66.77 -6.442 -75.57, 66.77 -6.44 -75.5, 66.9 -5.363 -75.6, +66.92 -5.36 -75.47, 67.42 -4.204 -75.51, 67.41 -4.207 -75.65, +66.38 -11.81 -75.15, 66.4 -10.74 -75.31, 66.54 -9.668 -75.33, +66.57 -8.571 -75.3, 66.7 -7.506 -75.37, 66.82 -6.445 -75.49, +67 -5.368 -75.45, 67.51 -4.213 -75.49, 67.89 -3.901 -75.79, +67.87 -3.904 -75.93, 67.97 -3.91 -75.77, 68.63 -4.028 -76.18, +68.61 -4.031 -76.32, 68.72 -4.037 -76.16, 69.2 -3.794 -76.52, +69.18 -3.798 -76.66, 69.28 -3.804 -76.49, 70.06 -4.096 -76.97, +70.06 -4.097 -77, 70.08 -4.099 -76.96, 66.26 -11.8 -75.34, +66.27 -11.8 -75.19, 66.34 -10.74 -75.39, 66.35 -10.74 -75.33, +66.45 -9.662 -75.49, 66.47 -9.658 -75.34, 66.53 -8.568 -75.37, +66.54 -8.567 -75.3, 66.57 -7.499 -75.57, 66.59 -7.496 -75.42, +66.77 -6.442 -75.57, 66.77 -6.44 -75.5, 66.92 -5.363 -75.58, +66.94 -5.36 -75.45, 67.41 -4.204 -75.52, 67.4 -4.207 -75.66, +66.37 -11.81 -75.17, 66.39 -10.74 -75.32, 66.56 -9.668 -75.32, +66.58 -8.571 -75.29, 66.68 -7.506 -75.39, 66.82 -6.445 -75.49, +67.02 -5.368 -75.43, 67.5 -4.213 -75.5, 67.87 -3.901 -75.81, +67.86 -3.904 -75.95, 67.96 -3.91 -75.78, 68.61 -4.028 -76.19, +68.6 -4.031 -76.33, 68.7 -4.037 -76.17, 69.18 -3.794 -76.54, +69.17 -3.798 -76.68, 69.27 -3.804 -76.51, 70.05 -4.096 -76.98, +70.05 -4.097 -77.01, 70.07 -4.099 -76.97, 66.24 -11.8 -75.35, +66.26 -11.8 -75.21, 66.33 -10.74 -75.4, 66.34 -10.74 -75.34, +66.47 -9.662 -75.47, 66.49 -9.658 -75.32, 66.53 -8.568 -75.37, +66.54 -8.567 -75.3, 66.55 -7.499 -75.58, 66.57 -7.496 -75.44, +66.77 -6.442 -75.57, 66.78 -6.44 -75.5, 66.94 -5.363 -75.56, +66.95 -5.36 -75.43, 67.4 -4.204 -75.53, 67.39 -4.207 -75.67, +66.35 -11.81 -75.18, 66.38 -10.74 -75.33, 66.58 -9.668 -75.3, +66.58 -8.571 -75.29, 66.66 -7.506 -75.41, 66.82 -6.445 -75.49, +67.03 -5.368 -75.41, 67.49 -4.213 -75.51, 67.85 -3.901 -75.82, +67.84 -3.904 -75.96, 67.94 -3.91 -75.8, 68.6 -4.028 -76.21, +68.59 -4.031 -76.35, 68.69 -4.037 -76.18, 69.16 -3.794 -76.55, +69.15 -3.798 -76.69, 69.25 -3.804 -76.53, 70.03 -4.096 -76.99, +70.03 -4.097 -77.03, 70.06 -4.099 -76.98, 66.22 -11.8 -75.37, +66.24 -11.8 -75.22, 66.33 -10.74 -75.41, 66.33 -10.74 -75.34, +66.49 -9.662 -75.45, 66.51 -9.658 -75.3, 66.53 -8.568 -75.37, +66.54 -8.567 -75.3, 66.53 -7.499 -75.6, 66.55 -7.496 -75.45, +66.78 -6.442 -75.56, 66.79 -6.44 -75.49, 66.96 -5.363 -75.55, +66.97 -5.36 -75.42, 67.38 -4.204 -75.55, 67.37 -4.207 -75.69, +66.33 -11.81 -75.2, 66.37 -10.74 -75.33, 66.6 -9.668 -75.28, +66.58 -8.571 -75.29, 66.64 -7.506 -75.43, 66.83 -6.445 -75.48, +67.05 -5.368 -75.4, 67.47 -4.213 -75.52, 67.83 -3.901 -75.84, +67.82 -3.904 -75.98, 67.92 -3.91 -75.82, 68.58 -4.028 -76.22, +68.57 -4.031 -76.36, 68.67 -4.037 -76.2, 69.14 -3.794 -76.57, +69.13 -3.798 -76.71, 69.23 -3.804 -76.55, 70.02 -4.096 -77.01, +70.01 -4.097 -77.04, 70.04 -4.099 -77, ] +} +] +}, +DEF Plane29 Transform { +translation -66.04 5.921 75.48 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane29-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane29-COORD Coordinate { +point [ 65.82 -11.8 -75.34 65.96 -11.8 -75.28 65.85 -10.72 -75.56 65.9 -10.72 +-75.54 65.83 -9.647 -75.54 65.97 -9.643 -75.48 65.86 -8.558 -75.37 65.93 -8.556 +-75.34 65.67 -7.483 -75.61 65.81 -7.479 -75.55 65.82 -6.412 -75.82 65.88 -6.41 +-75.79 65.85 -5.332 -75.72 65.97 -5.329 -75.67 66.01 -4.153 -76.06 65.89 -4.157 +-76.12 66.02 -11.8 -75.35 65.93 -10.72 -75.57 66.03 -9.648 -75.55 65.96 -8.558 +-75.38 65.88 -7.484 -75.62 65.91 -6.413 -75.82 66.03 -5.333 -75.73 66.08 -4.157 +-76.13 65.97 -3.824 -76.65 65.84 -3.828 -76.7 66.03 -3.829 -76.71 65.98 -3.913 +-77.47 65.85 -3.917 -77.53 66.04 -3.917 -77.54 65.94 -3.649 -78.17 65.81 -3.653 +-78.22 66.01 -3.653 -78.23 65.97 -3.906 -79.1 65.93 -3.907 -79.12 65.98 -3.908 +-79.12 ] +} +texCoord DEF Plane29-TEXCOORD +TextureCoordinate { point [ 0 0 1 0 0 1 1 1 ] } coordIndex [ 2 0 3 -1 1 3 0 +-1 4 2 5 -1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 10 8 11 -1 9 11 8 +-1 12 10 13 -1 11 13 10 -1 14 15 12 -1 12 13 14 -1 3 1 17 -1 16 17 1 -1 5 3 +18 -1 17 18 3 -1 7 5 19 -1 18 19 5 -1 9 7 20 -1 19 20 7 -1 11 9 21 -1 20 21 +9 -1 13 11 22 -1 21 22 11 -1 23 14 13 -1 13 22 23 -1 24 25 15 -1 15 14 24 +-1 26 24 14 -1 14 23 26 -1 27 28 25 -1 25 24 27 -1 29 27 24 -1 24 26 29 -1 30 +31 28 -1 28 27 30 -1 32 30 27 -1 27 29 32 -1 33 34 31 -1 31 30 33 -1 35 33 30 +-1 30 32 35 -1 ] texCoordIndex +[ 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 +0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 3 2 0 -1 0 1 3 -1 2 0 3 -1 1 3 0 -1 2 0 3 +-1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 +3 0 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 +-1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 +2 0 -1 0 1 3 -1 ] +} +} +DEF Plane29-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, +0.2667, 0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, +0.5333, 0.5667, 0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, +0.8, 0.8333, 0.8667, 0.9, 0.9333, 0.9667, 1, ] +keyValue [65.82 -11.8 -75.34, +65.96 -11.8 -75.28, 65.85 -10.72 -75.56, 65.9 -10.72 -75.54, +65.83 -9.647 -75.54, 65.97 -9.643 -75.48, 65.86 -8.558 -75.37, +65.93 -8.556 -75.34, 65.67 -7.483 -75.61, 65.81 -7.479 -75.55, +65.82 -6.412 -75.82, 65.88 -6.41 -75.79, 65.85 -5.332 -75.72, +65.97 -5.329 -75.67, 66.01 -4.153 -76.06, 65.89 -4.157 -76.12, +66.02 -11.8 -75.35, 65.93 -10.72 -75.57, 66.03 -9.648 -75.55, +65.96 -8.558 -75.38, 65.88 -7.484 -75.62, 65.91 -6.413 -75.82, +66.03 -5.333 -75.73, 66.08 -4.157 -76.13, 65.97 -3.824 -76.65, +65.84 -3.828 -76.7, 66.03 -3.829 -76.71, 65.98 -3.913 -77.47, +65.85 -3.917 -77.53, 66.04 -3.917 -77.54, 65.94 -3.649 -78.17, +65.81 -3.653 -78.22, 66.01 -3.653 -78.23, 65.97 -3.906 -79.1, +65.93 -3.907 -79.12, 65.98 -3.908 -79.12, 65.8 -11.8 -75.36, +65.94 -11.8 -75.3, 65.85 -10.72 -75.56, 65.9 -10.72 -75.54, +65.85 -9.647 -75.53, 65.99 -9.643 -75.47, 65.86 -8.558 -75.38, +65.92 -8.556 -75.35, 65.66 -7.483 -75.62, 65.79 -7.479 -75.57, +65.83 -6.412 -75.81, 65.89 -6.41 -75.78, 65.86 -5.332 -75.71, +65.98 -5.329 -75.66, 66 -4.153 -76.08, 65.87 -4.157 -76.13, +66 -11.8 -75.37, 65.93 -10.72 -75.57, 66.05 -9.648 -75.54, +65.95 -8.558 -75.38, 65.86 -7.484 -75.64, 65.93 -6.413 -75.81, +66.04 -5.333 -75.72, 66.06 -4.157 -76.14, 65.95 -3.824 -76.66, +65.82 -3.828 -76.72, 66.01 -3.829 -76.73, 65.96 -3.913 -77.49, +65.83 -3.917 -77.54, 66.03 -3.917 -77.55, 65.92 -3.649 -78.18, +65.79 -3.653 -78.24, 65.99 -3.653 -78.25, 65.95 -3.906 -79.12, +65.91 -3.907 -79.14, 65.96 -3.908 -79.14, 65.78 -11.8 -75.38, +65.92 -11.8 -75.32, 65.85 -10.72 -75.56, 65.91 -10.72 -75.53, +65.87 -9.647 -75.51, 66.01 -9.643 -75.45, 65.85 -8.558 -75.39, +65.91 -8.556 -75.36, 65.64 -7.483 -75.64, 65.78 -7.479 -75.58, +65.84 -6.412 -75.79, 65.91 -6.41 -75.76, 65.87 -5.332 -75.7, +65.99 -5.329 -75.65, 65.98 -4.153 -76.1, 65.85 -4.157 -76.15, +65.98 -11.8 -75.39, 65.93 -10.72 -75.56, 66.07 -9.648 -75.52, +65.94 -8.558 -75.39, 65.84 -7.484 -75.65, 65.94 -6.413 -75.8, +66.05 -5.333 -75.71, 66.04 -4.157 -76.16, 65.93 -3.824 -76.68, +65.8 -3.828 -76.74, 65.99 -3.829 -76.75, 65.94 -3.913 -77.51, +65.81 -3.917 -77.56, 66.01 -3.917 -77.57, 65.91 -3.649 -78.2, +65.78 -3.653 -78.25, 65.97 -3.653 -78.26, 65.93 -3.906 -79.14, +65.89 -3.907 -79.15, 65.94 -3.908 -79.16, 65.76 -11.8 -75.4, +65.9 -11.8 -75.34, 65.86 -10.72 -75.55, 65.92 -10.72 -75.53, +65.89 -9.647 -75.49, 66.02 -9.643 -75.43, 65.83 -8.558 -75.4, +65.9 -8.556 -75.37, 65.63 -7.483 -75.65, 65.77 -7.479 -75.59, +65.86 -6.412 -75.78, 65.93 -6.41 -75.75, 65.88 -5.332 -75.7, +66 -5.329 -75.64, 65.96 -4.153 -76.12, 65.83 -4.157 -76.17, +65.96 -11.8 -75.41, 65.94 -10.72 -75.56, 66.09 -9.648 -75.5, +65.93 -8.558 -75.41, 65.83 -7.484 -75.66, 65.96 -6.413 -75.78, +66.05 -5.333 -75.71, 66.02 -4.157 -76.18, 65.91 -3.824 -76.7, +65.78 -3.828 -76.75, 65.98 -3.829 -76.76, 65.92 -3.913 -77.52, +65.79 -3.917 -77.58, 65.99 -3.917 -77.59, 65.89 -3.649 -78.21, +65.76 -3.653 -78.27, 65.96 -3.653 -78.28, 65.91 -3.906 -79.16, +65.88 -3.907 -79.17, 65.93 -3.908 -79.17, 65.74 -11.8 -75.41, +65.88 -11.8 -75.35, 65.87 -10.72 -75.54, 65.93 -10.72 -75.51, +65.9 -9.647 -75.48, 66.04 -9.643 -75.42, 65.82 -8.558 -75.42, +65.88 -8.556 -75.39, 65.62 -7.483 -75.66, 65.76 -7.479 -75.6, +65.88 -6.412 -75.76, 65.95 -6.41 -75.73, 65.88 -5.332 -75.69, +66 -5.329 -75.64, 65.94 -4.153 -76.13, 65.81 -4.157 -76.19, +65.95 -11.8 -75.42, 65.95 -10.72 -75.54, 66.1 -9.648 -75.49, +65.91 -8.558 -75.42, 65.82 -7.484 -75.67, 65.98 -6.413 -75.76, +66.06 -5.333 -75.7, 66 -4.157 -76.2, 65.9 -3.824 -76.71, +65.77 -3.828 -76.77, 65.96 -3.829 -76.78, 65.91 -3.913 -77.54, +65.78 -3.917 -77.59, 65.97 -3.917 -77.6, 65.88 -3.649 -78.22, +65.75 -3.653 -78.28, 65.95 -3.653 -78.29, 65.89 -3.906 -79.17, +65.86 -3.907 -79.19, 65.91 -3.908 -79.19, 65.73 -11.8 -75.43, +65.87 -11.8 -75.37, 65.88 -10.72 -75.53, 65.94 -10.72 -75.5, +65.91 -9.647 -75.47, 66.05 -9.643 -75.41, 65.8 -8.558 -75.43, +65.86 -8.556 -75.4, 65.62 -7.483 -75.66, 65.75 -7.479 -75.6, +65.9 -6.412 -75.74, 65.96 -6.41 -75.71, 65.88 -5.332 -75.7, +66 -5.329 -75.64, 65.92 -4.153 -76.15, 65.79 -4.157 -76.2, +65.93 -11.8 -75.44, 65.97 -10.72 -75.53, 66.11 -9.648 -75.48, +65.89 -8.558 -75.44, 65.82 -7.484 -75.67, 66 -6.413 -75.74, +66.05 -5.333 -75.71, 65.99 -4.157 -76.22, 65.89 -3.824 -76.72, +65.76 -3.828 -76.78, 65.95 -3.829 -76.79, 65.89 -3.913 -77.55, +65.77 -3.917 -77.61, 65.96 -3.917 -77.62, 65.88 -3.649 -78.23, +65.75 -3.653 -78.28, 65.94 -3.653 -78.29, 65.88 -3.906 -79.18, +65.85 -3.907 -79.2, 65.9 -3.908 -79.2, 65.72 -11.8 -75.44, +65.85 -11.8 -75.38, 65.9 -10.72 -75.51, 65.96 -10.72 -75.49, +65.92 -9.647 -75.46, 66.05 -9.643 -75.41, 65.78 -8.558 -75.45, +65.84 -8.556 -75.42, 65.62 -7.483 -75.66, 65.75 -7.479 -75.6, +65.92 -6.412 -75.72, 65.98 -6.41 -75.69, 65.87 -5.332 -75.7, +65.99 -5.329 -75.65, 65.91 -4.153 -76.16, 65.78 -4.157 -76.22, +65.92 -11.8 -75.45, 65.99 -10.72 -75.52, 66.12 -9.648 -75.48, +65.87 -8.558 -75.46, 65.82 -7.484 -75.67, 66.02 -6.413 -75.73, +66.05 -5.333 -75.71, 65.97 -4.157 -76.23, 65.88 -3.824 -76.73, +65.75 -3.828 -76.78, 65.94 -3.829 -76.79, 65.88 -3.913 -77.56, +65.76 -3.917 -77.62, 65.95 -3.917 -77.63, 65.88 -3.649 -78.23, +65.75 -3.653 -78.28, 65.94 -3.653 -78.29, 65.87 -3.906 -79.19, +65.84 -3.907 -79.21, 65.89 -3.908 -79.21, 65.71 -11.8 -75.45, +65.84 -11.8 -75.39, 65.92 -10.72 -75.49, 65.98 -10.72 -75.47, +65.92 -9.647 -75.46, 66.06 -9.643 -75.4, 65.76 -8.558 -75.47, +65.82 -8.556 -75.44, 65.62 -7.483 -75.66, 65.76 -7.479 -75.6, +65.94 -6.412 -75.7, 66 -6.41 -75.68, 65.86 -5.332 -75.71, +65.98 -5.329 -75.66, 65.89 -4.153 -76.18, 65.76 -4.157 -76.23, +65.91 -11.8 -75.46, 66 -10.72 -75.5, 66.12 -9.648 -75.47, +65.85 -8.558 -75.47, 65.82 -7.484 -75.67, 66.03 -6.413 -75.71, +66.04 -5.333 -75.72, 65.96 -4.157 -76.24, 65.88 -3.824 -76.73, +65.75 -3.828 -76.79, 65.94 -3.829 -76.8, 65.88 -3.913 -77.57, +65.75 -3.917 -77.62, 65.94 -3.917 -77.63, 65.88 -3.649 -78.23, +65.75 -3.653 -78.28, 65.94 -3.653 -78.29, 65.86 -3.906 -79.2, +65.83 -3.907 -79.21, 65.88 -3.908 -79.22, 65.7 -11.8 -75.45, +65.84 -11.8 -75.39, 65.94 -10.72 -75.48, 66 -10.72 -75.45, +65.92 -9.647 -75.46, 66.06 -9.643 -75.4, 65.74 -8.558 -75.49, +65.8 -8.556 -75.46, 65.63 -7.483 -75.65, 65.76 -7.479 -75.59, +65.95 -6.412 -75.69, 66.02 -6.41 -75.66, 65.85 -5.332 -75.72, +65.97 -5.329 -75.67, 65.88 -4.153 -76.19, 65.75 -4.157 -76.24, +65.9 -11.8 -75.46, 66.02 -10.72 -75.48, 66.12 -9.648 -75.47, +65.83 -8.558 -75.49, 65.83 -7.484 -75.66, 66.05 -6.413 -75.69, +66.03 -5.333 -75.73, 65.95 -4.157 -76.25, 65.88 -3.824 -76.73, +65.75 -3.828 -76.79, 65.94 -3.829 -76.8, 65.88 -3.913 -77.57, +65.75 -3.917 -77.62, 65.94 -3.917 -77.63, 65.88 -3.649 -78.22, +65.75 -3.653 -78.28, 65.95 -3.653 -78.29, 65.86 -3.906 -79.2, +65.83 -3.907 -79.22, 65.88 -3.908 -79.22, 65.7 -11.8 -75.45, +65.84 -11.8 -75.39, 65.96 -10.72 -75.46, 66.02 -10.72 -75.43, +65.91 -9.647 -75.47, 66.05 -9.643 -75.41, 65.72 -8.558 -75.5, +65.79 -8.556 -75.48, 65.64 -7.483 -75.64, 65.78 -7.479 -75.58, +65.97 -6.412 -75.68, 66.03 -6.41 -75.65, 65.83 -5.332 -75.74, +65.95 -5.329 -75.69, 65.88 -4.153 -76.19, 65.75 -4.157 -76.25, +65.9 -11.8 -75.46, 66.04 -10.72 -75.46, 66.12 -9.648 -75.48, +65.82 -8.558 -75.51, 65.84 -7.484 -75.65, 66.06 -6.413 -75.68, +66.01 -5.333 -75.75, 65.94 -4.157 -76.26, 65.88 -3.824 -76.73, +65.75 -3.828 -76.78, 65.94 -3.829 -76.79, 65.88 -3.913 -77.57, +65.75 -3.917 -77.62, 65.94 -3.917 -77.63, 65.89 -3.649 -78.21, +65.76 -3.653 -78.27, 65.96 -3.653 -78.28, 65.86 -3.906 -79.2, +65.83 -3.907 -79.21, 65.88 -3.908 -79.22, 65.7 -11.8 -75.45, +65.84 -11.8 -75.39, 65.98 -10.72 -75.44, 66.03 -10.72 -75.41, +65.9 -9.647 -75.48, 66.04 -9.643 -75.42, 65.71 -8.558 -75.52, +65.77 -8.556 -75.49, 65.65 -7.483 -75.63, 65.79 -7.479 -75.57, +65.98 -6.412 -75.67, 66.04 -6.41 -75.64, 65.82 -5.332 -75.75, +65.93 -5.329 -75.7, 65.88 -4.153 -76.19, 65.75 -4.157 -76.25, +65.91 -11.8 -75.46, 66.06 -10.72 -75.44, 66.11 -9.648 -75.49, +65.8 -8.558 -75.52, 65.86 -7.484 -75.64, 66.08 -6.413 -75.67, +65.99 -5.333 -75.76, 65.94 -4.157 -76.26, 65.89 -3.824 -76.72, +65.76 -3.828 -76.77, 65.95 -3.829 -76.79, 65.88 -3.913 -77.56, +65.75 -3.917 -77.62, 65.95 -3.917 -77.63, 65.91 -3.649 -78.2, +65.78 -3.653 -78.26, 65.97 -3.653 -78.27, 65.87 -3.906 -79.19, +65.84 -3.907 -79.21, 65.89 -3.908 -79.21, 65.71 -11.8 -75.44, +65.85 -11.8 -75.38, 65.99 -10.72 -75.42, 66.05 -10.72 -75.4, +65.89 -9.647 -75.49, 66.03 -9.643 -75.43, 65.7 -8.558 -75.53, +65.76 -8.556 -75.5, 65.67 -7.483 -75.61, 65.81 -7.479 -75.55, +65.98 -6.412 -75.66, 66.05 -6.41 -75.63, 65.8 -5.332 -75.77, +65.92 -5.329 -75.72, 65.88 -4.153 -76.19, 65.75 -4.157 -76.25, +65.91 -11.8 -75.45, 66.08 -10.72 -75.43, 66.09 -9.648 -75.5, +65.79 -8.558 -75.53, 65.87 -7.484 -75.62, 66.08 -6.413 -75.66, +65.97 -5.333 -75.78, 65.94 -4.157 -76.26, 65.9 -3.824 -76.71, +65.77 -3.828 -76.76, 65.96 -3.829 -76.77, 65.89 -3.913 -77.55, +65.76 -3.917 -77.61, 65.96 -3.917 -77.62, 65.92 -3.649 -78.19, +65.79 -3.653 -78.24, 65.98 -3.653 -78.25, 65.88 -3.906 -79.18, +65.85 -3.907 -79.2, 65.9 -3.908 -79.2, 65.72 -11.8 -75.43, +65.86 -11.8 -75.37, 66.01 -10.72 -75.41, 66.07 -10.72 -75.38, +65.88 -9.647 -75.5, 66.01 -9.643 -75.44, 65.69 -8.558 -75.54, +65.75 -8.556 -75.51, 65.69 -7.483 -75.59, 65.83 -7.479 -75.53, +65.99 -6.412 -75.66, 66.05 -6.41 -75.63, 65.78 -5.332 -75.79, +65.9 -5.329 -75.74, 65.88 -4.153 -76.18, 65.75 -4.157 -76.24, +65.92 -11.8 -75.44, 66.09 -10.72 -75.41, 66.08 -9.648 -75.51, +65.78 -8.558 -75.54, 65.89 -7.484 -75.61, 66.09 -6.413 -75.66, +65.95 -5.333 -75.8, 65.95 -4.157 -76.25, 65.92 -3.824 -76.69, +65.79 -3.828 -76.75, 65.98 -3.829 -76.76, 65.91 -3.913 -77.54, +65.78 -3.917 -77.6, 65.97 -3.917 -77.61, 65.94 -3.649 -78.17, +65.81 -3.653 -78.23, 66 -3.653 -78.24, 65.89 -3.906 -79.17, +65.86 -3.907 -79.19, 65.91 -3.908 -79.19, 65.74 -11.8 -75.42, +65.87 -11.8 -75.36, 66.02 -10.72 -75.4, 66.08 -10.72 -75.37, +65.86 -9.647 -75.52, 66 -9.643 -75.46, 65.68 -8.558 -75.54, +65.74 -8.556 -75.51, 65.71 -7.483 -75.58, 65.85 -7.479 -75.52, +65.99 -6.412 -75.66, 66.05 -6.41 -75.63, 65.76 -5.332 -75.81, +65.88 -5.329 -75.76, 65.89 -4.153 -76.18, 65.76 -4.157 -76.23, +65.94 -11.8 -75.43, 66.1 -10.72 -75.4, 66.06 -9.648 -75.53, +65.77 -8.558 -75.55, 65.91 -7.484 -75.59, 66.09 -6.413 -75.66, +65.93 -5.333 -75.82, 65.96 -4.157 -76.24, 65.93 -3.824 -76.68, +65.8 -3.828 -76.73, 66 -3.829 -76.74, 65.92 -3.913 -77.53, +65.79 -3.917 -77.58, 65.98 -3.917 -77.59, 65.96 -3.649 -78.15, +65.83 -3.653 -78.21, 66.02 -3.653 -78.22, 65.91 -3.906 -79.16, +65.87 -3.907 -79.17, 65.93 -3.908 -79.18, 65.75 -11.8 -75.4, +65.89 -11.8 -75.34, 66.03 -10.72 -75.39, 66.09 -10.72 -75.37, +65.84 -9.647 -75.54, 65.98 -9.643 -75.48, 65.68 -8.558 -75.54, +65.74 -8.556 -75.52, 65.73 -7.483 -75.56, 65.86 -7.479 -75.5, +65.98 -6.412 -75.66, 66.05 -6.41 -75.63, 65.74 -5.332 -75.82, +65.86 -5.329 -75.77, 65.91 -4.153 -76.16, 65.78 -4.157 -76.22, +65.95 -11.8 -75.42, 66.11 -10.72 -75.4, 66.04 -9.648 -75.55, +65.77 -8.558 -75.55, 65.93 -7.484 -75.57, 66.08 -6.413 -75.67, +65.92 -5.333 -75.83, 65.97 -4.157 -76.23, 65.95 -3.824 -76.66, +65.82 -3.828 -76.72, 66.01 -3.829 -76.73, 65.94 -3.913 -77.51, +65.81 -3.917 -77.57, 66 -3.917 -77.58, 65.98 -3.649 -78.13, +65.85 -3.653 -78.19, 66.04 -3.653 -78.2, 65.93 -3.906 -79.14, +65.89 -3.907 -79.16, 65.94 -3.908 -79.16, 65.77 -11.8 -75.39, +65.91 -11.8 -75.33, 66.03 -10.72 -75.39, 66.09 -10.72 -75.36, +65.82 -9.647 -75.55, 65.96 -9.643 -75.5, 65.68 -8.558 -75.54, +65.75 -8.556 -75.51, 65.75 -7.483 -75.54, 65.88 -7.479 -75.48, +65.97 -6.412 -75.67, 66.04 -6.41 -75.64, 65.72 -5.332 -75.84, +65.84 -5.329 -75.79, 65.92 -4.153 -76.15, 65.79 -4.157 -76.2, +65.97 -11.8 -75.4, 66.12 -10.72 -75.39, 66.02 -9.648 -75.56, +65.78 -8.558 -75.55, 65.95 -7.484 -75.55, 66.07 -6.413 -75.67, +65.9 -5.333 -75.85, 65.99 -4.157 -76.21, 65.97 -3.824 -76.64, +65.84 -3.828 -76.7, 66.03 -3.829 -76.71, 65.96 -3.913 -77.49, +65.83 -3.917 -77.55, 66.02 -3.917 -77.56, 66 -3.649 -78.12, +65.87 -3.653 -78.17, 66.06 -3.653 -78.18, 65.95 -3.906 -79.12, +65.91 -3.907 -79.14, 65.96 -3.908 -79.14, 65.79 -11.8 -75.37, +65.93 -11.8 -75.31, 66.03 -10.72 -75.39, 66.09 -10.72 -75.36, +65.8 -9.647 -75.57, 65.94 -9.643 -75.51, 65.69 -8.558 -75.53, +65.75 -8.556 -75.51, 65.76 -7.483 -75.52, 65.9 -7.479 -75.46, +65.96 -6.412 -75.68, 66.03 -6.41 -75.65, 65.71 -5.332 -75.85, +65.83 -5.329 -75.8, 65.94 -4.153 -76.13, 65.81 -4.157 -76.19, +65.99 -11.8 -75.38, 66.12 -10.72 -75.39, 66 -9.648 -75.58, +65.78 -8.558 -75.54, 65.97 -7.484 -75.54, 66.06 -6.413 -75.69, +65.89 -5.333 -75.86, 66 -4.157 -76.2, 65.99 -3.824 -76.62, +65.86 -3.828 -76.68, 66.05 -3.829 -76.69, 65.98 -3.913 -77.47, +65.85 -3.917 -77.53, 66.04 -3.917 -77.54, 66.01 -3.649 -78.1, +65.88 -3.653 -78.15, 66.08 -3.653 -78.17, 65.96 -3.906 -79.11, +65.93 -3.907 -79.12, 65.98 -3.908 -79.12, 65.81 -11.8 -75.35, +65.95 -11.8 -75.29, 66.03 -10.72 -75.39, 66.09 -10.72 -75.37, +65.78 -9.647 -75.59, 65.92 -9.643 -75.53, 65.7 -8.558 -75.52, +65.76 -8.556 -75.5, 65.78 -7.483 -75.51, 65.92 -7.479 -75.45, +65.95 -6.412 -75.69, 66.01 -6.41 -75.67, 65.7 -5.332 -75.86, +65.82 -5.329 -75.81, 65.96 -4.153 -76.11, 65.83 -4.157 -76.17, +66.01 -11.8 -75.36, 66.11 -10.72 -75.4, 65.99 -9.648 -75.6, +65.79 -8.558 -75.53, 65.98 -7.484 -75.52, 66.05 -6.413 -75.7, +65.88 -5.333 -75.87, 66.02 -4.157 -76.18, 66.01 -3.824 -76.61, +65.88 -3.828 -76.66, 66.07 -3.829 -76.67, 66 -3.913 -77.46, +65.87 -3.917 -77.51, 66.06 -3.917 -77.52, 66.03 -3.649 -78.08, +65.9 -3.653 -78.14, 66.09 -3.653 -78.15, 65.98 -3.906 -79.09, +65.95 -3.907 -79.1, 66 -3.908 -79.11, 65.83 -11.8 -75.33, +65.96 -11.8 -75.27, 66.02 -10.72 -75.4, 66.08 -10.72 -75.37, +65.77 -9.647 -75.6, 65.9 -9.643 -75.55, 65.71 -8.558 -75.51, +65.78 -8.556 -75.48, 65.79 -7.483 -75.5, 65.93 -7.479 -75.44, +65.93 -6.412 -75.71, 66 -6.41 -75.68, 65.69 -5.332 -75.87, +65.81 -5.329 -75.81, 65.98 -4.153 -76.09, 65.85 -4.157 -76.15, +66.03 -11.8 -75.34, 66.11 -10.72 -75.4, 65.97 -9.648 -75.62, +65.81 -8.558 -75.52, 65.99 -7.484 -75.51, 66.03 -6.413 -75.72, +65.87 -5.333 -75.88, 66.04 -4.157 -76.16, 66.03 -3.824 -76.59, +65.9 -3.828 -76.65, 66.09 -3.829 -76.66, 66.01 -3.913 -77.44, +65.88 -3.917 -77.49, 66.08 -3.917 -77.51, 66.04 -3.649 -78.07, +65.91 -3.653 -78.13, 66.11 -3.653 -78.14, 66 -3.906 -79.07, +65.97 -3.907 -79.09, 66.02 -3.908 -79.09, 65.85 -11.8 -75.32, +65.98 -11.8 -75.26, 66.01 -10.72 -75.41, 66.07 -10.72 -75.38, +65.75 -9.647 -75.62, 65.89 -9.643 -75.56, 65.73 -8.558 -75.5, +65.79 -8.556 -75.47, 65.8 -7.483 -75.49, 65.93 -7.479 -75.43, +65.91 -6.412 -75.73, 65.98 -6.41 -75.7, 65.69 -5.332 -75.87, +65.81 -5.329 -75.82, 66 -4.153 -76.08, 65.87 -4.157 -76.13, +66.05 -11.8 -75.33, 66.09 -10.72 -75.41, 65.96 -9.648 -75.63, +65.82 -8.558 -75.5, 66 -7.484 -75.5, 66.01 -6.413 -75.73, +65.87 -5.333 -75.88, 66.06 -4.157 -76.14, 66.04 -3.824 -76.58, +65.91 -3.828 -76.63, 66.1 -3.829 -76.64, 66.03 -3.913 -77.42, +65.9 -3.917 -77.48, 66.09 -3.917 -77.49, 66.05 -3.649 -78.06, +65.92 -3.653 -78.12, 66.12 -3.653 -78.13, 66.02 -3.906 -79.06, +65.98 -3.907 -79.07, 66.03 -3.908 -79.07, 65.86 -11.8 -75.3, +66 -11.8 -75.24, 65.99 -10.72 -75.42, 66.05 -10.72 -75.4, +65.74 -9.647 -75.63, 65.88 -9.643 -75.57, 65.75 -8.558 -75.48, +65.81 -8.556 -75.45, 65.8 -7.483 -75.49, 65.94 -7.479 -75.43, +65.89 -6.412 -75.75, 65.96 -6.41 -75.72, 65.69 -5.332 -75.87, +65.81 -5.329 -75.81, 66.02 -4.153 -76.06, 65.89 -4.157 -76.12, +66.06 -11.8 -75.31, 66.08 -10.72 -75.43, 65.95 -9.648 -75.64, +65.84 -8.558 -75.49, 66 -7.484 -75.5, 65.99 -6.413 -75.75, +65.87 -5.333 -75.88, 66.08 -4.157 -76.13, 66.05 -3.824 -76.57, +65.92 -3.828 -76.62, 66.11 -3.829 -76.63, 66.04 -3.913 -77.41, +65.91 -3.917 -77.47, 66.11 -3.917 -77.48, 66.06 -3.649 -78.06, +65.93 -3.653 -78.11, 66.12 -3.653 -78.12, 66.03 -3.906 -79.04, +66 -3.907 -79.06, 66.05 -3.908 -79.06, 65.87 -11.8 -75.29, +66.01 -11.8 -75.23, 65.98 -10.72 -75.44, 66.03 -10.72 -75.41, +65.74 -9.647 -75.63, 65.87 -9.643 -75.57, 65.77 -8.558 -75.46, +65.83 -8.556 -75.43, 65.8 -7.483 -75.49, 65.94 -7.479 -75.43, +65.87 -6.412 -75.76, 65.94 -6.41 -75.74, 65.7 -5.332 -75.86, +65.82 -5.329 -75.81, 66.03 -4.153 -76.05, 65.9 -4.157 -76.1, +66.08 -11.8 -75.3, 66.06 -10.72 -75.44, 65.94 -9.648 -75.64, +65.86 -8.558 -75.47, 66.01 -7.484 -75.5, 65.97 -6.413 -75.77, +65.88 -5.333 -75.87, 66.1 -4.157 -76.11, 66.06 -3.824 -76.56, +65.93 -3.828 -76.62, 66.12 -3.829 -76.63, 66.05 -3.913 -77.4, +65.92 -3.917 -77.46, 66.12 -3.917 -77.47, 66.06 -3.649 -78.05, +65.93 -3.653 -78.11, 66.13 -3.653 -78.12, 66.04 -3.906 -79.03, +66.01 -3.907 -79.05, 66.06 -3.908 -79.05, 65.88 -11.8 -75.28, +66.02 -11.8 -75.22, 65.96 -10.72 -75.46, 66.02 -10.72 -75.43, +65.73 -9.647 -75.64, 65.87 -9.643 -75.58, 65.79 -8.558 -75.44, +65.85 -8.556 -75.42, 65.8 -7.483 -75.49, 65.94 -7.479 -75.43, +65.85 -6.412 -75.78, 65.92 -6.41 -75.75, 65.71 -5.332 -75.85, +65.83 -5.329 -75.8, 66.05 -4.153 -76.03, 65.92 -4.157 -76.09, +66.08 -11.8 -75.29, 66.04 -10.72 -75.46, 65.94 -9.648 -75.65, +65.88 -8.558 -75.45, 66 -7.484 -75.5, 65.95 -6.413 -75.79, +65.89 -5.333 -75.86, 66.11 -4.157 -76.1, 66.06 -3.824 -76.56, +65.93 -3.828 -76.61, 66.13 -3.829 -76.62, 66.06 -3.913 -77.4, +65.93 -3.917 -77.45, 66.12 -3.917 -77.46, 66.06 -3.649 -78.06, +65.93 -3.653 -78.11, 66.12 -3.653 -78.12, 66.05 -3.906 -79.03, +66.01 -3.907 -79.04, 66.06 -3.908 -79.05, 65.89 -11.8 -75.28, +66.02 -11.8 -75.22, 65.94 -10.72 -75.47, 66 -10.72 -75.45, +65.73 -9.647 -75.63, 65.87 -9.643 -75.58, 65.8 -8.558 -75.43, +65.87 -8.556 -75.4, 65.79 -7.483 -75.5, 65.93 -7.479 -75.44, +65.84 -6.412 -75.8, 65.9 -6.41 -75.77, 65.72 -5.332 -75.84, +65.84 -5.329 -75.79, 66.05 -4.153 -76.03, 65.92 -4.157 -76.08, +66.09 -11.8 -75.29, 66.02 -10.72 -75.48, 65.94 -9.648 -75.65, +65.9 -8.558 -75.43, 65.99 -7.484 -75.51, 65.94 -6.413 -75.8, +65.9 -5.333 -75.85, 66.12 -4.157 -76.09, 66.06 -3.824 -76.56, +65.93 -3.828 -76.61, 66.13 -3.829 -76.62, 66.06 -3.913 -77.39, +65.93 -3.917 -77.45, 66.13 -3.917 -77.46, 66.06 -3.649 -78.06, +65.93 -3.653 -78.12, 66.12 -3.653 -78.13, 66.05 -3.906 -79.03, +66.01 -3.907 -79.04, 66.07 -3.908 -79.04, 65.89 -11.8 -75.28, +66.02 -11.8 -75.22, 65.92 -10.72 -75.49, 65.98 -10.72 -75.47, +65.74 -9.647 -75.63, 65.88 -9.643 -75.57, 65.82 -8.558 -75.41, +65.89 -8.556 -75.38, 65.78 -7.483 -75.51, 65.92 -7.479 -75.45, +65.82 -6.412 -75.81, 65.89 -6.41 -75.78, 65.74 -5.332 -75.83, +65.86 -5.329 -75.77, 66.06 -4.153 -76.02, 65.93 -4.157 -76.08, +66.09 -11.8 -75.29, 66 -10.72 -75.5, 65.94 -9.648 -75.64, +65.92 -8.558 -75.42, 65.98 -7.484 -75.52, 65.92 -6.413 -75.81, +65.92 -5.333 -75.84, 66.12 -4.157 -76.09, 66.06 -3.824 -76.56, +65.93 -3.828 -76.62, 66.12 -3.829 -76.63, 66.06 -3.913 -77.4, +65.93 -3.917 -77.45, 66.12 -3.917 -77.46, 66.05 -3.649 -78.07, +65.92 -3.653 -78.13, 66.11 -3.653 -78.14, 66.05 -3.906 -79.03, +66.01 -3.907 -79.04, 66.06 -3.908 -79.05, 65.89 -11.8 -75.28, +66.02 -11.8 -75.22, 65.9 -10.72 -75.51, 65.96 -10.72 -75.49, +65.75 -9.647 -75.62, 65.89 -9.643 -75.56, 65.84 -8.558 -75.4, +65.9 -8.556 -75.37, 65.77 -7.483 -75.52, 65.9 -7.479 -75.46, +65.81 -6.412 -75.82, 65.88 -6.41 -75.79, 65.76 -5.332 -75.81, +65.88 -5.329 -75.76, 66.06 -4.153 -76.02, 65.93 -4.157 -76.07, +66.09 -11.8 -75.29, 65.99 -10.72 -75.51, 65.95 -9.648 -75.63, +65.93 -8.558 -75.4, 65.97 -7.484 -75.53, 65.91 -6.413 -75.82, +65.93 -5.333 -75.82, 66.13 -4.157 -76.08, 66.05 -3.824 -76.57, +65.92 -3.828 -76.62, 66.11 -3.829 -76.64, 66.06 -3.913 -77.4, +65.93 -3.917 -77.46, 66.12 -3.917 -77.47, 66.03 -3.649 -78.08, +65.9 -3.653 -78.14, 66.1 -3.653 -78.15, 66.04 -3.906 -79.03, +66.01 -3.907 -79.05, 66.06 -3.908 -79.05, 65.88 -11.8 -75.29, +66.01 -11.8 -75.23, 65.88 -10.72 -75.53, 65.94 -10.72 -75.5, +65.76 -9.647 -75.61, 65.9 -9.643 -75.55, 65.85 -8.558 -75.38, +65.91 -8.556 -75.36, 65.75 -7.483 -75.54, 65.88 -7.479 -75.48, +65.8 -6.412 -75.83, 65.87 -6.41 -75.8, 65.78 -5.332 -75.79, +65.9 -5.329 -75.74, 66.06 -4.153 -76.02, 65.93 -4.157 -76.08, +66.08 -11.8 -75.3, 65.97 -10.72 -75.53, 65.96 -9.648 -75.62, +65.94 -8.558 -75.39, 65.95 -7.484 -75.55, 65.9 -6.413 -75.83, +65.95 -5.333 -75.8, 66.12 -4.157 -76.09, 66.04 -3.824 -76.58, +65.91 -3.828 -76.64, 66.1 -3.829 -76.65, 66.05 -3.913 -77.41, +65.92 -3.917 -77.46, 66.11 -3.917 -77.48, 66.02 -3.649 -78.1, +65.89 -3.653 -78.15, 66.08 -3.653 -78.16, 66.03 -3.906 -79.04, +66 -3.907 -79.06, 66.05 -3.908 -79.06, 65.87 -11.8 -75.3, +66 -11.8 -75.24, 65.87 -10.72 -75.54, 65.93 -10.72 -75.51, +65.78 -9.647 -75.6, 65.91 -9.643 -75.54, 65.86 -8.558 -75.38, +65.92 -8.556 -75.35, 65.73 -7.483 -75.56, 65.87 -7.479 -75.5, +65.8 -6.412 -75.83, 65.87 -6.41 -75.8, 65.8 -5.332 -75.77, +65.92 -5.329 -75.72, 66.05 -4.153 -76.03, 65.92 -4.157 -76.08, +66.07 -11.8 -75.31, 65.95 -10.72 -75.54, 65.98 -9.648 -75.61, +65.95 -8.558 -75.38, 65.93 -7.484 -75.57, 65.9 -6.413 -75.83, +65.97 -5.333 -75.78, 66.12 -4.157 -76.09, 66.02 -3.824 -76.59, +65.89 -3.828 -76.65, 66.09 -3.829 -76.66, 66.03 -3.913 -77.42, +65.9 -3.917 -77.48, 66.1 -3.917 -77.49, 66 -3.649 -78.11, +65.87 -3.653 -78.17, 66.06 -3.653 -78.18, 66.02 -3.906 -79.05, +65.98 -3.907 -79.07, 66.04 -3.908 -79.07, 65.85 -11.8 -75.31, +65.99 -11.8 -75.25, 65.86 -10.72 -75.55, 65.92 -10.72 -75.53, +65.79 -9.647 -75.58, 65.93 -9.643 -75.52, 65.86 -8.558 -75.37, +65.93 -8.556 -75.34, 65.71 -7.483 -75.57, 65.85 -7.479 -75.51, +65.8 -6.412 -75.83, 65.87 -6.41 -75.8, 65.81 -5.332 -75.75, +65.93 -5.329 -75.7, 66.04 -4.153 -76.04, 65.91 -4.157 -76.09, +66.06 -11.8 -75.32, 65.94 -10.72 -75.55, 66 -9.648 -75.59, +65.96 -8.558 -75.38, 65.91 -7.484 -75.58, 65.9 -6.413 -75.83, +65.99 -5.333 -75.76, 66.11 -4.157 -76.1, 66.01 -3.824 -76.61, +65.88 -3.828 -76.67, 66.07 -3.829 -76.68, 66.02 -3.913 -77.44, +65.89 -3.917 -77.49, 66.08 -3.917 -77.5, 65.98 -3.649 -78.13, +65.85 -3.653 -78.19, 66.04 -3.653 -78.2, 66 -3.906 -79.07, +65.97 -3.907 -79.08, 66.02 -3.908 -79.09, 65.84 -11.8 -75.32, +65.97 -11.8 -75.27, 65.85 -10.72 -75.56, 65.91 -10.72 -75.53, +65.81 -9.647 -75.56, 65.95 -9.643 -75.5, 65.87 -8.558 -75.37, +65.93 -8.556 -75.34, 65.69 -7.483 -75.59, 65.83 -7.479 -75.53, +65.81 -6.412 -75.82, 65.87 -6.41 -75.8, 65.83 -5.332 -75.74, +65.95 -5.329 -75.69, 66.03 -4.153 -76.05, 65.9 -4.157 -76.1, +66.04 -11.8 -75.34, 65.94 -10.72 -75.56, 66.01 -9.648 -75.57, +65.96 -8.558 -75.37, 65.89 -7.484 -75.6, 65.91 -6.413 -75.83, +66.01 -5.333 -75.75, 66.09 -4.157 -76.11, 65.99 -3.824 -76.63, +65.86 -3.828 -76.68, 66.05 -3.829 -76.69, 66 -3.913 -77.45, +65.87 -3.917 -77.51, 66.06 -3.917 -77.52, 65.96 -3.649 -78.15, +65.83 -3.653 -78.2, 66.02 -3.653 -78.21, 65.99 -3.906 -79.09, +65.95 -3.907 -79.1, 66 -3.908 -79.1, 65.82 -11.8 -75.34, +65.96 -11.8 -75.28, 65.85 -10.72 -75.56, 65.9 -10.72 -75.54, +65.83 -9.647 -75.54, 65.97 -9.643 -75.48, 65.86 -8.558 -75.37, +65.93 -8.556 -75.34, 65.67 -7.483 -75.61, 65.81 -7.479 -75.55, +65.82 -6.412 -75.82, 65.88 -6.41 -75.79, 65.85 -5.332 -75.72, +65.97 -5.329 -75.67, 66.01 -4.153 -76.06, 65.89 -4.157 -76.12, +66.02 -11.8 -75.35, 65.93 -10.72 -75.57, 66.03 -9.648 -75.55, +65.96 -8.558 -75.38, 65.88 -7.484 -75.62, 65.91 -6.413 -75.82, +66.03 -5.333 -75.73, 66.08 -4.157 -76.13, 65.97 -3.824 -76.65, +65.84 -3.828 -76.7, 66.03 -3.829 -76.71, 65.98 -3.913 -77.47, +65.85 -3.917 -77.53, 66.04 -3.917 -77.54, 65.94 -3.649 -78.17, +65.81 -3.653 -78.22, 66.01 -3.653 -78.23, 65.97 -3.906 -79.1, +65.93 -3.907 -79.12, 65.98 -3.908 -79.12, ] +} +] +}, +DEF Plane30 Transform { +translation -66.04 5.921 75.48 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane30-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane30-COORD Coordinate { +point [ 65.79 -11.8 -75.18 65.89 -11.8 -75.29 65.61 -10.72 -75.46 65.65 -10.72 +-75.51 65.6 -9.647 -75.29 65.7 -9.643 -75.4 65.76 -8.558 -75.13 65.8 -8.556 +-75.18 65.5 -7.483 -75.23 65.6 -7.479 -75.34 65.36 -6.412 -75.5 65.41 -6.41 +-75.55 65.43 -5.332 -75.28 65.52 -5.329 -75.37 65.17 -4.153 -75.57 65.07 -4.157 +-75.47 65.84 -11.8 -75.38 65.64 -10.72 -75.55 65.66 -9.648 -75.49 65.78 -8.558 +-75.22 65.55 -7.484 -75.42 65.39 -6.413 -75.59 65.48 -5.333 -75.45 65.13 -4.157 +-75.66 64.61 -3.824 -75.8 64.52 -3.828 -75.69 64.57 -3.829 -75.88 63.83 -3.913 +-76.07 63.74 -3.917 -75.96 63.79 -3.917 -76.15 63.17 -3.649 -76.32 63.08 -3.653 +-76.22 63.13 -3.653 -76.4 62.29 -3.906 -76.6 62.27 -3.907 -76.57 62.28 -3.908 +-76.62 ] +} +texCoord DEF Plane30-TEXCOORD +TextureCoordinate { point [ 0 0 1 0 0 1 1 1 ] } coordIndex [ 2 0 3 -1 1 3 0 +-1 4 2 5 -1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 10 8 11 -1 9 11 8 +-1 12 10 13 -1 11 13 10 -1 14 15 12 -1 12 13 14 -1 3 1 17 -1 16 17 1 -1 5 3 +18 -1 17 18 3 -1 7 5 19 -1 18 19 5 -1 9 7 20 -1 19 20 7 -1 11 9 21 -1 20 21 +9 -1 13 11 22 -1 21 22 11 -1 23 14 13 -1 13 22 23 -1 24 25 15 -1 15 14 24 +-1 26 24 14 -1 14 23 26 -1 27 28 25 -1 25 24 27 -1 29 27 24 -1 24 26 29 -1 30 +31 28 -1 28 27 30 -1 32 30 27 -1 27 29 32 -1 33 34 31 -1 31 30 33 -1 35 33 30 +-1 30 32 35 -1 ] texCoordIndex +[ 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 +0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 3 2 0 -1 0 1 3 -1 2 0 3 -1 1 3 0 -1 2 0 3 +-1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 +3 0 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 +-1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 +2 0 -1 0 1 3 -1 ] +} +} +DEF Plane30-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, +0.2667, 0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, +0.5333, 0.5667, 0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, +0.8, 0.8333, 0.8667, 0.9, 0.9333, 0.9667, 1, ] +keyValue [65.79 -11.8 -75.18, +65.89 -11.8 -75.29, 65.61 -10.72 -75.46, 65.65 -10.72 -75.51, +65.6 -9.647 -75.29, 65.7 -9.643 -75.4, 65.76 -8.558 -75.13, +65.8 -8.556 -75.18, 65.5 -7.483 -75.23, 65.6 -7.479 -75.34, +65.36 -6.412 -75.5, 65.41 -6.41 -75.55, 65.43 -5.332 -75.28, +65.52 -5.329 -75.37, 65.17 -4.153 -75.57, 65.07 -4.157 -75.47, +65.84 -11.8 -75.38, 65.64 -10.72 -75.55, 65.66 -9.648 -75.49, +65.78 -8.558 -75.22, 65.55 -7.484 -75.42, 65.39 -6.413 -75.59, +65.48 -5.333 -75.45, 65.13 -4.157 -75.66, 64.61 -3.824 -75.8, +64.52 -3.828 -75.69, 64.57 -3.829 -75.88, 63.83 -3.913 -76.07, +63.74 -3.917 -75.96, 63.79 -3.917 -76.15, 63.17 -3.649 -76.32, +63.08 -3.653 -76.22, 63.13 -3.653 -76.4, 62.29 -3.906 -76.6, +62.27 -3.907 -76.57, 62.28 -3.908 -76.62, 65.77 -11.8 -75.2, +65.87 -11.8 -75.31, 65.61 -10.72 -75.46, 65.65 -10.72 -75.51, +65.62 -9.647 -75.27, 65.72 -9.643 -75.38, 65.75 -8.558 -75.14, +65.8 -8.556 -75.19, 65.48 -7.483 -75.25, 65.58 -7.479 -75.35, +65.37 -6.412 -75.49, 65.42 -6.41 -75.54, 65.44 -5.332 -75.27, +65.53 -5.329 -75.36, 65.15 -4.153 -75.59, 65.05 -4.157 -75.49, +65.82 -11.8 -75.39, 65.64 -10.72 -75.55, 65.68 -9.648 -75.47, +65.78 -8.558 -75.23, 65.54 -7.484 -75.44, 65.4 -6.413 -75.58, +65.49 -5.333 -75.44, 65.11 -4.157 -75.67, 64.59 -3.824 -75.82, +64.5 -3.828 -75.71, 64.55 -3.829 -75.9, 63.82 -3.913 -76.08, +63.72 -3.917 -75.98, 63.78 -3.917 -76.16, 63.16 -3.649 -76.34, +63.06 -3.653 -76.24, 63.11 -3.653 -76.42, 62.27 -3.906 -76.62, +62.25 -3.907 -76.59, 62.26 -3.908 -76.64, 65.75 -11.8 -75.22, +65.85 -11.8 -75.33, 65.62 -10.72 -75.46, 65.66 -10.72 -75.51, +65.64 -9.647 -75.26, 65.74 -9.643 -75.37, 65.74 -8.558 -75.15, +65.79 -8.556 -75.2, 65.47 -7.483 -75.26, 65.57 -7.479 -75.37, +65.39 -6.412 -75.47, 65.43 -6.41 -75.53, 65.45 -5.332 -75.26, +65.54 -5.329 -75.35, 65.13 -4.153 -75.61, 65.03 -4.157 -75.5, +65.8 -11.8 -75.41, 65.64 -10.72 -75.54, 65.7 -9.648 -75.45, +65.77 -8.558 -75.24, 65.52 -7.484 -75.45, 65.41 -6.413 -75.57, +65.5 -5.333 -75.43, 65.09 -4.157 -75.69, 64.57 -3.824 -75.83, +64.48 -3.828 -75.73, 64.53 -3.829 -75.91, 63.8 -3.913 -76.1, +63.7 -3.917 -76, 63.76 -3.917 -76.18, 63.14 -3.649 -76.35, +63.04 -3.653 -76.25, 63.1 -3.653 -76.44, 62.25 -3.906 -76.63, +62.23 -3.907 -76.61, 62.24 -3.908 -76.66, 65.73 -11.8 -75.24, +65.83 -11.8 -75.35, 65.62 -10.72 -75.45, 65.67 -10.72 -75.5, +65.66 -9.647 -75.24, 65.76 -9.643 -75.35, 65.73 -8.558 -75.16, +65.77 -8.556 -75.21, 65.45 -7.483 -75.27, 65.55 -7.479 -75.38, +65.4 -6.412 -75.46, 65.45 -6.41 -75.51, 65.46 -5.332 -75.25, +65.54 -5.329 -75.35, 65.11 -4.153 -75.63, 65.01 -4.157 -75.52, +65.78 -11.8 -75.43, 65.65 -10.72 -75.54, 65.71 -9.648 -75.44, +65.75 -8.558 -75.25, 65.51 -7.484 -75.46, 65.43 -6.413 -75.55, +65.51 -5.333 -75.42, 65.07 -4.157 -75.71, 64.56 -3.824 -75.85, +64.46 -3.828 -75.75, 64.52 -3.829 -75.93, 63.78 -3.913 -76.12, +63.68 -3.917 -76.01, 63.74 -3.917 -76.2, 63.13 -3.649 -76.37, +63.03 -3.653 -76.26, 63.09 -3.653 -76.45, 62.23 -3.906 -76.65, +62.21 -3.907 -76.62, 62.22 -3.908 -76.67, 65.71 -11.8 -75.25, +65.81 -11.8 -75.36, 65.63 -10.72 -75.44, 65.68 -10.72 -75.49, +65.67 -9.647 -75.23, 65.77 -9.643 -75.34, 65.71 -8.558 -75.17, +65.76 -8.556 -75.22, 65.45 -7.483 -75.28, 65.55 -7.479 -75.39, +65.42 -6.412 -75.44, 65.47 -6.41 -75.49, 65.46 -5.332 -75.25, +65.55 -5.329 -75.34, 65.09 -4.153 -75.64, 65 -4.157 -75.54, +65.77 -11.8 -75.45, 65.66 -10.72 -75.52, 65.73 -9.648 -75.42, +65.74 -8.558 -75.26, 65.5 -7.484 -75.47, 65.45 -6.413 -75.54, +65.51 -5.333 -75.42, 65.05 -4.157 -75.73, 64.54 -3.824 -75.86, +64.45 -3.828 -75.76, 64.5 -3.829 -75.94, 63.76 -3.913 -76.13, +63.67 -3.917 -76.03, 63.72 -3.917 -76.21, 63.12 -3.649 -76.38, +63.02 -3.653 -76.27, 63.08 -3.653 -76.46, 62.22 -3.906 -76.67, +62.19 -3.907 -76.64, 62.21 -3.908 -76.69, 65.69 -11.8 -75.27, +65.8 -11.8 -75.38, 65.65 -10.72 -75.43, 65.69 -10.72 -75.47, +65.68 -9.647 -75.22, 65.78 -9.643 -75.33, 65.69 -8.558 -75.19, +65.74 -8.556 -75.24, 65.44 -7.483 -75.28, 65.54 -7.479 -75.39, +65.44 -6.412 -75.42, 65.49 -6.41 -75.48, 65.46 -5.332 -75.25, +65.54 -5.329 -75.35, 65.07 -4.153 -75.66, 64.98 -4.157 -75.56, +65.75 -11.8 -75.46, 65.67 -10.72 -75.51, 65.74 -9.648 -75.41, +65.72 -8.558 -75.28, 65.5 -7.484 -75.48, 65.47 -6.413 -75.52, +65.51 -5.333 -75.42, 65.03 -4.157 -75.74, 64.53 -3.824 -75.87, +64.44 -3.828 -75.77, 64.49 -3.829 -75.95, 63.75 -3.913 -76.15, +63.65 -3.917 -76.04, 63.71 -3.917 -76.23, 63.11 -3.649 -76.38, +63.01 -3.653 -76.28, 63.07 -3.653 -76.46, 62.2 -3.906 -76.68, +62.18 -3.907 -76.65, 62.19 -3.908 -76.7, 65.68 -11.8 -75.28, +65.78 -11.8 -75.39, 65.67 -10.72 -75.41, 65.71 -10.72 -75.46, +65.69 -9.647 -75.21, 65.79 -9.643 -75.32, 65.67 -8.558 -75.21, +65.72 -8.556 -75.26, 65.44 -7.483 -75.28, 65.54 -7.479 -75.39, +65.46 -6.412 -75.4, 65.51 -6.41 -75.46, 65.45 -5.332 -75.26, +65.54 -5.329 -75.35, 65.06 -4.153 -75.68, 64.96 -4.157 -75.57, +65.74 -11.8 -75.47, 65.69 -10.72 -75.5, 65.74 -9.648 -75.41, +65.7 -8.558 -75.3, 65.5 -7.484 -75.48, 65.49 -6.413 -75.5, +65.5 -5.333 -75.43, 65.02 -4.157 -75.76, 64.52 -3.824 -75.88, +64.43 -3.828 -75.78, 64.48 -3.829 -75.96, 63.74 -3.913 -76.16, +63.64 -3.917 -76.05, 63.7 -3.917 -76.24, 63.11 -3.649 -76.38, +63.01 -3.653 -76.28, 63.07 -3.653 -76.47, 62.19 -3.906 -76.69, +62.17 -3.907 -76.66, 62.18 -3.908 -76.71, 65.67 -11.8 -75.29, +65.77 -11.8 -75.4, 65.68 -10.72 -75.4, 65.73 -10.72 -75.44, +65.69 -9.647 -75.21, 65.79 -9.643 -75.32, 65.65 -8.558 -75.23, +65.7 -8.556 -75.28, 65.44 -7.483 -75.28, 65.55 -7.479 -75.39, +65.48 -6.412 -75.39, 65.53 -6.41 -75.44, 65.44 -5.332 -75.27, +65.53 -5.329 -75.36, 65.04 -4.153 -75.69, 64.95 -4.157 -75.58, +65.73 -11.8 -75.48, 65.71 -10.72 -75.48, 65.75 -9.648 -75.4, +65.68 -8.558 -75.32, 65.5 -7.484 -75.47, 65.51 -6.413 -75.48, +65.49 -5.333 -75.44, 65 -4.157 -75.77, 64.52 -3.824 -75.88, +64.42 -3.828 -75.78, 64.48 -3.829 -75.97, 63.73 -3.913 -76.16, +63.64 -3.917 -76.06, 63.69 -3.917 -76.24, 63.11 -3.649 -76.38, +63.01 -3.653 -76.28, 63.07 -3.653 -76.46, 62.19 -3.906 -76.69, +62.16 -3.907 -76.67, 62.18 -3.908 -76.72, 65.67 -11.8 -75.29, +65.77 -11.8 -75.4, 65.7 -10.72 -75.38, 65.75 -10.72 -75.42, +65.69 -9.647 -75.21, 65.79 -9.643 -75.32, 65.63 -8.558 -75.24, +65.68 -8.556 -75.3, 65.45 -7.483 -75.27, 65.55 -7.479 -75.38, +65.49 -6.412 -75.37, 65.54 -6.41 -75.42, 65.43 -5.332 -75.28, +65.52 -5.329 -75.37, 65.03 -4.153 -75.7, 64.94 -4.157 -75.59, +65.73 -11.8 -75.49, 65.73 -10.72 -75.46, 65.75 -9.648 -75.41, +65.66 -8.558 -75.33, 65.51 -7.484 -75.47, 65.52 -6.413 -75.47, +65.48 -5.333 -75.45, 64.99 -4.157 -75.78, 64.52 -3.824 -75.88, +64.42 -3.828 -75.78, 64.48 -3.829 -75.97, 63.73 -3.913 -76.16, +63.63 -3.917 -76.06, 63.69 -3.917 -76.25, 63.12 -3.649 -76.38, +63.02 -3.653 -76.27, 63.07 -3.653 -76.46, 62.19 -3.906 -76.7, +62.16 -3.907 -76.67, 62.18 -3.908 -76.72, 65.67 -11.8 -75.29, +65.77 -11.8 -75.4, 65.72 -10.72 -75.36, 65.77 -10.72 -75.41, +65.68 -9.647 -75.22, 65.79 -9.643 -75.32, 65.62 -8.558 -75.26, +65.66 -8.556 -75.31, 65.46 -7.483 -75.26, 65.57 -7.479 -75.37, +65.51 -6.412 -75.36, 65.56 -6.41 -75.41, 65.41 -5.332 -75.29, +65.5 -5.329 -75.39, 65.03 -4.153 -75.7, 64.93 -4.157 -75.6, +65.72 -11.8 -75.49, 65.75 -10.72 -75.44, 65.74 -9.648 -75.41, +65.64 -8.558 -75.35, 65.52 -7.484 -75.46, 65.54 -6.413 -75.45, +65.46 -5.333 -75.46, 64.99 -4.157 -75.78, 64.52 -3.824 -75.88, +64.43 -3.828 -75.78, 64.48 -3.829 -75.96, 63.73 -3.913 -76.16, +63.64 -3.917 -76.06, 63.69 -3.917 -76.24, 63.12 -3.649 -76.37, +63.03 -3.653 -76.26, 63.08 -3.653 -76.45, 62.19 -3.906 -76.69, +62.16 -3.907 -76.67, 62.18 -3.908 -76.72, 65.67 -11.8 -75.29, +65.77 -11.8 -75.4, 65.74 -10.72 -75.34, 65.79 -10.72 -75.39, +65.68 -9.647 -75.22, 65.78 -9.643 -75.33, 65.6 -8.558 -75.28, +65.65 -8.556 -75.33, 65.48 -7.483 -75.25, 65.58 -7.479 -75.36, +65.52 -6.412 -75.35, 65.57 -6.41 -75.4, 65.39 -5.332 -75.31, +65.48 -5.329 -75.41, 65.03 -4.153 -75.7, 64.93 -4.157 -75.6, +65.73 -11.8 -75.48, 65.77 -10.72 -75.42, 65.73 -9.648 -75.42, +65.63 -8.558 -75.37, 65.53 -7.484 -75.44, 65.55 -6.413 -75.44, +65.44 -5.333 -75.48, 64.99 -4.157 -75.79, 64.53 -3.824 -75.87, +64.44 -3.828 -75.77, 64.49 -3.829 -75.95, 63.74 -3.913 -76.16, +63.64 -3.917 -76.05, 63.7 -3.917 -76.24, 63.14 -3.649 -76.36, +63.04 -3.653 -76.25, 63.1 -3.653 -76.44, 62.19 -3.906 -76.69, +62.17 -3.907 -76.66, 62.18 -3.908 -76.71, 65.68 -11.8 -75.28, +65.78 -11.8 -75.39, 65.76 -10.72 -75.33, 65.8 -10.72 -75.37, +65.66 -9.647 -75.24, 65.76 -9.643 -75.34, 65.59 -8.558 -75.29, +65.64 -8.556 -75.34, 65.49 -7.483 -75.23, 65.6 -7.479 -75.34, +65.53 -6.412 -75.34, 65.58 -6.41 -75.39, 65.37 -5.332 -75.33, +65.46 -5.329 -75.42, 65.03 -4.153 -75.7, 64.93 -4.157 -75.6, +65.73 -11.8 -75.48, 65.78 -10.72 -75.41, 65.72 -9.648 -75.43, +65.62 -8.558 -75.38, 65.55 -7.484 -75.43, 65.56 -6.413 -75.44, +65.42 -5.333 -75.5, 64.99 -4.157 -75.78, 64.54 -3.824 -75.86, +64.45 -3.828 -75.76, 64.5 -3.829 -75.94, 63.75 -3.913 -76.15, +63.65 -3.917 -76.04, 63.71 -3.917 -76.23, 63.15 -3.649 -76.34, +63.06 -3.653 -76.24, 63.11 -3.653 -76.42, 62.2 -3.906 -76.68, +62.18 -3.907 -76.65, 62.19 -3.908 -76.7, 65.69 -11.8 -75.27, +65.79 -11.8 -75.38, 65.77 -10.72 -75.31, 65.82 -10.72 -75.36, +65.65 -9.647 -75.25, 65.75 -9.643 -75.36, 65.58 -8.558 -75.3, +65.63 -8.556 -75.35, 65.51 -7.483 -75.21, 65.62 -7.479 -75.32, +65.53 -6.412 -75.34, 65.58 -6.41 -75.39, 65.35 -5.332 -75.35, +65.44 -5.329 -75.44, 65.04 -4.153 -75.7, 64.94 -4.157 -75.59, +65.74 -11.8 -75.47, 65.8 -10.72 -75.4, 65.7 -9.648 -75.44, +65.61 -8.558 -75.39, 65.57 -7.484 -75.41, 65.56 -6.413 -75.43, +65.41 -5.333 -75.52, 64.99 -4.157 -75.78, 64.56 -3.824 -75.85, +64.46 -3.828 -75.74, 64.52 -3.829 -75.93, 63.76 -3.913 -76.14, +63.66 -3.917 -76.03, 63.72 -3.917 -76.22, 63.17 -3.649 -76.32, +63.07 -3.653 -76.22, 63.13 -3.653 -76.41, 62.22 -3.906 -76.67, +62.19 -3.907 -76.64, 62.21 -3.908 -76.69, 65.7 -11.8 -75.26, +65.8 -11.8 -75.37, 65.79 -10.72 -75.3, 65.83 -10.72 -75.35, +65.63 -9.647 -75.27, 65.73 -9.643 -75.38, 65.57 -8.558 -75.3, +65.62 -8.556 -75.35, 65.53 -7.483 -75.2, 65.63 -7.479 -75.3, +65.53 -6.412 -75.34, 65.58 -6.41 -75.39, 65.34 -5.332 -75.36, +65.42 -5.329 -75.46, 65.05 -4.153 -75.69, 64.95 -4.157 -75.58, +65.76 -11.8 -75.46, 65.81 -10.72 -75.38, 65.69 -9.648 -75.46, +65.6 -8.558 -75.39, 65.59 -7.484 -75.39, 65.56 -6.413 -75.43, +65.39 -5.333 -75.53, 65 -4.157 -75.77, 64.58 -3.824 -75.83, +64.48 -3.828 -75.73, 64.53 -3.829 -75.91, 63.78 -3.913 -76.12, +63.68 -3.917 -76.02, 63.73 -3.917 -76.2, 63.19 -3.649 -76.31, +63.09 -3.653 -76.2, 63.15 -3.653 -76.39, 62.23 -3.906 -76.65, +62.21 -3.907 -76.63, 62.22 -3.908 -76.67, 65.72 -11.8 -75.25, +65.82 -11.8 -75.35, 65.79 -10.72 -75.29, 65.84 -10.72 -75.34, +65.61 -9.647 -75.28, 65.71 -9.643 -75.39, 65.57 -8.558 -75.3, +65.62 -8.556 -75.35, 65.55 -7.483 -75.18, 65.65 -7.479 -75.29, +65.53 -6.412 -75.34, 65.57 -6.41 -75.4, 65.32 -5.332 -75.38, +65.41 -5.329 -75.48, 65.06 -4.153 -75.67, 64.96 -4.157 -75.57, +65.77 -11.8 -75.44, 65.82 -10.72 -75.38, 65.67 -9.648 -75.48, +65.6 -8.558 -75.39, 65.61 -7.484 -75.37, 65.55 -6.413 -75.44, +65.37 -5.333 -75.55, 65.02 -4.157 -75.76, 64.59 -3.824 -75.81, +64.5 -3.828 -75.71, 64.55 -3.829 -75.9, 63.79 -3.913 -76.1, +63.7 -3.917 -76, 63.75 -3.917 -76.19, 63.21 -3.649 -76.29, +63.11 -3.653 -76.19, 63.17 -3.653 -76.37, 62.25 -3.906 -76.64, +62.22 -3.907 -76.61, 62.24 -3.908 -76.66, 65.74 -11.8 -75.23, +65.84 -11.8 -75.34, 65.8 -10.72 -75.29, 65.84 -10.72 -75.34, +65.59 -9.647 -75.3, 65.69 -9.643 -75.41, 65.58 -8.558 -75.3, +65.62 -8.556 -75.35, 65.57 -7.483 -75.16, 65.67 -7.479 -75.27, +65.52 -6.412 -75.35, 65.57 -6.41 -75.41, 65.3 -5.332 -75.39, +65.39 -5.329 -75.49, 65.07 -4.153 -75.66, 64.98 -4.157 -75.56, +65.79 -11.8 -75.42, 65.82 -10.72 -75.37, 65.65 -9.648 -75.5, +65.6 -8.558 -75.39, 65.63 -7.484 -75.36, 65.54 -6.413 -75.45, +65.35 -5.333 -75.56, 65.03 -4.157 -75.74, 64.61 -3.824 -75.8, +64.52 -3.828 -75.69, 64.57 -3.829 -75.88, 63.81 -3.913 -76.09, +63.72 -3.917 -75.98, 63.77 -3.917 -76.17, 63.23 -3.649 -76.27, +63.13 -3.653 -76.17, 63.19 -3.653 -76.35, 62.27 -3.906 -76.62, +62.24 -3.907 -76.59, 62.26 -3.908 -76.64, 65.75 -11.8 -75.21, +65.86 -11.8 -75.32, 65.8 -10.72 -75.29, 65.84 -10.72 -75.34, +65.57 -9.647 -75.32, 65.67 -9.643 -75.43, 65.58 -8.558 -75.29, +65.63 -8.556 -75.34, 65.59 -7.483 -75.15, 65.69 -7.479 -75.25, +65.5 -6.412 -75.36, 65.55 -6.41 -75.42, 65.29 -5.332 -75.41, +65.38 -5.329 -75.5, 65.09 -4.153 -75.64, 65 -4.157 -75.54, +65.81 -11.8 -75.41, 65.82 -10.72 -75.37, 65.63 -9.648 -75.51, +65.61 -8.558 -75.38, 65.64 -7.484 -75.34, 65.53 -6.413 -75.46, +65.34 -5.333 -75.58, 65.05 -4.157 -75.72, 64.63 -3.824 -75.78, +64.54 -3.828 -75.67, 64.59 -3.829 -75.86, 63.83 -3.913 -76.07, +63.74 -3.917 -75.97, 63.79 -3.917 -76.15, 63.25 -3.649 -76.25, +63.15 -3.653 -76.15, 63.21 -3.653 -76.34, 62.29 -3.906 -76.6, +62.26 -3.907 -76.57, 62.28 -3.908 -76.62, 65.77 -11.8 -75.19, +65.88 -11.8 -75.3, 65.79 -10.72 -75.29, 65.84 -10.72 -75.34, +65.55 -9.647 -75.34, 65.66 -9.643 -75.45, 65.59 -8.558 -75.28, +65.64 -8.556 -75.33, 65.6 -7.483 -75.13, 65.7 -7.479 -75.24, +65.49 -6.412 -75.38, 65.54 -6.41 -75.43, 65.28 -5.332 -75.42, +65.37 -5.329 -75.51, 65.11 -4.153 -75.62, 65.02 -4.157 -75.52, +65.83 -11.8 -75.39, 65.82 -10.72 -75.38, 65.61 -9.648 -75.53, +65.62 -8.558 -75.37, 65.66 -7.484 -75.33, 65.52 -6.413 -75.47, +65.33 -5.333 -75.59, 65.07 -4.157 -75.71, 64.65 -3.824 -75.76, +64.56 -3.828 -75.66, 64.61 -3.829 -75.84, 63.85 -3.913 -76.05, +63.75 -3.917 -75.95, 63.81 -3.917 -76.13, 63.26 -3.649 -76.24, +63.17 -3.653 -76.14, 63.22 -3.653 -76.32, 62.31 -3.906 -76.58, +62.28 -3.907 -76.55, 62.3 -3.908 -76.6, 65.79 -11.8 -75.17, +65.9 -11.8 -75.28, 65.79 -10.72 -75.3, 65.83 -10.72 -75.35, +65.54 -9.647 -75.35, 65.64 -9.643 -75.46, 65.61 -8.558 -75.27, +65.65 -8.556 -75.32, 65.61 -7.483 -75.12, 65.72 -7.479 -75.23, +65.47 -6.412 -75.39, 65.52 -6.41 -75.45, 65.27 -5.332 -75.42, +65.36 -5.329 -75.52, 65.13 -4.153 -75.61, 65.04 -4.157 -75.5, +65.85 -11.8 -75.37, 65.81 -10.72 -75.38, 65.6 -9.648 -75.55, +65.63 -8.558 -75.36, 65.67 -7.484 -75.31, 65.5 -6.413 -75.49, +65.32 -5.333 -75.59, 65.09 -4.157 -75.69, 64.67 -3.824 -75.74, +64.57 -3.828 -75.64, 64.63 -3.829 -75.83, 63.87 -3.913 -76.03, +63.77 -3.917 -75.93, 63.83 -3.917 -76.12, 63.28 -3.649 -76.23, +63.18 -3.653 -76.12, 63.23 -3.653 -76.31, 62.33 -3.906 -76.57, +62.3 -3.907 -76.54, 62.31 -3.908 -76.59, 65.81 -11.8 -75.16, +65.91 -11.8 -75.27, 65.77 -10.72 -75.31, 65.82 -10.72 -75.36, +65.52 -9.647 -75.36, 65.63 -9.643 -75.47, 65.62 -8.558 -75.26, +65.67 -8.556 -75.31, 65.62 -7.483 -75.11, 65.72 -7.479 -75.22, +65.45 -6.412 -75.41, 65.5 -6.41 -75.46, 65.27 -5.332 -75.42, +65.36 -5.329 -75.52, 65.15 -4.153 -75.59, 65.05 -4.157 -75.49, +65.87 -11.8 -75.35, 65.8 -10.72 -75.39, 65.58 -9.648 -75.56, +65.65 -8.558 -75.35, 65.68 -7.484 -75.31, 65.48 -6.413 -75.51, +65.32 -5.333 -75.59, 65.11 -4.157 -75.67, 64.68 -3.824 -75.73, +64.59 -3.828 -75.63, 64.64 -3.829 -75.81, 63.88 -3.913 -76.02, +63.79 -3.917 -75.92, 63.84 -3.917 -76.1, 63.29 -3.649 -76.22, +63.19 -3.653 -76.11, 63.24 -3.653 -76.3, 62.34 -3.906 -76.55, +62.32 -3.907 -76.52, 62.33 -3.908 -76.57, 65.83 -11.8 -75.14, +65.93 -11.8 -75.25, 65.76 -10.72 -75.33, 65.8 -10.72 -75.37, +65.51 -9.647 -75.37, 65.61 -9.643 -75.48, 65.64 -8.558 -75.24, +65.69 -8.556 -75.29, 65.63 -7.483 -75.11, 65.73 -7.479 -75.22, +65.43 -6.412 -75.43, 65.48 -6.41 -75.48, 65.27 -5.332 -75.42, +65.36 -5.329 -75.52, 65.17 -4.153 -75.57, 65.07 -4.157 -75.47, +65.88 -11.8 -75.34, 65.78 -10.72 -75.41, 65.57 -9.648 -75.57, +65.67 -8.558 -75.33, 65.68 -7.484 -75.3, 65.46 -6.413 -75.52, +65.32 -5.333 -75.59, 65.13 -4.157 -75.65, 64.69 -3.824 -75.72, +64.6 -3.828 -75.62, 64.65 -3.829 -75.8, 63.9 -3.913 -76.01, +63.8 -3.917 -75.9, 63.86 -3.917 -76.09, 63.29 -3.649 -76.21, +63.2 -3.653 -76.11, 63.25 -3.653 -76.29, 62.36 -3.906 -76.54, +62.33 -3.907 -76.51, 62.34 -3.908 -76.56, 65.84 -11.8 -75.13, +65.94 -11.8 -75.24, 65.74 -10.72 -75.34, 65.79 -10.72 -75.39, +65.51 -9.647 -75.38, 65.61 -9.643 -75.49, 65.66 -8.558 -75.22, +65.71 -8.556 -75.27, 65.63 -7.483 -75.11, 65.73 -7.479 -75.22, +65.41 -6.412 -75.45, 65.46 -6.41 -75.5, 65.28 -5.332 -75.42, +65.37 -5.329 -75.51, 65.18 -4.153 -75.56, 65.09 -4.157 -75.45, +65.9 -11.8 -75.33, 65.77 -10.72 -75.42, 65.56 -9.648 -75.58, +65.69 -8.558 -75.31, 65.68 -7.484 -75.3, 65.44 -6.413 -75.54, +65.33 -5.333 -75.59, 65.14 -4.157 -75.64, 64.7 -3.824 -75.71, +64.61 -3.828 -75.61, 64.66 -3.829 -75.8, 63.91 -3.913 -76, +63.81 -3.917 -75.89, 63.87 -3.917 -76.08, 63.29 -3.649 -76.21, +63.2 -3.653 -76.11, 63.25 -3.653 -76.29, 62.37 -3.906 -76.53, +62.34 -3.907 -76.5, 62.35 -3.908 -76.55, 65.85 -11.8 -75.12, +65.95 -11.8 -75.23, 65.72 -10.72 -75.36, 65.77 -10.72 -75.41, +65.5 -9.647 -75.38, 65.61 -9.643 -75.49, 65.68 -8.558 -75.2, +65.73 -8.556 -75.25, 65.62 -7.483 -75.11, 65.72 -7.479 -75.22, +65.4 -6.412 -75.46, 65.45 -6.41 -75.52, 65.29 -5.332 -75.41, +65.38 -5.329 -75.5, 65.2 -4.153 -75.55, 65.1 -4.157 -75.44, +65.9 -11.8 -75.32, 65.75 -10.72 -75.44, 65.56 -9.648 -75.58, +65.71 -8.558 -75.29, 65.68 -7.484 -75.31, 65.42 -6.413 -75.56, +65.34 -5.333 -75.58, 65.16 -4.157 -75.63, 64.71 -3.824 -75.71, +64.61 -3.828 -75.61, 64.66 -3.829 -75.79, 63.91 -3.913 -75.99, +63.82 -3.917 -75.89, 63.87 -3.917 -76.07, 63.29 -3.649 -76.21, +63.2 -3.653 -76.11, 63.25 -3.653 -76.29, 62.37 -3.906 -76.52, +62.35 -3.907 -76.5, 62.36 -3.908 -76.55, 65.85 -11.8 -75.12, +65.95 -11.8 -75.23, 65.7 -10.72 -75.38, 65.75 -10.72 -75.42, +65.5 -9.647 -75.38, 65.61 -9.643 -75.49, 65.7 -8.558 -75.19, +65.75 -8.556 -75.24, 65.62 -7.483 -75.12, 65.72 -7.479 -75.23, +65.38 -6.412 -75.48, 65.43 -6.41 -75.53, 65.3 -5.332 -75.4, +65.39 -5.329 -75.49, 65.21 -4.153 -75.54, 65.11 -4.157 -75.43, +65.91 -11.8 -75.31, 65.73 -10.72 -75.46, 65.56 -9.648 -75.58, +65.72 -8.558 -75.28, 65.67 -7.484 -75.31, 65.41 -6.413 -75.57, +65.35 -5.333 -75.57, 65.16 -4.157 -75.62, 64.71 -3.824 -75.71, +64.61 -3.828 -75.61, 64.66 -3.829 -75.79, 63.92 -3.913 -75.99, +63.82 -3.917 -75.89, 63.88 -3.917 -76.07, 63.29 -3.649 -76.22, +63.19 -3.653 -76.11, 63.25 -3.653 -76.3, 62.37 -3.906 -76.52, +62.35 -3.907 -76.49, 62.36 -3.908 -76.54, 65.85 -11.8 -75.12, +65.96 -11.8 -75.23, 65.69 -10.72 -75.4, 65.73 -10.72 -75.44, +65.51 -9.647 -75.38, 65.61 -9.643 -75.49, 65.72 -8.558 -75.17, +65.76 -8.556 -75.22, 65.6 -7.483 -75.13, 65.71 -7.479 -75.24, +65.37 -6.412 -75.49, 65.41 -6.41 -75.55, 65.32 -5.332 -75.38, +65.41 -5.329 -75.48, 65.21 -4.153 -75.53, 65.12 -4.157 -75.43, +65.91 -11.8 -75.31, 65.71 -10.72 -75.48, 65.57 -9.648 -75.57, +65.74 -8.558 -75.26, 65.66 -7.484 -75.32, 65.39 -6.413 -75.59, +65.37 -5.333 -75.55, 65.17 -4.157 -75.61, 64.7 -3.824 -75.71, +64.61 -3.828 -75.61, 64.66 -3.829 -75.8, 63.92 -3.913 -75.99, +63.82 -3.917 -75.89, 63.87 -3.917 -76.07, 63.28 -3.649 -76.23, +63.18 -3.653 -76.12, 63.24 -3.653 -76.31, 62.37 -3.906 -76.52, +62.35 -3.907 -76.5, 62.36 -3.908 -76.54, 65.85 -11.8 -75.12, +65.95 -11.8 -75.23, 65.67 -10.72 -75.41, 65.71 -10.72 -75.46, +65.52 -9.647 -75.37, 65.62 -9.643 -75.48, 65.73 -8.558 -75.15, +65.78 -8.556 -75.2, 65.59 -7.483 -75.14, 65.69 -7.479 -75.25, +65.35 -6.412 -75.5, 65.4 -6.41 -75.56, 65.34 -5.332 -75.36, +65.42 -5.329 -75.46, 65.21 -4.153 -75.53, 65.12 -4.157 -75.43, +65.91 -11.8 -75.32, 65.69 -10.72 -75.49, 65.58 -9.648 -75.56, +65.76 -8.558 -75.24, 65.65 -7.484 -75.34, 65.38 -6.413 -75.6, +65.39 -5.333 -75.53, 65.17 -4.157 -75.61, 64.69 -3.824 -75.72, +64.6 -3.828 -75.62, 64.65 -3.829 -75.8, 63.91 -3.913 -76, +63.81 -3.917 -75.89, 63.87 -3.917 -76.08, 63.26 -3.649 -76.24, +63.17 -3.653 -76.13, 63.22 -3.653 -76.32, 62.37 -3.906 -76.53, +62.34 -3.907 -76.5, 62.35 -3.908 -76.55, 65.84 -11.8 -75.13, +65.95 -11.8 -75.24, 65.65 -10.72 -75.43, 65.69 -10.72 -75.47, +65.53 -9.647 -75.36, 65.63 -9.643 -75.47, 65.74 -8.558 -75.14, +65.79 -8.556 -75.19, 65.57 -7.483 -75.16, 65.67 -7.479 -75.27, +65.35 -6.412 -75.51, 65.4 -6.41 -75.56, 65.35 -5.332 -75.35, +65.44 -5.329 -75.44, 65.21 -4.153 -75.53, 65.12 -4.157 -75.43, +65.9 -11.8 -75.32, 65.67 -10.72 -75.51, 65.59 -9.648 -75.55, +65.77 -8.558 -75.23, 65.63 -7.484 -75.35, 65.38 -6.413 -75.6, +65.4 -5.333 -75.52, 65.17 -4.157 -75.61, 64.68 -3.824 -75.73, +64.59 -3.828 -75.63, 64.64 -3.829 -75.81, 63.9 -3.913 -76, +63.8 -3.917 -75.9, 63.86 -3.917 -76.09, 63.25 -3.649 -76.25, +63.15 -3.653 -76.15, 63.21 -3.653 -76.33, 62.36 -3.906 -76.54, +62.33 -3.907 -76.51, 62.35 -3.908 -76.56, 65.83 -11.8 -75.14, +65.93 -11.8 -75.25, 65.64 -10.72 -75.44, 65.68 -10.72 -75.49, +65.55 -9.647 -75.34, 65.65 -9.643 -75.45, 65.75 -8.558 -75.13, +65.8 -8.556 -75.18, 65.55 -7.483 -75.18, 65.66 -7.479 -75.29, +65.34 -6.412 -75.51, 65.39 -6.41 -75.57, 65.37 -5.332 -75.33, +65.46 -5.329 -75.42, 65.21 -4.153 -75.54, 65.11 -4.157 -75.43, +65.89 -11.8 -75.33, 65.66 -10.72 -75.52, 65.6 -9.648 -75.54, +65.78 -8.558 -75.22, 65.61 -7.484 -75.37, 65.37 -6.413 -75.61, +65.42 -5.333 -75.5, 65.16 -4.157 -75.62, 64.67 -3.824 -75.75, +64.57 -3.828 -75.64, 64.63 -3.829 -75.83, 63.89 -3.913 -76.02, +63.79 -3.917 -75.91, 63.85 -3.917 -76.1, 63.23 -3.649 -76.27, +63.14 -3.653 -76.16, 63.19 -3.653 -76.35, 62.34 -3.906 -76.55, +62.32 -3.907 -76.52, 62.33 -3.908 -76.57, 65.82 -11.8 -75.15, +65.92 -11.8 -75.26, 65.62 -10.72 -75.45, 65.67 -10.72 -75.5, +65.56 -9.647 -75.33, 65.67 -9.643 -75.44, 65.76 -8.558 -75.13, +65.81 -8.556 -75.18, 65.54 -7.483 -75.19, 65.64 -7.479 -75.3, +65.34 -6.412 -75.51, 65.39 -6.41 -75.57, 65.39 -5.332 -75.31, +65.48 -5.329 -75.4, 65.2 -4.153 -75.55, 65.1 -4.157 -75.44, +65.88 -11.8 -75.34, 65.65 -10.72 -75.54, 65.62 -9.648 -75.52, +65.79 -8.558 -75.22, 65.59 -7.484 -75.39, 65.37 -6.413 -75.61, +65.44 -5.333 -75.48, 65.15 -4.157 -75.63, 64.65 -3.824 -75.76, +64.55 -3.828 -75.66, 64.61 -3.829 -75.84, 63.87 -3.913 -76.03, +63.78 -3.917 -75.93, 63.83 -3.917 -76.11, 63.21 -3.649 -76.29, +63.12 -3.653 -76.18, 63.17 -3.653 -76.37, 62.33 -3.906 -76.56, +62.3 -3.907 -76.54, 62.32 -3.908 -76.59, 65.8 -11.8 -75.17, +65.9 -11.8 -75.27, 65.62 -10.72 -75.46, 65.66 -10.72 -75.51, +65.58 -9.647 -75.31, 65.69 -9.643 -75.42, 65.76 -8.558 -75.13, +65.81 -8.556 -75.18, 65.52 -7.483 -75.21, 65.62 -7.479 -75.32, +65.35 -6.412 -75.51, 65.4 -6.41 -75.56, 65.41 -5.332 -75.29, +65.5 -5.329 -75.39, 65.18 -4.153 -75.56, 65.09 -4.157 -75.46, +65.86 -11.8 -75.36, 65.64 -10.72 -75.54, 65.64 -9.648 -75.5, +65.79 -8.558 -75.22, 65.57 -7.484 -75.41, 65.38 -6.413 -75.6, +65.46 -5.333 -75.46, 65.14 -4.157 -75.64, 64.63 -3.824 -75.78, +64.53 -3.828 -75.68, 64.59 -3.829 -75.86, 63.85 -3.913 -76.05, +63.76 -3.917 -75.94, 63.81 -3.917 -76.13, 63.19 -3.649 -76.3, +63.1 -3.653 -76.2, 63.15 -3.653 -76.39, 62.31 -3.906 -76.58, +62.28 -3.907 -76.55, 62.3 -3.908 -76.6, 65.79 -11.8 -75.18, +65.89 -11.8 -75.29, 65.61 -10.72 -75.46, 65.65 -10.72 -75.51, +65.6 -9.647 -75.29, 65.7 -9.643 -75.4, 65.76 -8.558 -75.13, +65.8 -8.556 -75.18, 65.5 -7.483 -75.23, 65.6 -7.479 -75.34, +65.36 -6.412 -75.5, 65.41 -6.41 -75.55, 65.43 -5.332 -75.28, +65.52 -5.329 -75.37, 65.17 -4.153 -75.57, 65.07 -4.157 -75.47, +65.84 -11.8 -75.38, 65.64 -10.72 -75.55, 65.66 -9.648 -75.49, +65.78 -8.558 -75.22, 65.55 -7.484 -75.42, 65.39 -6.413 -75.59, +65.48 -5.333 -75.45, 65.13 -4.157 -75.66, 64.61 -3.824 -75.8, +64.52 -3.828 -75.69, 64.57 -3.829 -75.88, 63.83 -3.913 -76.07, +63.74 -3.917 -75.96, 63.79 -3.917 -76.15, 63.17 -3.649 -76.32, +63.08 -3.653 -76.22, 63.13 -3.653 -76.4, 62.29 -3.906 -76.6, +62.27 -3.907 -76.57, 62.28 -3.908 -76.62, ] +} +] +}, +DEF Plane31 Transform { +translation -66.04 5.921 75.48 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane31-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane31-COORD Coordinate { +point [ 66.05 -11.79 -75.25 65.93 -11.79 -75.17 65.89 -10.71 -75.22 65.83 +-10.71 -75.19 66.05 -9.632 -75.22 65.92 -9.632 -75.14 66.02 -8.552 -75.28 +65.96 -8.552 -75.24 65.96 -7.472 -75.43 65.84 -7.472 -75.35 65.9 -6.392 -75.26 +65.84 -6.392 -75.22 66.07 -5.312 -75.24 65.96 -5.312 -75.17 66.14 -4.112 -74.97 +66.26 -4.112 -75.05 65.95 -11.79 -75.08 65.84 -10.71 -75.15 65.94 -9.632 -75.05 +65.97 -8.552 -75.2 65.86 -7.472 -75.26 65.85 -6.392 -75.18 65.98 -5.312 -75.09 +66.16 -4.112 -74.89 66.52 -3.747 -74.74 66.63 -3.747 -74.81 66.54 -3.747 -74.65 +67.22 -3.777 -74.26 67.34 -3.777 -74.34 67.24 -3.777 -74.17 67.7 -3.468 -73.94 +67.82 -3.468 -74.02 67.72 -3.468 -73.86 68.56 -3.657 -73.38 68.59 -3.657 -73.4 +68.56 -3.657 -73.36 ] +} +texCoord DEF Plane31-TEXCOORD +TextureCoordinate { point [ 0 0 1 0 0 1 1 1 ] } coordIndex [ 2 0 3 -1 1 3 0 +-1 4 2 5 -1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 10 8 11 -1 9 11 8 +-1 12 10 13 -1 11 13 10 -1 14 15 12 -1 12 13 14 -1 3 1 17 -1 16 17 1 -1 5 3 +18 -1 17 18 3 -1 7 5 19 -1 18 19 5 -1 9 7 20 -1 19 20 7 -1 11 9 21 -1 20 21 +9 -1 13 11 22 -1 21 22 11 -1 23 14 13 -1 13 22 23 -1 24 25 15 -1 15 14 24 +-1 26 24 14 -1 14 23 26 -1 27 28 25 -1 25 24 27 -1 29 27 24 -1 24 26 29 -1 30 +31 28 -1 28 27 30 -1 32 30 27 -1 27 29 32 -1 33 34 31 -1 31 30 33 -1 35 33 30 +-1 30 32 35 -1 ] texCoordIndex +[ 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 +0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 3 2 0 -1 0 1 3 -1 2 0 3 -1 1 3 0 -1 2 0 3 +-1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 +3 0 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 +-1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 +2 0 -1 0 1 3 -1 ] +} +} +DEF Plane31-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, +0.2667, 0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, +0.5333, 0.5667, 0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, +0.8, 0.8333, 0.8667, 0.9, 0.9333, 0.9667, 1, ] +keyValue [66.05 -11.79 -75.25, +65.93 -11.79 -75.17, 65.89 -10.71 -75.22, 65.83 -10.71 -75.19, +66.05 -9.632 -75.22, 65.92 -9.632 -75.14, 66.02 -8.552 -75.28, +65.96 -8.552 -75.24, 65.96 -7.472 -75.43, 65.84 -7.472 -75.35, +65.9 -6.392 -75.26, 65.84 -6.392 -75.22, 66.07 -5.312 -75.24, +65.96 -5.312 -75.17, 66.14 -4.112 -74.97, 66.26 -4.112 -75.05, +65.95 -11.79 -75.08, 65.84 -10.71 -75.15, 65.94 -9.632 -75.05, +65.97 -8.552 -75.2, 65.86 -7.472 -75.26, 65.85 -6.392 -75.18, +65.98 -5.312 -75.09, 66.16 -4.112 -74.89, 66.52 -3.747 -74.74, +66.63 -3.747 -74.81, 66.54 -3.747 -74.65, 67.22 -3.777 -74.26, +67.34 -3.777 -74.34, 67.24 -3.777 -74.17, 67.7 -3.468 -73.94, +67.82 -3.468 -74.02, 67.72 -3.468 -73.86, 68.56 -3.657 -73.38, +68.59 -3.657 -73.4, 68.56 -3.657 -73.36, 66.03 -11.79 -75.27, +65.91 -11.79 -75.19, 65.89 -10.71 -75.22, 65.83 -10.71 -75.19, +66.07 -9.632 -75.2, 65.94 -9.632 -75.12, 66.01 -8.552 -75.29, +65.96 -8.552 -75.25, 65.95 -7.472 -75.44, 65.82 -7.472 -75.36, +65.91 -6.392 -75.25, 65.85 -6.392 -75.21, 66.08 -5.312 -75.23, +65.97 -5.312 -75.16, 66.12 -4.112 -74.99, 66.24 -4.112 -75.07, +65.93 -11.79 -75.09, 65.84 -10.71 -75.15, 65.96 -9.632 -75.03, +65.97 -8.552 -75.21, 65.84 -7.472 -75.27, 65.86 -6.392 -75.16, +65.99 -5.312 -75.07, 66.14 -4.112 -74.9, 66.5 -3.747 -74.75, +66.62 -3.747 -74.83, 66.52 -3.747 -74.67, 67.2 -3.777 -74.28, +67.32 -3.777 -74.36, 67.22 -3.777 -74.19, 67.69 -3.468 -73.96, +67.81 -3.468 -74.04, 67.71 -3.468 -73.87, 68.54 -3.657 -73.4, +68.57 -3.657 -73.42, 68.54 -3.657 -73.37, 66.01 -11.79 -75.29, +65.89 -11.79 -75.21, 65.89 -10.71 -75.22, 65.84 -10.71 -75.18, +66.08 -9.632 -75.18, 65.96 -9.632 -75.1, 66 -8.552 -75.3, +65.95 -8.552 -75.26, 65.93 -7.472 -75.46, 65.81 -7.472 -75.38, +65.93 -6.392 -75.23, 65.86 -6.392 -75.2, 66.09 -5.312 -75.22, +65.98 -5.312 -75.15, 66.11 -4.112 -75.01, 66.22 -4.112 -75.09, +65.91 -11.79 -75.11, 65.85 -10.71 -75.14, 65.98 -9.632 -75.01, +65.96 -8.552 -75.22, 65.83 -7.472 -75.28, 65.87 -6.392 -75.15, +66 -5.312 -75.07, 66.12 -4.112 -74.92, 66.48 -3.747 -74.77, +66.6 -3.747 -74.85, 66.5 -3.747 -74.68, 67.18 -3.777 -74.3, +67.3 -3.777 -74.37, 67.2 -3.777 -74.21, 67.68 -3.468 -73.97, +67.8 -3.468 -74.05, 67.7 -3.468 -73.88, 68.52 -3.657 -73.41, +68.55 -3.657 -73.43, 68.53 -3.657 -73.39, 66 -11.79 -75.3, +65.87 -11.79 -75.22, 65.9 -10.71 -75.21, 65.85 -10.71 -75.17, +66.1 -9.632 -75.17, 65.98 -9.632 -75.09, 65.99 -8.552 -75.31, +65.93 -8.552 -75.27, 65.92 -7.472 -75.47, 65.79 -7.472 -75.39, +65.94 -6.392 -75.22, 65.88 -6.392 -75.18, 66.1 -5.312 -75.21, +65.99 -5.312 -75.14, 66.09 -4.112 -75.03, 66.2 -4.112 -75.1, +65.89 -11.79 -75.13, 65.85 -10.71 -75.13, 66 -9.632 -75, +65.94 -8.552 -75.23, 65.82 -7.472 -75.3, 65.89 -6.392 -75.13, +66.01 -5.312 -75.06, 66.1 -4.112 -74.94, 66.46 -3.747 -74.79, +66.58 -3.747 -74.86, 66.48 -3.747 -74.7, 67.16 -3.777 -74.31, +67.28 -3.777 -74.39, 67.18 -3.777 -74.22, 67.67 -3.468 -73.98, +67.79 -3.468 -74.05, 67.69 -3.468 -73.89, 68.51 -3.657 -73.42, +68.54 -3.657 -73.44, 68.51 -3.657 -73.4, 65.98 -11.79 -75.32, +65.85 -11.79 -75.24, 65.91 -10.71 -75.2, 65.86 -10.71 -75.16, +66.11 -9.632 -75.16, 65.99 -9.632 -75.08, 65.97 -8.552 -75.33, +65.92 -8.552 -75.29, 65.91 -7.472 -75.48, 65.79 -7.472 -75.4, +65.96 -6.392 -75.2, 65.9 -6.392 -75.16, 66.1 -5.312 -75.21, +65.99 -5.312 -75.14, 66.07 -4.112 -75.05, 66.19 -4.112 -75.12, +65.87 -11.79 -75.15, 65.87 -10.71 -75.12, 66.01 -9.632 -74.98, +65.93 -8.552 -75.24, 65.81 -7.472 -75.3, 65.91 -6.392 -75.12, +66.01 -5.312 -75.06, 66.09 -4.112 -74.96, 66.45 -3.747 -74.8, +66.57 -3.747 -74.87, 66.47 -3.747 -74.71, 67.15 -3.777 -74.32, +67.27 -3.777 -74.4, 67.17 -3.777 -74.23, 67.66 -3.468 -73.98, +67.78 -3.468 -74.06, 67.68 -3.468 -73.89, 68.5 -3.657 -73.43, +68.53 -3.657 -73.45, 68.5 -3.657 -73.41, 65.96 -11.79 -75.33, +65.84 -11.79 -75.25, 65.92 -10.71 -75.18, 65.87 -10.71 -75.15, +66.12 -9.632 -75.15, 66 -9.632 -75.07, 65.96 -8.552 -75.34, +65.9 -8.552 -75.31, 65.91 -7.472 -75.48, 65.78 -7.472 -75.4, +65.98 -6.392 -75.18, 65.92 -6.392 -75.14, 66.1 -5.312 -75.21, +65.99 -5.312 -75.14, 66.05 -4.112 -75.06, 66.17 -4.112 -75.14, +65.86 -11.79 -75.16, 65.88 -10.71 -75.11, 66.02 -9.632 -74.97, +65.91 -8.552 -75.26, 65.8 -7.472 -75.31, 65.93 -6.392 -75.1, +66.01 -5.312 -75.06, 66.07 -4.112 -74.97, 66.44 -3.747 -74.81, +66.56 -3.747 -74.88, 66.46 -3.747 -74.72, 67.14 -3.777 -74.33, +67.26 -3.777 -74.41, 67.16 -3.777 -74.24, 67.66 -3.468 -73.98, +67.78 -3.468 -74.06, 67.68 -3.468 -73.89, 68.49 -3.657 -73.44, +68.52 -3.657 -73.46, 68.5 -3.657 -73.42, 65.95 -11.79 -75.34, +65.83 -11.79 -75.26, 65.94 -10.71 -75.17, 65.89 -10.71 -75.13, +66.13 -9.632 -75.14, 66.01 -9.632 -75.06, 65.94 -8.552 -75.36, +65.88 -8.552 -75.32, 65.91 -7.472 -75.48, 65.78 -7.472 -75.4, +66 -6.392 -75.16, 65.94 -6.392 -75.13, 66.09 -5.312 -75.22, +65.98 -5.312 -75.15, 66.03 -4.112 -75.08, 66.15 -4.112 -75.15, +65.85 -11.79 -75.17, 65.9 -10.71 -75.09, 66.03 -9.632 -74.97, +65.89 -8.552 -75.28, 65.8 -7.472 -75.31, 65.95 -6.392 -75.08, +66 -5.312 -75.07, 66.05 -4.112 -74.99, 66.44 -3.747 -74.81, +66.56 -3.747 -74.89, 66.46 -3.747 -74.72, 67.14 -3.777 -74.34, +67.25 -3.777 -74.42, 67.15 -3.777 -74.25, 67.67 -3.468 -73.98, +67.79 -3.468 -74.06, 67.69 -3.468 -73.89, 68.49 -3.657 -73.44, +68.52 -3.657 -73.46, 68.5 -3.657 -73.42, 65.94 -11.79 -75.35, +65.82 -11.79 -75.27, 65.96 -10.71 -75.15, 65.91 -10.71 -75.12, +66.13 -9.632 -75.14, 66.01 -9.632 -75.06, 65.92 -8.552 -75.38, +65.86 -8.552 -75.34, 65.91 -7.472 -75.48, 65.79 -7.472 -75.4, +66.02 -6.392 -75.15, 65.96 -6.392 -75.11, 66.08 -5.312 -75.23, +65.97 -5.312 -75.16, 66.02 -4.112 -75.09, 66.14 -4.112 -75.16, +65.84 -11.79 -75.18, 65.92 -10.71 -75.08, 66.03 -9.632 -74.97, +65.87 -8.552 -75.3, 65.81 -7.472 -75.3, 65.97 -6.392 -75.06, +65.99 -5.312 -75.08, 66.04 -4.112 -75, 66.44 -3.747 -74.81, +66.55 -3.747 -74.89, 66.46 -3.747 -74.72, 67.13 -3.777 -74.34, +67.25 -3.777 -74.42, 67.15 -3.777 -74.25, 67.67 -3.468 -73.97, +67.79 -3.468 -74.05, 67.69 -3.468 -73.88, 68.49 -3.657 -73.44, +68.52 -3.657 -73.46, 68.5 -3.657 -73.42, 65.94 -11.79 -75.36, +65.81 -11.79 -75.28, 65.98 -10.71 -75.13, 65.93 -10.71 -75.1, +66.13 -9.632 -75.14, 66.01 -9.632 -75.06, 65.9 -8.552 -75.4, +65.84 -8.552 -75.36, 65.92 -7.472 -75.47, 65.79 -7.472 -75.39, +66.03 -6.392 -75.13, 65.97 -6.392 -75.09, 66.07 -5.312 -75.24, +65.96 -5.312 -75.17, 66.01 -4.112 -75.09, 66.13 -4.112 -75.17, +65.83 -11.79 -75.18, 65.94 -10.71 -75.06, 66.03 -9.632 -74.97, +65.85 -8.552 -75.32, 65.82 -7.472 -75.29, 65.98 -6.392 -75.05, +65.97 -5.312 -75.09, 66.03 -4.112 -75.01, 66.44 -3.747 -74.81, +66.56 -3.747 -74.89, 66.46 -3.747 -74.72, 67.13 -3.777 -74.34, +67.25 -3.777 -74.42, 67.15 -3.777 -74.25, 67.69 -3.468 -73.96, +67.8 -3.468 -74.04, 67.7 -3.468 -73.87, 68.5 -3.657 -73.44, +68.53 -3.657 -73.46, 68.5 -3.657 -73.41, 65.94 -11.79 -75.36, +65.81 -11.79 -75.28, 66 -10.71 -75.11, 65.95 -10.71 -75.08, +66.13 -9.632 -75.15, 66 -9.632 -75.07, 65.88 -8.552 -75.41, +65.82 -8.552 -75.38, 65.93 -7.472 -75.46, 65.81 -7.472 -75.38, +66.05 -6.392 -75.12, 65.99 -6.392 -75.08, 66.05 -5.312 -75.26, +65.94 -5.312 -75.19, 66.01 -4.112 -75.1, 66.13 -4.112 -75.18, +65.83 -11.79 -75.18, 65.96 -10.71 -75.04, 66.02 -9.632 -74.97, +65.83 -8.552 -75.33, 65.83 -7.472 -75.28, 66 -6.392 -75.03, +65.96 -5.312 -75.1, 66.03 -4.112 -75.01, 66.45 -3.747 -74.8, +66.56 -3.747 -74.88, 66.46 -3.747 -74.71, 67.14 -3.777 -74.33, +67.26 -3.777 -74.41, 67.16 -3.777 -74.24, 67.7 -3.468 -73.95, +67.82 -3.468 -74.03, 67.72 -3.468 -73.86, 68.51 -3.657 -73.43, +68.54 -3.657 -73.45, 68.51 -3.657 -73.4, 65.94 -11.79 -75.36, +65.81 -11.79 -75.28, 66.02 -10.71 -75.1, 65.96 -10.71 -75.06, +66.12 -9.632 -75.15, 65.99 -9.632 -75.07, 65.86 -8.552 -75.43, +65.81 -8.552 -75.39, 65.95 -7.472 -75.44, 65.82 -7.472 -75.36, +66.06 -6.392 -75.11, 66 -6.392 -75.07, 66.03 -5.312 -75.27, +65.92 -5.312 -75.2, 66.01 -4.112 -75.1, 66.13 -4.112 -75.18, +65.84 -11.79 -75.18, 65.97 -10.71 -75.02, 66.01 -9.632 -74.98, +65.82 -8.552 -75.35, 65.84 -7.472 -75.27, 66.01 -6.392 -75.02, +65.94 -5.312 -75.12, 66.03 -4.112 -75.01, 66.46 -3.747 -74.79, +66.57 -3.747 -74.87, 66.48 -3.747 -74.7, 67.15 -3.777 -74.32, +67.27 -3.777 -74.4, 67.17 -3.777 -74.24, 67.72 -3.468 -73.93, +67.83 -3.468 -74.01, 67.74 -3.468 -73.84, 68.52 -3.657 -73.41, +68.55 -3.657 -73.43, 68.52 -3.657 -73.39, 65.95 -11.79 -75.35, +65.82 -11.79 -75.27, 66.03 -10.71 -75.08, 65.98 -10.71 -75.05, +66.1 -9.632 -75.17, 65.98 -9.632 -75.09, 65.85 -8.552 -75.44, +65.79 -8.552 -75.4, 65.96 -7.472 -75.43, 65.84 -7.472 -75.35, +66.07 -6.392 -75.1, 66 -6.392 -75.06, 66.01 -5.312 -75.29, +65.9 -5.312 -75.22, 66.01 -4.112 -75.1, 66.13 -4.112 -75.17, +65.84 -11.79 -75.18, 65.99 -10.71 -75.01, 66 -9.632 -74.99, +65.8 -8.552 -75.36, 65.86 -7.472 -75.25, 66.01 -6.392 -75.02, +65.92 -5.312 -75.14, 66.03 -4.112 -75.01, 66.47 -3.747 -74.78, +66.59 -3.747 -74.86, 66.49 -3.747 -74.69, 67.16 -3.777 -74.31, +67.28 -3.777 -74.39, 67.18 -3.777 -74.22, 67.73 -3.468 -73.92, +67.85 -3.468 -73.99, 67.75 -3.468 -73.83, 68.53 -3.657 -73.4, +68.57 -3.657 -73.42, 68.54 -3.657 -73.38, 65.96 -11.79 -75.34, +65.83 -11.79 -75.26, 66.05 -10.71 -75.07, 66 -10.71 -75.03, +66.09 -9.632 -75.18, 65.96 -9.632 -75.1, 65.84 -8.552 -75.45, +65.79 -8.552 -75.41, 65.98 -7.472 -75.41, 65.86 -7.472 -75.33, +66.07 -6.392 -75.1, 66.01 -6.392 -75.06, 65.99 -5.312 -75.31, +65.88 -5.312 -75.24, 66.02 -4.112 -75.09, 66.14 -4.112 -75.17, +65.85 -11.79 -75.17, 66 -10.71 -74.99, 65.98 -9.632 -75.01, +65.8 -8.552 -75.37, 65.88 -7.472 -75.24, 66.02 -6.392 -75.02, +65.9 -5.312 -75.16, 66.04 -4.112 -75, 66.49 -3.747 -74.76, +66.6 -3.747 -74.84, 66.5 -3.747 -74.68, 67.18 -3.777 -74.3, +67.3 -3.777 -74.37, 67.2 -3.777 -74.21, 67.75 -3.468 -73.9, +67.87 -3.468 -73.98, 67.77 -3.468 -73.81, 68.55 -3.657 -73.38, +68.58 -3.657 -73.4, 68.56 -3.657 -73.36, 65.97 -11.79 -75.33, +65.85 -11.79 -75.25, 66.06 -10.71 -75.06, 66.01 -10.71 -75.02, +66.07 -9.632 -75.2, 65.95 -9.632 -75.12, 65.84 -8.552 -75.45, +65.78 -8.552 -75.41, 66 -7.472 -75.39, 65.88 -7.472 -75.31, +66.07 -6.392 -75.1, 66.01 -6.392 -75.06, 65.97 -5.312 -75.33, +65.86 -5.312 -75.26, 66.03 -4.112 -75.08, 66.15 -4.112 -75.16, +65.87 -11.79 -75.15, 66.02 -10.71 -74.98, 65.97 -9.632 -75.02, +65.79 -8.552 -75.37, 65.9 -7.472 -75.22, 66.02 -6.392 -75.02, +65.88 -5.312 -75.18, 66.05 -4.112 -74.99, 66.5 -3.747 -74.75, +66.62 -3.747 -74.82, 66.52 -3.747 -74.66, 67.2 -3.777 -74.28, +67.32 -3.777 -74.36, 67.22 -3.777 -74.19, 67.77 -3.468 -73.88, +67.89 -3.468 -73.96, 67.79 -3.468 -73.79, 68.57 -3.657 -73.37, +68.6 -3.657 -73.39, 68.58 -3.657 -73.34, 65.99 -11.79 -75.31, +65.86 -11.79 -75.23, 66.07 -10.71 -75.05, 66.01 -10.71 -75.02, +66.05 -9.632 -75.22, 65.93 -9.632 -75.14, 65.84 -8.552 -75.45, +65.78 -8.552 -75.42, 66.02 -7.472 -75.37, 65.9 -7.472 -75.3, +66.06 -6.392 -75.11, 66 -6.392 -75.07, 65.96 -5.312 -75.34, +65.85 -5.312 -75.27, 66.05 -4.112 -75.07, 66.16 -4.112 -75.14, +65.88 -11.79 -75.14, 66.02 -10.71 -74.98, 65.95 -9.632 -75.04, +65.79 -8.552 -75.37, 65.92 -7.472 -75.2, 66.01 -6.392 -75.02, +65.87 -5.312 -75.19, 66.06 -4.112 -74.98, 66.52 -3.747 -74.73, +66.64 -3.747 -74.81, 66.54 -3.747 -74.64, 67.22 -3.777 -74.26, +67.33 -3.777 -74.34, 67.24 -3.777 -74.17, 67.79 -3.468 -73.86, +67.91 -3.468 -73.94, 67.81 -3.468 -73.77, 68.59 -3.657 -73.35, +68.62 -3.657 -73.37, 68.6 -3.657 -73.32, 66.01 -11.79 -75.29, +65.88 -11.79 -75.21, 66.07 -10.71 -75.05, 66.02 -10.71 -75.01, +66.03 -9.632 -75.23, 65.91 -9.632 -75.15, 65.84 -8.552 -75.45, +65.78 -8.552 -75.41, 66.04 -7.472 -75.36, 65.91 -7.472 -75.28, +66.05 -6.392 -75.12, 65.99 -6.392 -75.08, 65.94 -5.312 -75.36, +65.83 -5.312 -75.29, 66.06 -4.112 -75.05, 66.18 -4.112 -75.13, +65.9 -11.79 -75.12, 66.03 -10.71 -74.97, 65.93 -9.632 -75.06, +65.79 -8.552 -75.37, 65.94 -7.472 -75.18, 66 -6.392 -75.03, +65.85 -5.312 -75.21, 66.08 -4.112 -74.96, 66.54 -3.747 -74.71, +66.66 -3.747 -74.79, 66.56 -3.747 -74.62, 67.24 -3.777 -74.25, +67.35 -3.777 -74.32, 67.25 -3.777 -74.16, 67.81 -3.468 -73.85, +67.93 -3.468 -73.92, 67.83 -3.468 -73.76, 68.61 -3.657 -73.33, +68.64 -3.657 -73.35, 68.62 -3.657 -73.31, 66.02 -11.79 -75.28, +65.9 -11.79 -75.2, 66.07 -10.71 -75.05, 66.02 -10.71 -75.01, +66.01 -9.632 -75.25, 65.89 -9.632 -75.17, 65.85 -8.552 -75.44, +65.79 -8.552 -75.41, 66.06 -7.472 -75.34, 65.93 -7.472 -75.26, +66.04 -6.392 -75.13, 65.98 -6.392 -75.09, 65.93 -5.312 -75.37, +65.82 -5.312 -75.3, 66.08 -4.112 -75.03, 66.2 -4.112 -75.11, +65.92 -11.79 -75.1, 66.03 -10.71 -74.97, 65.91 -9.632 -75.08, +65.8 -8.552 -75.36, 65.95 -7.472 -75.17, 65.99 -6.392 -75.04, +65.84 -5.312 -75.22, 66.1 -4.112 -74.94, 66.56 -3.747 -74.69, +66.68 -3.747 -74.77, 66.58 -3.747 -74.6, 67.25 -3.777 -74.23, +67.37 -3.777 -74.3, 67.27 -3.777 -74.14, 67.82 -3.468 -73.83, +67.94 -3.468 -73.91, 67.84 -3.468 -73.74, 68.63 -3.657 -73.31, +68.66 -3.657 -73.33, 68.63 -3.657 -73.29, 66.04 -11.79 -75.26, +65.92 -11.79 -75.18, 66.07 -10.71 -75.05, 66.01 -10.71 -75.02, +65.99 -9.632 -75.27, 65.87 -9.632 -75.19, 65.86 -8.552 -75.43, +65.8 -8.552 -75.4, 66.07 -7.472 -75.33, 65.95 -7.472 -75.25, +66.02 -6.392 -75.14, 65.96 -6.392 -75.1, 65.92 -5.312 -75.38, +65.81 -5.312 -75.31, 66.1 -4.112 -75.01, 66.22 -4.112 -75.09, +65.94 -11.79 -75.08, 66.02 -10.71 -74.98, 65.89 -9.632 -75.09, +65.81 -8.552 -75.35, 65.97 -7.472 -75.15, 65.97 -6.392 -75.06, +65.83 -5.312 -75.23, 66.12 -4.112 -74.93, 66.58 -3.747 -74.68, +66.7 -3.747 -74.75, 66.6 -3.747 -74.59, 67.27 -3.777 -74.21, +67.39 -3.777 -74.29, 67.29 -3.777 -74.12, 67.84 -3.468 -73.82, +67.96 -3.468 -73.9, 67.86 -3.468 -73.73, 68.64 -3.657 -73.3, +68.68 -3.657 -73.32, 68.65 -3.657 -73.27, 66.06 -11.79 -75.24, +65.94 -11.79 -75.16, 66.06 -10.71 -75.06, 66.01 -10.71 -75.02, +65.98 -9.632 -75.28, 65.85 -9.632 -75.2, 65.87 -8.552 -75.42, +65.81 -8.552 -75.38, 66.08 -7.472 -75.32, 65.96 -7.472 -75.24, +66.01 -6.392 -75.16, 65.95 -6.392 -75.12, 65.91 -5.312 -75.38, +65.8 -5.312 -75.31, 66.12 -4.112 -75, 66.24 -4.112 -75.07, +65.96 -11.79 -75.07, 66.01 -10.71 -74.98, 65.87 -9.632 -75.11, +65.82 -8.552 -75.34, 65.98 -7.472 -75.14, 65.96 -6.392 -75.07, +65.82 -5.312 -75.23, 66.14 -4.112 -74.91, 66.59 -3.747 -74.66, +66.71 -3.747 -74.74, 66.61 -3.747 -74.57, 67.29 -3.777 -74.2, +67.41 -3.777 -74.27, 67.31 -3.777 -74.11, 67.85 -3.468 -73.81, +67.96 -3.468 -73.89, 67.86 -3.468 -73.72, 68.66 -3.657 -73.29, +68.69 -3.657 -73.31, 68.66 -3.657 -73.26, 66.08 -11.79 -75.22, +65.96 -11.79 -75.14, 66.05 -10.71 -75.07, 65.99 -10.71 -75.04, +65.97 -9.632 -75.3, 65.84 -9.632 -75.22, 65.89 -8.552 -75.41, +65.83 -8.552 -75.37, 66.09 -7.472 -75.31, 65.96 -7.472 -75.23, +65.99 -6.392 -75.18, 65.93 -6.392 -75.14, 65.91 -5.312 -75.39, +65.8 -5.312 -75.32, 66.14 -4.112 -74.98, 66.26 -4.112 -75.06, +65.98 -11.79 -75.05, 66 -10.71 -75, 65.86 -9.632 -75.12, +65.84 -8.552 -75.33, 65.99 -7.472 -75.14, 65.94 -6.392 -75.09, +65.82 -5.312 -75.23, 66.16 -4.112 -74.89, 66.61 -3.747 -74.65, +66.73 -3.747 -74.73, 66.63 -3.747 -74.56, 67.3 -3.777 -74.18, +67.42 -3.777 -74.26, 67.32 -3.777 -74.09, 67.85 -3.468 -73.81, +67.97 -3.468 -73.89, 67.87 -3.468 -73.72, 68.67 -3.657 -73.28, +68.7 -3.657 -73.3, 68.67 -3.657 -73.25, 66.1 -11.79 -75.21, +65.97 -11.79 -75.13, 66.03 -10.71 -75.08, 65.98 -10.71 -75.05, +65.96 -9.632 -75.31, 65.83 -9.632 -75.23, 65.91 -8.552 -75.39, +65.85 -8.552 -75.35, 66.09 -7.472 -75.31, 65.97 -7.472 -75.23, +65.97 -6.392 -75.19, 65.91 -6.392 -75.16, 65.91 -5.312 -75.38, +65.8 -5.312 -75.31, 66.16 -4.112 -74.96, 66.27 -4.112 -75.04, +65.99 -11.79 -75.04, 65.99 -10.71 -75.01, 65.85 -9.632 -75.13, +65.86 -8.552 -75.31, 65.99 -7.472 -75.13, 65.92 -6.392 -75.11, +65.82 -5.312 -75.23, 66.17 -4.112 -74.87, 66.62 -3.747 -74.64, +66.73 -3.747 -74.72, 66.64 -3.747 -74.55, 67.31 -3.777 -74.17, +67.43 -3.777 -74.25, 67.33 -3.777 -74.09, 67.85 -3.468 -73.81, +67.97 -3.468 -73.89, 67.87 -3.468 -73.72, 68.67 -3.657 -73.27, +68.71 -3.657 -73.29, 68.68 -3.657 -73.25, 66.11 -11.79 -75.2, +65.98 -11.79 -75.12, 66.01 -10.71 -75.1, 65.96 -10.71 -75.06, +65.95 -9.632 -75.31, 65.82 -9.632 -75.23, 65.92 -8.552 -75.37, +65.87 -8.552 -75.33, 66.09 -7.472 -75.31, 65.97 -7.472 -75.23, +65.95 -6.392 -75.21, 65.89 -6.392 -75.17, 65.92 -5.312 -75.38, +65.81 -5.312 -75.31, 66.17 -4.112 -74.95, 66.29 -4.112 -75.03, +66 -11.79 -75.02, 65.97 -10.71 -75.03, 65.84 -9.632 -75.14, +65.88 -8.552 -75.29, 65.99 -7.472 -75.13, 65.9 -6.392 -75.13, +65.83 -5.312 -75.22, 66.19 -4.112 -74.86, 66.62 -3.747 -74.64, +66.74 -3.747 -74.71, 66.64 -3.747 -74.55, 67.32 -3.777 -74.17, +67.44 -3.777 -74.25, 67.34 -3.777 -74.08, 67.85 -3.468 -73.81, +67.97 -3.468 -73.89, 67.87 -3.468 -73.72, 68.68 -3.657 -73.27, +68.71 -3.657 -73.29, 68.68 -3.657 -73.24, 66.12 -11.79 -75.19, +65.99 -11.79 -75.11, 66 -10.71 -75.12, 65.94 -10.71 -75.08, +65.95 -9.632 -75.31, 65.82 -9.632 -75.23, 65.94 -8.552 -75.35, +65.89 -8.552 -75.32, 66.09 -7.472 -75.31, 65.96 -7.472 -75.23, +65.93 -6.392 -75.23, 65.87 -6.392 -75.19, 65.93 -5.312 -75.37, +65.82 -5.312 -75.3, 66.18 -4.112 -74.94, 66.3 -4.112 -75.01, +66.01 -11.79 -75.02, 65.95 -10.71 -75.04, 65.84 -9.632 -75.14, +65.9 -8.552 -75.27, 65.99 -7.472 -75.14, 65.88 -6.392 -75.14, +65.84 -5.312 -75.22, 66.2 -4.112 -74.85, 66.62 -3.747 -74.64, +66.74 -3.747 -74.71, 66.64 -3.747 -74.55, 67.32 -3.777 -74.17, +67.44 -3.777 -74.24, 67.34 -3.777 -74.08, 67.84 -3.468 -73.82, +67.96 -3.468 -73.9, 67.86 -3.468 -73.73, 68.68 -3.657 -73.27, +68.71 -3.657 -73.29, 68.68 -3.657 -73.25, 66.12 -11.79 -75.19, +66 -11.79 -75.11, 65.98 -10.71 -75.13, 65.92 -10.71 -75.1, +65.95 -9.632 -75.31, 65.82 -9.632 -75.23, 65.96 -8.552 -75.33, +65.9 -8.552 -75.3, 66.08 -7.472 -75.32, 65.96 -7.472 -75.24, +65.91 -6.392 -75.24, 65.85 -6.392 -75.21, 65.94 -5.312 -75.35, +65.83 -5.312 -75.28, 66.19 -4.112 -74.93, 66.31 -4.112 -75.01, +66.02 -11.79 -75.01, 65.93 -10.71 -75.06, 65.84 -9.632 -75.14, +65.91 -8.552 -75.25, 65.98 -7.472 -75.14, 65.86 -6.392 -75.16, +65.85 -5.312 -75.2, 66.21 -4.112 -74.84, 66.62 -3.747 -74.64, +66.74 -3.747 -74.72, 66.64 -3.747 -74.55, 67.32 -3.777 -74.17, +67.44 -3.777 -74.24, 67.34 -3.777 -74.08, 67.83 -3.468 -73.83, +67.95 -3.468 -73.91, 67.85 -3.468 -73.74, 68.67 -3.657 -73.27, +68.7 -3.657 -73.29, 68.68 -3.657 -73.25, 66.12 -11.79 -75.18, +66 -11.79 -75.1, 65.96 -10.71 -75.15, 65.9 -10.71 -75.12, +65.95 -9.632 -75.31, 65.83 -9.632 -75.23, 65.98 -8.552 -75.32, +65.92 -8.552 -75.28, 66.07 -7.472 -75.33, 65.94 -7.472 -75.25, +65.9 -6.392 -75.26, 65.84 -6.392 -75.22, 65.96 -5.312 -75.34, +65.85 -5.312 -75.27, 66.2 -4.112 -74.93, 66.31 -4.112 -75, +66.02 -11.79 -75.01, 65.91 -10.71 -75.08, 65.85 -9.632 -75.13, +65.93 -8.552 -75.24, 65.97 -7.472 -75.16, 65.85 -6.392 -75.17, +65.87 -5.312 -75.19, 66.21 -4.112 -74.84, 66.61 -3.747 -74.65, +66.73 -3.747 -74.72, 66.63 -3.747 -74.56, 67.31 -3.777 -74.17, +67.43 -3.777 -74.25, 67.33 -3.777 -74.08, 67.81 -3.468 -73.84, +67.93 -3.468 -73.92, 67.83 -3.468 -73.75, 68.66 -3.657 -73.28, +68.69 -3.657 -73.3, 68.67 -3.657 -73.26, 66.12 -11.79 -75.19, +65.99 -11.79 -75.11, 65.94 -10.71 -75.17, 65.89 -10.71 -75.14, +65.96 -9.632 -75.3, 65.84 -9.632 -75.22, 66 -8.552 -75.3, +65.94 -8.552 -75.27, 66.06 -7.472 -75.34, 65.93 -7.472 -75.26, +65.89 -6.392 -75.27, 65.83 -6.392 -75.23, 65.98 -5.312 -75.32, +65.87 -5.312 -75.25, 66.2 -4.112 -74.93, 66.31 -4.112 -75, +66.02 -11.79 -75.01, 65.89 -10.71 -75.1, 65.86 -9.632 -75.12, +65.95 -8.552 -75.22, 65.95 -7.472 -75.17, 65.84 -6.392 -75.18, +65.89 -5.312 -75.17, 66.22 -4.112 -74.84, 66.6 -3.747 -74.66, +66.72 -3.747 -74.73, 66.62 -3.747 -74.57, 67.3 -3.777 -74.18, +67.42 -3.777 -74.26, 67.32 -3.777 -74.09, 67.8 -3.468 -73.86, +67.92 -3.468 -73.93, 67.82 -3.468 -73.77, 68.65 -3.657 -73.29, +68.68 -3.657 -73.32, 68.65 -3.657 -73.27, 66.11 -11.79 -75.19, +65.99 -11.79 -75.11, 65.92 -10.71 -75.19, 65.87 -10.71 -75.15, +65.98 -9.632 -75.29, 65.85 -9.632 -75.21, 66.01 -8.552 -75.29, +65.95 -8.552 -75.26, 66.04 -7.472 -75.36, 65.91 -7.472 -75.28, +65.88 -6.392 -75.27, 65.82 -6.392 -75.23, 66 -5.312 -75.3, +65.89 -5.312 -75.23, 66.19 -4.112 -74.93, 66.31 -4.112 -75.01, +66.01 -11.79 -75.02, 65.88 -10.71 -75.11, 65.87 -9.632 -75.11, +65.96 -8.552 -75.21, 65.94 -7.472 -75.18, 65.83 -6.392 -75.19, +65.91 -5.312 -75.15, 66.21 -4.112 -74.84, 66.59 -3.747 -74.67, +66.71 -3.747 -74.75, 66.61 -3.747 -74.58, 67.29 -3.777 -74.19, +67.41 -3.777 -74.27, 67.31 -3.777 -74.11, 67.78 -3.468 -73.87, +67.9 -3.468 -73.95, 67.8 -3.468 -73.79, 68.63 -3.657 -73.31, +68.66 -3.657 -73.33, 68.64 -3.657 -73.29, 66.1 -11.79 -75.2, +65.98 -11.79 -75.12, 65.91 -10.71 -75.2, 65.85 -10.71 -75.16, +65.99 -9.632 -75.27, 65.87 -9.632 -75.19, 66.02 -8.552 -75.28, +65.96 -8.552 -75.25, 66.02 -7.472 -75.38, 65.89 -7.472 -75.3, +65.88 -6.392 -75.28, 65.82 -6.392 -75.24, 66.02 -5.312 -75.29, +65.91 -5.312 -75.22, 66.18 -4.112 -74.94, 66.3 -4.112 -75.01, +66 -11.79 -75.03, 65.86 -10.71 -75.13, 65.89 -9.632 -75.1, +65.97 -8.552 -75.2, 65.92 -7.472 -75.2, 65.83 -6.392 -75.19, +65.93 -5.312 -75.13, 66.2 -4.112 -74.85, 66.57 -3.747 -74.68, +66.69 -3.747 -74.76, 66.59 -3.747 -74.59, 67.27 -3.777 -74.21, +67.39 -3.777 -74.29, 67.29 -3.777 -74.12, 67.76 -3.468 -73.89, +67.88 -3.468 -73.97, 67.78 -3.468 -73.8, 68.61 -3.657 -73.33, +68.65 -3.657 -73.35, 68.62 -3.657 -73.3, 66.09 -11.79 -75.22, +65.96 -11.79 -75.14, 65.9 -10.71 -75.21, 65.84 -10.71 -75.18, +66.01 -9.632 -75.26, 65.88 -9.632 -75.18, 66.02 -8.552 -75.28, +65.96 -8.552 -75.24, 66 -7.472 -75.39, 65.88 -7.472 -75.31, +65.88 -6.392 -75.27, 65.82 -6.392 -75.23, 66.04 -5.312 -75.27, +65.93 -5.312 -75.2, 66.17 -4.112 -74.95, 66.29 -4.112 -75.02, +65.98 -11.79 -75.04, 65.85 -10.71 -75.14, 65.91 -9.632 -75.08, +65.97 -8.552 -75.2, 65.9 -7.472 -75.22, 65.83 -6.392 -75.19, +65.95 -5.312 -75.12, 66.19 -4.112 -74.86, 66.55 -3.747 -74.7, +66.67 -3.747 -74.78, 66.57 -3.747 -74.61, 67.26 -3.777 -74.23, +67.37 -3.777 -74.3, 67.28 -3.777 -74.14, 67.74 -3.468 -73.91, +67.86 -3.468 -73.99, 67.76 -3.468 -73.82, 68.6 -3.657 -73.34, +68.63 -3.657 -73.36, 68.6 -3.657 -73.32, 66.07 -11.79 -75.23, +65.95 -11.79 -75.15, 65.89 -10.71 -75.22, 65.84 -10.71 -75.18, +66.03 -9.632 -75.24, 65.9 -9.632 -75.16, 66.02 -8.552 -75.28, +65.97 -8.552 -75.24, 65.98 -7.472 -75.41, 65.86 -7.472 -75.33, +65.89 -6.392 -75.27, 65.83 -6.392 -75.23, 66.05 -5.312 -75.25, +65.94 -5.312 -75.18, 66.16 -4.112 -74.96, 66.28 -4.112 -75.04, +65.97 -11.79 -75.06, 65.84 -10.71 -75.14, 65.92 -9.632 -75.06, +65.98 -8.552 -75.2, 65.88 -7.472 -75.24, 65.84 -6.392 -75.18, +65.96 -5.312 -75.1, 66.18 -4.112 -74.87, 66.54 -3.747 -74.72, +66.65 -3.747 -74.8, 66.55 -3.747 -74.63, 67.24 -3.777 -74.24, +67.36 -3.777 -74.32, 67.26 -3.777 -74.15, 67.72 -3.468 -73.93, +67.84 -3.468 -74.01, 67.74 -3.468 -73.84, 68.58 -3.657 -73.36, +68.61 -3.657 -73.38, 68.58 -3.657 -73.34, 66.05 -11.79 -75.25, +65.93 -11.79 -75.17, 65.89 -10.71 -75.22, 65.83 -10.71 -75.19, +66.05 -9.632 -75.22, 65.92 -9.632 -75.14, 66.02 -8.552 -75.28, +65.96 -8.552 -75.24, 65.96 -7.472 -75.43, 65.84 -7.472 -75.35, +65.9 -6.392 -75.26, 65.84 -6.392 -75.22, 66.07 -5.312 -75.24, +65.96 -5.312 -75.17, 66.14 -4.112 -74.97, 66.26 -4.112 -75.05, +65.95 -11.79 -75.08, 65.84 -10.71 -75.15, 65.94 -9.632 -75.05, +65.97 -8.552 -75.2, 65.86 -7.472 -75.26, 65.85 -6.392 -75.18, +65.98 -5.312 -75.09, 66.16 -4.112 -74.89, 66.52 -3.747 -74.74, +66.63 -3.747 -74.81, 66.54 -3.747 -74.65, 67.22 -3.777 -74.26, +67.34 -3.777 -74.34, 67.24 -3.777 -74.17, 67.7 -3.468 -73.94, +67.82 -3.468 -74.02, 67.72 -3.468 -73.86, 68.56 -3.657 -73.38, +68.59 -3.657 -73.4, 68.56 -3.657 -73.36, ] +} +] +} +] +ROUTE seaweed01-TIMER.fraction_changed TO Plane28-COORD-INTERP.set_fraction +ROUTE Plane28-COORD-INTERP.value_changed TO Plane28-COORD.set_point +ROUTE seaweed01-TIMER.fraction_changed TO Plane29-COORD-INTERP.set_fraction +ROUTE Plane29-COORD-INTERP.value_changed TO Plane29-COORD.set_point +ROUTE seaweed01-TIMER.fraction_changed TO Plane30-COORD-INTERP.set_fraction +ROUTE Plane30-COORD-INTERP.value_changed TO Plane30-COORD.set_point +ROUTE seaweed01-TIMER.fraction_changed TO Plane31-COORD-INTERP.set_fraction +ROUTE Plane31-COORD-INTERP.value_changed TO Plane31-COORD.set_point +} +DEF seaweed02 Transform { +translation 37.69 -5.921 -115.2 +children [ +DEF seaweed02-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +DEF Plane32 Transform { +translation -37.69 5.921 115.2 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane32-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane32-COORD Coordinate { +point [ 37.7 -11.79 -115 37.58 -11.79 -114.9 37.53 -10.71 -115 37.48 -10.71 +-114.9 37.7 -9.632 -115 37.57 -9.632 -114.9 37.67 -8.552 -115 37.61 -8.552 +-115 37.61 -7.472 -115.2 37.49 -7.472 -115.1 37.55 -6.392 -115 37.48 -6.392 +-115 37.72 -5.312 -115 37.61 -5.312 -114.9 37.79 -4.112 -114.7 37.91 -4.112 +-114.8 37.6 -11.79 -114.8 37.49 -10.71 -114.9 37.59 -9.632 -114.8 37.62 -8.552 +-115 37.51 -7.472 -115 37.5 -6.392 -114.9 37.63 -5.312 -114.8 37.81 -4.112 +-114.6 38.16 -3.747 -114.5 38.28 -3.747 -114.6 38.18 -3.747 -114.4 38.87 -3.777 +-114 38.98 -3.777 -114.1 38.89 -3.777 -113.9 39.35 -3.468 -113.7 39.47 -3.468 +-113.8 39.37 -3.468 -113.6 40.21 -3.657 -113.1 40.24 -3.657 -113.2 40.21 -3.657 +-113.1 ] +} +texCoord DEF Plane32-TEXCOORD +TextureCoordinate { point [ 0 0 1 0 0 1 1 1 ] } coordIndex [ 2 0 3 -1 1 3 0 +-1 4 2 5 -1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 10 8 11 -1 9 11 8 +-1 12 10 13 -1 11 13 10 -1 14 15 12 -1 12 13 14 -1 3 1 17 -1 16 17 1 -1 5 3 +18 -1 17 18 3 -1 7 5 19 -1 18 19 5 -1 9 7 20 -1 19 20 7 -1 11 9 21 -1 20 21 +9 -1 13 11 22 -1 21 22 11 -1 23 14 13 -1 13 22 23 -1 24 25 15 -1 15 14 24 +-1 26 24 14 -1 14 23 26 -1 27 28 25 -1 25 24 27 -1 29 27 24 -1 24 26 29 -1 30 +31 28 -1 28 27 30 -1 32 30 27 -1 27 29 32 -1 33 34 31 -1 31 30 33 -1 35 33 30 +-1 30 32 35 -1 ] texCoordIndex +[ 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 +0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 3 2 0 -1 0 1 3 -1 2 0 3 -1 1 3 0 -1 2 0 3 +-1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 +3 0 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 +-1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 +2 0 -1 0 1 3 -1 ] +} +} +DEF Plane32-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, +0.2667, 0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, +0.5333, 0.5667, 0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, +0.8, 0.8333, 0.8667, 0.9, 0.9333, 0.9667, 1, ] +keyValue [37.7 -11.79 -115, +37.58 -11.79 -114.9, 37.53 -10.71 -115, 37.48 -10.71 -114.9, +37.7 -9.632 -115, 37.57 -9.632 -114.9, 37.67 -8.552 -115, +37.61 -8.552 -115, 37.61 -7.472 -115.2, 37.49 -7.472 -115.1, +37.55 -6.392 -115, 37.48 -6.392 -115, 37.72 -5.312 -115, +37.61 -5.312 -114.9, 37.79 -4.112 -114.7, 37.91 -4.112 -114.8, +37.6 -11.79 -114.8, 37.49 -10.71 -114.9, 37.59 -9.632 -114.8, +37.62 -8.552 -115, 37.51 -7.472 -115, 37.5 -6.392 -114.9, +37.63 -5.312 -114.8, 37.81 -4.112 -114.6, 38.16 -3.747 -114.5, +38.28 -3.747 -114.6, 38.18 -3.747 -114.4, 38.87 -3.777 -114, +38.98 -3.777 -114.1, 38.89 -3.777 -113.9, 39.35 -3.468 -113.7, +39.47 -3.468 -113.8, 39.37 -3.468 -113.6, 40.21 -3.657 -113.1, +40.24 -3.657 -113.2, 40.21 -3.657 -113.1, 37.68 -11.79 -115, +37.56 -11.79 -114.9, 37.53 -10.71 -115, 37.48 -10.71 -114.9, +37.72 -9.632 -115, 37.59 -9.632 -114.9, 37.66 -8.552 -115, +37.6 -8.552 -115, 37.59 -7.472 -115.2, 37.47 -7.472 -115.1, +37.56 -6.392 -115, 37.5 -6.392 -115, 37.73 -5.312 -115, +37.62 -5.312 -114.9, 37.77 -4.112 -114.8, 37.89 -4.112 -114.8, +37.58 -11.79 -114.9, 37.49 -10.71 -114.9, 37.61 -9.632 -114.8, +37.61 -8.552 -115, 37.49 -7.472 -115, 37.51 -6.392 -114.9, +37.64 -5.312 -114.8, 37.79 -4.112 -114.7, 38.15 -3.747 -114.5, +38.26 -3.747 -114.6, 38.16 -3.747 -114.4, 38.85 -3.777 -114, +38.97 -3.777 -114.1, 38.87 -3.777 -113.9, 39.34 -3.468 -113.7, +39.46 -3.468 -113.8, 39.36 -3.468 -113.6, 40.19 -3.657 -113.2, +40.22 -3.657 -113.2, 40.19 -3.657 -113.1, 37.66 -11.79 -115, +37.54 -11.79 -115, 37.54 -10.71 -115, 37.49 -10.71 -114.9, +37.73 -9.632 -114.9, 37.61 -9.632 -114.9, 37.65 -8.552 -115.1, +37.59 -8.552 -115, 37.58 -7.472 -115.2, 37.45 -7.472 -115.1, +37.57 -6.392 -115, 37.51 -6.392 -115, 37.74 -5.312 -115, +37.63 -5.312 -114.9, 37.75 -4.112 -114.8, 37.87 -4.112 -114.8, +37.56 -11.79 -114.9, 37.49 -10.71 -114.9, 37.63 -9.632 -114.8, +37.6 -8.552 -115, 37.48 -7.472 -115, 37.52 -6.392 -114.9, +37.65 -5.312 -114.8, 37.77 -4.112 -114.7, 38.13 -3.747 -114.5, +38.25 -3.747 -114.6, 38.15 -3.747 -114.4, 38.83 -3.777 -114.1, +38.95 -3.777 -114.1, 38.85 -3.777 -114, 39.33 -3.468 -113.7, +39.45 -3.468 -113.8, 39.35 -3.468 -113.6, 40.17 -3.657 -113.2, +40.2 -3.657 -113.2, 40.18 -3.657 -113.1, 37.64 -11.79 -115.1, +37.52 -11.79 -115, 37.55 -10.71 -115, 37.49 -10.71 -114.9, +37.75 -9.632 -114.9, 37.62 -9.632 -114.8, 37.64 -8.552 -115.1, +37.58 -8.552 -115, 37.57 -7.472 -115.2, 37.44 -7.472 -115.1, +37.59 -6.392 -115, 37.53 -6.392 -114.9, 37.75 -5.312 -115, +37.64 -5.312 -114.9, 37.73 -4.112 -114.8, 37.85 -4.112 -114.9, +37.54 -11.79 -114.9, 37.5 -10.71 -114.9, 37.65 -9.632 -114.8, +37.59 -8.552 -115, 37.46 -7.472 -115.1, 37.54 -6.392 -114.9, +37.65 -5.312 -114.8, 37.75 -4.112 -114.7, 38.11 -3.747 -114.5, +38.23 -3.747 -114.6, 38.13 -3.747 -114.5, 38.81 -3.777 -114.1, +38.93 -3.777 -114.1, 38.83 -3.777 -114, 39.32 -3.468 -113.7, +39.44 -3.468 -113.8, 39.34 -3.468 -113.6, 40.16 -3.657 -113.2, +40.19 -3.657 -113.2, 40.16 -3.657 -113.2, 37.63 -11.79 -115.1, +37.5 -11.79 -115, 37.56 -10.71 -115, 37.51 -10.71 -114.9, +37.76 -9.632 -114.9, 37.64 -9.632 -114.8, 37.62 -8.552 -115.1, +37.56 -8.552 -115, 37.56 -7.472 -115.2, 37.44 -7.472 -115.2, +37.61 -6.392 -115, 37.55 -6.392 -114.9, 37.75 -5.312 -115, +37.64 -5.312 -114.9, 37.72 -4.112 -114.8, 37.83 -4.112 -114.9, +37.52 -11.79 -114.9, 37.51 -10.71 -114.9, 37.66 -9.632 -114.7, +37.57 -8.552 -115, 37.46 -7.472 -115.1, 37.56 -6.392 -114.9, +37.66 -5.312 -114.8, 37.73 -4.112 -114.7, 38.1 -3.747 -114.6, +38.22 -3.747 -114.6, 38.12 -3.747 -114.5, 38.8 -3.777 -114.1, +38.92 -3.777 -114.2, 38.82 -3.777 -114, 39.31 -3.468 -113.7, +39.43 -3.468 -113.8, 39.33 -3.468 -113.7, 40.15 -3.657 -113.2, +40.18 -3.657 -113.2, 40.15 -3.657 -113.2, 37.61 -11.79 -115.1, +37.49 -11.79 -115, 37.57 -10.71 -114.9, 37.52 -10.71 -114.9, +37.77 -9.632 -114.9, 37.65 -9.632 -114.8, 37.6 -8.552 -115.1, +37.55 -8.552 -115.1, 37.56 -7.472 -115.2, 37.43 -7.472 -115.2, +37.63 -6.392 -114.9, 37.57 -6.392 -114.9, 37.74 -5.312 -115, +37.63 -5.312 -114.9, 37.7 -4.112 -114.8, 37.82 -4.112 -114.9, +37.51 -11.79 -114.9, 37.53 -10.71 -114.9, 37.67 -9.632 -114.7, +37.56 -8.552 -115, 37.45 -7.472 -115.1, 37.58 -6.392 -114.9, +37.65 -5.312 -114.8, 37.72 -4.112 -114.7, 38.09 -3.747 -114.6, +38.21 -3.747 -114.6, 38.11 -3.747 -114.5, 38.79 -3.777 -114.1, +38.91 -3.777 -114.2, 38.81 -3.777 -114, 39.31 -3.468 -113.7, +39.43 -3.468 -113.8, 39.33 -3.468 -113.7, 40.14 -3.657 -113.2, +40.17 -3.657 -113.2, 40.15 -3.657 -113.2, 37.6 -11.79 -115.1, +37.47 -11.79 -115, 37.59 -10.71 -114.9, 37.54 -10.71 -114.9, +37.78 -9.632 -114.9, 37.65 -9.632 -114.8, 37.58 -8.552 -115.1, +37.53 -8.552 -115.1, 37.56 -7.472 -115.2, 37.43 -7.472 -115.2, +37.65 -6.392 -114.9, 37.59 -6.392 -114.9, 37.74 -5.312 -115, +37.63 -5.312 -114.9, 37.68 -4.112 -114.8, 37.8 -4.112 -114.9, +37.5 -11.79 -114.9, 37.55 -10.71 -114.9, 37.68 -9.632 -114.7, +37.54 -8.552 -115, 37.45 -7.472 -115.1, 37.6 -6.392 -114.8, +37.65 -5.312 -114.8, 37.7 -4.112 -114.7, 38.09 -3.747 -114.6, +38.2 -3.747 -114.6, 38.1 -3.747 -114.5, 38.78 -3.777 -114.1, +38.9 -3.777 -114.2, 38.8 -3.777 -114, 39.32 -3.468 -113.7, +39.43 -3.468 -113.8, 39.34 -3.468 -113.6, 40.14 -3.657 -113.2, +40.17 -3.657 -113.2, 40.14 -3.657 -113.2, 37.59 -11.79 -115.1, +37.47 -11.79 -115, 37.61 -10.71 -114.9, 37.56 -10.71 -114.9, +37.78 -9.632 -114.9, 37.66 -9.632 -114.8, 37.57 -8.552 -115.1, +37.51 -8.552 -115.1, 37.56 -7.472 -115.2, 37.44 -7.472 -115.2, +37.67 -6.392 -114.9, 37.61 -6.392 -114.9, 37.73 -5.312 -115, +37.62 -5.312 -114.9, 37.67 -4.112 -114.8, 37.79 -4.112 -114.9, +37.49 -11.79 -114.9, 37.57 -10.71 -114.8, 37.68 -9.632 -114.7, +37.52 -8.552 -115.1, 37.46 -7.472 -115.1, 37.62 -6.392 -114.8, +37.64 -5.312 -114.8, 37.69 -4.112 -114.8, 38.08 -3.747 -114.6, +38.2 -3.747 -114.6, 38.1 -3.747 -114.5, 38.78 -3.777 -114.1, +38.9 -3.777 -114.2, 38.8 -3.777 -114, 39.32 -3.468 -113.7, +39.44 -3.468 -113.8, 39.34 -3.468 -113.6, 40.14 -3.657 -113.2, +40.17 -3.657 -113.2, 40.15 -3.657 -113.2, 37.59 -11.79 -115.1, +37.46 -11.79 -115, 37.63 -10.71 -114.9, 37.58 -10.71 -114.9, +37.78 -9.632 -114.9, 37.65 -9.632 -114.8, 37.55 -8.552 -115.2, +37.49 -8.552 -115.1, 37.57 -7.472 -115.2, 37.44 -7.472 -115.1, +37.68 -6.392 -114.9, 37.62 -6.392 -114.9, 37.71 -5.312 -115, +37.6 -5.312 -114.9, 37.66 -4.112 -114.9, 37.78 -4.112 -114.9, +37.48 -11.79 -114.9, 37.58 -10.71 -114.8, 37.68 -9.632 -114.7, +37.5 -8.552 -115.1, 37.47 -7.472 -115.1, 37.63 -6.392 -114.8, +37.62 -5.312 -114.8, 37.68 -4.112 -114.8, 38.09 -3.747 -114.6, +38.21 -3.747 -114.6, 38.11 -3.747 -114.5, 38.78 -3.777 -114.1, +38.9 -3.777 -114.2, 38.8 -3.777 -114, 39.33 -3.468 -113.7, +39.45 -3.468 -113.8, 39.35 -3.468 -113.6, 40.15 -3.657 -113.2, +40.18 -3.657 -113.2, 40.15 -3.657 -113.2, 37.58 -11.79 -115.1, +37.46 -11.79 -115, 37.65 -10.71 -114.9, 37.59 -10.71 -114.8, +37.77 -9.632 -114.9, 37.65 -9.632 -114.8, 37.53 -8.552 -115.2, +37.47 -8.552 -115.1, 37.58 -7.472 -115.2, 37.46 -7.472 -115.1, +37.7 -6.392 -114.9, 37.64 -6.392 -114.8, 37.7 -5.312 -115, +37.59 -5.312 -114.9, 37.66 -4.112 -114.9, 37.78 -4.112 -114.9, +37.48 -11.79 -114.9, 37.6 -10.71 -114.8, 37.67 -9.632 -114.7, +37.48 -8.552 -115.1, 37.48 -7.472 -115, 37.65 -6.392 -114.8, +37.61 -5.312 -114.9, 37.68 -4.112 -114.8, 38.09 -3.747 -114.6, +38.21 -3.747 -114.6, 38.11 -3.747 -114.5, 38.79 -3.777 -114.1, +38.91 -3.777 -114.2, 38.81 -3.777 -114, 39.35 -3.468 -113.7, +39.47 -3.468 -113.8, 39.37 -3.468 -113.6, 40.16 -3.657 -113.2, +40.19 -3.657 -113.2, 40.16 -3.657 -113.2, 37.59 -11.79 -115.1, +37.46 -11.79 -115, 37.67 -10.71 -114.9, 37.61 -10.71 -114.8, +37.77 -9.632 -114.9, 37.64 -9.632 -114.8, 37.51 -8.552 -115.2, +37.46 -8.552 -115.1, 37.6 -7.472 -115.2, 37.47 -7.472 -115.1, +37.71 -6.392 -114.9, 37.65 -6.392 -114.8, 37.68 -5.312 -115, +37.57 -5.312 -115, 37.66 -4.112 -114.9, 37.78 -4.112 -114.9, +37.48 -11.79 -114.9, 37.62 -10.71 -114.8, 37.66 -9.632 -114.7, +37.47 -8.552 -115.1, 37.49 -7.472 -115, 37.66 -6.392 -114.8, +37.59 -5.312 -114.9, 37.68 -4.112 -114.8, 38.1 -3.747 -114.6, +38.22 -3.747 -114.6, 38.12 -3.747 -114.5, 38.8 -3.777 -114.1, +38.92 -3.777 -114.2, 38.82 -3.777 -114, 39.36 -3.468 -113.7, +39.48 -3.468 -113.8, 39.38 -3.468 -113.6, 40.17 -3.657 -113.2, +40.2 -3.657 -113.2, 40.17 -3.657 -113.1, 37.59 -11.79 -115.1, +37.47 -11.79 -115, 37.68 -10.71 -114.8, 37.63 -10.71 -114.8, +37.75 -9.632 -114.9, 37.63 -9.632 -114.8, 37.5 -8.552 -115.2, +37.44 -8.552 -115.2, 37.61 -7.472 -115.2, 37.49 -7.472 -115.1, +37.71 -6.392 -114.9, 37.65 -6.392 -114.8, 37.66 -5.312 -115.1, +37.55 -5.312 -115, 37.66 -4.112 -114.9, 37.78 -4.112 -114.9, +37.49 -11.79 -114.9, 37.64 -10.71 -114.8, 37.65 -9.632 -114.8, +37.45 -8.552 -115.1, 37.51 -7.472 -115, 37.66 -6.392 -114.8, +37.57 -5.312 -114.9, 37.68 -4.112 -114.8, 38.12 -3.747 -114.5, +38.24 -3.747 -114.6, 38.14 -3.747 -114.4, 38.81 -3.777 -114.1, +38.93 -3.777 -114.1, 38.83 -3.777 -114, 39.38 -3.468 -113.7, +39.5 -3.468 -113.8, 39.4 -3.468 -113.6, 40.18 -3.657 -113.2, +40.22 -3.657 -113.2, 40.19 -3.657 -113.1, 37.61 -11.79 -115.1, +37.48 -11.79 -115, 37.7 -10.71 -114.8, 37.64 -10.71 -114.8, +37.74 -9.632 -114.9, 37.61 -9.632 -114.9, 37.49 -8.552 -115.2, +37.43 -8.552 -115.2, 37.63 -7.472 -115.2, 37.51 -7.472 -115.1, +37.72 -6.392 -114.9, 37.66 -6.392 -114.8, 37.64 -5.312 -115.1, +37.53 -5.312 -115, 37.67 -4.112 -114.8, 37.79 -4.112 -114.9, +37.5 -11.79 -114.9, 37.65 -10.71 -114.8, 37.63 -9.632 -114.8, +37.44 -8.552 -115.1, 37.53 -7.472 -115, 37.67 -6.392 -114.8, +37.55 -5.312 -114.9, 37.69 -4.112 -114.8, 38.13 -3.747 -114.5, +38.25 -3.747 -114.6, 38.15 -3.747 -114.4, 38.83 -3.777 -114.1, +38.95 -3.777 -114.1, 38.85 -3.777 -114, 39.4 -3.468 -113.7, +39.52 -3.468 -113.7, 39.42 -3.468 -113.6, 40.2 -3.657 -113.1, +40.23 -3.657 -113.2, 40.21 -3.657 -113.1, 37.62 -11.79 -115.1, +37.49 -11.79 -115, 37.71 -10.71 -114.8, 37.66 -10.71 -114.8, +37.72 -9.632 -115, 37.59 -9.632 -114.9, 37.49 -8.552 -115.2, +37.43 -8.552 -115.2, 37.65 -7.472 -115.2, 37.52 -7.472 -115.1, +37.72 -6.392 -114.9, 37.65 -6.392 -114.8, 37.62 -5.312 -115.1, +37.51 -5.312 -115, 37.68 -4.112 -114.8, 37.8 -4.112 -114.9, +37.52 -11.79 -114.9, 37.66 -10.71 -114.7, 37.62 -9.632 -114.8, +37.44 -8.552 -115.1, 37.55 -7.472 -115, 37.66 -6.392 -114.8, +37.53 -5.312 -114.9, 37.7 -4.112 -114.7, 38.15 -3.747 -114.5, +38.27 -3.747 -114.6, 38.17 -3.747 -114.4, 38.85 -3.777 -114, +38.96 -3.777 -114.1, 38.86 -3.777 -114, 39.42 -3.468 -113.6, +39.54 -3.468 -113.7, 39.44 -3.468 -113.6, 40.22 -3.657 -113.1, +40.25 -3.657 -113.1, 40.23 -3.657 -113.1, 37.64 -11.79 -115.1, +37.51 -11.79 -115, 37.72 -10.71 -114.8, 37.66 -10.71 -114.8, +37.7 -9.632 -115, 37.57 -9.632 -114.9, 37.49 -8.552 -115.2, +37.43 -8.552 -115.2, 37.67 -7.472 -115.1, 37.54 -7.472 -115.1, +37.71 -6.392 -114.9, 37.65 -6.392 -114.8, 37.6 -5.312 -115.1, +37.49 -5.312 -115, 37.69 -4.112 -114.8, 37.81 -4.112 -114.9, +37.53 -11.79 -114.9, 37.67 -10.71 -114.7, 37.6 -9.632 -114.8, +37.44 -8.552 -115.1, 37.57 -7.472 -115, 37.66 -6.392 -114.8, +37.51 -5.312 -115, 37.71 -4.112 -114.7, 38.17 -3.747 -114.5, +38.29 -3.747 -114.6, 38.19 -3.747 -114.4, 38.86 -3.777 -114, +38.98 -3.777 -114.1, 38.88 -3.777 -113.9, 39.44 -3.468 -113.6, +39.56 -3.468 -113.7, 39.46 -3.468 -113.5, 40.24 -3.657 -113.1, +40.27 -3.657 -113.1, 40.24 -3.657 -113.1, 37.65 -11.79 -115.1, +37.53 -11.79 -115, 37.72 -10.71 -114.8, 37.67 -10.71 -114.8, +37.68 -9.632 -115, 37.56 -9.632 -114.9, 37.49 -8.552 -115.2, +37.43 -8.552 -115.2, 37.69 -7.472 -115.1, 37.56 -7.472 -115, +37.7 -6.392 -114.9, 37.64 -6.392 -114.8, 37.59 -5.312 -115.1, +37.48 -5.312 -115, 37.71 -4.112 -114.8, 37.83 -4.112 -114.9, +37.55 -11.79 -114.9, 37.68 -10.71 -114.7, 37.58 -9.632 -114.8, +37.44 -8.552 -115.1, 37.58 -7.472 -114.9, 37.65 -6.392 -114.8, +37.5 -5.312 -115, 37.73 -4.112 -114.7, 38.19 -3.747 -114.5, +38.31 -3.747 -114.5, 38.21 -3.747 -114.4, 38.88 -3.777 -114, +39 -3.777 -114.1, 38.9 -3.777 -113.9, 39.46 -3.468 -113.6, +39.58 -3.468 -113.7, 39.48 -3.468 -113.5, 40.26 -3.657 -113.1, +40.29 -3.657 -113.1, 40.26 -3.657 -113.1, 37.67 -11.79 -115, +37.55 -11.79 -115, 37.72 -10.71 -114.8, 37.67 -10.71 -114.8, +37.66 -9.632 -115, 37.54 -9.632 -114.9, 37.5 -8.552 -115.2, +37.44 -8.552 -115.2, 37.71 -7.472 -115.1, 37.58 -7.472 -115, +37.69 -6.392 -114.9, 37.63 -6.392 -114.8, 37.58 -5.312 -115.1, +37.47 -5.312 -115.1, 37.73 -4.112 -114.8, 37.85 -4.112 -114.9, +37.57 -11.79 -114.9, 37.68 -10.71 -114.7, 37.56 -9.632 -114.8, +37.45 -8.552 -115.1, 37.6 -7.472 -114.9, 37.64 -6.392 -114.8, +37.49 -5.312 -115, 37.75 -4.112 -114.7, 38.21 -3.747 -114.5, +38.33 -3.747 -114.5, 38.23 -3.747 -114.4, 38.9 -3.777 -114, +39.02 -3.777 -114.1, 38.92 -3.777 -113.9, 39.47 -3.468 -113.6, +39.59 -3.468 -113.7, 39.49 -3.468 -113.5, 40.28 -3.657 -113.1, +40.31 -3.657 -113.1, 40.28 -3.657 -113, 37.69 -11.79 -115, +37.57 -11.79 -114.9, 37.72 -10.71 -114.8, 37.66 -10.71 -114.8, +37.64 -9.632 -115, 37.52 -9.632 -114.9, 37.51 -8.552 -115.2, +37.45 -8.552 -115.2, 37.72 -7.472 -115.1, 37.59 -7.472 -115, +37.67 -6.392 -114.9, 37.61 -6.392 -114.9, 37.57 -5.312 -115.1, +37.46 -5.312 -115.1, 37.75 -4.112 -114.8, 37.87 -4.112 -114.8, +37.59 -11.79 -114.8, 37.67 -10.71 -114.7, 37.54 -9.632 -114.9, +37.46 -8.552 -115.1, 37.62 -7.472 -114.9, 37.62 -6.392 -114.8, +37.48 -5.312 -115, 37.77 -4.112 -114.7, 38.23 -3.747 -114.4, +38.35 -3.747 -114.5, 38.25 -3.747 -114.3, 38.92 -3.777 -114, +39.04 -3.777 -114, 38.94 -3.777 -113.9, 39.49 -3.468 -113.6, +39.6 -3.468 -113.7, 39.5 -3.468 -113.5, 40.29 -3.657 -113.1, +40.32 -3.657 -113.1, 40.3 -3.657 -113, 37.71 -11.79 -115, +37.59 -11.79 -114.9, 37.71 -10.71 -114.8, 37.65 -10.71 -114.8, +37.63 -9.632 -115, 37.5 -9.632 -115, 37.52 -8.552 -115.2, +37.46 -8.552 -115.1, 37.73 -7.472 -115.1, 37.61 -7.472 -115, +37.66 -6.392 -114.9, 37.59 -6.392 -114.9, 37.56 -5.312 -115.1, +37.45 -5.312 -115.1, 37.77 -4.112 -114.8, 37.89 -4.112 -114.8, +37.61 -11.79 -114.8, 37.66 -10.71 -114.7, 37.52 -9.632 -114.9, +37.47 -8.552 -115.1, 37.63 -7.472 -114.9, 37.6 -6.392 -114.8, +37.47 -5.312 -115, 37.79 -4.112 -114.7, 38.24 -3.747 -114.4, +38.36 -3.747 -114.5, 38.26 -3.747 -114.3, 38.94 -3.777 -114, +39.06 -3.777 -114, 38.96 -3.777 -113.9, 39.49 -3.468 -113.6, +39.61 -3.468 -113.6, 39.51 -3.468 -113.5, 40.31 -3.657 -113, +40.34 -3.657 -113.1, 40.31 -3.657 -113, 37.73 -11.79 -115, +37.6 -11.79 -114.9, 37.7 -10.71 -114.8, 37.64 -10.71 -114.8, +37.61 -9.632 -115.1, 37.49 -9.632 -115, 37.54 -8.552 -115.2, +37.48 -8.552 -115.1, 37.74 -7.472 -115.1, 37.61 -7.472 -115, +37.64 -6.392 -114.9, 37.58 -6.392 -114.9, 37.56 -5.312 -115.1, +37.45 -5.312 -115.1, 37.79 -4.112 -114.7, 37.91 -4.112 -114.8, +37.63 -11.79 -114.8, 37.65 -10.71 -114.8, 37.51 -9.632 -114.9, +37.49 -8.552 -115.1, 37.63 -7.472 -114.9, 37.59 -6.392 -114.8, +37.47 -5.312 -115, 37.81 -4.112 -114.6, 38.26 -3.747 -114.4, +38.37 -3.747 -114.5, 38.27 -3.747 -114.3, 38.95 -3.777 -113.9, +39.07 -3.777 -114, 38.97 -3.777 -113.9, 39.5 -3.468 -113.6, +39.62 -3.468 -113.6, 39.52 -3.468 -113.5, 40.32 -3.657 -113, +40.35 -3.657 -113.1, 40.32 -3.657 -113, 37.74 -11.79 -115, +37.62 -11.79 -114.9, 37.68 -10.71 -114.8, 37.63 -10.71 -114.8, +37.6 -9.632 -115.1, 37.48 -9.632 -115, 37.55 -8.552 -115.1, +37.5 -8.552 -115.1, 37.74 -7.472 -115.1, 37.62 -7.472 -115, +37.62 -6.392 -115, 37.56 -6.392 -114.9, 37.56 -5.312 -115.1, +37.45 -5.312 -115.1, 37.8 -4.112 -114.7, 37.92 -4.112 -114.8, +37.64 -11.79 -114.8, 37.64 -10.71 -114.8, 37.5 -9.632 -114.9, +37.51 -8.552 -115.1, 37.64 -7.472 -114.9, 37.57 -6.392 -114.9, +37.47 -5.312 -115, 37.82 -4.112 -114.6, 38.26 -3.747 -114.4, +38.38 -3.747 -114.5, 38.28 -3.747 -114.3, 38.96 -3.777 -113.9, +39.08 -3.777 -114, 38.98 -3.777 -113.8, 39.5 -3.468 -113.6, +39.62 -3.468 -113.6, 39.52 -3.468 -113.5, 40.32 -3.657 -113, +40.35 -3.657 -113, 40.33 -3.657 -113, 37.76 -11.79 -115, +37.63 -11.79 -114.9, 37.66 -10.71 -114.9, 37.61 -10.71 -114.8, +37.6 -9.632 -115.1, 37.47 -9.632 -115, 37.57 -8.552 -115.1, +37.52 -8.552 -115.1, 37.74 -7.472 -115.1, 37.62 -7.472 -115, +37.6 -6.392 -115, 37.54 -6.392 -114.9, 37.57 -5.312 -115.1, +37.46 -5.312 -115.1, 37.82 -4.112 -114.7, 37.94 -4.112 -114.8, +37.65 -11.79 -114.8, 37.62 -10.71 -114.8, 37.49 -9.632 -114.9, +37.53 -8.552 -115, 37.64 -7.472 -114.9, 37.55 -6.392 -114.9, +37.48 -5.312 -115, 37.84 -4.112 -114.6, 38.27 -3.747 -114.4, +38.39 -3.747 -114.5, 38.29 -3.747 -114.3, 38.97 -3.777 -113.9, +39.08 -3.777 -114, 38.99 -3.777 -113.8, 39.5 -3.468 -113.6, +39.61 -3.468 -113.6, 39.51 -3.468 -113.5, 40.33 -3.657 -113, +40.36 -3.657 -113, 40.33 -3.657 -113, 37.77 -11.79 -114.9, +37.64 -11.79 -114.9, 37.64 -10.71 -114.9, 37.59 -10.71 -114.8, +37.59 -9.632 -115.1, 37.47 -9.632 -115, 37.59 -8.552 -115.1, +37.53 -8.552 -115.1, 37.74 -7.472 -115.1, 37.61 -7.472 -115, +37.58 -6.392 -115, 37.52 -6.392 -114.9, 37.58 -5.312 -115.1, +37.47 -5.312 -115.1, 37.83 -4.112 -114.7, 37.95 -4.112 -114.8, +37.66 -11.79 -114.8, 37.6 -10.71 -114.8, 37.49 -9.632 -114.9, +37.54 -8.552 -115, 37.63 -7.472 -114.9, 37.53 -6.392 -114.9, +37.49 -5.312 -115, 37.85 -4.112 -114.6, 38.27 -3.747 -114.4, +38.39 -3.747 -114.5, 38.29 -3.747 -114.3, 38.97 -3.777 -113.9, +39.09 -3.777 -114, 38.99 -3.777 -113.8, 39.49 -3.468 -113.6, +39.61 -3.468 -113.7, 39.51 -3.468 -113.5, 40.32 -3.657 -113, +40.36 -3.657 -113, 40.33 -3.657 -113, 37.77 -11.79 -114.9, +37.64 -11.79 -114.9, 37.63 -10.71 -114.9, 37.57 -10.71 -114.9, +37.6 -9.632 -115.1, 37.47 -9.632 -115, 37.61 -8.552 -115.1, +37.55 -8.552 -115.1, 37.73 -7.472 -115.1, 37.61 -7.472 -115, +37.56 -6.392 -115, 37.5 -6.392 -115, 37.59 -5.312 -115.1, +37.48 -5.312 -115, 37.84 -4.112 -114.7, 37.96 -4.112 -114.8, +37.67 -11.79 -114.8, 37.58 -10.71 -114.8, 37.49 -9.632 -114.9, +37.56 -8.552 -115, 37.63 -7.472 -114.9, 37.51 -6.392 -114.9, +37.5 -5.312 -115, 37.86 -4.112 -114.6, 38.27 -3.747 -114.4, +38.39 -3.747 -114.5, 38.29 -3.747 -114.3, 38.97 -3.777 -113.9, +39.09 -3.777 -114, 38.99 -3.777 -113.8, 39.48 -3.468 -113.6, +39.6 -3.468 -113.7, 39.5 -3.468 -113.5, 40.32 -3.657 -113, +40.35 -3.657 -113.1, 40.32 -3.657 -113, 37.77 -11.79 -114.9, +37.65 -11.79 -114.9, 37.61 -10.71 -114.9, 37.55 -10.71 -114.9, +37.6 -9.632 -115.1, 37.48 -9.632 -115, 37.63 -8.552 -115.1, +37.57 -8.552 -115, 37.72 -7.472 -115.1, 37.59 -7.472 -115, +37.55 -6.392 -115, 37.49 -6.392 -115, 37.61 -5.312 -115.1, +37.5 -5.312 -115, 37.84 -4.112 -114.7, 37.96 -4.112 -114.8, +37.67 -11.79 -114.8, 37.56 -10.71 -114.8, 37.5 -9.632 -114.9, +37.58 -8.552 -115, 37.62 -7.472 -114.9, 37.5 -6.392 -114.9, +37.52 -5.312 -114.9, 37.86 -4.112 -114.6, 38.26 -3.747 -114.4, +38.38 -3.747 -114.5, 38.28 -3.747 -114.3, 38.96 -3.777 -113.9, +39.08 -3.777 -114, 38.98 -3.777 -113.8, 39.46 -3.468 -113.6, +39.58 -3.468 -113.7, 39.48 -3.468 -113.5, 40.31 -3.657 -113, +40.34 -3.657 -113.1, 40.31 -3.657 -113, 37.77 -11.79 -114.9, +37.64 -11.79 -114.9, 37.59 -10.71 -114.9, 37.53 -10.71 -114.9, +37.61 -9.632 -115.1, 37.49 -9.632 -115, 37.64 -8.552 -115.1, +37.59 -8.552 -115, 37.7 -7.472 -115.1, 37.58 -7.472 -115, +37.54 -6.392 -115, 37.48 -6.392 -115, 37.63 -5.312 -115.1, +37.52 -5.312 -115, 37.84 -4.112 -114.7, 37.96 -4.112 -114.8, +37.66 -11.79 -114.8, 37.54 -10.71 -114.9, 37.51 -9.632 -114.9, +37.6 -8.552 -115, 37.6 -7.472 -114.9, 37.49 -6.392 -114.9, +37.54 -5.312 -114.9, 37.86 -4.112 -114.6, 38.25 -3.747 -114.4, +38.37 -3.747 -114.5, 38.27 -3.747 -114.3, 38.95 -3.777 -113.9, +39.07 -3.777 -114, 38.97 -3.777 -113.9, 39.45 -3.468 -113.6, +39.57 -3.468 -113.7, 39.47 -3.468 -113.5, 40.3 -3.657 -113.1, +40.33 -3.657 -113.1, 40.3 -3.657 -113, 37.76 -11.79 -115, +37.64 -11.79 -114.9, 37.57 -10.71 -114.9, 37.52 -10.71 -114.9, +37.62 -9.632 -115, 37.5 -9.632 -115, 37.66 -8.552 -115.1, +37.6 -8.552 -115, 37.69 -7.472 -115.1, 37.56 -7.472 -115, +37.53 -6.392 -115, 37.47 -6.392 -115, 37.65 -5.312 -115.1, +37.54 -5.312 -115, 37.84 -4.112 -114.7, 37.96 -4.112 -114.8, +37.66 -11.79 -114.8, 37.53 -10.71 -114.9, 37.52 -9.632 -114.9, +37.61 -8.552 -115, 37.58 -7.472 -114.9, 37.48 -6.392 -114.9, +37.56 -5.312 -114.9, 37.86 -4.112 -114.6, 38.24 -3.747 -114.4, +38.36 -3.747 -114.5, 38.26 -3.747 -114.3, 38.94 -3.777 -114, +39.06 -3.777 -114, 38.96 -3.777 -113.9, 39.43 -3.468 -113.6, +39.55 -3.468 -113.7, 39.45 -3.468 -113.5, 40.28 -3.657 -113.1, +40.31 -3.657 -113.1, 40.29 -3.657 -113, 37.75 -11.79 -115, +37.62 -11.79 -114.9, 37.56 -10.71 -115, 37.5 -10.71 -114.9, +37.64 -9.632 -115, 37.51 -9.632 -115, 37.67 -8.552 -115, +37.61 -8.552 -115, 37.67 -7.472 -115.1, 37.54 -7.472 -115.1, +37.53 -6.392 -115, 37.47 -6.392 -115, 37.67 -5.312 -115, +37.56 -5.312 -115, 37.83 -4.112 -114.7, 37.95 -4.112 -114.8, +37.65 -11.79 -114.8, 37.51 -10.71 -114.9, 37.54 -9.632 -114.9, +37.62 -8.552 -115, 37.57 -7.472 -115, 37.48 -6.392 -114.9, +37.58 -5.312 -114.9, 37.85 -4.112 -114.6, 38.22 -3.747 -114.4, +38.34 -3.747 -114.5, 38.24 -3.747 -114.4, 38.92 -3.777 -114, +39.04 -3.777 -114, 38.94 -3.777 -113.9, 39.41 -3.468 -113.7, +39.53 -3.468 -113.7, 39.43 -3.468 -113.6, 40.26 -3.657 -113.1, +40.3 -3.657 -113.1, 40.27 -3.657 -113.1, 37.74 -11.79 -115, +37.61 -11.79 -114.9, 37.55 -10.71 -115, 37.49 -10.71 -114.9, +37.66 -9.632 -115, 37.53 -9.632 -114.9, 37.67 -8.552 -115, +37.61 -8.552 -115, 37.65 -7.472 -115.2, 37.52 -7.472 -115.1, +37.53 -6.392 -115, 37.47 -6.392 -115, 37.69 -5.312 -115, +37.58 -5.312 -115, 37.82 -4.112 -114.7, 37.94 -4.112 -114.8, +37.63 -11.79 -114.8, 37.5 -10.71 -114.9, 37.55 -9.632 -114.8, +37.62 -8.552 -115, 37.55 -7.472 -115, 37.48 -6.392 -114.9, +37.59 -5.312 -114.9, 37.84 -4.112 -114.6, 38.2 -3.747 -114.5, +38.32 -3.747 -114.5, 38.22 -3.747 -114.4, 38.9 -3.777 -114, +39.02 -3.777 -114.1, 38.92 -3.777 -113.9, 39.39 -3.468 -113.7, +39.51 -3.468 -113.7, 39.41 -3.468 -113.6, 40.24 -3.657 -113.1, +40.28 -3.657 -113.1, 40.25 -3.657 -113.1, 37.72 -11.79 -115, +37.59 -11.79 -114.9, 37.54 -10.71 -115, 37.48 -10.71 -114.9, +37.68 -9.632 -115, 37.55 -9.632 -114.9, 37.67 -8.552 -115, +37.61 -8.552 -115, 37.63 -7.472 -115.2, 37.5 -7.472 -115.1, +37.54 -6.392 -115, 37.48 -6.392 -115, 37.7 -5.312 -115, +37.59 -5.312 -114.9, 37.81 -4.112 -114.7, 37.93 -4.112 -114.8, +37.62 -11.79 -114.8, 37.49 -10.71 -114.9, 37.57 -9.632 -114.8, +37.62 -8.552 -115, 37.53 -7.472 -115, 37.49 -6.392 -114.9, +37.61 -5.312 -114.9, 37.83 -4.112 -114.6, 38.18 -3.747 -114.5, +38.3 -3.747 -114.6, 38.2 -3.747 -114.4, 38.89 -3.777 -114, +39 -3.777 -114.1, 38.91 -3.777 -113.9, 39.37 -3.468 -113.7, +39.49 -3.468 -113.8, 39.39 -3.468 -113.6, 40.22 -3.657 -113.1, +40.26 -3.657 -113.1, 40.23 -3.657 -113.1, 37.7 -11.79 -115, +37.58 -11.79 -114.9, 37.53 -10.71 -115, 37.48 -10.71 -114.9, +37.7 -9.632 -115, 37.57 -9.632 -114.9, 37.67 -8.552 -115, +37.61 -8.552 -115, 37.61 -7.472 -115.2, 37.49 -7.472 -115.1, +37.55 -6.392 -115, 37.48 -6.392 -115, 37.72 -5.312 -115, +37.61 -5.312 -114.9, 37.79 -4.112 -114.7, 37.91 -4.112 -114.8, +37.6 -11.79 -114.8, 37.49 -10.71 -114.9, 37.59 -9.632 -114.8, +37.62 -8.552 -115, 37.51 -7.472 -115, 37.5 -6.392 -114.9, +37.63 -5.312 -114.8, 37.81 -4.112 -114.6, 38.16 -3.747 -114.5, +38.28 -3.747 -114.6, 38.18 -3.747 -114.4, 38.87 -3.777 -114, +38.98 -3.777 -114.1, 38.89 -3.777 -113.9, 39.35 -3.468 -113.7, +39.47 -3.468 -113.8, 39.37 -3.468 -113.6, 40.21 -3.657 -113.1, +40.24 -3.657 -113.2, 40.21 -3.657 -113.1, ] +} +] +}, +DEF Plane33 Transform { +translation -37.69 5.921 115.2 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane33-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane33-COORD Coordinate { +point [ 37.87 -11.8 -115.1 37.89 -11.8 -115 37.98 -10.74 -115.2 37.98 -10.74 +-115.1 38.14 -9.662 -115.2 38.15 -9.658 -115.1 38.18 -8.568 -115.1 38.18 -8.567 +-115.1 38.18 -7.499 -115.4 38.2 -7.496 -115.2 38.43 -6.442 -115.3 38.43 -6.44 +-115.2 38.61 -5.363 -115.3 38.62 -5.36 -115.2 39.03 -4.204 -115.3 39.02 -4.207 +-115.4 37.98 -11.81 -115 38.02 -10.74 -115.1 38.25 -9.668 -115 38.23 -8.571 +-115.1 38.29 -7.506 -115.2 38.48 -6.445 -115.2 38.7 -5.368 -115.2 39.12 -4.213 +-115.3 39.48 -3.901 -115.6 39.47 -3.904 -115.7 39.57 -3.91 -115.6 40.23 -4.028 +-116 40.22 -4.031 -116.1 40.32 -4.037 -116 40.79 -3.794 -116.3 40.78 -3.798 +-116.5 40.88 -3.804 -116.3 41.67 -4.096 -116.8 41.66 -4.097 -116.8 41.69 -4.099 +-116.8 ] +} +texCoord DEF Plane33-TEXCOORD +TextureCoordinate { point [ 0 0 1 0 0 1 1 1 ] } coordIndex [ 2 0 3 -1 1 3 0 +-1 4 2 5 -1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 10 8 11 -1 9 11 8 +-1 12 10 13 -1 11 13 10 -1 14 15 12 -1 12 13 14 -1 3 1 17 -1 16 17 1 -1 5 3 +18 -1 17 18 3 -1 7 5 19 -1 18 19 5 -1 9 7 20 -1 19 20 7 -1 11 9 21 -1 20 21 +9 -1 13 11 22 -1 21 22 11 -1 23 14 13 -1 13 22 23 -1 24 25 15 -1 15 14 24 +-1 26 24 14 -1 14 23 26 -1 27 28 25 -1 25 24 27 -1 29 27 24 -1 24 26 29 -1 30 +31 28 -1 28 27 30 -1 32 30 27 -1 27 29 32 -1 33 34 31 -1 31 30 33 -1 35 33 30 +-1 30 32 35 -1 ] texCoordIndex +[ 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 +0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 3 2 0 -1 0 1 3 -1 2 0 3 -1 1 3 0 -1 2 0 3 +-1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 +3 0 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 +-1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 +2 0 -1 0 1 3 -1 ] +} +} +DEF Plane33-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, +0.2667, 0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, +0.5333, 0.5667, 0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, +0.8, 0.8333, 0.8667, 0.9, 0.9333, 0.9667, 1, ] +keyValue [37.87 -11.8 -115.1, +37.89 -11.8 -115, 37.98 -10.74 -115.2, 37.98 -10.74 -115.1, +38.14 -9.662 -115.2, 38.15 -9.658 -115.1, 38.18 -8.568 -115.1, +38.18 -8.567 -115.1, 38.18 -7.499 -115.4, 38.2 -7.496 -115.2, +38.43 -6.442 -115.3, 38.43 -6.44 -115.2, 38.61 -5.363 -115.3, +38.62 -5.36 -115.2, 39.03 -4.204 -115.3, 39.02 -4.207 -115.4, +37.98 -11.81 -115, 38.02 -10.74 -115.1, 38.25 -9.668 -115, +38.23 -8.571 -115.1, 38.29 -7.506 -115.2, 38.48 -6.445 -115.2, +38.7 -5.368 -115.2, 39.12 -4.213 -115.3, 39.48 -3.901 -115.6, +39.47 -3.904 -115.7, 39.57 -3.91 -115.6, 40.23 -4.028 -116, +40.22 -4.031 -116.1, 40.32 -4.037 -116, 40.79 -3.794 -116.3, +40.78 -3.798 -116.5, 40.88 -3.804 -116.3, 41.67 -4.096 -116.8, +41.66 -4.097 -116.8, 41.69 -4.099 -116.8, 37.85 -11.8 -115.1, +37.87 -11.8 -115, 37.98 -10.74 -115.2, 37.98 -10.74 -115.1, +38.16 -9.662 -115.2, 38.17 -9.658 -115, 38.17 -8.568 -115.1, +38.18 -8.567 -115.1, 38.17 -7.499 -115.4, 38.18 -7.496 -115.2, +38.44 -6.442 -115.3, 38.45 -6.44 -115.2, 38.62 -5.363 -115.3, +38.63 -5.36 -115.2, 39.02 -4.204 -115.3, 39 -4.207 -115.5, +37.96 -11.81 -115, 38.02 -10.74 -115.1, 38.27 -9.668 -115, +38.22 -8.571 -115.1, 38.27 -7.506 -115.2, 38.49 -6.445 -115.2, +38.71 -5.368 -115.1, 39.11 -4.213 -115.3, 39.46 -3.901 -115.6, +39.45 -3.904 -115.8, 39.55 -3.91 -115.6, 40.21 -4.028 -116, +40.2 -4.031 -116.1, 40.3 -4.037 -116, 40.77 -3.794 -116.3, +40.76 -3.798 -116.5, 40.86 -3.804 -116.3, 41.65 -4.096 -116.8, +41.64 -4.097 -116.8, 41.67 -4.099 -116.8, 37.83 -11.8 -115.2, +37.85 -11.8 -115, 37.98 -10.74 -115.2, 37.99 -10.74 -115.1, +38.18 -9.662 -115.2, 38.19 -9.658 -115, 38.16 -8.568 -115.1, +38.17 -8.567 -115.1, 38.15 -7.499 -115.4, 38.16 -7.496 -115.2, +38.45 -6.442 -115.3, 38.46 -6.44 -115.2, 38.63 -5.363 -115.3, +38.64 -5.36 -115.2, 39 -4.204 -115.3, 38.98 -4.207 -115.5, +37.94 -11.81 -115, 38.02 -10.74 -115.1, 38.28 -9.668 -115, +38.21 -8.571 -115.1, 38.26 -7.506 -115.2, 38.5 -6.445 -115.2, +38.72 -5.368 -115.1, 39.09 -4.213 -115.3, 39.44 -3.901 -115.6, +39.43 -3.904 -115.8, 39.53 -3.91 -115.6, 40.19 -4.028 -116, +40.18 -4.031 -116.2, 40.28 -4.037 -116, 40.75 -3.794 -116.4, +40.74 -3.798 -116.5, 40.84 -3.804 -116.3, 41.63 -4.096 -116.8, +41.62 -4.097 -116.8, 41.65 -4.099 -116.8, 37.82 -11.8 -115.2, +37.83 -11.8 -115, 37.99 -10.74 -115.2, 37.99 -10.74 -115.1, +38.19 -9.662 -115.2, 38.21 -9.658 -115, 38.15 -8.568 -115.2, +38.15 -8.567 -115.1, 38.14 -7.499 -115.4, 38.15 -7.496 -115.3, +38.47 -6.442 -115.3, 38.48 -6.44 -115.2, 38.64 -5.363 -115.3, +38.65 -5.36 -115.1, 38.98 -4.204 -115.4, 38.96 -4.207 -115.5, +37.92 -11.81 -115, 38.03 -10.74 -115.1, 38.3 -9.668 -115, +38.2 -8.571 -115.1, 38.24 -7.506 -115.2, 38.52 -6.445 -115.2, +38.73 -5.368 -115.1, 39.07 -4.213 -115.3, 39.42 -3.901 -115.7, +39.41 -3.904 -115.8, 39.51 -3.91 -115.6, 40.17 -4.028 -116, +40.16 -4.031 -116.2, 40.26 -4.037 -116, 40.73 -3.794 -116.4, +40.72 -3.798 -116.5, 40.82 -3.804 -116.4, 41.61 -4.096 -116.8, +41.61 -4.097 -116.9, 41.63 -4.099 -116.8, 37.8 -11.8 -115.2, +37.81 -11.8 -115.1, 38 -10.74 -115.1, 38 -10.74 -115.1, +38.21 -9.662 -115.1, 38.22 -9.658 -115, 38.13 -8.568 -115.2, +38.14 -8.567 -115.1, 38.13 -7.499 -115.4, 38.14 -7.496 -115.3, +38.49 -6.442 -115.3, 38.5 -6.44 -115.2, 38.64 -5.363 -115.3, +38.65 -5.36 -115.1, 38.96 -4.204 -115.4, 38.95 -4.207 -115.5, +37.9 -11.81 -115, 38.04 -10.74 -115.1, 38.31 -9.668 -115, +38.18 -8.571 -115.1, 38.24 -7.506 -115.2, 38.54 -6.445 -115.2, +38.73 -5.368 -115.1, 39.05 -4.213 -115.3, 39.41 -3.901 -115.7, +39.4 -3.904 -115.8, 39.5 -3.91 -115.6, 40.15 -4.028 -116.1, +40.14 -4.031 -116.2, 40.24 -4.037 -116, 40.72 -3.794 -116.4, +40.71 -3.798 -116.5, 40.81 -3.804 -116.4, 41.59 -4.096 -116.8, +41.59 -4.097 -116.9, 41.61 -4.099 -116.8, 37.78 -11.8 -115.2, +37.8 -11.8 -115.1, 38.01 -10.74 -115.1, 38.02 -10.74 -115.1, +38.22 -9.662 -115.1, 38.23 -9.658 -115, 38.11 -8.568 -115.2, +38.12 -8.567 -115.1, 38.12 -7.499 -115.4, 38.14 -7.496 -115.3, +38.51 -6.442 -115.2, 38.51 -6.44 -115.2, 38.64 -5.363 -115.3, +38.65 -5.36 -115.1, 38.94 -4.204 -115.4, 38.93 -4.207 -115.5, +37.89 -11.81 -115, 38.06 -10.74 -115.1, 38.33 -9.668 -115, +38.16 -8.571 -115.1, 38.23 -7.506 -115.2, 38.56 -6.445 -115.2, +38.73 -5.368 -115.1, 39.03 -4.213 -115.4, 39.4 -3.901 -115.7, +39.38 -3.904 -115.8, 39.48 -3.91 -115.7, 40.14 -4.028 -116.1, +40.13 -4.031 -116.2, 40.23 -4.037 -116, 40.71 -3.794 -116.4, +40.7 -3.798 -116.5, 40.8 -3.804 -116.4, 41.57 -4.096 -116.9, +41.57 -4.097 -116.9, 41.6 -4.099 -116.8, 37.77 -11.8 -115.2, +37.78 -11.8 -115.1, 38.03 -10.74 -115.1, 38.04 -10.74 -115.1, +38.23 -9.662 -115.1, 38.24 -9.658 -115, 38.1 -8.568 -115.2, +38.1 -8.567 -115.1, 38.12 -7.499 -115.4, 38.14 -7.496 -115.3, +38.53 -6.442 -115.2, 38.53 -6.44 -115.2, 38.64 -5.363 -115.3, +38.65 -5.36 -115.1, 38.92 -4.204 -115.4, 38.91 -4.207 -115.5, +37.88 -11.81 -115.1, 38.07 -10.74 -115, 38.33 -9.668 -115, +38.14 -8.571 -115.1, 38.23 -7.506 -115.2, 38.58 -6.445 -115.1, +38.73 -5.368 -115.1, 39.01 -4.213 -115.4, 39.39 -3.901 -115.7, +39.37 -3.904 -115.8, 39.47 -3.91 -115.7, 40.13 -4.028 -116.1, +40.11 -4.031 -116.2, 40.21 -4.037 -116.1, 40.7 -3.794 -116.4, +40.69 -3.798 -116.5, 40.79 -3.804 -116.4, 41.56 -4.096 -116.9, +41.56 -4.097 -116.9, 41.58 -4.099 -116.9, 37.76 -11.8 -115.2, +37.77 -11.8 -115.1, 38.05 -10.74 -115.1, 38.05 -10.74 -115, +38.23 -9.662 -115.1, 38.24 -9.658 -115, 38.08 -8.568 -115.2, +38.08 -8.567 -115.2, 38.13 -7.499 -115.4, 38.14 -7.496 -115.3, +38.55 -6.442 -115.2, 38.55 -6.44 -115.1, 38.63 -5.363 -115.3, +38.64 -5.36 -115.2, 38.91 -4.204 -115.4, 38.9 -4.207 -115.6, +37.87 -11.81 -115.1, 38.09 -10.74 -115, 38.34 -9.668 -115, +38.13 -8.571 -115.1, 38.23 -7.506 -115.2, 38.6 -6.445 -115.1, +38.72 -5.368 -115.1, 39 -4.213 -115.4, 39.38 -3.901 -115.7, +39.37 -3.904 -115.8, 39.47 -3.91 -115.7, 40.12 -4.028 -116.1, +40.1 -4.031 -116.2, 40.2 -4.037 -116.1, 40.7 -3.794 -116.4, +40.69 -3.798 -116.6, 40.79 -3.804 -116.4, 41.55 -4.096 -116.9, +41.54 -4.097 -116.9, 41.57 -4.099 -116.9, 37.76 -11.8 -115.2, +37.77 -11.8 -115.1, 38.07 -10.74 -115.1, 38.07 -10.74 -115, +38.23 -9.662 -115.1, 38.24 -9.658 -115, 38.06 -8.568 -115.2, +38.06 -8.567 -115.2, 38.13 -7.499 -115.4, 38.15 -7.496 -115.3, +38.56 -6.442 -115.2, 38.57 -6.44 -115.1, 38.61 -5.363 -115.3, +38.63 -5.36 -115.2, 38.9 -4.204 -115.4, 38.89 -4.207 -115.6, +37.86 -11.81 -115.1, 38.11 -10.74 -115, 38.34 -9.668 -115, +38.11 -8.571 -115.2, 38.24 -7.506 -115.2, 38.61 -6.445 -115.1, +38.71 -5.368 -115.1, 38.99 -4.213 -115.4, 39.38 -3.901 -115.7, +39.36 -3.904 -115.8, 39.47 -3.91 -115.7, 40.11 -4.028 -116.1, +40.1 -4.031 -116.2, 40.2 -4.037 -116.1, 40.7 -3.794 -116.4, +40.69 -3.798 -116.6, 40.79 -3.804 -116.4, 41.54 -4.096 -116.9, +41.54 -4.097 -116.9, 41.56 -4.099 -116.9, 37.75 -11.8 -115.2, +37.77 -11.8 -115.1, 38.09 -10.74 -115.1, 38.09 -10.74 -115, +38.23 -9.662 -115.1, 38.24 -9.658 -115, 38.04 -8.568 -115.3, +38.05 -8.567 -115.2, 38.15 -7.499 -115.4, 38.16 -7.496 -115.2, +38.58 -6.442 -115.2, 38.58 -6.44 -115.1, 38.6 -5.363 -115.3, +38.61 -5.36 -115.2, 38.89 -4.204 -115.4, 38.88 -4.207 -115.6, +37.86 -11.81 -115.1, 38.13 -10.74 -115, 38.33 -9.668 -115, +38.09 -8.571 -115.2, 38.25 -7.506 -115.2, 38.63 -6.445 -115.1, +38.69 -5.368 -115.2, 38.98 -4.213 -115.4, 39.38 -3.901 -115.7, +39.37 -3.904 -115.8, 39.47 -3.91 -115.7, 40.11 -4.028 -116.1, +40.09 -4.031 -116.2, 40.2 -4.037 -116.1, 40.71 -3.794 -116.4, +40.69 -3.798 -116.5, 40.79 -3.804 -116.4, 41.53 -4.096 -116.9, +41.53 -4.097 -116.9, 41.56 -4.099 -116.9, 37.76 -11.8 -115.2, +37.77 -11.8 -115.1, 38.11 -10.74 -115, 38.11 -10.74 -115, +38.22 -9.662 -115.1, 38.23 -9.658 -115, 38.02 -8.568 -115.3, +38.03 -8.567 -115.2, 38.16 -7.499 -115.4, 38.17 -7.496 -115.2, +38.59 -6.442 -115.2, 38.6 -6.44 -115.1, 38.58 -5.363 -115.3, +38.59 -5.36 -115.2, 38.89 -4.204 -115.4, 38.87 -4.207 -115.6, +37.86 -11.81 -115.1, 38.15 -10.74 -115, 38.32 -9.668 -115, +38.07 -8.571 -115.2, 38.26 -7.506 -115.2, 38.64 -6.445 -115.1, +38.68 -5.368 -115.2, 38.98 -4.213 -115.4, 39.39 -3.901 -115.7, +39.37 -3.904 -115.8, 39.47 -3.91 -115.7, 40.11 -4.028 -116.1, +40.1 -4.031 -116.2, 40.2 -4.037 -116.1, 40.72 -3.794 -116.4, +40.7 -3.798 -116.5, 40.8 -3.804 -116.4, 41.53 -4.096 -116.9, +41.53 -4.097 -116.9, 41.56 -4.099 -116.9, 37.76 -11.8 -115.2, +37.78 -11.8 -115.1, 38.12 -10.74 -115, 38.13 -10.74 -115, +38.2 -9.662 -115.2, 38.22 -9.658 -115, 38.01 -8.568 -115.3, +38.02 -8.567 -115.2, 38.18 -7.499 -115.4, 38.19 -7.496 -115.2, +38.6 -6.442 -115.2, 38.6 -6.44 -115.1, 38.56 -5.363 -115.3, +38.57 -5.36 -115.2, 38.89 -4.204 -115.4, 38.88 -4.207 -115.6, +37.87 -11.81 -115.1, 38.17 -10.74 -115, 38.31 -9.668 -115, +38.06 -8.571 -115.2, 38.28 -7.506 -115.2, 38.65 -6.445 -115.1, +38.66 -5.368 -115.2, 38.98 -4.213 -115.4, 39.4 -3.901 -115.7, +39.38 -3.904 -115.8, 39.48 -3.91 -115.7, 40.12 -4.028 -116.1, +40.1 -4.031 -116.2, 40.2 -4.037 -116.1, 40.73 -3.794 -116.4, +40.72 -3.798 -116.5, 40.82 -3.804 -116.4, 41.54 -4.096 -116.9, +41.54 -4.097 -116.9, 41.56 -4.099 -116.9, 37.77 -11.8 -115.2, +37.79 -11.8 -115.1, 38.14 -10.74 -115, 38.14 -10.74 -115, +38.19 -9.662 -115.2, 38.2 -9.658 -115, 38 -8.568 -115.3, +38.01 -8.567 -115.2, 38.19 -7.499 -115.3, 38.21 -7.496 -115.2, +38.6 -6.442 -115.2, 38.61 -6.44 -115.1, 38.54 -5.363 -115.4, +38.55 -5.36 -115.2, 38.89 -4.204 -115.4, 38.88 -4.207 -115.6, +37.88 -11.81 -115, 38.18 -10.74 -114.9, 38.3 -9.668 -115, +38.05 -8.571 -115.2, 38.3 -7.506 -115.2, 38.65 -6.445 -115.1, +38.64 -5.368 -115.2, 38.98 -4.213 -115.4, 39.41 -3.901 -115.7, +39.4 -3.904 -115.8, 39.5 -3.91 -115.6, 40.13 -4.028 -116.1, +40.11 -4.031 -116.2, 40.21 -4.037 -116.1, 40.74 -3.794 -116.4, +40.73 -3.798 -116.5, 40.83 -3.804 -116.3, 41.55 -4.096 -116.9, +41.54 -4.097 -116.9, 41.57 -4.099 -116.9, 37.79 -11.8 -115.2, +37.8 -11.8 -115.1, 38.15 -10.74 -115, 38.15 -10.74 -114.9, +38.17 -9.662 -115.2, 38.19 -9.658 -115, 38 -8.568 -115.3, +38 -8.567 -115.2, 38.21 -7.499 -115.3, 38.23 -7.496 -115.2, +38.6 -6.442 -115.2, 38.61 -6.44 -115.1, 38.52 -5.363 -115.4, +38.54 -5.36 -115.3, 38.9 -4.204 -115.4, 38.89 -4.207 -115.6, +37.89 -11.81 -115, 38.19 -10.74 -114.9, 38.28 -9.668 -115, +38.04 -8.571 -115.2, 38.32 -7.506 -115.2, 38.65 -6.445 -115.1, +38.62 -5.368 -115.2, 38.99 -4.213 -115.4, 39.42 -3.901 -115.7, +39.41 -3.904 -115.8, 39.51 -3.91 -115.6, 40.14 -4.028 -116.1, +40.13 -4.031 -116.2, 40.23 -4.037 -116, 40.76 -3.794 -116.4, +40.75 -3.798 -116.5, 40.85 -3.804 -116.3, 41.56 -4.096 -116.9, +41.55 -4.097 -116.9, 41.58 -4.099 -116.9, 37.8 -11.8 -115.2, +37.82 -11.8 -115, 38.16 -10.74 -115, 38.16 -10.74 -114.9, +38.15 -9.662 -115.2, 38.17 -9.658 -115, 37.99 -8.568 -115.3, +38 -8.567 -115.2, 38.23 -7.499 -115.3, 38.25 -7.496 -115.2, +38.6 -6.442 -115.2, 38.6 -6.44 -115.1, 38.51 -5.363 -115.4, +38.52 -5.36 -115.3, 38.91 -4.204 -115.4, 38.9 -4.207 -115.6, +37.91 -11.81 -115, 38.2 -10.74 -114.9, 38.26 -9.668 -115, +38.04 -8.571 -115.2, 38.34 -7.506 -115.1, 38.65 -6.445 -115.1, +38.6 -5.368 -115.2, 39 -4.213 -115.4, 39.44 -3.901 -115.6, +39.43 -3.904 -115.8, 39.53 -3.91 -115.6, 40.15 -4.028 -116.1, +40.14 -4.031 -116.2, 40.24 -4.037 -116, 40.78 -3.794 -116.3, +40.77 -3.798 -116.5, 40.87 -3.804 -116.3, 41.57 -4.096 -116.9, +41.57 -4.097 -116.9, 41.6 -4.099 -116.8, 37.82 -11.8 -115.2, +37.84 -11.8 -115, 38.16 -10.74 -115, 38.17 -10.74 -114.9, +38.13 -9.662 -115.2, 38.15 -9.658 -115.1, 38 -8.568 -115.3, +38 -8.567 -115.2, 38.25 -7.499 -115.3, 38.27 -7.496 -115.1, +38.59 -6.442 -115.2, 38.6 -6.44 -115.1, 38.49 -5.363 -115.4, +38.5 -5.36 -115.3, 38.93 -4.204 -115.4, 38.91 -4.207 -115.5, +37.93 -11.81 -115, 38.21 -10.74 -114.9, 38.24 -9.668 -115, +38.05 -8.571 -115.2, 38.36 -7.506 -115.1, 38.64 -6.445 -115.1, +38.58 -5.368 -115.3, 39.02 -4.213 -115.4, 39.46 -3.901 -115.6, +39.45 -3.904 -115.8, 39.55 -3.91 -115.6, 40.17 -4.028 -116, +40.16 -4.031 -116.2, 40.26 -4.037 -116, 40.8 -3.794 -116.3, +40.79 -3.798 -116.5, 40.89 -3.804 -116.3, 41.59 -4.096 -116.8, +41.59 -4.097 -116.9, 41.61 -4.099 -116.8, 37.84 -11.8 -115.2, +37.86 -11.8 -115, 38.16 -10.74 -115, 38.17 -10.74 -114.9, +38.11 -9.662 -115.2, 38.13 -9.658 -115.1, 38 -8.568 -115.3, +38.01 -8.567 -115.2, 38.27 -7.499 -115.3, 38.28 -7.496 -115.1, +38.58 -6.442 -115.2, 38.59 -6.44 -115.1, 38.48 -5.363 -115.4, +38.49 -5.36 -115.3, 38.95 -4.204 -115.4, 38.93 -4.207 -115.5, +37.95 -11.81 -115, 38.21 -10.74 -114.9, 38.22 -9.668 -115.1, +38.05 -8.571 -115.2, 38.37 -7.506 -115.1, 38.63 -6.445 -115.1, +38.57 -5.368 -115.3, 39.03 -4.213 -115.4, 39.48 -3.901 -115.6, +39.47 -3.904 -115.7, 39.57 -3.91 -115.6, 40.19 -4.028 -116, +40.18 -4.031 -116.2, 40.28 -4.037 -116, 40.82 -3.794 -116.3, +40.81 -3.798 -116.4, 40.91 -3.804 -116.3, 41.61 -4.096 -116.8, +41.6 -4.097 -116.9, 41.63 -4.099 -116.8, 37.86 -11.8 -115.1, +37.88 -11.8 -115, 38.16 -10.74 -115, 38.16 -10.74 -114.9, +38.1 -9.662 -115.3, 38.11 -9.658 -115.1, 38.01 -8.568 -115.3, +38.02 -8.567 -115.2, 38.28 -7.499 -115.3, 38.3 -7.496 -115.1, +38.56 -6.442 -115.2, 38.57 -6.44 -115.1, 38.46 -5.363 -115.4, +38.48 -5.36 -115.3, 38.96 -4.204 -115.4, 38.95 -4.207 -115.5, +37.97 -11.81 -115, 38.2 -10.74 -114.9, 38.2 -9.668 -115.1, +38.06 -8.571 -115.2, 38.39 -7.506 -115.1, 38.62 -6.445 -115.1, +38.56 -5.368 -115.3, 39.05 -4.213 -115.3, 39.5 -3.901 -115.6, +39.49 -3.904 -115.7, 39.59 -3.91 -115.6, 40.21 -4.028 -116, +40.2 -4.031 -116.1, 40.3 -4.037 -116, 40.84 -3.794 -116.3, +40.82 -3.798 -116.4, 40.92 -3.804 -116.3, 41.63 -4.096 -116.8, +41.62 -4.097 -116.8, 41.65 -4.099 -116.8, 37.88 -11.8 -115.1, +37.89 -11.8 -115, 38.15 -10.74 -115, 38.16 -10.74 -114.9, +38.08 -9.662 -115.3, 38.09 -9.658 -115.1, 38.03 -8.568 -115.3, +38.03 -8.567 -115.2, 38.3 -7.499 -115.3, 38.31 -7.496 -115.1, +38.55 -6.442 -115.2, 38.55 -6.44 -115.1, 38.46 -5.363 -115.4, +38.47 -5.36 -115.3, 38.98 -4.204 -115.4, 38.97 -4.207 -115.5, +37.99 -11.81 -115, 38.2 -10.74 -114.9, 38.19 -9.668 -115.1, +38.07 -8.571 -115.2, 38.4 -7.506 -115.1, 38.6 -6.445 -115.1, +38.55 -5.368 -115.3, 39.07 -4.213 -115.3, 39.52 -3.901 -115.6, +39.5 -3.904 -115.7, 39.6 -3.91 -115.5, 40.23 -4.028 -116, +40.22 -4.031 -116.1, 40.32 -4.037 -116, 40.85 -3.794 -116.3, +40.84 -3.798 -116.4, 40.94 -3.804 -116.2, 41.65 -4.096 -116.8, +41.64 -4.097 -116.8, 41.67 -4.099 -116.8, 37.9 -11.8 -115.1, +37.91 -11.8 -115, 38.14 -10.74 -115, 38.15 -10.74 -115, +38.07 -9.662 -115.3, 38.08 -9.658 -115.1, 38.04 -8.568 -115.3, +38.05 -8.567 -115.2, 38.31 -7.499 -115.2, 38.32 -7.496 -115.1, +38.53 -6.442 -115.2, 38.54 -6.44 -115.2, 38.45 -5.363 -115.4, +38.47 -5.36 -115.3, 39 -4.204 -115.3, 38.99 -4.207 -115.5, +38 -11.81 -114.9, 38.19 -10.74 -114.9, 38.17 -9.668 -115.1, +38.09 -8.571 -115.2, 38.41 -7.506 -115.1, 38.58 -6.445 -115.1, +38.55 -5.368 -115.3, 39.09 -4.213 -115.3, 39.53 -3.901 -115.6, +39.52 -3.904 -115.7, 39.62 -3.91 -115.5, 40.25 -4.028 -116, +40.23 -4.031 -116.1, 40.34 -4.037 -115.9, 40.87 -3.794 -116.3, +40.85 -3.798 -116.4, 40.95 -3.804 -116.2, 41.67 -4.096 -116.8, +41.66 -4.097 -116.8, 41.69 -4.099 -116.8, 37.91 -11.8 -115.1, +37.93 -11.8 -114.9, 38.13 -10.74 -115, 38.13 -10.74 -115, +38.05 -9.662 -115.3, 38.07 -9.658 -115.1, 38.06 -8.568 -115.2, +38.07 -8.567 -115.2, 38.31 -7.499 -115.2, 38.32 -7.496 -115.1, +38.51 -6.442 -115.2, 38.52 -6.44 -115.2, 38.46 -5.363 -115.4, +38.47 -5.36 -115.3, 39.02 -4.204 -115.3, 39.01 -4.207 -115.5, +38.02 -11.81 -114.9, 38.17 -10.74 -115, 38.16 -9.668 -115.1, +38.11 -8.571 -115.2, 38.42 -7.506 -115.1, 38.56 -6.445 -115.2, +38.55 -5.368 -115.3, 39.11 -4.213 -115.3, 39.55 -3.901 -115.5, +39.53 -3.904 -115.7, 39.63 -3.91 -115.5, 40.26 -4.028 -116, +40.25 -4.031 -116.1, 40.35 -4.037 -115.9, 40.88 -3.794 -116.2, +40.86 -3.798 -116.4, 40.97 -3.804 -116.2, 41.68 -4.096 -116.7, +41.68 -4.097 -116.8, 41.71 -4.099 -116.7, 37.93 -11.8 -115.1, +37.94 -11.8 -114.9, 38.11 -10.74 -115, 38.11 -10.74 -115, +38.05 -9.662 -115.3, 38.06 -9.658 -115.1, 38.08 -8.568 -115.2, +38.09 -8.567 -115.2, 38.31 -7.499 -115.2, 38.32 -7.496 -115.1, +38.49 -6.442 -115.3, 38.5 -6.44 -115.2, 38.46 -5.363 -115.4, +38.47 -5.36 -115.3, 39.04 -4.204 -115.3, 39.02 -4.207 -115.4, +38.03 -11.81 -114.9, 38.15 -10.74 -115, 38.15 -9.668 -115.1, +38.13 -8.571 -115.1, 38.42 -7.506 -115.1, 38.54 -6.445 -115.2, +38.55 -5.368 -115.3, 39.13 -4.213 -115.3, 39.56 -3.901 -115.5, +39.54 -3.904 -115.7, 39.64 -3.91 -115.5, 40.28 -4.028 -115.9, +40.26 -4.031 -116.1, 40.36 -4.037 -115.9, 40.89 -3.794 -116.2, +40.87 -3.798 -116.4, 40.97 -3.804 -116.2, 41.7 -4.096 -116.7, +41.69 -4.097 -116.8, 41.72 -4.099 -116.7, 37.93 -11.8 -115.1, +37.95 -11.8 -114.9, 38.09 -10.74 -115.1, 38.1 -10.74 -115, +38.04 -9.662 -115.3, 38.06 -9.658 -115.2, 38.1 -8.568 -115.2, +38.1 -8.567 -115.1, 38.31 -7.499 -115.2, 38.32 -7.496 -115.1, +38.47 -6.442 -115.3, 38.48 -6.44 -115.2, 38.47 -5.363 -115.4, +38.48 -5.36 -115.3, 39.05 -4.204 -115.3, 39.04 -4.207 -115.4, +38.04 -11.81 -114.9, 38.14 -10.74 -115, 38.15 -9.668 -115.1, +38.15 -8.571 -115.1, 38.41 -7.506 -115.1, 38.52 -6.445 -115.2, +38.56 -5.368 -115.3, 39.14 -4.213 -115.3, 39.56 -3.901 -115.5, +39.55 -3.904 -115.7, 39.65 -3.91 -115.5, 40.29 -4.028 -115.9, +40.27 -4.031 -116.1, 40.37 -4.037 -115.9, 40.89 -3.794 -116.2, +40.87 -3.798 -116.4, 40.98 -3.804 -116.2, 41.71 -4.096 -116.7, +41.71 -4.097 -116.8, 41.73 -4.099 -116.7, 37.94 -11.8 -115.1, +37.95 -11.8 -114.9, 38.07 -10.74 -115.1, 38.08 -10.74 -115, +38.04 -9.662 -115.3, 38.06 -9.658 -115.2, 38.12 -8.568 -115.2, +38.12 -8.567 -115.1, 38.3 -7.499 -115.3, 38.31 -7.496 -115.1, +38.46 -6.442 -115.3, 38.46 -6.44 -115.2, 38.48 -5.363 -115.4, +38.49 -5.36 -115.3, 39.06 -4.204 -115.3, 39.05 -4.207 -115.4, +38.05 -11.81 -114.9, 38.12 -10.74 -115, 38.15 -9.668 -115.1, +38.17 -8.571 -115.1, 38.41 -7.506 -115.1, 38.51 -6.445 -115.2, +38.57 -5.368 -115.3, 39.15 -4.213 -115.3, 39.56 -3.901 -115.5, +39.55 -3.904 -115.7, 39.65 -3.91 -115.5, 40.29 -4.028 -115.9, +40.28 -4.031 -116.1, 40.38 -4.037 -115.9, 40.89 -3.794 -116.2, +40.87 -3.798 -116.4, 40.97 -3.804 -116.2, 41.72 -4.096 -116.7, +41.71 -4.097 -116.8, 41.74 -4.099 -116.7, 37.94 -11.8 -115.1, +37.95 -11.8 -114.9, 38.05 -10.74 -115.1, 38.06 -10.74 -115, +38.05 -9.662 -115.3, 38.06 -9.658 -115.1, 38.14 -8.568 -115.2, +38.14 -8.567 -115.1, 38.29 -7.499 -115.3, 38.3 -7.496 -115.1, +38.44 -6.442 -115.3, 38.45 -6.44 -115.2, 38.5 -5.363 -115.4, +38.51 -5.36 -115.3, 39.07 -4.204 -115.3, 39.06 -4.207 -115.4, +38.05 -11.81 -114.9, 38.1 -10.74 -115, 38.16 -9.668 -115.1, +38.18 -8.571 -115.1, 38.4 -7.506 -115.1, 38.49 -6.445 -115.2, +38.59 -5.368 -115.3, 39.16 -4.213 -115.2, 39.56 -3.901 -115.5, +39.55 -3.904 -115.7, 39.65 -3.91 -115.5, 40.29 -4.028 -115.9, +40.28 -4.031 -116.1, 40.38 -4.037 -115.9, 40.88 -3.794 -116.2, +40.87 -3.798 -116.4, 40.97 -3.804 -116.2, 41.72 -4.096 -116.7, +41.72 -4.097 -116.8, 41.74 -4.099 -116.7, 37.94 -11.8 -115.1, +37.95 -11.8 -114.9, 38.03 -10.74 -115.1, 38.04 -10.74 -115.1, +38.06 -9.662 -115.3, 38.07 -9.658 -115.1, 38.15 -8.568 -115.2, +38.16 -8.567 -115.1, 38.28 -7.499 -115.3, 38.29 -7.496 -115.1, +38.43 -6.442 -115.3, 38.44 -6.44 -115.2, 38.51 -5.363 -115.4, +38.53 -5.36 -115.3, 39.07 -4.204 -115.3, 39.06 -4.207 -115.4, +38.04 -11.81 -114.9, 38.08 -10.74 -115, 38.16 -9.668 -115.1, +38.2 -8.571 -115.1, 38.38 -7.506 -115.1, 38.48 -6.445 -115.2, +38.61 -5.368 -115.2, 39.16 -4.213 -115.2, 39.56 -3.901 -115.5, +39.54 -3.904 -115.7, 39.65 -3.91 -115.5, 40.29 -4.028 -115.9, +40.28 -4.031 -116.1, 40.38 -4.037 -115.9, 40.87 -3.794 -116.3, +40.86 -3.798 -116.4, 40.96 -3.804 -116.2, 41.72 -4.096 -116.7, +41.72 -4.097 -116.8, 41.74 -4.099 -116.7, 37.93 -11.8 -115.1, +37.94 -11.8 -114.9, 38.02 -10.74 -115.1, 38.02 -10.74 -115.1, +38.07 -9.662 -115.3, 38.08 -9.658 -115.1, 38.16 -8.568 -115.1, +38.17 -8.567 -115.1, 38.26 -7.499 -115.3, 38.27 -7.496 -115.1, +38.42 -6.442 -115.3, 38.43 -6.44 -115.3, 38.53 -5.363 -115.4, +38.55 -5.36 -115.2, 39.07 -4.204 -115.3, 39.06 -4.207 -115.4, +38.04 -11.81 -114.9, 38.06 -10.74 -115.1, 38.18 -9.668 -115.1, +38.21 -8.571 -115.1, 38.37 -7.506 -115.1, 38.47 -6.445 -115.2, +38.63 -5.368 -115.2, 39.16 -4.213 -115.2, 39.55 -3.901 -115.5, +39.53 -3.904 -115.7, 39.64 -3.91 -115.5, 40.29 -4.028 -115.9, +40.27 -4.031 -116.1, 40.37 -4.037 -115.9, 40.86 -3.794 -116.3, +40.85 -3.798 -116.4, 40.95 -3.804 -116.2, 41.72 -4.096 -116.7, +41.71 -4.097 -116.8, 41.74 -4.099 -116.7, 37.92 -11.8 -115.1, +37.93 -11.8 -114.9, 38 -10.74 -115.1, 38.01 -10.74 -115.1, +38.09 -9.662 -115.3, 38.1 -9.658 -115.1, 38.17 -8.568 -115.1, +38.18 -8.567 -115.1, 38.24 -7.499 -115.3, 38.25 -7.496 -115.2, +38.42 -6.442 -115.3, 38.42 -6.44 -115.3, 38.55 -5.363 -115.4, +38.57 -5.36 -115.2, 39.07 -4.204 -115.3, 39.06 -4.207 -115.4, +38.03 -11.81 -114.9, 38.05 -10.74 -115.1, 38.19 -9.668 -115.1, +38.22 -8.571 -115.1, 38.35 -7.506 -115.1, 38.47 -6.445 -115.2, +38.64 -5.368 -115.2, 39.16 -4.213 -115.2, 39.53 -3.901 -115.6, +39.52 -3.904 -115.7, 39.62 -3.91 -115.5, 40.28 -4.028 -115.9, +40.26 -4.031 -116.1, 40.37 -4.037 -115.9, 40.84 -3.794 -116.3, +40.83 -3.798 -116.4, 40.93 -3.804 -116.3, 41.71 -4.096 -116.7, +41.71 -4.097 -116.8, 41.73 -4.099 -116.7, 37.91 -11.8 -115.1, +37.92 -11.8 -114.9, 37.99 -10.74 -115.2, 37.99 -10.74 -115.1, +38.1 -9.662 -115.2, 38.12 -9.658 -115.1, 38.18 -8.568 -115.1, +38.19 -8.567 -115.1, 38.22 -7.499 -115.3, 38.23 -7.496 -115.2, +38.42 -6.442 -115.3, 38.42 -6.44 -115.3, 38.57 -5.363 -115.3, +38.58 -5.36 -115.2, 39.06 -4.204 -115.3, 39.05 -4.207 -115.4, +38.01 -11.81 -114.9, 38.03 -10.74 -115.1, 38.21 -9.668 -115.1, +38.23 -8.571 -115.1, 38.33 -7.506 -115.2, 38.47 -6.445 -115.2, +38.66 -5.368 -115.2, 39.15 -4.213 -115.3, 39.52 -3.901 -115.6, +39.51 -3.904 -115.7, 39.61 -3.91 -115.5, 40.26 -4.028 -116, +40.25 -4.031 -116.1, 40.35 -4.037 -115.9, 40.83 -3.794 -116.3, +40.81 -3.798 -116.4, 40.92 -3.804 -116.3, 41.7 -4.096 -116.7, +41.69 -4.097 -116.8, 41.72 -4.099 -116.7, 37.89 -11.8 -115.1, +37.9 -11.8 -115, 37.98 -10.74 -115.2, 37.99 -10.74 -115.1, +38.12 -9.662 -115.2, 38.13 -9.658 -115.1, 38.18 -8.568 -115.1, +38.19 -8.567 -115.1, 38.2 -7.499 -115.3, 38.21 -7.496 -115.2, +38.42 -6.442 -115.3, 38.43 -6.44 -115.3, 38.59 -5.363 -115.3, +38.6 -5.36 -115.2, 39.05 -4.204 -115.3, 39.04 -4.207 -115.4, +38 -11.81 -114.9, 38.03 -10.74 -115.1, 38.23 -9.668 -115.1, +38.23 -8.571 -115, 38.31 -7.506 -115.2, 38.47 -6.445 -115.2, +38.68 -5.368 -115.2, 39.14 -4.213 -115.3, 39.5 -3.901 -115.6, +39.49 -3.904 -115.7, 39.59 -3.91 -115.6, 40.25 -4.028 -116, +40.23 -4.031 -116.1, 40.34 -4.037 -115.9, 40.81 -3.794 -116.3, +40.79 -3.798 -116.5, 40.9 -3.804 -116.3, 41.68 -4.096 -116.7, +41.68 -4.097 -116.8, 41.71 -4.099 -116.7, 37.87 -11.8 -115.1, +37.89 -11.8 -115, 37.98 -10.74 -115.2, 37.98 -10.74 -115.1, +38.14 -9.662 -115.2, 38.15 -9.658 -115.1, 38.18 -8.568 -115.1, +38.18 -8.567 -115.1, 38.18 -7.499 -115.4, 38.2 -7.496 -115.2, +38.43 -6.442 -115.3, 38.43 -6.44 -115.2, 38.61 -5.363 -115.3, +38.62 -5.36 -115.2, 39.03 -4.204 -115.3, 39.02 -4.207 -115.4, +37.98 -11.81 -115, 38.02 -10.74 -115.1, 38.25 -9.668 -115, +38.23 -8.571 -115.1, 38.29 -7.506 -115.2, 38.48 -6.445 -115.2, +38.7 -5.368 -115.2, 39.12 -4.213 -115.3, 39.48 -3.901 -115.6, +39.47 -3.904 -115.7, 39.57 -3.91 -115.6, 40.23 -4.028 -116, +40.22 -4.031 -116.1, 40.32 -4.037 -116, 40.79 -3.794 -116.3, +40.78 -3.798 -116.5, 40.88 -3.804 -116.3, 41.67 -4.096 -116.8, +41.66 -4.097 -116.8, 41.69 -4.099 -116.8, ] +} +] +}, +DEF Plane34 Transform { +translation -37.69 5.921 115.2 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane34-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane34-COORD Coordinate { +point [ 37.47 -11.8 -115.1 37.6 -11.8 -115 37.49 -10.72 -115.3 37.55 -10.72 +-115.3 37.48 -9.647 -115.3 37.62 -9.643 -115.2 37.51 -8.558 -115.1 37.57 -8.556 +-115.1 37.32 -7.483 -115.4 37.46 -7.479 -115.3 37.46 -6.412 -115.6 37.53 -6.41 +-115.5 37.5 -5.332 -115.5 37.62 -5.329 -115.4 37.66 -4.153 -115.8 37.53 -4.157 +-115.9 37.67 -11.8 -115.1 37.58 -10.72 -115.3 37.68 -9.648 -115.3 37.61 -8.558 +-115.1 37.52 -7.484 -115.4 37.56 -6.413 -115.6 37.67 -5.333 -115.5 37.73 -4.157 +-115.9 37.62 -3.824 -116.4 37.49 -3.828 -116.5 37.68 -3.829 -116.5 37.63 -3.913 +-117.2 37.5 -3.917 -117.3 37.69 -3.917 -117.3 37.59 -3.649 -117.9 37.46 -3.653 +-118 37.65 -3.653 -118 37.61 -3.906 -118.9 37.58 -3.907 -118.9 37.63 -3.908 +-118.9 ] +} +texCoord DEF Plane34-TEXCOORD +TextureCoordinate { point [ 0 0 1 0 0 1 1 1 ] } coordIndex [ 2 0 3 -1 1 3 0 +-1 4 2 5 -1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 10 8 11 -1 9 11 8 +-1 12 10 13 -1 11 13 10 -1 14 15 12 -1 12 13 14 -1 3 1 17 -1 16 17 1 -1 5 3 +18 -1 17 18 3 -1 7 5 19 -1 18 19 5 -1 9 7 20 -1 19 20 7 -1 11 9 21 -1 20 21 +9 -1 13 11 22 -1 21 22 11 -1 23 14 13 -1 13 22 23 -1 24 25 15 -1 15 14 24 +-1 26 24 14 -1 14 23 26 -1 27 28 25 -1 25 24 27 -1 29 27 24 -1 24 26 29 -1 30 +31 28 -1 28 27 30 -1 32 30 27 -1 27 29 32 -1 33 34 31 -1 31 30 33 -1 35 33 30 +-1 30 32 35 -1 ] texCoordIndex +[ 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 +0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 3 2 0 -1 0 1 3 -1 2 0 3 -1 1 3 0 -1 2 0 3 +-1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 +3 0 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 +-1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 +2 0 -1 0 1 3 -1 ] +} +} +DEF Plane34-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, +0.2667, 0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, +0.5333, 0.5667, 0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, +0.8, 0.8333, 0.8667, 0.9, 0.9333, 0.9667, 1, ] +keyValue [37.47 -11.8 -115.1, +37.6 -11.8 -115, 37.49 -10.72 -115.3, 37.55 -10.72 -115.3, +37.48 -9.647 -115.3, 37.62 -9.643 -115.2, 37.51 -8.558 -115.1, +37.57 -8.556 -115.1, 37.32 -7.483 -115.4, 37.46 -7.479 -115.3, +37.46 -6.412 -115.6, 37.53 -6.41 -115.5, 37.5 -5.332 -115.5, +37.62 -5.329 -115.4, 37.66 -4.153 -115.8, 37.53 -4.157 -115.9, +37.67 -11.8 -115.1, 37.58 -10.72 -115.3, 37.68 -9.648 -115.3, +37.61 -8.558 -115.1, 37.52 -7.484 -115.4, 37.56 -6.413 -115.6, +37.67 -5.333 -115.5, 37.73 -4.157 -115.9, 37.62 -3.824 -116.4, +37.49 -3.828 -116.5, 37.68 -3.829 -116.5, 37.63 -3.913 -117.2, +37.5 -3.917 -117.3, 37.69 -3.917 -117.3, 37.59 -3.649 -117.9, +37.46 -3.653 -118, 37.65 -3.653 -118, 37.61 -3.906 -118.9, +37.58 -3.907 -118.9, 37.63 -3.908 -118.9, 37.45 -11.8 -115.1, +37.59 -11.8 -115.1, 37.49 -10.72 -115.3, 37.55 -10.72 -115.3, +37.5 -9.647 -115.3, 37.64 -9.643 -115.2, 37.51 -8.558 -115.1, +37.57 -8.556 -115.1, 37.3 -7.483 -115.4, 37.44 -7.479 -115.3, +37.48 -6.412 -115.6, 37.54 -6.41 -115.5, 37.51 -5.332 -115.5, +37.63 -5.329 -115.4, 37.65 -4.153 -115.8, 37.52 -4.157 -115.9, +37.65 -11.8 -115.1, 37.58 -10.72 -115.3, 37.7 -9.648 -115.3, +37.6 -8.558 -115.1, 37.51 -7.484 -115.4, 37.57 -6.413 -115.6, +37.69 -5.333 -115.5, 37.71 -4.157 -115.9, 37.6 -3.824 -116.4, +37.47 -3.828 -116.5, 37.66 -3.829 -116.5, 37.61 -3.913 -117.2, +37.48 -3.917 -117.3, 37.67 -3.917 -117.3, 37.57 -3.649 -117.9, +37.44 -3.653 -118, 37.64 -3.653 -118, 37.6 -3.906 -118.9, +37.56 -3.907 -118.9, 37.61 -3.908 -118.9, 37.43 -11.8 -115.1, +37.57 -11.8 -115.1, 37.5 -10.72 -115.3, 37.56 -10.72 -115.3, +37.52 -9.647 -115.3, 37.66 -9.643 -115.2, 37.49 -8.558 -115.1, +37.56 -8.556 -115.1, 37.29 -7.483 -115.4, 37.43 -7.479 -115.3, +37.49 -6.412 -115.6, 37.56 -6.41 -115.5, 37.52 -5.332 -115.5, +37.64 -5.329 -115.4, 37.63 -4.153 -115.9, 37.5 -4.157 -115.9, +37.63 -11.8 -115.1, 37.58 -10.72 -115.3, 37.72 -9.648 -115.3, +37.59 -8.558 -115.2, 37.49 -7.484 -115.4, 37.59 -6.413 -115.6, +37.7 -5.333 -115.5, 37.69 -4.157 -115.9, 37.58 -3.824 -116.4, +37.45 -3.828 -116.5, 37.64 -3.829 -116.5, 37.59 -3.913 -117.3, +37.46 -3.917 -117.3, 37.65 -3.917 -117.3, 37.56 -3.649 -118, +37.43 -3.653 -118, 37.62 -3.653 -118, 37.58 -3.906 -118.9, +37.54 -3.907 -118.9, 37.59 -3.908 -118.9, 37.41 -11.8 -115.2, +37.55 -11.8 -115.1, 37.51 -10.72 -115.3, 37.56 -10.72 -115.3, +37.53 -9.647 -115.3, 37.67 -9.643 -115.2, 37.48 -8.558 -115.2, +37.54 -8.556 -115.1, 37.28 -7.483 -115.4, 37.41 -7.479 -115.3, +37.51 -6.412 -115.5, 37.58 -6.41 -115.5, 37.53 -5.332 -115.5, +37.65 -5.329 -115.4, 37.61 -4.153 -115.9, 37.48 -4.157 -115.9, +37.61 -11.8 -115.2, 37.59 -10.72 -115.3, 37.74 -9.648 -115.3, +37.57 -8.558 -115.2, 37.48 -7.484 -115.4, 37.61 -6.413 -115.5, +37.7 -5.333 -115.5, 37.67 -4.157 -115.9, 37.56 -3.824 -116.5, +37.43 -3.828 -116.5, 37.63 -3.829 -116.5, 37.57 -3.913 -117.3, +37.44 -3.917 -117.3, 37.64 -3.917 -117.3, 37.54 -3.649 -118, +37.41 -3.653 -118, 37.61 -3.653 -118, 37.56 -3.906 -118.9, +37.52 -3.907 -118.9, 37.58 -3.908 -118.9, 37.39 -11.8 -115.2, +37.53 -11.8 -115.1, 37.52 -10.72 -115.3, 37.58 -10.72 -115.3, +37.55 -9.647 -115.2, 37.69 -9.643 -115.2, 37.47 -8.558 -115.2, +37.53 -8.556 -115.1, 37.27 -7.483 -115.4, 37.41 -7.479 -115.4, +37.53 -6.412 -115.5, 37.59 -6.41 -115.5, 37.53 -5.332 -115.5, +37.65 -5.329 -115.4, 37.59 -4.153 -115.9, 37.46 -4.157 -115.9, +37.6 -11.8 -115.2, 37.6 -10.72 -115.3, 37.75 -9.648 -115.3, +37.56 -8.558 -115.2, 37.47 -7.484 -115.4, 37.63 -6.413 -115.5, +37.71 -5.333 -115.5, 37.65 -4.157 -116, 37.55 -3.824 -116.5, +37.42 -3.828 -116.5, 37.61 -3.829 -116.5, 37.56 -3.913 -117.3, +37.43 -3.917 -117.4, 37.62 -3.917 -117.4, 37.53 -3.649 -118, +37.4 -3.653 -118, 37.6 -3.653 -118, 37.54 -3.906 -118.9, +37.51 -3.907 -118.9, 37.56 -3.908 -118.9, 37.38 -11.8 -115.2, +37.51 -11.8 -115.1, 37.53 -10.72 -115.3, 37.59 -10.72 -115.3, +37.56 -9.647 -115.2, 37.7 -9.643 -115.2, 37.45 -8.558 -115.2, +37.51 -8.556 -115.2, 37.27 -7.483 -115.4, 37.4 -7.479 -115.4, +37.55 -6.412 -115.5, 37.61 -6.41 -115.5, 37.53 -5.332 -115.5, +37.65 -5.329 -115.4, 37.57 -4.153 -115.9, 37.44 -4.157 -116, +37.58 -11.8 -115.2, 37.62 -10.72 -115.3, 37.76 -9.648 -115.2, +37.54 -8.558 -115.2, 37.47 -7.484 -115.4, 37.65 -6.413 -115.5, +37.7 -5.333 -115.5, 37.63 -4.157 -116, 37.54 -3.824 -116.5, +37.41 -3.828 -116.5, 37.6 -3.829 -116.5, 37.54 -3.913 -117.3, +37.41 -3.917 -117.4, 37.61 -3.917 -117.4, 37.53 -3.649 -118, +37.4 -3.653 -118, 37.59 -3.653 -118.1, 37.53 -3.906 -118.9, +37.49 -3.907 -119, 37.55 -3.908 -119, 37.37 -11.8 -115.2, +37.5 -11.8 -115.1, 37.55 -10.72 -115.3, 37.61 -10.72 -115.2, +37.57 -9.647 -115.2, 37.7 -9.643 -115.2, 37.43 -8.558 -115.2, +37.49 -8.556 -115.2, 37.27 -7.483 -115.4, 37.4 -7.479 -115.4, +37.57 -6.412 -115.5, 37.63 -6.41 -115.5, 37.52 -5.332 -115.5, +37.64 -5.329 -115.4, 37.55 -4.153 -115.9, 37.42 -4.157 -116, +37.57 -11.8 -115.2, 37.63 -10.72 -115.3, 37.77 -9.648 -115.2, +37.52 -8.558 -115.2, 37.47 -7.484 -115.4, 37.66 -6.413 -115.5, +37.7 -5.333 -115.5, 37.62 -4.157 -116, 37.53 -3.824 -116.5, +37.4 -3.828 -116.5, 37.59 -3.829 -116.6, 37.53 -3.913 -117.3, +37.4 -3.917 -117.4, 37.6 -3.917 -117.4, 37.52 -3.649 -118, +37.39 -3.653 -118, 37.59 -3.653 -118.1, 37.52 -3.906 -119, +37.48 -3.907 -119, 37.54 -3.908 -119, 37.36 -11.8 -115.2, +37.49 -11.8 -115.1, 37.57 -10.72 -115.3, 37.63 -10.72 -115.2, +37.57 -9.647 -115.2, 37.71 -9.643 -115.2, 37.41 -8.558 -115.2, +37.47 -8.556 -115.2, 37.27 -7.483 -115.4, 37.41 -7.479 -115.4, +37.58 -6.412 -115.5, 37.65 -6.41 -115.4, 37.51 -5.332 -115.5, +37.63 -5.329 -115.4, 37.54 -4.153 -115.9, 37.41 -4.157 -116, +37.56 -11.8 -115.2, 37.65 -10.72 -115.3, 37.77 -9.648 -115.2, +37.5 -8.558 -115.2, 37.47 -7.484 -115.4, 37.68 -6.413 -115.5, +37.69 -5.333 -115.5, 37.6 -4.157 -116, 37.52 -3.824 -116.5, +37.39 -3.828 -116.5, 37.59 -3.829 -116.6, 37.53 -3.913 -117.3, +37.4 -3.917 -117.4, 37.59 -3.917 -117.4, 37.53 -3.649 -118, +37.4 -3.653 -118, 37.59 -3.653 -118.1, 37.51 -3.906 -119, +37.48 -3.907 -119, 37.53 -3.908 -119, 37.35 -11.8 -115.2, +37.49 -11.8 -115.2, 37.59 -10.72 -115.2, 37.64 -10.72 -115.2, +37.57 -9.647 -115.2, 37.7 -9.643 -115.2, 37.39 -8.558 -115.2, +37.45 -8.556 -115.2, 37.28 -7.483 -115.4, 37.41 -7.479 -115.3, +37.6 -6.412 -115.4, 37.67 -6.41 -115.4, 37.5 -5.332 -115.5, +37.62 -5.329 -115.4, 37.53 -4.153 -115.9, 37.4 -4.157 -116, +37.55 -11.8 -115.2, 37.67 -10.72 -115.2, 37.77 -9.648 -115.2, +37.48 -8.558 -115.2, 37.48 -7.484 -115.4, 37.7 -6.413 -115.5, +37.67 -5.333 -115.5, 37.6 -4.157 -116, 37.52 -3.824 -116.5, +37.4 -3.828 -116.5, 37.59 -3.829 -116.6, 37.52 -3.913 -117.3, +37.39 -3.917 -117.4, 37.59 -3.917 -117.4, 37.53 -3.649 -118, +37.4 -3.653 -118, 37.6 -3.653 -118, 37.51 -3.906 -119, +37.48 -3.907 -119, 37.53 -3.908 -119, 37.35 -11.8 -115.2, +37.49 -11.8 -115.2, 37.61 -10.72 -115.2, 37.66 -10.72 -115.2, +37.56 -9.647 -115.2, 37.7 -9.643 -115.2, 37.37 -8.558 -115.3, +37.43 -8.556 -115.2, 37.29 -7.483 -115.4, 37.42 -7.479 -115.3, +37.61 -6.412 -115.4, 37.68 -6.41 -115.4, 37.48 -5.332 -115.5, +37.6 -5.329 -115.4, 37.53 -4.153 -115.9, 37.4 -4.157 -116, +37.55 -11.8 -115.2, 37.69 -10.72 -115.2, 37.76 -9.648 -115.2, +37.47 -8.558 -115.3, 37.49 -7.484 -115.4, 37.71 -6.413 -115.4, +37.66 -5.333 -115.5, 37.59 -4.157 -116, 37.53 -3.824 -116.5, +37.4 -3.828 -116.5, 37.59 -3.829 -116.6, 37.53 -3.913 -117.3, +37.4 -3.917 -117.4, 37.59 -3.917 -117.4, 37.54 -3.649 -118, +37.41 -3.653 -118, 37.6 -3.653 -118, 37.51 -3.906 -119, +37.48 -3.907 -119, 37.53 -3.908 -119, 37.35 -11.8 -115.2, +37.49 -11.8 -115.1, 37.62 -10.72 -115.2, 37.68 -10.72 -115.2, +37.55 -9.647 -115.2, 37.69 -9.643 -115.2, 37.36 -8.558 -115.3, +37.42 -8.556 -115.2, 37.3 -7.483 -115.4, 37.44 -7.479 -115.3, +37.63 -6.412 -115.4, 37.69 -6.41 -115.4, 37.46 -5.332 -115.5, +37.58 -5.329 -115.5, 37.52 -4.153 -116, 37.39 -4.157 -116, +37.56 -11.8 -115.2, 37.71 -10.72 -115.2, 37.76 -9.648 -115.2, +37.45 -8.558 -115.3, 37.5 -7.484 -115.4, 37.72 -6.413 -115.4, +37.64 -5.333 -115.5, 37.59 -4.157 -116, 37.54 -3.824 -116.5, +37.41 -3.828 -116.5, 37.6 -3.829 -116.5, 37.53 -3.913 -117.3, +37.4 -3.917 -117.4, 37.59 -3.917 -117.4, 37.55 -3.649 -118, +37.42 -3.653 -118, 37.62 -3.653 -118, 37.52 -3.906 -119, +37.48 -3.907 -119, 37.54 -3.908 -119, 37.36 -11.8 -115.2, +37.5 -11.8 -115.1, 37.64 -10.72 -115.2, 37.7 -10.72 -115.2, +37.54 -9.647 -115.2, 37.68 -9.643 -115.2, 37.34 -8.558 -115.3, +37.41 -8.556 -115.3, 37.32 -7.483 -115.4, 37.46 -7.479 -115.3, +37.63 -6.412 -115.4, 37.7 -6.41 -115.4, 37.44 -5.332 -115.5, +37.56 -5.329 -115.5, 37.53 -4.153 -115.9, 37.4 -4.157 -116, +37.56 -11.8 -115.2, 37.73 -10.72 -115.2, 37.74 -9.648 -115.3, +37.44 -8.558 -115.3, 37.52 -7.484 -115.4, 37.73 -6.413 -115.4, +37.62 -5.333 -115.5, 37.59 -4.157 -116, 37.55 -3.824 -116.5, +37.42 -3.828 -116.5, 37.61 -3.829 -116.5, 37.54 -3.913 -117.3, +37.41 -3.917 -117.4, 37.6 -3.917 -117.4, 37.57 -3.649 -117.9, +37.44 -3.653 -118, 37.63 -3.653 -118, 37.53 -3.906 -118.9, +37.49 -3.907 -119, 37.55 -3.908 -119, 37.37 -11.8 -115.2, +37.51 -11.8 -115.1, 37.66 -10.72 -115.2, 37.71 -10.72 -115.1, +37.53 -9.647 -115.3, 37.66 -9.643 -115.2, 37.33 -8.558 -115.3, +37.4 -8.556 -115.3, 37.34 -7.483 -115.4, 37.47 -7.479 -115.3, +37.64 -6.412 -115.4, 37.7 -6.41 -115.4, 37.43 -5.332 -115.5, +37.54 -5.329 -115.5, 37.53 -4.153 -115.9, 37.4 -4.157 -116, +37.57 -11.8 -115.2, 37.74 -10.72 -115.2, 37.73 -9.648 -115.3, +37.43 -8.558 -115.3, 37.54 -7.484 -115.4, 37.74 -6.413 -115.4, +37.6 -5.333 -115.6, 37.6 -4.157 -116, 37.56 -3.824 -116.5, +37.43 -3.828 -116.5, 37.63 -3.829 -116.5, 37.55 -3.913 -117.3, +37.42 -3.917 -117.4, 37.62 -3.917 -117.4, 37.59 -3.649 -117.9, +37.46 -3.653 -118, 37.65 -3.653 -118, 37.54 -3.906 -118.9, +37.51 -3.907 -118.9, 37.56 -3.908 -118.9, 37.38 -11.8 -115.2, +37.52 -11.8 -115.1, 37.67 -10.72 -115.2, 37.73 -10.72 -115.1, +37.51 -9.647 -115.3, 37.64 -9.643 -115.2, 37.33 -8.558 -115.3, +37.39 -8.556 -115.3, 37.36 -7.483 -115.3, 37.49 -7.479 -115.3, +37.64 -6.412 -115.4, 37.7 -6.41 -115.4, 37.41 -5.332 -115.6, +37.53 -5.329 -115.5, 37.54 -4.153 -115.9, 37.41 -4.157 -116, +37.59 -11.8 -115.2, 37.75 -10.72 -115.2, 37.71 -9.648 -115.3, +37.42 -8.558 -115.3, 37.56 -7.484 -115.3, 37.73 -6.413 -115.4, +37.58 -5.333 -115.6, 37.61 -4.157 -116, 37.58 -3.824 -116.4, +37.45 -3.828 -116.5, 37.64 -3.829 -116.5, 37.57 -3.913 -117.3, +37.44 -3.917 -117.3, 37.63 -3.917 -117.4, 37.61 -3.649 -117.9, +37.48 -3.653 -118, 37.67 -3.653 -118, 37.56 -3.906 -118.9, +37.52 -3.907 -118.9, 37.57 -3.908 -118.9, 37.4 -11.8 -115.2, +37.54 -11.8 -115.1, 37.68 -10.72 -115.2, 37.73 -10.72 -115.1, +37.49 -9.647 -115.3, 37.63 -9.643 -115.2, 37.33 -8.558 -115.3, +37.39 -8.556 -115.3, 37.38 -7.483 -115.3, 37.51 -7.479 -115.3, +37.63 -6.412 -115.4, 37.7 -6.41 -115.4, 37.39 -5.332 -115.6, +37.51 -5.329 -115.5, 37.56 -4.153 -115.9, 37.43 -4.157 -116, +37.6 -11.8 -115.2, 37.76 -10.72 -115.2, 37.69 -9.648 -115.3, +37.42 -8.558 -115.3, 37.58 -7.484 -115.3, 37.73 -6.413 -115.4, +37.57 -5.333 -115.6, 37.62 -4.157 -116, 37.6 -3.824 -116.4, +37.47 -3.828 -116.5, 37.66 -3.829 -116.5, 37.59 -3.913 -117.3, +37.46 -3.917 -117.3, 37.65 -3.917 -117.3, 37.63 -3.649 -117.9, +37.5 -3.653 -117.9, 37.69 -3.653 -118, 37.57 -3.906 -118.9, +37.54 -3.907 -118.9, 37.59 -3.908 -118.9, 37.42 -11.8 -115.1, +37.56 -11.8 -115.1, 37.68 -10.72 -115.1, 37.74 -10.72 -115.1, +37.47 -9.647 -115.3, 37.61 -9.643 -115.3, 37.33 -8.558 -115.3, +37.39 -8.556 -115.3, 37.4 -7.483 -115.3, 37.53 -7.479 -115.2, +37.62 -6.412 -115.4, 37.69 -6.41 -115.4, 37.37 -5.332 -115.6, +37.49 -5.329 -115.5, 37.57 -4.153 -115.9, 37.44 -4.157 -116, +37.62 -11.8 -115.2, 37.77 -10.72 -115.2, 37.67 -9.648 -115.3, +37.42 -8.558 -115.3, 37.6 -7.484 -115.3, 37.72 -6.413 -115.4, +37.55 -5.333 -115.6, 37.63 -4.157 -116, 37.62 -3.824 -116.4, +37.49 -3.828 -116.5, 37.68 -3.829 -116.5, 37.61 -3.913 -117.3, +37.48 -3.917 -117.3, 37.67 -3.917 -117.3, 37.65 -3.649 -117.9, +37.52 -3.653 -117.9, 37.71 -3.653 -117.9, 37.59 -3.906 -118.9, +37.56 -3.907 -118.9, 37.61 -3.908 -118.9, 37.44 -11.8 -115.1, +37.58 -11.8 -115.1, 37.68 -10.72 -115.1, 37.74 -10.72 -115.1, +37.45 -9.647 -115.3, 37.59 -9.643 -115.3, 37.34 -8.558 -115.3, +37.4 -8.556 -115.3, 37.41 -7.483 -115.3, 37.55 -7.479 -115.2, +37.61 -6.412 -115.4, 37.68 -6.41 -115.4, 37.36 -5.332 -115.6, +37.48 -5.329 -115.6, 37.59 -4.153 -115.9, 37.46 -4.157 -115.9, +37.64 -11.8 -115.1, 37.77 -10.72 -115.2, 37.65 -9.648 -115.3, +37.43 -8.558 -115.3, 37.61 -7.484 -115.3, 37.71 -6.413 -115.4, +37.54 -5.333 -115.6, 37.65 -4.157 -116, 37.64 -3.824 -116.4, +37.51 -3.828 -116.4, 37.7 -3.829 -116.4, 37.63 -3.913 -117.2, +37.5 -3.917 -117.3, 37.69 -3.917 -117.3, 37.66 -3.649 -117.9, +37.53 -3.653 -117.9, 37.73 -3.653 -117.9, 37.61 -3.906 -118.9, +37.58 -3.907 -118.9, 37.63 -3.908 -118.9, 37.46 -11.8 -115.1, +37.59 -11.8 -115.1, 37.68 -10.72 -115.2, 37.73 -10.72 -115.1, +37.43 -9.647 -115.3, 37.57 -9.643 -115.3, 37.35 -8.558 -115.3, +37.41 -8.556 -115.3, 37.43 -7.483 -115.3, 37.56 -7.479 -115.2, +37.6 -6.412 -115.5, 37.66 -6.41 -115.4, 37.35 -5.332 -115.6, +37.47 -5.329 -115.6, 37.61 -4.153 -115.9, 37.48 -4.157 -115.9, +37.66 -11.8 -115.1, 37.76 -10.72 -115.2, 37.63 -9.648 -115.4, +37.44 -8.558 -115.3, 37.63 -7.484 -115.3, 37.69 -6.413 -115.5, +37.53 -5.333 -115.6, 37.67 -4.157 -115.9, 37.66 -3.824 -116.4, +37.53 -3.828 -116.4, 37.72 -3.829 -116.4, 37.64 -3.913 -117.2, +37.51 -3.917 -117.3, 37.71 -3.917 -117.3, 37.68 -3.649 -117.8, +37.55 -3.653 -117.9, 37.74 -3.653 -117.9, 37.63 -3.906 -118.8, +37.6 -3.907 -118.9, 37.65 -3.908 -118.9, 37.48 -11.8 -115.1, +37.61 -11.8 -115, 37.67 -10.72 -115.2, 37.73 -10.72 -115.1, +37.42 -9.647 -115.4, 37.55 -9.643 -115.3, 37.36 -8.558 -115.3, +37.42 -8.556 -115.2, 37.44 -7.483 -115.3, 37.58 -7.479 -115.2, +37.58 -6.412 -115.5, 37.64 -6.41 -115.4, 37.34 -5.332 -115.6, +37.46 -5.329 -115.6, 37.63 -4.153 -115.9, 37.5 -4.157 -115.9, +37.68 -11.8 -115.1, 37.75 -10.72 -115.2, 37.62 -9.648 -115.4, +37.45 -8.558 -115.3, 37.64 -7.484 -115.3, 37.68 -6.413 -115.5, +37.52 -5.333 -115.6, 37.69 -4.157 -115.9, 37.67 -3.824 -116.4, +37.54 -3.828 -116.4, 37.74 -3.829 -116.4, 37.66 -3.913 -117.2, +37.53 -3.917 -117.3, 37.73 -3.917 -117.3, 37.69 -3.649 -117.8, +37.56 -3.653 -117.9, 37.76 -3.653 -117.9, 37.65 -3.906 -118.8, +37.62 -3.907 -118.8, 37.67 -3.908 -118.8, 37.49 -11.8 -115.1, +37.63 -11.8 -115, 37.66 -10.72 -115.2, 37.71 -10.72 -115.1, +37.4 -9.647 -115.4, 37.54 -9.643 -115.3, 37.38 -8.558 -115.3, +37.44 -8.556 -115.2, 37.45 -7.483 -115.3, 37.58 -7.479 -115.2, +37.56 -6.412 -115.5, 37.63 -6.41 -115.5, 37.34 -5.332 -115.6, +37.46 -5.329 -115.6, 37.65 -4.153 -115.8, 37.52 -4.157 -115.9, +37.7 -11.8 -115.1, 37.74 -10.72 -115.2, 37.6 -9.648 -115.4, +37.47 -8.558 -115.3, 37.65 -7.484 -115.3, 37.66 -6.413 -115.5, +37.52 -5.333 -115.6, 37.71 -4.157 -115.9, 37.69 -3.824 -116.3, +37.56 -3.828 -116.4, 37.75 -3.829 -116.4, 37.68 -3.913 -117.2, +37.55 -3.917 -117.2, 37.74 -3.917 -117.2, 37.7 -3.649 -117.8, +37.57 -3.653 -117.9, 37.77 -3.653 -117.9, 37.67 -3.906 -118.8, +37.63 -3.907 -118.8, 37.68 -3.908 -118.8, 37.51 -11.8 -115.1, +37.65 -11.8 -115, 37.64 -10.72 -115.2, 37.7 -10.72 -115.2, +37.39 -9.647 -115.4, 37.53 -9.643 -115.3, 37.4 -8.558 -115.2, +37.46 -8.556 -115.2, 37.45 -7.483 -115.2, 37.59 -7.479 -115.2, +37.54 -6.412 -115.5, 37.61 -6.41 -115.5, 37.34 -5.332 -115.6, +37.46 -5.329 -115.6, 37.67 -4.153 -115.8, 37.54 -4.157 -115.9, +37.71 -11.8 -115.1, 37.73 -10.72 -115.2, 37.59 -9.648 -115.4, +37.49 -8.558 -115.2, 37.65 -7.484 -115.3, 37.64 -6.413 -115.5, +37.52 -5.333 -115.6, 37.73 -4.157 -115.9, 37.7 -3.824 -116.3, +37.57 -3.828 -116.4, 37.76 -3.829 -116.4, 37.69 -3.913 -117.2, +37.56 -3.917 -117.2, 37.76 -3.917 -117.2, 37.71 -3.649 -117.8, +37.58 -3.653 -117.9, 37.77 -3.653 -117.9, 37.68 -3.906 -118.8, +37.64 -3.907 -118.8, 37.7 -3.908 -118.8, 37.52 -11.8 -115.1, +37.66 -11.8 -115, 37.63 -10.72 -115.2, 37.68 -10.72 -115.2, +37.38 -9.647 -115.4, 37.52 -9.643 -115.3, 37.41 -8.558 -115.2, +37.48 -8.556 -115.2, 37.45 -7.483 -115.2, 37.59 -7.479 -115.2, +37.52 -6.412 -115.5, 37.59 -6.41 -115.5, 37.35 -5.332 -115.6, +37.47 -5.329 -115.6, 37.68 -4.153 -115.8, 37.55 -4.157 -115.9, +37.72 -11.8 -115.1, 37.71 -10.72 -115.2, 37.59 -9.648 -115.4, +37.51 -8.558 -115.2, 37.65 -7.484 -115.3, 37.62 -6.413 -115.5, +37.53 -5.333 -115.6, 37.74 -4.157 -115.9, 37.71 -3.824 -116.3, +37.58 -3.828 -116.4, 37.77 -3.829 -116.4, 37.7 -3.913 -117.2, +37.57 -3.917 -117.2, 37.77 -3.917 -117.2, 37.71 -3.649 -117.8, +37.58 -3.653 -117.9, 37.77 -3.653 -117.9, 37.69 -3.906 -118.8, +37.65 -3.907 -118.8, 37.71 -3.908 -118.8, 37.53 -11.8 -115, +37.67 -11.8 -115, 37.61 -10.72 -115.2, 37.66 -10.72 -115.2, +37.38 -9.647 -115.4, 37.52 -9.643 -115.3, 37.43 -8.558 -115.2, +37.5 -8.556 -115.2, 37.45 -7.483 -115.3, 37.58 -7.479 -115.2, +37.5 -6.412 -115.5, 37.57 -6.41 -115.5, 37.36 -5.332 -115.6, +37.48 -5.329 -115.6, 37.69 -4.153 -115.8, 37.56 -4.157 -115.8, +37.73 -11.8 -115.1, 37.69 -10.72 -115.2, 37.58 -9.648 -115.4, +37.53 -8.558 -115.2, 37.65 -7.484 -115.3, 37.6 -6.413 -115.5, +37.54 -5.333 -115.6, 37.76 -4.157 -115.9, 37.71 -3.824 -116.3, +37.58 -3.828 -116.4, 37.77 -3.829 -116.4, 37.71 -3.913 -117.2, +37.58 -3.917 -117.2, 37.77 -3.917 -117.2, 37.71 -3.649 -117.8, +37.58 -3.653 -117.9, 37.77 -3.653 -117.9, 37.7 -3.906 -118.8, +37.66 -3.907 -118.8, 37.71 -3.908 -118.8, 37.54 -11.8 -115, +37.67 -11.8 -115, 37.59 -10.72 -115.2, 37.64 -10.72 -115.2, +37.38 -9.647 -115.4, 37.52 -9.643 -115.3, 37.45 -8.558 -115.2, +37.52 -8.556 -115.2, 37.44 -7.483 -115.3, 37.58 -7.479 -115.2, +37.49 -6.412 -115.6, 37.55 -6.41 -115.5, 37.37 -5.332 -115.6, +37.49 -5.329 -115.5, 37.7 -4.153 -115.8, 37.57 -4.157 -115.8, +37.74 -11.8 -115, 37.67 -10.72 -115.2, 37.59 -9.648 -115.4, +37.55 -8.558 -115.2, 37.64 -7.484 -115.3, 37.58 -6.413 -115.6, +37.55 -5.333 -115.6, 37.77 -4.157 -115.9, 37.71 -3.824 -116.3, +37.58 -3.828 -116.4, 37.77 -3.829 -116.4, 37.71 -3.913 -117.2, +37.58 -3.917 -117.2, 37.77 -3.917 -117.2, 37.7 -3.649 -117.8, +37.57 -3.653 -117.9, 37.77 -3.653 -117.9, 37.7 -3.906 -118.8, +37.66 -3.907 -118.8, 37.71 -3.908 -118.8, 37.54 -11.8 -115, +37.67 -11.8 -115, 37.57 -10.72 -115.3, 37.63 -10.72 -115.2, +37.39 -9.647 -115.4, 37.52 -9.643 -115.3, 37.47 -8.558 -115.2, +37.53 -8.556 -115.1, 37.43 -7.483 -115.3, 37.56 -7.479 -115.2, +37.47 -6.412 -115.6, 37.54 -6.41 -115.5, 37.39 -5.332 -115.6, +37.51 -5.329 -115.5, 37.71 -4.153 -115.8, 37.58 -4.157 -115.8, +37.74 -11.8 -115, 37.65 -10.72 -115.3, 37.59 -9.648 -115.4, +37.56 -8.558 -115.2, 37.63 -7.484 -115.3, 37.57 -6.413 -115.6, +37.56 -5.333 -115.6, 37.77 -4.157 -115.8, 37.71 -3.824 -116.3, +37.58 -3.828 -116.4, 37.77 -3.829 -116.4, 37.71 -3.913 -117.2, +37.58 -3.917 -117.2, 37.77 -3.917 -117.2, 37.69 -3.649 -117.8, +37.56 -3.653 -117.9, 37.76 -3.653 -117.9, 37.7 -3.906 -118.8, +37.66 -3.907 -118.8, 37.71 -3.908 -118.8, 37.53 -11.8 -115, +37.67 -11.8 -115, 37.55 -10.72 -115.3, 37.61 -10.72 -115.2, +37.4 -9.647 -115.4, 37.53 -9.643 -115.3, 37.49 -8.558 -115.2, +37.55 -8.556 -115.1, 37.41 -7.483 -115.3, 37.55 -7.479 -115.2, +37.46 -6.412 -115.6, 37.53 -6.41 -115.5, 37.41 -5.332 -115.6, +37.53 -5.329 -115.5, 37.71 -4.153 -115.8, 37.58 -4.157 -115.8, +37.74 -11.8 -115, 37.63 -10.72 -115.3, 37.6 -9.648 -115.4, +37.58 -8.558 -115.2, 37.62 -7.484 -115.3, 37.56 -6.413 -115.6, +37.58 -5.333 -115.6, 37.77 -4.157 -115.8, 37.7 -3.824 -116.3, +37.57 -3.828 -116.4, 37.76 -3.829 -116.4, 37.7 -3.913 -117.2, +37.57 -3.917 -117.2, 37.77 -3.917 -117.2, 37.68 -3.649 -117.8, +37.55 -3.653 -117.9, 37.75 -3.653 -117.9, 37.69 -3.906 -118.8, +37.66 -3.907 -118.8, 37.71 -3.908 -118.8, 37.53 -11.8 -115, +37.66 -11.8 -115, 37.53 -10.72 -115.3, 37.59 -10.72 -115.3, +37.41 -9.647 -115.4, 37.55 -9.643 -115.3, 37.5 -8.558 -115.1, +37.56 -8.556 -115.1, 37.4 -7.483 -115.3, 37.53 -7.479 -115.2, +37.45 -6.412 -115.6, 37.52 -6.41 -115.6, 37.42 -5.332 -115.5, +37.54 -5.329 -115.5, 37.71 -4.153 -115.8, 37.58 -4.157 -115.8, +37.73 -11.8 -115.1, 37.62 -10.72 -115.3, 37.61 -9.648 -115.4, +37.59 -8.558 -115.1, 37.6 -7.484 -115.3, 37.55 -6.413 -115.6, +37.6 -5.333 -115.6, 37.77 -4.157 -115.8, 37.69 -3.824 -116.3, +37.56 -3.828 -116.4, 37.75 -3.829 -116.4, 37.69 -3.913 -117.2, +37.57 -3.917 -117.2, 37.76 -3.917 -117.2, 37.67 -3.649 -117.9, +37.54 -3.653 -117.9, 37.73 -3.653 -117.9, 37.68 -3.906 -118.8, +37.65 -3.907 -118.8, 37.7 -3.908 -118.8, 37.52 -11.8 -115.1, +37.65 -11.8 -115, 37.52 -10.72 -115.3, 37.58 -10.72 -115.3, +37.42 -9.647 -115.4, 37.56 -9.643 -115.3, 37.51 -8.558 -115.1, +37.57 -8.556 -115.1, 37.38 -7.483 -115.3, 37.51 -7.479 -115.3, +37.45 -6.412 -115.6, 37.52 -6.41 -115.6, 37.44 -5.332 -115.5, +37.56 -5.329 -115.5, 37.7 -4.153 -115.8, 37.57 -4.157 -115.8, +37.72 -11.8 -115.1, 37.6 -10.72 -115.3, 37.63 -9.648 -115.4, +37.6 -8.558 -115.1, 37.58 -7.484 -115.3, 37.55 -6.413 -115.6, +37.62 -5.333 -115.5, 37.77 -4.157 -115.9, 37.67 -3.824 -116.4, +37.54 -3.828 -116.4, 37.74 -3.829 -116.4, 37.68 -3.913 -117.2, +37.55 -3.917 -117.2, 37.75 -3.917 -117.2, 37.65 -3.649 -117.9, +37.52 -3.653 -117.9, 37.71 -3.653 -117.9, 37.67 -3.906 -118.8, +37.63 -3.907 -118.8, 37.68 -3.908 -118.8, 37.5 -11.8 -115.1, +37.64 -11.8 -115, 37.51 -10.72 -115.3, 37.56 -10.72 -115.3, +37.44 -9.647 -115.3, 37.58 -9.643 -115.3, 37.51 -8.558 -115.1, +37.58 -8.556 -115.1, 37.36 -7.483 -115.3, 37.5 -7.479 -115.3, +37.45 -6.412 -115.6, 37.52 -6.41 -115.6, 37.46 -5.332 -115.5, +37.58 -5.329 -115.5, 37.69 -4.153 -115.8, 37.56 -4.157 -115.8, +37.71 -11.8 -115.1, 37.59 -10.72 -115.3, 37.64 -9.648 -115.3, +37.61 -8.558 -115.1, 37.56 -7.484 -115.3, 37.55 -6.413 -115.6, +37.64 -5.333 -115.5, 37.76 -4.157 -115.9, 37.65 -3.824 -116.4, +37.52 -3.828 -116.4, 37.72 -3.829 -116.4, 37.67 -3.913 -117.2, +37.54 -3.917 -117.2, 37.73 -3.917 -117.3, 37.63 -3.649 -117.9, +37.5 -3.653 -117.9, 37.69 -3.653 -118, 37.65 -3.906 -118.8, +37.62 -3.907 -118.8, 37.67 -3.908 -118.8, 37.49 -11.8 -115.1, +37.62 -11.8 -115, 37.5 -10.72 -115.3, 37.56 -10.72 -115.3, +37.46 -9.647 -115.3, 37.6 -9.643 -115.3, 37.51 -8.558 -115.1, +37.58 -8.556 -115.1, 37.34 -7.483 -115.4, 37.48 -7.479 -115.3, +37.46 -6.412 -115.6, 37.52 -6.41 -115.6, 37.48 -5.332 -115.5, +37.6 -5.329 -115.4, 37.68 -4.153 -115.8, 37.55 -4.157 -115.9, +37.69 -11.8 -115.1, 37.58 -10.72 -115.3, 37.66 -9.648 -115.3, +37.61 -8.558 -115.1, 37.54 -7.484 -115.4, 37.55 -6.413 -115.6, +37.66 -5.333 -115.5, 37.74 -4.157 -115.9, 37.64 -3.824 -116.4, +37.51 -3.828 -116.4, 37.7 -3.829 -116.5, 37.65 -3.913 -117.2, +37.52 -3.917 -117.3, 37.71 -3.917 -117.3, 37.61 -3.649 -117.9, +37.48 -3.653 -118, 37.67 -3.653 -118, 37.63 -3.906 -118.8, +37.6 -3.907 -118.9, 37.65 -3.908 -118.9, 37.47 -11.8 -115.1, +37.6 -11.8 -115, 37.49 -10.72 -115.3, 37.55 -10.72 -115.3, +37.48 -9.647 -115.3, 37.62 -9.643 -115.2, 37.51 -8.558 -115.1, +37.57 -8.556 -115.1, 37.32 -7.483 -115.4, 37.46 -7.479 -115.3, +37.46 -6.412 -115.6, 37.53 -6.41 -115.5, 37.5 -5.332 -115.5, +37.62 -5.329 -115.4, 37.66 -4.153 -115.8, 37.53 -4.157 -115.9, +37.67 -11.8 -115.1, 37.58 -10.72 -115.3, 37.68 -9.648 -115.3, +37.61 -8.558 -115.1, 37.52 -7.484 -115.4, 37.56 -6.413 -115.6, +37.67 -5.333 -115.5, 37.73 -4.157 -115.9, 37.62 -3.824 -116.4, +37.49 -3.828 -116.5, 37.68 -3.829 -116.5, 37.63 -3.913 -117.2, +37.5 -3.917 -117.3, 37.69 -3.917 -117.3, 37.59 -3.649 -117.9, +37.46 -3.653 -118, 37.65 -3.653 -118, 37.61 -3.906 -118.9, +37.58 -3.907 -118.9, 37.63 -3.908 -118.9, ] +} +] +}, +DEF Plane35 Transform { +translation -37.69 5.921 115.2 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane35-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane35-COORD Coordinate { +point [ 37.43 -11.8 -114.9 37.53 -11.8 -115.1 37.26 -10.72 -115.2 37.3 -10.72 +-115.3 37.25 -9.647 -115.1 37.35 -9.643 -115.2 37.41 -8.558 -114.9 37.45 -8.556 +-114.9 37.15 -7.483 -115 37.25 -7.479 -115.1 37.01 -6.412 -115.3 37.06 -6.41 +-115.3 37.08 -5.332 -115 37.16 -5.329 -115.1 36.81 -4.153 -115.3 36.72 -4.157 +-115.2 37.49 -11.8 -115.1 37.28 -10.72 -115.3 37.31 -9.648 -115.2 37.43 -8.558 +-115 37.2 -7.484 -115.2 37.03 -6.413 -115.4 37.13 -5.333 -115.2 36.77 -4.157 +-115.4 36.26 -3.824 -115.6 36.16 -3.828 -115.5 36.22 -3.829 -115.6 35.48 -3.913 +-115.8 35.39 -3.917 -115.7 35.44 -3.917 -115.9 34.82 -3.649 -116.1 34.73 -3.653 +-116 34.78 -3.653 -116.2 33.94 -3.906 -116.4 33.91 -3.907 -116.3 33.93 -3.908 +-116.4 ] +} +texCoord DEF Plane35-TEXCOORD +TextureCoordinate { point [ 0 0 1 0 0 1 1 1 ] } coordIndex [ 2 0 3 -1 1 3 0 +-1 4 2 5 -1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 10 8 11 -1 9 11 8 +-1 12 10 13 -1 11 13 10 -1 14 15 12 -1 12 13 14 -1 3 1 17 -1 16 17 1 -1 5 3 +18 -1 17 18 3 -1 7 5 19 -1 18 19 5 -1 9 7 20 -1 19 20 7 -1 11 9 21 -1 20 21 +9 -1 13 11 22 -1 21 22 11 -1 23 14 13 -1 13 22 23 -1 24 25 15 -1 15 14 24 +-1 26 24 14 -1 14 23 26 -1 27 28 25 -1 25 24 27 -1 29 27 24 -1 24 26 29 -1 30 +31 28 -1 28 27 30 -1 32 30 27 -1 27 29 32 -1 33 34 31 -1 31 30 33 -1 35 33 30 +-1 30 32 35 -1 ] texCoordIndex +[ 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 +0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 3 2 0 -1 0 1 3 -1 2 0 3 -1 1 3 0 -1 2 0 3 +-1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 +3 0 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 +-1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 +2 0 -1 0 1 3 -1 ] +} +} +DEF Plane35-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, +0.2667, 0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, +0.5333, 0.5667, 0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, +0.8, 0.8333, 0.8667, 0.9, 0.9333, 0.9667, 1, ] +keyValue [37.43 -11.8 -114.9, +37.53 -11.8 -115.1, 37.26 -10.72 -115.2, 37.3 -10.72 -115.3, +37.25 -9.647 -115.1, 37.35 -9.643 -115.2, 37.41 -8.558 -114.9, +37.45 -8.556 -114.9, 37.15 -7.483 -115, 37.25 -7.479 -115.1, +37.01 -6.412 -115.3, 37.06 -6.41 -115.3, 37.08 -5.332 -115, +37.16 -5.329 -115.1, 36.81 -4.153 -115.3, 36.72 -4.157 -115.2, +37.49 -11.8 -115.1, 37.28 -10.72 -115.3, 37.31 -9.648 -115.2, +37.43 -8.558 -115, 37.2 -7.484 -115.2, 37.03 -6.413 -115.4, +37.13 -5.333 -115.2, 36.77 -4.157 -115.4, 36.26 -3.824 -115.6, +36.16 -3.828 -115.5, 36.22 -3.829 -115.6, 35.48 -3.913 -115.8, +35.39 -3.917 -115.7, 35.44 -3.917 -115.9, 34.82 -3.649 -116.1, +34.73 -3.653 -116, 34.78 -3.653 -116.2, 33.94 -3.906 -116.4, +33.91 -3.907 -116.3, 33.93 -3.908 -116.4, 37.41 -11.8 -115, +37.52 -11.8 -115.1, 37.26 -10.72 -115.2, 37.3 -10.72 -115.3, +37.27 -9.647 -115, 37.37 -9.643 -115.1, 37.4 -8.558 -114.9, +37.45 -8.556 -114.9, 37.13 -7.483 -115, 37.23 -7.479 -115.1, +37.02 -6.412 -115.2, 37.07 -6.41 -115.3, 37.09 -5.332 -115, +37.18 -5.329 -115.1, 36.8 -4.153 -115.3, 36.7 -4.157 -115.2, +37.47 -11.8 -115.2, 37.28 -10.72 -115.3, 37.33 -9.648 -115.2, +37.43 -8.558 -115, 37.19 -7.484 -115.2, 37.05 -6.413 -115.3, +37.14 -5.333 -115.2, 36.76 -4.157 -115.4, 36.24 -3.824 -115.6, +36.14 -3.828 -115.5, 36.2 -3.829 -115.7, 35.46 -3.913 -115.8, +35.37 -3.917 -115.7, 35.42 -3.917 -115.9, 34.8 -3.649 -116.1, +34.71 -3.653 -116, 34.76 -3.653 -116.2, 33.92 -3.906 -116.4, +33.89 -3.907 -116.3, 33.91 -3.908 -116.4, 37.4 -11.8 -115, +37.5 -11.8 -115.1, 37.26 -10.72 -115.2, 37.31 -10.72 -115.3, +37.29 -9.647 -115, 37.39 -9.643 -115.1, 37.39 -8.558 -114.9, +37.44 -8.556 -115, 37.11 -7.483 -115, 37.22 -7.479 -115.1, +37.03 -6.412 -115.2, 37.08 -6.41 -115.3, 37.1 -5.332 -115, +37.19 -5.329 -115.1, 36.78 -4.153 -115.4, 36.68 -4.157 -115.3, +37.45 -11.8 -115.2, 37.29 -10.72 -115.3, 37.35 -9.648 -115.2, +37.42 -8.558 -115, 37.17 -7.484 -115.2, 37.06 -6.413 -115.3, +37.15 -5.333 -115.2, 36.74 -4.157 -115.4, 36.22 -3.824 -115.6, +36.13 -3.828 -115.5, 36.18 -3.829 -115.7, 35.44 -3.913 -115.9, +35.35 -3.917 -115.8, 35.4 -3.917 -115.9, 34.79 -3.649 -116.1, +34.69 -3.653 -116, 34.75 -3.653 -116.2, 33.9 -3.906 -116.4, +33.88 -3.907 -116.4, 33.89 -3.908 -116.4, 37.38 -11.8 -115, +37.48 -11.8 -115.1, 37.27 -10.72 -115.2, 37.31 -10.72 -115.3, +37.3 -9.647 -115, 37.41 -9.643 -115.1, 37.38 -8.558 -114.9, +37.42 -8.556 -115, 37.1 -7.483 -115, 37.2 -7.479 -115.1, +37.05 -6.412 -115.2, 37.1 -6.41 -115.3, 37.1 -5.332 -115, +37.19 -5.329 -115.1, 36.76 -4.153 -115.4, 36.66 -4.157 -115.3, +37.43 -11.8 -115.2, 37.3 -10.72 -115.3, 37.36 -9.648 -115.2, +37.4 -8.558 -115, 37.16 -7.484 -115.2, 37.08 -6.413 -115.3, +37.15 -5.333 -115.2, 36.72 -4.157 -115.5, 36.2 -3.824 -115.6, +36.11 -3.828 -115.5, 36.16 -3.829 -115.7, 35.43 -3.913 -115.9, +35.33 -3.917 -115.8, 35.39 -3.917 -116, 34.77 -3.649 -116.1, +34.68 -3.653 -116, 34.73 -3.653 -116.2, 33.88 -3.906 -116.4, +33.86 -3.907 -116.4, 33.87 -3.908 -116.4, 37.36 -11.8 -115, +37.46 -11.8 -115.1, 37.28 -10.72 -115.2, 37.33 -10.72 -115.2, +37.32 -9.647 -115, 37.42 -9.643 -115.1, 37.36 -8.558 -114.9, +37.41 -8.556 -115, 37.09 -7.483 -115, 37.2 -7.479 -115.1, +37.07 -6.412 -115.2, 37.12 -6.41 -115.3, 37.11 -5.332 -115, +37.2 -5.329 -115.1, 36.74 -4.153 -115.4, 36.64 -4.157 -115.3, +37.42 -11.8 -115.2, 37.31 -10.72 -115.3, 37.38 -9.648 -115.2, +37.39 -8.558 -115, 37.15 -7.484 -115.2, 37.1 -6.413 -115.3, +37.16 -5.333 -115.2, 36.7 -4.157 -115.5, 36.19 -3.824 -115.6, +36.1 -3.828 -115.5, 36.15 -3.829 -115.7, 35.41 -3.913 -115.9, +35.32 -3.917 -115.8, 35.37 -3.917 -116, 34.76 -3.649 -116.1, +34.67 -3.653 -116, 34.72 -3.653 -116.2, 33.87 -3.906 -116.4, +33.84 -3.907 -116.4, 33.86 -3.908 -116.4, 37.34 -11.8 -115, +37.44 -11.8 -115.1, 37.3 -10.72 -115.2, 37.34 -10.72 -115.2, +37.33 -9.647 -115, 37.43 -9.643 -115.1, 37.34 -8.558 -114.9, +37.39 -8.556 -115, 37.09 -7.483 -115, 37.19 -7.479 -115.1, +37.09 -6.412 -115.2, 37.14 -6.41 -115.2, 37.1 -5.332 -115, +37.19 -5.329 -115.1, 36.72 -4.153 -115.4, 36.63 -4.157 -115.3, +37.4 -11.8 -115.2, 37.32 -10.72 -115.3, 37.39 -9.648 -115.2, +37.37 -8.558 -115, 37.15 -7.484 -115.2, 37.12 -6.413 -115.3, +37.15 -5.333 -115.2, 36.68 -4.157 -115.5, 36.18 -3.824 -115.6, +36.08 -3.828 -115.5, 36.14 -3.829 -115.7, 35.4 -3.913 -115.9, +35.3 -3.917 -115.8, 35.36 -3.917 -116, 34.76 -3.649 -116.1, +34.66 -3.653 -116, 34.72 -3.653 -116.2, 33.85 -3.906 -116.4, +33.83 -3.907 -116.4, 33.84 -3.908 -116.5, 37.33 -11.8 -115, +37.43 -11.8 -115.1, 37.31 -10.72 -115.2, 37.36 -10.72 -115.2, +37.34 -9.647 -115, 37.44 -9.643 -115.1, 37.32 -8.558 -115, +37.37 -8.556 -115, 37.09 -7.483 -115, 37.19 -7.479 -115.1, +37.11 -6.412 -115.2, 37.16 -6.41 -115.2, 37.1 -5.332 -115, +37.19 -5.329 -115.1, 36.71 -4.153 -115.4, 36.61 -4.157 -115.3, +37.39 -11.8 -115.2, 37.34 -10.72 -115.3, 37.39 -9.648 -115.2, +37.35 -8.558 -115.1, 37.15 -7.484 -115.2, 37.14 -6.413 -115.3, +37.15 -5.333 -115.2, 36.66 -4.157 -115.5, 36.17 -3.824 -115.6, +36.08 -3.828 -115.5, 36.13 -3.829 -115.7, 35.39 -3.913 -115.9, +35.29 -3.917 -115.8, 35.35 -3.917 -116, 34.76 -3.649 -116.1, +34.66 -3.653 -116, 34.72 -3.653 -116.2, 33.84 -3.906 -116.4, +33.82 -3.907 -116.4, 33.83 -3.908 -116.5, 37.32 -11.8 -115, +37.42 -11.8 -115.2, 37.33 -10.72 -115.2, 37.38 -10.72 -115.2, +37.34 -9.647 -115, 37.44 -9.643 -115.1, 37.3 -8.558 -115, +37.35 -8.556 -115, 37.09 -7.483 -115, 37.19 -7.479 -115.1, +37.13 -6.412 -115.1, 37.18 -6.41 -115.2, 37.09 -5.332 -115, +37.18 -5.329 -115.1, 36.69 -4.153 -115.4, 36.6 -4.157 -115.3, +37.38 -11.8 -115.2, 37.36 -10.72 -115.2, 37.4 -9.648 -115.2, +37.33 -8.558 -115.1, 37.15 -7.484 -115.2, 37.15 -6.413 -115.2, +37.14 -5.333 -115.2, 36.65 -4.157 -115.5, 36.17 -3.824 -115.6, +36.07 -3.828 -115.5, 36.13 -3.829 -115.7, 35.38 -3.913 -115.9, +35.29 -3.917 -115.8, 35.34 -3.917 -116, 34.76 -3.649 -116.1, +34.66 -3.653 -116, 34.72 -3.653 -116.2, 33.84 -3.906 -116.5, +33.81 -3.907 -116.4, 33.83 -3.908 -116.5, 37.32 -11.8 -115.1, +37.42 -11.8 -115.2, 37.35 -10.72 -115.1, 37.4 -10.72 -115.2, +37.34 -9.647 -115, 37.44 -9.643 -115.1, 37.28 -8.558 -115, +37.33 -8.556 -115.1, 37.1 -7.483 -115, 37.2 -7.479 -115.1, +37.14 -6.412 -115.1, 37.19 -6.41 -115.2, 37.08 -5.332 -115, +37.16 -5.329 -115.1, 36.68 -4.153 -115.5, 36.59 -4.157 -115.4, +37.37 -11.8 -115.2, 37.38 -10.72 -115.2, 37.4 -9.648 -115.2, +37.31 -8.558 -115.1, 37.16 -7.484 -115.2, 37.17 -6.413 -115.2, +37.13 -5.333 -115.2, 36.64 -4.157 -115.5, 36.17 -3.824 -115.6, +36.07 -3.828 -115.5, 36.13 -3.829 -115.7, 35.38 -3.913 -115.9, +35.28 -3.917 -115.8, 35.34 -3.917 -116, 34.76 -3.649 -116.1, +34.67 -3.653 -116, 34.72 -3.653 -116.2, 33.84 -3.906 -116.5, +33.81 -3.907 -116.4, 33.82 -3.908 -116.5, 37.32 -11.8 -115.1, +37.42 -11.8 -115.2, 37.37 -10.72 -115.1, 37.42 -10.72 -115.2, +37.33 -9.647 -115, 37.43 -9.643 -115.1, 37.27 -8.558 -115, +37.31 -8.556 -115.1, 37.11 -7.483 -115, 37.21 -7.479 -115.1, +37.16 -6.412 -115.1, 37.21 -6.41 -115.2, 37.06 -5.332 -115.1, +37.15 -5.329 -115.1, 36.68 -4.153 -115.5, 36.58 -4.157 -115.4, +37.37 -11.8 -115.2, 37.4 -10.72 -115.2, 37.39 -9.648 -115.2, +37.29 -8.558 -115.1, 37.17 -7.484 -115.2, 37.19 -6.413 -115.2, +37.11 -5.333 -115.2, 36.64 -4.157 -115.5, 36.17 -3.824 -115.6, +36.08 -3.828 -115.5, 36.13 -3.829 -115.7, 35.38 -3.913 -115.9, +35.28 -3.917 -115.8, 35.34 -3.917 -116, 34.77 -3.649 -116.1, +34.68 -3.653 -116, 34.73 -3.653 -116.2, 33.84 -3.906 -116.5, +33.81 -3.907 -116.4, 33.83 -3.908 -116.5, 37.32 -11.8 -115, +37.42 -11.8 -115.2, 37.39 -10.72 -115.1, 37.43 -10.72 -115.1, +37.32 -9.647 -115, 37.42 -9.643 -115.1, 37.25 -8.558 -115, +37.3 -8.556 -115.1, 37.13 -7.483 -115, 37.23 -7.479 -115.1, +37.17 -6.412 -115.1, 37.22 -6.41 -115.2, 37.04 -5.332 -115.1, +37.13 -5.329 -115.2, 36.68 -4.153 -115.5, 36.58 -4.157 -115.4, +37.38 -11.8 -115.2, 37.41 -10.72 -115.2, 37.38 -9.648 -115.2, +37.28 -8.558 -115.1, 37.18 -7.484 -115.2, 37.2 -6.413 -115.2, +37.09 -5.333 -115.2, 36.63 -4.157 -115.5, 36.18 -3.824 -115.6, +36.08 -3.828 -115.5, 36.14 -3.829 -115.7, 35.39 -3.913 -115.9, +35.29 -3.917 -115.8, 35.34 -3.917 -116, 34.79 -3.649 -116.1, +34.69 -3.653 -116, 34.74 -3.653 -116.2, 33.84 -3.906 -116.4, +33.82 -3.907 -116.4, 33.83 -3.908 -116.5, 37.33 -11.8 -115, +37.43 -11.8 -115.2, 37.41 -10.72 -115.1, 37.45 -10.72 -115.1, +37.31 -9.647 -115, 37.41 -9.643 -115.1, 37.24 -8.558 -115, +37.28 -8.556 -115.1, 37.14 -7.483 -115, 37.25 -7.479 -115.1, +37.18 -6.412 -115.1, 37.23 -6.41 -115.2, 37.02 -5.332 -115.1, +37.11 -5.329 -115.2, 36.68 -4.153 -115.5, 36.58 -4.157 -115.4, +37.38 -11.8 -115.2, 37.43 -10.72 -115.2, 37.37 -9.648 -115.2, +37.26 -8.558 -115.1, 37.2 -7.484 -115.2, 37.2 -6.413 -115.2, +37.07 -5.333 -115.3, 36.64 -4.157 -115.5, 36.19 -3.824 -115.6, +36.1 -3.828 -115.5, 36.15 -3.829 -115.7, 35.4 -3.913 -115.9, +35.3 -3.917 -115.8, 35.35 -3.917 -116, 34.8 -3.649 -116.1, +34.71 -3.653 -116, 34.76 -3.653 -116.2, 33.85 -3.906 -116.4, +33.83 -3.907 -116.4, 33.84 -3.908 -116.5, 37.34 -11.8 -115, +37.44 -11.8 -115.1, 37.42 -10.72 -115.1, 37.47 -10.72 -115.1, +37.3 -9.647 -115, 37.4 -9.643 -115.1, 37.23 -8.558 -115.1, +37.28 -8.556 -115.1, 37.16 -7.483 -115, 37.26 -7.479 -115.1, +37.18 -6.412 -115.1, 37.23 -6.41 -115.2, 37 -5.332 -115.1, +37.09 -5.329 -115.2, 36.68 -4.153 -115.5, 36.59 -4.157 -115.4, +37.39 -11.8 -115.2, 37.45 -10.72 -115.2, 37.35 -9.648 -115.2, +37.25 -8.558 -115.1, 37.22 -7.484 -115.2, 37.21 -6.413 -115.2, +37.05 -5.333 -115.3, 36.64 -4.157 -115.5, 36.21 -3.824 -115.6, +36.11 -3.828 -115.5, 36.17 -3.829 -115.7, 35.41 -3.913 -115.9, +35.31 -3.917 -115.8, 35.37 -3.917 -116, 34.82 -3.649 -116.1, +34.72 -3.653 -116, 34.78 -3.653 -116.2, 33.87 -3.906 -116.4, +33.84 -3.907 -116.4, 33.85 -3.908 -116.4, 37.35 -11.8 -115, +37.45 -11.8 -115.1, 37.43 -10.72 -115.1, 37.48 -10.72 -115.1, +37.28 -9.647 -115, 37.38 -9.643 -115.1, 37.22 -8.558 -115.1, +37.27 -8.556 -115.1, 37.18 -7.483 -115, 37.28 -7.479 -115.1, +37.18 -6.412 -115.1, 37.23 -6.41 -115.2, 36.98 -5.332 -115.1, +37.07 -5.329 -115.2, 36.69 -4.153 -115.4, 36.6 -4.157 -115.3, +37.41 -11.8 -115.2, 37.46 -10.72 -115.1, 37.34 -9.648 -115.2, +37.25 -8.558 -115.1, 37.24 -7.484 -115.1, 37.21 -6.413 -115.2, +37.03 -5.333 -115.3, 36.65 -4.157 -115.5, 36.22 -3.824 -115.6, +36.13 -3.828 -115.5, 36.18 -3.829 -115.7, 35.42 -3.913 -115.9, +35.33 -3.917 -115.8, 35.38 -3.917 -116, 34.84 -3.649 -116.1, +34.74 -3.653 -116, 34.8 -3.653 -116.1, 33.88 -3.906 -116.4, +33.86 -3.907 -116.4, 33.87 -3.908 -116.4, 37.37 -11.8 -115, +37.47 -11.8 -115.1, 37.44 -10.72 -115.1, 37.48 -10.72 -115.1, +37.26 -9.647 -115, 37.36 -9.643 -115.2, 37.22 -8.558 -115.1, +37.27 -8.556 -115.1, 37.2 -7.483 -114.9, 37.3 -7.479 -115, +37.17 -6.412 -115.1, 37.22 -6.41 -115.2, 36.97 -5.332 -115.1, +37.05 -5.329 -115.2, 36.71 -4.153 -115.4, 36.61 -4.157 -115.3, +37.42 -11.8 -115.2, 37.47 -10.72 -115.1, 37.32 -9.648 -115.2, +37.25 -8.558 -115.2, 37.26 -7.484 -115.1, 37.2 -6.413 -115.2, +37.02 -5.333 -115.3, 36.67 -4.157 -115.5, 36.24 -3.824 -115.6, +36.15 -3.828 -115.5, 36.2 -3.829 -115.7, 35.44 -3.913 -115.9, +35.35 -3.917 -115.8, 35.4 -3.917 -115.9, 34.86 -3.649 -116, +34.76 -3.653 -115.9, 34.82 -3.653 -116.1, 33.9 -3.906 -116.4, +33.87 -3.907 -116.4, 33.89 -3.908 -116.4, 37.38 -11.8 -115, +37.49 -11.8 -115.1, 37.45 -10.72 -115, 37.49 -10.72 -115.1, +37.24 -9.647 -115.1, 37.34 -9.643 -115.2, 37.22 -8.558 -115.1, +37.27 -8.556 -115.1, 37.22 -7.483 -114.9, 37.32 -7.479 -115, +37.17 -6.412 -115.1, 37.21 -6.41 -115.2, 36.95 -5.332 -115.2, +37.04 -5.329 -115.2, 36.72 -4.153 -115.4, 36.63 -4.157 -115.3, +37.44 -11.8 -115.2, 37.47 -10.72 -115.1, 37.3 -9.648 -115.3, +37.25 -8.558 -115.1, 37.28 -7.484 -115.1, 37.19 -6.413 -115.2, +37 -5.333 -115.3, 36.68 -4.157 -115.5, 36.26 -3.824 -115.6, +36.17 -3.828 -115.5, 36.22 -3.829 -115.6, 35.46 -3.913 -115.8, +35.36 -3.917 -115.7, 35.42 -3.917 -115.9, 34.88 -3.649 -116, +34.78 -3.653 -115.9, 34.84 -3.653 -116.1, 33.92 -3.906 -116.4, +33.89 -3.907 -116.3, 33.91 -3.908 -116.4, 37.4 -11.8 -115, +37.51 -11.8 -115.1, 37.45 -10.72 -115, 37.49 -10.72 -115.1, +37.22 -9.647 -115.1, 37.32 -9.643 -115.2, 37.23 -8.558 -115.1, +37.28 -8.556 -115.1, 37.24 -7.483 -114.9, 37.34 -7.479 -115, +37.15 -6.412 -115.1, 37.2 -6.41 -115.2, 36.94 -5.332 -115.2, +37.03 -5.329 -115.3, 36.74 -4.153 -115.4, 36.65 -4.157 -115.3, +37.46 -11.8 -115.2, 37.47 -10.72 -115.1, 37.28 -9.648 -115.3, +37.26 -8.558 -115.1, 37.29 -7.484 -115.1, 37.18 -6.413 -115.2, +36.99 -5.333 -115.3, 36.7 -4.157 -115.5, 36.28 -3.824 -115.5, +36.19 -3.828 -115.4, 36.24 -3.829 -115.6, 35.48 -3.913 -115.8, +35.38 -3.917 -115.7, 35.44 -3.917 -115.9, 34.9 -3.649 -116, +34.8 -3.653 -115.9, 34.85 -3.653 -116.1, 33.94 -3.906 -116.4, +33.91 -3.907 -116.3, 33.93 -3.908 -116.4, 37.42 -11.8 -115, +37.53 -11.8 -115.1, 37.44 -10.72 -115.1, 37.48 -10.72 -115.1, +37.2 -9.647 -115.1, 37.3 -9.643 -115.2, 37.24 -8.558 -115, +37.29 -8.556 -115.1, 37.25 -7.483 -114.9, 37.35 -7.479 -115, +37.14 -6.412 -115.1, 37.19 -6.41 -115.2, 36.93 -5.332 -115.2, +37.02 -5.329 -115.3, 36.76 -4.153 -115.4, 36.66 -4.157 -115.3, +37.48 -11.8 -115.1, 37.47 -10.72 -115.1, 37.26 -9.648 -115.3, +37.27 -8.558 -115.1, 37.31 -7.484 -115.1, 37.17 -6.413 -115.2, +36.98 -5.333 -115.3, 36.72 -4.157 -115.5, 36.3 -3.824 -115.5, +36.2 -3.828 -115.4, 36.26 -3.829 -115.6, 35.5 -3.913 -115.8, +35.4 -3.917 -115.7, 35.46 -3.917 -115.9, 34.91 -3.649 -116, +34.82 -3.653 -115.9, 34.87 -3.653 -116.1, 33.96 -3.906 -116.3, +33.93 -3.907 -116.3, 33.95 -3.908 -116.4, 37.44 -11.8 -114.9, +37.54 -11.8 -115, 37.43 -10.72 -115.1, 37.48 -10.72 -115.1, +37.19 -9.647 -115.1, 37.29 -9.643 -115.2, 37.25 -8.558 -115, +37.3 -8.556 -115.1, 37.26 -7.483 -114.9, 37.36 -7.479 -115, +37.12 -6.412 -115.2, 37.17 -6.41 -115.2, 36.92 -5.332 -115.2, +37.01 -5.329 -115.3, 36.78 -4.153 -115.4, 36.68 -4.157 -115.3, +37.5 -11.8 -115.1, 37.46 -10.72 -115.1, 37.24 -9.648 -115.3, +37.28 -8.558 -115.1, 37.32 -7.484 -115.1, 37.15 -6.413 -115.2, +36.97 -5.333 -115.4, 36.74 -4.157 -115.4, 36.32 -3.824 -115.5, +36.22 -3.828 -115.4, 36.28 -3.829 -115.6, 35.52 -3.913 -115.8, +35.42 -3.917 -115.7, 35.48 -3.917 -115.9, 34.92 -3.649 -116, +34.83 -3.653 -115.9, 34.88 -3.653 -116.1, 33.97 -3.906 -116.3, +33.95 -3.907 -116.3, 33.96 -3.908 -116.3, 37.46 -11.8 -114.9, +37.56 -11.8 -115, 37.42 -10.72 -115.1, 37.47 -10.72 -115.1, +37.17 -9.647 -115.1, 37.27 -9.643 -115.2, 37.27 -8.558 -115, +37.32 -8.556 -115.1, 37.27 -7.483 -114.9, 37.37 -7.479 -115, +37.1 -6.412 -115.2, 37.15 -6.41 -115.2, 36.92 -5.332 -115.2, +37.01 -5.329 -115.3, 36.8 -4.153 -115.3, 36.7 -4.157 -115.2, +37.52 -11.8 -115.1, 37.45 -10.72 -115.2, 37.23 -9.648 -115.3, +37.3 -8.558 -115.1, 37.33 -7.484 -115.1, 37.13 -6.413 -115.3, +36.97 -5.333 -115.4, 36.76 -4.157 -115.4, 36.33 -3.824 -115.5, +36.24 -3.828 -115.4, 36.29 -3.829 -115.6, 35.53 -3.913 -115.8, +35.44 -3.917 -115.7, 35.49 -3.917 -115.9, 34.93 -3.649 -116, +34.84 -3.653 -115.9, 34.89 -3.653 -116.1, 33.99 -3.906 -116.3, +33.96 -3.907 -116.3, 33.98 -3.908 -116.3, 37.47 -11.8 -114.9, +37.58 -11.8 -115, 37.41 -10.72 -115.1, 37.45 -10.72 -115.1, +37.16 -9.647 -115.1, 37.26 -9.643 -115.2, 37.29 -8.558 -115, +37.34 -8.556 -115, 37.28 -7.483 -114.9, 37.38 -7.479 -115, +37.08 -6.412 -115.2, 37.13 -6.41 -115.2, 36.92 -5.332 -115.2, +37.01 -5.329 -115.3, 36.82 -4.153 -115.3, 36.72 -4.157 -115.2, +37.53 -11.8 -115.1, 37.43 -10.72 -115.2, 37.22 -9.648 -115.3, +37.32 -8.558 -115.1, 37.33 -7.484 -115.1, 37.11 -6.413 -115.3, +36.97 -5.333 -115.4, 36.78 -4.157 -115.4, 36.34 -3.824 -115.5, +36.25 -3.828 -115.4, 36.3 -3.829 -115.6, 35.55 -3.913 -115.8, +35.45 -3.917 -115.7, 35.51 -3.917 -115.8, 34.94 -3.649 -116, +34.85 -3.653 -115.9, 34.9 -3.653 -116.1, 34 -3.906 -116.3, +33.98 -3.907 -116.3, 33.99 -3.908 -116.3, 37.49 -11.8 -114.9, +37.59 -11.8 -115, 37.39 -10.72 -115.1, 37.43 -10.72 -115.1, +37.16 -9.647 -115.1, 37.26 -9.643 -115.2, 37.31 -8.558 -115, +37.36 -8.556 -115, 37.28 -7.483 -114.9, 37.38 -7.479 -115, +37.06 -6.412 -115.2, 37.11 -6.41 -115.3, 36.93 -5.332 -115.2, +37.02 -5.329 -115.3, 36.83 -4.153 -115.3, 36.74 -4.157 -115.2, +37.54 -11.8 -115.1, 37.42 -10.72 -115.2, 37.21 -9.648 -115.3, +37.33 -8.558 -115.1, 37.33 -7.484 -115.1, 37.09 -6.413 -115.3, +36.98 -5.333 -115.3, 36.79 -4.157 -115.4, 36.35 -3.824 -115.5, +36.25 -3.828 -115.4, 36.31 -3.829 -115.6, 35.56 -3.913 -115.8, +35.46 -3.917 -115.7, 35.52 -3.917 -115.8, 34.94 -3.649 -116, +34.85 -3.653 -115.9, 34.9 -3.653 -116.1, 34.01 -3.906 -116.3, +33.99 -3.907 -116.3, 34 -3.908 -116.3, 37.5 -11.8 -114.9, +37.6 -11.8 -115, 37.37 -10.72 -115.1, 37.42 -10.72 -115.2, +37.15 -9.647 -115.1, 37.25 -9.643 -115.3, 37.33 -8.558 -115, +37.38 -8.556 -115, 37.27 -7.483 -114.9, 37.37 -7.479 -115, +37.04 -6.412 -115.2, 37.09 -6.41 -115.3, 36.94 -5.332 -115.2, +37.03 -5.329 -115.3, 36.85 -4.153 -115.3, 36.75 -4.157 -115.2, +37.55 -11.8 -115.1, 37.4 -10.72 -115.2, 37.21 -9.648 -115.3, +37.35 -8.558 -115.1, 37.33 -7.484 -115.1, 37.07 -6.413 -115.3, +36.99 -5.333 -115.3, 36.8 -4.157 -115.4, 36.35 -3.824 -115.5, +36.26 -3.828 -115.4, 36.31 -3.829 -115.6, 35.56 -3.913 -115.8, +35.47 -3.917 -115.6, 35.52 -3.917 -115.8, 34.94 -3.649 -116, +34.85 -3.653 -115.9, 34.9 -3.653 -116.1, 34.02 -3.906 -116.3, +33.99 -3.907 -116.3, 34.01 -3.908 -116.3, 37.5 -11.8 -114.9, +37.6 -11.8 -115, 37.35 -10.72 -115.1, 37.4 -10.72 -115.2, +37.15 -9.647 -115.1, 37.26 -9.643 -115.3, 37.35 -8.558 -114.9, +37.39 -8.556 -115, 37.26 -7.483 -114.9, 37.37 -7.479 -115, +37.03 -6.412 -115.2, 37.08 -6.41 -115.3, 36.95 -5.332 -115.2, +37.04 -5.329 -115.2, 36.85 -4.153 -115.3, 36.76 -4.157 -115.2, +37.56 -11.8 -115.1, 37.38 -10.72 -115.2, 37.21 -9.648 -115.3, +37.37 -8.558 -115, 37.32 -7.484 -115.1, 37.06 -6.413 -115.3, +37 -5.333 -115.3, 36.81 -4.157 -115.4, 36.35 -3.824 -115.5, +36.26 -3.828 -115.4, 36.31 -3.829 -115.6, 35.57 -3.913 -115.7, +35.47 -3.917 -115.6, 35.52 -3.917 -115.8, 34.94 -3.649 -116, +34.84 -3.653 -115.9, 34.89 -3.653 -116.1, 34.02 -3.906 -116.3, +34 -3.907 -116.3, 34.01 -3.908 -116.3, 37.5 -11.8 -114.9, +37.6 -11.8 -115, 37.33 -10.72 -115.2, 37.38 -10.72 -115.2, +37.16 -9.647 -115.1, 37.26 -9.643 -115.2, 37.36 -8.558 -114.9, +37.41 -8.556 -115, 37.25 -7.483 -114.9, 37.35 -7.479 -115, +37.01 -6.412 -115.3, 37.06 -6.41 -115.3, 36.97 -5.332 -115.1, +37.06 -5.329 -115.2, 36.86 -4.153 -115.3, 36.76 -4.157 -115.2, +37.56 -11.8 -115.1, 37.36 -10.72 -115.2, 37.22 -9.648 -115.3, +37.39 -8.558 -115, 37.31 -7.484 -115.1, 37.04 -6.413 -115.3, +37.02 -5.333 -115.3, 36.82 -4.157 -115.4, 36.35 -3.824 -115.5, +36.25 -3.828 -115.4, 36.31 -3.829 -115.6, 35.56 -3.913 -115.7, +35.47 -3.917 -115.6, 35.52 -3.917 -115.8, 34.93 -3.649 -116, +34.83 -3.653 -115.9, 34.89 -3.653 -116.1, 34.02 -3.906 -116.3, +33.99 -3.907 -116.3, 34.01 -3.908 -116.3, 37.5 -11.8 -114.9, +37.6 -11.8 -115, 37.32 -10.72 -115.2, 37.36 -10.72 -115.2, +37.17 -9.647 -115.1, 37.27 -9.643 -115.2, 37.38 -8.558 -114.9, +37.43 -8.556 -115, 37.24 -7.483 -114.9, 37.34 -7.479 -115, +37 -6.412 -115.3, 37.05 -6.41 -115.3, 36.98 -5.332 -115.1, +37.07 -5.329 -115.2, 36.86 -4.153 -115.3, 36.77 -4.157 -115.2, +37.56 -11.8 -115.1, 37.34 -10.72 -115.3, 37.22 -9.648 -115.3, +37.41 -8.558 -115, 37.3 -7.484 -115.1, 37.03 -6.413 -115.4, +37.03 -5.333 -115.3, 36.82 -4.157 -115.4, 36.34 -3.824 -115.5, +36.25 -3.828 -115.4, 36.3 -3.829 -115.6, 35.56 -3.913 -115.8, +35.46 -3.917 -115.7, 35.52 -3.917 -115.8, 34.91 -3.649 -116, +34.82 -3.653 -115.9, 34.87 -3.653 -116.1, 34.01 -3.906 -116.3, +33.99 -3.907 -116.3, 34 -3.908 -116.3, 37.49 -11.8 -114.9, +37.59 -11.8 -115, 37.3 -10.72 -115.2, 37.34 -10.72 -115.2, +37.18 -9.647 -115.1, 37.28 -9.643 -115.2, 37.39 -8.558 -114.9, +37.44 -8.556 -115, 37.22 -7.483 -114.9, 37.32 -7.479 -115, +37 -6.412 -115.3, 37.05 -6.41 -115.3, 37 -5.332 -115.1, +37.09 -5.329 -115.2, 36.86 -4.153 -115.3, 36.76 -4.157 -115.2, +37.55 -11.8 -115.1, 37.32 -10.72 -115.3, 37.24 -9.648 -115.3, +37.42 -8.558 -115, 37.28 -7.484 -115.1, 37.02 -6.413 -115.4, +37.05 -5.333 -115.3, 36.82 -4.157 -115.4, 36.33 -3.824 -115.5, +36.23 -3.828 -115.4, 36.29 -3.829 -115.6, 35.55 -3.913 -115.8, +35.45 -3.917 -115.7, 35.51 -3.917 -115.8, 34.9 -3.649 -116, +34.8 -3.653 -115.9, 34.86 -3.653 -116.1, 34 -3.906 -116.3, +33.98 -3.907 -116.3, 33.99 -3.908 -116.3, 37.48 -11.8 -114.9, +37.58 -11.8 -115, 37.28 -10.72 -115.2, 37.33 -10.72 -115.2, +37.2 -9.647 -115.1, 37.3 -9.643 -115.2, 37.4 -8.558 -114.9, +37.45 -8.556 -114.9, 37.2 -7.483 -114.9, 37.3 -7.479 -115, +36.99 -6.412 -115.3, 37.04 -6.41 -115.3, 37.02 -5.332 -115.1, +37.11 -5.329 -115.2, 36.85 -4.153 -115.3, 36.76 -4.157 -115.2, +37.54 -11.8 -115.1, 37.31 -10.72 -115.3, 37.25 -9.648 -115.3, +37.43 -8.558 -115, 37.26 -7.484 -115.1, 37.02 -6.413 -115.4, +37.07 -5.333 -115.3, 36.81 -4.157 -115.4, 36.31 -3.824 -115.5, +36.22 -3.828 -115.4, 36.27 -3.829 -115.6, 35.54 -3.913 -115.8, +35.44 -3.917 -115.7, 35.5 -3.917 -115.9, 34.88 -3.649 -116, +34.78 -3.653 -115.9, 34.84 -3.653 -116.1, 33.99 -3.906 -116.3, +33.97 -3.907 -116.3, 33.98 -3.908 -116.3, 37.47 -11.8 -114.9, +37.57 -11.8 -115, 37.27 -10.72 -115.2, 37.31 -10.72 -115.3, +37.21 -9.647 -115.1, 37.31 -9.643 -115.2, 37.41 -8.558 -114.9, +37.45 -8.556 -114.9, 37.18 -7.483 -115, 37.28 -7.479 -115.1, +36.99 -6.412 -115.3, 37.04 -6.41 -115.3, 37.04 -5.332 -115.1, +37.13 -5.329 -115.2, 36.84 -4.153 -115.3, 36.75 -4.157 -115.2, +37.53 -11.8 -115.1, 37.3 -10.72 -115.3, 37.27 -9.648 -115.3, +37.43 -8.558 -115, 37.24 -7.484 -115.1, 37.02 -6.413 -115.4, +37.09 -5.333 -115.2, 36.8 -4.157 -115.4, 36.3 -3.824 -115.5, +36.2 -3.828 -115.4, 36.26 -3.829 -115.6, 35.52 -3.913 -115.8, +35.43 -3.917 -115.7, 35.48 -3.917 -115.9, 34.86 -3.649 -116, +34.77 -3.653 -115.9, 34.82 -3.653 -116.1, 33.98 -3.906 -116.3, +33.95 -3.907 -116.3, 33.97 -3.908 -116.3, 37.45 -11.8 -114.9, +37.55 -11.8 -115, 37.26 -10.72 -115.2, 37.31 -10.72 -115.3, +37.23 -9.647 -115.1, 37.33 -9.643 -115.2, 37.41 -8.558 -114.9, +37.46 -8.556 -114.9, 37.16 -7.483 -115, 37.27 -7.479 -115.1, +37 -6.412 -115.3, 37.05 -6.41 -115.3, 37.06 -5.332 -115.1, +37.15 -5.329 -115.1, 36.83 -4.153 -115.3, 36.74 -4.157 -115.2, +37.51 -11.8 -115.1, 37.29 -10.72 -115.3, 37.29 -9.648 -115.3, +37.44 -8.558 -115, 37.22 -7.484 -115.2, 37.03 -6.413 -115.4, +37.11 -5.333 -115.2, 36.79 -4.157 -115.4, 36.28 -3.824 -115.5, +36.18 -3.828 -115.4, 36.24 -3.829 -115.6, 35.5 -3.913 -115.8, +35.41 -3.917 -115.7, 35.46 -3.917 -115.9, 34.84 -3.649 -116.1, +34.75 -3.653 -116, 34.8 -3.653 -116.1, 33.96 -3.906 -116.3, +33.93 -3.907 -116.3, 33.95 -3.908 -116.4, 37.43 -11.8 -114.9, +37.53 -11.8 -115.1, 37.26 -10.72 -115.2, 37.3 -10.72 -115.3, +37.25 -9.647 -115.1, 37.35 -9.643 -115.2, 37.41 -8.558 -114.9, +37.45 -8.556 -114.9, 37.15 -7.483 -115, 37.25 -7.479 -115.1, +37.01 -6.412 -115.3, 37.06 -6.41 -115.3, 37.08 -5.332 -115, +37.16 -5.329 -115.1, 36.81 -4.153 -115.3, 36.72 -4.157 -115.2, +37.49 -11.8 -115.1, 37.28 -10.72 -115.3, 37.31 -9.648 -115.2, +37.43 -8.558 -115, 37.2 -7.484 -115.2, 37.03 -6.413 -115.4, +37.13 -5.333 -115.2, 36.77 -4.157 -115.4, 36.26 -3.824 -115.6, +36.16 -3.828 -115.5, 36.22 -3.829 -115.6, 35.48 -3.913 -115.8, +35.39 -3.917 -115.7, 35.44 -3.917 -115.9, 34.82 -3.649 -116.1, +34.73 -3.653 -116, 34.78 -3.653 -116.2, 33.94 -3.906 -116.4, +33.91 -3.907 -116.3, 33.93 -3.908 -116.4, ] +} +] +} +] +ROUTE seaweed02-TIMER.fraction_changed TO Plane32-COORD-INTERP.set_fraction +ROUTE Plane32-COORD-INTERP.value_changed TO Plane32-COORD.set_point +ROUTE seaweed02-TIMER.fraction_changed TO Plane33-COORD-INTERP.set_fraction +ROUTE Plane33-COORD-INTERP.value_changed TO Plane33-COORD.set_point +ROUTE seaweed02-TIMER.fraction_changed TO Plane34-COORD-INTERP.set_fraction +ROUTE Plane34-COORD-INTERP.value_changed TO Plane34-COORD.set_point +ROUTE seaweed02-TIMER.fraction_changed TO Plane35-COORD-INTERP.set_fraction +ROUTE Plane35-COORD-INTERP.value_changed TO Plane35-COORD.set_point +} +DEF seaweed03 Transform { +translation -52.22 -5.921 -54.75 +children [ +DEF seaweed03-TIMER TimeSensor { loop TRUE cycleInterval 3 }, +DEF Plane36 Transform { +translation 52.22 5.921 54.75 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane36-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane36-COORD Coordinate { +point [ -52.48 -11.8 -54.46 -52.38 -11.8 -54.57 -52.65 -10.72 -54.74 -52.61 +-10.72 -54.78 -52.66 -9.647 -54.57 -52.56 -9.643 -54.67 -52.51 -8.558 -54.4 +-52.46 -8.556 -54.45 -52.77 -7.483 -54.5 -52.67 -7.479 -54.61 -52.91 -6.412 +-54.77 -52.86 -6.41 -54.83 -52.84 -5.332 -54.55 -52.75 -5.329 -54.65 -53.1 +-4.153 -54.85 -53.19 -4.157 -54.74 -52.42 -11.8 -54.65 -52.63 -10.72 -54.82 +-52.61 -9.648 -54.76 -52.48 -8.558 -54.49 -52.71 -7.484 -54.7 -52.88 -6.413 +-54.87 -52.79 -5.333 -54.72 -53.14 -4.157 -54.93 -53.65 -3.824 -55.07 -53.75 +-3.828 -54.97 -53.69 -3.829 -55.15 -54.43 -3.913 -55.34 -54.53 -3.917 -55.23 +-54.47 -3.917 -55.42 -55.09 -3.649 -55.6 -55.19 -3.653 -55.49 -55.13 -3.653 +-55.68 -55.97 -3.906 -55.87 -56 -3.907 -55.84 -55.99 -3.908 -55.89 ] +} +texCoord DEF Plane36-TEXCOORD +TextureCoordinate { point [ 0 0 1 0 0 1 1 1 ] } coordIndex [ 2 0 3 -1 1 3 0 +-1 4 2 5 -1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 10 8 11 -1 9 11 8 +-1 12 10 13 -1 11 13 10 -1 14 15 12 -1 12 13 14 -1 3 1 17 -1 16 17 1 -1 5 3 +18 -1 17 18 3 -1 7 5 19 -1 18 19 5 -1 9 7 20 -1 19 20 7 -1 11 9 21 -1 20 21 +9 -1 13 11 22 -1 21 22 11 -1 23 14 13 -1 13 22 23 -1 24 25 15 -1 15 14 24 +-1 26 24 14 -1 14 23 26 -1 27 28 25 -1 25 24 27 -1 29 27 24 -1 24 26 29 -1 30 +31 28 -1 28 27 30 -1 32 30 27 -1 27 29 32 -1 33 34 31 -1 31 30 33 -1 35 33 30 +-1 30 32 35 -1 ] texCoordIndex +[ 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 +0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 3 2 0 -1 0 1 3 -1 2 0 3 -1 1 3 0 -1 2 0 3 +-1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 +3 0 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 +-1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 +2 0 -1 0 1 3 -1 ] +} +} +DEF Plane36-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, +0.2667, 0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, +0.5333, 0.5667, 0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, +0.8, 0.8333, 0.8667, 0.9, 0.9333, 0.9667, 1, ] +keyValue [-52.48 -11.8 -54.46, +-52.38 -11.8 -54.57, -52.65 -10.72 -54.74, -52.61 -10.72 -54.78, +-52.66 -9.647 -54.57, -52.56 -9.643 -54.67, -52.51 -8.558 -54.4, +-52.46 -8.556 -54.45, -52.77 -7.483 -54.5, -52.67 -7.479 -54.61, +-52.91 -6.412 -54.77, -52.86 -6.41 -54.83, -52.84 -5.332 -54.55, +-52.75 -5.329 -54.65, -53.1 -4.153 -54.85, -53.19 -4.157 -54.74, +-52.42 -11.8 -54.65, -52.63 -10.72 -54.82, -52.61 -9.648 -54.76, +-52.48 -8.558 -54.49, -52.71 -7.484 -54.7, -52.88 -6.413 -54.87, +-52.79 -5.333 -54.72, -53.14 -4.157 -54.93, -53.65 -3.824 -55.07, +-53.75 -3.828 -54.97, -53.69 -3.829 -55.15, -54.43 -3.913 -55.34, +-54.53 -3.917 -55.23, -54.47 -3.917 -55.42, -55.09 -3.649 -55.6, +-55.19 -3.653 -55.49, -55.13 -3.653 -55.68, -55.97 -3.906 -55.87, +-56 -3.907 -55.84, -55.99 -3.908 -55.89, -52.5 -11.8 -54.47, +-52.4 -11.8 -54.58, -52.65 -10.72 -54.74, -52.61 -10.72 -54.78, +-52.64 -9.647 -54.55, -52.54 -9.643 -54.66, -52.51 -8.558 -54.41, +-52.47 -8.556 -54.46, -52.78 -7.483 -54.52, -52.68 -7.479 -54.63, +-52.89 -6.412 -54.76, -52.85 -6.41 -54.81, -52.83 -5.332 -54.54, +-52.74 -5.329 -54.63, -53.12 -4.153 -54.86, -53.21 -4.157 -54.76, +-52.44 -11.8 -54.67, -52.63 -10.72 -54.82, -52.59 -9.648 -54.74, +-52.49 -8.558 -54.5, -52.73 -7.484 -54.71, -52.87 -6.413 -54.86, +-52.78 -5.333 -54.71, -53.16 -4.157 -54.95, -53.67 -3.824 -55.09, +-53.77 -3.828 -54.99, -53.71 -3.829 -55.17, -54.45 -3.913 -55.36, +-54.54 -3.917 -55.25, -54.49 -3.917 -55.44, -55.11 -3.649 -55.61, +-55.2 -3.653 -55.51, -55.15 -3.653 -55.69, -55.99 -3.906 -55.89, +-56.02 -3.907 -55.86, -56 -3.908 -55.91, -52.52 -11.8 -54.49, +-52.42 -11.8 -54.6, -52.65 -10.72 -54.73, -52.61 -10.72 -54.78, +-52.62 -9.647 -54.53, -52.52 -9.643 -54.64, -52.52 -8.558 -54.42, +-52.48 -8.556 -54.47, -52.8 -7.483 -54.53, -52.7 -7.479 -54.64, +-52.88 -6.412 -54.75, -52.83 -6.41 -54.8, -52.82 -5.332 -54.53, +-52.73 -5.329 -54.63, -53.14 -4.153 -54.88, -53.23 -4.157 -54.78, +-52.46 -11.8 -54.69, -52.63 -10.72 -54.82, -52.57 -9.648 -54.72, +-52.5 -8.558 -54.51, -52.74 -7.484 -54.73, -52.85 -6.413 -54.84, +-52.77 -5.333 -54.7, -53.18 -4.157 -54.96, -53.69 -3.824 -55.11, +-53.79 -3.828 -55, -53.73 -3.829 -55.19, -54.47 -3.913 -55.37, +-54.56 -3.917 -55.27, -54.51 -3.917 -55.46, -55.13 -3.649 -55.63, +-55.22 -3.653 -55.52, -55.17 -3.653 -55.71, -56.01 -3.906 -55.91, +-56.04 -3.907 -55.88, -56.02 -3.908 -55.93, -52.54 -11.8 -54.51, +-52.44 -11.8 -54.62, -52.64 -10.72 -54.73, -52.6 -10.72 -54.77, +-52.61 -9.647 -54.51, -52.51 -9.643 -54.62, -52.54 -8.558 -54.43, +-52.49 -8.556 -54.48, -52.81 -7.483 -54.54, -52.71 -7.479 -54.65, +-52.86 -6.412 -54.73, -52.81 -6.41 -54.78, -52.81 -5.332 -54.52, +-52.72 -5.329 -54.62, -53.16 -4.153 -54.9, -53.25 -4.157 -54.8, +-52.48 -11.8 -54.7, -52.62 -10.72 -54.81, -52.55 -9.648 -54.71, +-52.51 -8.558 -54.52, -52.75 -7.484 -54.74, -52.83 -6.413 -54.83, +-52.76 -5.333 -54.69, -53.2 -4.157 -54.98, -53.71 -3.824 -55.12, +-53.8 -3.828 -55.02, -53.75 -3.829 -55.2, -54.49 -3.913 -55.39, +-54.58 -3.917 -55.29, -54.53 -3.917 -55.47, -55.14 -3.649 -55.64, +-55.23 -3.653 -55.54, -55.18 -3.653 -55.72, -56.03 -3.906 -55.92, +-56.06 -3.907 -55.9, -56.04 -3.908 -55.95, -52.55 -11.8 -54.53, +-52.45 -11.8 -54.64, -52.63 -10.72 -54.72, -52.59 -10.72 -54.76, +-52.59 -9.647 -54.5, -52.49 -9.643 -54.61, -52.55 -8.558 -54.45, +-52.51 -8.556 -54.5, -52.82 -7.483 -54.55, -52.72 -7.479 -54.66, +-52.84 -6.412 -54.71, -52.79 -6.41 -54.77, -52.81 -5.332 -54.52, +-52.72 -5.329 -54.62, -53.17 -4.153 -54.92, -53.27 -4.157 -54.81, +-52.5 -11.8 -54.72, -52.61 -10.72 -54.8, -52.54 -9.648 -54.7, +-52.53 -8.558 -54.54, -52.76 -7.484 -54.75, -52.82 -6.413 -54.81, +-52.76 -5.333 -54.69, -53.22 -4.157 -55, -53.72 -3.824 -55.14, +-53.82 -3.828 -55.03, -53.76 -3.829 -55.22, -54.5 -3.913 -55.41, +-54.6 -3.917 -55.3, -54.54 -3.917 -55.49, -55.15 -3.649 -55.65, +-55.24 -3.653 -55.55, -55.19 -3.653 -55.73, -56.05 -3.906 -55.94, +-56.07 -3.907 -55.91, -56.06 -3.908 -55.96, -52.57 -11.8 -54.54, +-52.47 -11.8 -54.65, -52.62 -10.72 -54.7, -52.57 -10.72 -54.75, +-52.58 -9.647 -54.49, -52.48 -9.643 -54.6, -52.57 -8.558 -54.46, +-52.53 -8.556 -54.51, -52.82 -7.483 -54.56, -52.72 -7.479 -54.66, +-52.82 -6.412 -54.7, -52.77 -6.41 -54.75, -52.81 -5.332 -54.52, +-52.72 -5.329 -54.62, -53.19 -4.153 -54.93, -53.29 -4.157 -54.83, +-52.51 -11.8 -54.73, -52.59 -10.72 -54.78, -52.53 -9.648 -54.69, +-52.55 -8.558 -54.55, -52.77 -7.484 -54.75, -52.8 -6.413 -54.79, +-52.76 -5.333 -54.69, -53.23 -4.157 -55.02, -53.73 -3.824 -55.15, +-53.83 -3.828 -55.04, -53.78 -3.829 -55.23, -54.52 -3.913 -55.42, +-54.61 -3.917 -55.32, -54.56 -3.917 -55.5, -55.16 -3.649 -55.66, +-55.25 -3.653 -55.55, -55.2 -3.653 -55.74, -56.06 -3.906 -55.95, +-56.09 -3.907 -55.92, -56.07 -3.908 -55.97, -52.58 -11.8 -54.55, +-52.48 -11.8 -54.66, -52.6 -10.72 -54.69, -52.56 -10.72 -54.73, +-52.58 -9.647 -54.49, -52.48 -9.643 -54.59, -52.59 -8.558 -54.48, +-52.55 -8.556 -54.53, -52.82 -7.483 -54.56, -52.72 -7.479 -54.66, +-52.8 -6.412 -54.68, -52.76 -6.41 -54.73, -52.81 -5.332 -54.53, +-52.73 -5.329 -54.63, -53.21 -4.153 -54.95, -53.3 -4.157 -54.85, +-52.53 -11.8 -54.75, -52.57 -10.72 -54.77, -52.52 -9.648 -54.68, +-52.57 -8.558 -54.57, -52.77 -7.484 -54.75, -52.78 -6.413 -54.77, +-52.76 -5.333 -54.7, -53.25 -4.157 -55.03, -53.74 -3.824 -55.15, +-53.84 -3.828 -55.05, -53.78 -3.829 -55.24, -54.53 -3.913 -55.43, +-54.62 -3.917 -55.32, -54.57 -3.917 -55.51, -55.16 -3.649 -55.66, +-55.25 -3.653 -55.55, -55.2 -3.653 -55.74, -56.07 -3.906 -55.96, +-56.1 -3.907 -55.93, -56.08 -3.908 -55.98, -52.59 -11.8 -54.56, +-52.49 -11.8 -54.67, -52.58 -10.72 -54.67, -52.54 -10.72 -54.72, +-52.57 -9.647 -54.48, -52.47 -9.643 -54.59, -52.61 -8.558 -54.5, +-52.56 -8.556 -54.55, -52.82 -7.483 -54.55, -52.72 -7.479 -54.66, +-52.79 -6.412 -54.66, -52.74 -6.41 -54.71, -52.82 -5.332 -54.54, +-52.74 -5.329 -54.63, -53.22 -4.153 -54.96, -53.32 -4.157 -54.86, +-52.53 -11.8 -54.75, -52.56 -10.72 -54.75, -52.52 -9.648 -54.68, +-52.58 -8.558 -54.59, -52.76 -7.484 -54.75, -52.76 -6.413 -54.76, +-52.77 -5.333 -54.71, -53.26 -4.157 -55.04, -53.75 -3.824 -55.16, +-53.84 -3.828 -55.05, -53.79 -3.829 -55.24, -54.53 -3.913 -55.43, +-54.63 -3.917 -55.33, -54.57 -3.917 -55.52, -55.16 -3.649 -55.66, +-55.25 -3.653 -55.55, -55.2 -3.653 -55.74, -56.08 -3.906 -55.97, +-56.1 -3.907 -55.94, -56.09 -3.908 -55.99, -52.6 -11.8 -54.56, +-52.5 -11.8 -54.67, -52.56 -10.72 -54.65, -52.52 -10.72 -54.7, +-52.58 -9.647 -54.48, -52.47 -9.643 -54.59, -52.63 -8.558 -54.52, +-52.58 -8.556 -54.57, -52.81 -7.483 -54.54, -52.71 -7.479 -54.65, +-52.77 -6.412 -54.65, -52.72 -6.41 -54.7, -52.84 -5.332 -54.55, +-52.75 -5.329 -54.65, -53.23 -4.153 -54.97, -53.33 -4.157 -54.87, +-52.54 -11.8 -54.76, -52.54 -10.72 -54.73, -52.52 -9.648 -54.68, +-52.6 -8.558 -54.61, -52.76 -7.484 -54.74, -52.74 -6.413 -54.74, +-52.79 -5.333 -54.72, -53.27 -4.157 -55.05, -53.75 -3.824 -55.16, +-53.84 -3.828 -55.05, -53.79 -3.829 -55.24, -54.54 -3.913 -55.44, +-54.63 -3.917 -55.33, -54.58 -3.917 -55.52, -55.15 -3.649 -55.65, +-55.25 -3.653 -55.55, -55.19 -3.653 -55.73, -56.08 -3.906 -55.97, +-56.1 -3.907 -55.94, -56.09 -3.908 -55.99, -52.6 -11.8 -54.57, +-52.5 -11.8 -54.67, -52.54 -10.72 -54.63, -52.5 -10.72 -54.68, +-52.58 -9.647 -54.49, -52.48 -9.643 -54.6, -52.65 -8.558 -54.53, +-52.6 -8.556 -54.59, -52.8 -7.483 -54.53, -52.7 -7.479 -54.64, +-52.76 -6.412 -54.63, -52.71 -6.41 -54.69, -52.85 -5.332 -54.57, +-52.77 -5.329 -54.66, -53.24 -4.153 -54.98, -53.33 -4.157 -54.87, +-52.54 -11.8 -54.76, -52.52 -10.72 -54.72, -52.52 -9.648 -54.68, +-52.62 -8.558 -54.62, -52.74 -7.484 -54.73, -52.73 -6.413 -54.73, +-52.8 -5.333 -54.74, -53.28 -4.157 -55.06, -53.74 -3.824 -55.15, +-53.84 -3.828 -55.05, -53.78 -3.829 -55.23, -54.53 -3.913 -55.44, +-54.63 -3.917 -55.33, -54.57 -3.917 -55.52, -55.14 -3.649 -55.64, +-55.24 -3.653 -55.54, -55.18 -3.653 -55.72, -56.08 -3.906 -55.97, +-56.1 -3.907 -55.94, -56.09 -3.908 -55.99, -52.59 -11.8 -54.56, +-52.49 -11.8 -54.67, -52.52 -10.72 -54.62, -52.48 -10.72 -54.66, +-52.59 -9.647 -54.5, -52.49 -9.643 -54.61, -52.66 -8.558 -54.55, +-52.62 -8.556 -54.6, -52.79 -7.483 -54.52, -52.69 -7.479 -54.63, +-52.75 -6.412 -54.62, -52.7 -6.41 -54.68, -52.87 -5.332 -54.58, +-52.78 -5.329 -54.68, -53.24 -4.153 -54.98, -53.33 -4.157 -54.87, +-52.54 -11.8 -54.76, -52.5 -10.72 -54.7, -52.53 -9.648 -54.69, +-52.64 -8.558 -54.64, -52.73 -7.484 -54.72, -52.72 -6.413 -54.72, +-52.82 -5.333 -54.75, -53.28 -4.157 -55.06, -53.73 -3.824 -55.14, +-53.83 -3.828 -55.04, -53.77 -3.829 -55.23, -54.53 -3.913 -55.43, +-54.62 -3.917 -55.33, -54.57 -3.917 -55.51, -55.13 -3.649 -55.63, +-55.22 -3.653 -55.53, -55.17 -3.653 -55.71, -56.07 -3.906 -55.96, +-56.1 -3.907 -55.93, -56.08 -3.908 -55.98, -52.59 -11.8 -54.56, +-52.49 -11.8 -54.67, -52.51 -10.72 -54.6, -52.46 -10.72 -54.65, +-52.6 -9.647 -54.51, -52.5 -9.643 -54.62, -52.68 -8.558 -54.56, +-52.63 -8.556 -54.61, -52.77 -7.483 -54.51, -52.67 -7.479 -54.61, +-52.74 -6.412 -54.62, -52.69 -6.41 -54.67, -52.89 -5.332 -54.6, +-52.8 -5.329 -54.7, -53.24 -4.153 -54.98, -53.33 -4.157 -54.87, +-52.53 -11.8 -54.75, -52.48 -10.72 -54.68, -52.54 -9.648 -54.7, +-52.65 -8.558 -54.65, -52.71 -7.484 -54.7, -52.71 -6.413 -54.71, +-52.84 -5.333 -54.77, -53.28 -4.157 -55.06, -53.72 -3.824 -55.13, +-53.82 -3.828 -55.03, -53.76 -3.829 -55.22, -54.52 -3.913 -55.42, +-54.61 -3.917 -55.32, -54.56 -3.917 -55.5, -55.11 -3.649 -55.61, +-55.21 -3.653 -55.51, -55.15 -3.653 -55.7, -56.06 -3.906 -55.95, +-56.09 -3.907 -55.93, -56.07 -3.908 -55.97, -52.58 -11.8 -54.55, +-52.48 -11.8 -54.66, -52.49 -10.72 -54.59, -52.45 -10.72 -54.63, +-52.62 -9.647 -54.52, -52.52 -9.643 -54.63, -52.69 -8.558 -54.57, +-52.64 -8.556 -54.62, -52.75 -7.483 -54.49, -52.65 -7.479 -54.6, +-52.73 -6.412 -54.61, -52.68 -6.41 -54.67, -52.91 -5.332 -54.62, +-52.82 -5.329 -54.71, -53.23 -4.153 -54.97, -53.33 -4.157 -54.87, +-52.52 -11.8 -54.74, -52.47 -10.72 -54.67, -52.56 -9.648 -54.72, +-52.66 -8.558 -54.66, -52.69 -7.484 -54.68, -52.71 -6.413 -54.71, +-52.86 -5.333 -54.79, -53.27 -4.157 -55.05, -53.71 -3.824 -55.12, +-53.8 -3.828 -55.02, -53.75 -3.829 -55.2, -54.51 -3.913 -55.41, +-54.6 -3.917 -55.31, -54.55 -3.917 -55.49, -55.09 -3.649 -55.6, +-55.19 -3.653 -55.49, -55.14 -3.653 -55.68, -56.05 -3.906 -55.94, +-56.07 -3.907 -55.91, -56.06 -3.908 -55.96, -52.56 -11.8 -54.53, +-52.46 -11.8 -54.64, -52.48 -10.72 -54.58, -52.44 -10.72 -54.62, +-52.63 -9.647 -54.54, -52.53 -9.643 -54.65, -52.69 -8.558 -54.57, +-52.64 -8.556 -54.62, -52.73 -7.483 -54.47, -52.63 -7.479 -54.58, +-52.74 -6.412 -54.61, -52.69 -6.41 -54.67, -52.93 -5.332 -54.64, +-52.84 -5.329 -54.73, -53.22 -4.153 -54.96, -53.32 -4.157 -54.86, +-52.51 -11.8 -54.73, -52.46 -10.72 -54.66, -52.58 -9.648 -54.73, +-52.66 -8.558 -54.66, -52.68 -7.484 -54.66, -52.71 -6.413 -54.71, +-52.88 -5.333 -54.81, -53.26 -4.157 -55.04, -53.69 -3.824 -55.1, +-53.79 -3.828 -55, -53.73 -3.829 -55.19, -54.49 -3.913 -55.39, +-54.59 -3.917 -55.29, -54.53 -3.917 -55.48, -55.07 -3.649 -55.58, +-55.17 -3.653 -55.48, -55.12 -3.653 -55.66, -56.03 -3.906 -55.93, +-56.06 -3.907 -55.9, -56.04 -3.908 -55.95, -52.55 -11.8 -54.52, +-52.45 -11.8 -54.63, -52.47 -10.72 -54.57, -52.43 -10.72 -54.61, +-52.65 -9.647 -54.56, -52.55 -9.643 -54.67, -52.69 -8.558 -54.58, +-52.64 -8.556 -54.63, -52.71 -7.483 -54.45, -52.61 -7.479 -54.56, +-52.74 -6.412 -54.62, -52.69 -6.41 -54.67, -52.95 -5.332 -54.65, +-52.86 -5.329 -54.75, -53.21 -4.153 -54.95, -53.3 -4.157 -54.84, +-52.49 -11.8 -54.71, -52.45 -10.72 -54.65, -52.6 -9.648 -54.75, +-52.67 -8.558 -54.67, -52.66 -7.484 -54.65, -52.71 -6.413 -54.71, +-52.9 -5.333 -54.82, -53.25 -4.157 -55.03, -53.67 -3.824 -55.09, +-53.77 -3.828 -54.98, -53.71 -3.829 -55.17, -54.47 -3.913 -55.38, +-54.57 -3.917 -55.27, -54.51 -3.917 -55.46, -55.06 -3.649 -55.56, +-55.15 -3.653 -55.46, -55.1 -3.653 -55.64, -56.01 -3.906 -55.91, +-56.04 -3.907 -55.88, -56.03 -3.908 -55.93, -52.53 -11.8 -54.5, +-52.43 -11.8 -54.61, -52.47 -10.72 -54.56, -52.42 -10.72 -54.61, +-52.67 -9.647 -54.58, -52.57 -9.643 -54.68, -52.69 -8.558 -54.57, +-52.64 -8.556 -54.62, -52.69 -7.483 -54.43, -52.59 -7.479 -54.54, +-52.75 -6.412 -54.63, -52.7 -6.41 -54.68, -52.96 -5.332 -54.67, +-52.87 -5.329 -54.76, -53.19 -4.153 -54.93, -53.29 -4.157 -54.83, +-52.47 -11.8 -54.7, -52.44 -10.72 -54.65, -52.62 -9.648 -54.77, +-52.66 -8.558 -54.66, -52.64 -7.484 -54.63, -52.72 -6.413 -54.72, +-52.91 -5.333 -54.84, -53.23 -4.157 -55.02, -53.65 -3.824 -55.07, +-53.75 -3.828 -54.97, -53.69 -3.829 -55.15, -54.45 -3.913 -55.36, +-54.55 -3.917 -55.26, -54.49 -3.917 -55.44, -55.04 -3.649 -55.54, +-55.13 -3.653 -55.44, -55.08 -3.653 -55.63, -56 -3.906 -55.89, +-56.02 -3.907 -55.86, -56.01 -3.908 -55.91, -52.51 -11.8 -54.48, +-52.41 -11.8 -54.59, -52.47 -10.72 -54.56, -52.42 -10.72 -54.61, +-52.69 -9.647 -54.59, -52.59 -9.643 -54.7, -52.68 -8.558 -54.57, +-52.64 -8.556 -54.62, -52.68 -7.483 -54.42, -52.58 -7.479 -54.53, +-52.76 -6.412 -54.64, -52.71 -6.41 -54.69, -52.98 -5.332 -54.68, +-52.89 -5.329 -54.78, -53.17 -4.153 -54.92, -53.27 -4.157 -54.81, +-52.45 -11.8 -54.68, -52.44 -10.72 -54.65, -52.64 -9.648 -54.79, +-52.66 -8.558 -54.66, -52.62 -7.484 -54.61, -52.73 -6.413 -54.73, +-52.93 -5.333 -54.85, -53.21 -4.157 -55, -53.63 -3.824 -55.05, +-53.73 -3.828 -54.95, -53.67 -3.829 -55.13, -54.43 -3.913 -55.34, +-54.53 -3.917 -55.24, -54.48 -3.917 -55.42, -55.02 -3.649 -55.53, +-55.11 -3.653 -55.42, -55.06 -3.653 -55.61, -55.98 -3.906 -55.87, +-56 -3.907 -55.85, -55.99 -3.908 -55.9, -52.49 -11.8 -54.47, +-52.39 -11.8 -54.57, -52.47 -10.72 -54.57, -52.43 -10.72 -54.61, +-52.71 -9.647 -54.61, -52.61 -9.643 -54.72, -52.67 -8.558 -54.56, +-52.62 -8.556 -54.61, -52.66 -7.483 -54.4, -52.56 -7.479 -54.51, +-52.78 -6.412 -54.65, -52.73 -6.41 -54.7, -52.99 -5.332 -54.69, +-52.9 -5.329 -54.78, -53.15 -4.153 -54.9, -53.25 -4.157 -54.79, +-52.43 -11.8 -54.66, -52.45 -10.72 -54.65, -52.65 -9.648 -54.8, +-52.65 -8.558 -54.65, -52.61 -7.484 -54.6, -52.75 -6.413 -54.75, +-52.94 -5.333 -54.86, -53.19 -4.157 -54.98, -53.61 -3.824 -55.03, +-53.71 -3.828 -54.93, -53.65 -3.829 -55.12, -54.41 -3.913 -55.32, +-54.51 -3.917 -55.22, -54.46 -3.917 -55.41, -55 -3.649 -55.51, +-55.1 -3.653 -55.41, -55.04 -3.653 -55.59, -55.96 -3.906 -55.86, +-55.98 -3.907 -55.83, -55.97 -3.908 -55.88, -52.47 -11.8 -54.45, +-52.37 -11.8 -54.56, -52.48 -10.72 -54.58, -52.44 -10.72 -54.62, +-52.73 -9.647 -54.63, -52.63 -9.643 -54.73, -52.66 -8.558 -54.54, +-52.61 -8.556 -54.59, -52.65 -7.483 -54.39, -52.55 -7.479 -54.5, +-52.79 -6.412 -54.67, -52.74 -6.41 -54.72, -52.99 -5.332 -54.7, +-52.9 -5.329 -54.79, -53.13 -4.153 -54.88, -53.23 -4.157 -54.78, +-52.41 -11.8 -54.64, -52.46 -10.72 -54.66, -52.67 -9.648 -54.82, +-52.63 -8.558 -54.63, -52.59 -7.484 -54.59, -52.76 -6.413 -54.76, +-52.94 -5.333 -54.87, -53.18 -4.157 -54.96, -53.6 -3.824 -55.02, +-53.69 -3.828 -54.91, -53.64 -3.829 -55.1, -54.4 -3.913 -55.31, +-54.49 -3.917 -55.2, -54.44 -3.917 -55.39, -54.99 -3.649 -55.5, +-55.08 -3.653 -55.4, -55.03 -3.653 -55.58, -55.94 -3.906 -55.84, +-55.96 -3.907 -55.81, -55.95 -3.908 -55.86, -52.45 -11.8 -54.43, +-52.35 -11.8 -54.54, -52.49 -10.72 -54.59, -52.45 -10.72 -54.63, +-52.74 -9.647 -54.64, -52.64 -9.643 -54.75, -52.64 -8.558 -54.53, +-52.6 -8.556 -54.58, -52.64 -7.483 -54.39, -52.54 -7.479 -54.49, +-52.81 -6.412 -54.68, -52.76 -6.41 -54.74, -52.99 -5.332 -54.7, +-52.91 -5.329 -54.79, -53.11 -4.153 -54.86, -53.21 -4.157 -54.76, +-52.4 -11.8 -54.63, -52.47 -10.72 -54.67, -52.68 -9.648 -54.83, +-52.62 -8.558 -54.62, -52.59 -7.484 -54.58, -52.78 -6.413 -54.78, +-52.94 -5.333 -54.87, -53.16 -4.157 -54.94, -53.58 -3.824 -55, +-53.68 -3.828 -54.9, -53.62 -3.829 -55.09, -54.38 -3.913 -55.29, +-54.48 -3.917 -55.19, -54.42 -3.917 -55.37, -54.98 -3.649 -55.49, +-55.07 -3.653 -55.39, -55.02 -3.653 -55.57, -55.92 -3.906 -55.82, +-55.95 -3.907 -55.8, -55.93 -3.908 -55.85, -52.44 -11.8 -54.42, +-52.34 -11.8 -54.53, -52.51 -10.72 -54.6, -52.46 -10.72 -54.65, +-52.75 -9.647 -54.65, -52.65 -9.643 -54.76, -52.62 -8.558 -54.51, +-52.58 -8.556 -54.56, -52.64 -7.483 -54.38, -52.54 -7.479 -54.49, +-52.83 -6.412 -54.7, -52.78 -6.41 -54.76, -52.99 -5.332 -54.7, +-52.9 -5.329 -54.79, -53.1 -4.153 -54.85, -53.19 -4.157 -54.74, +-52.38 -11.8 -54.61, -52.48 -10.72 -54.68, -52.69 -9.648 -54.84, +-52.6 -8.558 -54.6, -52.58 -7.484 -54.58, -52.8 -6.413 -54.8, +-52.94 -5.333 -54.87, -53.14 -4.157 -54.93, -53.57 -3.824 -54.99, +-53.67 -3.828 -54.89, -53.61 -3.829 -55.08, -54.37 -3.913 -55.28, +-54.46 -3.917 -55.18, -54.41 -3.917 -55.36, -54.97 -3.649 -55.48, +-55.07 -3.653 -55.38, -55.01 -3.653 -55.57, -55.91 -3.906 -55.81, +-55.94 -3.907 -55.78, -55.92 -3.908 -55.83, -52.43 -11.8 -54.41, +-52.32 -11.8 -54.51, -52.52 -10.72 -54.62, -52.48 -10.72 -54.66, +-52.76 -9.647 -54.65, -52.66 -9.643 -54.76, -52.61 -8.558 -54.49, +-52.56 -8.556 -54.54, -52.64 -7.483 -54.38, -52.54 -7.479 -54.49, +-52.85 -6.412 -54.72, -52.8 -6.41 -54.77, -52.99 -5.332 -54.69, +-52.9 -5.329 -54.78, -53.08 -4.153 -54.83, -53.18 -4.157 -54.73, +-52.37 -11.8 -54.6, -52.5 -10.72 -54.7, -52.7 -9.648 -54.85, +-52.58 -8.558 -54.58, -52.58 -7.484 -54.58, -52.82 -6.413 -54.81, +-52.94 -5.333 -54.86, -53.12 -4.157 -54.91, -53.56 -3.824 -54.99, +-53.66 -3.828 -54.88, -53.6 -3.829 -55.07, -54.36 -3.913 -55.27, +-54.45 -3.917 -55.17, -54.4 -3.917 -55.35, -54.97 -3.649 -55.48, +-55.07 -3.653 -55.38, -55.01 -3.653 -55.56, -55.9 -3.906 -55.8, +-55.93 -3.907 -55.78, -55.91 -3.908 -55.82, -52.42 -11.8 -54.4, +-52.32 -11.8 -54.51, -52.54 -10.72 -54.63, -52.5 -10.72 -54.68, +-52.76 -9.647 -54.66, -52.66 -9.643 -54.77, -52.59 -8.558 -54.48, +-52.54 -8.556 -54.53, -52.64 -7.483 -54.39, -52.54 -7.479 -54.49, +-52.87 -6.412 -54.74, -52.82 -6.41 -54.79, -52.98 -5.332 -54.68, +-52.89 -5.329 -54.78, -53.07 -4.153 -54.82, -53.16 -4.157 -54.72, +-52.36 -11.8 -54.59, -52.52 -10.72 -54.71, -52.7 -9.648 -54.85, +-52.56 -8.558 -54.57, -52.58 -7.484 -54.58, -52.84 -6.413 -54.83, +-52.93 -5.333 -54.85, -53.11 -4.157 -54.9, -53.56 -3.824 -54.98, +-53.66 -3.828 -54.88, -53.6 -3.829 -55.07, -54.35 -3.913 -55.26, +-54.45 -3.917 -55.16, -54.39 -3.917 -55.35, -54.97 -3.649 -55.48, +-55.07 -3.653 -55.38, -55.01 -3.653 -55.57, -55.89 -3.906 -55.8, +-55.92 -3.907 -55.77, -55.9 -3.908 -55.82, -52.41 -11.8 -54.39, +-52.31 -11.8 -54.5, -52.56 -10.72 -54.65, -52.52 -10.72 -54.7, +-52.76 -9.647 -54.66, -52.66 -9.643 -54.77, -52.57 -8.558 -54.46, +-52.52 -8.556 -54.51, -52.65 -7.483 -54.39, -52.55 -7.479 -54.5, +-52.89 -6.412 -54.75, -52.84 -6.41 -54.81, -52.96 -5.332 -54.67, +-52.87 -5.329 -54.76, -53.06 -4.153 -54.81, -53.15 -4.157 -54.71, +-52.36 -11.8 -54.59, -52.54 -10.72 -54.73, -52.7 -9.648 -54.85, +-52.54 -8.558 -54.55, -52.59 -7.484 -54.59, -52.86 -6.413 -54.85, +-52.91 -5.333 -54.84, -53.1 -4.157 -54.89, -53.56 -3.824 -54.98, +-53.66 -3.828 -54.88, -53.6 -3.829 -55.07, -54.35 -3.913 -55.26, +-54.44 -3.917 -55.16, -54.39 -3.917 -55.34, -54.98 -3.649 -55.49, +-55.07 -3.653 -55.39, -55.02 -3.653 -55.57, -55.89 -3.906 -55.79, +-55.92 -3.907 -55.77, -55.9 -3.908 -55.82, -52.41 -11.8 -54.39, +-52.31 -11.8 -54.5, -52.58 -10.72 -54.67, -52.54 -10.72 -54.72, +-52.75 -9.647 -54.65, -52.65 -9.643 -54.76, -52.55 -8.558 -54.44, +-52.5 -8.556 -54.49, -52.66 -7.483 -54.4, -52.56 -7.479 -54.51, +-52.9 -6.412 -54.77, -52.85 -6.41 -54.82, -52.95 -5.332 -54.65, +-52.86 -5.329 -54.75, -53.05 -4.153 -54.8, -53.15 -4.157 -54.7, +-52.35 -11.8 -54.59, -52.56 -10.72 -54.75, -52.7 -9.648 -54.85, +-52.52 -8.558 -54.53, -52.6 -7.484 -54.6, -52.87 -6.413 -54.86, +-52.9 -5.333 -54.82, -53.09 -4.157 -54.89, -53.56 -3.824 -54.99, +-53.66 -3.828 -54.88, -53.61 -3.829 -55.07, -54.35 -3.913 -55.26, +-54.45 -3.917 -55.16, -54.39 -3.917 -55.35, -54.99 -3.649 -55.5, +-55.08 -3.653 -55.39, -55.03 -3.653 -55.58, -55.89 -3.906 -55.8, +-55.92 -3.907 -55.77, -55.9 -3.908 -55.82, -52.41 -11.8 -54.39, +-52.31 -11.8 -54.5, -52.6 -10.72 -54.69, -52.56 -10.72 -54.73, +-52.75 -9.647 -54.64, -52.64 -9.643 -54.75, -52.53 -8.558 -54.43, +-52.49 -8.556 -54.48, -52.67 -7.483 -54.42, -52.57 -7.479 -54.53, +-52.91 -6.412 -54.78, -52.86 -6.41 -54.83, -52.93 -5.332 -54.64, +-52.84 -5.329 -54.73, -53.05 -4.153 -54.8, -53.15 -4.157 -54.7, +-52.36 -11.8 -54.59, -52.57 -10.72 -54.77, -52.69 -9.648 -54.84, +-52.51 -8.558 -54.52, -52.62 -7.484 -54.61, -52.88 -6.413 -54.87, +-52.88 -5.333 -54.81, -53.09 -4.157 -54.88, -53.57 -3.824 -55, +-53.67 -3.828 -54.89, -53.61 -3.829 -55.08, -54.36 -3.913 -55.27, +-54.45 -3.917 -55.17, -54.4 -3.917 -55.35, -55 -3.649 -55.51, +-55.1 -3.653 -55.41, -55.04 -3.653 -55.59, -55.9 -3.906 -55.8, +-55.92 -3.907 -55.77, -55.91 -3.908 -55.82, -52.42 -11.8 -54.4, +-52.32 -11.8 -54.51, -52.62 -10.72 -54.7, -52.57 -10.72 -54.75, +-52.73 -9.647 -54.63, -52.63 -9.643 -54.74, -52.52 -8.558 -54.42, +-52.47 -8.556 -54.47, -52.69 -7.483 -54.43, -52.59 -7.479 -54.54, +-52.92 -6.412 -54.78, -52.87 -6.41 -54.84, -52.91 -5.332 -54.62, +-52.82 -5.329 -54.71, -53.05 -4.153 -54.81, -53.15 -4.157 -54.7, +-52.36 -11.8 -54.6, -52.59 -10.72 -54.78, -52.68 -9.648 -54.83, +-52.49 -8.558 -54.51, -52.63 -7.484 -54.63, -52.89 -6.413 -54.88, +-52.86 -5.333 -54.79, -53.09 -4.157 -54.89, -53.58 -3.824 -55.01, +-53.68 -3.828 -54.9, -53.62 -3.829 -55.09, -54.36 -3.913 -55.28, +-54.46 -3.917 -55.17, -54.41 -3.917 -55.36, -55.02 -3.649 -55.53, +-55.11 -3.653 -55.42, -55.06 -3.653 -55.61, -55.91 -3.906 -55.81, +-55.93 -3.907 -55.78, -55.92 -3.908 -55.83, -52.43 -11.8 -54.41, +-52.33 -11.8 -54.52, -52.63 -10.72 -54.72, -52.59 -10.72 -54.76, +-52.72 -9.647 -54.62, -52.62 -9.643 -54.73, -52.51 -8.558 -54.41, +-52.46 -8.556 -54.46, -52.71 -7.483 -54.45, -52.61 -7.479 -54.56, +-52.92 -6.412 -54.79, -52.87 -6.41 -54.84, -52.89 -5.332 -54.6, +-52.8 -5.329 -54.7, -53.06 -4.153 -54.81, -53.16 -4.157 -54.71, +-52.37 -11.8 -54.6, -52.61 -10.72 -54.8, -52.66 -9.648 -54.81, +-52.49 -8.558 -54.5, -52.65 -7.484 -54.64, -52.89 -6.413 -54.88, +-52.84 -5.333 -54.77, -53.1 -4.157 -54.89, -53.6 -3.824 -55.02, +-53.69 -3.828 -54.92, -53.64 -3.829 -55.1, -54.38 -3.913 -55.29, +-54.47 -3.917 -55.19, -54.42 -3.917 -55.37, -55.03 -3.649 -55.54, +-55.13 -3.653 -55.44, -55.07 -3.653 -55.62, -55.92 -3.906 -55.82, +-55.95 -3.907 -55.8, -55.93 -3.908 -55.84, -52.45 -11.8 -54.42, +-52.34 -11.8 -54.53, -52.64 -10.72 -54.73, -52.6 -10.72 -54.77, +-52.7 -9.647 -54.6, -52.6 -9.643 -54.71, -52.51 -8.558 -54.4, +-52.46 -8.556 -54.45, -52.73 -7.483 -54.47, -52.63 -7.479 -54.58, +-52.92 -6.412 -54.79, -52.87 -6.41 -54.84, -52.87 -5.332 -54.58, +-52.78 -5.329 -54.68, -53.07 -4.153 -54.82, -53.16 -4.157 -54.72, +-52.39 -11.8 -54.62, -52.62 -10.72 -54.81, -52.64 -9.648 -54.8, +-52.48 -8.558 -54.49, -52.67 -7.484 -54.66, -52.89 -6.413 -54.88, +-52.82 -5.333 -54.75, -53.11 -4.157 -54.9, -53.62 -3.824 -55.04, +-53.71 -3.828 -54.93, -53.66 -3.829 -55.12, -54.39 -3.913 -55.3, +-54.49 -3.917 -55.2, -54.43 -3.917 -55.39, -55.05 -3.649 -55.56, +-55.15 -3.653 -55.46, -55.09 -3.653 -55.64, -55.94 -3.906 -55.84, +-55.96 -3.907 -55.81, -55.95 -3.908 -55.86, -52.46 -11.8 -54.44, +-52.36 -11.8 -54.55, -52.65 -10.72 -54.73, -52.61 -10.72 -54.78, +-52.68 -9.647 -54.58, -52.58 -9.643 -54.69, -52.5 -8.558 -54.4, +-52.46 -8.556 -54.45, -52.75 -7.483 -54.49, -52.65 -7.479 -54.59, +-52.92 -6.412 -54.78, -52.87 -6.41 -54.83, -52.85 -5.332 -54.57, +-52.76 -5.329 -54.66, -53.08 -4.153 -54.83, -53.18 -4.157 -54.73, +-52.4 -11.8 -54.63, -52.63 -10.72 -54.82, -52.62 -9.648 -54.78, +-52.48 -8.558 -54.49, -52.69 -7.484 -54.68, -52.89 -6.413 -54.88, +-52.8 -5.333 -54.74, -53.12 -4.157 -54.91, -53.64 -3.824 -55.05, +-53.73 -3.828 -54.95, -53.68 -3.829 -55.13, -54.41 -3.913 -55.32, +-54.51 -3.917 -55.22, -54.45 -3.917 -55.4, -55.07 -3.649 -55.58, +-55.17 -3.653 -55.47, -55.11 -3.653 -55.66, -55.96 -3.906 -55.85, +-55.98 -3.907 -55.83, -55.97 -3.908 -55.88, -52.48 -11.8 -54.46, +-52.38 -11.8 -54.57, -52.65 -10.72 -54.74, -52.61 -10.72 -54.78, +-52.66 -9.647 -54.57, -52.56 -9.643 -54.67, -52.51 -8.558 -54.4, +-52.46 -8.556 -54.45, -52.77 -7.483 -54.5, -52.67 -7.479 -54.61, +-52.91 -6.412 -54.77, -52.86 -6.41 -54.83, -52.84 -5.332 -54.55, +-52.75 -5.329 -54.65, -53.1 -4.153 -54.85, -53.19 -4.157 -54.74, +-52.42 -11.8 -54.65, -52.63 -10.72 -54.82, -52.61 -9.648 -54.76, +-52.48 -8.558 -54.49, -52.71 -7.484 -54.7, -52.88 -6.413 -54.87, +-52.79 -5.333 -54.72, -53.14 -4.157 -54.93, -53.65 -3.824 -55.07, +-53.75 -3.828 -54.97, -53.69 -3.829 -55.15, -54.43 -3.913 -55.34, +-54.53 -3.917 -55.23, -54.47 -3.917 -55.42, -55.09 -3.649 -55.6, +-55.19 -3.653 -55.49, -55.13 -3.653 -55.68, -55.97 -3.906 -55.87, +-56 -3.907 -55.84, -55.99 -3.908 -55.89, ] +} +] +}, +DEF Plane37 Transform { +translation 52.22 5.921 54.75 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane37-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane37-COORD Coordinate { +point [ -52.21 -11.79 -54.52 -52.34 -11.79 -54.44 -52.38 -10.71 -54.49 -52.43 +-10.71 -54.46 -52.22 -9.632 -54.49 -52.34 -9.632 -54.41 -52.24 -8.552 -54.55 +-52.3 -8.552 -54.52 -52.3 -7.472 -54.7 -52.43 -7.472 -54.62 -52.37 -6.392 +-54.53 -52.43 -6.392 -54.49 -52.2 -5.312 -54.51 -52.31 -5.312 -54.44 -52.12 +-4.112 -54.25 -52 -4.112 -54.32 -52.32 -11.79 -54.35 -52.42 -10.71 -54.42 +-52.32 -9.632 -54.32 -52.29 -8.552 -54.47 -52.41 -7.472 -54.53 -52.42 -6.392 +-54.45 -52.29 -5.312 -54.36 -52.1 -4.112 -54.16 -51.75 -3.747 -54.01 -51.63 +-3.747 -54.09 -51.73 -3.747 -53.92 -51.05 -3.777 -53.54 -50.93 -3.777 -53.61 +-51.03 -3.777 -53.45 -50.56 -3.468 -53.22 -50.44 -3.468 -53.29 -50.54 -3.468 +-53.13 -49.71 -3.657 -52.65 -49.68 -3.657 -52.67 -49.7 -3.657 -52.63 ] +} +texCoord DEF Plane37-TEXCOORD +TextureCoordinate { point [ 0 0 1 0 0 1 1 1 ] } coordIndex [ 2 0 3 -1 1 3 0 +-1 4 2 5 -1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 10 8 11 -1 9 11 8 +-1 12 10 13 -1 11 13 10 -1 14 15 12 -1 12 13 14 -1 3 1 17 -1 16 17 1 -1 5 3 +18 -1 17 18 3 -1 7 5 19 -1 18 19 5 -1 9 7 20 -1 19 20 7 -1 11 9 21 -1 20 21 +9 -1 13 11 22 -1 21 22 11 -1 23 14 13 -1 13 22 23 -1 24 25 15 -1 15 14 24 +-1 26 24 14 -1 14 23 26 -1 27 28 25 -1 25 24 27 -1 29 27 24 -1 24 26 29 -1 30 +31 28 -1 28 27 30 -1 32 30 27 -1 27 29 32 -1 33 34 31 -1 31 30 33 -1 35 33 30 +-1 30 32 35 -1 ] texCoordIndex +[ 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 +0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 3 2 0 -1 0 1 3 -1 2 0 3 -1 1 3 0 -1 2 0 3 +-1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 +3 0 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 +-1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 +2 0 -1 0 1 3 -1 ] +} +} +DEF Plane37-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, +0.2667, 0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, +0.5333, 0.5667, 0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, +0.8, 0.8333, 0.8667, 0.9, 0.9333, 0.9667, 1, ] +keyValue [-52.21 -11.79 -54.52, +-52.34 -11.79 -54.44, -52.38 -10.71 -54.49, -52.43 -10.71 -54.46, +-52.22 -9.632 -54.49, -52.34 -9.632 -54.41, -52.24 -8.552 -54.55, +-52.3 -8.552 -54.52, -52.3 -7.472 -54.7, -52.43 -7.472 -54.62, +-52.37 -6.392 -54.53, -52.43 -6.392 -54.49, -52.2 -5.312 -54.51, +-52.31 -5.312 -54.44, -52.12 -4.112 -54.25, -52 -4.112 -54.32, +-52.32 -11.79 -54.35, -52.42 -10.71 -54.42, -52.32 -9.632 -54.32, +-52.29 -8.552 -54.47, -52.41 -7.472 -54.53, -52.42 -6.392 -54.45, +-52.29 -5.312 -54.36, -52.1 -4.112 -54.16, -51.75 -3.747 -54.01, +-51.63 -3.747 -54.09, -51.73 -3.747 -53.92, -51.05 -3.777 -53.54, +-50.93 -3.777 -53.61, -51.03 -3.777 -53.45, -50.56 -3.468 -53.22, +-50.44 -3.468 -53.29, -50.54 -3.468 -53.13, -49.71 -3.657 -52.65, +-49.68 -3.657 -52.67, -49.7 -3.657 -52.63, -52.23 -11.79 -54.54, +-52.36 -11.79 -54.46, -52.38 -10.71 -54.49, -52.43 -10.71 -54.46, +-52.2 -9.632 -54.47, -52.32 -9.632 -54.39, -52.25 -8.552 -54.56, +-52.31 -8.552 -54.52, -52.32 -7.472 -54.72, -52.44 -7.472 -54.64, +-52.36 -6.392 -54.52, -52.42 -6.392 -54.48, -52.18 -5.312 -54.5, +-52.29 -5.312 -54.43, -52.14 -4.112 -54.27, -52.02 -4.112 -54.34, +-52.33 -11.79 -54.37, -52.42 -10.71 -54.42, -52.3 -9.632 -54.3, +-52.3 -8.552 -54.48, -52.42 -7.472 -54.54, -52.41 -6.392 -54.44, +-52.27 -5.312 -54.35, -52.12 -4.112 -54.18, -51.77 -3.747 -54.03, +-51.65 -3.747 -54.1, -51.75 -3.747 -53.94, -51.07 -3.777 -53.55, +-50.95 -3.777 -53.63, -51.05 -3.777 -53.46, -50.58 -3.468 -53.23, +-50.46 -3.468 -53.31, -50.56 -3.468 -53.14, -49.73 -3.657 -52.67, +-49.69 -3.657 -52.69, -49.72 -3.657 -52.65, -52.25 -11.79 -54.56, +-52.38 -11.79 -54.48, -52.38 -10.71 -54.49, -52.43 -10.71 -54.45, +-52.18 -9.632 -54.46, -52.31 -9.632 -54.38, -52.26 -8.552 -54.57, +-52.32 -8.552 -54.53, -52.33 -7.472 -54.73, -52.46 -7.472 -54.65, +-52.34 -6.392 -54.51, -52.4 -6.392 -54.47, -52.17 -5.312 -54.49, +-52.28 -5.312 -54.42, -52.16 -4.112 -54.28, -52.04 -4.112 -54.36, +-52.35 -11.79 -54.39, -52.42 -10.71 -54.42, -52.28 -9.632 -54.28, +-52.31 -8.552 -54.49, -52.44 -7.472 -54.56, -52.39 -6.392 -54.42, +-52.26 -5.312 -54.34, -52.14 -4.112 -54.19, -51.79 -3.747 -54.04, +-51.67 -3.747 -54.12, -51.77 -3.747 -53.95, -51.08 -3.777 -53.57, +-50.97 -3.777 -53.65, -51.07 -3.777 -53.48, -50.59 -3.468 -53.24, +-50.47 -3.468 -53.32, -50.57 -3.468 -53.15, -49.74 -3.657 -52.68, +-49.71 -3.657 -52.7, -49.74 -3.657 -52.66, -52.27 -11.79 -54.58, +-52.39 -11.79 -54.5, -52.37 -10.71 -54.48, -52.42 -10.71 -54.45, +-52.16 -9.632 -54.44, -52.29 -9.632 -54.36, -52.28 -8.552 -54.58, +-52.33 -8.552 -54.55, -52.34 -7.472 -54.74, -52.47 -7.472 -54.66, +-52.32 -6.392 -54.49, -52.38 -6.392 -54.45, -52.17 -5.312 -54.49, +-52.28 -5.312 -54.42, -52.18 -4.112 -54.3, -52.06 -4.112 -54.38, +-52.37 -11.79 -54.4, -52.41 -10.71 -54.41, -52.27 -9.632 -54.27, +-52.32 -8.552 -54.5, -52.45 -7.472 -54.57, -52.37 -6.392 -54.41, +-52.26 -5.312 -54.33, -52.16 -4.112 -54.21, -51.8 -3.747 -54.06, +-51.68 -3.747 -54.13, -51.78 -3.747 -53.97, -51.1 -3.777 -53.58, +-50.98 -3.777 -53.66, -51.08 -3.777 -53.5, -50.6 -3.468 -53.25, +-50.48 -3.468 -53.33, -50.58 -3.468 -53.16, -49.76 -3.657 -52.7, +-49.72 -3.657 -52.72, -49.75 -3.657 -52.67, -52.29 -11.79 -54.59, +-52.41 -11.79 -54.51, -52.36 -10.71 -54.47, -52.41 -10.71 -54.44, +-52.15 -9.632 -54.43, -52.28 -9.632 -54.35, -52.29 -8.552 -54.6, +-52.35 -8.552 -54.56, -52.35 -7.472 -54.75, -52.48 -7.472 -54.67, +-52.3 -6.392 -54.47, -52.36 -6.392 -54.43, -52.17 -5.312 -54.48, +-52.28 -5.312 -54.41, -52.2 -4.112 -54.32, -52.08 -4.112 -54.4, +-52.39 -11.79 -54.42, -52.4 -10.71 -54.4, -52.25 -9.632 -54.26, +-52.34 -8.552 -54.52, -52.46 -7.472 -54.58, -52.35 -6.392 -54.39, +-52.26 -5.312 -54.33, -52.18 -4.112 -54.23, -51.81 -3.747 -54.07, +-51.69 -3.747 -54.15, -51.79 -3.747 -53.98, -51.11 -3.777 -53.6, +-50.99 -3.777 -53.67, -51.09 -3.777 -53.51, -50.6 -3.468 -53.26, +-50.48 -3.468 -53.33, -50.58 -3.468 -53.17, -49.77 -3.657 -52.71, +-49.73 -3.657 -52.73, -49.76 -3.657 -52.68, -52.3 -11.79 -54.61, +-52.43 -11.79 -54.53, -52.34 -10.71 -54.46, -52.39 -10.71 -54.42, +-52.14 -9.632 -54.42, -52.27 -9.632 -54.34, -52.31 -8.552 -54.62, +-52.37 -8.552 -54.58, -52.36 -7.472 -54.75, -52.48 -7.472 -54.67, +-52.28 -6.392 -54.46, -52.34 -6.392 -54.42, -52.17 -5.312 -54.49, +-52.28 -5.312 -54.42, -52.22 -4.112 -54.34, -52.1 -4.112 -54.41, +-52.41 -11.79 -54.43, -52.38 -10.71 -54.38, -52.24 -9.632 -54.25, +-52.36 -8.552 -54.53, -52.46 -7.472 -54.58, -52.33 -6.392 -54.37, +-52.26 -5.312 -54.33, -52.2 -4.112 -54.25, -51.82 -3.747 -54.08, +-51.7 -3.747 -54.16, -51.8 -3.747 -53.99, -51.12 -3.777 -53.61, +-51 -3.777 -53.68, -51.1 -3.777 -53.52, -50.6 -3.468 -53.26, +-50.48 -3.468 -53.33, -50.58 -3.468 -53.17, -49.77 -3.657 -52.71, +-49.74 -3.657 -52.73, -49.77 -3.657 -52.69, -52.31 -11.79 -54.62, +-52.44 -11.79 -54.54, -52.32 -10.71 -54.44, -52.38 -10.71 -54.41, +-52.13 -9.632 -54.41, -52.26 -9.632 -54.33, -52.33 -8.552 -54.63, +-52.39 -8.552 -54.6, -52.36 -7.472 -54.75, -52.48 -7.472 -54.67, +-52.26 -6.392 -54.44, -52.33 -6.392 -54.4, -52.18 -5.312 -54.49, +-52.29 -5.312 -54.42, -52.23 -4.112 -54.35, -52.11 -4.112 -54.43, +-52.42 -11.79 -54.44, -52.37 -10.71 -54.37, -52.24 -9.632 -54.24, +-52.38 -8.552 -54.55, -52.46 -7.472 -54.58, -52.32 -6.392 -54.35, +-52.27 -5.312 -54.34, -52.21 -4.112 -54.26, -51.83 -3.747 -54.08, +-51.71 -3.747 -54.16, -51.81 -3.747 -53.99, -51.13 -3.777 -53.61, +-51.01 -3.777 -53.69, -51.11 -3.777 -53.52, -50.6 -3.468 -53.25, +-50.48 -3.468 -53.33, -50.58 -3.468 -53.16, -49.77 -3.657 -52.72, +-49.74 -3.657 -52.74, -49.77 -3.657 -52.69, -52.32 -11.79 -54.63, +-52.45 -11.79 -54.55, -52.3 -10.71 -54.42, -52.36 -10.71 -54.39, +-52.13 -9.632 -54.41, -52.26 -9.632 -54.33, -52.35 -8.552 -54.65, +-52.41 -8.552 -54.61, -52.35 -7.472 -54.75, -52.48 -7.472 -54.67, +-52.25 -6.392 -54.42, -52.31 -6.392 -54.38, -52.19 -5.312 -54.5, +-52.3 -5.312 -54.43, -52.24 -4.112 -54.36, -52.12 -4.112 -54.44, +-52.43 -11.79 -54.45, -52.35 -10.71 -54.35, -52.24 -9.632 -54.24, +-52.4 -8.552 -54.57, -52.46 -7.472 -54.58, -52.3 -6.392 -54.34, +-52.28 -5.312 -54.35, -52.22 -4.112 -54.27, -51.83 -3.747 -54.08, +-51.71 -3.747 -54.16, -51.81 -3.747 -54, -51.13 -3.777 -53.61, +-51.01 -3.777 -53.69, -51.11 -3.777 -53.52, -50.59 -3.468 -53.25, +-50.47 -3.468 -53.32, -50.57 -3.468 -53.16, -49.77 -3.657 -52.71, +-49.74 -3.657 -52.73, -49.77 -3.657 -52.69, -52.33 -11.79 -54.63, +-52.45 -11.79 -54.55, -52.29 -10.71 -54.4, -52.34 -10.71 -54.37, +-52.13 -9.632 -54.41, -52.26 -9.632 -54.33, -52.37 -8.552 -54.67, +-52.43 -8.552 -54.63, -52.34 -7.472 -54.74, -52.47 -7.472 -54.66, +-52.23 -6.392 -54.41, -52.29 -6.392 -54.37, -52.2 -5.312 -54.52, +-52.31 -5.312 -54.45, -52.25 -4.112 -54.37, -52.13 -4.112 -54.44, +-52.43 -11.79 -54.46, -52.33 -10.71 -54.33, -52.24 -9.632 -54.24, +-52.42 -8.552 -54.59, -52.45 -7.472 -54.57, -52.28 -6.392 -54.32, +-52.29 -5.312 -54.36, -52.23 -4.112 -54.28, -51.83 -3.747 -54.08, +-51.71 -3.747 -54.16, -51.81 -3.747 -53.99, -51.13 -3.777 -53.61, +-51.01 -3.777 -53.69, -51.11 -3.777 -53.52, -50.58 -3.468 -53.24, +-50.46 -3.468 -53.31, -50.56 -3.468 -53.15, -49.77 -3.657 -52.71, +-49.74 -3.657 -52.73, -49.76 -3.657 -52.68, -52.33 -11.79 -54.63, +-52.45 -11.79 -54.55, -52.27 -10.71 -54.39, -52.32 -10.71 -54.35, +-52.14 -9.632 -54.42, -52.26 -9.632 -54.34, -52.38 -8.552 -54.69, +-52.44 -8.552 -54.65, -52.33 -7.472 -54.73, -52.46 -7.472 -54.65, +-52.22 -6.392 -54.39, -52.28 -6.392 -54.35, -52.22 -5.312 -54.53, +-52.33 -5.312 -54.46, -52.26 -4.112 -54.37, -52.14 -4.112 -54.45, +-52.43 -11.79 -54.46, -52.31 -10.71 -54.31, -52.24 -9.632 -54.25, +-52.43 -8.552 -54.61, -52.44 -7.472 -54.56, -52.27 -6.392 -54.31, +-52.31 -5.312 -54.38, -52.24 -4.112 -54.28, -51.82 -3.747 -54.08, +-51.7 -3.747 -54.15, -51.8 -3.747 -53.99, -51.12 -3.777 -53.61, +-51.01 -3.777 -53.68, -51.1 -3.777 -53.52, -50.57 -3.468 -53.22, +-50.45 -3.468 -53.3, -50.55 -3.468 -53.13, -49.76 -3.657 -52.7, +-49.73 -3.657 -52.72, -49.75 -3.657 -52.68, -52.33 -11.79 -54.63, +-52.45 -11.79 -54.55, -52.25 -10.71 -54.37, -52.3 -10.71 -54.34, +-52.15 -9.632 -54.43, -52.27 -9.632 -54.35, -52.4 -8.552 -54.7, +-52.46 -8.552 -54.66, -52.32 -7.472 -54.72, -52.44 -7.472 -54.64, +-52.21 -6.392 -54.38, -52.27 -6.392 -54.34, -52.23 -5.312 -54.55, +-52.34 -5.312 -54.48, -52.26 -4.112 -54.37, -52.14 -4.112 -54.45, +-52.43 -11.79 -54.46, -52.29 -10.71 -54.3, -52.25 -9.632 -54.25, +-52.45 -8.552 -54.62, -52.42 -7.472 -54.54, -52.26 -6.392 -54.3, +-52.32 -5.312 -54.4, -52.24 -4.112 -54.28, -51.81 -3.747 -54.07, +-51.69 -3.747 -54.14, -51.79 -3.747 -53.98, -51.11 -3.777 -53.6, +-51 -3.777 -53.67, -51.1 -3.777 -53.51, -50.55 -3.468 -53.21, +-50.43 -3.468 -53.28, -50.53 -3.468 -53.12, -49.75 -3.657 -52.69, +-49.71 -3.657 -52.71, -49.74 -3.657 -52.66, -52.32 -11.79 -54.62, +-52.44 -11.79 -54.54, -52.23 -10.71 -54.35, -52.28 -10.71 -54.32, +-52.16 -9.632 -54.44, -52.29 -9.632 -54.36, -52.41 -8.552 -54.71, +-52.47 -8.552 -54.67, -52.3 -7.472 -54.7, -52.43 -7.472 -54.62, +-52.2 -6.392 -54.38, -52.26 -6.392 -54.34, -52.25 -5.312 -54.57, +-52.36 -5.312 -54.5, -52.25 -4.112 -54.37, -52.13 -4.112 -54.45, +-52.42 -11.79 -54.45, -52.27 -10.71 -54.28, -52.26 -9.632 -54.27, +-52.46 -8.552 -54.63, -52.41 -7.472 -54.53, -52.25 -6.392 -54.29, +-52.34 -5.312 -54.41, -52.23 -4.112 -54.28, -51.8 -3.747 -54.05, +-51.68 -3.747 -54.13, -51.78 -3.747 -53.96, -51.1 -3.777 -53.59, +-50.98 -3.777 -53.66, -51.08 -3.777 -53.5, -50.53 -3.468 -53.19, +-50.41 -3.468 -53.27, -50.51 -3.468 -53.1, -49.73 -3.657 -52.67, +-49.7 -3.657 -52.69, -49.72 -3.657 -52.65, -52.31 -11.79 -54.61, +-52.43 -11.79 -54.53, -52.22 -10.71 -54.34, -52.27 -10.71 -54.31, +-52.18 -9.632 -54.45, -52.3 -9.632 -54.37, -52.42 -8.552 -54.72, +-52.48 -8.552 -54.68, -52.28 -7.472 -54.68, -52.41 -7.472 -54.6, +-52.2 -6.392 -54.37, -52.26 -6.392 -54.34, -52.27 -5.312 -54.58, +-52.38 -5.312 -54.51, -52.24 -4.112 -54.36, -52.13 -4.112 -54.44, +-52.41 -11.79 -54.44, -52.26 -10.71 -54.27, -52.28 -9.632 -54.28, +-52.47 -8.552 -54.64, -52.39 -7.472 -54.51, -52.25 -6.392 -54.29, +-52.36 -5.312 -54.43, -52.23 -4.112 -54.27, -51.78 -3.747 -54.04, +-51.66 -3.747 -54.11, -51.76 -3.747 -53.95, -51.09 -3.777 -53.57, +-50.97 -3.777 -53.65, -51.07 -3.777 -53.48, -50.51 -3.468 -53.17, +-50.39 -3.468 -53.25, -50.49 -3.468 -53.08, -49.71 -3.657 -52.66, +-49.68 -3.657 -52.68, -49.71 -3.657 -52.63, -52.29 -11.79 -54.6, +-52.42 -11.79 -54.52, -52.21 -10.71 -54.33, -52.26 -10.71 -54.3, +-52.19 -9.632 -54.47, -52.32 -9.632 -54.39, -52.43 -8.552 -54.72, +-52.48 -8.552 -54.69, -52.26 -7.472 -54.67, -52.39 -7.472 -54.59, +-52.2 -6.392 -54.38, -52.26 -6.392 -54.34, -52.29 -5.312 -54.6, +-52.4 -5.312 -54.53, -52.23 -4.112 -54.35, -52.11 -4.112 -54.43, +-52.4 -11.79 -54.43, -52.25 -10.71 -54.26, -52.3 -9.632 -54.3, +-52.47 -8.552 -54.64, -52.37 -7.472 -54.49, -52.25 -6.392 -54.29, +-52.38 -5.312 -54.45, -52.21 -4.112 -54.26, -51.76 -3.747 -54.02, +-51.64 -3.747 -54.1, -51.74 -3.747 -53.93, -51.07 -3.777 -53.56, +-50.95 -3.777 -53.63, -51.05 -3.777 -53.47, -50.49 -3.468 -53.15, +-50.37 -3.468 -53.23, -50.47 -3.468 -53.06, -49.69 -3.657 -52.64, +-49.66 -3.657 -52.66, -49.69 -3.657 -52.62, -52.28 -11.79 -54.58, +-52.4 -11.79 -54.5, -52.2 -10.71 -54.32, -52.25 -10.71 -54.29, +-52.21 -9.632 -54.49, -52.34 -9.632 -54.41, -52.43 -8.552 -54.73, +-52.49 -8.552 -54.69, -52.24 -7.472 -54.65, -52.37 -7.472 -54.57, +-52.2 -6.392 -54.38, -52.26 -6.392 -54.34, -52.31 -5.312 -54.62, +-52.42 -5.312 -54.55, -52.22 -4.112 -54.34, -52.1 -4.112 -54.42, +-52.38 -11.79 -54.41, -52.24 -10.71 -54.25, -52.32 -9.632 -54.31, +-52.48 -8.552 -54.65, -52.35 -7.472 -54.47, -52.25 -6.392 -54.3, +-52.4 -5.312 -54.47, -52.2 -4.112 -54.25, -51.74 -3.747 -54, +-51.62 -3.747 -54.08, -51.72 -3.747 -53.91, -51.05 -3.777 -53.54, +-50.93 -3.777 -53.61, -51.03 -3.777 -53.45, -50.47 -3.468 -53.14, +-50.35 -3.468 -53.21, -50.45 -3.468 -53.05, -49.67 -3.657 -52.62, +-49.64 -3.657 -52.64, -49.67 -3.657 -52.6, -52.26 -11.79 -54.57, +-52.38 -11.79 -54.49, -52.19 -10.71 -54.32, -52.25 -10.71 -54.29, +-52.23 -9.632 -54.51, -52.36 -9.632 -54.43, -52.43 -8.552 -54.72, +-52.48 -8.552 -54.69, -52.23 -7.472 -54.63, -52.35 -7.472 -54.55, +-52.21 -6.392 -54.39, -52.27 -6.392 -54.35, -52.32 -5.312 -54.63, +-52.43 -5.312 -54.56, -52.2 -4.112 -54.32, -52.08 -4.112 -54.4, +-52.36 -11.79 -54.39, -52.24 -10.71 -54.25, -52.34 -9.632 -54.33, +-52.47 -8.552 -54.64, -52.33 -7.472 -54.46, -52.26 -6.392 -54.3, +-52.42 -5.312 -54.48, -52.18 -4.112 -54.23, -51.72 -3.747 -53.99, +-51.6 -3.747 -54.06, -51.7 -3.747 -53.9, -51.03 -3.777 -53.52, +-50.91 -3.777 -53.6, -51.01 -3.777 -53.43, -50.46 -3.468 -53.12, +-50.34 -3.468 -53.2, -50.44 -3.468 -53.03, -49.65 -3.657 -52.6, +-49.62 -3.657 -52.62, -49.65 -3.657 -52.58, -52.24 -11.79 -54.55, +-52.37 -11.79 -54.47, -52.19 -10.71 -54.32, -52.25 -10.71 -54.29, +-52.25 -9.632 -54.52, -52.38 -9.632 -54.44, -52.42 -8.552 -54.72, +-52.48 -8.552 -54.68, -52.21 -7.472 -54.62, -52.33 -7.472 -54.54, +-52.23 -6.392 -54.4, -52.29 -6.392 -54.36, -52.34 -5.312 -54.64, +-52.45 -5.312 -54.57, -52.18 -4.112 -54.31, -52.07 -4.112 -54.38, +-52.34 -11.79 -54.38, -52.24 -10.71 -54.25, -52.36 -9.632 -54.35, +-52.47 -8.552 -54.64, -52.31 -7.472 -54.44, -52.28 -6.392 -54.32, +-52.43 -5.312 -54.49, -52.16 -4.112 -54.22, -51.7 -3.747 -53.97, +-51.58 -3.747 -54.04, -51.68 -3.747 -53.88, -51.01 -3.777 -53.5, +-50.89 -3.777 -53.58, -50.99 -3.777 -53.41, -50.44 -3.468 -53.11, +-50.32 -3.468 -53.18, -50.42 -3.468 -53.02, -49.64 -3.657 -52.59, +-49.6 -3.657 -52.61, -49.63 -3.657 -52.56, -52.22 -11.79 -54.53, +-52.35 -11.79 -54.45, -52.2 -10.71 -54.32, -52.25 -10.71 -54.29, +-52.27 -9.632 -54.54, -52.4 -9.632 -54.46, -52.41 -8.552 -54.71, +-52.47 -8.552 -54.67, -52.19 -7.472 -54.6, -52.32 -7.472 -54.52, +-52.24 -6.392 -54.42, -52.3 -6.392 -54.38, -52.35 -5.312 -54.65, +-52.46 -5.312 -54.58, -52.16 -4.112 -54.29, -52.05 -4.112 -54.36, +-52.32 -11.79 -54.36, -52.24 -10.71 -54.25, -52.37 -9.632 -54.37, +-52.46 -8.552 -54.63, -52.3 -7.472 -54.43, -52.29 -6.392 -54.33, +-52.44 -5.312 -54.5, -52.15 -4.112 -54.2, -51.69 -3.747 -53.95, +-51.57 -3.747 -54.03, -51.67 -3.747 -53.86, -50.99 -3.777 -53.48, +-50.87 -3.777 -53.56, -50.97 -3.777 -53.39, -50.43 -3.468 -53.1, +-50.31 -3.468 -53.17, -50.41 -3.468 -53.01, -49.62 -3.657 -52.57, +-49.59 -3.657 -52.59, -49.62 -3.657 -52.55, -52.2 -11.79 -54.51, +-52.33 -11.79 -54.43, -52.21 -10.71 -54.33, -52.26 -10.71 -54.3, +-52.29 -9.632 -54.56, -52.41 -9.632 -54.48, -52.39 -8.552 -54.69, +-52.45 -8.552 -54.66, -52.18 -7.472 -54.59, -52.31 -7.472 -54.51, +-52.26 -6.392 -54.43, -52.32 -6.392 -54.39, -52.35 -5.312 -54.66, +-52.46 -5.312 -54.59, -52.15 -4.112 -54.27, -52.03 -4.112 -54.35, +-52.31 -11.79 -54.34, -52.25 -10.71 -54.26, -52.39 -9.632 -54.38, +-52.44 -8.552 -54.61, -52.29 -7.472 -54.42, -52.31 -6.392 -54.35, +-52.44 -5.312 -54.51, -52.13 -4.112 -54.18, -51.67 -3.747 -53.94, +-51.55 -3.747 -54.01, -51.65 -3.747 -53.85, -50.98 -3.777 -53.47, +-50.86 -3.777 -53.55, -50.96 -3.777 -53.38, -50.42 -3.468 -53.09, +-50.3 -3.468 -53.16, -50.4 -3.468 -53, -49.61 -3.657 -52.56, +-49.58 -3.657 -52.58, -49.6 -3.657 -52.53, -52.18 -11.79 -54.5, +-52.31 -11.79 -54.42, -52.22 -10.71 -54.34, -52.27 -10.71 -54.31, +-52.3 -9.632 -54.57, -52.43 -9.632 -54.49, -52.38 -8.552 -54.68, +-52.44 -8.552 -54.64, -52.17 -7.472 -54.58, -52.3 -7.472 -54.5, +-52.28 -6.392 -54.45, -52.34 -6.392 -54.41, -52.35 -5.312 -54.66, +-52.46 -5.312 -54.59, -52.13 -4.112 -54.25, -52.01 -4.112 -54.33, +-52.29 -11.79 -54.32, -52.26 -10.71 -54.27, -52.4 -9.632 -54.4, +-52.43 -8.552 -54.6, -52.28 -7.472 -54.41, -52.33 -6.392 -54.36, +-52.44 -5.312 -54.51, -52.11 -4.112 -54.16, -51.66 -3.747 -53.93, +-51.54 -3.747 -54, -51.64 -3.747 -53.84, -50.96 -3.777 -53.46, +-50.84 -3.777 -53.53, -50.94 -3.777 -53.37, -50.42 -3.468 -53.08, +-50.3 -3.468 -53.16, -50.4 -3.468 -52.99, -49.6 -3.657 -52.55, +-49.57 -3.657 -52.57, -49.59 -3.657 -52.53, -52.17 -11.79 -54.48, +-52.29 -11.79 -54.4, -52.23 -10.71 -54.36, -52.29 -10.71 -54.32, +-52.31 -9.632 -54.58, -52.44 -9.632 -54.5, -52.36 -8.552 -54.66, +-52.42 -8.552 -54.63, -52.17 -7.472 -54.58, -52.3 -7.472 -54.5, +-52.3 -6.392 -54.47, -52.36 -6.392 -54.43, -52.35 -5.312 -54.66, +-52.46 -5.312 -54.59, -52.11 -4.112 -54.24, -51.99 -4.112 -54.31, +-52.27 -11.79 -54.31, -52.28 -10.71 -54.28, -52.41 -9.632 -54.4, +-52.41 -8.552 -54.58, -52.27 -7.472 -54.41, -52.35 -6.392 -54.38, +-52.44 -5.312 -54.5, -52.09 -4.112 -54.15, -51.65 -3.747 -53.92, +-51.53 -3.747 -53.99, -51.63 -3.747 -53.83, -50.95 -3.777 -53.45, +-50.83 -3.777 -53.52, -50.93 -3.777 -53.36, -50.41 -3.468 -53.08, +-50.3 -3.468 -53.16, -50.4 -3.468 -52.99, -49.59 -3.657 -52.54, +-49.56 -3.657 -52.56, -49.59 -3.657 -52.52, -52.16 -11.79 -54.47, +-52.28 -11.79 -54.39, -52.25 -10.71 -54.37, -52.3 -10.71 -54.34, +-52.32 -9.632 -54.58, -52.44 -9.632 -54.5, -52.34 -8.552 -54.64, +-52.4 -8.552 -54.61, -52.17 -7.472 -54.58, -52.3 -7.472 -54.5, +-52.32 -6.392 -54.49, -52.38 -6.392 -54.45, -52.34 -5.312 -54.65, +-52.45 -5.312 -54.58, -52.09 -4.112 -54.22, -51.98 -4.112 -54.3, +-52.26 -11.79 -54.3, -52.29 -10.71 -54.3, -52.42 -9.632 -54.41, +-52.39 -8.552 -54.56, -52.27 -7.472 -54.41, -52.37 -6.392 -54.4, +-52.43 -5.312 -54.5, -52.08 -4.112 -54.13, -51.64 -3.747 -53.91, +-51.53 -3.747 -53.99, -51.62 -3.747 -53.82, -50.95 -3.777 -53.44, +-50.83 -3.777 -53.52, -50.93 -3.777 -53.35, -50.42 -3.468 -53.09, +-50.3 -3.468 -53.16, -50.4 -3.468 -53, -49.59 -3.657 -52.54, +-49.56 -3.657 -52.56, -49.58 -3.657 -52.52, -52.15 -11.79 -54.46, +-52.27 -11.79 -54.38, -52.27 -10.71 -54.39, -52.32 -10.71 -54.36, +-52.32 -9.632 -54.59, -52.44 -9.632 -54.51, -52.32 -8.552 -54.63, +-52.38 -8.552 -54.59, -52.17 -7.472 -54.58, -52.3 -7.472 -54.5, +-52.33 -6.392 -54.5, -52.4 -6.392 -54.46, -52.33 -5.312 -54.64, +-52.44 -5.312 -54.57, -52.08 -4.112 -54.21, -51.96 -4.112 -54.29, +-52.25 -11.79 -54.29, -52.31 -10.71 -54.32, -52.42 -9.632 -54.41, +-52.37 -8.552 -54.55, -52.28 -7.472 -54.41, -52.38 -6.392 -54.42, +-52.42 -5.312 -54.49, -52.06 -4.112 -54.12, -51.64 -3.747 -53.91, +-51.52 -3.747 -53.99, -51.62 -3.747 -53.82, -50.94 -3.777 -53.44, +-50.83 -3.777 -53.52, -50.93 -3.777 -53.35, -50.43 -3.468 -53.09, +-50.31 -3.468 -53.17, -50.41 -3.468 -53, -49.59 -3.657 -52.54, +-49.56 -3.657 -52.56, -49.58 -3.657 -52.52, -52.14 -11.79 -54.46, +-52.27 -11.79 -54.38, -52.29 -10.71 -54.41, -52.34 -10.71 -54.37, +-52.32 -9.632 -54.59, -52.44 -9.632 -54.51, -52.3 -8.552 -54.61, +-52.36 -8.552 -54.57, -52.18 -7.472 -54.59, -52.31 -7.472 -54.51, +-52.35 -6.392 -54.52, -52.41 -6.392 -54.48, -52.32 -5.312 -54.63, +-52.43 -5.312 -54.56, -52.07 -4.112 -54.2, -51.96 -4.112 -54.28, +-52.25 -11.79 -54.28, -52.33 -10.71 -54.33, -52.42 -9.632 -54.41, +-52.35 -8.552 -54.53, -52.29 -7.472 -54.42, -52.4 -6.392 -54.43, +-52.41 -5.312 -54.48, -52.05 -4.112 -54.11, -51.65 -3.747 -53.91, +-51.53 -3.747 -53.99, -51.63 -3.747 -53.82, -50.95 -3.777 -53.44, +-50.83 -3.777 -53.52, -50.93 -3.777 -53.35, -50.44 -3.468 -53.1, +-50.32 -3.468 -53.18, -50.42 -3.468 -53.01, -49.59 -3.657 -52.55, +-49.56 -3.657 -52.57, -49.59 -3.657 -52.52, -52.14 -11.79 -54.46, +-52.27 -11.79 -54.38, -52.31 -10.71 -54.43, -52.36 -10.71 -54.39, +-52.31 -9.632 -54.58, -52.44 -9.632 -54.5, -52.28 -8.552 -54.59, +-52.34 -8.552 -54.55, -52.19 -7.472 -54.6, -52.32 -7.472 -54.52, +-52.36 -6.392 -54.53, -52.42 -6.392 -54.49, -52.3 -5.312 -54.61, +-52.41 -5.312 -54.54, -52.07 -4.112 -54.2, -51.95 -4.112 -54.28, +-52.25 -11.79 -54.28, -52.35 -10.71 -54.35, -52.42 -9.632 -54.41, +-52.33 -8.552 -54.51, -52.3 -7.472 -54.43, -52.41 -6.392 -54.45, +-52.39 -5.312 -54.46, -52.05 -4.112 -54.11, -51.65 -3.747 -53.92, +-51.53 -3.747 -54, -51.63 -3.747 -53.83, -50.95 -3.777 -53.45, +-50.83 -3.777 -53.52, -50.93 -3.777 -53.36, -50.45 -3.468 -53.12, +-50.33 -3.468 -53.19, -50.43 -3.468 -53.03, -49.6 -3.657 -52.56, +-49.57 -3.657 -52.58, -49.6 -3.657 -52.53, -52.15 -11.79 -54.46, +-52.27 -11.79 -54.38, -52.33 -10.71 -54.44, -52.38 -10.71 -54.41, +-52.3 -9.632 -54.57, -52.43 -9.632 -54.49, -52.27 -8.552 -54.58, +-52.33 -8.552 -54.54, -52.21 -7.472 -54.62, -52.33 -7.472 -54.54, +-52.37 -6.392 -54.54, -52.44 -6.392 -54.5, -52.29 -5.312 -54.6, +-52.4 -5.312 -54.53, -52.07 -4.112 -54.2, -51.95 -4.112 -54.28, +-52.25 -11.79 -54.29, -52.37 -10.71 -54.37, -52.41 -9.632 -54.4, +-52.32 -8.552 -54.5, -52.31 -7.472 -54.44, -52.42 -6.392 -54.45, +-52.38 -5.312 -54.44, -52.05 -4.112 -54.11, -51.66 -3.747 -53.93, +-51.54 -3.747 -54.01, -51.64 -3.747 -53.84, -50.96 -3.777 -53.46, +-50.84 -3.777 -53.53, -50.94 -3.777 -53.37, -50.47 -3.468 -53.13, +-50.35 -3.468 -53.21, -50.45 -3.468 -53.04, -49.62 -3.657 -52.57, +-49.59 -3.657 -52.59, -49.61 -3.657 -52.54, -52.15 -11.79 -54.47, +-52.28 -11.79 -54.39, -52.34 -10.71 -54.46, -52.4 -10.71 -54.42, +-52.29 -9.632 -54.56, -52.41 -9.632 -54.48, -52.26 -8.552 -54.57, +-52.31 -8.552 -54.53, -52.23 -7.472 -54.63, -52.35 -7.472 -54.55, +-52.38 -6.392 -54.55, -52.44 -6.392 -54.51, -52.27 -5.312 -54.58, +-52.38 -5.312 -54.51, -52.07 -4.112 -54.2, -51.95 -4.112 -54.28, +-52.26 -11.79 -54.29, -52.39 -10.71 -54.39, -52.39 -9.632 -54.39, +-52.3 -8.552 -54.49, -52.33 -7.472 -54.46, -52.43 -6.392 -54.46, +-52.36 -5.312 -54.43, -52.05 -4.112 -54.11, -51.68 -3.747 -53.94, +-51.56 -3.747 -54.02, -51.66 -3.747 -53.85, -50.98 -3.777 -53.47, +-50.86 -3.777 -53.54, -50.96 -3.777 -53.38, -50.49 -3.468 -53.15, +-50.37 -3.468 -53.22, -50.47 -3.468 -53.06, -49.63 -3.657 -52.58, +-49.6 -3.657 -52.6, -49.63 -3.657 -52.56, -52.16 -11.79 -54.48, +-52.29 -11.79 -54.4, -52.36 -10.71 -54.47, -52.41 -10.71 -54.44, +-52.27 -9.632 -54.54, -52.4 -9.632 -54.47, -52.25 -8.552 -54.56, +-52.31 -8.552 -54.52, -52.24 -7.472 -54.65, -52.37 -7.472 -54.57, +-52.38 -6.392 -54.55, -52.44 -6.392 -54.51, -52.25 -5.312 -54.56, +-52.36 -5.312 -54.49, -52.08 -4.112 -54.21, -51.96 -4.112 -54.29, +-52.27 -11.79 -54.3, -52.4 -10.71 -54.4, -52.38 -9.632 -54.37, +-52.3 -8.552 -54.48, -52.35 -7.472 -54.48, -52.43 -6.392 -54.46, +-52.34 -5.312 -54.41, -52.06 -4.112 -54.12, -51.69 -3.747 -53.96, +-51.57 -3.747 -54.03, -51.67 -3.747 -53.87, -50.99 -3.777 -53.48, +-50.87 -3.777 -53.56, -50.97 -3.777 -53.39, -50.5 -3.468 -53.17, +-50.39 -3.468 -53.24, -50.49 -3.468 -53.08, -49.65 -3.657 -52.6, +-49.62 -3.657 -52.62, -49.64 -3.657 -52.58, -52.18 -11.79 -54.49, +-52.3 -11.79 -54.41, -52.37 -10.71 -54.48, -52.42 -10.71 -54.45, +-52.26 -9.632 -54.53, -52.38 -9.632 -54.45, -52.24 -8.552 -54.55, +-52.3 -8.552 -54.52, -52.26 -7.472 -54.67, -52.39 -7.472 -54.59, +-52.38 -6.392 -54.55, -52.44 -6.392 -54.51, -52.23 -5.312 -54.54, +-52.34 -5.312 -54.47, -52.09 -4.112 -54.22, -51.97 -4.112 -54.3, +-52.28 -11.79 -54.32, -52.41 -10.71 -54.41, -52.36 -9.632 -54.35, +-52.29 -8.552 -54.47, -52.37 -7.472 -54.49, -52.43 -6.392 -54.46, +-52.32 -5.312 -54.39, -52.07 -4.112 -54.13, -51.71 -3.747 -53.97, +-51.59 -3.747 -54.05, -51.69 -3.747 -53.88, -51.01 -3.777 -53.5, +-50.89 -3.777 -53.58, -50.99 -3.777 -53.41, -50.52 -3.468 -53.18, +-50.41 -3.468 -53.26, -50.5 -3.468 -53.1, -49.67 -3.657 -52.62, +-49.64 -3.657 -52.64, -49.66 -3.657 -52.59, -52.19 -11.79 -54.51, +-52.32 -11.79 -54.43, -52.38 -10.71 -54.49, -52.43 -10.71 -54.46, +-52.24 -9.632 -54.51, -52.36 -9.632 -54.43, -52.24 -8.552 -54.55, +-52.3 -8.552 -54.51, -52.28 -7.472 -54.69, -52.41 -7.472 -54.61, +-52.38 -6.392 -54.54, -52.44 -6.392 -54.5, -52.21 -5.312 -54.53, +-52.32 -5.312 -54.46, -52.11 -4.112 -54.23, -51.99 -4.112 -54.31, +-52.3 -11.79 -54.33, -52.42 -10.71 -54.42, -52.34 -9.632 -54.34, +-52.29 -8.552 -54.47, -52.39 -7.472 -54.51, -52.43 -6.392 -54.46, +-52.3 -5.312 -54.37, -52.09 -4.112 -54.14, -51.73 -3.747 -53.99, +-51.61 -3.747 -54.07, -51.71 -3.747 -53.9, -51.03 -3.777 -53.52, +-50.91 -3.777 -53.59, -51.01 -3.777 -53.43, -50.54 -3.468 -53.2, +-50.42 -3.468 -53.28, -50.52 -3.468 -53.11, -49.69 -3.657 -52.63, +-49.66 -3.657 -52.66, -49.68 -3.657 -52.61, -52.21 -11.79 -54.52, +-52.34 -11.79 -54.44, -52.38 -10.71 -54.49, -52.43 -10.71 -54.46, +-52.22 -9.632 -54.49, -52.34 -9.632 -54.41, -52.24 -8.552 -54.55, +-52.3 -8.552 -54.52, -52.3 -7.472 -54.7, -52.43 -7.472 -54.62, +-52.37 -6.392 -54.53, -52.43 -6.392 -54.49, -52.2 -5.312 -54.51, +-52.31 -5.312 -54.44, -52.12 -4.112 -54.25, -52 -4.112 -54.32, +-52.32 -11.79 -54.35, -52.42 -10.71 -54.42, -52.32 -9.632 -54.32, +-52.29 -8.552 -54.47, -52.41 -7.472 -54.53, -52.42 -6.392 -54.45, +-52.29 -5.312 -54.36, -52.1 -4.112 -54.16, -51.75 -3.747 -54.01, +-51.63 -3.747 -54.09, -51.73 -3.747 -53.92, -51.05 -3.777 -53.54, +-50.93 -3.777 -53.61, -51.03 -3.777 -53.45, -50.56 -3.468 -53.22, +-50.44 -3.468 -53.29, -50.54 -3.468 -53.13, -49.71 -3.657 -52.65, +-49.68 -3.657 -52.67, -49.7 -3.657 -52.63, ] +} +] +}, +DEF Plane38 Transform { +translation 52.22 5.921 54.75 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane38-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane38-COORD Coordinate { +point [ -52.04 -11.8 -54.64 -52.03 -11.8 -54.5 -51.94 -10.74 -54.68 -51.93 +-10.74 -54.62 -51.77 -9.662 -54.72 -51.76 -9.658 -54.58 -51.74 -8.568 -54.65 +-51.73 -8.567 -54.58 -51.73 -7.499 -54.87 -51.72 -7.496 -54.73 -51.49 -6.442 +-54.84 -51.48 -6.44 -54.76 -51.31 -5.363 -54.82 -51.29 -5.36 -54.69 -50.88 +-4.204 -54.82 -50.89 -4.207 -54.96 -51.93 -11.81 -54.47 -51.89 -10.74 -54.61 +-51.67 -9.668 -54.55 -51.69 -8.571 -54.57 -51.62 -7.506 -54.7 -51.43 -6.445 +-54.75 -51.21 -5.368 -54.67 -50.79 -4.213 -54.79 -50.43 -3.901 -55.12 -50.45 +-3.904 -55.26 -50.34 -3.91 -55.09 -49.68 -4.028 -55.5 -49.7 -4.031 -55.64 +-49.59 -4.037 -55.47 -49.13 -3.794 -55.84 -49.14 -3.798 -55.98 -49.04 -3.804 +-55.82 -48.25 -4.096 -56.28 -48.25 -4.097 -56.32 -48.22 -4.099 -56.27 ] +} +texCoord DEF Plane38-TEXCOORD +TextureCoordinate { point [ 0 0 1 0 0 1 1 1 ] } coordIndex [ 2 0 3 -1 1 3 0 +-1 4 2 5 -1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 10 8 11 -1 9 11 8 +-1 12 10 13 -1 11 13 10 -1 14 15 12 -1 12 13 14 -1 3 1 17 -1 16 17 1 -1 5 3 +18 -1 17 18 3 -1 7 5 19 -1 18 19 5 -1 9 7 20 -1 19 20 7 -1 11 9 21 -1 20 21 +9 -1 13 11 22 -1 21 22 11 -1 23 14 13 -1 13 22 23 -1 24 25 15 -1 15 14 24 +-1 26 24 14 -1 14 23 26 -1 27 28 25 -1 25 24 27 -1 29 27 24 -1 24 26 29 -1 30 +31 28 -1 28 27 30 -1 32 30 27 -1 27 29 32 -1 33 34 31 -1 31 30 33 -1 35 33 30 +-1 30 32 35 -1 ] texCoordIndex +[ 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 +0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 3 2 0 -1 0 1 3 -1 2 0 3 -1 1 3 0 -1 2 0 3 +-1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 +3 0 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 +-1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 +2 0 -1 0 1 3 -1 ] +} +} +DEF Plane38-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, +0.2667, 0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, +0.5333, 0.5667, 0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, +0.8, 0.8333, 0.8667, 0.9, 0.9333, 0.9667, 1, ] +keyValue [-52.04 -11.8 -54.64, +-52.03 -11.8 -54.5, -51.94 -10.74 -54.68, -51.93 -10.74 -54.62, +-51.77 -9.662 -54.72, -51.76 -9.658 -54.58, -51.74 -8.568 -54.65, +-51.73 -8.567 -54.58, -51.73 -7.499 -54.87, -51.72 -7.496 -54.73, +-51.49 -6.442 -54.84, -51.48 -6.44 -54.76, -51.31 -5.363 -54.82, +-51.29 -5.36 -54.69, -50.88 -4.204 -54.82, -50.89 -4.207 -54.96, +-51.93 -11.81 -54.47, -51.89 -10.74 -54.61, -51.67 -9.668 -54.55, +-51.69 -8.571 -54.57, -51.62 -7.506 -54.7, -51.43 -6.445 -54.75, +-51.21 -5.368 -54.67, -50.79 -4.213 -54.79, -50.43 -3.901 -55.12, +-50.45 -3.904 -55.26, -50.34 -3.91 -55.09, -49.68 -4.028 -55.5, +-49.7 -4.031 -55.64, -49.59 -4.037 -55.47, -49.13 -3.794 -55.84, +-49.14 -3.798 -55.98, -49.04 -3.804 -55.82, -48.25 -4.096 -56.28, +-48.25 -4.097 -56.32, -48.22 -4.099 -56.27, -52.06 -11.8 -54.66, +-52.05 -11.8 -54.51, -51.94 -10.74 -54.68, -51.93 -10.74 -54.62, +-51.75 -9.662 -54.71, -51.74 -9.658 -54.56, -51.74 -8.568 -54.65, +-51.74 -8.567 -54.58, -51.75 -7.499 -54.89, -51.74 -7.496 -54.74, +-51.47 -6.442 -54.83, -51.47 -6.44 -54.75, -51.29 -5.363 -54.81, +-51.28 -5.36 -54.68, -50.9 -4.204 -54.84, -50.91 -4.207 -54.98, +-51.95 -11.81 -54.49, -51.89 -10.74 -54.61, -51.65 -9.668 -54.53, +-51.69 -8.571 -54.57, -51.64 -7.506 -54.72, -51.42 -6.445 -54.74, +-51.2 -5.368 -54.66, -50.81 -4.213 -54.81, -50.45 -3.901 -55.13, +-50.46 -3.904 -55.27, -50.36 -3.91 -55.11, -49.7 -4.028 -55.52, +-49.72 -4.031 -55.66, -49.61 -4.037 -55.49, -49.14 -3.794 -55.86, +-49.16 -3.798 -56, -49.06 -3.804 -55.84, -48.27 -4.096 -56.3, +-48.27 -4.097 -56.33, -48.24 -4.099 -56.29, -52.08 -11.8 -54.68, +-52.07 -11.8 -54.53, -51.93 -10.74 -54.68, -51.93 -10.74 -54.61, +-51.74 -9.662 -54.69, -51.72 -9.658 -54.54, -51.75 -8.568 -54.66, +-51.75 -8.567 -54.59, -51.76 -7.499 -54.9, -51.75 -7.496 -54.76, +-51.46 -6.442 -54.81, -51.45 -6.44 -54.74, -51.28 -5.363 -54.8, +-51.27 -5.36 -54.67, -50.92 -4.204 -54.85, -50.93 -4.207 -54.99, +-51.97 -11.81 -54.51, -51.89 -10.74 -54.6, -51.63 -9.668 -54.52, +-51.7 -8.571 -54.58, -51.66 -7.506 -54.73, -51.41 -6.445 -54.73, +-51.19 -5.368 -54.65, -50.83 -4.213 -54.83, -50.47 -3.901 -55.15, +-50.48 -3.904 -55.29, -50.38 -3.91 -55.13, -49.72 -4.028 -55.53, +-49.74 -4.031 -55.67, -49.63 -4.037 -55.51, -49.16 -3.794 -55.88, +-49.18 -3.798 -56.02, -49.07 -3.804 -55.85, -48.29 -4.096 -56.31, +-48.29 -4.097 -56.35, -48.26 -4.099 -56.31, -52.1 -11.8 -54.7, +-52.09 -11.8 -54.55, -51.93 -10.74 -54.67, -51.92 -10.74 -54.61, +-51.72 -9.662 -54.67, -51.7 -9.658 -54.53, -51.76 -8.568 -54.67, +-51.76 -8.567 -54.6, -51.78 -7.499 -54.92, -51.76 -7.496 -54.77, +-51.44 -6.442 -54.8, -51.44 -6.44 -54.72, -51.28 -5.363 -54.79, +-51.26 -5.36 -54.66, -50.94 -4.204 -54.87, -50.95 -4.207 -55.01, +-51.99 -11.81 -54.52, -51.88 -10.74 -54.6, -51.61 -9.668 -54.5, +-51.72 -8.571 -54.59, -51.67 -7.506 -54.74, -51.39 -6.445 -54.71, +-51.18 -5.368 -54.64, -50.85 -4.213 -54.85, -50.49 -3.901 -55.17, +-50.5 -3.904 -55.31, -50.4 -3.91 -55.14, -49.74 -4.028 -55.55, +-49.75 -4.031 -55.69, -49.65 -4.037 -55.53, -49.18 -3.794 -55.89, +-49.19 -3.798 -56.04, -49.09 -3.804 -55.87, -48.3 -4.096 -56.33, +-48.31 -4.097 -56.37, -48.28 -4.099 -56.33, -52.12 -11.8 -54.71, +-52.1 -11.8 -54.57, -51.92 -10.74 -54.66, -51.91 -10.74 -54.6, +-51.7 -9.662 -54.66, -51.69 -9.658 -54.51, -51.78 -8.568 -54.69, +-51.77 -8.567 -54.62, -51.78 -7.499 -54.92, -51.77 -7.496 -54.78, +-51.42 -6.442 -54.78, -51.42 -6.44 -54.71, -51.27 -5.363 -54.79, +-51.26 -5.36 -54.66, -50.96 -4.204 -54.89, -50.97 -4.207 -55.03, +-52.01 -11.81 -54.54, -51.87 -10.74 -54.59, -51.6 -9.668 -54.49, +-51.73 -8.571 -54.61, -51.68 -7.506 -54.75, -51.37 -6.445 -54.7, +-51.18 -5.368 -54.64, -50.87 -4.213 -54.86, -50.5 -3.901 -55.18, +-50.52 -3.904 -55.32, -50.42 -3.91 -55.16, -49.76 -4.028 -55.57, +-49.77 -4.031 -55.71, -49.67 -4.037 -55.54, -49.19 -3.794 -55.91, +-49.21 -3.798 -56.05, -49.1 -3.804 -55.88, -48.32 -4.096 -56.35, +-48.33 -4.097 -56.39, -48.3 -4.099 -56.34, -52.13 -11.8 -54.73, +-52.12 -11.8 -54.58, -51.9 -10.74 -54.65, -51.9 -10.74 -54.58, +-51.69 -9.662 -54.65, -51.68 -9.658 -54.5, -51.8 -8.568 -54.71, +-51.79 -8.567 -54.64, -51.79 -7.499 -54.93, -51.78 -7.496 -54.78, +-51.41 -6.442 -54.76, -51.4 -6.44 -54.69, -51.27 -5.363 -54.79, +-51.26 -5.36 -54.66, -50.97 -4.204 -54.91, -50.99 -4.207 -55.05, +-52.02 -11.81 -54.55, -51.86 -10.74 -54.57, -51.59 -9.668 -54.48, +-51.75 -8.571 -54.62, -51.68 -7.506 -54.76, -51.35 -6.445 -54.68, +-51.18 -5.368 -54.64, -50.88 -4.213 -54.88, -50.52 -3.901 -55.2, +-50.53 -3.904 -55.34, -50.43 -3.91 -55.17, -49.78 -4.028 -55.58, +-49.79 -4.031 -55.72, -49.69 -4.037 -55.56, -49.2 -3.794 -55.92, +-49.22 -3.798 -56.06, -49.11 -3.804 -55.89, -48.34 -4.096 -56.37, +-48.34 -4.097 -56.4, -48.32 -4.099 -56.36, -52.14 -11.8 -54.74, +-52.13 -11.8 -54.59, -51.88 -10.74 -54.63, -51.88 -10.74 -54.57, +-51.69 -9.662 -54.64, -51.67 -9.658 -54.5, -51.82 -8.568 -54.72, +-51.81 -8.567 -54.65, -51.79 -7.499 -54.93, -51.78 -7.496 -54.78, +-51.39 -6.442 -54.74, -51.38 -6.44 -54.67, -51.28 -5.363 -54.79, +-51.27 -5.36 -54.66, -50.99 -4.204 -54.92, -51 -4.207 -55.06, +-52.04 -11.81 -54.57, -51.84 -10.74 -54.56, -51.58 -9.668 -54.47, +-51.77 -8.571 -54.64, -51.68 -7.506 -54.76, -51.33 -6.445 -54.66, +-51.19 -5.368 -54.64, -50.9 -4.213 -54.9, -50.53 -3.901 -55.2, +-50.54 -3.904 -55.34, -50.44 -3.91 -55.18, -49.79 -4.028 -55.59, +-49.8 -4.031 -55.74, -49.7 -4.037 -55.57, -49.21 -3.794 -55.92, +-49.22 -3.798 -56.06, -49.12 -3.804 -55.9, -48.36 -4.096 -56.38, +-48.36 -4.097 -56.42, -48.33 -4.099 -56.37, -52.15 -11.8 -54.75, +-52.14 -11.8 -54.6, -51.87 -10.74 -54.61, -51.86 -10.74 -54.55, +-51.68 -9.662 -54.64, -51.67 -9.658 -54.49, -51.84 -8.568 -54.74, +-51.83 -8.567 -54.67, -51.79 -7.499 -54.93, -51.77 -7.496 -54.78, +-51.37 -6.442 -54.73, -51.36 -6.44 -54.65, -51.29 -5.363 -54.8, +-51.28 -5.36 -54.67, -51 -4.204 -54.93, -51.02 -4.207 -55.07, +-52.05 -11.81 -54.58, -51.82 -10.74 -54.54, -51.58 -9.668 -54.47, +-51.79 -8.571 -54.66, -51.68 -7.506 -54.75, -51.32 -6.445 -54.64, +-51.19 -5.368 -54.65, -50.92 -4.213 -54.91, -50.53 -3.901 -55.21, +-50.55 -3.904 -55.35, -50.45 -3.91 -55.19, -49.8 -4.028 -55.6, +-49.81 -4.031 -55.74, -49.71 -4.037 -55.58, -49.21 -3.794 -55.93, +-49.23 -3.798 -56.07, -49.12 -3.804 -55.9, -48.37 -4.096 -56.39, +-48.37 -4.097 -56.43, -48.34 -4.099 -56.38, -52.16 -11.8 -54.75, +-52.14 -11.8 -54.6, -51.85 -10.74 -54.6, -51.84 -10.74 -54.53, +-51.68 -9.662 -54.64, -51.67 -9.658 -54.49, -51.86 -8.568 -54.76, +-51.85 -8.567 -54.69, -51.78 -7.499 -54.92, -51.77 -7.496 -54.77, +-51.35 -6.442 -54.71, -51.34 -6.44 -54.64, -51.3 -5.363 -54.81, +-51.29 -5.36 -54.68, -51.02 -4.204 -54.94, -51.03 -4.207 -55.08, +-52.05 -11.81 -54.58, -51.8 -10.74 -54.52, -51.58 -9.668 -54.47, +-51.81 -8.571 -54.68, -51.67 -7.506 -54.75, -51.3 -6.445 -54.63, +-51.21 -5.368 -54.66, -50.93 -4.213 -54.92, -50.54 -3.901 -55.21, +-50.55 -3.904 -55.35, -50.45 -3.91 -55.19, -49.8 -4.028 -55.61, +-49.82 -4.031 -55.75, -49.72 -4.037 -55.58, -49.21 -3.794 -55.92, +-49.22 -3.798 -56.07, -49.12 -3.804 -55.9, -48.37 -4.096 -56.4, +-48.38 -4.097 -56.44, -48.35 -4.099 -56.39, -52.16 -11.8 -54.75, +-52.15 -11.8 -54.61, -51.83 -10.74 -54.58, -51.82 -10.74 -54.51, +-51.69 -9.662 -54.65, -51.68 -9.658 -54.5, -51.87 -8.568 -54.78, +-51.87 -8.567 -54.71, -51.77 -7.499 -54.91, -51.75 -7.496 -54.76, +-51.34 -6.442 -54.7, -51.33 -6.44 -54.62, -51.31 -5.363 -54.83, +-51.3 -5.36 -54.7, -51.02 -4.204 -54.95, -51.04 -4.207 -55.09, +-52.05 -11.81 -54.58, -51.78 -10.74 -54.51, -51.58 -9.668 -54.47, +-51.82 -8.571 -54.7, -51.66 -7.506 -54.74, -51.28 -6.445 -54.61, +-51.22 -5.368 -54.67, -50.93 -4.213 -54.93, -50.53 -3.901 -55.21, +-50.55 -3.904 -55.35, -50.45 -3.91 -55.19, -49.81 -4.028 -55.61, +-49.82 -4.031 -55.75, -49.72 -4.037 -55.59, -49.21 -3.794 -55.92, +-49.22 -3.798 -56.06, -49.12 -3.804 -55.9, -48.38 -4.096 -56.4, +-48.38 -4.097 -56.44, -48.36 -4.099 -56.4, -52.16 -11.8 -54.75, +-52.14 -11.8 -54.6, -51.81 -10.74 -54.56, -51.8 -10.74 -54.5, +-51.7 -9.662 -54.65, -51.68 -9.658 -54.51, -51.89 -8.568 -54.79, +-51.88 -8.567 -54.72, -51.75 -7.499 -54.9, -51.74 -7.496 -54.75, +-51.32 -6.442 -54.69, -51.32 -6.44 -54.61, -51.33 -5.363 -54.84, +-51.32 -5.36 -54.71, -51.03 -4.204 -54.95, -51.04 -4.207 -55.1, +-52.05 -11.81 -54.58, -51.76 -10.74 -54.49, -51.59 -9.668 -54.48, +-51.84 -8.571 -54.71, -51.65 -7.506 -54.72, -51.27 -6.445 -54.6, +-51.24 -5.368 -54.69, -50.94 -4.213 -54.93, -50.53 -3.901 -55.2, +-50.54 -3.904 -55.34, -50.44 -3.91 -55.18, -49.8 -4.028 -55.61, +-49.82 -4.031 -55.75, -49.72 -4.037 -55.59, -49.2 -3.794 -55.91, +-49.21 -3.798 -56.05, -49.11 -3.804 -55.89, -48.38 -4.096 -56.4, +-48.38 -4.097 -56.44, -48.36 -4.099 -56.4, -52.15 -11.8 -54.75, +-52.14 -11.8 -54.6, -51.79 -10.74 -54.54, -51.79 -10.74 -54.48, +-51.71 -9.662 -54.66, -51.7 -9.658 -54.52, -51.9 -8.568 -54.8, +-51.9 -8.567 -54.73, -51.74 -7.499 -54.88, -51.72 -7.496 -54.73, +-51.32 -6.442 -54.68, -51.31 -6.44 -54.61, -51.35 -5.363 -54.86, +-51.34 -5.36 -54.73, -51.03 -4.204 -54.95, -51.04 -4.207 -55.09, +-52.04 -11.81 -54.57, -51.75 -10.74 -54.47, -51.6 -9.668 -54.49, +-51.85 -8.571 -54.72, -51.63 -7.506 -54.71, -51.26 -6.445 -54.59, +-51.26 -5.368 -54.71, -50.94 -4.213 -54.93, -50.52 -3.901 -55.2, +-50.53 -3.904 -55.34, -50.43 -3.91 -55.17, -49.8 -4.028 -55.6, +-49.81 -4.031 -55.74, -49.71 -4.037 -55.58, -49.18 -3.794 -55.9, +-49.2 -3.798 -56.04, -49.1 -3.804 -55.88, -48.37 -4.096 -56.4, +-48.38 -4.097 -56.44, -48.35 -4.099 -56.39, -52.14 -11.8 -54.74, +-52.13 -11.8 -54.59, -51.78 -10.74 -54.53, -51.77 -10.74 -54.47, +-51.72 -9.662 -54.68, -51.71 -9.658 -54.53, -51.91 -8.568 -54.81, +-51.91 -8.567 -54.74, -51.72 -7.499 -54.86, -51.71 -7.496 -54.72, +-51.31 -6.442 -54.67, -51.31 -6.44 -54.6, -51.37 -5.363 -54.88, +-51.36 -5.36 -54.75, -51.02 -4.204 -54.95, -51.03 -4.207 -55.09, +-52.03 -11.81 -54.56, -51.73 -10.74 -54.46, -51.62 -9.668 -54.51, +-51.86 -8.571 -54.73, -51.61 -7.506 -54.69, -51.26 -6.445 -54.59, +-51.28 -5.368 -54.73, -50.93 -4.213 -54.93, -50.5 -3.901 -55.18, +-50.52 -3.904 -55.32, -50.42 -3.91 -55.16, -49.79 -4.028 -55.59, +-49.8 -4.031 -55.74, -49.7 -4.037 -55.57, -49.17 -3.794 -55.89, +-49.18 -3.798 -56.03, -49.08 -3.804 -55.86, -48.37 -4.096 -56.39, +-48.37 -4.097 -56.43, -48.34 -4.099 -56.38, -52.13 -11.8 -54.72, +-52.11 -11.8 -54.57, -51.76 -10.74 -54.52, -51.76 -10.74 -54.46, +-51.74 -9.662 -54.69, -51.73 -9.658 -54.55, -51.92 -8.568 -54.82, +-51.91 -8.567 -54.75, -51.7 -7.499 -54.85, -51.69 -7.496 -54.7, +-51.31 -6.442 -54.67, -51.3 -6.44 -54.6, -51.39 -5.363 -54.9, +-51.38 -5.36 -54.77, -51.01 -4.204 -54.94, -51.03 -4.207 -55.08, +-52.02 -11.81 -54.55, -51.72 -10.74 -54.45, -51.63 -9.668 -54.52, +-51.87 -8.571 -54.74, -51.59 -7.506 -54.67, -51.26 -6.445 -54.59, +-51.3 -5.368 -54.74, -50.92 -4.213 -54.92, -50.49 -3.901 -55.17, +-50.5 -3.904 -55.31, -50.4 -3.91 -55.15, -49.77 -4.028 -55.58, +-49.79 -4.031 -55.72, -49.69 -4.037 -55.56, -49.15 -3.794 -55.87, +-49.17 -3.798 -56.01, -49.06 -3.804 -55.85, -48.36 -4.096 -56.38, +-48.36 -4.097 -56.42, -48.33 -4.099 -56.37, -52.11 -11.8 -54.71, +-52.1 -11.8 -54.56, -51.76 -10.74 -54.51, -51.75 -10.74 -54.45, +-51.76 -9.662 -54.71, -51.75 -9.658 -54.56, -51.92 -8.568 -54.82, +-51.91 -8.567 -54.75, -51.68 -7.499 -54.83, -51.67 -7.496 -54.68, +-51.32 -6.442 -54.68, -51.31 -6.44 -54.6, -51.41 -5.363 -54.91, +-51.4 -5.36 -54.78, -51 -4.204 -54.93, -51.01 -4.207 -55.07, +-52 -11.81 -54.54, -51.71 -10.74 -54.44, -51.65 -9.668 -54.54, +-51.87 -8.571 -54.74, -51.58 -7.506 -54.66, -51.26 -6.445 -54.59, +-51.31 -5.368 -54.76, -50.91 -4.213 -54.91, -50.47 -3.901 -55.15, +-50.48 -3.904 -55.29, -50.38 -3.91 -55.13, -49.76 -4.028 -55.57, +-49.77 -4.031 -55.71, -49.67 -4.037 -55.54, -49.13 -3.794 -55.85, +-49.15 -3.798 -55.99, -49.05 -3.804 -55.83, -48.34 -4.096 -56.37, +-48.34 -4.097 -56.4, -48.32 -4.099 -56.36, -52.09 -11.8 -54.69, +-52.08 -11.8 -54.54, -51.75 -10.74 -54.51, -51.75 -10.74 -54.44, +-51.78 -9.662 -54.73, -51.77 -9.658 -54.58, -51.92 -8.568 -54.82, +-51.91 -8.567 -54.75, -51.66 -7.499 -54.81, -51.65 -7.496 -54.66, +-51.32 -6.442 -54.68, -51.32 -6.44 -54.61, -51.42 -5.363 -54.93, +-51.41 -5.36 -54.8, -50.98 -4.204 -54.92, -51 -4.207 -55.06, +-51.99 -11.81 -54.52, -51.71 -10.74 -54.43, -51.67 -9.668 -54.56, +-51.87 -8.571 -54.74, -51.56 -7.506 -54.64, -51.27 -6.445 -54.6, +-51.33 -5.368 -54.78, -50.9 -4.213 -54.89, -50.45 -3.901 -55.13, +-50.47 -3.904 -55.27, -50.37 -3.91 -55.11, -49.74 -4.028 -55.55, +-49.75 -4.031 -55.69, -49.65 -4.037 -55.53, -49.11 -3.794 -55.83, +-49.13 -3.798 -55.97, -49.03 -3.804 -55.81, -48.32 -4.096 -56.35, +-48.33 -4.097 -56.39, -48.3 -4.099 -56.34, -52.07 -11.8 -54.67, +-52.06 -11.8 -54.52, -51.75 -10.74 -54.51, -51.75 -10.74 -54.44, +-51.8 -9.662 -54.75, -51.79 -9.658 -54.6, -51.91 -8.568 -54.81, +-51.9 -8.567 -54.74, -51.64 -7.499 -54.79, -51.63 -7.496 -54.65, +-51.33 -6.442 -54.69, -51.33 -6.44 -54.62, -51.44 -5.363 -54.94, +-51.43 -5.36 -54.81, -50.97 -4.204 -54.9, -50.98 -4.207 -55.04, +-51.97 -11.81 -54.5, -51.71 -10.74 -54.43, -51.69 -9.668 -54.58, +-51.86 -8.571 -54.73, -51.54 -7.506 -54.62, -51.28 -6.445 -54.61, +-51.34 -5.368 -54.79, -50.88 -4.213 -54.88, -50.43 -3.901 -55.12, +-50.45 -3.904 -55.26, -50.35 -3.91 -55.09, -49.72 -4.028 -55.53, +-49.74 -4.031 -55.67, -49.64 -4.037 -55.51, -49.09 -3.794 -55.82, +-49.11 -3.798 -55.96, -49.01 -3.804 -55.79, -48.31 -4.096 -56.33, +-48.31 -4.097 -56.37, -48.28 -4.099 -56.33, -52.05 -11.8 -54.65, +-52.04 -11.8 -54.51, -51.75 -10.74 -54.51, -51.75 -10.74 -54.45, +-51.82 -9.662 -54.77, -51.8 -9.658 -54.62, -51.9 -8.568 -54.8, +-51.89 -8.567 -54.73, -51.63 -7.499 -54.78, -51.62 -7.496 -54.63, +-51.35 -6.442 -54.71, -51.34 -6.44 -54.64, -51.45 -5.363 -54.95, +-51.44 -5.36 -54.82, -50.95 -4.204 -54.88, -50.96 -4.207 -55.02, +-51.95 -11.81 -54.48, -51.71 -10.74 -54.44, -51.71 -9.668 -54.59, +-51.85 -8.571 -54.72, -51.52 -7.506 -54.61, -51.3 -6.445 -54.62, +-51.36 -5.368 -54.8, -50.86 -4.213 -54.86, -50.41 -3.901 -55.1, +-50.43 -3.904 -55.24, -50.33 -3.91 -55.07, -49.7 -4.028 -55.51, +-49.72 -4.031 -55.66, -49.62 -4.037 -55.49, -49.08 -3.794 -55.8, +-49.09 -3.798 -55.94, -48.99 -3.804 -55.78, -48.29 -4.096 -56.31, +-48.29 -4.097 -56.35, -48.26 -4.099 -56.31, -52.03 -11.8 -54.64, +-52.02 -11.8 -54.49, -51.76 -10.74 -54.52, -51.76 -10.74 -54.45, +-51.83 -9.662 -54.78, -51.82 -9.658 -54.63, -51.89 -8.568 -54.79, +-51.88 -8.567 -54.72, -51.62 -7.499 -54.77, -51.6 -7.496 -54.62, +-51.37 -6.442 -54.72, -51.36 -6.44 -54.65, -51.46 -5.363 -54.96, +-51.44 -5.36 -54.83, -50.93 -4.204 -54.86, -50.94 -4.207 -55.01, +-51.93 -11.81 -54.47, -51.72 -10.74 -54.44, -51.73 -9.668 -54.61, +-51.84 -8.571 -54.71, -51.51 -7.506 -54.6, -51.31 -6.445 -54.64, +-51.36 -5.368 -54.81, -50.84 -4.213 -54.84, -50.4 -3.901 -55.08, +-50.41 -3.904 -55.22, -50.31 -3.91 -55.06, -49.68 -4.028 -55.5, +-49.7 -4.031 -55.64, -49.6 -4.037 -55.47, -49.06 -3.794 -55.78, +-49.07 -3.798 -55.92, -48.97 -3.804 -55.76, -48.27 -4.096 -56.3, +-48.27 -4.097 -56.33, -48.24 -4.099 -56.29, -52.02 -11.8 -54.62, +-52 -11.8 -54.47, -51.77 -10.74 -54.53, -51.77 -10.74 -54.47, +-51.85 -9.662 -54.79, -51.83 -9.658 -54.65, -51.87 -8.568 -54.77, +-51.87 -8.567 -54.7, -51.61 -7.499 -54.76, -51.59 -7.496 -54.61, +-51.38 -6.442 -54.74, -51.38 -6.44 -54.67, -51.46 -5.363 -54.96, +-51.45 -5.36 -54.83, -50.91 -4.204 -54.85, -50.92 -4.207 -54.99, +-51.91 -11.81 -54.45, -51.73 -10.74 -54.45, -51.74 -9.668 -54.62, +-51.82 -8.571 -54.69, -51.5 -7.506 -54.59, -51.33 -6.445 -54.66, +-51.37 -5.368 -54.81, -50.82 -4.213 -54.82, -50.38 -3.901 -55.07, +-50.39 -3.904 -55.21, -50.29 -3.91 -55.04, -49.67 -4.028 -55.48, +-49.68 -4.031 -55.62, -49.58 -4.037 -55.46, -49.05 -3.794 -55.77, +-49.06 -3.798 -55.91, -48.96 -3.804 -55.75, -48.25 -4.096 -56.28, +-48.25 -4.097 -56.32, -48.22 -4.099 -56.27, -52 -11.8 -54.61, +-51.99 -11.8 -54.46, -51.79 -10.74 -54.54, -51.78 -10.74 -54.48, +-51.86 -9.662 -54.8, -51.85 -9.658 -54.66, -51.85 -8.568 -54.76, +-51.85 -8.567 -54.69, -51.6 -7.499 -54.76, -51.59 -7.496 -54.61, +-51.4 -6.442 -54.76, -51.4 -6.44 -54.69, -51.46 -5.363 -54.96, +-51.45 -5.36 -54.83, -50.89 -4.204 -54.83, -50.91 -4.207 -54.97, +-51.9 -11.81 -54.43, -51.74 -10.74 -54.47, -51.75 -9.668 -54.63, +-51.81 -8.571 -54.68, -51.5 -7.506 -54.58, -51.35 -6.445 -54.67, +-51.37 -5.368 -54.81, -50.8 -4.213 -54.81, -50.37 -3.901 -55.05, +-50.38 -3.904 -55.19, -50.28 -3.91 -55.03, -49.65 -4.028 -55.47, +-49.66 -4.031 -55.61, -49.56 -4.037 -55.44, -49.04 -3.794 -55.76, +-49.05 -3.798 -55.9, -48.95 -3.804 -55.74, -48.23 -4.096 -56.26, +-48.23 -4.097 -56.3, -48.21 -4.099 -56.26, -51.99 -11.8 -54.59, +-51.97 -11.8 -54.45, -51.8 -10.74 -54.56, -51.8 -10.74 -54.49, +-51.87 -9.662 -54.81, -51.85 -9.658 -54.66, -51.83 -8.568 -54.74, +-51.83 -8.567 -54.67, -51.6 -7.499 -54.76, -51.59 -7.496 -54.61, +-51.42 -6.442 -54.78, -51.42 -6.44 -54.71, -51.45 -5.363 -54.96, +-51.44 -5.36 -54.83, -50.87 -4.204 -54.81, -50.89 -4.207 -54.95, +-51.88 -11.81 -54.42, -51.76 -10.74 -54.48, -51.76 -9.668 -54.64, +-51.79 -8.571 -54.66, -51.5 -7.506 -54.58, -51.37 -6.445 -54.69, +-51.36 -5.368 -54.8, -50.79 -4.213 -54.79, -50.36 -3.901 -55.05, +-50.37 -3.904 -55.19, -50.27 -3.91 -55.02, -49.64 -4.028 -55.45, +-49.65 -4.031 -55.59, -49.55 -4.037 -55.43, -49.03 -3.794 -55.75, +-49.04 -3.798 -55.9, -48.94 -3.804 -55.73, -48.22 -4.096 -56.25, +-48.22 -4.097 -56.29, -48.19 -4.099 -56.24, -51.98 -11.8 -54.59, +-51.97 -11.8 -54.44, -51.82 -10.74 -54.57, -51.82 -10.74 -54.51, +-51.87 -9.662 -54.81, -51.86 -9.658 -54.67, -51.81 -8.568 -54.72, +-51.81 -8.567 -54.65, -51.61 -7.499 -54.76, -51.59 -7.496 -54.61, +-51.44 -6.442 -54.79, -51.44 -6.44 -54.72, -51.44 -5.363 -54.95, +-51.43 -5.36 -54.82, -50.86 -4.204 -54.8, -50.87 -4.207 -54.94, +-51.87 -11.81 -54.41, -51.78 -10.74 -54.5, -51.76 -9.668 -54.64, +-51.77 -8.571 -54.64, -51.5 -7.506 -54.59, -51.39 -6.445 -54.71, +-51.35 -5.368 -54.8, -50.77 -4.213 -54.78, -50.35 -3.901 -55.04, +-50.36 -3.904 -55.18, -50.26 -3.91 -55.02, -49.63 -4.028 -55.44, +-49.64 -4.031 -55.58, -49.54 -4.037 -55.42, -49.03 -3.794 -55.75, +-49.04 -3.798 -55.89, -48.94 -3.804 -55.73, -48.2 -4.096 -56.24, +-48.21 -4.097 -56.28, -48.18 -4.099 -56.23, -51.97 -11.8 -54.58, +-51.96 -11.8 -54.43, -51.84 -10.74 -54.59, -51.84 -10.74 -54.53, +-51.87 -9.662 -54.81, -51.86 -9.658 -54.67, -51.8 -8.568 -54.7, +-51.79 -8.567 -54.63, -51.61 -7.499 -54.77, -51.6 -7.496 -54.62, +-51.46 -6.442 -54.81, -51.45 -6.44 -54.74, -51.43 -5.363 -54.94, +-51.42 -5.36 -54.81, -50.85 -4.204 -54.79, -50.86 -4.207 -54.93, +-51.87 -11.81 -54.41, -51.8 -10.74 -54.52, -51.76 -9.668 -54.64, +-51.75 -8.571 -54.62, -51.51 -7.506 -54.59, -51.41 -6.445 -54.73, +-51.34 -5.368 -54.79, -50.76 -4.213 -54.77, -50.35 -3.901 -55.04, +-50.36 -3.904 -55.18, -50.26 -3.91 -55.01, -49.62 -4.028 -55.44, +-49.63 -4.031 -55.58, -49.53 -4.037 -55.41, -49.03 -3.794 -55.75, +-49.04 -3.798 -55.89, -48.94 -3.804 -55.73, -48.2 -4.096 -56.23, +-48.2 -4.097 -56.27, -48.17 -4.099 -56.23, -51.97 -11.8 -54.58, +-51.96 -11.8 -54.43, -51.86 -10.74 -54.61, -51.86 -10.74 -54.55, +-51.86 -9.662 -54.81, -51.85 -9.658 -54.66, -51.78 -8.568 -54.69, +-51.77 -8.567 -54.62, -51.62 -7.499 -54.78, -51.61 -7.496 -54.63, +-51.47 -6.442 -54.82, -51.47 -6.44 -54.75, -51.42 -5.363 -54.92, +-51.4 -5.36 -54.79, -50.84 -4.204 -54.78, -50.86 -4.207 -54.92, +-51.87 -11.81 -54.41, -51.82 -10.74 -54.54, -51.76 -9.668 -54.64, +-51.73 -8.571 -54.61, -51.52 -7.506 -54.6, -51.42 -6.445 -54.74, +-51.32 -5.368 -54.77, -50.76 -4.213 -54.76, -50.35 -3.901 -55.04, +-50.36 -3.904 -55.18, -50.26 -3.91 -55.01, -49.62 -4.028 -55.44, +-49.63 -4.031 -55.58, -49.53 -4.037 -55.41, -49.03 -3.794 -55.76, +-49.05 -3.798 -55.9, -48.94 -3.804 -55.73, -48.19 -4.096 -56.23, +-48.2 -4.097 -56.27, -48.17 -4.099 -56.22, -51.98 -11.8 -54.58, +-51.96 -11.8 -54.43, -51.88 -10.74 -54.63, -51.87 -10.74 -54.56, +-51.86 -9.662 -54.8, -51.84 -9.658 -54.65, -51.76 -8.568 -54.67, +-51.76 -8.567 -54.6, -51.64 -7.499 -54.79, -51.63 -7.496 -54.64, +-51.48 -6.442 -54.83, -51.48 -6.44 -54.76, -51.4 -5.363 -54.91, +-51.39 -5.36 -54.77, -50.84 -4.204 -54.78, -50.85 -4.207 -54.92, +-51.87 -11.81 -54.41, -51.84 -10.74 -54.55, -51.75 -9.668 -54.63, +-51.71 -8.571 -54.59, -51.53 -7.506 -54.62, -51.43 -6.445 -54.75, +-51.31 -5.368 -54.75, -50.75 -4.213 -54.76, -50.36 -3.901 -55.05, +-50.37 -3.904 -55.19, -50.27 -3.91 -55.02, -49.62 -4.028 -55.44, +-49.63 -4.031 -55.58, -49.53 -4.037 -55.41, -49.04 -3.794 -55.77, +-49.05 -3.798 -55.91, -48.95 -3.804 -55.74, -48.19 -4.096 -56.23, +-48.2 -4.097 -56.27, -48.17 -4.099 -56.22, -51.98 -11.8 -54.59, +-51.97 -11.8 -54.44, -51.9 -10.74 -54.64, -51.89 -10.74 -54.58, +-51.84 -9.662 -54.79, -51.83 -9.658 -54.64, -51.75 -8.568 -54.66, +-51.74 -8.567 -54.59, -51.65 -7.499 -54.8, -51.64 -7.496 -54.66, +-51.49 -6.442 -54.84, -51.49 -6.44 -54.77, -51.38 -5.363 -54.89, +-51.37 -5.36 -54.76, -50.84 -4.204 -54.78, -50.85 -4.207 -54.92, +-51.88 -11.81 -54.42, -51.85 -10.74 -54.57, -51.74 -9.668 -54.62, +-51.7 -8.571 -54.58, -51.55 -7.506 -54.63, -51.44 -6.445 -54.76, +-51.29 -5.368 -54.74, -50.75 -4.213 -54.76, -50.37 -3.901 -55.05, +-50.38 -3.904 -55.19, -50.28 -3.91 -55.03, -49.63 -4.028 -55.44, +-49.64 -4.031 -55.58, -49.54 -4.037 -55.42, -49.05 -3.794 -55.78, +-49.07 -3.798 -55.92, -48.97 -3.804 -55.75, -48.2 -4.096 -56.23, +-48.2 -4.097 -56.27, -48.17 -4.099 -56.23, -51.99 -11.8 -54.6, +-51.98 -11.8 -54.45, -51.91 -10.74 -54.66, -51.91 -10.74 -54.59, +-51.83 -9.662 -54.78, -51.81 -9.658 -54.63, -51.74 -8.568 -54.65, +-51.73 -8.567 -54.58, -51.67 -7.499 -54.82, -51.66 -7.496 -54.67, +-51.5 -6.442 -54.85, -51.49 -6.44 -54.77, -51.36 -5.363 -54.87, +-51.35 -5.36 -54.74, -50.84 -4.204 -54.79, -50.86 -4.207 -54.93, +-51.89 -11.81 -54.43, -51.87 -10.74 -54.58, -51.72 -9.668 -54.6, +-51.69 -8.571 -54.57, -51.57 -7.506 -54.65, -51.45 -6.445 -54.76, +-51.27 -5.368 -54.72, -50.76 -4.213 -54.76, -50.38 -3.901 -55.07, +-50.39 -3.904 -55.21, -50.29 -3.91 -55.04, -49.64 -4.028 -55.45, +-49.65 -4.031 -55.59, -49.55 -4.037 -55.43, -49.07 -3.794 -55.79, +-49.08 -3.798 -55.93, -48.98 -3.804 -55.77, -48.2 -4.096 -56.24, +-48.21 -4.097 -56.28, -48.18 -4.099 -56.23, -52.01 -11.8 -54.61, +-51.99 -11.8 -54.46, -51.92 -10.74 -54.67, -51.92 -10.74 -54.61, +-51.81 -9.662 -54.76, -51.8 -9.658 -54.61, -51.73 -8.568 -54.65, +-51.73 -8.567 -54.58, -51.69 -7.499 -54.84, -51.68 -7.496 -54.69, +-51.5 -6.442 -54.85, -51.49 -6.44 -54.77, -51.34 -5.363 -54.85, +-51.33 -5.36 -54.72, -50.85 -4.204 -54.79, -50.87 -4.207 -54.93, +-51.9 -11.81 -54.44, -51.88 -10.74 -54.6, -51.71 -9.668 -54.59, +-51.69 -8.571 -54.57, -51.59 -7.506 -54.67, -51.45 -6.445 -54.76, +-51.25 -5.368 -54.7, -50.76 -4.213 -54.77, -50.4 -3.901 -55.08, +-50.41 -3.904 -55.22, -50.31 -3.91 -55.06, -49.65 -4.028 -55.47, +-49.66 -4.031 -55.61, -49.56 -4.037 -55.44, -49.09 -3.794 -55.81, +-49.1 -3.798 -55.95, -49 -3.804 -55.78, -48.22 -4.096 -56.25, +-48.22 -4.097 -56.29, -48.19 -4.099 -56.24, -52.02 -11.8 -54.63, +-52.01 -11.8 -54.48, -51.93 -10.74 -54.68, -51.93 -10.74 -54.61, +-51.79 -9.662 -54.74, -51.78 -9.658 -54.59, -51.73 -8.568 -54.64, +-51.73 -8.567 -54.57, -51.71 -7.499 -54.86, -51.7 -7.496 -54.71, +-51.49 -6.442 -54.84, -51.49 -6.44 -54.77, -51.32 -5.363 -54.83, +-51.31 -5.36 -54.7, -50.87 -4.204 -54.81, -50.88 -4.207 -54.95, +-51.92 -11.81 -54.45, -51.89 -10.74 -54.6, -51.69 -9.668 -54.57, +-51.68 -8.571 -54.56, -51.6 -7.506 -54.68, -51.44 -6.445 -54.76, +-51.23 -5.368 -54.68, -50.78 -4.213 -54.78, -50.41 -3.901 -55.1, +-50.43 -3.904 -55.24, -50.32 -3.91 -55.07, -49.67 -4.028 -55.48, +-49.68 -4.031 -55.62, -49.58 -4.037 -55.46, -49.11 -3.794 -55.83, +-49.12 -3.798 -55.97, -49.02 -3.804 -55.8, -48.23 -4.096 -56.26, +-48.23 -4.097 -56.3, -48.21 -4.099 -56.26, -52.04 -11.8 -54.64, +-52.03 -11.8 -54.5, -51.94 -10.74 -54.68, -51.93 -10.74 -54.62, +-51.77 -9.662 -54.72, -51.76 -9.658 -54.58, -51.74 -8.568 -54.65, +-51.73 -8.567 -54.58, -51.73 -7.499 -54.87, -51.72 -7.496 -54.73, +-51.49 -6.442 -54.84, -51.48 -6.44 -54.76, -51.31 -5.363 -54.82, +-51.29 -5.36 -54.69, -50.88 -4.204 -54.82, -50.89 -4.207 -54.96, +-51.93 -11.81 -54.47, -51.89 -10.74 -54.61, -51.67 -9.668 -54.55, +-51.69 -8.571 -54.57, -51.62 -7.506 -54.7, -51.43 -6.445 -54.75, +-51.21 -5.368 -54.67, -50.79 -4.213 -54.79, -50.43 -3.901 -55.12, +-50.45 -3.904 -55.26, -50.34 -3.91 -55.09, -49.68 -4.028 -55.5, +-49.7 -4.031 -55.64, -49.59 -4.037 -55.47, -49.13 -3.794 -55.84, +-49.14 -3.798 -55.98, -49.04 -3.804 -55.82, -48.25 -4.096 -56.28, +-48.25 -4.097 -56.32, -48.22 -4.099 -56.27, ] +} +] +}, +DEF Plane39 Transform { +translation 52.22 5.921 54.75 +children [ +Shape +{ +appearance USE sea_weed +geometry DEF Plane39-FACES IndexedFaceSet { +solid FALSE +coord DEF Plane39-COORD Coordinate { +point [ -52.45 -11.8 -54.61 -52.31 -11.8 -54.56 -52.42 -10.72 -54.83 -52.36 +-10.72 -54.81 -52.43 -9.647 -54.82 -52.3 -9.643 -54.76 -52.4 -8.558 -54.64 +-52.34 -8.556 -54.62 -52.59 -7.483 -54.88 -52.46 -7.479 -54.82 -52.45 -6.412 +-55.09 -52.38 -6.41 -55.06 -52.42 -5.332 -55 -52.3 -5.329 -54.94 -52.25 -4.153 +-55.34 -52.38 -4.157 -55.39 -52.24 -11.8 -54.63 -52.33 -10.72 -54.84 -52.23 +-9.648 -54.83 -52.31 -8.558 -54.65 -52.39 -7.484 -54.89 -52.35 -6.413 -55.1 +-52.24 -5.333 -55.01 -52.19 -4.157 -55.4 -52.3 -3.824 -55.92 -52.43 -3.828 +-55.97 -52.23 -3.829 -55.98 -52.28 -3.913 -56.74 -52.41 -3.917 -56.8 -52.22 +-3.917 -56.81 -52.32 -3.649 -57.44 -52.45 -3.653 -57.5 -52.26 -3.653 -57.51 +-52.3 -3.906 -58.38 -52.33 -3.907 -58.39 -52.28 -3.908 -58.39 ] +} +texCoord DEF Plane39-TEXCOORD +TextureCoordinate { point [ 0 0 1 0 0 1 1 1 ] } coordIndex [ 2 0 3 -1 1 3 0 +-1 4 2 5 -1 3 5 2 -1 6 4 7 -1 5 7 4 -1 8 6 9 -1 7 9 6 -1 10 8 11 -1 9 11 8 +-1 12 10 13 -1 11 13 10 -1 14 15 12 -1 12 13 14 -1 3 1 17 -1 16 17 1 -1 5 3 +18 -1 17 18 3 -1 7 5 19 -1 18 19 5 -1 9 7 20 -1 19 20 7 -1 11 9 21 -1 20 21 +9 -1 13 11 22 -1 21 22 11 -1 23 14 13 -1 13 22 23 -1 24 25 15 -1 15 14 24 +-1 26 24 14 -1 14 23 26 -1 27 28 25 -1 25 24 27 -1 29 27 24 -1 24 26 29 -1 30 +31 28 -1 28 27 30 -1 32 30 27 -1 27 29 32 -1 33 34 31 -1 31 30 33 -1 35 33 30 +-1 30 32 35 -1 ] texCoordIndex +[ 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 +0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 3 2 0 -1 0 1 3 -1 2 0 3 -1 1 3 0 -1 2 0 3 +-1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 3 0 -1 2 0 3 -1 1 +3 0 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 +-1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 2 0 -1 0 1 3 -1 3 +2 0 -1 0 1 3 -1 ] +} +} +DEF Plane39-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, +0.2667, 0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, +0.5333, 0.5667, 0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, +0.8, 0.8333, 0.8667, 0.9, 0.9333, 0.9667, 1, ] +keyValue [-52.45 -11.8 -54.61, +-52.31 -11.8 -54.56, -52.42 -10.72 -54.83, -52.36 -10.72 -54.81, +-52.43 -9.647 -54.82, -52.3 -9.643 -54.76, -52.4 -8.558 -54.64, +-52.34 -8.556 -54.62, -52.59 -7.483 -54.88, -52.46 -7.479 -54.82, +-52.45 -6.412 -55.09, -52.38 -6.41 -55.06, -52.42 -5.332 -55, +-52.3 -5.329 -54.94, -52.25 -4.153 -55.34, -52.38 -4.157 -55.39, +-52.24 -11.8 -54.63, -52.33 -10.72 -54.84, -52.23 -9.648 -54.83, +-52.31 -8.558 -54.65, -52.39 -7.484 -54.89, -52.35 -6.413 -55.1, +-52.24 -5.333 -55.01, -52.19 -4.157 -55.4, -52.3 -3.824 -55.92, +-52.43 -3.828 -55.97, -52.23 -3.829 -55.98, -52.28 -3.913 -56.74, +-52.41 -3.917 -56.8, -52.22 -3.917 -56.81, -52.32 -3.649 -57.44, +-52.45 -3.653 -57.5, -52.26 -3.653 -57.51, -52.3 -3.906 -58.38, +-52.33 -3.907 -58.39, -52.28 -3.908 -58.39, -52.46 -11.8 -54.63, +-52.33 -11.8 -54.57, -52.42 -10.72 -54.83, -52.36 -10.72 -54.81, +-52.41 -9.647 -54.8, -52.28 -9.643 -54.74, -52.41 -8.558 -54.65, +-52.35 -8.556 -54.62, -52.61 -7.483 -54.9, -52.47 -7.479 -54.84, +-52.44 -6.412 -55.08, -52.37 -6.41 -55.05, -52.4 -5.332 -54.98, +-52.28 -5.329 -54.93, -52.27 -4.153 -55.35, -52.4 -4.157 -55.41, +-52.26 -11.8 -54.64, -52.33 -10.72 -54.84, -52.21 -9.648 -54.81, +-52.31 -8.558 -54.66, -52.41 -7.484 -54.91, -52.34 -6.413 -55.08, +-52.23 -5.333 -54.99, -52.2 -4.157 -55.42, -52.32 -3.824 -55.94, +-52.45 -3.828 -55.99, -52.25 -3.829 -56, -52.3 -3.913 -56.76, +-52.43 -3.917 -56.82, -52.24 -3.917 -56.83, -52.34 -3.649 -57.46, +-52.47 -3.653 -57.51, -52.28 -3.653 -57.52, -52.32 -3.906 -58.4, +-52.35 -3.907 -58.41, -52.3 -3.908 -58.41, -52.48 -11.8 -54.65, +-52.35 -11.8 -54.59, -52.42 -10.72 -54.83, -52.36 -10.72 -54.81, +-52.4 -9.647 -54.78, -52.26 -9.643 -54.72, -52.42 -8.558 -54.66, +-52.36 -8.556 -54.63, -52.62 -7.483 -54.91, -52.49 -7.479 -54.85, +-52.42 -6.412 -55.06, -52.36 -6.41 -55.04, -52.39 -5.332 -54.98, +-52.27 -5.329 -54.92, -52.29 -4.153 -55.37, -52.42 -4.157 -55.43, +-52.28 -11.8 -54.66, -52.33 -10.72 -54.84, -52.19 -9.648 -54.79, +-52.33 -8.558 -54.67, -52.42 -7.484 -54.92, -52.32 -6.413 -55.07, +-52.22 -5.333 -54.99, -52.22 -4.157 -55.44, -52.34 -3.824 -55.95, +-52.46 -3.828 -56.01, -52.27 -3.829 -56.02, -52.32 -3.913 -56.78, +-52.45 -3.917 -56.83, -52.26 -3.917 -56.85, -52.36 -3.649 -57.47, +-52.49 -3.653 -57.53, -52.29 -3.653 -57.54, -52.34 -3.906 -58.41, +-52.37 -3.907 -58.43, -52.32 -3.908 -58.43, -52.5 -11.8 -54.67, +-52.37 -11.8 -54.61, -52.41 -10.72 -54.82, -52.35 -10.72 -54.8, +-52.38 -9.647 -54.77, -52.24 -9.643 -54.71, -52.43 -8.558 -54.67, +-52.37 -8.556 -54.65, -52.64 -7.483 -54.92, -52.5 -7.479 -54.86, +-52.41 -6.412 -55.05, -52.34 -6.41 -55.02, -52.39 -5.332 -54.97, +-52.27 -5.329 -54.92, -52.31 -4.153 -55.39, -52.44 -4.157 -55.44, +-52.3 -11.8 -54.68, -52.32 -10.72 -54.83, -52.18 -9.648 -54.78, +-52.34 -8.558 -54.68, -52.43 -7.484 -54.93, -52.31 -6.413 -55.05, +-52.21 -5.333 -54.98, -52.24 -4.157 -55.45, -52.35 -3.824 -55.97, +-52.48 -3.828 -56.03, -52.29 -3.829 -56.04, -52.34 -3.913 -56.8, +-52.47 -3.917 -56.85, -52.28 -3.917 -56.86, -52.37 -3.649 -57.48, +-52.5 -3.653 -57.54, -52.31 -3.653 -57.55, -52.36 -3.906 -58.43, +-52.39 -3.907 -58.44, -52.34 -3.908 -58.45, -52.52 -11.8 -54.68, +-52.38 -11.8 -54.63, -52.4 -10.72 -54.81, -52.34 -10.72 -54.79, +-52.37 -9.647 -54.75, -52.23 -9.643 -54.69, -52.45 -8.558 -54.69, +-52.39 -8.556 -54.66, -52.64 -7.483 -54.93, -52.51 -7.479 -54.87, +-52.39 -6.412 -55.03, -52.32 -6.41 -55, -52.39 -5.332 -54.97, +-52.27 -5.329 -54.92, -52.33 -4.153 -55.41, -52.46 -4.157 -55.46, +-52.32 -11.8 -54.7, -52.31 -10.72 -54.82, -52.16 -9.648 -54.77, +-52.35 -8.558 -54.69, -52.44 -7.484 -54.94, -52.29 -6.413 -55.04, +-52.21 -5.333 -54.98, -52.26 -4.157 -55.47, -52.37 -3.824 -55.98, +-52.5 -3.828 -56.04, -52.3 -3.829 -56.05, -52.36 -3.913 -56.81, +-52.49 -3.917 -56.87, -52.29 -3.917 -56.88, -52.38 -3.649 -57.49, +-52.51 -3.653 -57.55, -52.32 -3.653 -57.56, -52.37 -3.906 -58.44, +-52.41 -3.907 -58.46, -52.35 -3.908 -58.46, -52.54 -11.8 -54.7, +-52.4 -11.8 -54.64, -52.38 -10.72 -54.8, -52.32 -10.72 -54.77, +-52.35 -9.647 -54.74, -52.22 -9.643 -54.68, -52.47 -8.558 -54.71, +-52.4 -8.556 -54.68, -52.65 -7.483 -54.93, -52.51 -7.479 -54.88, +-52.37 -6.412 -55.01, -52.3 -6.41 -54.98, -52.39 -5.332 -54.97, +-52.27 -5.329 -54.92, -52.34 -4.153 -55.42, -52.47 -4.157 -55.48, +-52.33 -11.8 -54.71, -52.3 -10.72 -54.8, -52.15 -9.648 -54.76, +-52.37 -8.558 -54.71, -52.45 -7.484 -54.95, -52.27 -6.413 -55.02, +-52.21 -5.333 -54.98, -52.28 -4.157 -55.49, -52.38 -3.824 -55.99, +-52.51 -3.828 -56.05, -52.31 -3.829 -56.06, -52.37 -3.913 -56.82, +-52.5 -3.917 -56.88, -52.31 -3.917 -56.89, -52.39 -3.649 -57.5, +-52.52 -3.653 -57.56, -52.32 -3.653 -57.57, -52.38 -3.906 -58.46, +-52.42 -3.907 -58.47, -52.37 -3.908 -58.47, -52.55 -11.8 -54.71, +-52.41 -11.8 -54.65, -52.36 -10.72 -54.78, -52.31 -10.72 -54.76, +-52.35 -9.647 -54.74, -52.21 -9.643 -54.68, -52.49 -8.558 -54.72, +-52.42 -8.556 -54.7, -52.65 -7.483 -54.93, -52.51 -7.479 -54.88, +-52.35 -6.412 -54.99, -52.28 -6.41 -54.97, -52.39 -5.332 -54.98, +-52.27 -5.329 -54.92, -52.36 -4.153 -55.44, -52.49 -4.157 -55.49, +-52.35 -11.8 -54.72, -52.28 -10.72 -54.79, -52.15 -9.648 -54.75, +-52.39 -8.558 -54.73, -52.45 -7.484 -54.95, -52.25 -6.413 -55, +-52.22 -5.333 -54.98, -52.3 -4.157 -55.5, -52.39 -3.824 -56, +-52.51 -3.828 -56.06, -52.32 -3.829 -56.07, -52.38 -3.913 -56.83, +-52.51 -3.917 -56.89, -52.32 -3.917 -56.9, -52.39 -3.649 -57.5, +-52.52 -3.653 -57.56, -52.33 -3.653 -57.57, -52.39 -3.906 -58.47, +-52.43 -3.907 -58.48, -52.38 -3.908 -58.48, -52.56 -11.8 -54.72, +-52.42 -11.8 -54.66, -52.35 -10.72 -54.77, -52.29 -10.72 -54.74, +-52.34 -9.647 -54.74, -52.21 -9.643 -54.68, -52.51 -8.558 -54.74, +-52.44 -8.556 -54.71, -52.64 -7.483 -54.93, -52.51 -7.479 -54.87, +-52.33 -6.412 -54.98, -52.26 -6.41 -54.95, -52.4 -5.332 -54.98, +-52.28 -5.329 -54.93, -52.37 -4.153 -55.45, -52.5 -4.157 -55.5, +-52.35 -11.8 -54.73, -52.26 -10.72 -54.77, -52.14 -9.648 -54.75, +-52.41 -8.558 -54.75, -52.44 -7.484 -54.94, -52.23 -6.413 -54.98, +-52.23 -5.333 -54.99, -52.31 -4.157 -55.52, -52.39 -3.824 -56, +-52.52 -3.828 -56.06, -52.33 -3.829 -56.07, -52.39 -3.913 -56.84, +-52.52 -3.917 -56.89, -52.32 -3.917 -56.91, -52.39 -3.649 -57.5, +-52.52 -3.653 -57.56, -52.32 -3.653 -57.57, -52.4 -3.906 -58.47, +-52.43 -3.907 -58.49, -52.38 -3.908 -58.49, -52.56 -11.8 -54.72, +-52.43 -11.8 -54.66, -52.33 -10.72 -54.75, -52.27 -10.72 -54.72, +-52.35 -9.647 -54.74, -52.21 -9.643 -54.68, -52.52 -8.558 -54.76, +-52.46 -8.556 -54.73, -52.64 -7.483 -54.92, -52.5 -7.479 -54.86, +-52.31 -6.412 -54.96, -52.25 -6.41 -54.93, -52.42 -5.332 -55, +-52.3 -5.329 -54.94, -52.38 -4.153 -55.46, -52.51 -4.157 -55.51, +-52.36 -11.8 -54.73, -52.24 -10.72 -54.75, -52.14 -9.648 -54.75, +-52.43 -8.558 -54.76, -52.43 -7.484 -54.94, -52.21 -6.413 -54.97, +-52.24 -5.333 -55.01, -52.32 -4.157 -55.52, -52.39 -3.824 -56, +-52.52 -3.828 -56.06, -52.33 -3.829 -56.07, -52.39 -3.913 -56.84, +-52.52 -3.917 -56.9, -52.33 -3.917 -56.91, -52.38 -3.649 -57.49, +-52.51 -3.653 -57.55, -52.32 -3.653 -57.56, -52.4 -3.906 -58.47, +-52.44 -3.907 -58.49, -52.39 -3.908 -58.49, -52.56 -11.8 -54.72, +-52.43 -11.8 -54.67, -52.31 -10.72 -54.73, -52.25 -10.72 -54.71, +-52.35 -9.647 -54.74, -52.22 -9.643 -54.68, -52.54 -8.558 -54.78, +-52.48 -8.556 -54.75, -52.63 -7.483 -54.91, -52.49 -7.479 -54.85, +-52.3 -6.412 -54.95, -52.23 -6.41 -54.92, -52.43 -5.332 -55.01, +-52.31 -5.329 -54.96, -52.39 -4.153 -55.46, -52.52 -4.157 -55.52, +-52.36 -11.8 -54.74, -52.22 -10.72 -54.73, -52.15 -9.648 -54.75, +-52.45 -8.558 -54.78, -52.42 -7.484 -54.92, -52.2 -6.413 -54.95, +-52.25 -5.333 -55.02, -52.32 -4.157 -55.53, -52.38 -3.824 -56, +-52.51 -3.828 -56.06, -52.32 -3.829 -56.07, -52.39 -3.913 -56.84, +-52.52 -3.917 -56.9, -52.32 -3.917 -56.91, -52.37 -3.649 -57.49, +-52.5 -3.653 -57.54, -52.31 -3.653 -57.55, -52.4 -3.906 -58.47, +-52.44 -3.907 -58.49, -52.38 -3.908 -58.49, -52.56 -11.8 -54.72, +-52.42 -11.8 -54.66, -52.29 -10.72 -54.71, -52.23 -10.72 -54.69, +-52.36 -9.647 -54.75, -52.22 -9.643 -54.69, -52.56 -8.558 -54.79, +-52.49 -8.556 -54.76, -52.61 -7.483 -54.9, -52.47 -7.479 -54.84, +-52.29 -6.412 -54.94, -52.22 -6.41 -54.91, -52.45 -5.332 -55.03, +-52.33 -5.329 -54.98, -52.39 -4.153 -55.47, -52.52 -4.157 -55.52, +-52.36 -11.8 -54.73, -52.2 -10.72 -54.72, -52.16 -9.648 -54.76, +-52.46 -8.558 -54.8, -52.41 -7.484 -54.91, -52.19 -6.413 -54.94, +-52.27 -5.333 -55.04, -52.33 -4.157 -55.53, -52.38 -3.824 -55.99, +-52.51 -3.828 -56.05, -52.31 -3.829 -56.06, -52.38 -3.913 -56.83, +-52.51 -3.917 -56.89, -52.32 -3.917 -56.9, -52.36 -3.649 -57.47, +-52.49 -3.653 -57.53, -52.3 -3.653 -57.54, -52.39 -3.906 -58.47, +-52.43 -3.907 -58.48, -52.38 -3.908 -58.48, -52.55 -11.8 -54.72, +-52.42 -11.8 -54.66, -52.27 -10.72 -54.7, -52.21 -10.72 -54.67, +-52.37 -9.647 -54.76, -52.24 -9.643 -54.7, -52.57 -8.558 -54.8, +-52.51 -8.556 -54.77, -52.59 -7.483 -54.88, -52.46 -7.479 -54.82, +-52.28 -6.412 -54.93, -52.21 -6.41 -54.9, -52.47 -5.332 -55.05, +-52.35 -5.329 -54.99, -52.39 -4.153 -55.46, -52.52 -4.157 -55.52, +-52.35 -11.8 -54.73, -52.19 -10.72 -54.7, -52.17 -9.648 -54.77, +-52.48 -8.558 -54.81, -52.39 -7.484 -54.9, -52.18 -6.413 -54.94, +-52.29 -5.333 -55.06, -52.32 -4.157 -55.53, -52.36 -3.824 -55.98, +-52.49 -3.828 -56.04, -52.3 -3.829 -56.05, -52.37 -3.913 -56.83, +-52.5 -3.917 -56.88, -52.31 -3.917 -56.89, -52.34 -3.649 -57.46, +-52.47 -3.653 -57.52, -52.28 -3.653 -57.53, -52.39 -3.906 -58.46, +-52.42 -3.907 -58.47, -52.37 -3.908 -58.48, -52.54 -11.8 -54.71, +-52.41 -11.8 -54.65, -52.26 -10.72 -54.68, -52.2 -10.72 -54.66, +-52.39 -9.647 -54.78, -52.25 -9.643 -54.72, -52.58 -8.558 -54.81, +-52.52 -8.556 -54.78, -52.58 -7.483 -54.87, -52.44 -7.479 -54.81, +-52.28 -6.412 -54.93, -52.21 -6.41 -54.9, -52.49 -5.332 -55.06, +-52.37 -5.329 -55.01, -52.38 -4.153 -55.46, -52.51 -4.157 -55.51, +-52.34 -11.8 -54.72, -52.17 -10.72 -54.69, -52.19 -9.648 -54.79, +-52.49 -8.558 -54.82, -52.37 -7.484 -54.88, -52.18 -6.413 -54.93, +-52.31 -5.333 -55.07, -52.32 -4.157 -55.52, -52.35 -3.824 -55.97, +-52.48 -3.828 -56.02, -52.29 -3.829 -56.03, -52.36 -3.913 -56.81, +-52.49 -3.917 -56.87, -52.3 -3.917 -56.88, -52.33 -3.649 -57.44, +-52.46 -3.653 -57.5, -52.26 -3.653 -57.51, -52.37 -3.906 -58.45, +-52.41 -3.907 -58.46, -52.36 -3.908 -58.46, -52.53 -11.8 -54.69, +-52.39 -11.8 -54.63, -52.25 -10.72 -54.67, -52.19 -10.72 -54.65, +-52.41 -9.647 -54.79, -52.27 -9.643 -54.73, -52.58 -8.558 -54.82, +-52.52 -8.556 -54.79, -52.56 -7.483 -54.85, -52.42 -7.479 -54.79, +-52.28 -6.412 -54.93, -52.21 -6.41 -54.9, -52.51 -5.332 -55.08, +-52.39 -5.329 -55.03, -52.37 -4.153 -55.45, -52.5 -4.157 -55.5, +-52.33 -11.8 -54.7, -52.16 -10.72 -54.68, -52.2 -9.648 -54.8, +-52.49 -8.558 -54.82, -52.35 -7.484 -54.86, -52.18 -6.413 -54.94, +-52.33 -5.333 -55.09, -52.31 -4.157 -55.51, -52.33 -3.824 -55.95, +-52.46 -3.828 -56.01, -52.27 -3.829 -56.02, -52.34 -3.913 -56.8, +-52.47 -3.917 -56.86, -52.28 -3.917 -56.87, -52.31 -3.649 -57.42, +-52.44 -3.653 -57.48, -52.24 -3.653 -57.49, -52.36 -3.906 -58.43, +-52.39 -3.907 -58.45, -52.34 -3.908 -58.45, -52.51 -11.8 -54.68, +-52.38 -11.8 -54.62, -52.24 -10.72 -54.67, -52.18 -10.72 -54.64, +-52.42 -9.647 -54.81, -52.29 -9.643 -54.75, -52.59 -8.558 -54.82, +-52.52 -8.556 -54.79, -52.54 -7.483 -54.83, -52.4 -7.479 -54.77, +-52.28 -6.412 -54.93, -52.22 -6.41 -54.91, -52.53 -5.332 -55.1, +-52.41 -5.329 -55.05, -52.36 -4.153 -55.44, -52.49 -4.157 -55.49, +-52.31 -11.8 -54.69, -52.15 -10.72 -54.67, -52.22 -9.648 -54.82, +-52.49 -8.558 -54.82, -52.34 -7.484 -54.84, -52.18 -6.413 -54.94, +-52.35 -5.333 -55.11, -52.29 -4.157 -55.5, -52.31 -3.824 -55.93, +-52.44 -3.828 -55.99, -52.25 -3.829 -56, -52.33 -3.913 -56.78, +-52.46 -3.917 -56.84, -52.26 -3.917 -56.85, -52.29 -3.649 -57.41, +-52.42 -3.653 -57.46, -52.22 -3.653 -57.47, -52.34 -3.906 -58.41, +-52.37 -3.907 -58.43, -52.32 -3.908 -58.43, -52.49 -11.8 -54.66, +-52.36 -11.8 -54.6, -52.23 -10.72 -54.66, -52.18 -10.72 -54.64, +-52.44 -9.647 -54.83, -52.31 -9.643 -54.77, -52.58 -8.558 -54.81, +-52.52 -8.556 -54.79, -52.52 -7.483 -54.81, -52.38 -7.479 -54.75, +-52.29 -6.412 -54.94, -52.22 -6.41 -54.91, -52.54 -5.332 -55.11, +-52.42 -5.329 -55.06, -52.34 -4.153 -55.42, -52.47 -4.157 -55.48, +-52.29 -11.8 -54.67, -52.15 -10.72 -54.67, -52.24 -9.648 -54.84, +-52.49 -8.558 -54.82, -52.32 -7.484 -54.82, -52.19 -6.413 -54.95, +-52.36 -5.333 -55.12, -52.28 -4.157 -55.49, -52.29 -3.824 -55.92, +-52.42 -3.828 -55.97, -52.23 -3.829 -55.98, -52.31 -3.913 -56.77, +-52.44 -3.917 -56.82, -52.24 -3.917 -56.83, -52.27 -3.649 -57.39, +-52.4 -3.653 -57.44, -52.21 -3.653 -57.46, -52.32 -3.906 -58.4, +-52.35 -3.907 -58.41, -52.3 -3.908 -58.41, -52.48 -11.8 -54.64, +-52.34 -11.8 -54.58, -52.23 -10.72 -54.66, -52.18 -10.72 -54.64, +-52.46 -9.647 -54.85, -52.33 -9.643 -54.79, -52.58 -8.558 -54.81, +-52.51 -8.556 -54.78, -52.5 -7.483 -54.8, -52.36 -7.479 -54.74, +-52.3 -6.412 -54.95, -52.24 -6.41 -54.92, -52.55 -5.332 -55.13, +-52.43 -5.329 -55.07, -52.32 -4.153 -55.4, -52.45 -4.157 -55.46, +-52.27 -11.8 -54.65, -52.15 -10.72 -54.67, -52.26 -9.648 -54.86, +-52.48 -8.558 -54.81, -52.3 -7.484 -54.81, -52.2 -6.413 -54.96, +-52.38 -5.333 -55.13, -52.26 -4.157 -55.47, -52.27 -3.824 -55.9, +-52.4 -3.828 -55.95, -52.21 -3.829 -55.96, -52.29 -3.913 -56.75, +-52.42 -3.917 -56.8, -52.23 -3.917 -56.81, -52.25 -3.649 -57.37, +-52.38 -3.653 -57.43, -52.19 -3.653 -57.44, -52.3 -3.906 -58.38, +-52.33 -3.907 -58.39, -52.28 -3.908 -58.4, -52.46 -11.8 -54.62, +-52.32 -11.8 -54.56, -52.24 -10.72 -54.67, -52.18 -10.72 -54.64, +-52.48 -9.647 -54.86, -52.35 -9.643 -54.8, -52.57 -8.558 -54.8, +-52.5 -8.556 -54.77, -52.49 -7.483 -54.78, -52.35 -7.479 -54.72, +-52.32 -6.412 -54.97, -52.25 -6.41 -54.94, -52.56 -5.332 -55.13, +-52.44 -5.329 -55.08, -52.3 -4.153 -55.39, -52.43 -4.157 -55.44, +-52.25 -11.8 -54.64, -52.15 -10.72 -54.67, -52.28 -9.648 -54.87, +-52.47 -8.558 -54.8, -52.28 -7.484 -54.8, -52.22 -6.413 -54.97, +-52.39 -5.333 -55.14, -52.24 -4.157 -55.45, -52.26 -3.824 -55.88, +-52.39 -3.828 -55.94, -52.19 -3.829 -55.95, -52.27 -3.913 -56.73, +-52.4 -3.917 -56.79, -52.21 -3.917 -56.8, -52.23 -3.649 -57.36, +-52.36 -3.653 -57.41, -52.17 -3.653 -57.42, -52.28 -3.906 -58.36, +-52.32 -3.907 -58.38, -52.26 -3.908 -58.38, -52.44 -11.8 -54.61, +-52.3 -11.8 -54.55, -52.25 -10.72 -54.67, -52.19 -10.72 -54.65, +-52.5 -9.647 -54.88, -52.36 -9.643 -54.82, -52.55 -8.558 -54.79, +-52.49 -8.556 -54.76, -52.47 -7.483 -54.77, -52.34 -7.479 -54.71, +-52.34 -6.412 -54.98, -52.27 -6.41 -54.95, -52.57 -5.332 -55.14, +-52.45 -5.329 -55.09, -52.28 -4.153 -55.37, -52.42 -4.157 -55.42, +-52.24 -11.8 -54.62, -52.16 -10.72 -54.68, -52.3 -9.648 -54.89, +-52.46 -8.558 -54.79, -52.27 -7.484 -54.78, -52.24 -6.413 -54.99, +-52.39 -5.333 -55.15, -52.22 -4.157 -55.43, -52.24 -3.824 -55.86, +-52.37 -3.828 -55.92, -52.18 -3.829 -55.93, -52.25 -3.913 -56.71, +-52.38 -3.917 -56.77, -52.19 -3.917 -56.78, -52.22 -3.649 -57.34, +-52.35 -3.653 -57.4, -52.16 -3.653 -57.41, -52.26 -3.906 -58.34, +-52.3 -3.907 -58.36, -52.25 -3.908 -58.36, -52.42 -11.8 -54.59, +-52.28 -11.8 -54.53, -52.26 -10.72 -54.68, -52.2 -10.72 -54.66, +-52.51 -9.647 -54.89, -52.38 -9.643 -54.83, -52.54 -8.558 -54.77, +-52.47 -8.556 -54.74, -52.47 -7.483 -54.77, -52.33 -7.479 -54.71, +-52.35 -6.412 -55, -52.29 -6.41 -54.97, -52.57 -5.332 -55.14, +-52.45 -5.329 -55.09, -52.27 -4.153 -55.35, -52.4 -4.157 -55.41, +-52.22 -11.8 -54.6, -52.17 -10.72 -54.69, -52.31 -9.648 -54.9, +-52.44 -8.558 -54.78, -52.26 -7.484 -54.78, -52.26 -6.413 -55.01, +-52.4 -5.333 -55.15, -52.2 -4.157 -55.42, -52.23 -3.824 -55.85, +-52.36 -3.828 -55.91, -52.16 -3.829 -55.92, -52.23 -3.913 -56.7, +-52.36 -3.917 -56.75, -52.17 -3.917 -56.76, -52.21 -3.649 -57.34, +-52.34 -3.653 -57.39, -52.15 -3.653 -57.4, -52.25 -3.906 -58.33, +-52.28 -3.907 -58.34, -52.23 -3.908 -58.35, -52.4 -11.8 -54.58, +-52.27 -11.8 -54.52, -52.27 -10.72 -54.7, -52.21 -10.72 -54.67, +-52.52 -9.647 -54.9, -52.39 -9.643 -54.84, -52.52 -8.558 -54.75, +-52.45 -8.556 -54.73, -52.46 -7.483 -54.76, -52.33 -7.479 -54.7, +-52.37 -6.412 -55.02, -52.31 -6.41 -54.99, -52.57 -5.332 -55.14, +-52.45 -5.329 -55.09, -52.25 -4.153 -55.33, -52.38 -4.157 -55.39, +-52.2 -11.8 -54.59, -52.19 -10.72 -54.7, -52.32 -9.648 -54.91, +-52.42 -8.558 -54.76, -52.26 -7.484 -54.77, -52.27 -6.413 -55.02, +-52.39 -5.333 -55.15, -52.19 -4.157 -55.4, -52.21 -3.824 -55.84, +-52.34 -3.828 -55.9, -52.15 -3.829 -55.91, -52.22 -3.913 -56.69, +-52.35 -3.917 -56.74, -52.16 -3.917 -56.75, -52.2 -3.649 -57.33, +-52.33 -3.653 -57.39, -52.14 -3.653 -57.4, -52.23 -3.906 -58.32, +-52.27 -3.907 -58.33, -52.22 -3.908 -58.33, -52.39 -11.8 -54.57, +-52.26 -11.8 -54.51, -52.29 -10.72 -54.71, -52.23 -10.72 -54.69, +-52.53 -9.647 -54.91, -52.39 -9.643 -54.85, -52.5 -8.558 -54.74, +-52.44 -8.556 -54.71, -52.46 -7.483 -54.76, -52.33 -7.479 -54.7, +-52.39 -6.412 -55.04, -52.33 -6.41 -55.01, -52.56 -5.332 -55.13, +-52.44 -5.329 -55.08, -52.23 -4.153 -55.32, -52.36 -4.157 -55.38, +-52.19 -11.8 -54.58, -52.2 -10.72 -54.72, -52.33 -9.648 -54.92, +-52.41 -8.558 -54.74, -52.26 -7.484 -54.77, -52.29 -6.413 -55.04, +-52.39 -5.333 -55.14, -52.17 -4.157 -55.39, -52.21 -3.824 -55.83, +-52.34 -3.828 -55.89, -52.14 -3.829 -55.9, -52.21 -3.913 -56.68, +-52.34 -3.917 -56.73, -52.15 -3.917 -56.74, -52.2 -3.649 -57.33, +-52.33 -3.653 -57.38, -52.14 -3.653 -57.39, -52.22 -3.906 -58.31, +-52.26 -3.907 -58.32, -52.21 -3.908 -58.33, -52.38 -11.8 -54.56, +-52.25 -11.8 -54.5, -52.31 -10.72 -54.73, -52.25 -10.72 -54.7, +-52.53 -9.647 -54.91, -52.4 -9.643 -54.85, -52.48 -8.558 -54.72, +-52.42 -8.556 -54.69, -52.47 -7.483 -54.76, -52.33 -7.479 -54.71, +-52.41 -6.412 -55.05, -52.35 -6.41 -55.03, -52.55 -5.332 -55.13, +-52.43 -5.329 -55.07, -52.22 -4.153 -55.31, -52.35 -4.157 -55.36, +-52.18 -11.8 -54.57, -52.22 -10.72 -54.73, -52.33 -9.648 -54.92, +-52.39 -8.558 -54.72, -52.26 -7.484 -54.78, -52.31 -6.413 -55.06, +-52.38 -5.333 -55.14, -52.16 -4.157 -55.37, -52.2 -3.824 -55.83, +-52.33 -3.828 -55.89, -52.14 -3.829 -55.9, -52.2 -3.913 -56.67, +-52.33 -3.917 -56.73, -52.14 -3.917 -56.74, -52.2 -3.649 -57.33, +-52.33 -3.653 -57.38, -52.14 -3.653 -57.39, -52.22 -3.906 -58.3, +-52.25 -3.907 -58.32, -52.2 -3.908 -58.32, -52.38 -11.8 -54.55, +-52.24 -11.8 -54.49, -52.33 -10.72 -54.75, -52.27 -10.72 -54.72, +-52.53 -9.647 -54.91, -52.39 -9.643 -54.85, -52.46 -8.558 -54.7, +-52.4 -8.556 -54.67, -52.47 -7.483 -54.77, -52.34 -7.479 -54.71, +-52.43 -6.412 -55.07, -52.36 -6.41 -55.04, -52.54 -5.332 -55.11, +-52.42 -5.329 -55.06, -52.21 -4.153 -55.3, -52.34 -4.157 -55.35, +-52.18 -11.8 -54.56, -52.24 -10.72 -54.75, -52.33 -9.648 -54.92, +-52.37 -8.558 -54.7, -52.27 -7.484 -54.78, -52.33 -6.413 -55.08, +-52.36 -5.333 -55.12, -52.15 -4.157 -55.36, -52.2 -3.824 -55.83, +-52.33 -3.828 -55.89, -52.14 -3.829 -55.9, -52.2 -3.913 -56.67, +-52.33 -3.917 -56.72, -52.14 -3.917 -56.73, -52.21 -3.649 -57.33, +-52.34 -3.653 -57.39, -52.15 -3.653 -57.4, -52.22 -3.906 -58.3, +-52.25 -3.907 -58.31, -52.2 -3.908 -58.32, -52.38 -11.8 -54.55, +-52.24 -11.8 -54.49, -52.35 -10.72 -54.77, -52.29 -10.72 -54.74, +-52.53 -9.647 -54.9, -52.39 -9.643 -54.84, -52.44 -8.558 -54.68, +-52.38 -8.556 -54.66, -52.48 -7.483 -54.78, -52.35 -7.479 -54.72, +-52.44 -6.412 -55.08, -52.38 -6.41 -55.05, -52.53 -5.332 -55.1, +-52.41 -5.329 -55.05, -52.2 -4.153 -55.29, -52.33 -4.157 -55.35, +-52.17 -11.8 -54.56, -52.26 -10.72 -54.77, -52.32 -9.648 -54.91, +-52.35 -8.558 -54.69, -52.28 -7.484 -54.79, -52.34 -6.413 -55.09, +-52.35 -5.333 -55.11, -52.14 -4.157 -55.36, -52.21 -3.824 -55.84, +-52.34 -3.828 -55.89, -52.14 -3.829 -55.9, -52.2 -3.913 -56.67, +-52.33 -3.917 -56.72, -52.14 -3.917 -56.73, -52.22 -3.649 -57.34, +-52.35 -3.653 -57.4, -52.16 -3.653 -57.41, -52.22 -3.906 -58.3, +-52.25 -3.907 -58.32, -52.2 -3.908 -58.32, -52.38 -11.8 -54.55, +-52.24 -11.8 -54.49, -52.36 -10.72 -54.78, -52.31 -10.72 -54.76, +-52.52 -9.647 -54.9, -52.38 -9.643 -54.84, -52.43 -8.558 -54.67, +-52.36 -8.556 -54.64, -52.5 -7.483 -54.8, -52.36 -7.479 -54.74, +-52.45 -6.412 -55.09, -52.39 -6.41 -55.06, -52.51 -5.332 -55.08, +-52.39 -5.329 -55.03, -52.2 -4.153 -55.29, -52.33 -4.157 -55.35, +-52.18 -11.8 -54.56, -52.28 -10.72 -54.79, -52.31 -9.648 -54.91, +-52.33 -8.558 -54.67, -52.3 -7.484 -54.81, -52.35 -6.413 -55.1, +-52.33 -5.333 -55.09, -52.14 -4.157 -55.36, -52.22 -3.824 -55.84, +-52.35 -3.828 -55.9, -52.15 -3.829 -55.91, -52.21 -3.913 -56.67, +-52.34 -3.917 -56.73, -52.15 -3.917 -56.74, -52.23 -3.649 -57.36, +-52.36 -3.653 -57.41, -52.17 -3.653 -57.42, -52.22 -3.906 -58.31, +-52.26 -3.907 -58.32, -52.21 -3.908 -58.32, -52.39 -11.8 -54.56, +-52.25 -11.8 -54.5, -52.38 -10.72 -54.8, -52.32 -10.72 -54.77, +-52.5 -9.647 -54.88, -52.37 -9.643 -54.82, -52.41 -8.558 -54.66, +-52.35 -8.556 -54.63, -52.52 -7.483 -54.81, -52.38 -7.479 -54.75, +-52.46 -6.412 -55.1, -52.39 -6.41 -55.07, -52.49 -5.332 -55.06, +-52.37 -5.329 -55.01, -52.2 -4.153 -55.29, -52.33 -4.157 -55.35, +-52.18 -11.8 -54.57, -52.3 -10.72 -54.8, -52.3 -9.648 -54.89, +-52.32 -8.558 -54.66, -52.31 -7.484 -54.82, -52.36 -6.413 -55.11, +-52.31 -5.333 -55.07, -52.14 -4.157 -55.36, -52.23 -3.824 -55.85, +-52.36 -3.828 -55.91, -52.16 -3.829 -55.92, -52.22 -3.913 -56.68, +-52.35 -3.917 -56.74, -52.16 -3.917 -56.75, -52.25 -3.649 -57.37, +-52.38 -3.653 -57.43, -52.18 -3.653 -57.44, -52.23 -3.906 -58.32, +-52.27 -3.907 -58.33, -52.22 -3.908 -58.33, -52.4 -11.8 -54.57, +-52.26 -11.8 -54.51, -52.4 -10.72 -54.81, -52.34 -10.72 -54.79, +-52.49 -9.647 -54.87, -52.35 -9.643 -54.81, -52.41 -8.558 -54.65, +-52.34 -8.556 -54.62, -52.53 -7.483 -54.83, -52.4 -7.479 -54.77, +-52.46 -6.412 -55.1, -52.4 -6.41 -55.07, -52.47 -5.332 -55.05, +-52.35 -5.329 -54.99, -52.21 -4.153 -55.3, -52.34 -4.157 -55.35, +-52.19 -11.8 -54.58, -52.31 -10.72 -54.82, -52.29 -9.648 -54.88, +-52.31 -8.558 -54.65, -52.33 -7.484 -54.84, -52.36 -6.413 -55.11, +-52.29 -5.333 -55.06, -52.15 -4.157 -55.37, -52.24 -3.824 -55.87, +-52.37 -3.828 -55.92, -52.18 -3.829 -55.93, -52.23 -3.913 -56.7, +-52.36 -3.917 -56.75, -52.17 -3.917 -56.76, -52.27 -3.649 -57.39, +-52.39 -3.653 -57.44, -52.2 -3.653 -57.45, -52.25 -3.906 -58.33, +-52.28 -3.907 -58.34, -52.23 -3.908 -58.35, -52.41 -11.8 -54.58, +-52.27 -11.8 -54.52, -52.41 -10.72 -54.82, -52.35 -10.72 -54.8, +-52.47 -9.647 -54.85, -52.33 -9.643 -54.79, -52.4 -8.558 -54.64, +-52.34 -8.556 -54.62, -52.55 -7.483 -54.85, -52.42 -7.479 -54.79, +-52.46 -6.412 -55.1, -52.4 -6.41 -55.07, -52.45 -5.332 -55.03, +-52.33 -5.329 -54.98, -52.22 -4.153 -55.31, -52.35 -4.157 -55.36, +-52.21 -11.8 -54.59, -52.32 -10.72 -54.83, -52.27 -9.648 -54.86, +-52.31 -8.558 -54.65, -52.35 -7.484 -54.86, -52.36 -6.413 -55.11, +-52.27 -5.333 -55.04, -52.16 -4.157 -55.37, -52.26 -3.824 -55.88, +-52.39 -3.828 -55.94, -52.2 -3.829 -55.95, -52.25 -3.913 -56.71, +-52.38 -3.917 -56.76, -52.18 -3.917 -56.77, -52.28 -3.649 -57.4, +-52.41 -3.653 -57.46, -52.22 -3.653 -57.47, -52.26 -3.906 -58.34, +-52.3 -3.907 -58.36, -52.24 -3.908 -58.36, -52.43 -11.8 -54.6, +-52.29 -11.8 -54.54, -52.42 -10.72 -54.83, -52.36 -10.72 -54.81, +-52.45 -9.647 -54.84, -52.32 -9.643 -54.78, -52.4 -8.558 -54.64, +-52.34 -8.556 -54.61, -52.57 -7.483 -54.86, -52.44 -7.479 -54.81, +-52.46 -6.412 -55.1, -52.39 -6.41 -55.07, -52.43 -5.332 -55.01, +-52.31 -5.329 -54.96, -52.23 -4.153 -55.32, -52.36 -4.157 -55.38, +-52.22 -11.8 -54.61, -52.33 -10.72 -54.84, -52.25 -9.648 -54.85, +-52.31 -8.558 -54.65, -52.37 -7.484 -54.88, -52.36 -6.413 -55.1, +-52.26 -5.333 -55.02, -52.17 -4.157 -55.39, -52.28 -3.824 -55.9, +-52.41 -3.828 -55.96, -52.21 -3.829 -55.97, -52.27 -3.913 -56.73, +-52.39 -3.917 -56.78, -52.2 -3.917 -56.79, -52.3 -3.649 -57.42, +-52.43 -3.653 -57.48, -52.24 -3.653 -57.49, -52.28 -3.906 -58.36, +-52.31 -3.907 -58.37, -52.26 -3.908 -58.38, -52.45 -11.8 -54.61, +-52.31 -11.8 -54.56, -52.42 -10.72 -54.83, -52.36 -10.72 -54.81, +-52.43 -9.647 -54.82, -52.3 -9.643 -54.76, -52.4 -8.558 -54.64, +-52.34 -8.556 -54.62, -52.59 -7.483 -54.88, -52.46 -7.479 -54.82, +-52.45 -6.412 -55.09, -52.38 -6.41 -55.06, -52.42 -5.332 -55, +-52.3 -5.329 -54.94, -52.25 -4.153 -55.34, -52.38 -4.157 -55.39, +-52.24 -11.8 -54.63, -52.33 -10.72 -54.84, -52.23 -9.648 -54.83, +-52.31 -8.558 -54.65, -52.39 -7.484 -54.89, -52.35 -6.413 -55.1, +-52.24 -5.333 -55.01, -52.19 -4.157 -55.4, -52.3 -3.824 -55.92, +-52.43 -3.828 -55.97, -52.23 -3.829 -55.98, -52.28 -3.913 -56.74, +-52.41 -3.917 -56.8, -52.22 -3.917 -56.81, -52.32 -3.649 -57.44, +-52.45 -3.653 -57.5, -52.26 -3.653 -57.51, -52.3 -3.906 -58.38, +-52.33 -3.907 -58.39, -52.28 -3.908 -58.39, ] +} +] +} +] +ROUTE seaweed03-TIMER.fraction_changed TO Plane36-COORD-INTERP.set_fraction +ROUTE Plane36-COORD-INTERP.value_changed TO Plane36-COORD.set_point +ROUTE seaweed03-TIMER.fraction_changed TO Plane37-COORD-INTERP.set_fraction +ROUTE Plane37-COORD-INTERP.value_changed TO Plane37-COORD.set_point +ROUTE seaweed03-TIMER.fraction_changed TO Plane38-COORD-INTERP.set_fraction +ROUTE Plane38-COORD-INTERP.value_changed TO Plane38-COORD.set_point +ROUTE seaweed03-TIMER.fraction_changed TO Plane39-COORD-INTERP.set_fraction +ROUTE Plane39-COORD-INTERP.value_changed TO Plane39-COORD.set_point +} +#####################tall_seaweed end + +#####################pretty_fish 2 + +DEF pretty_fish Transform { +children [ +DEF pretty_fish-TIMER TimeSensor { loop TRUE cycleInterval 40 }, +Shape +{ +appearance USE blue_finfish +geometry DEF pretty_fish-FACES IndexedFaceSet { creaseAngle 3 +solid FALSE +coord DEF pretty_fish-COORD Coordinate { +point [ -27.73 -9.142 -111.8 -27.39 -9.483 -111.2 -27.87 -9.696 -111.9 -27.27 +-9.482 -111.4 -28.23 -9.187 -112 -28.26 -9.621 -112 -28.69 -9.301 -112 -28.55 +-9.475 -112 -28.7 -9.452 -112 -29.36 -9.037 -112.1 -29.3 -9.595 -112.1 -27.23 +-9.717 -111.2 -27.27 -9.187 -111.3 -26.7 -9.498 -110.7 -29.07 -9.349 -112.1 +-28 -8.935 -112 -28.84 -9.101 -112.1 -27.39 -9.058 -111.4 -27.82 -9.955 -111.9 +-28.95 -9.711 -112.1 ] +} +texCoord DEF pretty_fish-TEXCOORD +TextureCoordinate { point [ .3496 .7741 .193 .494 .3663 .3218 .1923 .4949 +.5067 .7146 .5428 .3665 .6703 .5808 .6303 .466 .7144 .5143 .9872 .775 .9773 +.4134 .2448 .3118 .21 .7338 .01048 .4743 .782 .537 .5127 .8911 .6176 .7309 +.291 .9044 .3593 .1397 .7468 .237 ] } coordIndex [ 0 4 1 -1 1 5 2 -1 2 5 3 +-1 3 4 0 -1 4 6 1 -1 1 6 7 -1 1 7 5 -1 5 7 3 -1 3 7 6 -1 3 6 4 -1 6 8 7 -1 7 +8 6 -1 6 10 8 -1 8 10 6 -1 1 12 0 -1 1 2 11 -1 3 11 2 -1 3 0 12 -1 12 1 13 +-1 1 11 13 -1 11 3 13 -1 3 12 13 -1 9 14 6 -1 10 6 14 -1 10 14 6 -1 9 6 14 +-1 0 4 15 -1 16 15 4 -1 4 6 16 -1 15 17 0 -1 12 0 17 -1 18 11 2 -1 5 7 19 +-1 ] texCoordIndex +[ 0 4 1 -1 1 5 2 -1 2 5 3 -1 3 4 0 -1 4 6 1 -1 1 6 7 -1 1 7 5 -1 5 7 3 -1 3 +7 6 -1 3 6 4 -1 6 8 7 -1 7 8 6 -1 6 10 8 -1 8 10 6 -1 1 12 0 -1 1 2 11 -1 3 +11 2 -1 3 0 12 -1 12 1 13 -1 1 11 13 -1 11 3 13 -1 3 12 13 -1 9 14 6 -1 10 6 +14 -1 10 14 6 -1 9 6 14 -1 0 4 15 -1 16 15 4 -1 4 6 16 -1 15 17 0 -1 12 0 17 +-1 18 11 2 -1 5 7 19 -1 ] +} +} +DEF pretty_fish-COORD-INTERP CoordinateInterpolator { +key [0, 0.03333, 0.06667, 0.1, 0.1333, 0.1667, 0.2, 0.2333, 0.2667, +0.3, 0.3333, 0.3667, 0.4, 0.4333, 0.4667, 0.5, 0.5333, 0.5667, +0.6, 0.6333, 0.6667, 0.7, 0.7333, 0.7667, 0.8, 0.8333, 0.8667, +0.9, 0.9333, 0.9667, 1, ] +keyValue [-27.73 -9.142 -111.8, -27.39 -9.483 -111.2, +-27.87 -9.696 -111.9, -27.27 -9.482 -111.4, -28.23 -9.187 -112, +-28.26 -9.621 -112, -28.69 -9.301 -112, -28.55 -9.475 -112, +-28.7 -9.452 -112, -29.36 -9.037 -112.1, -29.3 -9.595 -112.1, +-27.23 -9.717 -111.2, -27.27 -9.187 -111.3, -26.7 -9.498 -110.7, +-29.07 -9.349 -112.1, -28 -8.935 -112, -28.84 -9.101 -112.1, +-27.39 -9.058 -111.4, -27.82 -9.955 -111.9, -28.95 -9.711 -112.1, +-19.86 -9.142 -111.7, -19.61 -9.483 -111.7, -19.92 -9.696 -111.7, +-19.71 -9.482 -112, -20.14 -9.187 -111.5, -20.14 -9.621 -111.5, +-20.39 -9.301 -111.3, -20.31 -9.475 -111.4, -20.39 -9.452 -111.3, +-20.78 -9.037 -111, -20.74 -9.595 -111, -19.61 -9.717 -111.9, +-19.63 -9.187 -111.9, -19.33 -9.498 -112.1, -20.6 -9.349 -111.1, +-20.01 -8.935 -111.6, -20.48 -9.101 -111.3, -19.71 -9.058 -111.9, +-19.89 -9.955 -111.7, -20.54 -9.711 -111.2, -9.363 -9.142 -108, +-9.128 -9.483 -107.6, -9.488 -9.696 -108.1, -9.023 -9.482 -107.9, +-9.83 -9.187 -108.3, -9.856 -9.621 -108.3, -10.3 -9.301 -108.6, +-10.15 -9.475 -108.5, -10.31 -9.452 -108.6, -11.1 -9.037 -109, +-11.02 -9.595 -108.9, -9.002 -9.717 -107.7, -9.03 -9.187 -107.7, +-8.6 -9.498 -107.4, -10.74 -9.349 -108.8, -9.602 -8.935 -108.2, +-10.47 -9.101 -108.7, -9.114 -9.058 -107.8, -9.444 -9.955 -108, +-10.6 -9.711 -108.7, -3.912 -9.142 -102.2, -4.025 -9.483 -102, +-3.939 -9.696 -102.2, -3.804 -9.482 -102, -3.954 -9.187 -102.4, +-3.974 -9.621 -102.4, -4.02 -9.301 -102.6, -4.005 -9.475 -102.6, +-4.027 -9.452 -102.6, -4.164 -9.037 -103, -4.148 -9.595 -102.9, +-3.903 -9.717 -102, -3.902 -9.187 -102, -3.897 -9.498 -101.8, +-4.097 -9.349 -102.8, -3.923 -8.935 -102.3, -4.043 -9.101 -102.7, +-3.887 -9.058 -102.1, -3.935 -9.955 -102.2, -4.067 -9.711 -102.8, +-4.042 -9.142 -94.64, -3.955 -9.483 -94.33, -4.116 -9.696 -94.68, +-3.816 -9.482 -94.56, -4.28 -9.187 -94.9, -4.3 -9.621 -94.89, +-4.492 -9.301 -95.14, -4.432 -9.475 -95.06, -4.499 -9.452 -95.14, +-4.794 -9.037 -95.55, -4.765 -9.595 -95.5, -3.838 -9.717 -94.42, +-3.855 -9.187 -94.43, -3.586 -9.498 -94.18, -4.667 -9.349 -95.36, +-4.164 -8.935 -94.78, -4.557 -9.101 -95.23, -3.897 -9.058 -94.51, +-4.092 -9.955 -94.66, -4.61 -9.711 -95.3, 0.5268 -9.142 -84.61, +0.329 -9.483 -84.5, 0.5386 -9.696 -84.71, 0.5204 -9.482 -84.34, +0.6269 -9.187 -84.95, 0.6122 -9.621 -84.97, 0.6833 -9.301 -85.29, +0.6601 -9.475 -85.18, 0.6767 -9.452 -85.29, 0.7017 -9.037 -85.9, +0.7024 -9.595 -85.83, 0.4095 -9.717 -84.37, 0.4207 -9.187 -84.39, +0.2616 -9.498 -84.1, 0.6995 -9.349 -85.61, 0.5928 -8.935 -84.78, +0.6987 -9.101 -85.41, 0.467 -9.058 -84.44, 0.5283 -9.955 -84.67, +0.702 -9.711 -85.51, -7.399 -9.142 -80.53, -7.752 -9.483 -80.54, +-7.285 -9.696 -80.6, -7.68 -9.482 -80.27, -6.931 -9.187 -80.71, +-6.919 -9.621 -80.74, -6.487 -9.301 -80.86, -6.632 -9.475 -80.83, +-6.484 -9.452 -80.87, -5.768 -9.037 -81.09, -5.845 -9.595 -81.07, +-7.788 -9.717 -80.36, -7.756 -9.187 -80.37, -8.22 -9.498 -80.13, +-6.097 -9.349 -80.99, -7.149 -8.935 -80.62, -6.335 -9.101 -80.91, +-7.651 -9.058 -80.4, -7.33 -9.955 -80.58, -6.218 -9.711 -80.95, +-12.33 -9.142 -71.55, -12.63 -9.483 -71.42, -12.26 -9.696 -71.67, +-12.49 -9.482 -71.2, -12.04 -9.187 -71.97, -12.05 -9.621 -72, +-11.82 -9.301 -72.4, -11.9 -9.475 -72.27, -11.83 -9.452 -72.41, +-11.55 -9.037 -73.15, -11.58 -9.595 -73.07, -12.58 -9.717 -71.27, +-12.57 -9.187 -71.28, -12.8 -9.498 -71.08, -11.67 -9.349 -72.81, +-12.16 -8.935 -71.76, -11.75 -9.101 -72.56, -12.5 -9.058 -71.33, +-12.29 -9.955 -71.63, -11.71 -9.711 -72.68, -20.23 -9.142 -67.09, +-20.51 -9.483 -66.93, -20.18 -9.696 -67.21, -20.33 -9.482 -66.73, +-19.95 -9.187 -67.48, -19.95 -9.621 -67.51, -19.66 -9.301 -67.81, +-19.76 -9.475 -67.72, -19.67 -9.452 -67.82, -19.16 -9.037 -68.29, +-19.22 -9.595 -68.24, -20.45 -9.717 -66.76, -20.43 -9.187 -66.78, +-20.67 -9.498 -66.35, -19.4 -9.349 -68.08, -20.08 -8.935 -67.29, +-19.56 -9.101 -67.91, -20.37 -9.058 -66.85, -20.2 -9.955 -67.17, +-19.48 -9.711 -67.99, -24.95 -9.142 -58.16, -25.33 -9.483 -58.21, +-24.85 -9.696 -58.22, -25.28 -9.482 -57.92, -24.54 -9.187 -58.31, +-24.54 -9.621 -58.34, -24.19 -9.301 -58.5, -24.31 -9.475 -58.45, +-24.19 -9.452 -58.51, -23.7 -9.037 -58.91, -23.75 -9.595 -58.86, +-25.4 -9.717 -58.02, -25.36 -9.187 -58.03, -25.9 -9.498 -57.86, +-23.92 -9.349 -58.72, -24.73 -8.935 -58.22, -24.08 -9.101 -58.57, +-25.23 -9.058 -58.05, -24.89 -9.955 -58.2, -24 -9.711 -58.64, +-33.02 -9.142 -60.8, -33.32 -9.483 -60.94, -32.92 -9.696 -60.82, +-33.29 -9.482 -60.64, -32.63 -9.187 -60.78, -32.61 -9.621 -60.81, +-32.26 -9.301 -60.74, -32.38 -9.475 -60.77, -32.25 -9.452 -60.75, +-31.6 -9.037 -60.66, -31.68 -9.595 -60.67, -33.37 -9.717 -60.77, +-33.34 -9.187 -60.77, -33.77 -9.498 -60.65, -31.93 -9.349 -60.71, +-32.81 -8.935 -60.78, -32.14 -9.101 -60.72, -33.25 -9.058 -60.76, +-32.96 -9.955 -60.82, -32.04 -9.711 -60.71, -40.52 -9.142 -62.45, +-40.52 -9.483 -62.86, -40.46 -9.696 -62.33, -40.71 -9.482 -62.76, +-40.35 -9.187 -61.93, -40.33 -9.621 -61.92, -40.19 -9.301 -61.43, +-40.23 -9.475 -61.6, -40.18 -9.452 -61.43, -39.91 -9.037 -60.76, +-39.94 -9.595 -60.82, -40.65 -9.717 -62.89, -40.64 -9.187 -62.85, +-40.82 -9.498 -63.35, -40.04 -9.349 -61.04, -40.44 -8.935 -62.17, +-40.14 -9.101 -61.26, -40.62 -9.058 -62.73, -40.48 -9.955 -62.38, +-40.09 -9.711 -61.15, -48.15 -9.142 -64.4, -48.52 -9.483 -64.43, +-48.02 -9.696 -64.49, -48.46 -9.482 -64.14, -47.61 -9.187 -64.71, +-47.6 -9.621 -64.75, -47.06 -9.301 -65.08, -47.25 -9.475 -64.97, +-47.06 -9.452 -65.09, -46.24 -9.037 -65.55, -46.32 -9.595 -65.51, +-48.56 -9.717 -64.25, -48.53 -9.187 -64.25, -48.99 -9.498 -64.14, +-46.6 -9.349 -65.38, -47.87 -8.935 -64.54, -46.88 -9.101 -65.2, +-48.42 -9.058 -64.27, -48.07 -9.955 -64.47, -46.74 -9.711 -65.29, +-50.67 -9.142 -71.48, -50.52 -9.483 -71.82, -50.66 -9.696 -71.33, +-50.75 -9.482 -71.85, -50.71 -9.187 -70.91, -50.69 -9.621 -70.88, +-50.77 -9.301 -70.35, -50.74 -9.475 -70.53, -50.77 -9.452 -70.35, +-50.94 -9.037 -69.42, -50.91 -9.595 -69.52, -50.64 -9.717 -71.92, +-50.64 -9.187 -71.89, -50.65 -9.498 -72.42, -50.85 -9.349 -69.85, +-50.69 -8.935 -71.18, -50.8 -9.101 -70.16, -50.67 -9.058 -71.78, +-50.65 -9.955 -71.38, -50.83 -9.711 -70.01, -55.28 -9.142 -80.06, +-55.23 -9.483 -80.38, -55.23 -9.696 -79.97, -55.45 -9.482 -80.28, +-55.14 -9.187 -79.67, -55.12 -9.621 -79.66, -54.97 -9.301 -79.3, +-55.02 -9.475 -79.42, -54.96 -9.452 -79.3, -54.61 -9.037 -78.7, +-54.65 -9.595 -78.77, -55.37 -9.717 -80.39, -55.36 -9.187 -80.36, +-55.46 -9.498 -80.78, -54.79 -9.349 -78.98, -55.22 -8.935 -79.85, +-54.91 -9.101 -79.17, -55.36 -9.058 -80.27, -55.24 -9.955 -80, +-54.85 -9.711 -79.08, -58.84 -9.142 -90.06, -58.81 -9.483 -90.43, +-58.78 -9.696 -89.94, -59.02 -9.482 -90.34, -58.68 -9.187 -89.56, +-58.66 -9.621 -89.55, -58.5 -9.301 -89.08, -58.55 -9.475 -89.24, +-58.5 -9.452 -89.08, -58.19 -9.037 -88.28, -58.22 -9.595 -88.36, +-58.94 -9.717 -90.46, -58.94 -9.187 -90.42, -59.05 -9.498 -90.88, +-58.33 -9.349 -88.64, -58.77 -8.935 -89.79, -58.44 -9.101 -88.91, +-58.93 -9.058 -90.32, -58.8 -9.955 -89.99, -58.39 -9.711 -88.78, +-52.98 -9.142 -95.9, -52.72 -9.483 -96.07, -53.03 -9.696 -95.79, +-52.9 -9.482 -96.24, -53.26 -9.187 -95.55, -53.27 -9.621 -95.52, +-53.59 -9.301 -95.28, -53.47 -9.475 -95.35, -53.59 -9.452 -95.27, +-54.26 -9.037 -94.98, -54.18 -9.595 -95, -52.78 -9.717 -96.23, +-52.8 -9.187 -96.2, -52.61 -9.498 -96.64, -53.93 -9.349 -95.09, +-53.13 -8.935 -95.72, -53.72 -9.101 -95.21, -52.86 -9.058 -96.13, +-53.01 -9.955 -95.83, -53.82 -9.711 -95.15, -47.75 -9.142 -104.3, +-47.4 -9.483 -104.5, -47.85 -9.696 -104.2, -47.54 -9.482 -104.7, +-48.21 -9.187 -104, -48.22 -9.621 -104, -48.73 -9.301 -103.7, +-48.55 -9.475 -103.8, -48.73 -9.452 -103.7, -49.75 -9.037 -103.4, +-49.63 -9.595 -103.4, -47.42 -9.717 -104.6, -47.45 -9.187 -104.6, +-47.12 -9.498 -105, -49.25 -9.349 -103.5, -47.99 -8.935 -104.2, +-48.92 -9.101 -103.7, -47.54 -9.058 -104.5, -47.81 -9.955 -104.3, +-49.08 -9.711 -103.6, -44.5 -9.142 -112.3, -44.11 -9.483 -112, +-44.62 -9.696 -112.3, -44.02 -9.482 -112.2, -44.95 -9.187 -112.2, +-44.96 -9.621 -112.2, -45.3 -9.301 -112, -45.19 -9.475 -112.1, +-45.3 -9.452 -112, -45.73 -9.037 -111.7, -45.69 -9.595 -111.7, +-43.93 -9.717 -112, -43.99 -9.187 -112.1, -43.23 -9.498 -111.6, +-45.55 -9.349 -111.8, -44.75 -8.935 -112.3, -45.41 -9.101 -112, +-44.14 -9.058 -112.2, -44.57 -9.955 -112.3, -45.48 -9.711 -111.9, +-34.41 -9.142 -110.6, -34.2 -9.483 -110.6, -34.47 -9.696 -110.6, +-34.29 -9.482 -110.8, -34.66 -9.187 -110.5, -34.67 -9.621 -110.5, +-34.91 -9.301 -110.4, -34.82 -9.475 -110.5, -34.91 -9.452 -110.4, +-35.33 -9.037 -110.3, -35.28 -9.595 -110.3, -34.21 -9.717 -110.7, +-34.23 -9.187 -110.7, -33.99 -9.498 -110.9, -35.13 -9.349 -110.4, +-34.55 -8.935 -110.6, -34.99 -9.101 -110.4, -34.29 -9.058 -110.7, +-34.45 -9.955 -110.6, -35.06 -9.711 -110.4, -27.76 -9.142 -111.6, +-27.42 -9.483 -111.1, -27.9 -9.696 -111.7, -27.29 -9.482 -111.3, +-28.24 -9.187 -112, -28.26 -9.621 -111.9, -28.67 -9.301 -112.2, +-28.54 -9.475 -112.1, -28.68 -9.452 -112.1, -29.34 -9.037 -112.3, +-29.27 -9.595 -112.3, -27.25 -9.717 -111.1, -27.29 -9.187 -111.2, +-26.68 -9.498 -110.8, -29.04 -9.349 -112.2, -28.02 -8.935 -111.8, +-28.81 -9.101 -112.2, -27.41 -9.058 -111.3, -27.85 -9.955 -111.7, +-28.93 -9.711 -112.2, -27.75 -9.142 -111.7, -27.41 -9.483 -111.1, +-27.88 -9.696 -111.8, -27.29 -9.482 -111.3, -28.23 -9.187 -112, +-28.25 -9.621 -112, -28.67 -9.301 -112.1, -28.53 -9.475 -112.1, +-28.68 -9.452 -112.1, -29.35 -9.037 -112.2, -29.28 -9.595 -112.2, +-27.25 -9.717 -111.1, -27.29 -9.187 -111.2, -26.69 -9.498 -110.7, +-29.05 -9.349 -112.2, -28.01 -8.935 -111.9, -28.82 -9.101 -112.2, +-27.41 -9.058 -111.3, -27.84 -9.955 -111.8, -28.93 -9.711 -112.2, +-27.73 -9.142 -111.8, -27.4 -9.483 -111.2, -27.87 -9.696 -111.9, +-27.28 -9.482 -111.4, -28.23 -9.187 -112, -28.25 -9.621 -112, +-28.68 -9.301 -112.1, -28.54 -9.475 -112.1, -28.69 -9.452 -112.1, +-29.36 -9.037 -112.1, -29.29 -9.595 -112.1, -27.24 -9.717 -111.2, +-27.28 -9.187 -111.2, -26.7 -9.498 -110.7, -29.07 -9.349 -112.1, +-28 -8.935 -112, -28.83 -9.101 -112.1, -27.39 -9.058 -111.4, +-27.83 -9.955 -111.8, -28.95 -9.711 -112.1, -27.73 -9.142 -111.8, +-27.39 -9.483 -111.2, -27.87 -9.696 -111.9, -27.26 -9.482 -111.5, +-28.24 -9.187 -112, -28.26 -9.621 -111.9, -28.7 -9.301 -112, +-28.56 -9.475 -112, -28.7 -9.452 -112, -29.36 -9.037 -112.1, +-29.3 -9.595 -112.1, -27.23 -9.717 -111.3, -27.26 -9.187 -111.3, +-26.7 -9.498 -110.7, -29.07 -9.349 -112.1, -28 -8.935 -111.9, +-28.85 -9.101 -112, -27.38 -9.058 -111.5, -27.83 -9.955 -111.9, +-28.96 -9.711 -112, -27.74 -9.142 -111.8, -27.38 -9.483 -111.3, +-27.88 -9.696 -111.8, -27.25 -9.482 -111.5, -28.25 -9.187 -111.9, +-28.28 -9.621 -111.9, -28.71 -9.301 -112, -28.57 -9.475 -111.9, +-28.71 -9.452 -112, -29.35 -9.037 -112.2, -29.29 -9.595 -112.2, +-27.22 -9.717 -111.3, -27.26 -9.187 -111.4, -26.68 -9.498 -110.8, +-29.07 -9.349 -112.1, -28.02 -8.935 -111.9, -28.85 -9.101 -112, +-27.37 -9.058 -111.5, -27.83 -9.955 -111.8, -28.96 -9.711 -112, +-27.75 -9.142 -111.7, -27.39 -9.483 -111.3, -27.9 -9.696 -111.7, +-27.26 -9.482 -111.5, -28.26 -9.187 -111.8, -28.29 -9.621 -111.8, +-28.7 -9.301 -112, -28.57 -9.475 -111.9, -28.71 -9.452 -112, +-29.34 -9.037 -112.3, -29.27 -9.595 -112.2, -27.22 -9.717 -111.3, +-27.26 -9.187 -111.4, -26.67 -9.498 -110.9, -29.06 -9.349 -112.1, +-28.03 -8.935 -111.8, -28.84 -9.101 -112.1, -27.38 -9.058 -111.5, +-27.85 -9.955 -111.7, -28.95 -9.711 -112.1, -27.76 -9.142 -111.6, +-27.4 -9.483 -111.2, -27.91 -9.696 -111.7, -27.27 -9.482 -111.4, +-28.26 -9.187 -111.9, -28.28 -9.621 -111.8, -28.69 -9.301 -112.1, +-28.56 -9.475 -112, -28.69 -9.452 -112.1, -29.33 -9.037 -112.3, +-29.26 -9.595 -112.3, -27.23 -9.717 -111.3, -27.27 -9.187 -111.3, +-26.66 -9.498 -110.9, -29.04 -9.349 -112.2, -28.03 -8.935 -111.8, +-28.83 -9.101 -112.1, -27.4 -9.058 -111.4, -27.86 -9.955 -111.7, +-28.93 -9.711 -112.2, -27.76 -9.142 -111.6, -27.41 -9.483 -111.1, +-27.9 -9.696 -111.7, -27.28 -9.482 -111.4, -28.25 -9.187 -111.9, +-28.27 -9.621 -111.9, -28.68 -9.301 -112.1, -28.54 -9.475 -112.1, +-28.68 -9.452 -112.1, -29.33 -9.037 -112.3, -29.27 -9.595 -112.3, +-27.24 -9.717 -111.2, -27.28 -9.187 -111.2, -26.67 -9.498 -110.9, +-29.04 -9.349 -112.2, -28.03 -8.935 -111.8, -28.82 -9.101 -112.2, +-27.41 -9.058 -111.3, -27.86 -9.955 -111.7, -28.93 -9.711 -112.2, +-27.75 -9.142 -111.7, -27.42 -9.483 -111.1, -27.89 -9.696 -111.8, +-27.29 -9.482 -111.3, -28.23 -9.187 -112, -28.26 -9.621 -112, +-28.67 -9.301 -112.2, -28.53 -9.475 -112.1, -28.68 -9.452 -112.2, +-29.35 -9.037 -112.2, -29.28 -9.595 -112.2, -27.25 -9.717 -111.1, +-27.29 -9.187 -111.2, -26.68 -9.498 -110.8, -29.05 -9.349 -112.2, +-28.01 -8.935 -111.9, -28.82 -9.101 -112.2, -27.41 -9.058 -111.3, +-27.85 -9.955 -111.7, -28.93 -9.711 -112.2, -27.74 -9.142 -111.7, +-27.41 -9.483 -111.1, -27.88 -9.696 -111.8, -27.28 -9.482 -111.4, +-28.23 -9.187 -112, -28.25 -9.621 -112, -28.68 -9.301 -112.1, +-28.54 -9.475 -112.1, -28.68 -9.452 -112.1, -29.36 -9.037 -112.2, +-29.29 -9.595 -112.1, -27.25 -9.717 -111.2, -27.29 -9.187 -111.2, +-26.7 -9.498 -110.7, -29.06 -9.349 -112.1, -28 -8.935 -111.9, +-28.83 -9.101 -112.1, -27.4 -9.058 -111.4, -27.83 -9.955 -111.8, +-28.94 -9.711 -112.1, -27.73 -9.142 -111.8, -27.39 -9.483 -111.2, +-27.87 -9.696 -111.9, -27.27 -9.482 -111.4, -28.23 -9.187 -112, +-28.26 -9.621 -112, -28.69 -9.301 -112, -28.55 -9.475 -112, +-28.7 -9.452 -112, -29.36 -9.037 -112.1, -29.3 -9.595 -112.1, +-27.23 -9.717 -111.2, -27.27 -9.187 -111.3, -26.7 -9.498 -110.7, +-29.07 -9.349 -112.1, -28 -8.935 -112, -28.84 -9.101 -112.1, +-27.39 -9.058 -111.4, -27.82 -9.955 -111.9, -28.95 -9.711 -112.1, +] +} +] +ROUTE pretty_fish-TIMER.fraction_changed TO pretty_fish-COORD-INTERP.set_fraction +ROUTE pretty_fish-COORD-INTERP.value_changed TO pretty_fish-COORD.set_point +} +#####################pretty_fish 2 end +]}#end fish group +]}#end lower level geometry +DEF GroupBoth Group{ +children[ +USE GroupUp +USE GroupDown +]} +]}#end which Choice +]} + + +DEF SharedZone BlaxxunZone{ +events[ +DEF event_1 SharedEvent{name "event1"} +DEF event_14 SharedEvent{name "P_event14"} +DEF entrySound SharedEvent{name"entrySound"} +] +} + + +DEF background01 Background { +skyColor [0 .5 .5, ] +groundColor[ 0 .5 .5, ] +skyAngle[1.5,.7] +frontUrl ["front.gif"] +rightUrl["right.gif"] +backUrl["back.gif"] +leftUrl["left.gif"] +} +DEF background02 Background { +skyColor [0 .5 .5] +groundColor [0 1 1 ] +frontUrl [""] +rightUrl[""] +backUrl[""] +leftUrl[""] +} + +ROUTE rt.trigger_changed TO whalesound.set_startTime + +ROUTE moving_on_water-TIMER.fraction_changed TO moving_on_water-POS-INTERP.set_fraction +ROUTE moving_on_water-POS-INTERP.value_changed TO moving_on_water.set_position +ROUTE moving_on_water-TIMER.fraction_changed TO moving_on_water-ROT-INTERP.set_fraction +ROUTE moving_on_water-ROT-INTERP.value_changed TO moving_on_water.set_orientation + +ROUTE sink_underwater-TIMER.fraction_changed TO sink_underwater-POS-INTERP.set_fraction +ROUTE sink_underwater-POS-INTERP.value_changed TO sink_underwater.set_position + +ROUTE liftTouch.touchTime TO toggle14.set_toggle +ROUTE toggle14.state_changed TO event_14.set_bool +ROUTE event_14.bool_changed TO toggle14SH.set_toggleState +ROUTE toggle14SH.trueTime_changed TO sh_clock14.set_forward +ROUTE toggle14SH.falseTime_changed TO sh_clock14.set_reverse +ROUTE toggle14SH.trueTime_changed TO activate_elevator.set_active +ROUTE toggle14SH.falseTime_changed TO activate_elevator.set_active +ROUTE platform_proximity.exitTime TO activate_elevator.set_unbind +ROUTE sh_clock14.fraction_changed TO m_platform-POS-INTERP.set_fraction +ROUTE m_platform-POS-INTERP.value_changed TO lift_platform.set_translation +ROUTE toggle14SH.trueTime_changed TO up_sound.set_startTime +ROUTE toggle14SH.falseTime_changed TO down_sound.set_startTime + +ROUTE water-TIMER.fraction_changed TO water-POS-INTERP.set_fraction +ROUTE water-POS-INTERP.value_changed TO water.set_translation + +ROUTE up_prox.enterTime TO whichViewScript.switchChoice_up +ROUTE up_prox.exitTime TO whichViewScript.switchChoice_down +ROUTE whichViewScript.myChoice TO which_view.whichChoice +ROUTE up_prox.isActive TO background01.set_bind +ROUTE down_prox.isActive TO background02.set_bind + +##########controls shared entry sound to alert when someone arives + + +ROUTE duration.startsound TO entrySound.set_time + + +ROUTE DoorProx.enterTime TO toggle1.set_toggle +ROUTE DoorProx.exitTime TO toggle1.set_toggle +ROUTE toggle1.state_changed TO event_1.set_bool +ROUTE event_1.bool_changed TO toggle1SH.set_toggleState +ROUTE toggle1SH.trueTime_changed TO sh_clock1.set_forward +ROUTE toggle1SH.falseTime_changed TO sh_clock1.set_reverse +ROUTE toggle1SH.trueTime_changed TO dooropened.set_startTime +ROUTE toggle1SH.falseTime_changed TO doorclosed.set_startTime +ROUTE sh_clock1.fraction_changed TO door-POS-INTERP.set_fraction +ROUTE door-POS-INTERP.value_changed TO door.set_translation + + +############################################################################# +#GameSelector +############################################################################# + + +PROTO PopUp[ +eventIn SFTime set_pop +eventIn SFString new_url +field SFString url "" +field MFNode children [] +field SFInt32 height 480 +field SFInt32 width 640 +field SFString description "Play A Game" +exposedField SFBool enabled FALSE +eventOut SFBool isOver +eventOut SFTime touchTime +]{ +Group{children[ +DEF button TouchSensor{isOver IS isOver touchTime IS touchTime enabled IS enabled} +Group{children IS children} +DEF pop Script{ +eventIn SFTime set_pop +eventIn SFBool set_over +eventIn SFString new_url IS new_url +field SFString linkURL IS url +field MFString param ["target=action"] +field SFInt32 height IS height +field SFInt32 width IS width +field SFString description IS description +url"vrmlscript: +function set_pop(v,t){ + u = new MFString('javascript:loadCustom(\"' + linkURL + '\",' + width + ',' + height + ')'); + +} +function set_over(v,t){ + if(v){ Browser.setDescription(description);} + else{Browser.setDescription('');} +} +function new_url(v,t){ + linkURL = v; +} +"} +]} +ROUTE button.touchTime TO pop.set_pop +ROUTE button.isOver TO pop.set_over +}#END PopUp PROTO + + + + + + + + +PROTO GameSelector[ + +]{ + +Transform { +children [ +Transform { +children Shape { +appearance DEF selector_appearance Appearance { +material Material { +} +texture ImageTexture { +url "map.jpg" +} +} +geometry IndexedFaceSet { +coord Coordinate { +point [ -69.61 0 -13.77 -69.64 0 3.686 -69.68 0 21.95 -51.73 0 21.95 -51.77 0 10.23 -40.66 0 -4.625 -25 0 -4.583 -19.88 0 -1.201 147.5 0 -1.307 161.7 0 -8.474 161.7 0 -13.89 -69.61 7.5 -13.77 -69.64 7.5 3.686 -69.68 7.5 21.95 -51.73 7.5 21.95 -51.77 +7.5 10.23 -40.66 7.5 -4.625 -25 7.5 -4.583 -19.88 7.5 -1.201 147.5 7.5 -1.307 161.7 7.5 -8.474 161.7 7.5 -13.89 -66.93 11.7 -11.5 -67.07 11.7 3.547 -66.97 11.7 19.25 -54.06 11.7 19.25 -54.11 11.7 9.407 -41.37 11.7 -6.821 -24.22 11.7 -6.846 -19.07 11.7 +-3.901 146.9 11.7 -4.007 159 11.7 -10.19 159 11.7 -11.19 -66.02 0 22.05 -55.4 0 22.05 -66.02 7.5 22.05 -55.4 7.5 22.05 -66.02 0 28.94 -55.4 0 28.94 -66.02 7.5 28.94 -55.4 7.5 28.94 -66.02 7.5 31.99 -55.4 7.5 31.99 -68.92 0 27.95 -52.49 0 27.95 -68.92 +7.5 27.95 -52.49 7.5 27.95 -71.72 0 30.14 -49.7 0 30.14 -71.72 7.5 30.14 -49.7 7.5 30.14 -66.02 0 153 -55.4 0 152.9 -66.02 7.5 153 -55.4 7.5 152.9 -71.72 0 151.2 -49.7 0 151.1 -71.72 7.5 151.2 -49.7 7.5 151.1 -71.72 7.5 103.3 -71.72 0 103.3 -67.46 0 +101.1 -67.46 7.5 101.1 -67.46 7.5 33.43 -67.46 0 33.43 -71.72 0 31.88 -71.72 7.5 31.88 -66.02 16.59 38.03 -55.4 16.59 38.03 -66.02 16.59 147 -55.4 16.59 146.9 ] } +coordIndex [ 0 1 12 -1 0 12 11 -1 1 2 13 -1 1 13 12 -1 51 52 54 -1 51 54 53 -1 3 4 15 -1 3 15 14 -1 4 5 16 -1 4 16 15 -1 5 6 17 -1 5 17 16 -1 6 7 18 -1 6 18 17 -1 7 8 19 -1 7 19 18 -1 8 9 20 -1 8 20 19 -1 9 10 21 -1 9 21 20 -1 10 0 11 -1 10 11 21 -1 23 +24 25 -1 23 25 26 -1 22 23 26 -1 22 26 27 -1 32 22 27 -1 32 27 28 -1 32 28 29 -1 32 29 30 -1 31 32 30 -1 11 12 23 -1 23 22 11 -1 12 13 24 -1 24 23 12 -1 13 14 25 -1 25 24 13 -1 14 15 26 -1 26 25 14 -1 15 16 27 -1 27 26 15 -1 16 17 28 -1 28 27 16 -1 17 +18 29 -1 29 28 17 -1 18 19 30 -1 30 29 18 -1 19 20 31 -1 31 30 19 -1 20 21 32 -1 32 31 20 -1 21 11 22 -1 22 32 21 -1 13 2 33 -1 33 35 13 -1 3 14 36 -1 36 34 3 -1 14 13 35 -1 35 36 14 -1 34 36 40 -1 40 38 34 -1 36 35 39 -1 39 40 36 -1 35 33 37 -1 37 39 +35 -1 44 46 50 -1 50 48 44 -1 40 39 41 -1 41 42 40 -1 45 43 47 -1 47 49 45 -1 54 52 56 -1 56 58 54 -1 51 53 57 -1 57 55 51 -1 38 40 46 -1 46 44 38 -1 39 37 43 -1 43 45 39 -1 40 42 50 -1 50 46 40 -1 41 39 45 -1 45 49 41 -1 68 67 69 -1 69 70 68 -1 60 55 +59 -1 57 59 55 -1 50 42 54 -1 54 58 50 -1 41 63 62 -1 53 41 62 -1 59 57 62 -1 53 62 57 -1 66 49 65 -1 47 65 49 -1 41 49 63 -1 63 49 66 -1 61 60 62 -1 59 62 60 -1 62 63 61 -1 61 63 64 -1 65 64 66 -1 63 66 64 -1 53 54 70 -1 70 69 53 -1 42 41 67 -1 67 68 +42 -1 41 53 69 -1 69 67 41 -1 54 42 68 -1 68 70 54 -1 ] texCoord +TextureCoordinate { point [ .203 .372 .28 .372 .664 .017 .282 .597 .168 .292 .113 .999 .786 .137 .162 .081 .375 .028 .569 .017 .281 .504 .215 .388 .27 .388 .302 .078 .215 .078 .309 .191 .379 .137 .299 .081 .375 .15 .219 .371 .264 .371 .372 .747 .792 +.75 .948 1.001 .907 .019 .372 .017 .792 .02 .194 .324 .685 .02 .484 .02 .111 .848 .793 .75 .793 .023 .376 .023 .194 .314 .191 1.001 .907 .928 .791 .02 .375 .02 .215 .292 .191 .999 .008 1 .007 .925 .008 .847 .088 .847 .088 .923 .12 .962 .195 .963 .218 +.945 .946 .946 .999 .977 .999 .999 .935 .944 .23 .959 .932 .96 .227 .944 .205 .829 .278 .829 .205 .209 .278 .209 .202 .87 .156 .883 .202 .01 .156 .023 .156 .363 .191 .379 .191 .86 .156 .871 .914 .906 .969 .919 .914 .039 .969 .052 .347 .884 .53 .884 .347 +.764 .53 .764 .201 .887 .276 .887 .201 .87 .276 .87 .181 .895 .296 .895 .161 .885 .315 .885 .268 .191 .213 .191 .196 .191 .266 .078 .199 .078 .528 .884 .351 .884 .528 .764 .351 .764 .52 .886 .358 .886 .52 .763 .358 .763 .58 .75 .58 .02 .376 .75 .376 +.02 .566 .747 .566 .017 .792 .747 .792 .017 .791 .745 .373 .745 .373 .02 .931 .945 .25 .945 .974 .064 .974 .883 .791 .75 .375 .75 .685 .75 .484 .75 .793 .02 .202 .848 .202 .401 .111 .401 .216 .999 .947 .999 .786 .457 .191 .952 .947 .952 .379 .457 .113 +.952 .216 .952 .276 .292 .168 .792 .215 .792 .276 .792 .787 .75 .378 .75 .162 .169 .299 .169 .205 .218 .231 .218 .64 .028 .64 .15 .788 .028 .788 .15 .47 .017 .281 .407 .315 .585 .664 .159 .313 .505 .315 .422 .569 .159 .47 .159 ] } texCoordIndex +[ 2 9 148 -1 2 148 145 -1 9 142 149 -1 9 149 148 -1 28 29 115 -1 28 115 114 -1 4 39 130 -1 4 130 129 -1 39 128 131 -1 39 131 130 -1 5 40 123 -1 5 123 126 -1 40 120 127 -1 40 127 123 -1 120 121 124 -1 120 124 127 -1 6 16 125 -1 6 125 122 -1 7 17 135 -1 +7 135 134 -1 18 8 138 -1 18 138 139 -1 42 43 44 -1 42 44 45 -1 41 42 45 -1 41 45 46 -1 51 41 46 -1 51 46 47 -1 51 47 48 -1 51 48 49 -1 50 51 49 -1 3 10 146 -1 146 144 3 -1 10 143 147 -1 147 146 10 -1 0 1 12 -1 12 11 0 -1 13 13 15 -1 15 15 13 -1 13 87 84 +-1 84 15 13 -1 87 14 85 -1 85 84 87 -1 14 88 86 -1 86 85 14 -1 55 52 54 -1 54 53 55 -1 122 125 133 -1 133 132 122 -1 134 135 137 -1 137 136 134 -1 139 138 140 -1 140 141 139 -1 0 0 19 -1 19 19 0 -1 1 1 20 -1 20 20 1 -1 1 0 19 -1 19 20 1 -1 93 94 96 -1 +96 95 93 -1 73 72 74 -1 74 75 73 -1 90 89 91 -1 91 92 90 -1 97 98 100 -1 100 99 97 -1 77 76 78 -1 78 79 77 -1 102 101 103 -1 103 104 102 -1 115 29 100 -1 100 99 115 -1 28 114 31 -1 31 116 28 -1 22 26 98 -1 98 97 22 -1 25 21 101 -1 101 102 25 -1 77 79 83 +-1 83 81 77 -1 78 76 80 -1 80 82 78 -1 57 56 58 -1 58 59 57 -1 119 30 118 -1 117 118 30 -1 69 68 70 -1 70 71 69 -1 60 66 65 -1 62 60 65 -1 64 63 65 -1 62 65 63 -1 34 27 34 -1 27 34 27 -1 60 61 66 -1 66 61 67 -1 33 32 99 -1 31 99 32 -1 99 31 100 -1 100 +31 116 -1 32 33 31 -1 99 31 33 -1 37 38 113 -1 113 112 37 -1 106 105 37 -1 37 107 106 -1 23 35 109 -1 109 108 23 -1 36 24 110 -1 110 111 36 -1 ] +} +} +translation -41.97 67.5 -8.294 +rotation 1 0 0 1.571 +} +Transform { +children Shape { +appearance USE selector_appearance +geometry IndexedFaceSet { +coord Coordinate { +point [ -68.64 0 98.52 -71.72 0 100.7 -68.64 7.5 98.52 -71.72 7.5 100.7 -68.64 7.5 35.2 -68.64 0 35.2 -71.72 0 33.65 -71.72 7.5 33.65 -78.94 0 98.52 -78.96 0 100.7 -78.94 7.5 98.52 -78.96 7.5 100.7 -78.94 7.5 35.2 -78.94 0 35.2 -78.96 0 33.65 -78.96 +7.5 33.65 -77.35 0 33.65 -77.34 7.5 33.65 -78.96 0 24.35 -78.96 7.5 24.35 -77.35 0 24.35 -77.34 7.5 24.35 -78.46 1.827 23.65 -78.46 5.673 23.65 -77.85 1.827 23.65 -77.84 5.673 23.65 -78.46 1.827 -18.04 -78.46 5.673 -18.04 -77.85 1.827 -18.04 -77.84 5.673 +-18.04 ] } +coordIndex [ 8 9 10 -1 11 10 9 -1 10 12 8 -1 8 12 13 -1 14 13 15 -1 12 15 13 -1 3 2 10 -1 10 11 3 -1 1 3 11 -1 11 9 1 -1 2 4 12 -1 12 10 2 -1 7 6 16 -1 26 27 29 -1 4 7 17 -1 15 12 4 -1 6 7 4 -1 6 4 5 -1 4 2 0 -1 4 0 5 -1 0 2 3 -1 0 3 1 -1 7 16 17 -1 29 +28 26 -1 4 17 15 -1 14 15 19 -1 19 18 14 -1 15 17 21 -1 21 19 15 -1 17 16 20 -1 20 21 17 -1 18 19 23 -1 23 22 18 -1 19 21 25 -1 25 23 19 -1 21 20 24 -1 24 25 21 -1 22 23 27 -1 27 26 22 -1 23 25 29 -1 29 27 23 -1 25 24 28 -1 28 29 25 -1 26 28 24 -1 ] +texCoord +TextureCoordinate { point [ -6.151 -.33 -6.45 -.348 -6.151 .204 .321 .09 .789 .748 .164 .055 .79 .004 .348 .882 .158 .273 .318 .055 .318 .215 .159 .055 -7.044 .301 .158 .215 -7.103 .652 -7.044 .652 -7.043 .652 .193 .393 .193 .844 .112 .393 .112 .844 +.191 .4 .191 .841 .11 .841 .11 .4 .377 .016 .793 .016 .352 .883 .53 .883 .352 .765 .53 .765 .243 .95 .243 .997 .938 .95 .938 .997 .791 .748 .79 .022 .377 .748 .378 .022 .789 .02 .377 .02 .791 .745 .377 .004 .378 .745 .442 .745 .793 .752 .377 .752 .53 +.882 .348 .765 .237 .947 .237 1 .894 .947 .894 1 .379 -.108 .793 -.108 .379 .784 .793 .784 .32 .273 .158 .103 .32 .104 .158 .09 .158 .28 .321 .28 .791 .013 .375 .013 .79 .748 .376 .748 .269 .094 .269 .176 .209 .094 .208 .176 .164 .206 .315 .055 .315 +.206 ] } texCoordIndex +[ 4 39 37 -1 40 37 39 -1 22 23 21 -1 21 23 24 -1 45 26 46 -1 25 46 26 -1 36 35 37 -1 37 38 36 -1 5 71 73 -1 73 72 5 -1 17 18 20 -1 20 19 17 -1 57 8 58 -1 14 14 16 -1 6 41 44 -1 43 42 6 -1 61 62 3 -1 61 3 60 -1 2 0 0 -1 2 0 2 -1 0 0 1 -1 0 1 1 -1 57 58 +59 -1 16 15 14 -1 6 44 43 -1 27 28 30 -1 30 29 27 -1 7 47 30 -1 30 48 7 -1 47 7 48 -1 48 30 47 -1 9 10 68 -1 68 67 9 -1 63 64 66 -1 66 65 63 -1 13 11 69 -1 69 70 13 -1 31 32 34 -1 34 33 31 -1 53 54 56 -1 56 55 53 -1 50 49 51 -1 51 52 50 -1 14 15 12 -1 +] +} +} +translation -41.97 67.5 -8.294 +rotation 1 0 0 1.571 +} +Transform { +children DEF button_handle Shape { +appearance USE selector_appearance +geometry IndexedFaceSet { +coord Coordinate { +point [ -1.717 0 .871 1.717 0 .871 -1.717 0 -.871 1.717 0 -.871 -1.717 10.61 .871 1.717 10.61 .871 -1.717 10.61 -.871 1.717 10.61 -.871 ] } +coordIndex [ 0 1 5 -1 5 4 0 -1 3 2 6 -1 6 7 3 -1 2 0 4 -1 4 6 2 -1 ] texCoord +TextureCoordinate { point [ .786 .021 .378 .021 .202 .008 .277 .008 .202 .941 .277 .941 .786 .748 .378 .748 ] } texCoordIndex +[ 0 1 7 -1 7 6 0 -1 1 0 6 -1 6 7 1 -1 3 2 4 -1 4 5 3 -1 ] +} +} +translation -97.38 27.11 4.374 +rotation .57735 .57735 -.57735 2.094 +} +Transform { +children USE button_handle +translation -97.38 8.373 4.374 +rotation .57735 .57735 -.57735 2.094 +scaleOrientation -.164181 .731477 -.661806 1.49124 +} +Transform { +children USE button_handle +translation -97.38 -10.81 4.374 +rotation .57735 .57735 -.57735 2.094 +scaleOrientation -.164181 .731477 -.661806 1.49124 +} +Transform { +children USE button_handle +translation -97.38 -29.95 4.374 +rotation .57735 .57735 -.57735 2.094 +scaleOrientation -.164181 .731477 -.661806 1.49124 +} +Transform { +children USE button_handle +translation -97.38 -48.58 4.374 +rotation .57735 .57735 -.57735 2.094 +scaleOrientation -.164181 .731477 -.661806 1.49124 +} +Transform { +children USE button_handle +translation -97.38 -66.21 4.374 +rotation .57735 .57735 -.57735 2.094 +scaleOrientation -.164181 .731477 -.661806 1.49124 +} +###################################################################################################### +DEF button1 Transform { +children[ + +DEF bttn_1 TouchSensor{} + +DEF small_button Shape { +appearance USE selector_appearance +geometry IndexedFaceSet { +coord Coordinate { +point [ -13.18 6.02 -5.707 13.18 6.02 -5.707 -13.18 6.02 5.707 13.18 6.02 5.707 -13.18 3.765 -7.962 -15.44 3.765 -5.707 -15.44 3.765 5.707 -13.18 3.765 7.962 13.18 3.765 7.962 15.44 3.765 5.707 15.44 3.765 -5.707 13.18 3.765 -7.962 -13.18 2.255 -7.962 +-15.44 2.255 -5.707 -15.44 2.255 5.707 -13.18 2.255 7.962 13.18 2.255 7.962 15.44 2.255 5.707 15.44 2.255 -5.707 13.18 2.255 -7.962 ] } +coordIndex [ 0 2 3 -1 0 3 1 -1 0 4 5 -1 0 5 6 -1 0 6 2 -1 2 6 7 -1 2 7 8 -1 2 8 3 -1 3 8 9 -1 3 9 10 -1 3 10 1 -1 1 10 11 -1 1 11 4 -1 1 4 0 -1 4 12 13 -1 4 13 5 -1 5 13 14 -1 5 14 6 -1 6 14 15 -1 6 15 7 -1 7 15 16 -1 7 16 8 -1 8 16 17 -1 8 17 9 -1 9 17 +18 -1 9 18 10 -1 10 18 19 -1 10 19 11 -1 11 19 12 -1 11 12 4 -1 ] texCoord +TextureCoordinate { point [ .408 .729 .761 .729 .408 .17 .761 .17 .787 .145 .73 .145 .44 .145 .073 0 .927 0 .382 .145 .787 .019 .73 .019 .44 .019 .382 .019 .396 .725 .77 .725 .396 .157 .77 .157 .405 .745 .376 .723 .376 .157 .405 .088 .76 .088 .79 .157 +.79 .723 .76 .745 .381 .161 .789 .161 .381 .013 .789 .013 .79 .149 .378 .149 .79 .011 .378 .011 .789 .154 .377 .154 .789 .02 .377 .02 ] } texCoordIndex +[ 0 2 3 -1 0 3 1 -1 14 18 19 -1 14 19 20 -1 14 20 16 -1 16 20 21 -1 26 28 29 -1 26 29 27 -1 17 22 23 -1 17 23 24 -1 17 24 15 -1 15 24 25 -1 35 37 36 -1 35 36 34 -1 4 10 11 -1 4 11 5 -1 5 11 12 -1 5 12 6 -1 6 12 13 -1 6 13 9 -1 7 7 8 -1 7 8 8 -1 9 13 12 +-1 9 12 6 -1 6 12 11 -1 6 11 5 -1 5 11 10 -1 5 10 4 -1 31 33 32 -1 31 32 30 -1 ] +} +} +Transform { translation -10 7 2 rotation 1 0 0 -1.571 scale .1666 1 1 +children[ +Shape { +appearance Appearance {material Material { ambientIntensity 0 diffuseColor 0 0 0 specularColor .31 .77 .8 emissiveColor 0 .87 0 shininess .03}} +geometry DEF game_text_1 Text {string "" fontStyle FontStyle {size 10 justify "LEFT" family "ARIAL" style "BOLD"}} +} +]} + +Transform { translation 12 6 0 scale .1666 .5 1 +children[ +DEF choose_1 PopUp{ children[ +DEF choose_button Shape { +appearance Appearance {material Material { diffuseColor .6 .6 .6 specularColor .9 .9 .9 emissiveColor .1 0 0 shininess 1}} +geometry Sphere{radius 5} +} +]}]} + +] +translation -71.9 27.08 1.324 +rotation 1 0 0 1.571 +center -15 0 0 +#scale .5 1 1 +} +###################################################################################################### +DEF button2 Transform { +children[ +USE small_button DEF bttn_2 TouchSensor{} +Transform { translation -10 7 2 rotation 1 0 0 -1.571 scale .1666 1 1 +children[ +Shape { +appearance Appearance {material Material { ambientIntensity 0 diffuseColor 0 0 0 specularColor .31 .77 .8 emissiveColor 0 .87 0 shininess .03}} +geometry DEF game_text_2 Text {string "" fontStyle FontStyle {size 10 justify "LEFT" family "ARIAL" style "BOLD"}} +} +]} + +Transform { translation 12 6 0 scale .1666 .5 1 +children[DEF choose_2 PopUp{ children[ USE choose_button]}]} + +] +translation -71.9 8.344 1.324 +rotation 1 0 0 1.571 +center -15 0 0 +#scale .5 1 1 +} +###################################################################################################### +DEF button3 Transform { +children[ +USE small_button DEF bttn_3 TouchSensor{} +Transform { translation -10 7 2 rotation 1 0 0 -1.571 scale .1666 1 1 +children[ +Shape { +appearance Appearance {material Material { ambientIntensity 0 diffuseColor 0 0 0 specularColor .31 .77 .8 emissiveColor 0 .87 0 shininess .03}} +geometry DEF game_text_3 Text {string "" fontStyle FontStyle {size 10 justify "LEFT" family "ARIAL" style "BOLD"}} +} +]} + +Transform { translation 12 6 0 scale .1666 .5 1 +children[DEF choose_3 PopUp{ children[ USE choose_button]}]} + +] +translation -71.9 -10.84 1.324 +rotation 1 0 0 1.571 +center -15 0 0 +#scale .5 1 1 +} +###################################################################################################### +DEF button4 Transform { +children[ +USE small_button DEF bttn_4 TouchSensor{} +Transform { translation -10 7 2 rotation 1 0 0 -1.571 scale .1666 1 1 +children[ +Shape { +appearance Appearance {material Material { ambientIntensity 0 diffuseColor 0 0 0 specularColor .31 .77 .8 emissiveColor 0 .87 0 shininess .03}} +geometry DEF game_text_4 Text {string "" fontStyle FontStyle {size 10 justify "LEFT" family "ARIAL" style "BOLD"}} +} +]} + +Transform { translation 12 6 0 scale .1666 .5 1 +children[DEF choose_4 PopUp{ children[ USE choose_button]}]} + +] +translation -71.9 -29.98 1.324 +rotation 1 0 0 1.571 +center -15 0 0 +#scale .5 1 1 +} +###################################################################################################### +DEF button5 Transform { +children[ +USE small_button DEF bttn_5 TouchSensor{} +Transform { translation -10 7 2 rotation 1 0 0 -1.571 scale .1666 1 1 +children[ +Shape { +appearance Appearance {material Material { ambientIntensity 0 diffuseColor 0 0 0 specularColor .31 .77 .8 emissiveColor 0 .87 0 shininess .03}} +geometry DEF game_text_5 Text {string "" fontStyle FontStyle {size 10 justify "LEFT" family "ARIAL" style "BOLD"}} +} +]} + +Transform { translation 12 6 0 scale .1666 .5 1 +children[DEF choose_5 PopUp{ children[ USE choose_button]}]} + +] +translation -71.9 -48.6 1.324 +rotation 1 0 0 1.571 +center -15 0 0 +#scale .5 1 1 +} +###################################################################################################### +DEF button6 Transform { +children[ +USE small_button DEF bttn_6 TouchSensor{} +Transform { translation -10 7 2 rotation 1 0 0 -1.571 scale .1666 1 1 +children[ +Shape { +appearance Appearance {material Material { ambientIntensity 0 diffuseColor 0 0 0 specularColor .31 .77 .8 emissiveColor 0 .87 0 shininess .03}} +geometry DEF game_text_6 Text {string "" fontStyle FontStyle {size 10 justify "LEFT" family "ARIAL" style "BOLD"}} +} +]} + +Transform { translation 12 6 0 scale .1666 .5 1 +children[DEF choose_6 PopUp{ children[ USE choose_button]}]} + +] +translation -71.9 -66.24 1.324 +rotation 1 0 0 1.571 +center -15 0 0 +#scale .5 1 1 +} +###################################################################################################### +DEF screen Transform { +children[ +Shape { +appearance USE selector_appearance +geometry IndexedFaceSet { +coord Coordinate {point [ -49.7 0 30.14 -49.7 7.5 30.14 -49.7 0 151.1 -49.7 7.5 151.1 162.9 0 30.14 162.9 7.5 30.14 162.9 0 151.1 162.9 7.5 151.1 157.9 7.5 34.8 157.9 7.5 146.4 -11.48 7.5 34.8 -11.48 7.5 146.4 155.4 3.942 36.42 155.4 3.942 144.7 -9.018 3.942 36.42 -9.018 3.942 144.7 ] } +coordIndex [ 4 5 7 6 -1 0 1 5 4 -1 3 2 6 7 -1 8 9 5 1 -1 7 5 9 3 -1 8 1 3 10 -1 3 9 11 10 -1 9 13 15 11 -1 14 12 8 10 -1 9 8 12 13 -1 15 14 10 11 -1 ] texCoord +TextureCoordinate { point [ .786 .023 .786 .156 .786 .02 .786 .159 .376 .028 .789 .028 .376 .748 .789 .748 .392 .731 .773 .731 .392 .157 .773 .157 .397 .723 .767 .723 .397 .166 .767 .166 .375 .023 .375 .156 .38 .02 .38 .159 ] } +texCoordIndex[ 2 3 19 18 -1 0 1 17 16 -1 1 0 16 17 -1 8 9 6 4 -1 7 6 9 5 -1 8 4 5 10 -1 5 9 11 10 -1 9 13 15 11 -1 14 12 8 10 -1 9 8 12 13 -1 15 14 10 11 -1 ] +convex FALSE +} +} +Shape { +appearance USE selector_appearance +geometry IndexedFaceSet { +coord Coordinate {point [ 155.4 3.942 36.42 -9.018 3.942 36.42 -9.018 3.942 144.7 155.4 3.942 144.7 ] } +coordIndex [ 0 1 2 3 -1 ] +texCoord TextureCoordinate { point [ .396 .723 .396 .16 .765 .16 .765 .723 ] } +texCoordIndex[ 0 1 2 3 -1 ] +convex FALSE +} +} +############ +# +############ +] +translation -41.97 67.5 -8.294 +rotation 1 0 0 1.571 +center -55 0 0 +scale .0001 1 1 +} +] +scale .01723 .01723 .01723 +} +###################################################################################################### + +Transform { translation -1.5 .7 .2 +children[ +Shape { +appearance Appearance {material Material { ambientIntensity 0 diffuseColor 0 0 0 specularColor .31 .77 .8 emissiveColor 0 .87 0 shininess .03}} +geometry DEF message Text {string "" fontStyle FontStyle {size .2 justify "LEFT" family "ARIAL" style "BOLD"}} +} +]} + +###################################################################################################### + + +PROTO SelectionLoader[ +eventIn SFTime set_loadTime +field SFBool onLoad TRUE +field MFString loadURL [] +exposedField MFString urls [] +exposedField MFString descriptions [] +]{ + +DEF s Script{ +eventIn SFTime set_loadTime IS set_loadTime +eventIn MFNode receive +field SFBool onLoad IS onLoad +field MFString loadURL IS loadURL +exposedField MFString urls IS urls +exposedField MFString descriptions IS descriptions +field MFNode empty [] +url"vrmlscript: +function receive(v,t){ + if(v == empty){return;} + urls = v[0].url; + descriptions = v[0].name; +} + +function initialize(){ + +} +"} +}#SelectionLoader PROTO + + +DEF bttn_clock TimeSensor{cycleInterval .5 loop FALSE enabled TRUE} +DEF bttn_interp PositionInterpolator{key[0,1] keyValue[1 1 1,6 1 1]} + +DEF prox ProximitySensor{size 20 8 20} + +DEF loader SelectionLoader{ + +} +Sound {source DEF open_sound AudioClip{url"dooropened.wav"}} + +DEF game_menu Script{ + +eventIn SFTime set_screen +eventIn SFTime set_bttn_1 +eventIn SFTime set_bttn_2 +eventIn SFTime set_bttn_3 +eventIn SFTime set_bttn_4 +eventIn SFTime set_bttn_5 +eventIn SFTime set_bttn_6 + +eventIn SFBool set_active +eventIn SFVec3f set_scale + +eventIn SFTime set_load +eventIn SFBool set_overGame +eventIn SFBool set_overSelect + +field SFBool isActive FALSE +field SFInt32 mode 0 +field SFBool isOpen_1 FALSE +field SFBool isOpen_2 FALSE +field SFBool isOpen_3 FALSE +field SFBool isOpen_4 FALSE +field SFBool isOpen_5 FALSE +field SFBool isOpen_6 FALSE +field SFNode message USE message +field SFNode loader USE loader +field MFNode choose [USE choose_1, USE choose_2, USE choose_3, USE choose_4, USE choose_5, USE choose_6] +field MFNode game_text [USE game_text_1,USE game_text_2,USE game_text_3,USE game_text_4,USE game_text_5,USE game_text_6,] +field MFString titles [] + +eventOut SFVec3f scale_1_changed +eventOut SFVec3f scale_2_changed +eventOut SFVec3f scale_3_changed +eventOut SFVec3f scale_4_changed +eventOut SFVec3f scale_5_changed +eventOut SFVec3f scale_6_changed + +eventOut SFTime bttnTime_changed +eventOut SFBool enabled_changed +eventOut SFBool enabled_1_changed +eventOut SFBool enabled_2_changed +eventOut SFBool enabled_3_changed +eventOut SFBool enabled_4_changed +eventOut SFBool enabled_5_changed +eventOut SFBool enabled_6_changed + +directOutput TRUE + +url"vrmlscript: + +function set_load(v,t){ + titles = loader.descriptions; + for(i = 0;i < loader.urls.length; i++){ + choose[i].new_url = loader.urls[i]; + } +} + +function set_closed(){ + if(mode != 1){isOpen_1 = false; enabled_1_changed = true; game_text[0].string = new MFString(); choose[0].enabled = false;}else{game_text[0].string = new MFString(titles[0]); choose[0].enabled = true;} + if(mode != 2){isOpen_2 = false; enabled_2_changed = true; game_text[1].string = new MFString(); choose[1].enabled = false;}else{game_text[1].string = new MFString(titles[1]); choose[1].enabled = true;} + if(mode != 3){isOpen_3 = false; enabled_3_changed = true; game_text[2].string = new MFString(); choose[2].enabled = false;}else{game_text[2].string = new MFString(titles[2]); choose[2].enabled = true;} + if(mode != 4){isOpen_4 = false; enabled_4_changed = true; game_text[3].string = new MFString(); choose[3].enabled = false;}else{game_text[3].string = new MFString(titles[3]); choose[3].enabled = true;} + if(mode != 5){isOpen_5 = false; enabled_5_changed = true; game_text[4].string = new MFString(); choose[4].enabled = false;}else{game_text[4].string = new MFString(titles[4]); choose[4].enabled = true;} + if(mode != 6){isOpen_6 = false; enabled_6_changed = true; game_text[5].string = new MFString(); choose[5].enabled = false;}else{game_text[5].string = new MFString(titles[5]); choose[5].enabled = true;} +} + +function set_active(v,t){ + isActive = v; + if(v){enabled_changed = false;} + else { + set_closed(); + } +} + +function set_overGame(v,t){ + if(v){message.string = new MFString('CLICK HERE TO PLAY');} + else{message.string = new MFString();} +} +function set_overSelect(v,t){ + if(v){message.string = new MFString('CLICK HERE SELECT');} + else{message.string = new MFString();} +} + +function set_bttn_1(v,t){ bttnTime_changed = t; mode = 1; isOpen_1 = true;} +function set_bttn_2(v,t){ bttnTime_changed = t; mode = 2; isOpen_2 = true;} +function set_bttn_3(v,t){ bttnTime_changed = t; mode = 3; isOpen_3 = true;} +function set_bttn_4(v,t){ bttnTime_changed = t; mode = 4; isOpen_4 = true;} +function set_bttn_5(v,t){ bttnTime_changed = t; mode = 5; isOpen_5 = true;} +function set_bttn_6(v,t){ bttnTime_changed = t; mode = 6; isOpen_6 = true;} + +function set_scale(v,t){ + if(mode == 1){scale_1_changed = v;} + if(mode == 2){scale_2_changed = v;} + if(mode == 3){scale_3_changed = v;} + if(mode == 4){scale_4_changed = v;} + if(mode == 5){scale_5_changed = v;} + if(mode == 6){scale_6_changed = v;} + + inv_v = new SFVec3f((7 - v[0]),1,1); + + if(mode != 1 && isOpen_1){ scale_1_changed = inv_v; } + if(mode != 2 && isOpen_2){ scale_2_changed = inv_v; } + if(mode != 3 && isOpen_3){ scale_3_changed = inv_v; } + if(mode != 4 && isOpen_4){ scale_4_changed = inv_v; } + if(mode != 5 && isOpen_5){ scale_5_changed = inv_v; } + if(mode != 6 && isOpen_6){ scale_6_changed = inv_v; } + +} + +"} + +ROUTE prox.enterTime TO game_menu.set_load + +ROUTE bttn_clock.isActive TO game_menu.set_active + +ROUTE game_menu.enabled_changed TO bttn_1.set_enabled +ROUTE game_menu.enabled_changed TO bttn_2.set_enabled +ROUTE game_menu.enabled_changed TO bttn_3.set_enabled +ROUTE game_menu.enabled_changed TO bttn_4.set_enabled +ROUTE game_menu.enabled_changed TO bttn_5.set_enabled +ROUTE game_menu.enabled_changed TO bttn_6.set_enabled + +ROUTE game_menu.enabled_1_changed TO bttn_1.set_enabled +ROUTE game_menu.enabled_2_changed TO bttn_2.set_enabled +ROUTE game_menu.enabled_3_changed TO bttn_3.set_enabled +ROUTE game_menu.enabled_4_changed TO bttn_4.set_enabled +ROUTE game_menu.enabled_5_changed TO bttn_5.set_enabled +ROUTE game_menu.enabled_6_changed TO bttn_6.set_enabled + +ROUTE bttn_1.touchTime TO game_menu.set_bttn_1 +ROUTE bttn_2.touchTime TO game_menu.set_bttn_2 +ROUTE bttn_3.touchTime TO game_menu.set_bttn_3 +ROUTE bttn_4.touchTime TO game_menu.set_bttn_4 +ROUTE bttn_5.touchTime TO game_menu.set_bttn_5 +ROUTE bttn_6.touchTime TO game_menu.set_bttn_6 + +ROUTE choose_1.isOver TO game_menu.set_overGame +ROUTE choose_2.isOver TO game_menu.set_overGame +ROUTE choose_3.isOver TO game_menu.set_overGame +ROUTE choose_4.isOver TO game_menu.set_overGame +ROUTE choose_5.isOver TO game_menu.set_overGame +ROUTE choose_6.isOver TO game_menu.set_overGame + +ROUTE bttn_1.isOver TO game_menu.set_overSelect +ROUTE bttn_2.isOver TO game_menu.set_overSelect +ROUTE bttn_3.isOver TO game_menu.set_overSelect +ROUTE bttn_4.isOver TO game_menu.set_overSelect +ROUTE bttn_5.isOver TO game_menu.set_overSelect +ROUTE bttn_6.isOver TO game_menu.set_overSelect + +ROUTE game_menu.bttnTime_changed TO bttn_clock.set_startTime +ROUTE game_menu.bttnTime_changed TO open_sound.set_startTime +ROUTE bttn_clock.fraction_changed TO bttn_interp.set_fraction +ROUTE bttn_interp.value_changed TO game_menu.set_scale + +ROUTE game_menu.scale_1_changed TO button1.set_scale +ROUTE game_menu.scale_2_changed TO button2.set_scale +ROUTE game_menu.scale_3_changed TO button3.set_scale +ROUTE game_menu.scale_4_changed TO button4.set_scale +ROUTE game_menu.scale_5_changed TO button5.set_scale +ROUTE game_menu.scale_6_changed TO button6.set_scale + +} + +Transform { +translation 18.175 -2.75 -2.67364 rotation 0 1 0 -1.571 + +children [ +GameSelector{} +]} + + +#################################################################################### +#Movie Screen +#################################################################################### + +PROTO MovieScreen[ +eventIn SFString set_mov +exposedField SFVec3f translation 0 0 0 +exposedField SFRotation rotation 0 1 0 0 +exposedField SFVec3f scale 1 1 1 +exposedField MFString off_image "http://www.cybertown.com/places/movies/vrml/vidnet.gif" +exposedField MFString controlURL "javascript:loadCustom('http://www.cybertown.com/cgi-bin/cybertown/admin2/vidnetvpod/movie.pl?ac=3D',300,500)" +exposedField MFString param "target=action" +]{ + +DEF dt Transform { +translation IS translation +rotation IS rotation +scale IS scale +children [ + +Transform { scale 1 .75 1 children [ +Transform{ scale 1 .75 1 translation .5 0 1 +children DEF sw Switch{ whichChoice -1 choice[ +Shape{ appearance Appearance{material Material{diffuseColor .1 .1 .1 emissiveColor 0 1 0}} +geometry Text {string ["Initializing Uplink...","Please wait..."]fontStyle FontStyle {size 2 family ["SANS"] style "ITALIC" justify "MIDDLE"}} +}]}} +Shape { +appearance Appearance {texture ImageTexture {url "movie_screen.jpg"}} +geometry IndexedFaceSet {ccw FALSE +coord Coordinate {point [9.87 -10 0, 12.652 -9.293 0, 12.641 -12.848 0, -12.771 -12.848 0, -12.782 -9.294 0, 12.684 9.45 0, 14.402 -7.996 0, -14.532 -7.996 0, -12.814 9.45 0, -10.13 -10 0, 9.87 10 0, 14.402 8.915 0, -14.532 8.915 0, -12.814 13.489 0, -9.758 15.212 0, 9.628 15.213 0, 12.684 13.489 0, -10.13 10 0, 9.87 -13.675 0, -10.13 -13.676 0,]}coordIndex [5 11 6 1 0 10 -1, 13 14 17 8 -1, 17 14 15 10 -1, 15 16 5 10 -1, 9 4 7 12 8 17 -1, 0 1 2 18 -1, 0 18 19 9 -1, 3 4 9 19 -1,] +texCoord TextureCoordinate {point [.062 .027, .942 .027, .864 -.001, .13 .002, .133 .142, .062 .143, .941 .147, .062 .871, -.005 .186, .996 .187, .938 .873, .86 .875, .138 .879, -.002 .837, .998 .837, .857 .143, .134 .138, .065 .147, .943 .149, .854 .142, .947 .959, .843 .992, .154 .992, .061 .959, .061 .88, .138 .882, .858 .882, .947 .88, .149 .002, .85 -.001,]}texCoordIndex [7 13 8 5 4 12 -1, 20 21 26 27 -1, 26 21 22 25 -1, 22 23 24 25 -1, 15 6 9 14 10 11 -1, 16 17 0 3 -1, 16 28 29 19 -1, 1 18 19 2 -1,] +}} +Shape { +appearance Appearance {texture DEF du MovieTexture {url IS off_image}} +geometry IndexedFaceSet {coord Coordinate {point [-10.13 10 0, 9.87 10 0, 9.87 -10 0, -10.13 -10 0,]}coordIndex [0 1 2 3 -1,]texCoord TextureCoordinate {point [0 1, 1 1, 1 0, 0 0,]}ccw FALSE texCoordIndex [0 1 2 3 -1,]} +} +DEF dv TouchSensor {} +]} +]} + +DEF dx Script { +eventIn SFTime set_touch +eventIn SFTime set_mediaTime +eventIn MFString set_movs +eventIn SFString set_mov IS set_mov + +field SFBool isLoading FALSE +field SFBool isPlay FALSE +field SFBool isDir TRUE +field MFString mov "" +exposedField MFString scrn IS off_image +exposedField MFString controlURL IS controlURL +exposedField MFString param IS param + +eventOut MFString mov_changed +eventOut SFTime startTime_changed +eventOut SFTime stopTime_changed +eventOut SFInt32 choice_changed + +url "vrmlscript: +function set_touch(v,t){ + if(isPlay){ + isPlay = false; + stopTime_changed = t; + choice_changed = -1; + isLoading = false; + mov_changed = scrn; + } + else{ + if(!isDir){ + isDir = true; + isPlay = true; + mov_changed = mov; + startTime_changed = t; + } + else{ + isDir = false; + + } + } +} +function set_mediaTime(v,t){ + if(v == 0 && !isLoading){choice_changed = 0; isLoading = true;} + else{ + if(isLoading && v != 0){choice_changed = -1; isLoading = false;} + } +} +function set_movs(v,t){ + mov = v; + set_touch(t,t); +} +function set_mov(v,t){ + if(isPlay){return;} + set_movs(new MFString(v),t); +} +"} +ROUTE dv.touchTime TO dx.set_touch +ROUTE dx.mov_changed TO du.set_url +ROUTE dx.startTime_changed TO du.set_startTime +ROUTE dx.stopTime_changed TO du.set_stopTime +ROUTE du.mediaTime TO dx.set_mediaTime +ROUTE dx.choice_changed TO sw.set_whichChoice +}#END MovieScreen PROTO + +DEF dx MovieScreen{ +translation 4.6 -2.6 3.4 +rotation 0 1 0 3.142 +scale .15 .15 .15 +} + +####################################################################################### +#AvatarWardrobe +####################################################################################### + +DEF PI PlaceInfo{name "PI" onLoad FALSE} +DEF aw_prox1 ProximitySensor{size 20 10 20 center -29 .75 -2} +ROUTE aw_prox1.enterTime TO PI.get_info + +Transform{translation -29.5 .75 -2 rotation 0 1 0 2.342 +children[ +DEF AW AvatarWardrobe{PI USE PI name "AW"} +]} + + + +####################################################################################### +#Bottles +####################################################################################### + +Collision{ +collide FALSE +children[ +Shape{ +appearance Appearance{material Material{transparency 1}} +geometry Box{size 1000 .00001 1000} +} +]} + +DEF bottle1 Bottle{ +sharedZone USE SharedZone +translation -15.5 1.93 -12 +rotation 0 1 0 -1.571 +bottleID 1 +liquid_offset 0 .072335 0 +pourKeys [.00001 .00001 .00001,1 1 1] + +glass_geometry[ +Billboard { +children Transform { +children Shape { +appearance Appearance {material Material {ambientIntensity 1 diffuseColor 0 .12 .14 specularColor 1 1 1 emissiveColor 0 .46 .46 shininess .35 transparency .63}} +geometry IndexedFaceSet { +coord Coordinate {point [-.055 .126 0, .055 .126 0, 0 .126 .055, -.055 .126 .027, -.027 .126 .055, .027 .126 .055, .055 .126 .027, -.004 .071 0, .004 .071 0, 0 .071 .004, -.004 .071 .002, -.002 .071 .004, .002 .071 .004, .004 .071 .002, -.009 0 0, .009 0 0, 0 0 .009, -.009 0 .005, -.005 0 .009, .005 0 .009, .009 0 .005,]} +coordIndex [7 10 3 0 -1, 11 9 2 4 -1, 10 11 4 3 -1, 9 12 5 2 -1, 13 8 1 6 -1, 12 13 6 5 -1, 14 17 10 7 -1, 18 16 9 11 -1, 17 18 11 10 -1, 16 19 12 9 -1, 20 15 8 13 -1, 19 20 13 12 -1,] +creaseAngle 3.14159 +}} +}} +] +liquid_geometry[ +Billboard { +children Transform { +children Shape { +appearance Appearance {material Material{ ambientIntensity 0 diffuseColor 0 0 0 specularColor 1 1 1 emissiveColor 0 1 0 shininess .03}} +geometry IndexedFaceSet {coord Coordinate {point [.055 .055 .027, -.055 .055 0, -.004 0 0, .004 0 .002,]}coordIndex [0 1 2 3 -1,]} +}} + +} +] + +bottle_geometry[ + +Transform { +translation 0 0 -.4 +children [ + +DEF Trigger1 TouchSensor{} + +DEF fizzy_b TimeSensor {loop FALSE cycleInterval 2} +DEF fizzy_c PositionInterpolator {key [0 .125 .75 1]keyValue [0 0 0 0 .3 0 0 .3 0 0 0 0]} +DEF fizzy_d OrientationInterpolator {key [0 .125 .75 1]keyValue [1 0 0 0 1 0 0 1.9 1 0 0 1.9 1 0 0 0]} + +DEF fizzy_a Transform { scale .7 .7 .7 +children [ +Shape { +appearance Appearance {material Material {diffuseColor .14118 .31373 .12549 ambientIntensity .049673 specularColor .891 .891 .891 shininess .2875 transparency .3}} +geometry IndexedFaceSet { creaseAngle 3 solid TRUE +coord Coordinate {point [.121 0 0, .085 0 -.085, 0 0 -.121, -.085 0 -.085, -.121 0 0, -.085 0 .085, 0 0 .121, .085 0 .085, .133 .151 0, .094 .151 -.094, 0 .151 -.133, -.094 .151 -.094, -.133 .151 0, -.094 .151 .094, 0 .151 .133, .094 .151 .094, .025 .243 0, .018 .243 -.018, 0 .243 -.025, -.018 .243 -.018, -.025 .243 0, -.018 .243 .018, 0 .243 .025, .018 .243 .018, .025 .54 0, .018 .54 -.018, 0 .54 -.025, -.018 .54 -.018, -.025 .54 0, -.018 .54 .018, 0 .54 .025, .018 .54 .018,]} +coordIndex [1 0 7 6 5 4 3 2 -1, 9 8 0 1 -1, 10 9 1 2 -1, 11 10 2 3 -1, 12 11 3 4 -1, 13 12 4 5 -1, 8 15 7 0 -1, 17 16 8 9 -1, 18 17 9 10 -1, 19 18 10 11 -1, 20 19 11 12 -1, 21 20 12 13 -1, 22 21 13 14 -1, 23 22 14 15 -1, 16 23 15 8 -1, 25 24 16 17 -1, 26 25 17 18 -1, 27 26 18 19 -1, 28 27 19 20 -1, 29 28 20 21 -1, 30 29 21 22 -1, 31 30 22 23 -1, 24 31 23 16 -1,] +}} +Shape { +appearance Appearance { +material Material {diffuseColor .5451 .19216 .51765 ambientIntensity .13943 specularColor .045 .045 .045 shininess .2875} +texture ImageTexture {url "label03.jpg"}} +geometry IndexedFaceSet { creaseAngle 3 solid TRUE +coord Coordinate {point [-.085 0 .085, 0 0 .121, .085 0 .085, -.094 .151 .094, 0 .151 .133, .094 .151 .094,]} coordIndex [4 3 0 1 -1, 5 4 1 2 -1,] +texCoord TextureCoordinate {point [.049 0, .494 0, .955 0, 0 1, .491 1, 1 1,]} texCoordIndex [4 3 0 1 -1, 5 4 1 2 -1,] +}} +]} +]} +ROUTE fizzy_b.fraction_changed TO fizzy_c.set_fraction +ROUTE fizzy_c.value_changed TO fizzy_a.set_translation +ROUTE fizzy_b.fraction_changed TO fizzy_d.set_fraction +ROUTE fizzy_d.value_changed TO fizzy_a.set_rotation +ROUTE Trigger1.touchTime TO fizzy_b.set_startTime + +] +} + +DEF bottle2 Bottle{ +sharedZone USE SharedZone +translation -15.5 1.93 -12.4 +rotation 0 1 0 -1.571 +bottleID 2 +liquid_offset 0 0 0 + +glass_geometry[ +Billboard { +children Transform { +children Shape { +appearance Appearance {material Material { diffuseColor .8 .8 1 specularColor 1 1 1 shininess 1 transparency .8}} +geometry IndexedFaceSet {solid FALSE creaseAngle .5 +coord Coordinate { point [ 0 0 -.044 0 .137 -.044 .017 0 -.041 .017 .137 -.041 .031 0 -.031 .031 .137 -.031 .041 0 -.017 .041 .137 -.017 .044 0 0 .044 .137 0 .041 0 .017 .041 .137 .017 .031 0 .031 .031 .137 .031 .017 0 .041 .017 .137 .041 0 0 .044 0 .137 .044 -.017 0 .041 -.017 .137 .041 -.031 0 .031 -.031 .137 .031 -.041 0 .017 -.041 .137 .017 -.044 0 0 -.044 .137 0 -.041 0 -.017 -.041 .137 -.017 -.031 0 -.031 -.031 .137 -.031 -.017 0 -.041 -.017 .137 -.041 0 0 0 ] } +coordIndex [0 1 3 2 -1, 2 3 5 4 -1, 4 5 7 6 -1, 6 7 9 8 -1, 8 9 11 10 -1, 10 11 13 12 -1, 12 13 15 14 -1, 14 15 17 16 -1, 16 17 19 18 -1, 18 19 21 20 -1, 20 21 23 22 -1, 22 23 25 24 -1, 24 25 27 26 -1, 26 27 29 28 -1, 28 29 31 30 -1, 30 31 1 0 -1, 32 0 2 -1, 32 2 4 -1, 32 4 6 -1, 32 6 8 -1, 32 8 10 -1, 32 10 12 -1, 32 12 14 -1, 32 14 16 -1, 32 16 18 -1, 32 18 20 -1, 32 20 22 -1, 32 22 24 -1, 32 24 26 -1, 32 26 28 -1, 32 28 30 -1, 32 30 0 -1,] +texCoord TextureCoordinate { point [ 1 0 1 1 .938 0 .938 1 .875 0 .875 1 .813 0 .813 1 .75 0 .75 1 .688 0 .688 1 .625 0 .625 1 .563 0 .563 1 .5 0 .5 1 .438 0 .438 1 .375 0 .375 1 .313 0 .313 1 .25 0 .25 1 .188 0 .188 1 .125 0 .125 1 .063 0 .063 1 0 0 0 1 .5 .5 0 .5 .691 .038 .854 .146 .854 .854 .691 .962 .962 .309 1 .5 .962 .691 .309 .962 .146 .854 .038 .691 .038 .309 .146 .146 .309 .038 ] } +texCoordIndex [0 1 3 2 -1, 2 3 5 4 -1, 4 5 7 6 -1, 6 7 9 8 -1, 8 9 11 10 -1, 10 11 13 12 -1, 12 13 15 14 -1, 14 15 17 16 -1, 16 17 19 18 -1, 18 19 21 20 -1, 20 21 23 22 -1, 22 23 25 24 -1, 24 25 27 26 -1, 26 27 29 28 -1, 28 29 31 30 -1, 30 31 33 32 -1, 34 16 36 -1, 34 36 37 -1, 34 37 40 -1, 34 40 41 -1, 34 41 42 -1, 34 42 38 -1, 34 38 39 -1, 34 39 17 -1, 34 17 43 -1, 34 43 44 -1, 34 44 45 -1, 34 45 35 -1, 34 35 46 -1, 34 46 47 -1, 34 47 48 -1, 34 48 16 -1,] +}} +}} +] +liquid_geometry[ +Billboard { +children Shape { +appearance Appearance {material Material { ambientIntensity 0 diffuseColor 0 0 0 specularColor 0 0 0 emissiveColor .74 1 .09 shininess .05}} +geometry IndexedFaceSet {solid FALSE coord Coordinate { point [ -.037 0 0 -.038 .116 0 .04 .116 0 .039 0 0 ] }coordIndex [0 1 2 3 -1,]} +}} +] + +bottle_geometry[ + +Transform { +translation 0 0 -.4 +children [ + +DEF Trigger2 TouchSensor{} + +DEF malt_b TimeSensor {loop FALSE cycleInterval 2} +DEF malt_c PositionInterpolator {key [0 .125 .75 1]keyValue [0 0 0 0 .3 0 0 .3 0 0 0 0]} +DEF malt_d OrientationInterpolator {key [0 .125 .75 1]keyValue [1 0 0 0 1 0 0 1.9 1 0 0 1.9 1 0 0 0]} + +DEF malt_a Transform { scale .7 .7 .7 +children [ +###################################### + +Shape { +appearance Appearance {material Material {ambientIntensity .05098 diffuseColor .20784 .039216 .047059 specularColor 1 1 1 shininess 1 transparency .3}} +geometry +IndexedFaceSet { solid FALSE creaseAngle 3.14159 +coord Coordinate { point [ .103 0 0 .073 0 -.073 0 0 -.103 -.073 0 -.073 -.103 0 0 -.073 0 .073 0 0 .103 .073 0 .073 .103 .477 0 .073 .477 -.073 0 .477 -.103 -.073 .477 -.073 -.103 .477 0 -.073 .477 .073 0 .477 .103 .073 .477 .073 .028 .52 0 .02 .52 -.02 0 .52 -.028 -.02 .52 -.02 -.028 .52 0 -.02 .52 .02 0 .52 .028 .02 .52 .02 .028 .633 0 .02 .633 -.02 0 .633 -.028 -.02 .633 -.02 -.028 .633 0 -.02 .633 .02 0 .633 .028 .02 .633 .02 ] } +coordIndex [1 0 7 6 5 4 3 2 -1, 9 8 0 1 -1, 10 9 1 2 -1, 11 10 2 3 -1, 12 11 3 4 -1, 13 12 4 5 -1, 14 13 5 6 -1, 15 14 6 7 -1, 8 15 7 0 -1, 17 16 8 9 -1, 18 17 9 10 -1, 19 18 10 11 -1, 20 19 11 12 -1, 21 20 12 13 -1, 22 21 13 14 -1, 23 22 14 15 -1, 16 23 15 8 -1,25 24 16 17 -1, 26 25 17 18 -1, 27 26 18 19 -1, 28 27 19 20 -1, 29 28 20 21 -1, 30 29 21 22 -1, 31 30 22 23 -1, 24 31 23 16 -1, 24 25 26 27 28 29 30 31 -1,] +}} +Transform { +children Shape { +appearance Appearance {texture ImageTexture {url "label02.jpg"}material Material {ambientIntensity .13943 diffuseColor .5451 .19216 .51765 specularColor .045 .045 .045 shininess .2875}} +geometry IndexedFaceSet {solid FALSE creaseAngle 3.14159 +coord Coordinate { point [ -.073 .145 .073 0 .314 .103 -.073 .314 .073 0 .145 .103 .073 .314 .073 .073 .145 .073 .103 .314 0 .103 .145 0 ] } +coordIndex [1 2 0 3 -1, 4 1 3 5 -1, 6 4 5 7 -1,] +texCoord TextureCoordinate { point [ 0 0 .293 1 0 1 .293 0 .707 1 .707 0 1 1 1 0 ] } +texCoordIndex [1 2 0 3 -1, 4 1 3 5 -1, 6 4 5 7 -1,] +}} +scale 1.0302 1 1.0302 +scaleOrientation 0 1 0 .055584 +} + +###################################### +]} +]} +ROUTE malt_b.fraction_changed TO malt_c.set_fraction +ROUTE malt_c.value_changed TO malt_a.set_translation +ROUTE malt_b.fraction_changed TO malt_d.set_fraction +ROUTE malt_d.value_changed TO malt_a.set_rotation +ROUTE Trigger2.touchTime TO malt_b.set_startTime + +] +} + +DEF bottle3 Bottle{ +sharedZone USE SharedZone +translation -15.5 1.93 -12.8 +rotation 0 1 0 -1.571 +bottleID 3 +liquid_offset 0 0 0 +pourKeys [.1 .00001 .1,1 1 1] + +glass_geometry[ +Billboard { +children Transform { +children Shape { +appearance Appearance {material Material {ambientIntensity 0 diffuseColor .04 .47 .54 specularColor .8 .8 .8 emissiveColor .01 .12 .14 shininess .45 transparency .6}} +geometry IndexedFaceSet {solid FALSE creaseAngle .5 +coord Coordinate { point [ 0 0 -.019 0 .137 -.044 .007 0 -.018 .017 .137 -.041 .014 0 -.014 .031 .137 -.031 .018 0 -.007 .041 .137 -.017 .019 0 0 .044 .137 0 .018 0 .007 .041 .137 .017 .014 0 .014 .031 .137 .031 .007 0 .018 .017 .137 .041 0 0 .019 0 .137 .044 -.007 0 .018 -.017 .137 .041 -.014 0 .014 -.031 .137 .031 -.018 0 .007 -.041 .137 .017 -.019 0 0 -.044 .137 0 -.018 0 -.007 -.041 .137 -.017 -.014 0 -.014 -.031 .137 -.031 -.007 0 -.018 -.017 .137 -.041 0 0 0 ] } +coordIndex [0 1 3 2 -1, 2 3 5 4 -1, 4 5 7 6 -1, 6 7 9 8 -1, 8 9 11 10 -1, 10 11 13 12 -1, 12 13 15 14 -1, 14 15 17 16 -1, 16 17 19 18 -1, 18 19 21 20 -1, 20 21 23 22 -1, 22 23 25 24 -1, 24 25 27 26 -1, 26 27 29 28 -1, 28 29 31 30 -1, 30 31 1 0 -1, 32 0 2 -1, 32 2 4 -1, 32 4 6 -1, 32 6 8 -1, 32 8 10 -1, 32 10 12 -1, 32 12 14 -1, 32 14 16 -1, 32 16 18 -1, 32 18 20 -1, 32 20 22 -1, 32 22 24 -1, 32 24 26 -1, 32 26 28 -1, 32 28 30 -1, 32 30 0 -1,] +texCoord TextureCoordinate { point [ 1 0 1 1 .938 0 .938 1 .875 0 .875 1 .813 0 .813 1 .75 0 .75 1 .688 0 .688 1 .625 0 .625 1 .563 0 .563 1 .5 0 .5 1 .438 0 .438 1 .375 0 .375 1 .313 0 .313 1 .25 0 .25 1 .188 0 .188 1 .125 0 .125 1 .063 0 .063 1 0 0 0 1 .5 .5 0 .5 .691 .038 .854 .146 .854 .854 .691 .962 .962 .309 1 .5 .962 .691 .309 .962 .146 .854 .038 .691 .038 .309 .146 .146 .309 .038 ] } +texCoordIndex [0 1 3 2 -1, 2 3 5 4 -1, 4 5 7 6 -1, 6 7 9 8 -1, 8 9 11 10 -1, 10 11 13 12 -1, 12 13 15 14 -1, 14 15 17 16 -1, 16 17 19 18 -1, 18 19 21 20 -1, 20 21 23 22 -1, 22 23 25 24 -1, 24 25 27 26 -1, 26 27 29 28 -1, 28 29 31 30 -1, 30 31 33 32 -1, 34 16 36 -1, 34 36 37 -1, 34 37 40 -1, 34 40 41 -1, 34 41 42 -1, 34 42 38 -1, 34 38 39 -1, 34 39 17 -1, 34 17 43 -1, 34 43 44 -1, 34 44 45 -1, 34 45 35 -1, 34 35 46 -1, 34 46 47 -1, 34 47 48 -1, 34 48 16 -1,] +}} +}} +] +liquid_geometry[ +Billboard { +children Shape { +appearance Appearance {material Material {ambientIntensity 0 diffuseColor 0 0 0 specularColor .62 .55 .26 emissiveColor 1 .49 .11 shininess .05}} +geometry IndexedFaceSet {solid FALSE coord Coordinate { point [ -.017 0 0 -.038 .116 0 .04 .116 0 .019 0 0 ] }coordIndex [0 1 2 3 -1,]} +}} +] + +bottle_geometry[ + +Transform { +translation 0 0 -.4 +children [ + +DEF Trigger3 TouchSensor{} + +DEF sparkling_b TimeSensor {loop FALSE cycleInterval 2} +DEF sparkling_c PositionInterpolator {key [0 .125 .75 1]keyValue [0 0 0 0 .3 0 0 .3 0 0 0 0]} +DEF sparkling_d OrientationInterpolator {key [0 .125 .75 1]keyValue [1 0 0 0 1 0 0 1.9 1 0 0 1.9 1 0 0 0]} + +DEF sparkling_a Transform { scale .7 .7 .7 +children [ +###################################### + +Shape { +appearance Appearance {material Material {ambientIntensity .039216 diffuseColor .058824 .039216 .20784 specularColor .891 .891 .891 shininess .2875 transparency .3}} +geometry IndexedFaceSet {solid FALSE creaseAngle 3.14159 +coord Coordinate { point [ .133 0 0 .094 0 -.094 0 0 -.133 -.094 0 -.094 -.133 0 0 -.094 0 .094 0 0 .133 .094 0 .094 .169 .136 0 .119 .136 -.119 0 .136 -.169 -.119 .136 -.119 -.169 .136 0 -.119 .136 .119 0 .136 .169 .119 .136 .119 .166 .296 0 .117 .296 -.117 0 .296 -.166 -.117 .296 -.117 -.166 .296 0 -.117 .296 .117 0 .296 .166 .117 .296 .117 .039 .548 0 .028 .548 -.028 0 .548 -.039 -.028 .548 -.028 -.039 .548 0 -.028 .548 .028 0 .548 .039 .028 .548 .028 .039 .619 0 .028 .619 -.028 0 .619 -.039 -.028 .619 -.028 -.039 .619 0 -.028 .619 .028 0 .619 .039 .028 .619 .028 ] } +coordIndex [1 0 7 6 5 4 3 2 -1, 9 8 0 1 -1, 10 9 1 2 -1, 11 10 2 3 -1, 12 11 3 4 -1, 13 12 4 5 -1, 14 13 5 6 -1, 15 14 6 7 -1, 8 15 7 0 -1, 17 16 8 9 -1, 18 17 9 10 -1, 19 18 10 11 -1, 20 19 11 12 -1, 21 20 12 13 -1, 22 21 13 14 -1, 25 24 16 17 -1, 26 25 17 18 -1, 27 26 18 19 -1, 28 27 19 20 -1, 29 28 20 21 -1, 30 29 21 22 -1, 31 30 22 23 -1, 24 31 23 16 -1, 33 32 24 25 -1, 34 33 25 26 -1, 35 34 26 27 -1, 36 35 27 28 -1, 37 36 28 29 -1, 38 37 29 30 -1, 39 38 30 31 -1, 32 39 31 24 -1,] +}} +Transform { +children Shape { +appearance Appearance { +texture ImageTexture {url "label01.jpg"}material Material {ambientIntensity .13943 diffuseColor .5451 .19216 .51765 specularColor .045 .045 .045 shininess .2875}} +geometry IndexedFaceSet {solid FALSE creaseAngle 3.14159 +coord Coordinate { point [ .169 .234 0 0 .234 .169 .119 .234 .119 .166 .394 0 0 .394 .166 .117 .394 .117 ] } +coordIndex [5 4 1 2 -1, 3 5 2 0 -1,] +texCoord TextureCoordinate { point [ 1 0 0 0 .5 0 .991 1 .009 1 .5 1 ] } +texCoordIndex [5 4 1 2 -1, 3 5 2 0 -1,] +}} +translation 0 -.098208 0 +} + +###################################### +]} +]} +ROUTE sparkling_b.fraction_changed TO sparkling_c.set_fraction +ROUTE sparkling_c.value_changed TO sparkling_a.set_translation +ROUTE sparkling_b.fraction_changed TO sparkling_d.set_fraction +ROUTE sparkling_d.value_changed TO sparkling_a.set_rotation +ROUTE Trigger3.touchTime TO sparkling_b.set_startTime + +] +} + +DEF effect FizzEffect{} +ROUTE bottle1.effectTime_changed TO effect.set_time +ROUTE bottle2.effectTime_changed TO effect.set_time +ROUTE bottle3.effectTime_changed TO effect.set_time + + + diff --git a/spa/assets/worlds/009/jellyfish.gif b/spa/assets/worlds/009/jellyfish.gif new file mode 100644 index 00000000..405c4d11 Binary files /dev/null and b/spa/assets/worlds/009/jellyfish.gif differ diff --git a/spa/assets/worlds/009/label01.jpg b/spa/assets/worlds/009/label01.jpg new file mode 100644 index 00000000..209ef3a0 Binary files /dev/null and b/spa/assets/worlds/009/label01.jpg differ diff --git a/spa/assets/worlds/009/label02.jpg b/spa/assets/worlds/009/label02.jpg new file mode 100644 index 00000000..c72faf87 Binary files /dev/null and b/spa/assets/worlds/009/label02.jpg differ diff --git a/spa/assets/worlds/009/label03.jpg b/spa/assets/worlds/009/label03.jpg new file mode 100644 index 00000000..9d49e05f Binary files /dev/null and b/spa/assets/worlds/009/label03.jpg differ diff --git a/spa/assets/worlds/009/left.gif b/spa/assets/worlds/009/left.gif new file mode 100644 index 00000000..aa8c51b3 Binary files /dev/null and b/spa/assets/worlds/009/left.gif differ diff --git a/spa/assets/worlds/009/left2.gif b/spa/assets/worlds/009/left2.gif new file mode 100644 index 00000000..a2cbed2c Binary files /dev/null and b/spa/assets/worlds/009/left2.gif differ diff --git a/spa/assets/worlds/009/left3.gif b/spa/assets/worlds/009/left3.gif new file mode 100644 index 00000000..a5b0096b Binary files /dev/null and b/spa/assets/worlds/009/left3.gif differ diff --git a/spa/assets/worlds/009/light3.png b/spa/assets/worlds/009/light3.png new file mode 100644 index 00000000..6f2c7f86 Binary files /dev/null and b/spa/assets/worlds/009/light3.png differ diff --git a/spa/assets/worlds/009/map.gif b/spa/assets/worlds/009/map.gif new file mode 100644 index 00000000..cb6feb7a Binary files /dev/null and b/spa/assets/worlds/009/map.gif differ diff --git a/spa/assets/worlds/009/map.jpg b/spa/assets/worlds/009/map.jpg new file mode 100644 index 00000000..ffde163b Binary files /dev/null and b/spa/assets/worlds/009/map.jpg differ diff --git a/spa/assets/worlds/009/mb_floor5.jpg b/spa/assets/worlds/009/mb_floor5.jpg new file mode 100644 index 00000000..fb3c3389 Binary files /dev/null and b/spa/assets/worlds/009/mb_floor5.jpg differ diff --git a/spa/assets/worlds/009/mb_window.png b/spa/assets/worlds/009/mb_window.png new file mode 100644 index 00000000..02fb67e1 Binary files /dev/null and b/spa/assets/worlds/009/mb_window.png differ diff --git a/spa/assets/worlds/009/movie_screen.jpg b/spa/assets/worlds/009/movie_screen.jpg new file mode 100644 index 00000000..8e5e43f4 Binary files /dev/null and b/spa/assets/worlds/009/movie_screen.jpg differ diff --git a/spa/assets/worlds/009/mr_fish2.gif b/spa/assets/worlds/009/mr_fish2.gif new file mode 100644 index 00000000..549f36f6 Binary files /dev/null and b/spa/assets/worlds/009/mr_fish2.gif differ diff --git a/spa/assets/worlds/009/ocean.wav b/spa/assets/worlds/009/ocean.wav new file mode 100644 index 00000000..ad39b740 Binary files /dev/null and b/spa/assets/worlds/009/ocean.wav differ diff --git a/spa/assets/worlds/009/outer_wall11.gif b/spa/assets/worlds/009/outer_wall11.gif new file mode 100644 index 00000000..4fbeff8d Binary files /dev/null and b/spa/assets/worlds/009/outer_wall11.gif differ diff --git a/spa/assets/worlds/009/outer_wall12.gif b/spa/assets/worlds/009/outer_wall12.gif new file mode 100644 index 00000000..d6cbd635 Binary files /dev/null and b/spa/assets/worlds/009/outer_wall12.gif differ diff --git a/spa/assets/worlds/009/pad_walls.gif b/spa/assets/worlds/009/pad_walls.gif new file mode 100644 index 00000000..2b1b0f0a Binary files /dev/null and b/spa/assets/worlds/009/pad_walls.gif differ diff --git a/spa/assets/worlds/009/pillar2.gif b/spa/assets/worlds/009/pillar2.gif new file mode 100644 index 00000000..e7f1b3ad Binary files /dev/null and b/spa/assets/worlds/009/pillar2.gif differ diff --git a/spa/assets/worlds/009/plainmarble2.jpg b/spa/assets/worlds/009/plainmarble2.jpg new file mode 100644 index 00000000..254d331b Binary files /dev/null and b/spa/assets/worlds/009/plainmarble2.jpg differ diff --git a/spa/assets/worlds/009/pool_border.gif b/spa/assets/worlds/009/pool_border.gif new file mode 100644 index 00000000..fc7c26b3 Binary files /dev/null and b/spa/assets/worlds/009/pool_border.gif differ diff --git a/spa/assets/worlds/009/right.gif b/spa/assets/worlds/009/right.gif new file mode 100644 index 00000000..c51f841c Binary files /dev/null and b/spa/assets/worlds/009/right.gif differ diff --git a/spa/assets/worlds/009/right2.gif b/spa/assets/worlds/009/right2.gif new file mode 100644 index 00000000..c91b78fc Binary files /dev/null and b/spa/assets/worlds/009/right2.gif differ diff --git a/spa/assets/worlds/009/right3.gif b/spa/assets/worlds/009/right3.gif new file mode 100644 index 00000000..cd184187 Binary files /dev/null and b/spa/assets/worlds/009/right3.gif differ diff --git a/spa/assets/worlds/009/roof1c.gif b/spa/assets/worlds/009/roof1c.gif new file mode 100644 index 00000000..06266507 Binary files /dev/null and b/spa/assets/worlds/009/roof1c.gif differ diff --git a/spa/assets/worlds/009/sea_decor3.gif b/spa/assets/worlds/009/sea_decor3.gif new file mode 100644 index 00000000..922a20ba Binary files /dev/null and b/spa/assets/worlds/009/sea_decor3.gif differ diff --git a/spa/assets/worlds/009/sea_rock_decor.gif b/spa/assets/worlds/009/sea_rock_decor.gif new file mode 100644 index 00000000..2090cbab Binary files /dev/null and b/spa/assets/worlds/009/sea_rock_decor.gif differ diff --git a/spa/assets/worlds/009/sea_weed.gif b/spa/assets/worlds/009/sea_weed.gif new file mode 100644 index 00000000..9660dde0 Binary files /dev/null and b/spa/assets/worlds/009/sea_weed.gif differ diff --git a/spa/assets/worlds/009/stone_w.gif b/spa/assets/worlds/009/stone_w.gif new file mode 100644 index 00000000..5f2d94d9 Binary files /dev/null and b/spa/assets/worlds/009/stone_w.gif differ diff --git a/spa/assets/worlds/009/up.wav b/spa/assets/worlds/009/up.wav new file mode 100644 index 00000000..cbe1869d Binary files /dev/null and b/spa/assets/worlds/009/up.wav differ diff --git a/spa/assets/worlds/009/wall_text5.gif b/spa/assets/worlds/009/wall_text5.gif new file mode 100644 index 00000000..48dda1ca Binary files /dev/null and b/spa/assets/worlds/009/wall_text5.gif differ diff --git a/spa/assets/worlds/009/water_d.gif b/spa/assets/worlds/009/water_d.gif new file mode 100644 index 00000000..ea0b62c5 Binary files /dev/null and b/spa/assets/worlds/009/water_d.gif differ diff --git a/spa/assets/worlds/009/waves1.wav b/spa/assets/worlds/009/waves1.wav new file mode 100644 index 00000000..dcf3e67b Binary files /dev/null and b/spa/assets/worlds/009/waves1.wav differ diff --git a/spa/assets/worlds/009/whale.wav b/spa/assets/worlds/009/whale.wav new file mode 100644 index 00000000..cf80fcce Binary files /dev/null and b/spa/assets/worlds/009/whale.wav differ diff --git a/spa/assets/worlds/009/window.png b/spa/assets/worlds/009/window.png new file mode 100644 index 00000000..04a8da9f Binary files /dev/null and b/spa/assets/worlds/009/window.png differ diff --git a/spa/assets/worlds/009/wood_floor.gif b/spa/assets/worlds/009/wood_floor.gif new file mode 100644 index 00000000..d0b7e31b Binary files /dev/null and b/spa/assets/worlds/009/wood_floor.gif differ diff --git a/spa/assets/worlds/009/wood_rail.gif b/spa/assets/worlds/009/wood_rail.gif new file mode 100644 index 00000000..bbaa4359 Binary files /dev/null and b/spa/assets/worlds/009/wood_rail.gif differ diff --git a/spa/assets/worlds/009/yellow_finfish.gif b/spa/assets/worlds/009/yellow_finfish.gif new file mode 100644 index 00000000..b4e0411b Binary files /dev/null and b/spa/assets/worlds/009/yellow_finfish.gif differ diff --git a/spa/assets/worlds/00a/home.wrl b/spa/assets/worlds/00a/home.wrl index 085e1cf6..25e3e0a2 100644 --- a/spa/assets/worlds/00a/home.wrl +++ b/spa/assets/worlds/00a/home.wrl @@ -16,6 +16,15 @@ eventOut SFVec3f newPosition eventOut SFRotation newRotation ] "/externprotos/shared_xite.wrl#SharedObject" +EXTERNPROTO SharedEvent [ +exposedField SFString name +exposedField SFString type +eventIn SFTime set_time +eventOut SFTime timeToServer +eventIn SFTime timeFromServer +eventOut SFTime time_changed +] [ "/externprotos/shared_xite.wrl#SharedEvent" ] + ############################################################################# #Random Trigger ############################################################################# @@ -261,36 +270,19 @@ function set_vec3f (value, time){if(debug){print(name + ' sent vec3f ev ############################################################################# PROTO BlaxxunZone [#PROTO supplied by BLAXXUN - -eventIn MFNode addEvents -eventIn MFNode removeEvents -eventIn MFNode addAvatars -eventIn MFNode removeAvatars +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars exposedField MFNode events [] -exposedField MFNode avatars [] -eventOut MFNode events_added -eventOut MFNode events_removed +exposedField MFNode avatars [] +exposedField SFString myAvatarURL "" +exposedField SFString myAvatarName "" +exposedField SFFloat number_avatars 0 eventOut MFNode avatars_added eventOut MFNode avatars_removed -eventIn SFString set_myAvatarURL -eventOut SFString myAvatarURL_changed -eventIn SFInt32 set_myAvatarGesture -eventIn SFInt32 myAvatarGestureFromServer -exposedField SFNode beamToViewpoint NULL -eventOut SFInt32 myAvatarGesture_changed -eventOut SFInt32 myAvatarGestureToServer exposedField MFNode avatarLOD [] -exposedField MFFloat avatarRange [] -exposedField MFString sendToChat "" -exposedField SFFloat beamToDistance 3 -exposedField MFString groupChatName "" -exposedField MFString groupChat "" -exposedField SFString myAvatarName "" -eventIn MFNode addObjects -eventIn MFNode removeObjects -eventOut MFNode objects_added -eventOut MFNode objects_removed - +exposedField MFFloat avatarRange [] ]{ Transform { addChildren IS addEvents @@ -304,6 +296,13 @@ Transform { } }# END BlaxxunZone +DEF SharedZone BlaxxunZone { + events [ + + ] +} + + ######################################################################### #Drink @@ -1147,12 +1146,7 @@ Background { rightUrl "panorama2.jpg" } -DEF direct_back_blue DirectionalLight { -intensity 1 -color 0.125 0.149 0.604 -direction 0 0 1 -on TRUE -} + DEF direct_front_sunlight DirectionalLight { intensity 1 @@ -1160,24 +1154,14 @@ color 1 0.827 0.361 direction 0 0 -1 on TRUE } -DEF direct_left_grey DirectionalLight { -intensity 1 -color 0.31 0.31 0.31 -direction 1 0 0 -on TRUE -} + DEF direct_overhead_coolgrey DirectionalLight { intensity 1 color 0.6 0.69 0.722 direction 0 -1 0 on TRUE } -DEF direct_right_grey DirectionalLight { -intensity 1 -color 0.31 0.31 0.31 -direction -1 0 0 -on TRUE -} + DEF direct_under_warmgrey DirectionalLight { intensity 1 color 0.341 0.302 0.255 @@ -1187,90 +1171,91 @@ on TRUE DEF viewpoint__pool_terrace Viewpoint { position 74.3 4.28 78.7 orientation 0 -1 0 -0.838 -fieldOfView 0.602 +fieldOfView 0.7854 description "Pool" } DEF viewpoint_terrace Viewpoint { position 2.78 10 2.43 orientation 0 1 0 -0.113 -fieldOfView 0.602 +fieldOfView 0.7854 description "Terrace" } DEF viewpoint_front_door Viewpoint { position -8.29 4.62 60.3 orientation 0 -1 0 -0.576 -fieldOfView 0.602 +fieldOfView 0.7854 description "Frount Door" } DEF viewpoint_backyard Viewpoint { position -103 4.82 -39.3 orientation 0 -1 0 -4.4 -fieldOfView 0.602 +fieldOfView 0.7854 description "Backyard" } DEF viewpoint_bathroom Viewpoint { position -6.34 19.4 17.4 orientation 0 -1 0 -1.54 -fieldOfView 0.602 +fieldOfView 0.7854 description "Bathroom" } DEF viewpoint_bedroom Viewpoint { position 3.21 19.4 -23.9 orientation 0 -1 0 -2.09 -fieldOfView 0.602 +fieldOfView 0.7854 description "Bedroom" } DEF viewpoint_den Viewpoint { position 24.2 10.7 -41 orientation 0 -1 0 -2.84 -fieldOfView 0.602 +fieldOfView 0.7854 description "Den" } DEF viewpoint_dining_room Viewpoint { position -24.5 4.82 -27 orientation 0 -1 0 -4.65 -fieldOfView 0.602 +fieldOfView 0.7854 description "Dining_room" } DEF viewpoint_foyer Viewpoint { position -32.4 4.82 -23.3 orientation 0 -1 0 -3.37 -fieldOfView 0.602 +fieldOfView 0.7854 description "Foyer" } DEF viewpoint_garage Viewpoint { position 13.8 4.82 -73.6 orientation 0 1 0 -1.17 -fieldOfView 0.602 +fieldOfView 0.7854 description "Garage" } DEF viewpoint_kitchen Viewpoint { position 16 4.82 -51.9 orientation 0 -1 0 -4.09 -fieldOfView 0.602 +fieldOfView 0.7854 description "Kitchen" } DEF viewpoint_living_room Viewpoint { position -45.3 4.82 49.7 orientation 0 1 0 -0.332 -fieldOfView 0.602 +fieldOfView 0.7854 description "Living_room" } DEF viewpoint_recroom Viewpoint { position -45.2 10.7 34 orientation 0 1 0 -0.157 -fieldOfView 0.602 +fieldOfView 0.7854 description "Recroom" } -NavigationInfo { headlight FALSE visibilityLimit 200 type ["WALK" "ANY"] speed 10 } - - - - - +NavigationInfo { +avatarSize [ +.25 1.75 .75 +] +speed 3 +headlight FALSE +} Group{#sounds @@ -8311,7 +8296,7 @@ DEF elevator_view_outside Viewpoint { jump TRUE position -19.102 4.11 -61.31 orientation 0 1 0 3.13 #0 1 0 .8126 -fieldOfView 0.602 +fieldOfView 0.7854 description "" } @@ -8326,7 +8311,7 @@ DEF elevator_view_inside Viewpoint { jump TRUE position -19.102 4.11 -61.31 orientation 0 1 0 3.13 #0 1 0 .8126 -fieldOfView 0.602 +fieldOfView 0.7854 description "" } DEF activate_elevator Script{ diff --git a/spa/assets/worlds/bank/images/bank.jpg b/spa/assets/worlds/bank/images/bank.jpg new file mode 100644 index 00000000..55027f18 Binary files /dev/null and b/spa/assets/worlds/bank/images/bank.jpg differ diff --git a/spa/assets/worlds/bank/vrml/bank.wrl b/spa/assets/worlds/bank/vrml/bank.wrl index b1e98f41..58022f9c 100644 Binary files a/spa/assets/worlds/bank/vrml/bank.wrl and b/spa/assets/worlds/bank/vrml/bank.wrl differ diff --git a/spa/assets/worlds/beach/vrml/beach.wrl b/spa/assets/worlds/beach/vrml/beach.wrl index 91ddc8b3..f920baaa 100644 --- a/spa/assets/worlds/beach/vrml/beach.wrl +++ b/spa/assets/worlds/beach/vrml/beach.wrl @@ -123,8 +123,11 @@ DirectionalLight { direction 0 -1 0 } -NavigationInfo -{ +NavigationInfo { +avatarSize [ +.25 1.75 .75 +] +speed 3.5 headlight FALSE } Transform diff --git a/spa/assets/worlds/blackmarket/vrml/blackmarket.wrl b/spa/assets/worlds/blackmarket/vrml/blackmarket.wrl index a393a026..dffa04a5 100644 --- a/spa/assets/worlds/blackmarket/vrml/blackmarket.wrl +++ b/spa/assets/worlds/blackmarket/vrml/blackmarket.wrl @@ -420,7 +420,7 @@ ROUTE SOScript.choice_changed TO SOSwitch.set_whichChoice } #END SharedObject PROTO NavigationInfo { - avatarSize [0.25 1.75 0.75000] + avatarSize [0.25 1.75 0.75] visibilityLimit 0.0 speed 6.0 headlight FALSE @@ -437,17 +437,55 @@ position 0 1.75 0 orientation 0 1 0 0 description "Back to the Hood" } -DirectionalLight { -direction 1 -.3 0 -} -DirectionalLight { -direction -1 .3 0 -} -DirectionalLight { -direction 0 .3 -1 -} -DirectionalLight { -direction 0 -.3 1 +DEF dad_Global_1 Transform { + translation 125 -100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_1 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_2 Transform { + translation 125 100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_2 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_3 Transform { + translation -125 100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_3 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_4 Transform { + translation -125 -100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_4 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] } Transform { children Shape { diff --git a/spa/assets/worlds/championhome/Door.png b/spa/assets/worlds/championhome/Door.png new file mode 100644 index 00000000..c1f8029f Binary files /dev/null and b/spa/assets/worlds/championhome/Door.png differ diff --git a/spa/assets/worlds/championhome/alum.jpg b/spa/assets/worlds/championhome/alum.jpg new file mode 100644 index 00000000..81915368 Binary files /dev/null and b/spa/assets/worlds/championhome/alum.jpg differ diff --git a/spa/assets/worlds/championhome/cliff.jpg b/spa/assets/worlds/championhome/cliff.jpg new file mode 100644 index 00000000..cd77237a Binary files /dev/null and b/spa/assets/worlds/championhome/cliff.jpg differ diff --git a/spa/assets/worlds/championhome/clouds_1.jpg b/spa/assets/worlds/championhome/clouds_1.jpg new file mode 100644 index 00000000..993af87c Binary files /dev/null and b/spa/assets/worlds/championhome/clouds_1.jpg differ diff --git a/spa/assets/worlds/championhome/clouds_2.jpg b/spa/assets/worlds/championhome/clouds_2.jpg new file mode 100644 index 00000000..c3daae71 Binary files /dev/null and b/spa/assets/worlds/championhome/clouds_2.jpg differ diff --git a/spa/assets/worlds/championhome/clouds_3.jpg b/spa/assets/worlds/championhome/clouds_3.jpg new file mode 100644 index 00000000..384b71eb Binary files /dev/null and b/spa/assets/worlds/championhome/clouds_3.jpg differ diff --git a/spa/assets/worlds/championhome/clouds_4.jpg b/spa/assets/worlds/championhome/clouds_4.jpg new file mode 100644 index 00000000..18ba4dd2 Binary files /dev/null and b/spa/assets/worlds/championhome/clouds_4.jpg differ diff --git a/spa/assets/worlds/championhome/cricket.mp3 b/spa/assets/worlds/championhome/cricket.mp3 new file mode 100644 index 00000000..f87aac7d Binary files /dev/null and b/spa/assets/worlds/championhome/cricket.mp3 differ diff --git a/spa/assets/worlds/championhome/crown.jpg b/spa/assets/worlds/championhome/crown.jpg new file mode 100644 index 00000000..8299c117 Binary files /dev/null and b/spa/assets/worlds/championhome/crown.jpg differ diff --git a/spa/assets/worlds/championhome/door.mp3 b/spa/assets/worlds/championhome/door.mp3 new file mode 100644 index 00000000..8c5108cf Binary files /dev/null and b/spa/assets/worlds/championhome/door.mp3 differ diff --git a/spa/assets/worlds/championhome/floor.jpg b/spa/assets/worlds/championhome/floor.jpg new file mode 100644 index 00000000..e95c6461 Binary files /dev/null and b/spa/assets/worlds/championhome/floor.jpg differ diff --git a/spa/assets/worlds/championhome/grass.jpg b/spa/assets/worlds/championhome/grass.jpg new file mode 100644 index 00000000..f340e002 Binary files /dev/null and b/spa/assets/worlds/championhome/grass.jpg differ diff --git a/spa/assets/worlds/championhome/home.wrl b/spa/assets/worlds/championhome/home.wrl new file mode 100644 index 00000000..b2ac9833 --- /dev/null +++ b/spa/assets/worlds/championhome/home.wrl @@ -0,0 +1,12867 @@ +#VRML V2.0 utf8 +WorldInfo { + title "Tree2" + info ["Created with Vivaty Studio, a Web3D authoring tool" +] +} + +EXTERNPROTO BlaxxunZone [ +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars +exposedField MFNode events +exposedField MFNode avatars +eventOut MFNode events_added +eventOut MFNode events_removed +eventOut MFNode avatars_added +eventOut MFNode avatars_removed +eventIn SFInt32 set_myAvatarGesture +eventIn SFInt32 myAvatarGestureFromServer +eventOut SFInt32 myAvatarGesture_changed +eventOut SFInt32 myAvatarGestureToServer +exposedField MFString sendToChat +exposedField SFFloat beamToDistance +exposedField MFString groupChatName +exposedField MFString groupChat +] "/externprotos/shared_xite.wrl#BlaxxunZone" + +EXTERNPROTO SharedObject [ +exposedField SFVec3f translation +exposedField SFRotation rotation +exposedField MFNode children +exposedField SFString name +exposedField SFString id +eventIn SFBool startMove +eventOut SFBool isOver +eventOut SFTime touchTime +eventOut SFVec3f newPosition +eventOut SFRotation newRotation +] "/externprotos/shared_xite.wrl#SharedObject" + +EXTERNPROTO SharedEvent [ +exposedField SFString name +exposedField SFString type +eventIn SFTime set_time +eventOut SFTime timeToServer +eventIn SFTime timeFromServer +eventOut SFTime time_changed +] [ "/externprotos/shared_xite.wrl#SharedEvent" ] + +PROTO BlaxxunZone [#PROTO supplied by BLAXXUN +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars +exposedField MFNode events NULL +exposedField MFNode avatars NULL +exposedField SFString myAvatarURL "" +exposedField SFString myAvatarName "" +exposedField SFFloat number_avatars 0 +eventOut MFNode avatars_added +eventOut MFNode avatars_removed +exposedField MFNode avatarLOD [] +exposedField MFFloat avatarRange [] +]{ +Transform { +addChildren IS addEvents +removeChildren IS removeEvents +children IS events +} +Transform { + addChildren IS addAvatars + removeChildren IS removeAvatars + children IS avatars +} +}# END BlaxxunZone + +DEF SharedZone BlaxxunZone { + events [ + + ] +} + +PROTO BooleanFilter [ + eventIn SFBool set_boolean + eventOut SFBool inputFalse + eventOut SFBool inputNegate + eventOut SFBool inputTrue +] +{ + Script { + directOutput TRUE + + eventIn SFBool set_boolean IS set_boolean + eventOut SFBool inputFalse IS inputFalse + eventOut SFBool inputNegate IS inputNegate + eventOut SFBool inputTrue IS inputTrue + + url "javascript: + function set_boolean( bval, curtime ) { + if( bval ){ + inputTrue = bval; + } + else { + inputFalse = bval; + } + inputNegate = !bval; + } + " + } +} +PROTO BooleanTrigger [ + eventIn SFTime set_triggerTime + eventOut SFBool triggerTrue +] +{ + Script { + directOutput TRUE + + eventIn SFTime set_triggerTime IS set_triggerTime + eventOut SFBool triggerTrue IS triggerTrue + + url "javascript: + function set_triggerTime( bval, curtime ) { + triggerTrue = TRUE; + } + " + } +} +PROTO TimeTrigger [ + eventIn SFBool set_boolean + eventOut SFTime triggerTime +] +{ + Script { + directOutput TRUE + + eventIn SFBool set_boolean IS set_boolean + eventOut SFTime triggerTime IS triggerTime + + url "javascript: + function set_boolean( bval, curtime ) { + triggerTime = curtime; + } + " + } +} +## Vizthumbnail Thumb_house8_wrl1437811706153934.jpg +DEF Entrance Viewpoint { + description "Entrance" + fieldOfView 0.785 + position 0 1.4 55 +} +DEF Wizard TimeSensor { + cycleInterval 900.000 + loop TRUE + startTime -1.000 +} +DEF dad_House_Master Transform { + translation .6 0 -10 + children [ + DEF dad_Post_Master Transform { + translation 0 0 -1 + children [ + DEF dad_Post Transform { + translation 0 0 6 + children [ + DEF Post__6M Group { + children [ + DEF dad_Post0 Transform { + translation 0 3.7 0 + children [ + DEF Post_6M Shape { + appearance Appearance { + texture ImageTexture { + url [ + "crown.jpg" + ] + } + textureTransform TextureTransform { + rotation 1.571 + } + material DEF White Material { + ambientIntensity 0.100 + shininess 0.000 + diffuseColor 0.500 0.500 0.500 + specularColor 0 0 0 + } + } + geometry DEF GeoBox16 Box { + size .5 7.4 .5 + } + } + ] + } + ] + } + ] + } + DEF dad_Reference9 Transform { + translation -10 0 15 + children [ + USE Post__6M + ] + } + DEF dad_Reference79 Transform { + translation -10 0 25 + children [ + USE Post__6M + ] + } + DEF dad_Reference80 Transform { + translation -10 0 35 + children [ + USE Post__6M + ] + } + DEF dad_Reference81 Transform { + translation 0 0 44 + children [ + USE Post__6M + ] + } + DEF dad_Reference6 Transform { + translation 10 0 15 + children [ + USE Post__6M + ] + } + DEF dad_Reference7 Transform { + translation 10 0 25 + children [ + USE Post__6M + ] + } + DEF dad_Reference8 Transform { + translation 10 0 35 + children [ + USE Post__6M + ] + } + DEF dad_Small_Post Transform { + translation -20.1 1.5 10.1 + children [ + DEF Small_Post Group { + children [ + DEF Post2 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "crown.jpg" + ] + } + textureTransform TextureTransform { + rotation 1.571 + } + material USE White + } + geometry DEF GeoBox11 Box { + size .5 3 .5 + } + } + ] + } + ] + } + DEF dad_Reference10 Transform { + translation 20.1 1.5 10.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference11 Transform { + translation -30.1 1.5 25.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference12 Transform { + translation -20.1 1.5 30.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference13 Transform { + translation -5.1 1.5 51.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference14 Transform { + translation 4.9 1.5 51.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference15 Transform { + translation 20.1 1.5 30.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference16 Transform { + translation 30.1 1.5 25.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference17 Transform { + translation -9.9 1.5 -4.9 + children [ + USE Small_Post + ] + } + DEF dad_Reference18 Transform { + translation 9.9 1.5 -4.9 + children [ + USE Small_Post + ] + } + DEF dad_Reference29 Transform { + translation 20.1 1.5 -4.9 + children [ + USE Small_Post + ] + } + DEF dad_Reference30 Transform { + translation -20.1 1.5 -4.9 + children [ + USE Small_Post + ] + } + DEF dad_Reference31 Transform { + translation -39.9 1.5 -4.9 + children [ + USE Small_Post + ] + } + DEF dad_Reference32 Transform { + translation -39.9 1.5 10.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference33 Transform { + translation -30.1 1.5 10.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference34 Transform { + translation -50.1 1.5 10.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference35 Transform { + translation -50.1 1.5 25.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference36 Transform { + translation -35.1 1.5 25.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference37 Transform { + translation -50.1 1.5 45.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference38 Transform { + translation -35.1 1.5 30.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference39 Transform { + translation -35.1 1.5 45.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference40 Transform { + translation -35.1 1.5 50.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference41 Transform { + translation -20.1 1.5 50.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference42 Transform { + translation -20.1 1.5 55.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference43 Transform { + translation -5.1 1.5 55.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference44 Transform { + translation 4.9 1.5 55.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference45 Transform { + translation 20.1 1.5 55.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference46 Transform { + translation 20.1 1.5 50.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference19 Transform { + translation 34.9 1.5 45.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference20 Transform { + translation 34.9 1.5 50.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference21 Transform { + translation 34.9 1.5 30.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference22 Transform { + translation 34.9 1.5 25.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference23 Transform { + translation 50.1 1.5 45.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference24 Transform { + translation 50.1 1.5 25.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference25 Transform { + translation 50.1 1.5 10.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference26 Transform { + translation 40.1 1.5 10.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference27 Transform { + translation 30.1 1.5 10.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference28 Transform { + translation 40.1 1.5 -4.9 + children [ + USE Small_Post + ] + } + DEF dad_Reference51 Transform { + translation -34 4.7 49 + children [ + USE Small_Post + ] + } + DEF dad_Reference52 Transform { + translation -34 4.7 1 + children [ + USE Small_Post + ] + } + DEF dad_Reference53 Transform { + translation 34 4.7 1 + children [ + USE Small_Post + ] + } + DEF dad_Reference54 Transform { + translation 34 4.7 49 + children [ + USE Small_Post + ] + } + DEF dad_Reference55 Transform { + translation -34 4.7 17 + children [ + USE Small_Post + ] + } + DEF dad_Reference56 Transform { + translation -34 4.7 33 + children [ + USE Small_Post + ] + } + DEF dad_Reference57 Transform { + translation 34 4.7 17 + children [ + USE Small_Post + ] + } + DEF dad_Reference58 Transform { + translation 34 4.7 33 + children [ + USE Small_Post + ] + } + DEF dad_Reference85 Transform { + translation 10 3.6 19 + scale 1 .4 1 + children [ + USE Small_Post + ] + } + DEF dad_Reference86 Transform { + translation -10 3.6 19 + scale 1 .4 1 + children [ + USE Small_Post + ] + } + DEF dad_Reference87 Transform { + translation 8 .6 21.4 + rotation 0 1 0 .262 + scale 1 .54 1 + children [ + USE Small_Post + ] + } + DEF dad_Reference88 Transform { + translation 4.3 .6 22.4 + rotation 0 1 0 .262 + scale 1 .54 1 + children [ + USE Small_Post + ] + } + DEF dad_Reference89 Transform { + translation -4.3 .6 22.5 + rotation 0 1 0 -.262 + scale 1 .54 1 + children [ + USE Small_Post + ] + } + DEF dad_Reference90 Transform { + translation -8 .6 21.4 + rotation 0 1 0 -.262 + scale 1 .54 1 + children [ + USE Small_Post + ] + } + DEF dad_Reference47 Transform { + translation 23.9 4.7 48.9 + children [ + USE Small_Post + ] + } + DEF dad_Reference48 Transform { + translation -24.1 4.7 48.9 + children [ + USE Small_Post + ] + } + DEF dad_Reference49 Transform { + translation -24.1 4.7 1.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference50 Transform { + translation 23.9 4.7 1.1 + children [ + USE Small_Post + ] + } + DEF dad_Reference11 Transform { + translation -13.1 4.7 1.1 + children [ + USE Post2 + ] + } + DEF dad_Reference13 Transform { + translation 13.1 4.7 1.1 + children [ + USE Post2 + ] + } + DEF dad_Reference14 Transform { + translation 23.9 4.7 11.9 + children [ + USE Post2 + ] + } + DEF dad_Reference15 Transform { + translation -24.1 4.7 11.9 + children [ + USE Post2 + ] + } + DEF dad_Reference16 Transform { + translation 23.9 4.7 38.1 + children [ + USE Post2 + ] + } + DEF dad_Reference17 Transform { + translation 13.1 4.7 48.9 + children [ + USE Post2 + ] + } + DEF dad_Reference18 Transform { + translation -13.1 4.7 48.9 + children [ + USE Post2 + ] + } + DEF dad_Reference19 Transform { + translation -24.1 4.7 38.1 + children [ + USE Post2 + ] + } + ] + } + DEF dad_Floors_and_Ceilings Transform { + translation -.6 0 10 + children [ + DEF dad_Top_Ceiling0 Transform { + translation .6 6.4 14 + children [ + DEF Top_Ceiling0 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "alum.jpg" + ] + } + material DEF Shiny_Rust Material { + ambientIntensity 0.100 + shininess 0.000 + diffuseColor 1 1 1 + specularColor 0 0 0 + } + } + geometry DEF GeoExtrusion80 IndexedFaceSet { + ccw FALSE + creaseAngle 0.524 +coordIndex [ 1 5 14 -1 1 14 13 -1 1 13 12 -1 1 12 11 -1 1 11 10 -1 1 10 9 +-1 1 9 8 -1 1 8 7 -1 1 7 6 -1 1 6 2 -1 4 3 24 -1 4 24 23 -1 4 23 22 -1 4 22 +21 -1 4 21 20 -1 4 20 19 -1 4 19 18 -1 4 18 17 -1 4 17 16 -1 4 16 15 -1 4 15 +5 -1 3 2 6 -1 3 6 0 -1 3 0 28 -1 3 28 27 -1 3 27 26 -1 3 26 25 -1 3 25 24 +-1 14 5 15 -1 ] texCoordIndex +[ 0 8 7 -1 0 7 6 -1 0 6 5 -1 0 5 4 -1 0 4 3 -1 0 3 2 -1 0 2 0 -1 0 0 1 -1 1 +1 0 -1 1 0 0 -1 ] +coord DEF Top_Ceiling0_Coord +Coordinate { +point [ -10 0 10 -10 0 -25 -35 0 -25 -35 0 25 35 0 25 35 0 -25 -10 0 -10 -9 +0 -13 -8 0 -15 -6 0 -17 -4 0 -18 -1 0 -19 1 0 -19 4 0 -18 6 0 -17 8 0 -15 +9 0 -13 10 0 -10 10 0 10 9 0 13 8 0 15 6 0 17 4 0 18 1 0 19 -1 0 19 -4 0 18 +-6 0 17 -8 0 15 -9 0 13 ] + } + texCoord +TextureCoordinate { point [ .357 -1 0 -1 .371 -1 .386 -1 .414 -1 .443 -1 .486 +-1 .514 -1 .557 -1 ] } + } + } + ] + } + DEF dad_Ceiling Transform { + translation .6 3.2 -6 + children [ + DEF Floor Shape { + appearance Appearance { + texture ImageTexture { + url [ + "tile.jpg" + ] + } + textureTransform TextureTransform { + scale 33.3333 18 + } + material DEF Shiny_Black Material { + ambientIntensity 0.100 + shininess 0.000 + diffuseColor .7 .7 .7 + specularColor .2 .2 .2 + } + } + geometry DEF GeoExtrusion76 IndexedFaceSet { + solid FALSE + ccw FALSE + creaseAngle 0.524 +coordIndex [ 28 29 7 -1 28 7 6 -1 28 6 5 -1 28 5 4 -1 28 4 3 -1 28 3 2 -1 28 +2 1 -1 28 1 0 -1 28 0 26 -1 28 26 25 -1 28 25 24 -1 28 24 23 -1 28 23 22 -1 +28 22 51 -1 20 19 18 -1 20 18 48 -1 20 48 49 -1 20 49 50 -1 20 50 51 -1 20 51 +22 -1 20 22 21 -1 9 8 31 -1 9 31 32 -1 9 32 33 -1 9 33 34 -1 9 34 35 -1 9 35 +36 -1 9 36 37 -1 9 37 38 -1 9 38 39 -1 9 39 18 -1 9 18 17 -1 9 17 10 -1 7 29 +30 -1 7 30 31 -1 7 31 8 -1 10 16 11 -1 11 16 15 -1 11 15 12 -1 12 15 14 -1 12 +14 13 -1 18 39 40 -1 18 40 41 -1 18 41 42 -1 18 42 43 -1 18 43 44 -1 18 44 45 +-1 18 45 46 -1 18 46 47 -1 18 47 48 -1 16 10 17 -1 26 0 27 -1 ] texCoordIndex +[ 28 29 7 -1 28 7 6 -1 28 6 5 -1 28 5 4 -1 28 4 3 -1 28 3 2 -1 28 2 1 -1 28 +1 0 -1 28 0 26 -1 28 26 25 -1 28 25 24 -1 28 24 23 -1 28 23 22 -1 28 22 51 +-1 20 19 18 -1 20 18 48 -1 20 48 49 -1 20 49 50 -1 20 50 51 -1 20 51 22 -1 20 +22 21 -1 9 8 31 -1 9 31 32 -1 9 32 33 -1 9 33 34 -1 9 34 35 -1 9 35 36 -1 9 +36 37 -1 9 37 38 -1 9 38 39 -1 9 39 18 -1 9 18 17 -1 9 17 10 -1 7 29 30 -1 7 +30 31 -1 7 31 8 -1 10 16 11 -1 11 16 15 -1 11 15 12 -1 12 15 14 -1 12 14 13 +-1 18 39 40 -1 18 40 41 -1 18 41 42 -1 18 42 43 -1 18 43 44 -1 18 44 45 -1 18 +45 46 -1 18 46 47 -1 18 47 48 -1 16 10 17 -1 26 0 27 -1 ] +coord DEF Floor_Coord +Coordinate { +point [ -1.5 0 -18.5 -5.5 0 -17.5 -7.5 0 -16.5 -9.5 0 -14.5 -10.5 0 -12.5 +-10.5 0 -10.5 -40.5 0 -10.5 -40.5 0 4.5 -50.5 0 4.5 -50.5 0 40.5 -35.5 0 40.5 +-35.5 0 45.5 -20.5 0 45.5 -20.5 0 50.5 20.5 0 50.5 20.5 0 45.5 35.5 0 45.5 +35.5 0 40.5 50.5 0 40.5 50.5 0 4.5 40.5 0 4.5 40.5 0 -10.5 10.5 0 -10.5 10.5 +0 -12.5 9.5 0 -14.5 7.5 0 -16.5 5.5 0 -17.5 .5 0 -18.5 -1 0 1 -4 0 2 -6 0 +3 -8 0 5 -9 0 7 -10 0 10 -10 0 30 -9 0 33 -8 0 35 -6 0 37 -4 0 38 -1 0 39 +1 0 39 4 0 38 6 0 37 8 0 35 9 0 33 10 0 30 10 0 10 9 0 7 8 0 5 6 0 3 4 0 2 +1 0 1 ] + } + texCoord +TextureCoordinate { point [ .485 1 .446 .986 .426 .971 .406 .942 .396 .913 +.396 .884 .099 .884 .099 .667 0 .667 0 .145 .149 .145 .149 .072 .297 .072 +.297 0 .703 0 .703 .072 .851 .072 .851 .145 1 .145 1 .667 .901 .667 .901 .884 +.604 .884 .604 .913 .594 .942 .574 .971 .554 .986 .505 1 .49 .717 .46 .703 +.441 .688 .421 .659 .411 .63 .401 .587 .401 .297 .411 .254 .421 .225 .441 +.196 .46 .181 .49 .167 .51 .167 .54 .181 .559 .196 .579 .225 .589 .254 .599 +.297 .599 .587 .589 .63 .579 .659 .559 .688 .54 .703 .51 .717 ] } + } + } + ] + } + DEF dad_Ceiling0 Transform { + translation .6 3 -6 + children [ + DEF Ceiling0 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "floor.jpg" + ] + } + textureTransform TextureTransform { + scale 33.333 18 + } + material DEF Yellow Material { + ambientIntensity 0.100 + shininess 0.000 + diffuseColor 1 1 1 + specularColor .25 .25 .25 + } + } + geometry DEF GeoExtrusion93 Extrusion { + solid FALSE + endCap FALSE + creaseAngle 0.524 + convex FALSE + crossSection [ + -1.5 -18.5 + -5.5 -17.5 + -7.5 -16.5 + -9.5 -14.5 + -10.5 -12.5 + -10.5 -10.5 + -40.5 -10.5 + -40.5 4.5 + -50.5 4.5 + -50.5 40.5 + -35.5 40.5 + -35.5 45.5 + -20.5 45.5 + -20.5 50.5 + 20.5 50.5 + 20.5 45.5 + 35.5 45.5 + 35.5 40.5 + 50.5 40.5 + 50.5 4.5 + 40.5 4.5 + 40.5 -10.5 + 10.5 -10.5 + 10.5 -12.5 + 9.5 -14.5 + 7.5 -16.5 + 5.5 -17.5 + .5 -18.5 + -1.5 -18.5 + -1 1 + -4 2 + -6 3 + -8 5 + -9 7 + -10 10 + -10 30 + -9 33 + -8 35 + -6 37 + -4 38 + -1 39 + 1 39 + 4 38 + 6 37 + 8 35 + 9 33 + 10 30 + 10 10 + 9 7 + 8 5 + 6 3 + 4 2 + 1 1 + -1 1 + -1.5 -18.5 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Front_Step Transform { + translation .6 0 42 + children [ + DEF Front_Step Shape { + appearance Appearance { + texture ImageTexture { + url [ + "white.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion94 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] coord DEF Front_Step_Coord Coordinate { +point [ -5 0 -2 -5 0 2 5 0 2 5 0 -2 ] + } + texCoord +TextureCoordinate { point [ 0 -1 ] } + } + } + ] + } + DEF dad_Foundation Transform { + translation .6 0 10 + children [ + DEF Foundation Shape { + appearance Appearance { + texture ImageTexture { + url [ + "white.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoSculptedSurface1 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 0 1 29 -1 0 29 28 -1 1 2 30 -1 1 30 29 -1 2 3 31 -1 2 31 30 -1 +3 4 32 -1 3 32 31 -1 4 5 33 -1 4 33 32 -1 5 6 34 -1 5 34 33 -1 6 7 35 -1 6 35 +34 -1 7 8 36 -1 7 36 35 -1 8 9 37 -1 8 37 36 -1 9 10 38 -1 9 38 37 -1 10 11 +39 -1 10 39 38 -1 11 12 40 -1 11 40 39 -1 12 13 41 -1 12 41 40 -1 13 14 42 +-1 13 42 41 -1 14 15 43 -1 14 43 42 -1 15 16 44 -1 15 44 43 -1 16 17 45 -1 16 +45 44 -1 17 18 46 -1 17 46 45 -1 18 19 47 -1 18 47 46 -1 19 20 48 -1 19 48 47 +-1 20 21 49 -1 20 49 48 -1 21 22 50 -1 21 50 49 -1 22 23 51 -1 22 51 50 -1 23 +24 52 -1 23 52 51 -1 24 25 53 -1 24 53 52 -1 25 26 54 -1 25 54 53 -1 26 27 55 +-1 26 55 54 -1 27 0 28 -1 27 28 55 -1 28 29 57 -1 28 57 56 -1 29 30 58 -1 29 +58 57 -1 30 31 59 -1 30 59 58 -1 31 32 60 -1 31 60 59 -1 32 33 61 -1 32 61 60 +-1 33 34 62 -1 33 62 61 -1 34 35 63 -1 34 63 62 -1 35 36 64 -1 35 64 63 -1 36 +37 65 -1 36 65 64 -1 37 38 66 -1 37 66 65 -1 38 39 67 -1 38 67 66 -1 39 40 68 +-1 39 68 67 -1 40 41 69 -1 40 69 68 -1 41 42 70 -1 41 70 69 -1 42 43 71 -1 42 +71 70 -1 43 44 72 -1 43 72 71 -1 44 45 73 -1 44 73 72 -1 45 46 74 -1 45 74 73 +-1 46 47 75 -1 46 75 74 -1 47 48 76 -1 47 76 75 -1 48 49 77 -1 48 77 76 -1 49 +50 78 -1 49 78 77 -1 50 51 79 -1 50 79 78 -1 51 52 80 -1 51 80 79 -1 52 53 81 +-1 52 81 80 -1 53 54 82 -1 53 82 81 -1 54 55 83 -1 54 83 82 -1 55 28 56 -1 55 +56 83 -1 ] texCoordIndex +[ 0 1 19 -1 0 19 18 -1 1 2 20 -1 1 20 19 -1 2 3 21 -1 2 21 20 -1 3 4 22 -1 3 +22 21 -1 4 4 22 -1 4 22 22 -1 4 5 23 -1 4 23 22 -1 5 5 23 -1 5 23 23 -1 5 6 +24 -1 5 24 23 -1 6 6 24 -1 6 24 24 -1 6 7 25 -1 6 25 24 -1 7 7 25 -1 7 25 25 +-1 7 8 26 -1 7 26 25 -1 8 8 26 -1 8 26 26 -1 8 9 27 -1 8 27 26 -1 9 9 27 -1 +9 27 27 -1 9 10 28 -1 9 28 27 -1 10 10 28 -1 10 28 28 -1 10 11 29 -1 10 29 28 +-1 11 11 29 -1 11 29 29 -1 11 12 30 -1 11 30 29 -1 12 12 30 -1 12 30 30 -1 12 +13 31 -1 12 31 30 -1 13 13 31 -1 13 31 31 -1 13 14 32 -1 13 32 31 -1 14 15 33 +-1 14 33 32 -1 15 16 34 -1 15 34 33 -1 16 17 35 -1 16 35 34 -1 17 0 18 -1 17 +18 35 -1 18 19 37 -1 18 37 36 -1 19 20 38 -1 19 38 37 -1 20 21 39 -1 20 39 38 +-1 21 22 40 -1 21 40 39 -1 22 22 40 -1 22 40 40 -1 22 23 41 -1 22 41 40 -1 23 +23 41 -1 23 41 41 -1 23 24 42 -1 23 42 41 -1 24 24 42 -1 24 42 42 -1 24 25 43 +-1 24 43 42 -1 25 25 43 -1 25 43 43 -1 25 26 44 -1 25 44 43 -1 26 26 44 -1 26 +44 44 -1 26 27 45 -1 26 45 44 -1 27 27 45 -1 27 45 45 -1 27 28 46 -1 27 46 45 +-1 28 28 46 -1 28 46 46 -1 28 29 47 -1 28 47 46 -1 29 29 47 -1 29 47 47 -1 29 +30 48 -1 29 48 47 -1 30 30 48 -1 30 48 48 -1 30 31 49 -1 30 49 48 -1 31 31 49 +-1 31 49 49 -1 31 32 50 -1 31 50 49 -1 32 33 51 -1 32 51 50 -1 33 34 52 -1 33 +52 51 -1 34 35 53 -1 34 53 52 -1 35 18 36 -1 35 36 53 -1 ] +coord DEF Foundation_Coord +Coordinate { +point [ -1 0 -34 -5 0 -33 -7 0 -32 -9 0 -30 -10 0 -28 -10 0 -26 -40 0 -26 +-40 0 -11 -50 0 -11 -50 0 24 -35 0 24 -35 0 29 -20 0 29 -20 0 34 20 0 34 20 +0 29 35 0 29 35 0 24 50 0 24 50 0 -11 40 0 -11 40 0 -26 10 0 -26 10 0 -28 +9 0 -30 7 0 -32 5 0 -33 1 0 -34 -1.5 0 -34.5 -5.5 0 -33.5 -7.5 0 -32.5 -9.5 +0 -30.5 -10.5 0 -28.5 -10.5 0 -33 -40.5 0 -33 -40.5 0 -11.5 -50.5 0 -11.5 +-50.5 0 24.5 -35.5 0 24.5 -35.5 0 29.5 -20.5 0 29.5 -20.5 0 39.5 20.5 0 39.5 +20.5 0 29.5 35.5 0 29.5 35.5 0 24.5 50.5 0 24.5 50.5 0 -11.5 40.5 0 -11.5 +40.5 0 -33 10.5 0 -33 10.5 0 -28.5 9.5 0 -30.5 7.5 0 -32.5 5.5 0 -33.5 1.5 +0 -34.5 -1.5 -.2 -34.5 -5.5 -.2 -33.5 -7.5 -.2 -32.5 -9.5 -.2 -30.5 -10.5 +-.2 -28.5 -10.5 -.2 -33 -40.5 -.2 -33 -40.5 -.2 -11.5 -50.5 -.2 -11.5 -50.5 +-.2 24.5 -35.5 -.2 24.5 -35.5 -.2 29.5 -20.5 -.2 29.5 -20.5 -.2 39.5 20.5 +-.2 39.5 20.5 -.2 29.5 35.5 -.2 29.5 35.5 -.2 24.5 50.5 -.2 24.5 50.5 -.2 +-11.5 40.5 -.2 -11.5 40.5 -.2 -33 10.5 -.2 -33 10.5 -.2 -28.5 9.5 -.2 -30.5 +7.5 -.2 -32.5 5.5 -.2 -33.5 1.5 -.2 -34.5 ] + } + texCoord +TextureCoordinate { point [ .49 1 .45 1 .431 1 .411 1 .401 1 .104 1 .005 1 +.153 1 .302 1 .698 1 .847 1 .995 1 .896 1 .599 1 .589 1 .569 1 .55 1 .51 1 +.485 1 .446 1 .426 1 .406 1 .396 1 .099 1 0 1 .149 1 .297 1 .703 1 .851 1 +1 1 .901 1 .604 1 .594 1 .574 1 .554 1 .515 1 .485 0 .446 0 .426 0 .406 0 +.396 0 .099 0 0 0 .149 0 .297 0 .703 0 .851 0 1 0 .901 0 .604 0 .594 0 .574 +0 .554 0 .515 0 ] } + } + } + ] + } + DEF dad_Top_Ceiling Transform { + translation .6 6.2 14 + children [ + DEF Top_Ceiling Shape { + appearance Appearance { + texture ImageTexture { + url [ + "floor.jpg" + ] + } + textureTransform TextureTransform { + scale 16 16 + } + material USE Yellow + } + geometry DEF GeoExtrusion79 Extrusion { + endCap FALSE + creaseAngle 0.524 + convex FALSE + crossSection [ + -10 10 + -10 -25 + -35 -25 + -35 25 + 35 25 + 35 -25 + -10 -25 + -10 -10 + -9 -13 + -8 -15 + -6 -17 + -4 -18 + -1 -19 + 1 -19 + 4 -18 + 6 -17 + 8 -15 + 9 -13 + 10 -10 + 10 10 + 9 13 + 8 15 + 6 17 + 4 18 + 1 19 + -1 19 + -4 18 + -6 17 + -8 15 + -9 13 + -10 10 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Floor Transform { + translation .6 -.2 -6 + children [ + DEF Floor0 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "tile.jpg" + ] + } + textureTransform TextureTransform { + scale 33.333 18 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion75 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + -1 -18 + -5 -17 + -7 -16 + -9 -14 + -10 -12 + -10 -10 + -40 -10 + -40 5 + -50 5 + -50 40 + -35 40 + -35 45 + -20 45 + -20 50 + -5 50 + -5 46 + 5 46 + 5 50 + 20 50 + 20 45 + 35 45 + 35 40 + 50 40 + 50 5 + 40 5 + 40 -10 + 10 -10 + 10 -12 + 9 -14 + 7 -16 + 5 -17 + 0 -18 + -1 -18 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + ] + } + DEF dad_Switches Transform { + translation -.6 0 10 + children [ + DEF dad_Reference84 Transform { + translation 28.7 0 19.15 + children [ + DEF Switch Group { + children [ + DEF Off Group { + children [ + DEF dad_Off0 Transform { + translation 0 1.25 .05 + children [ + DEF Off0 Shape { + appearance Appearance { + material USE White + } + geometry DEF GeoBox12 Box { + size .1 .15 .05 + } + } + ] + } + DEF Off1 TouchSensor { + } + DEF Off2 TimeSensor { + cycleInterval 0.050 + startTime -1.000 + } + ] + } + DEF On Group { + children [ + DEF dad_On0 Transform { + translation 0 1.25 .05 + scale .9 .9 .9 + children [ + DEF On0 Shape { + appearance Appearance { + material USE White + } + geometry DEF GeoBox13 Box { + size .1 .15 .05 + } + } + ] + } + DEF On1 TouchSensor { + } + DEF On2 TimeSensor { + cycleInterval 0.050 + startTime -1.000 + } + ] + } + ] + } + ] + } + DEF dad_Reference83 Transform { + translation 35.65 0 15.9 + rotation 0 -1 0 1.571 + children [ + USE Switch + ] + } + DEF dad_Reference82 Transform { + translation 30.85 0 4.9 + rotation 0 -1 0 1.571 + children [ + USE Switch + ] + } + DEF dad_Reference5 Transform { + translation 20.85 0 -10.1 + rotation 0 -1 0 1.571 + children [ + USE Switch + ] + } + DEF dad_Reference4 Transform { + translation -28.5 0 19.15 + children [ + USE Switch + ] + } + DEF dad_Reference3 Transform { + translation -34.55 0 15.9 + rotation 0 -1 0 1.571 + children [ + USE Switch + ] + } + DEF dad_Reference2 Transform { + translation -29.55 0 4.9 + rotation 0 -1 0 1.571 + children [ + USE Switch + ] + } + DEF dad_Reference1 Transform { + translation -19.55 0 -10.1 + rotation 0 -1 0 1.571 + children [ + USE Switch + ] + } + DEF dad_Reference64 Transform { + translation -23.45 3.2 12.9 + rotation 0 1 0 1.571 + children [ + USE Switch + ] + } + DEF dad_Reference63 Transform { + translation 24.35 3.2 15.1 + rotation 0 1 0 1.571 + children [ + USE Switch + ] + } + DEF dad_Reference62 Transform { + translation -.5 3.2 37.75 + children [ + USE Switch + ] + } + DEF dad_Reference61 Transform { + translation 1.7 3.2 -9.85 + children [ + USE Switch + ] + } + DEF dad_Reference60 Transform { + translation 10.5 0 -15.7 + children [ + USE Switch + ] + } + DEF dad_Reference59 Transform { + translation -9.3 0 -15.7 + children [ + USE Switch + ] + } + DEF dad_Switch Transform { + translation 5.5 0 39.8 + children [ + USE Switch + ] + } + ] + } + DEF dad_Doors Transform { + translation -.6 0 10 + children [ + DEF dad_Door9 Transform { + translation .6 0 40.1 + children [ + DEF Door9 Group { + children [ + DEF dad_Group21 Transform { + translation -1 0 0 + children [ + DEF dad_Extrusion61 Transform { + translation 1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion61 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion73 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion61_Coord Coordinate { +point [ 0 0 0 0 0 -2.8 -1 0 -2.8 -1 0 0 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 ] } + } + } + ] + } + ] + } + DEF dad_Group22 Transform { + translation 1 0 0 + children [ + DEF dad_Extrusion62 Transform { + translation -1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion62 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion74 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion62_Coord Coordinate { +point [ 0 0 0 1 0 0 1 0 -2.8 0 0 -2.8 ] + } + texCoord +TextureCoordinate { point [ 0 0 1 0 1 1 0 1 ] } + } + } + ] + } + ] + } + DEF Sensor11 ProximitySensor { + size 2 3 4 + center 0 1.5 0 + } + DEF TimeSensor11 TimeSensor { + cycleInterval 10.000 + startTime -1.000 + } + ] + } + ] + } + DEF dad_Door8 Transform { + translation -14.4 0 -15.9 + children [ + DEF Door8 Group { + children [ + DEF dad_Group19 Transform { + translation -1 0 0 + children [ + DEF dad_Extrusion59 Transform { + translation 1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion59 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion71 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion59_Coord Coordinate { +point [ 0 0 0 0 0 -2.8 -1 0 -2.8 -1 0 0 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 ] } + } + } + ] + } + ] + } + DEF dad_Group20 Transform { + translation 1 0 0 + children [ + DEF dad_Extrusion60 Transform { + translation -1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion60 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion72 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion60_Coord Coordinate { +point [ 0 0 0 1 0 0 1 0 -2.8 0 0 -2.8 ] + } + texCoord +TextureCoordinate { point [ 0 0 1 0 1 1 0 1 ] } + } + } + ] + } + ] + } + DEF Sensor10 ProximitySensor { + size 2 3 4 + center 0 1.5 0 + } + DEF TimeSensor10 TimeSensor { + cycleInterval 10.000 + startTime -1.000 + } + ] + } + ] + } + DEF dad_Door7 Transform { + translation 15.6 0 -15.9 + children [ + DEF Door7 Group { + children [ + DEF dad_Group17 Transform { + translation -1 0 0 + children [ + DEF dad_Extrusion57 Transform { + translation 1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion57 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion69 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion57_Coord Coordinate { +point [ 0 0 0 0 0 -2.8 -1 0 -2.8 -1 0 0 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 ] } + } + } + ] + } + ] + } + DEF dad_Group18 Transform { + translation 1 0 0 + children [ + DEF dad_Extrusion58 Transform { + translation -1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion58 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion70 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion58_Coord Coordinate { +point [ 0 0 0 1 0 0 1 0 -2.8 0 0 -2.8 ] + } + texCoord +TextureCoordinate { point [ 0 0 1 0 1 1 0 1 ] } + } + } + ] + } + ] + } + DEF Sensor9 ProximitySensor { + size 2 3 4 + center 0 1.5 0 + } + DEF TimeSensor9 TimeSensor { + cycleInterval 10.000 + startTime -1.000 + } + ] + } + ] + } + DEF dad_Door6 Transform { + translation -27.4 0 19.1 + children [ + DEF Door6 Group { + children [ + DEF dad_Group15 Transform { + translation -1 0 0 + children [ + DEF dad_Extrusion55 Transform { + translation 1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion55 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion67 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion55_Coord Coordinate { +point [ 0 0 0 0 0 -2.8 -1 0 -2.8 -1 0 0 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 ] } + } + } + ] + } + ] + } + DEF dad_Group16 Transform { + translation 1 0 0 + children [ + DEF dad_Extrusion56 Transform { + translation -1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion56 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion68 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion56_Coord Coordinate { +point [ 0 0 0 1 0 0 1 0 -2.8 0 0 -2.8 ] + } + texCoord +TextureCoordinate { point [ 0 0 1 0 1 1 0 1 ] } + } + } + ] + } + ] + } + DEF Sensor8 ProximitySensor { + size 2 3 4 + center 0 1.5 0 + } + DEF TimeSensor8 TimeSensor { + cycleInterval 10.000 + startTime -1.000 + } + ] + } + ] + } + DEF dad_Door5 Transform { + translation 27.6 0 19.1 + children [ + DEF Door5 Group { + children [ + DEF dad_Group13 Transform { + translation -1 0 0 + children [ + DEF dad_Extrusion53 Transform { + translation 1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion53 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion65 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion53_Coord Coordinate { +point [ 0 0 0 0 0 -2.8 -1 0 -2.8 -1 0 0 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 ] } + } + } + ] + } + ] + } + DEF dad_Group14 Transform { + translation 1 0 0 + children [ + DEF dad_Extrusion54 Transform { + translation -1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion54 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion66 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion54_Coord Coordinate { +point [ 0 0 0 1 0 0 1 0 -2.8 0 0 -2.8 ] + } + texCoord +TextureCoordinate { point [ 0 0 1 0 1 1 0 1 ] } + } + } + ] + } + ] + } + DEF Sensor7 ProximitySensor { + size 2 3 4 + center 0 1.5 0 + } + DEF TimeSensor7 TimeSensor { + cycleInterval 10.000 + startTime -1.000 + } + ] + } + ] + } + DEF dad_Door4 Transform { + translation 35.5 0 17 + rotation 0 -1 0 1.571 + children [ + DEF Door4 Group { + children [ + DEF dad_Group11 Transform { + translation -1 0 0 + children [ + DEF dad_Extrusion51 Transform { + translation 1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion51 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion63 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion51_Coord Coordinate { +point [ 0 0 0 0 0 -2.8 -1 0 -2.8 -1 0 0 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 ] } + } + } + ] + } + ] + } + DEF dad_Group12 Transform { + translation 1 0 0 + children [ + DEF dad_Extrusion52 Transform { + translation -1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion52 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion64 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion52_Coord Coordinate { +point [ 0 0 0 1 0 0 1 0 -2.8 0 0 -2.8 ] + } + texCoord +TextureCoordinate { point [ 0 0 1 0 1 1 0 1 ] } + } + } + ] + } + ] + } + DEF Sensor6 ProximitySensor { + size 2 3 4 + center 0 1.5 0 + } + DEF TimeSensor6 TimeSensor { + cycleInterval 10.000 + startTime -1.000 + } + ] + } + ] + } + DEF dad_Door3 Transform { + translation 30.7 0 6 + rotation 0 -1 0 1.571 + children [ + DEF Door3 Group { + children [ + DEF dad_Group9 Transform { + translation -1 0 0 + children [ + DEF dad_Extrusion49 Transform { + translation 1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion49 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion61 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion49_Coord Coordinate { +point [ 0 0 0 0 0 -2.8 -1 0 -2.8 -1 0 0 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 ] } + } + } + ] + } + ] + } + DEF dad_Group10 Transform { + translation 1 0 0 + children [ + DEF dad_Extrusion50 Transform { + translation -1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion50 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion62 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion50_Coord Coordinate { +point [ 0 0 0 1 0 0 1 0 -2.8 0 0 -2.8 ] + } + texCoord +TextureCoordinate { point [ 0 0 1 0 1 1 0 1 ] } + } + } + ] + } + ] + } + DEF Sensor5 ProximitySensor { + size 2 3 4 + center 0 1.5 0 + } + DEF TimeSensor5 TimeSensor { + cycleInterval 10.000 + startTime -1.000 + } + ] + } + ] + } + DEF dad_Door2 Transform { + translation 20.7 0 -9 + rotation 0 -1 0 1.571 + children [ + DEF Door2 Group { + children [ + DEF dad_Group7 Transform { + translation -1 0 0 + children [ + DEF dad_Extrusion47 Transform { + translation 1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion47 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion59 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion47_Coord Coordinate { +point [ 0 0 0 0 0 -2.8 -1 0 -2.8 -1 0 0 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 ] } + } + } + ] + } + ] + } + DEF dad_Group8 Transform { + translation 1 0 0 + children [ + DEF dad_Extrusion48 Transform { + translation -1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion48 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion60 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion48_Coord Coordinate { +point [ 0 0 0 1 0 0 1 0 -2.8 0 0 -2.8 ] + } + texCoord +TextureCoordinate { point [ 0 0 1 0 1 1 0 1 ] } + } + } + ] + } + ] + } + DEF Sensor4 ProximitySensor { + size 2 3 4 + center 0 1.5 0 + } + DEF TimeSensor4 TimeSensor { + cycleInterval 10.000 + startTime -1.000 + } + ] + } + ] + } + DEF dad_Door1 Transform { + translation -19.5 0 -9 + rotation 0 -1 0 1.571 + children [ + DEF Door1 Group { + children [ + DEF dad_Group5 Transform { + translation -1 0 0 + children [ + DEF dad_Extrusion45 Transform { + translation 1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion45 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion57 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion45_Coord Coordinate { +point [ 0 0 0 0 0 -2.8 -1 0 -2.8 -1 0 0 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 ] } + } + } + ] + } + ] + } + DEF dad_Group6 Transform { + translation 1 0 0 + children [ + DEF dad_Extrusion46 Transform { + translation -1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion46 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion58 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion46_Coord Coordinate { +point [ 0 0 0 1 0 0 1 0 -2.8 0 0 -2.8 ] + } + texCoord +TextureCoordinate { point [ 0 0 1 0 1 1 0 1 ] } + } + } + ] + } + ] + } + DEF Sensor3 ProximitySensor { + size 2 3 4 + center 0 1.5 0 + } + DEF TimeSensor3 TimeSensor { + cycleInterval 10.000 + startTime -1.000 + } + ] + } + ] + } + DEF dad_Door0 Transform { + translation -29.5 0 6 + rotation 0 -1 0 1.571 + children [ + DEF Door0 Group { + children [ + DEF dad_Group2 Transform { + translation -1 0 0 + children [ + DEF dad_Extrusion43 Transform { + translation 1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion43 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion55 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion43_Coord Coordinate { +point [ 0 0 0 0 0 -2.8 -1 0 -2.8 -1 0 0 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 ] } + } + } + ] + } + ] + } + DEF dad_Group4 Transform { + translation 1 0 0 + children [ + DEF dad_Extrusion44 Transform { + translation -1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion44 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion56 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion44_Coord Coordinate { +point [ 0 0 0 1 0 0 1 0 -2.8 0 0 -2.8 ] + } + texCoord +TextureCoordinate { point [ 0 0 1 0 1 1 0 1 ] } + } + } + ] + } + ] + } + DEF Sensor2 ProximitySensor { + size 2 3 4 + center 0 1.5 0 + } + DEF TimeSensor2 TimeSensor { + cycleInterval 10.000 + startTime -1.000 + } + ] + } + ] + } + DEF dad_Door Transform { + translation -34.5 0 17 + rotation 0 -1 0 1.571 + children [ + DEF Door Group { + children [ + DEF dad_Group1 Transform { + translation -1 0 0 + children [ + DEF dad_Extrusion41 Transform { + translation 1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion41 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion53 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion41_Coord Coordinate { +point [ 0 0 0 0 0 -2.8 -1 0 -2.8 -1 0 0 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 ] } + } + } + ] + } + ] + } + DEF dad_Group3 Transform { + translation 1 0 0 + children [ + DEF dad_Extrusion42 Transform { + translation -1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion42 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion54 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion42_Coord Coordinate { +point [ 0 0 0 1 0 0 1 0 -2.8 0 0 -2.8 ] + } + texCoord +TextureCoordinate { point [ 0 0 1 0 1 1 0 1 ] } + } + } + ] + } + ] + } + DEF Sensor1 ProximitySensor { + size 2 3 4 + center 0 1.5 0 + } + DEF TimeSensor1 TimeSensor { + cycleInterval 10.000 + startTime -1.000 + } + ] + } + ] + } + DEF dad_Door12 Transform { + translation 24.5 3.2 14 + rotation 0 -1 0 1.571 + children [ + DEF Door12 Group { + children [ + DEF dad_Group27 Transform { + translation -1 0 0 + children [ + DEF dad_Extrusion67 Transform { + translation 1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion67 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion89 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion67_Coord Coordinate { +point [ 0 0 0 0 0 -2.8 -1 0 -2.8 -1 0 0 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 ] } + } + } + ] + } + ] + } + DEF dad_Group28 Transform { + translation 1 0 0 + children [ + DEF dad_Extrusion68 Transform { + translation -1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion68 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion90 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion68_Coord Coordinate { +point [ 0 0 0 1 0 0 1 0 -2.8 0 0 -2.8 ] + } + texCoord +TextureCoordinate { point [ 0 0 1 0 1 1 0 1 ] } + } + } + ] + } + ] + } + DEF Sensor14 ProximitySensor { + size 2 3 4 + center 0 1.5 0 + } + DEF TimeSensor14 TimeSensor { + cycleInterval 10.000 + startTime -1.000 + } + ] + } + ] + } + DEF dad_Door11 Transform { + translation .6 3.2 -9.9 + children [ + DEF Door11 Group { + children [ + DEF dad_Group25 Transform { + translation -1 0 0 + children [ + DEF dad_Extrusion65 Transform { + translation 1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion65 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion87 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion65_Coord Coordinate { +point [ 0 0 0 0 0 -2.8 -1 0 -2.8 -1 0 0 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 ] } + } + } + ] + } + ] + } + DEF dad_Group26 Transform { + translation 1 0 0 + children [ + DEF dad_Extrusion66 Transform { + translation -1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion66 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion88 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion66_Coord Coordinate { +point [ 0 0 0 1 0 0 1 0 -2.8 0 0 -2.8 ] + } + texCoord +TextureCoordinate { point [ 0 0 1 0 1 1 0 1 ] } + } + } + ] + } + ] + } + DEF Sensor13 ProximitySensor { + size 2 3 4 + center 0 1.5 0 + } + DEF TimeSensor13 TimeSensor { + cycleInterval 10.000 + startTime -1.000 + } + ] + } + ] + } + DEF dad_Door10 Transform { + translation .6 3.2 37.9 + children [ + DEF Door10 Group { + children [ + DEF dad_Group23 Transform { + translation -1 0 0 + children [ + DEF dad_Extrusion63 Transform { + translation 1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion63 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion85 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion63_Coord Coordinate { +point [ 0 0 0 0 0 -2.8 -1 0 -2.8 -1 0 0 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 ] } + } + } + ] + } + ] + } + DEF dad_Group24 Transform { + translation 1 0 0 + children [ + DEF dad_Extrusion64 Transform { + translation -1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion64 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion86 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion64_Coord Coordinate { +point [ 0 0 0 1 0 0 1 0 -2.8 0 0 -2.8 ] + } + texCoord +TextureCoordinate { point [ 0 0 1 0 1 1 0 1 ] } + } + } + ] + } + ] + } + DEF Sensor12 ProximitySensor { + size 2 3 4 + center 0 1.5 0 + } + DEF TimeSensor12 TimeSensor { + cycleInterval 10.000 + startTime -1.000 + } + ] + } + ] + } + DEF dad_Door13 Transform { + translation -23.5 3.2 14 + rotation 0 1 0 1.571 + children [ + DEF Door13 Group { + children [ + DEF dad_Group29 Transform { + translation -1 0 0 + children [ + DEF dad_Extrusion69 Transform { + translation 1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion69 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion91 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion69_Coord Coordinate { +point [ 0 0 0 0 0 -2.8 -1 0 -2.8 -1 0 0 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 ] } + } + } + ] + } + ] + } + DEF dad_Group30 Transform { + translation 1 0 0 + children [ + DEF dad_Extrusion70 Transform { + translation -1 0 0 + rotation 1 0 0 1.571 + children [ + DEF Extrusion70 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion92 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Extrusion70_Coord Coordinate { +point [ 0 0 0 1 0 0 1 0 -2.8 0 0 -2.8 ] + } + texCoord +TextureCoordinate { point [ 0 0 1 0 1 1 0 1 ] } + } + } + ] + } + ] + } + DEF Sensor15 ProximitySensor { + size 2 3 4 + center 0 1.5 0 + } + DEF TimeSensor15 TimeSensor { + cycleInterval 10.000 + startTime -1.000 + } + ] + } + ] + } + DEF dad_Garage_Door Transform { + translation -49.9 -.5 10.5 + children [ + DEF Garage_Door Group { + children [ + DEF dad_Garage_Door_Group Transform { + children [ + DEF dad_Garage_Door0 Transform { + translation 0 -3.2 2 + rotation 0 0 -1 1.571 + children [ + DEF Garage_Door0 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "Door.png" + ] + } + textureTransform TextureTransform { + rotation -1.571 + scale 4 4 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion1 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord Coordinate { +point [ -.5 0 2 -.5 0 -2 -3.2 0 -2 -3.2 0 2 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 ] } + } + } + ] + } + ] + } + DEF Wizard1 TimeSensor { + cycleInterval 10.000 + startTime -1.000 + } + DEF Sensor18 ProximitySensor { + size 12 3 6 + center 0 -1.2 2 + } + ] + } + ] + } + DEF Door14 Sound { + priority 1.000 + minBack 60.000 + minFront 60.000 + maxBack 75.000 + maxFront 75.000 + spatialize FALSE + source DEF AClip_Door14 AudioClip { + url [ + "door.mp3" + ] +startTime -1 + } + } + ] + } + DEF dad_Walls Transform { + translation -.6 0 10 + children [ + DEF dad_Garage_Door_Wall Transform { + translation -49.8 -3.2 12.5 + rotation 0 0 1 1.571 + children [ + DEF Garage_Door_Wall Shape { + appearance Appearance { + texture ImageTexture { + url [ + "white.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion918 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + 0 -2 + 2.7 -2 + 2.7 2 + 0 2 + 0 12.5 + 3 12.5 + 3 -12.5 + 0 -12.5 + 0 -2 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Inner_and_Outter_Wall2 Transform { + translation -19.6 0 31 + rotation 0 0 -1 1.571 + children [ + DEF Inner_and_Outter_Wall2 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + rotation -1.571 + scale 6.6666 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion30 IndexedFaceSet { + creaseAngle 0.524 +coordIndex [ 4 5 6 -1 4 6 7 -1 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 0 1 2 -1 0 2 3 -1 3 2 1 -1 3 1 0 -1 ] coord Coordinate { +point [ -3 0 -12 -3 0 8 0 0 8 0 0 -12 -3 .2 -12 -3 .2 8 0 .2 8 0 .2 -12 ] + } + texCoord +TextureCoordinate { point [ 0 1 0 0 1 0 1 1 ] } + } + } + ] + } + DEF dad_Inner_and_Outter_Wall1 Transform { + translation 20.6 0 31 + rotation 0 0 -1 1.571 + children [ + DEF Inner_and_Outter_Wall1 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + rotation -1.571 + scale 6.6666 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion29 IndexedFaceSet { + creaseAngle 0.524 +coordIndex [ 4 5 6 -1 4 6 7 -1 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 0 1 2 -1 0 2 3 -1 3 2 1 -1 3 1 0 -1 ] coord Coordinate { +point [ -3 0 -12 -3 0 8 0 0 8 0 0 -12 -3 .2 -12 -3 .2 8 0 .2 8 0 .2 -12 ] + } + texCoord +TextureCoordinate { point [ 0 1 0 0 1 0 1 1 ] } + } + } + ] + } + DEF dad_Inner_and_Outter_Wall0 Transform { + translation -34.4 0 26 + rotation 0 0 1 1.571 + children [ + DEF Inner_and_Outter_Wall0 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + rotation 1.571 + scale 6.6666 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion20 IndexedFaceSet { + creaseAngle 0.524 +coordIndex [ 12 13 11 -1 11 13 14 -1 11 14 10 -1 10 14 15 -1 10 15 9 -1 9 15 +8 -1 2 1 0 -1 2 0 7 -1 2 7 6 -1 2 6 3 -1 4 3 6 -1 4 6 5 -1 ] texCoordIndex +[ 4 5 3 -1 3 5 6 -1 3 6 2 -1 2 6 7 -1 2 7 1 -1 1 7 0 -1 2 1 0 -1 2 0 7 -1 2 +7 6 -1 2 6 3 -1 4 3 6 -1 4 6 5 -1 ] coord Coordinate { +point [ 0 0 -11.9 0 0 -10 2.8 0 -10 2.8 0 -8 0 0 -8 0 0 8 3 0 8 3 0 -11.9 +0 .2 -11.9 0 .2 -10 2.8 .2 -10 2.8 .2 -8 0 .2 -8 0 .2 8 3 .2 8 3 .2 -11.9 +] + } + texCoord +TextureCoordinate { point [ 0 1 0 .905 .933 .905 .933 .804 0 .804 0 0 1 0 +1 1 ] } + } + } + ] + } + DEF dad_Inner_Wall8 Transform { + translation 27.6 0 19 + rotation 1 0 0 1.571 + children [ + DEF Inner_Wall8 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + scale 5 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion19 IndexedFaceSet { + creaseAngle 0.524 +coordIndex [ 15 8 14 -1 14 8 9 -1 14 9 13 -1 13 9 10 -1 13 10 11 -1 13 11 12 +-1 4 3 5 -1 5 3 2 -1 5 2 6 -1 6 2 1 -1 6 1 0 -1 6 0 7 -1 ] texCoordIndex +[ 7 0 6 -1 6 0 1 -1 6 1 5 -1 5 1 2 -1 5 2 3 -1 5 3 4 -1 4 3 5 -1 5 3 2 -1 5 +2 6 -1 6 2 1 -1 6 1 0 -1 6 0 7 -1 ] coord Coordinate { +point [ 8 0 0 8 0 -3 -7 0 -3 -7 0 0 -1 0 0 -1 0 -2.8 1 0 -2.8 1 0 0 8 .2 0 +8 .2 -3 -7 .2 -3 -7 .2 0 -1 .2 0 -1 .2 -2.8 1 .2 -2.8 1 .2 0 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 .4 0 .4 .933 .533 .933 .533 0 +] } + } + } + ] + } + DEF dad_Inner_Wall7 Transform { + translation -27.4 0 19 + rotation 1 0 0 1.571 + children [ + DEF Inner_Wall7 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + scale 5 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion18 IndexedFaceSet { + creaseAngle 0.524 +coordIndex [ 15 8 14 -1 14 8 9 -1 14 9 13 -1 13 9 10 -1 13 10 11 -1 13 11 12 +-1 4 3 5 -1 5 3 2 -1 5 2 6 -1 6 2 1 -1 6 1 0 -1 6 0 7 -1 ] texCoordIndex +[ 7 0 6 -1 6 0 1 -1 6 1 5 -1 5 1 2 -1 5 2 3 -1 5 3 4 -1 4 3 5 -1 5 3 2 -1 5 +2 6 -1 6 2 1 -1 6 1 0 -1 6 0 7 -1 ] coord Coordinate { +point [ 8 0 0 8 0 -3 -7 0 -3 -7 0 0 -1 0 0 -1 0 -2.8 1 0 -2.8 1 0 0 8 .2 0 +8 .2 -3 -7 .2 -3 -7 .2 0 -1 .2 0 -1 .2 -2.8 1 .2 -2.8 1 .2 0 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 .4 0 .4 .933 .533 .933 .533 0 +] } + } + } + ] + } + DEF dad_Inner_Wall6 Transform { + translation -39.4 0 14 + rotation 1 0 0 1.571 + children [ + DEF Inner_Wall6 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + scale 6.6666 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion17 IndexedFaceSet { + creaseAngle 0.524 +coordIndex [ 4 5 6 -1 4 6 7 -1 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 0 1 2 -1 0 2 3 -1 3 2 1 -1 3 1 0 -1 ] coord Coordinate { +point [ 10 0 -3 -10 0 -3 -10 0 0 10 0 0 10 .2 -3 -10 .2 -3 -10 .2 0 10 .2 +0 ] + } + texCoord +TextureCoordinate { point [ 1 1 0 1 0 0 1 0 ] } + } + } + ] + } + DEF dad_Inner_Wall5 Transform { + translation 40.6 0 14 + rotation 1 0 0 1.571 + children [ + DEF Inner_Wall5 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + scale 6.6666 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion16 IndexedFaceSet { + creaseAngle 0.524 +coordIndex [ 4 5 6 -1 4 6 7 -1 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 0 1 2 -1 0 2 3 -1 3 2 1 -1 3 1 0 -1 ] coord Coordinate { +point [ 10 0 -3 -10 0 -3 -10 0 0 10 0 0 10 .2 -3 -10 .2 -3 -10 .2 0 10 .2 +0 ] + } + texCoord +TextureCoordinate { point [ 1 1 0 1 0 0 1 0 ] } + } + } + ] + } + DEF dad_Inner_and_Outter_Wall Transform { + translation 35.6 0 26 + rotation 0 0 1 1.571 + children [ + DEF Inner_and_Outter_Wall Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + rotation 1.571 + scale 6.6666 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion15 IndexedFaceSet { + creaseAngle 0.524 +coordIndex [ 12 13 11 -1 11 13 14 -1 11 14 10 -1 10 14 15 -1 10 15 9 -1 9 15 +8 -1 2 1 0 -1 2 0 7 -1 2 7 6 -1 2 6 3 -1 4 3 6 -1 4 6 5 -1 ] texCoordIndex +[ 4 5 3 -1 3 5 6 -1 3 6 2 -1 2 6 7 -1 2 7 1 -1 1 7 0 -1 2 1 0 -1 2 0 7 -1 2 +7 6 -1 2 6 3 -1 4 3 6 -1 4 6 5 -1 ] coord Coordinate { +point [ 0 0 -11.9 0 0 -10 2.8 0 -10 2.8 0 -8 0 0 -8 0 0 8 3 0 8 3 0 -11.9 +0 .2 -11.9 0 .2 -10 2.8 .2 -10 2.8 .2 -8 0 .2 -8 0 .2 8 3 .2 8 3 .2 -11.9 +] + } + texCoord +TextureCoordinate { point [ 0 1 0 .905 .933 .905 .933 .804 0 .804 0 0 1 0 +1 1 ] } + } + } + ] + } + DEF dad_Inner_Wall4 Transform { + translation 30.6 0 -1 + rotation 1 0 0 1.571 + children [ + DEF Inner_Wall4 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + scale 6.6666 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion14 IndexedFaceSet { + creaseAngle 0.524 +coordIndex [ 4 5 6 -1 4 6 7 -1 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 0 1 2 -1 0 2 3 -1 3 2 1 -1 3 1 0 -1 ] coord Coordinate { +point [ 10 0 -3 -10 0 -3 -10 0 0 10 0 0 10 .2 -3 -10 .2 -3 -10 .2 0 10 .2 +0 ] + } + texCoord +TextureCoordinate { point [ 1 1 0 1 0 0 1 0 ] } + } + } + ] + } + DEF dad_Inner_Wall3 Transform { + translation -29.4 0 -1 + rotation 1 0 0 1.571 + children [ + DEF Inner_Wall3 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + scale 6.6666 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion13 IndexedFaceSet { + creaseAngle 0.524 +coordIndex [ 4 5 6 -1 4 6 7 -1 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 0 1 2 -1 0 2 3 -1 3 2 1 -1 3 1 0 -1 ] coord Coordinate { +point [ 10 0 -3 -10 0 -3 -10 0 0 10 0 0 10 .2 -3 -10 .2 -3 -10 .2 0 10 .2 +0 ] + } + texCoord +TextureCoordinate { point [ 1 1 0 1 0 0 1 0 ] } + } + } + ] + } + DEF dad_Inner_Wall2 Transform { + translation -29.4 0 6 + rotation 0 0 1 1.571 + children [ + DEF Inner_Wall2 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + rotation 1.571 + scale 5 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion10 IndexedFaceSet { + creaseAngle 0.524 +coordIndex [ 14 15 13 -1 13 15 8 -1 13 8 12 -1 12 8 9 -1 12 9 11 -1 11 9 10 +-1 4 3 2 -1 4 2 1 -1 4 1 0 -1 4 0 5 -1 6 5 0 -1 6 0 7 -1 ] texCoordIndex +[ 6 7 5 -1 5 7 0 -1 5 0 4 -1 4 0 1 -1 4 1 3 -1 3 1 2 -1 4 3 2 -1 4 2 1 -1 4 +1 0 -1 4 0 5 -1 6 5 0 -1 6 0 7 -1 ] coord Coordinate { +point [ 3 0 8 3 0 -6.9 0 0 -6.9 0 0 -1 2.8 0 -1 2.8 0 1 0 0 1 0 0 8 3 .2 8 +3 .2 -6.9 0 .2 -6.9 0 .2 -1 2.8 .2 -1 2.8 .2 1 0 .2 1 0 .2 8 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 .604 .933 .604 .933 .47 0 .47 0 +0 ] } + } + } + ] + } + DEF dad_Inner_Wall1 Transform { + translation 30.8 0 6 + rotation 0 0 1 1.571 + children [ + DEF Inner_Wall1 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + rotation 1.571 + scale 5 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion9 IndexedFaceSet { + creaseAngle 0.524 +coordIndex [ 14 15 13 -1 13 15 8 -1 13 8 12 -1 12 8 9 -1 12 9 11 -1 11 9 10 +-1 4 3 2 -1 4 2 1 -1 4 1 0 -1 4 0 5 -1 6 5 0 -1 6 0 7 -1 ] texCoordIndex +[ 6 7 5 -1 5 7 0 -1 5 0 4 -1 4 0 1 -1 4 1 3 -1 3 1 2 -1 4 3 2 -1 4 2 1 -1 4 +1 0 -1 4 0 5 -1 6 5 0 -1 6 0 7 -1 ] coord Coordinate { +point [ 3 0 8 3 0 -6.9 0 0 -6.9 0 0 -1 2.8 0 -1 2.8 0 1 0 0 1 0 0 8 3 .2 8 +3 .2 -6.9 0 .2 -6.9 0 .2 -1 2.8 .2 -1 2.8 .2 1 0 .2 1 0 .2 8 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 .604 .933 .604 .933 .47 0 .47 0 +0 ] } + } + } + ] + } + DEF dad_Inner_Wall0 Transform { + translation 20.8 0 -9 + rotation 0 0 1 1.571 + children [ + DEF Inner_Wall0 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + rotation 1.571 + scale 5 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion8 IndexedFaceSet { + creaseAngle 0.524 +coordIndex [ 14 15 13 -1 13 15 8 -1 13 8 12 -1 12 8 9 -1 12 9 11 -1 11 9 10 +-1 4 3 2 -1 4 2 1 -1 4 1 0 -1 4 0 5 -1 6 5 0 -1 6 0 7 -1 ] texCoordIndex +[ 6 7 5 -1 5 7 0 -1 5 0 4 -1 4 0 1 -1 4 1 3 -1 3 1 2 -1 4 3 2 -1 4 2 1 -1 4 +1 0 -1 4 0 5 -1 6 5 0 -1 6 0 7 -1 ] coord Coordinate { +point [ 3 0 8 3 0 -7 0 0 -7 0 0 -1 2.8 0 -1 2.8 0 1 0 0 1 0 0 8 3 .2 8 3 .2 +-7 0 .2 -7 0 .2 -1 2.8 .2 -1 2.8 .2 1 0 .2 1 0 .2 8 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 .6 .933 .6 .933 .467 0 .467 0 0 +] } + } + } + ] + } + DEF dad_Inner_Wall Transform { + translation -19.4 0 -9 + rotation 0 0 1 1.571 + children [ + DEF Inner_Wall Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + rotation 1.571 + scale 5 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion7 IndexedFaceSet { + creaseAngle 0.524 +coordIndex [ 14 15 13 -1 13 15 8 -1 13 8 12 -1 12 8 9 -1 12 9 11 -1 11 9 10 +-1 4 3 2 -1 4 2 1 -1 4 1 0 -1 4 0 5 -1 6 5 0 -1 6 0 7 -1 ] texCoordIndex +[ 6 7 5 -1 5 7 0 -1 5 0 4 -1 4 0 1 -1 4 1 3 -1 3 1 2 -1 4 3 2 -1 4 2 1 -1 4 +1 0 -1 4 0 5 -1 6 5 0 -1 6 0 7 -1 ] coord Coordinate { +point [ 3 0 8 3 0 -7 0 0 -7 0 0 -1 2.8 0 -1 2.8 0 1 0 0 1 0 0 8 3 .2 8 3 .2 +-7 0 .2 -7 0 .2 -1 2.8 .2 -1 2.8 .2 1 0 .2 1 0 .2 8 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 .6 .933 .6 .933 .467 0 .467 0 0 +] } + } + } + ] + } + DEF dad_Curved_Wall Transform { + translation .6 0 -16 + children [ + DEF Curved_Wall Shape { + appearance Appearance { + texture ImageTexture { + url [ + "stone.jpg" + ] + } + textureTransform TextureTransform { + scale 20 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion919 Extrusion { + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + convex FALSE + crossSection [ + -9.8 .2 + -9.8 -1.8 + -8.9 -3.8 + -6.8 -5.9 + -4.9 -6.8 + -1 -7.8 + 1 -7.8 + 4.9 -6.8 + 6.9 -5.8 + 8.9 -3.8 + 9.8 -1.8 + 9.8 .2 + 10 .2 + 10 -2 + 9 -4 + 7 -6 + 5 -7 + 1 -8 + -1 -8 + -5 -7 + -7 -6 + -9 -4 + -10 -2 + -10 .2 + -9.8 .2 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_A5M Transform { + translation -19.6 0 41.6 + rotation 0 1 0 1.571 + children [ + DEF A5M Group { + children [ + DEF dad_Outter_Wall7 Transform { + translation 0 0 .1 + rotation 0 1 0 3.142 + children [ + DEF Outter_Wall7 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "stone.jpg" + ] + } + textureTransform TextureTransform { + scale 1.6666 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion99 Extrusion { + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -2.5 .1 + 2.5 .1 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Outter_Wall3 Transform { + translation 0 0 .1 + children [ + DEF Inner_Wall9 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + scale 1.6666 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion25 Extrusion { + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -2.6 .1 + 2.5 .1 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + ] + } + ] + } + DEF dad_A35M Transform { + translation -49.6 0 16.5 + rotation 0 1 0 1.571 + children [ + DEF A35M Group { + children [ + DEF dad_Outter_Wall6 Transform { + translation 0 0 .1 + rotation 0 1 0 3.142 + children [ + DEF Outter_Wall6 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "stone.jpg" + ] + } + textureTransform TextureTransform { + scale 11.6666 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion98 Extrusion { + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -17.5 .1 + 17.5 .1 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Outter_Wall0 Transform { + translation 0 0 .1 + children [ + DEF Outter_Wall0 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + scale 11.6666 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion6 Extrusion { + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -17.5 .1 + 17.5 .1 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + ] + } + ] + } + DEF dad_Reference67 Transform { + translation -29.4 0 -16 + children [ + DEF A15M Group { + children [ + DEF dad_Outter_Wall5 Transform { + translation 0 0 .1 + rotation 0 1 0 3.142 + children [ + DEF Outter_Wall5 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "stone.jpg" + ] + } + textureTransform TextureTransform { + scale 6.6666 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion97 Extrusion { + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -10 .1 + 10 .1 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Outter_Wall Transform { + translation 0 0 .1 + children [ + DEF Outter_Wall Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + scale 6.6666 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion5 Extrusion { + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -10 .1 + 10 .1 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + ] + } + ] + } + DEF dad_Reference71 Transform { + translation -34.6 0 36.6 + rotation 0 1 0 1.571 + children [ + USE A5M + ] + } + DEF dad_Reference70 Transform { + translation 35.6 0 36.7 + rotation 0 -1 0 1.571 + children [ + USE A5M + ] + } + DEF dad_Reference69 Transform { + translation 20.8 0 41.6 + rotation 0 -1 0 1.571 + children [ + USE A5M + ] + } + DEF dad_Reference68 Transform { + translation 50.8 0 16.5 + rotation 0 -1 0 1.571 + children [ + USE A35M + ] + } + DEF dad_A15M Transform { + translation 30.6 0 -16 + children [ + USE A15M + ] + } + DEF dad_Reference72 Transform { + translation 19.1 3.2 -10 + children [ + DEF A11M Group { + children [ + DEF dad_Outter_Wall8 Transform { + translation 0 0 .1 + rotation 0 1 0 3.142 + children [ + DEF Outter_Wall8 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "stone.jpg" + ] + } + textureTransform TextureTransform { + scale 3.6666 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion910 Extrusion { + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -5.5 .1 + 5.5 .1 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Outter_Wall4 Transform { + translation 0 0 .1 + children [ + DEF Outter_Wall4 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "wall.jpg" + ] + } + textureTransform TextureTransform { + scale 3.6666 1 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion26 Extrusion { + creaseAngle 0.524 + crossSection [ + -5.5 .1 + 5.5 .1 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + ] + } + ] + } + DEF dad_A11M Transform { + translation -17.9 3.2 -10 + children [ + USE A11M + ] + } + DEF dad_Reference73 Transform { + translation -17.9 3.2 38 + rotation 0 -1 0 3.142 + children [ + USE A11M + ] + } + DEF dad_Reference74 Transform { + translation 19.1 3.2 38 + rotation 0 -1 0 3.142 + children [ + USE A11M + ] + } + DEF dad_Reference75 Transform { + translation -23.6 3.2 32.5 + rotation 0 1 0 1.571 + children [ + USE A11M + ] + } + DEF dad_Reference76 Transform { + translation -23.6 3.2 -4.5 + rotation 0 1 0 1.571 + children [ + USE A11M + ] + } + DEF dad_Reference77 Transform { + translation 24.6 3.2 -4.5 + rotation 0 -1 0 1.571 + children [ + USE A11M + ] + } + DEF dad_Reference78 Transform { + translation 24.6 3.2 32.5 + rotation 0 -1 0 1.571 + children [ + USE A11M + ] + } + DEF dad_Reference65 Transform { + translation .6 3.2 -10 + rotation 1 0 0 1.571 + children [ + DEF Top_Wall1 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "alum.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion82 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + 1 -2.8 + 1 -0 + 13 -0 + 13 -3 + -13 -3 + -13 -0 + -1 -0 + -1 -2.8 + -1.2 -2.8 + -1.2 -.2 + -2.8 -.2 + -2.8 -2.8 + -3 -2.8 + -3 -.2 + -4.8 -.2 + -4.8 -2.8 + -5 -2.8 + -5 -.2 + -6.8 -.2 + -6.8 -2.8 + -7 -2.8 + -7 -.2 + -8.8 -.2 + -8.8 -2.8 + -9 -2.8 + -9 -.2 + -10.8 -.2 + -10.8 -2.8 + -11 -2.8 + -11 -.2 + -12.8 -.2 + -12.8 -2.8 + 12.8 -2.8 + 12.8 -.2 + 11 -.2 + 11 -2.8 + 10.8 -2.8 + 10.8 -.2 + 9 -.2 + 9 -2.8 + 8.8 -2.8 + 8.8 -.2 + 7 -.2 + 7 -2.8 + 6.8 -2.8 + 6.8 -.2 + 5 -.2 + 5 -2.8 + 4.8 -2.8 + 4.8 -.2 + 3 -.2 + 3 -2.8 + 2.8 -2.8 + 2.8 -.2 + 1.2 -.2 + 1.2 -2.8 + 1 -2.8 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Top_Wall Transform { + translation 24.6 3.2 14 + rotation -0 -1 0 1.571 + children [ + DEF Top_Window_Frame Group { + children [ + DEF dad_Top_Wall1 Transform { + rotation 1 0 0 1.571 + children [ + USE Top_Wall1 + ] + } + ] + } + ] + } + DEF dad_Reference66 Transform { + translation .6 3.2 38 + rotation 0 1 0 3.142 + children [ + USE Top_Window_Frame + ] + } + DEF dad_Top_Glass2 Transform { + translation -23.4 0 -10 + children [ + DEF Top_Glass Group { + children [ + DEF dad_Top_Glass1 Transform { + translation -.1 3.2 23 + children [ + DEF Top_Glass1 Shape { + appearance Appearance { + material DEF Shiny_Cyan Material { + ambientIntensity 0.500 + shininess 0.500 + transparency 0.500 + diffuseColor 1 1 1 + specularColor 1 1 1 + } + } + geometry DEF GeoExtrusion84 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + 0 -12 + 0 -0 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Top_Glass0 Transform { + translation -.1 3.2 37 + children [ + DEF Top_Glass0 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion83 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + 0 -12 + 0 -0 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + ] + } + ] + } + DEF dad_Top_Glass3 Transform { + translation -23.4 0 37.8 + rotation 0 1 0 1.571 + children [ + USE Top_Glass + ] + } + DEF dad_Top_Glass4 Transform { + translation -23.4 0 -10 + rotation 0 1 0 1.571 + children [ + USE Top_Glass + ] + } + DEF dad_Top_Glass Transform { + translation 24.6 0 -10 + children [ + USE Top_Glass + ] + } + DEF dad_Window_Frame Transform { + translation 15.6 0 -16 + rotation 1 0 0 1.571 + children [ + DEF Window_Frame Shape { + appearance Appearance { + texture ImageTexture { + url [ + "alum.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion2 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + 3.1 -.2 + 3.1 -2.8 + 2.9 -2.8 + 2.9 -.2 + 1.2 -.2 + 1.2 -2.8 + 1 -2.8 + 1 -0 + 5 -0 + 5 -3 + -5 -3 + -5 -0 + -1 -0 + -1 -2.8 + -1.2 -2.8 + -1.2 -.2 + -2.9 -.2 + -2.9 -2.8 + -3.1 -2.8 + -3.1 -.2 + -4.8 -.2 + -4.8 -2.8 + 4.8 -2.8 + 4.8 -.2 + 3.1 -.2 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window_Frame0 Transform { + translation -14.4 0 -16 + rotation 1 0 0 1.571 + children [ + DEF Window_Frame0 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "alum.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion4 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + 3.1 -.2 + 3.1 -2.8 + 2.9 -2.8 + 2.9 -.2 + 1.2 -.2 + 1.2 -2.8 + 1 -2.8 + 1 -0 + 5 -0 + 5 -3 + -5 -3 + -5 -0 + -1 -0 + -1 -2.8 + -1.2 -2.8 + -1.2 -.2 + -2.9 -.2 + -2.9 -2.8 + -3.1 -2.8 + -3.1 -.2 + -4.8 -.2 + -4.8 -2.8 + 4.8 -2.8 + 4.8 -.2 + 3.1 -.2 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window_Frame1 Transform { + translation 42.8 0 34 + rotation 1 0 0 1.571 + children [ + DEF Window_Frame1 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "alum.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion21 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + -6.8 -.2 + -6.8 -2.8 + 7.6 -2.8 + 7.6 -.2 + 7.8 -.2 + 7.8 -3 + -7 -3 + -7 -0 + 7.8 -0 + 7.8 -.2 + 5.6 -.2 + 5.6 -2.8 + 5.4 -2.8 + 5.4 -.2 + 3.5 -.2 + 3.5 -2.8 + 3.3 -2.8 + 3.3 -.2 + 1.4 -.2 + 1.4 -2.8 + 1.2 -2.8 + 1.2 -.2 + -.7 -.2 + -.7 -2.8 + -.9 -2.8 + -.9 -.2 + -2.8 -.2 + -2.8 -2.8 + -3 -2.8 + -3 -.2 + -4.9 -.2 + -4.9 -2.8 + -5.1 -2.8 + -5.1 -.2 + -6.8 -.2 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window_Frame2 Transform { + translation 45.6 0 -1 + rotation 1 0 0 1.571 + children [ + DEF Window_Frame2 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "alum.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion23 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + -5 -3 + -5 -0 + 5 -0 + 5 -.2 + 3.1 -.2 + 3.1 -2.8 + 2.9 -2.8 + 2.9 -.2 + 1.1 -.2 + 1.1 -2.8 + .9 -2.8 + .9 -.2 + -.9 -.2 + -.9 -2.8 + -1.1 -2.8 + -1.1 -.2 + -2.9 -.2 + -2.9 -2.8 + -3.1 -2.8 + -3.1 -.2 + -4.8 -.2 + -4.8 -2.8 + 4.8 -2.8 + 4.8 -.2 + 5 -.2 + 5 -3 + -5 -3 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window_Frame3 Transform { + translation -44.4 0 -1 + rotation 1 0 0 1.571 + children [ + DEF Window_Frame3 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "alum.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion24 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + -5 -3 + -5 -0 + 5 -0 + 5 -.2 + 3.1 -.2 + 3.1 -2.8 + 2.9 -2.8 + 2.9 -.2 + 1.1 -.2 + 1.1 -2.8 + .9 -2.8 + .9 -.2 + -.9 -.2 + -.9 -2.8 + -1.1 -2.8 + -1.1 -.2 + -2.9 -.2 + -2.9 -2.8 + -3.1 -2.8 + -3.1 -.2 + -4.8 -.2 + -4.8 -2.8 + 4.8 -2.8 + 4.8 -.2 + 5 -.2 + 5 -3 + -5 -3 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window_Frame6 Transform { + translation 5.6 0 42 + rotation 0 0 1 1.571 + children [ + DEF Window_Frame6 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "alum.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion3 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + .2 2 + 3 2 + 3 -2 + 0 -2 + 0 2 + .2 2 + .2 .1 + 2.8 .1 + 2.8 -.1 + .2 -.1 + .2 -1.8 + 2.8 -1.8 + 2.8 1.8 + .2 1.8 + .2 2 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window_Frame7 Transform { + translation 12.6 0 44 + rotation 1 0 0 1.571 + children [ + DEF Window_Frame7 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "alum.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion31 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + -6.8 -.2 + -6.8 -2.8 + 7.6 -2.8 + 7.6 -.2 + 7.8 -.2 + 7.8 -3 + -7 -3 + -7 -0 + 7.8 -0 + 7.8 -.2 + 5.6 -.2 + 5.6 -2.8 + 5.4 -2.8 + 5.4 -.2 + 3.5 -.2 + 3.5 -2.8 + 3.3 -2.8 + 3.3 -.2 + 1.4 -.2 + 1.4 -2.8 + 1.2 -2.8 + 1.2 -.2 + -.7 -.2 + -.7 -2.8 + -.9 -2.8 + -.9 -.2 + -2.8 -.2 + -2.8 -2.8 + -3 -2.8 + -3 -.2 + -4.9 -.2 + -4.9 -2.8 + -5.1 -2.8 + -5.1 -.2 + -6.8 -.2 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window_Frame8 Transform { + translation -12.4 0 44 + rotation 1 0 0 1.571 + children [ + DEF Window_Frame8 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "alum.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion32 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + -6.8 -.2 + -6.8 -2.8 + 7.6 -2.8 + 7.6 -.2 + 7.8 -.2 + 7.8 -3 + -7 -3 + -7 -0 + 7.8 -0 + 7.8 -.2 + 5.6 -.2 + 5.6 -2.8 + 5.4 -2.8 + 5.4 -.2 + 3.5 -.2 + 3.5 -2.8 + 3.3 -2.8 + 3.3 -.2 + 1.4 -.2 + 1.4 -2.8 + 1.2 -2.8 + 1.2 -.2 + -.7 -.2 + -.7 -2.8 + -.9 -2.8 + -.9 -.2 + -2.8 -.2 + -2.8 -2.8 + -3 -2.8 + -3 -.2 + -4.9 -.2 + -4.9 -2.8 + -5.1 -2.8 + -5.1 -.2 + -6.8 -.2 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window_Frame9 Transform { + translation -4.4 0 42 + rotation 0 0 1 1.571 + children [ + DEF Window_Frame9 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "alum.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion33 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + .2 2 + 3 2 + 3 -2 + 0 -2 + 0 2 + .2 2 + .2 .1 + 2.8 .1 + 2.8 -.1 + .2 -.1 + .2 -1.8 + 2.8 -1.8 + 2.8 1.8 + .2 1.8 + .2 2 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window_Frame4 Transform { + translation 27.6 0 39 + rotation 1 0 0 1.571 + children [ + DEF Window_Frame4 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "alum.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion27 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + -6.8 -.2 + -6.8 -2.8 + 7.6 -2.8 + 7.6 -.2 + 7.8 -.2 + 7.8 -3 + -7 -3 + -7 -0 + 7.8 -0 + 7.8 -.2 + 5.6 -.2 + 5.6 -2.8 + 5.4 -2.8 + 5.4 -.2 + 3.5 -.2 + 3.5 -2.8 + 3.3 -2.8 + 3.3 -.2 + 1.4 -.2 + 1.4 -2.8 + 1.2 -2.8 + 1.2 -.2 + -.7 -.2 + -.7 -2.8 + -.9 -2.8 + -.9 -.2 + -2.8 -.2 + -2.8 -2.8 + -3 -2.8 + -3 -.2 + -4.9 -.2 + -4.9 -2.8 + -5.1 -2.8 + -5.1 -.2 + -6.8 -.2 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window_Frame5 Transform { + translation -27.4 0 39 + rotation 1 0 0 1.571 + children [ + DEF Window_Frame5 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "alum.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion28 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + -6.8 -.2 + -6.8 -2.8 + 7.6 -2.8 + 7.6 -.2 + 7.8 -.2 + 7.8 -3 + -7 -3 + -7 -0 + 7.8 -0 + 7.8 -.2 + 5.6 -.2 + 5.6 -2.8 + 5.4 -2.8 + 5.4 -.2 + 3.5 -.2 + 3.5 -2.8 + 3.3 -2.8 + 3.3 -.2 + 1.4 -.2 + 1.4 -2.8 + 1.2 -2.8 + 1.2 -.2 + -.7 -.2 + -.7 -2.8 + -.9 -2.8 + -.9 -.2 + -2.8 -.2 + -2.8 -2.8 + -3 -2.8 + -3 -.2 + -4.9 -.2 + -4.9 -2.8 + -5.1 -2.8 + -5.1 -.2 + -6.8 -.2 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window_Frame10 Transform { + translation .6 0 40 + rotation 1 0 0 1.571 + children [ + DEF Window_Frame10 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "alum.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion34 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + 3.1 -.2 + 3.1 -2.8 + 2.9 -2.8 + 2.9 -.2 + 1.2 -.2 + 1.2 -2.8 + 1 -2.8 + 1 -0 + 5 -0 + 5 -3 + -5 -3 + -5 -0 + -1 -0 + -1 -2.8 + -1.2 -2.8 + -1.2 -.2 + -2.9 -.2 + -2.9 -2.8 + -3.1 -2.8 + -3.1 -.2 + -4.8 -.2 + -4.8 -2.8 + 4.8 -2.8 + 4.8 -.2 + 3.1 -.2 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Top_Window_Frame Transform { + translation -23.6 3.2 14 + rotation 0 1 0 1.571 + children [ + USE Top_Window_Frame + ] + } + DEF dad_Extrusion37 Transform { + translation -11.4 0 -15.9 + children [ + DEF Window_Glass4 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion37 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -2 -0 + 2 -0 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Extrusion38 Transform { + translation -17.4 0 -15.9 + children [ + DEF Window_Glass3 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion38 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -2 -0 + 2 -0 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Extrusion39 Transform { + translation 40.7 0 -9 + children [ + DEF Window_Glass2 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion39 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + 0 8 + 0 -7 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Extrusion40 Transform { + translation -39.3 0 -9 + children [ + DEF Window_Glass1 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion40 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + 0 8 + 0 -7 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window Transform { + translation 45.6 0 -.9 + children [ + DEF Window Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion41 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -5 -0 + 5 -0 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window0 Transform { + translation -44.4 0 -.9 + children [ + DEF Window0 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion42 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -5 -0 + 5 -0 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window1 Transform { + translation -41.4 0 34.1 + children [ + DEF Window1 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion43 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -8 -0 + 7 -0 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window2 Transform { + translation 43.6 0 34.1 + children [ + DEF Window2 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion44 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -8 -0 + 7 -0 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window5 Transform { + translation 5.5 0 42 + children [ + DEF Window5 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion47 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + 0 2 + 0 -2 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window6 Transform { + translation -4.5 0 42 + children [ + DEF Window6 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion48 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + 0 2 + 0 -2 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window7 Transform { + translation 13.6 0 44.1 + children [ + DEF Window7 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion49 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -8 -0 + 7 -0 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window8 Transform { + translation -11.4 0 44.1 + children [ + DEF Window8 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion50 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -8 -0 + 7 -0 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window9 Transform { + translation 3.6 0 40.1 + children [ + DEF Window9 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion51 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -2 -0 + 2 -0 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window10 Transform { + translation -2.4 0 40.1 + children [ + DEF Window10 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion52 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -2 -0 + 2 -0 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Extrusion35 Transform { + translation 18.6 0 -15.9 + children [ + DEF Window_Glass0 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion35 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -2 -0 + 2 -0 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window3 Transform { + translation 28.6 0 39.1 + children [ + DEF Window3 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion45 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -8 -0 + 7 -0 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Extrusion36 Transform { + translation 12.6 0 -15.9 + children [ + DEF Window_Glass Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion36 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -2 -0 + 2 -0 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window4 Transform { + translation -26.4 0 39.1 + children [ + DEF Window4 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion46 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -8 -0 + 7 -0 + ] + spine [ + 0 0 0 + 0 3 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Window_Frame11 Transform { + translation -42.4 0 34 + rotation 1 0 0 1.571 + children [ + DEF Window_Frame11 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "alum.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion22 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + -6.8 -.2 + -6.8 -2.8 + 7.6 -2.8 + 7.6 -.2 + 7.8 -.2 + 7.8 -3 + -7 -3 + -7 -0 + 7.8 -0 + 7.8 -.2 + 5.6 -.2 + 5.6 -2.8 + 5.4 -2.8 + 5.4 -.2 + 3.5 -.2 + 3.5 -2.8 + 3.3 -2.8 + 3.3 -.2 + 1.4 -.2 + 1.4 -2.8 + 1.2 -2.8 + 1.2 -.2 + -.7 -.2 + -.7 -2.8 + -.9 -2.8 + -.9 -.2 + -2.8 -.2 + -2.8 -2.8 + -3 -2.8 + -3 -.2 + -4.9 -.2 + -4.9 -2.8 + -5.1 -2.8 + -5.1 -.2 + -6.8 -.2 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Outter_Wall2 Transform { + translation 40.6 0 -9 + rotation 0 -0 -1 1.571 + children [ + DEF Window_Frame12 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "alum.jpg" + ] + } + material USE Shiny_Rust + } + geometry DEF GeoExtrusion12 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + -.2 -.5 + -.2 1.4 + -2.8 1.4 + -2.8 1.6 + -.2 1.6 + -.2 3.6 + -2.8 3.6 + -2.8 3.8 + -.2 3.8 + -.2 5.7 + -2.8 5.7 + -2.8 5.9 + -.2 5.9 + -.2 7.8 + -3 7.8 + -3 8 + 0 8 + 0 -7 + -3 -7 + -3 7.8 + -2.8 7.8 + -2.8 -6.8 + -.2 -6.8 + -.2 -4.9 + -2.8 -4.9 + -2.8 -4.7 + -.2 -4.7 + -.2 -2.8 + -2.8 -2.8 + -2.8 -2.6 + -.2 -2.6 + -.2 -.7 + -2.8 -.7 + -2.8 -.5 + -.2 -.5 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Outter_Wall1 Transform { + translation -39.4 0 -9 + rotation 0 -0 -1 1.571 + children [ + DEF Window_Frame13 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "alum.jpg" + ] + } + material USE Shiny_Rust + } + geometry DEF GeoExtrusion11 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + -.2 -.5 + -.2 1.4 + -2.8 1.4 + -2.8 1.6 + -.2 1.6 + -.2 3.6 + -2.8 3.6 + -2.8 3.8 + -.2 3.8 + -.2 5.7 + -2.8 5.7 + -2.8 5.9 + -.2 5.9 + -.2 7.8 + -3 7.8 + -3 8 + 0 8 + 0 -7 + -3 -7 + -3 7.8 + -2.8 7.8 + -2.8 -6.8 + -.2 -6.8 + -.2 -4.9 + -2.8 -4.9 + -2.8 -4.7 + -.2 -4.7 + -.2 -2.8 + -2.8 -2.8 + -2.8 -2.6 + -.2 -2.6 + -.2 -.7 + -2.8 -.7 + -2.8 -.5 + -.2 -.5 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + ] + } + DEF dad_Skylight Transform { + translation -.6 0 10 + children [ + DEF dad_Level_2_Rim0 Transform { + translation .6 6 14 + children [ + DEF Level_2_Rim0 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "white.jpg" + ] + } + material USE Yellow + } + geometry DEF GeoSweptSurface11 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -10 10 + -9 13 + -8 15 + -6 17 + -4 18 + -1 19 + 1 19 + 4 18 + 6 17 + 8 15 + 9 13 + 10 10 + 10 -10 + 9 -13 + 8 -15 + 6 -17 + 4 -18 + 1 -19 + -1 -19 + -4 -18 + -6 -17 + -8 -15 + -9 -13 + -10 -10 + -10 10 + ] + spine [ + 0 0 0 + 0 .4 0 + 0 .4 0 + 0 0 0 + 0 0 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + 0 0 1 3.142 + 0 0 1 3.142 + 0 0 1 0 + ] + scale [ + 1.02 1.02 + 1.02 1.02 + .97 .98 + .97 .98 + 1.02 1.02 + ] + } + } + ] + } + DEF dad_Skylight_beam2 Transform { + translation .6 7.2 14 + rotation 0 -1 0 1.571 + children [ + DEF Skylight_beam2 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "crown.jpg" + ] + } + material USE White + } + geometry DEF GeoBox17 Box { + size 38 .4 .4 + } + } + ] + } + DEF dad_Skylight_beam1 Transform { + translation .6 7.2 24 + children [ + DEF Skylight_beam1 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "crown.jpg" + ] + } + material USE White + } + geometry DEF GeoBox15 Box { + size 20 .4 .4 + } + } + ] + } + DEF dad_Skylight_beam0 Transform { + translation .6 7.2 4 + children [ + DEF Skylight_beam0 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "crown.jpg" + ] + } + material USE White + } + geometry DEF GeoBox14 Box { + size 20 .4 .4 + } + } + ] + } + DEF dad_Skylight_Glass Transform { + translation .6 7.3 14 + children [ + DEF Skylight_Glass Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion915 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 23 22 21 -1 23 21 20 -1 23 20 19 -1 23 19 18 -1 23 18 17 -1 23 +17 16 -1 23 16 15 -1 23 15 14 -1 23 14 13 -1 23 13 12 -1 23 12 11 -1 23 11 10 +-1 23 10 9 -1 23 9 8 -1 23 8 7 -1 23 7 6 -1 23 6 5 -1 23 5 4 -1 23 4 3 -1 23 +3 2 -1 23 2 1 -1 23 1 0 -1 ] coord DEF Skylight_Glass_Coord Coordinate { +point [ -10 0 10 -9 0 13 -8 0 15 -6 0 17 -4 0 18 -1 0 19 1 0 19 4 0 18 6 0 +17 8 0 15 9 0 13 10 0 10 10 0 -10 9 0 -13 8 0 -15 6 0 -17 4 0 -18 1 0 -19 +-1 0 -19 -4 0 -18 -6 0 -17 -8 0 -15 -9 0 -13 -10 0 -10 ] + } + } + } + ] + } + DEF dad_Skylight_beam Transform { + translation .6 7.2 14 + children [ + DEF Skylight_beam Shape { + appearance Appearance { + texture ImageTexture { + url [ + "crown.jpg" + ] + } + material USE White + } + geometry DEF GeoBox10 Box { + size 20 .4 .4 + } + } + ] + } + DEF dad_Skylight_Rim Transform { + translation .6 7.1 14 + children [ + DEF Skylight_Rim Shape { + appearance Appearance { + texture ImageTexture { + url [ + "crown.jpg" + ] + } + material USE White + } + geometry DEF GeoSweptSurface1 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -10 10 + -9 13 + -8 15 + -6 17 + -4 18 + -1 19 + 1 19 + 4 18 + 6 17 + 8 15 + 9 13 + 10 10 + 10 -10 + 9 -13 + 8 -15 + 6 -17 + 4 -18 + 1 -19 + -1 -19 + -4 -18 + -6 -17 + -8 -15 + -9 -13 + -10 -10 + -10 10 + ] + spine [ + 0 0 0 + 0 .4 0 + 0 .4 0 + 0 0 0 + 0 0 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + 0 0 1 3.142 + 0 0 1 3.142 + 0 0 1 0 + ] + scale [ + 1.03 1.02 + 1.03 1.02 + .97 .98 + .97 .98 + 1.03 1.02 + ] + } + } + ] + } + DEF dad_Level_3_outside Transform { + translation .6 6.4 14 + children [ + DEF Level_3_outside Shape { + appearance Appearance { + texture ImageTexture { + url [ + "stone.jpg" + ] + } + textureTransform TextureTransform { + scale 30 1 + } + material USE Shiny_Rust + } + geometry DEF GeoExtrusion916 Extrusion { + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -10.1 10 + -9 13 + -8 15 + -6 17 + -4 18 + -1 19 + 1 19 + 4 18 + 6 17 + 8 15 + 9 13 + 10.1 10 + 10.1 7.5 + 10.1 5 + 10.1 2.5 + 10.1 -0 + 10.1 -2.5 + 10.1 -5 + 10.1 -8 + 10.1 -10 + 9 -13 + 8 -15 + 6 -17 + 4 -18 + 1 -19 + -1 -19 + -4 -18 + -6 -17 + -8 -15 + -9 -13 + -10.1 -10 + -10.1 -7.5 + -10.1 -5 + -10.1 -2.5 + -10.1 -0 + -10.1 2.5 + -10.1 5 + -10.1 7.5 + -10.1 10 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Level_3_inside Transform { + translation .6 6.4 14 + children [ + DEF Level_3_inside Shape { + appearance Appearance { + texture ImageTexture { + url [ + "floor.jpg" + ] + } + textureTransform TextureTransform { + rotation 1.571 + scale 1 30 + } + material USE Shiny_Rust + } + geometry DEF GeoExtrusion914 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -10 10 + -8.9 12.9 + -7.9 14.9 + -5.9 16.9 + -3.9 17.9 + -1 18.9 + 1 18.9 + 3.9 17.9 + 5.9 16.9 + 7.9 14.9 + 8.9 12.9 + 10 10 + 10 7.5 + 10 5 + 10 2.5 + 10 -0 + 10 -2.5 + 10 -5 + 10 -7.5 + 10 -10 + 8.9 -12.9 + 7.9 -14.9 + 5.9 -16.9 + 3.9 -17.9 + 1 -18.9 + -1 -18.9 + -3.9 -17.9 + -5.9 -16.9 + -7.9 -14.9 + -8.9 -12.9 + -10 -10 + -10 -7.5 + -10 -5 + -10 -2.5 + -10 -0 + -10 2.5 + -10 5 + -10 7.5 + -10 10 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Level_1_Rim Transform { + translation .6 2.7 14 + children [ + DEF Level_1_Rim Shape { + appearance Appearance { + texture ImageTexture { + url [ + "white.jpg" + ] + } + material USE Yellow + } + geometry DEF GeoSweptSurface12 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -10 10 + -9 13 + -8 15 + -6 17 + -4 18 + -1 19 + 1 19 + 4 18 + 6 17 + 8 15 + 9 13 + 10 10 + 10 -10 + 9 -13 + 8 -15 + 6 -17 + 4 -18 + 1 -19 + -1 -19 + -4 -18 + -6 -17 + -8 -15 + -9 -13 + -10 -10 + -10 10 + ] + spine [ + 0 0 0 + 0 .4 0 + 0 .4 0 + 0 0 0 + 0 0 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + 0 0 1 3.142 + 0 0 1 3.142 + 0 0 1 0 + ] + scale [ + 1.02 1.02 + 1.02 1.02 + .97 .98 + .97 .98 + 1.02 1.02 + ] + } + } + ] + } + ] + } + DEF dad_Glass_Rails Transform { + translation -.6 0 10 + children [ + DEF dad_Roof_Glass Transform { + translation .6 3.2 -6 + children [ + DEF Roof_Glass Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion77 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + convex FALSE + crossSection [ + -1.2 -18.2 + -5.2 -17.2 + -7.2 -16.2 + -9.2 -14.2 + -10.2 -12.2 + -10.2 -10.2 + -40.2 -10.2 + -40.2 4.8 + -50.2 4.8 + -50.2 40.2 + -35.2 40.2 + -35.2 45.2 + -20.2 45.2 + -20.2 50.2 + 20.2 50.2 + 20.2 45.2 + 35.2 45.2 + 35.2 40.2 + 50.2 40.2 + 50.2 4.8 + 40.2 4.8 + 40.2 -10.2 + 10.2 -10.2 + 10.2 -12.2 + 9.2 -14.2 + 7.2 -16.2 + 5.2 -17.2 + .2 -18.2 + -1.2 -18.2 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Balcony_Glass Transform { + translation .6 3.2 14 + children [ + DEF Balcony_Glass Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion78 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -10 -6 + -10 10 + -9 13 + -8 15 + -6 17 + -4 18 + -1 19 + 1 19 + 4 18 + 6 17 + 8 15 + 9 13 + 10 10 + 10 -6 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Balcony_Glass0 Transform { + translation .6 3.2 14 + children [ + DEF Balcony_Glass0 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion913 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + 10 -10 + 9 -13 + 8 -15 + 6 -17 + 4 -18 + 1 -19 + -1 -19 + -4 -18 + -6 -17 + -8 -15 + -9 -13 + -10 -10 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + ] + } + DEF dad_Elev_1-B Transform { + translation 0 -3.2 -2 + children [ + DEF Elevator_Edges0 Collision { + collide FALSE + children [ + DEF dad_Elev_Down0 Transform { + translation 0 0 4 + children [ + DEF Elev_Down0 Shape { + appearance Appearance { + material DEF Purple Material { + ambientIntensity 0.500 + shininess 0.500 + transparency 0.800 + diffuseColor .9176 0 .874 + specularColor .9176 0 .874 + } + } + geometry DEF GeoExtrusion921 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -18.5 38.5 + -18.5 41.5 + -15.5 41.5 + -15.5 38.5 + -18.5 38.5 + ] + spine [ + 0 0 0 + 0 9.1 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF Group31 Group { + children [ + DEF dad_down0_button Transform { + translation -17.1 5 44 + rotation 1 0 0 3.142 + children [ + DEF down0_button Shape { + appearance Appearance { + material DEF Red Material { + ambientIntensity 0.100 + shininess 0.000 + diffuseColor 1 0 0 + specularColor 1 0 0 + } + } + geometry DEF GeoSweptSurface3 Extrusion { + creaseAngle 0.524 + crossSection [ + -.2 -.2 + -.2 .2 + .2 .2 + .2 -.2 + -.2 -.2 + ] + spine [ + 0 0 0 + 0 .5 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 0 0 + ] + } + } + ] + } + DEF down0_button_ts TouchSensor { + } + ] + } + DEF Group32 Group { + children [ + DEF dad_Down_Button Transform { + translation -17.1 8.2 44 + rotation 1 0 0 3.142 + children [ + DEF Down_Button Shape { + appearance Appearance { + material USE Red + } + geometry DEF GeoSweptSurface4 Extrusion { + creaseAngle 0.524 + crossSection [ + -.2 -.2 + -.2 .2 + .2 .2 + .2 -.2 + -.2 -.2 + ] + spine [ + 0 0 0 + 0 .5 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 0 0 + ] + } + } + ] + } + DEF Down_Button_TS TouchSensor { + } + ] + } + ] + } + DEF B1_Bacement Viewpoint { + description "B1 Bacement" + fieldOfView 0.785 + position -17 1.6 44 + orientation 0 -1 0 1.571 + } + DEF Up0 TimeSensor { + cycleInterval 4.000 + startTime -1.000 + } + DEF Down0 TimeSensor { + cycleInterval 4.000 + startTime -1.000 + } + DEF Up01 TimeSensor { + cycleInterval 0.050 + startTime -1.000 + } + DEF Down01 TimeSensor { + cycleInterval 0.050 + startTime -1.000 + } + DEF B1rst_Floor Viewpoint { + description "B2 1rst Floor" + fieldOfView 0.785 + position 17 4.8 44 + orientation 0 1 0 1.571 + } + ] + } + DEF dad_Elev_1-2 Transform { + translation 0 0 2 + children [ + DEF Elevator_Edges Collision { + collide FALSE + children [ + DEF Group33 Group { + children [ + DEF up0_button_ts TouchSensor { + } + DEF dad_up0_button Transform { + translation 17.1 -1.75 40 + children [ + DEF up0_button Shape { + appearance Appearance { + material USE Red + } + geometry DEF GeoSweptSurface5 Extrusion { + creaseAngle 0.524 + crossSection [ + -.2 -.2 + -.2 .2 + .2 .2 + .2 -.2 + -.2 -.2 + ] + spine [ + 0 0 0 + 0 .5 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 0 0 + ] + } + } + ] + } + ] + } + DEF Group34 Group { + children [ + DEF dad_up_button Transform { + translation 17.1 1.5 40 + children [ + DEF up_button Shape { + appearance Appearance { + material USE Red + } + geometry DEF GeoSweptSurface6 Extrusion { + creaseAngle 0.524 + crossSection [ + -.2 -.2 + -.2 .2 + .2 .2 + .2 -.2 + -.2 -.2 + ] + spine [ + 0 0 0 + 0 .5 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 0 0 + ] + } + } + ] + } + DEF up_button_ts TouchSensor { + } + ] + } + DEF Elev_Up Shape { + appearance Appearance { + material DEF Shiny_Green Material { + ambientIntensity 0.500 + shininess 0.500 + transparency 0.800 + diffuseColor 0.2 .7 0.2 + specularColor 0 0 0 + } + } + geometry DEF GeoExtrusion96 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + 15.5 38.5 + 15.5 41.5 + 18.5 41.5 + 18.5 38.5 + 15.5 38.5 + ] + spine [ + 0 -3.2 0 + 0 5.9 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF A2nd_Floor Viewpoint { + description "A2nd Floor" + fieldOfView 0.785 + position 17 4.8 40 + orientation 0 1 0 1.571 + } + DEF A1rst_Floor Viewpoint { + description "A1rst Floor" + fieldOfView 0.785 + position -17 1.6 40 + orientation 0 -1 0 1.571 + } + DEF Up TimeSensor { + cycleInterval 4.000 + startTime -1.000 + } + DEF Down TimeSensor { + cycleInterval 4.000 + startTime -1.000 + } + DEF dad_Beam Transform { + translation 0 0 24 + children [ + DEF Beam Sound { + priority 1.000 + minBack 100.000 + minFront 100.000 + maxBack 100.000 + maxFront 100.000 + spatialize FALSE + source DEF AClip_Beam AudioClip { + url [ + "power-up.mp3" + ] +startTime -1 + } + } + ] + } + DEF Up- TimeSensor { + cycleInterval 0.050 + startTime -1.000 + } + DEF Down- TimeSensor { + cycleInterval 0.050 + startTime -1.000 + } + ] + } + DEF dad_Crown_Master Transform { + translation -.6 0 10 + children [ + DEF dad_Room_Crown Transform { + translation -42 2.75 24 + children [ + DEF Room_Crown Shape { + appearance Appearance { + texture ImageTexture { + url [ + "white.jpg" + ] + } + textureTransform TextureTransform { + translation 1 1 + } + material USE Yellow + } + geometry DEF GeoExtrusion925 Extrusion { + endCap FALSE + creaseAngle 0.524 + convex FALSE + crossSection [ + 6.5 -9 + 6.5 -5 + 2.5 -5 + 2.5 -4.5 + 6.5 -4.5 + 6.5 -.5 + 2.5 -.5 + 2.5 -0 + 6.5 -0 + 6.5 4 + 2.5 4 + 2.5 4.5 + 6.5 4.5 + 6.5 8.5 + 2.5 8.5 + 2.5 -9 + 2 -9 + 2 8.5 + -2 8.5 + -2 4.5 + 2 4.5 + 2 4 + -2 4 + -2 -0 + 2 -0 + 2 -.5 + -2 -.5 + -2 -4.5 + 2 -4.5 + 2 -5 + -2 -5 + -2 -9 + -2.5 -9 + -2.5 8.5 + -7 8.5 + -7 9 + 7 9 + 7 -9.5 + -7 -9.5 + -7 8.5 + -6.5 8.5 + -6.5 4.5 + -2.5 4.5 + -2.5 4 + -6.5 4 + -6.5 -0 + -2.5 -0 + -2.5 -.5 + -6.5 -.5 + -6.5 -4.5 + -2.5 -4.5 + -2.5 -5 + -6.5 -5 + -6.5 -9 + 6.5 -9 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + } + } + ] + } + Transform { + translation -39 2.75 6.5 + rotation 0 1 0 1.571 + children [ + USE Room_Crown + ] + } + Transform { + translation -27 2.75 29 + children [ + USE Room_Crown + ] + } + Transform { + translation -29 2.75 -8.5 + rotation 0 1 0 1.571 + children [ + USE Room_Crown + ] + } + Transform { + translation 31 2.75 -8.5 + rotation 0 1 0 1.571 + children [ + USE Room_Crown + ] + } + Transform { + translation 41 2.75 6.5 + rotation 0 1 0 1.571 + children [ + USE Room_Crown + ] + } + Transform { + translation 43 2.75 24 + children [ + USE Room_Crown + ] + } + Transform { + translation 28 2.75 29 + children [ + USE Room_Crown + ] + } + DEF dad_Great_Hall_Crown Transform { + translation .6 2.75 12 + children [ + DEF Great_Hall_Crown Shape { + appearance Appearance { + texture ImageTexture { + url [ + "white.jpg" + ] + } + material USE Yellow + } + geometry DEF GeoExtrusion926 Extrusion { + endCap FALSE + creaseAngle 0.524 + convex FALSE + crossSection [ + -18.5 26 + -18.5 22 + -11 22 + -11 21 + -18.5 21 + -18.5 14 + -11 14 + -11 13 + -18.5 13 + -18.5 6.5 + -11 6.5 + -11 5.5 + -18.5 5.5 + -18.5 -2.5 + -19.5 -2.5 + -19.5 5.5 + -28.5 5.5 + -28.5 -2.5 + -11 -2.5 + -11 -3.5 + -28.5 -3.5 + -28.5 -11.5 + -19.5 -11.5 + -19.5 -3.5 + -18.5 -3.5 + -18.5 -11.5 + -11 -11.5 + -11 -12.5 + -18.5 -12.5 + -18.5 -17 + -11 -17 + -11 -18 + -18.5 -18 + -18.5 -26 + -.5 -26 + -.5 -18 + .5 -18 + .5 -26 + 18.5 -26 + 18.5 -27 + -19.5 -27 + -19.5 -12.5 + -29.5 -12.5 + -29.5 6.5 + -19.5 6.5 + -19.5 27 + 19.5 27 + 19.5 6.5 + 29.5 6.5 + 29.5 -12.5 + 19.5 -12.5 + 19.5 -27 + 18.5 -27 + 18.5 -18 + 11 -18 + 11 -17 + 18.5 -17 + 18.5 -12.5 + 11 -12.5 + 11 -11.5 + 18.5 -11.5 + 18.5 -3.5 + 19.5 -3.5 + 19.5 -11.5 + 28.5 -11.5 + 28.5 -3.5 + 11 -3.5 + 11 -2.5 + 28.5 -2.5 + 28.5 5.5 + 19.5 5.5 + 19.5 -2.5 + 18.5 -2.5 + 18.5 5.5 + 11 5.5 + 11 6.5 + 18.5 6.5 + 18.5 13 + 11 13 + 11 14 + 18.5 14 + 18.5 21 + 11 21 + 11 22 + 18.5 22 + 18.5 26 + 11 26 + 11 -26 + 10 -26 + 10 26 + .5 26 + .5 22 + -.5 22 + -.5 26 + -10 26 + -10 22 + 10 22 + 10 21 + -10 21 + -10 -17 + 10 -17 + 10 -18 + -10 -18 + -10 -26 + -11 -26 + -11 26 + -18.5 26 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + } + } + ] + } + DEF dad_Great_Hall_Crown_Floor_2 Transform { + translation .6 6 12 + children [ + DEF Great_Hall_Crown_Floor_2 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "white.jpg" + ] + } + material USE Yellow + } + geometry DEF GeoExtrusion927 Extrusion { + endCap FALSE + creaseAngle 0.524 + convex FALSE + crossSection [ + -22 24 + -22 22 + -11 22 + -11 21 + -22 21 + -22 10 + -11 10 + -11 9 + -22 9 + -22 -4 + -11 -4 + -11 -5 + -22 -5 + -22 -17 + -11 -17 + -11 -18 + -22 -18 + -22 -20 + -.5 -20 + -.5 -18 + .5 -18 + .5 -20 + 22 -20 + 22 -21 + -23 -21 + -23 25 + 23 25 + 23 -21 + 22 -21 + 22 -18 + 11 -18 + 11 -17 + 22 -17 + 22 -5 + 11 -5 + 11 -4 + 22 -4 + 22 9 + 11 9 + 11 10 + 22 10 + 22 21 + 11 21 + 11 22 + 22 22 + 22 24 + 11 24 + 11 -20 + 10 -20 + 10 24 + .5 24 + .5 22 + -.5 22 + -.5 24 + -10 24 + -10 22 + 10 22 + 10 21 + -10 21 + -10 -17 + 10 -17 + 10 -18 + -10 -18 + -10 -20 + -11 -20 + -11 24 + -22.5 24 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + } + } + ] + } + ] + } + DEF dad_Door_Frames Transform { + translation -.6 0 10 + children [ + DEF dad_Door_Frame Transform { + translation -34.4 0 26 + rotation 0 0 1 1.571 + children [ + DEF Door_Frame Shape { + appearance Appearance { + material USE Shiny_Rust + } + geometry DEF GeoExtrusion928 Extrusion { + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + 0 -10 + 2.8 -10 + 2.8 -8 + 0 -8 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Door_Frame0 Transform { + translation 27.6 0 19 + rotation 1 0 0 1.571 + children [ + DEF Door_Frame0 Shape { + appearance Appearance { + material USE Shiny_Rust + } + geometry DEF GeoExtrusion929 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -1 -0 + -1 -2.8 + 1 -2.8 + 1 -0 + ] + spine [ + 0 0 0 + 0 .2 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Reference27 Transform { + translation -27.4 0 19 + rotation 1 0 0 1.571 + children [ + USE Door_Frame0 + ] + } + DEF dad_Reference28 Transform { + translation 35.6 0 26 + rotation 0 0 1 1.571 + children [ + USE Door_Frame + ] + } + DEF dad_Reference3 Transform { + translation -29.4 0 15 + rotation 0 0 1 1.571 + children [ + USE Door_Frame + ] + } + DEF dad_Reference4 Transform { + translation 30.8 0 15 + rotation 0 0 1 1.571 + children [ + USE Door_Frame + ] + } + DEF dad_Reference5 Transform { + translation 20.8 0 0 + rotation 0 0 1 1.571 + children [ + USE Door_Frame + ] + } + DEF dad_Reference6 Transform { + translation -19.4 0 0 + rotation 0 0 1 1.571 + children [ + USE Door_Frame + ] + } + ] + } + DEF dad_Stairs Transform { + translation 0 3.2 10 + children [ + DEF dad_Group31 Transform { + translation 10 0 10 + rotation 0 1 0 1.571 + children [ + DEF dad_Group32 Transform { + rotation -1 0 0 1.571 + children [ + DEF Bottom0 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "white.jpg" + ] + } + material USE Yellow + } + geometry DEF GeoSculptedSurface3 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 0 1 5 -1 0 5 4 -1 1 2 6 -1 1 6 5 -1 2 3 7 -1 2 7 6 -1 4 5 8 -1 +6 7 9 -1 8 5 11 -1 8 11 10 -1 5 6 12 -1 5 12 11 -1 6 9 13 -1 6 13 12 -1 10 11 +14 -1 12 13 15 -1 14 11 17 -1 14 17 16 -1 11 12 18 -1 11 18 17 -1 12 15 19 +-1 12 19 18 -1 16 17 20 -1 18 19 21 -1 20 17 23 -1 20 23 22 -1 17 18 24 -1 17 +24 23 -1 18 21 25 -1 18 25 24 -1 22 23 26 -1 24 25 27 -1 26 23 29 -1 26 29 28 +-1 23 24 30 -1 23 30 29 -1 24 27 31 -1 24 31 30 -1 28 29 32 -1 30 31 33 -1 32 +29 35 -1 32 35 34 -1 29 30 36 -1 29 36 35 -1 30 33 37 -1 30 37 36 -1 34 35 38 +-1 36 37 39 -1 38 35 41 -1 38 41 40 -1 35 36 42 -1 35 42 41 -1 36 39 43 -1 36 +43 42 -1 ] texCoordIndex +[ 0 0 2 -1 0 2 2 -1 0 1 3 -1 0 3 2 -1 1 1 3 -1 1 3 3 -1 2 2 2 -1 3 3 3 -1 2 +2 4 -1 2 4 4 -1 2 3 5 -1 2 5 4 -1 3 3 5 -1 3 5 5 -1 4 4 4 -1 5 5 5 -1 4 4 6 +-1 4 6 6 -1 4 5 7 -1 4 7 6 -1 5 5 7 -1 5 7 7 -1 6 6 6 -1 7 7 7 -1 6 6 8 -1 6 +8 8 -1 6 7 9 -1 6 9 8 -1 7 7 9 -1 7 9 9 -1 8 8 8 -1 9 9 9 -1 8 8 10 -1 8 10 +10 -1 8 9 11 -1 8 11 10 -1 9 9 11 -1 9 11 11 -1 10 10 10 -1 11 11 11 -1 10 10 +12 -1 10 12 12 -1 10 11 13 -1 10 13 12 -1 11 11 13 -1 11 13 13 -1 12 12 12 +-1 13 13 13 -1 12 12 14 -1 12 14 14 -1 12 13 15 -1 12 15 14 -1 13 13 15 -1 13 +15 15 -1 ] coord DEF Bottom0_Coord Coordinate { +point [ 6 0 0 6 0 -.5 2 0 -.5 2 0 0 5.79555 1.55291 0 5.79555 1.55291 -1 1.93185 +.51764 -1 1.93185 .51764 0 5.79555 1.55291 -.5 1.93185 .51764 -.5 5.19615 +3 -.5 5.19615 3 -1.5 1.73205 1 -1.5 1.73205 1 -.5 5.19615 3 -1 1.73205 1 -1 +4.24264 4.24264 -1 4.24264 4.24264 -2 1.41421 1.41421 -2 1.41421 1.41421 -1 +4.24264 4.24264 -1.5 1.41421 1.41421 -1.5 3 5.19615 -1.5 3 5.19615 -2.5 1 +1.73205 -2.5 1 1.73205 -1.5 3 5.19615 -2 1 1.73205 -2 1.55291 5.79555 -2 1.55291 +5.79555 -3 .51764 1.93185 -3 .51764 1.93185 -2 1.55291 5.79555 -2.5 .51764 +1.93185 -2.5 0 6 -2.5 0 6 -3.5 0 2 -3.5 0 2 -2.5 0 6 -3 0 2 -3 -1.55291 5.79555 +-3 -1.55291 5.79555 -3.5 -.51764 1.93185 -3.5 -.51764 1.93185 -3 ] + } + texCoord +TextureCoordinate { point [ 1 0 .47 0 .973 .259 .461 .086 .894 .5 .435 .167 +.767 .707 .393 .236 .603 .866 .338 .289 .411 .966 .274 .322 .206 1 .206 .333 +0 .966 .137 .322 ] } + } + } + DEF Top0 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "crown.jpg" + ] + } + material USE White + } + geometry DEF GeoSculptedSurface4 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 0 1 3 -1 0 3 2 -1 2 3 5 -1 2 5 4 -1 4 5 7 -1 4 7 6 -1 6 7 9 -1 +6 9 8 -1 8 9 11 -1 8 11 10 -1 10 11 13 -1 10 13 12 -1 12 13 15 -1 12 15 14 +-1 14 15 17 -1 14 17 16 -1 16 17 19 -1 16 19 18 -1 18 19 21 -1 18 21 20 -1 20 +21 23 -1 20 23 22 -1 22 23 25 -1 22 25 24 -1 24 25 27 -1 24 27 26 -1 26 27 29 +-1 26 29 28 -1 ] texCoordIndex +[ 0 1 3 -1 0 3 2 -1 2 3 3 -1 2 3 2 -1 2 3 5 -1 2 5 4 -1 4 5 5 -1 4 5 4 -1 4 +5 7 -1 4 7 6 -1 6 7 7 -1 6 7 6 -1 6 7 9 -1 6 9 8 -1 8 9 9 -1 8 9 8 -1 8 9 11 +-1 8 11 10 -1 10 11 11 -1 10 11 10 -1 10 11 13 -1 10 13 12 -1 12 13 13 -1 12 +13 12 -1 12 13 15 -1 12 15 14 -1 14 15 15 -1 14 15 14 -1 ] +coord DEF Top0_Coord +Coordinate { +point [ 2 0 0 6 0 0 1.93185 .51764 0 5.79555 1.55291 0 1.93185 .51764 -.5 +5.79555 1.55291 -.5 1.73205 1 -.5 5.19615 3 -.5 1.73205 1 -1 5.19615 3 -1 +1.41421 1.41421 -1 4.24264 4.24264 -1 1.41421 1.41421 -1.5 4.24264 4.24264 +-1.5 1 1.73205 -1.5 3 5.19615 -1.5 1 1.73205 -2 3 5.19615 -2 .51764 1.93185 +-2 1.55291 5.79555 -2 .51764 1.93185 -2.5 1.55291 5.79555 -2.5 0 2 -2.5 0 +6 -2.5 0 2 -3 0 6 -3 -.51764 1.93185 -3 -1.55291 5.79555 -3 -.51764 1.93185 +-3.5 -1.55291 5.79555 -3.5 ] + } + texCoord +TextureCoordinate { point [ .47 0 1 0 .461 .086 .973 .259 .435 .167 .894 .5 +.393 .236 .767 .707 .338 .289 .603 .866 .274 .322 .411 .966 .206 .333 .206 +1 .137 .322 0 .966 ] } + } + } + DEF SculptedSurface7 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoSculptedSurface7 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 0 1 3 -1 0 3 2 -1 2 3 5 -1 2 5 4 -1 4 5 7 -1 4 7 6 -1 6 7 9 -1 +6 9 8 -1 8 9 11 -1 8 11 10 -1 10 11 13 -1 10 13 12 -1 12 13 15 -1 12 15 14 +-1 ] coord DEF SculptedSurface7_Coord Coordinate { +point [ 6 0 0 6 0 1 5.79555 1.55291 0 5.79555 1.55291 1 5.19615 3 -.5 5.19615 +3 .5 4.24264 4.24264 -1 4.24264 4.24264 0 3 5.19615 -1.5 3 5.19615 -.5 1.55291 +5.79555 -2 1.55291 5.79555 -1 0 6 -2.5 0 6 -1.5 -1.55291 5.79555 -3 -1.55291 +5.79555 -2 ] + } + } + } + DEF SculptedSurface8 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoSculptedSurface8 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 0 1 3 -1 0 3 2 -1 2 3 5 -1 2 5 4 -1 4 5 7 -1 4 7 6 -1 6 7 9 -1 +6 9 8 -1 8 9 11 -1 8 11 10 -1 10 11 13 -1 10 13 12 -1 12 13 15 -1 12 15 14 +-1 ] coord DEF SculptedSurface8_Coord Coordinate { +point [ 2 0 0 2 0 1 1.93185 .51764 0 1.93185 .51764 1 1.73205 1 -.5 1.73205 +1 .5 1.41421 1.41421 -1 1.41421 1.41421 0 1 1.73205 -1.5 1 1.73205 -.5 .51764 +1.93185 -2 .51764 1.93185 -1 0 2 -2.5 0 2 -1.5 -.51764 1.93185 -3 -.51764 +1.93185 -2 ] + } + } + } + ] + } + ] + } + DEF dad_Group33 Transform { + translation -10 0 10 + rotation 0 1 0 1.571 + children [ + DEF dad_Group34 Transform { + rotation -1 0 0 1.571 + children [ + DEF SculptedSurface5 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoSculptedSurface5 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 0 1 3 -1 0 3 2 -1 2 3 5 -1 2 5 4 -1 4 5 7 -1 4 7 6 -1 6 7 9 -1 +6 9 8 -1 8 9 11 -1 8 11 10 -1 10 11 13 -1 10 13 12 -1 12 13 15 -1 12 15 14 +-1 ] coord DEF SculptedSurface5_Coord Coordinate { +point [ 2 0 0 2 0 1 1.93185 -.51764 0 1.93185 -.51764 1 1.73205 -1 -.5 1.73205 +-1 .5 1.41421 -1.41421 -1 1.41421 -1.41421 0 1 -1.73205 -1.5 1 -1.73205 -.5 +.51764 -1.93185 -2 .51764 -1.93185 -1 0 -2 -2.5 0 -2 -1.5 -.51764 -1.93185 +-3 -.51764 -1.93185 -2 ] + } + } + } + DEF SculptedSurface6 Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoSculptedSurface6 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 0 1 3 -1 0 3 2 -1 2 3 5 -1 2 5 4 -1 4 5 7 -1 4 7 6 -1 6 7 9 -1 +6 9 8 -1 8 9 11 -1 8 11 10 -1 10 11 13 -1 10 13 12 -1 12 13 15 -1 12 15 14 +-1 ] coord DEF SculptedSurface6_Coord Coordinate { +point [ 6 0 0 6 0 1 5.79555 -1.55291 0 5.79555 -1.55291 1 5.19615 -3 -.5 5.19615 +-3 .5 4.24264 -4.24264 -1 4.24264 -4.24264 0 3 -5.19615 -1.5 3 -5.19615 -.5 +1.55291 -5.79555 -2 1.55291 -5.79555 -1 0 -6 -2.5 0 -6 -1.5 -1.55291 -5.79555 +-3 -1.55291 -5.79555 -2 ] + } + } + } + DEF Bottom Shape { + appearance Appearance { + texture ImageTexture { + url [ + "white.jpg" + ] + } + material USE Yellow + } + geometry DEF GeoSculptedSurface2 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 0 1 5 -1 0 5 4 -1 1 2 6 -1 1 6 5 -1 2 3 7 -1 2 7 6 -1 4 5 8 -1 +6 7 9 -1 8 5 11 -1 8 11 10 -1 5 6 12 -1 5 12 11 -1 6 9 13 -1 6 13 12 -1 10 11 +14 -1 12 13 15 -1 14 11 17 -1 14 17 16 -1 11 12 18 -1 11 18 17 -1 12 15 19 +-1 12 19 18 -1 16 17 20 -1 18 19 21 -1 20 17 23 -1 20 23 22 -1 17 18 24 -1 17 +24 23 -1 18 21 25 -1 18 25 24 -1 22 23 26 -1 24 25 27 -1 26 23 29 -1 26 29 28 +-1 23 24 30 -1 23 30 29 -1 24 27 31 -1 24 31 30 -1 28 29 32 -1 30 31 33 -1 32 +29 35 -1 32 35 34 -1 29 30 36 -1 29 36 35 -1 30 33 37 -1 30 37 36 -1 34 35 38 +-1 36 37 39 -1 38 35 41 -1 38 41 40 -1 35 36 42 -1 35 42 41 -1 36 39 43 -1 36 +43 42 -1 ] texCoordIndex +[ 0 0 2 -1 0 2 2 -1 0 1 3 -1 0 3 2 -1 1 1 3 -1 1 3 3 -1 2 2 2 -1 3 3 3 -1 2 +2 4 -1 2 4 4 -1 2 3 5 -1 2 5 4 -1 3 3 5 -1 3 5 5 -1 4 4 4 -1 5 5 5 -1 4 4 6 +-1 4 6 6 -1 4 5 7 -1 4 7 6 -1 5 5 7 -1 5 7 7 -1 6 6 6 -1 7 7 7 -1 6 6 8 -1 6 +8 8 -1 6 7 9 -1 6 9 8 -1 7 7 9 -1 7 9 9 -1 8 8 8 -1 9 9 9 -1 8 8 10 -1 8 10 +10 -1 8 9 11 -1 8 11 10 -1 9 9 11 -1 9 11 11 -1 10 10 10 -1 11 11 11 -1 10 10 +12 -1 10 12 12 -1 10 11 13 -1 10 13 12 -1 11 11 13 -1 11 13 13 -1 12 12 12 +-1 13 13 13 -1 12 12 14 -1 12 14 14 -1 12 13 15 -1 12 15 14 -1 13 13 15 -1 13 +15 15 -1 ] coord DEF Bottom_Coord Coordinate { +point [ 6 0 0 6 0 -.5 2 0 -.5 2 0 0 5.79555 -1.55291 0 5.79555 -1.55291 -1 +1.93185 -.51764 -1 1.93185 -.51764 0 5.79555 -1.55291 -.5 1.93185 -.51764 +-.5 5.19615 -3 -.5 5.19615 -3 -1.5 1.73205 -1 -1.5 1.73205 -1 -.5 5.19615 +-3 -1 1.73205 -1 -1 4.24264 -4.24264 -1 4.24264 -4.24264 -2 1.41421 -1.41421 +-2 1.41421 -1.41421 -1 4.24264 -4.24264 -1.5 1.41421 -1.41421 -1.5 3 -5.19615 +-1.5 3 -5.19615 -2.5 1 -1.73205 -2.5 1 -1.73205 -1.5 3 -5.19615 -2 1 -1.73205 +-2 1.55291 -5.79555 -2 1.55291 -5.79555 -3 .51764 -1.93185 -3 .51764 -1.93185 +-2 1.55291 -5.79555 -2.5 .51764 -1.93185 -2.5 0 -6 -2.5 0 -6 -3.5 0 -2 -3.5 +0 -2 -2.5 0 -6 -3 0 -2 -3 -1.55291 -5.79555 -3 -1.55291 -5.79555 -3.5 -.51764 +-1.93185 -3.5 -.51764 -1.93185 -3 ] + } + texCoord +TextureCoordinate { point [ 1 1 .47 1 .973 .741 .461 .914 .894 .5 .435 .833 +.767 .293 .393 .764 .603 .134 .338 .711 .411 .034 .274 .678 .206 0 .206 .667 +0 .034 .137 .678 ] } + } + } + DEF Top Shape { + appearance Appearance { + texture ImageTexture { + url [ + "crown.jpg" + ] + } + material USE White + } + geometry DEF GeoSculptedSurface9 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 0 1 3 -1 0 3 2 -1 2 3 5 -1 2 5 4 -1 4 5 7 -1 4 7 6 -1 6 7 9 -1 +6 9 8 -1 8 9 11 -1 8 11 10 -1 10 11 13 -1 10 13 12 -1 12 13 15 -1 12 15 14 +-1 14 15 17 -1 14 17 16 -1 16 17 19 -1 16 19 18 -1 18 19 21 -1 18 21 20 -1 20 +21 23 -1 20 23 22 -1 22 23 25 -1 22 25 24 -1 24 25 27 -1 24 27 26 -1 26 27 29 +-1 26 29 28 -1 ] texCoordIndex +[ 0 1 3 -1 0 3 2 -1 2 3 3 -1 2 3 2 -1 2 3 5 -1 2 5 4 -1 4 5 5 -1 4 5 4 -1 4 +5 7 -1 4 7 6 -1 6 7 7 -1 6 7 6 -1 6 7 9 -1 6 9 8 -1 8 9 9 -1 8 9 8 -1 8 9 11 +-1 8 11 10 -1 10 11 11 -1 10 11 10 -1 10 11 13 -1 10 13 12 -1 12 13 13 -1 12 +13 12 -1 12 13 15 -1 12 15 14 -1 14 15 15 -1 14 15 14 -1 ] +coord DEF Top_Coord +Coordinate { +point [ 2 0 0 6 0 0 1.93185 -.51764 0 5.79555 -1.55291 0 1.93185 -.51764 -.5 +5.79555 -1.55291 -.5 1.73205 -1 -.5 5.19615 -3 -.5 1.73205 -1 -1 5.19615 -3 +-1 1.41421 -1.41421 -1 4.24264 -4.24264 -1 1.41421 -1.41421 -1.5 4.24264 -4.24264 +-1.5 1 -1.73205 -1.5 3 -5.19615 -1.5 1 -1.73205 -2 3 -5.19615 -2 .51764 -1.93185 +-2 1.55291 -5.79555 -2 .51764 -1.93185 -2.5 1.55291 -5.79555 -2.5 0 -2 -2.5 +0 -6 -2.5 0 -2 -3 0 -6 -3 -.51764 -1.93185 -3 -1.55291 -5.79555 -3 -.51764 +-1.93185 -3.5 -1.55291 -5.79555 -3.5 ] + } + texCoord +TextureCoordinate { point [ .47 1 1 1 .461 .914 .973 .741 .435 .833 .894 .5 +.393 .764 .767 .293 .338 .711 .603 .134 .274 .678 .411 .034 .206 .667 .206 +0 .137 .678 0 .034 ] } + } + } + ] + } + ] + } + ] + } + ] +} +DEF dad_Ground Transform { + translation 0 -.2 0 + children [ + DEF Ground Group { + children [ + DEF dad_Ocean_Water Transform { + translation 0 -1.5 0 + children [ + DEF Ocean_Water Collision { + collide FALSE + children [ + DEF dad_Ocean_Water0 Transform { + children [ + DEF Ocean_Water0 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "water.jpg" + ] + } + textureTransform TextureTransform { + scale 10 10 + } + material DEF Shiny_Purple Material { + ambientIntensity 0 + shininess 0 + transparency 0.500 + diffuseColor .2 .2 1 + specularColor .2 .2 1 + } + } + geometry DEF GeoExtrusion81 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 0 1 5 -1 0 5 4 -1 1 2 6 -1 1 6 5 -1 2 3 7 -1 2 7 6 -1 3 0 4 -1 +3 4 7 -1 4 5 6 -1 4 6 7 -1 ] texCoordIndex +[ 0 1 6 -1 0 6 5 -1 1 2 7 -1 1 7 6 -1 2 3 8 -1 2 8 7 -1 3 4 9 -1 3 9 8 -1 0 +4 10 -1 0 10 11 -1 ] coord DEF Ocean_Water0_pnts Coordinate { +point [ -290 0 290 290 0 290 250 0 100 -250 0 100 -290 1 290 290 1 290 250 +1 100 -250 1 100 ] + } + texCoord +TextureCoordinate { point [ 0 0 .395 0 .527 0 .868 0 1 0 0 1 .395 1 .527 1 +.868 1 1 1 .931 1 .069 1 ] } + } + } + ] + } + DEF Wizard0 TimeSensor { + cycleInterval 10.000 + loop TRUE + startTime -1.000 + } + ] + } + ] + } + DEF dad_Pool_Water Transform { + translation 100 0 0 + children [ + DEF Pool_Water Collision { + collide FALSE + children [ + DEF dad_Pool_Water0 Transform { + translation -100 0 0 + children [ + DEF Pool_Water0 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "water.jpg" + ] + } + textureTransform TextureTransform { + scale 2 3 + } + material USE Shiny_Purple + } + geometry DEF GeoExtrusion912 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 3 2 1 -1 3 1 0 -1 ] texCoordIndex +[ 3 2 1 -1 3 1 0 -1 ] coord DEF Pool_Water0_Coord Coordinate { +point [ 125 0 50 125 0 -25 75 0 -25 75 0 50 ] + } + texCoord +TextureCoordinate { point [ 1 0 1 1 0 1 0 0 ] } + } + } + ] + } + ] + } + ] + } + DEF Sensor16 ProximitySensor { + size 50 4.4 75 + center 100 .2 12.5 + } + DEF Sensor17 ProximitySensor { + size 500 40 190 + center 0 .2 155 + } + DEF dad_Crickets Transform { + translation 0 .2 0 + rotation -1 0 0 1.571 + children [ + DEF Crickets Sound { + priority 1.000 + minBack 1000.000 + minFront 1000.000 + maxBack 1000.000 + maxFront 1000.000 + spatialize FALSE + source DEF AClip_Crickets AudioClip { + url [ + "cricket.mp3" + ] + loop TRUE + startTime -1 + } + } + ] + } + DEF dad_Splash Transform { + translation 100 .2 12.5 + children [ + DEF Splash Sound { + priority 1.000 + minBack 50.000 + minFront 50.000 + maxBack 50.000 + maxFront 50.000 + spatialize FALSE + source DEF AClip_Splash AudioClip { + url [ + "splash.mp3" + ] +startTime -1 + } + } + ] + } + DEF dad_Waves Transform { + translation 0 .2 1000 + children [ + DEF Waves Sound { + intensity 0.500 + priority 1.000 + minBack 800.000 + minFront 800.000 + maxBack 925.000 + maxFront 925.000 + spatialize FALSE + source DEF AClip_Waves AudioClip { + url [ + "wave.mp3" + ] + loop TRUE + startTime -1 + } + } + ] + } + DEF dad_Hills_Master Transform { + translation 0 -8 0 + children [ + DEF dad_Island Transform { + translation 0 -10.2 -30 + scale 1 .5 1 + children [ + DEF Island Shape { + appearance Appearance { + texture ImageTexture { + url [ + "cliff.jpg" + ] + } + textureTransform TextureTransform { + scale 10 1 + } + material USE White + } + geometry DEF Island_Geo IndexedFaceSet { + solid FALSE + creaseAngle 3.000 +coordIndex [ 121 122 123 -1 38 122 121 -1 39 123 122 -1 37 121 123 -1 124 121 +125 -1 38 121 124 -1 37 125 121 -1 1 124 125 -1 126 122 127 -1 39 122 126 +-1 38 127 122 -1 2 126 127 -1 128 123 129 -1 37 123 128 -1 39 129 123 -1 0 128 +129 -1 130 131 132 -1 40 131 130 -1 41 132 131 -1 39 130 132 -1 133 130 126 +-1 40 130 133 -1 39 126 130 -1 2 133 126 -1 134 131 135 -1 41 131 134 -1 40 +135 131 -1 3 134 135 -1 129 132 136 -1 39 132 129 -1 41 136 132 -1 0 129 136 +-1 137 138 139 -1 43 138 137 -1 44 139 138 -1 42 137 139 -1 140 137 141 -1 43 +137 140 -1 42 141 137 -1 4 140 141 -1 142 138 143 -1 44 138 142 -1 43 143 138 +-1 5 142 143 -1 144 139 145 -1 42 139 144 -1 44 145 139 -1 1 144 145 -1 146 +147 148 -1 45 147 146 -1 38 148 147 -1 44 146 148 -1 149 146 142 -1 45 146 149 +-1 44 142 146 -1 5 149 142 -1 127 147 150 -1 38 147 127 -1 45 150 147 -1 2 127 +150 -1 145 148 124 -1 44 148 145 -1 38 124 148 -1 1 145 124 -1 151 152 153 +-1 47 152 151 -1 48 153 152 -1 46 151 153 -1 154 151 155 -1 47 151 154 -1 46 +155 151 -1 6 154 155 -1 156 152 157 -1 48 152 156 -1 47 157 152 -1 7 156 157 +-1 158 153 159 -1 46 153 158 -1 48 159 153 -1 4 158 159 -1 160 161 162 -1 49 +161 160 -1 43 162 161 -1 48 160 162 -1 163 160 156 -1 49 160 163 -1 48 156 160 +-1 7 163 156 -1 143 161 164 -1 43 161 143 -1 49 164 161 -1 5 143 164 -1 159 +162 140 -1 48 162 159 -1 43 140 162 -1 4 159 140 -1 165 166 167 -1 51 166 165 +-1 52 167 166 -1 50 165 167 -1 168 165 169 -1 51 165 168 -1 50 169 165 -1 8 +168 169 -1 170 166 171 -1 52 166 170 -1 51 171 166 -1 9 170 171 -1 172 167 173 +-1 50 167 172 -1 52 173 167 -1 6 172 173 -1 174 175 176 -1 53 175 174 -1 47 +176 175 -1 52 174 176 -1 177 174 170 -1 53 174 177 -1 52 170 174 -1 9 177 170 +-1 157 175 178 -1 47 175 157 -1 53 178 175 -1 7 157 178 -1 173 176 154 -1 52 +176 173 -1 47 154 176 -1 6 173 154 -1 179 180 181 -1 55 180 179 -1 56 181 180 +-1 54 179 181 -1 182 179 183 -1 55 179 182 -1 54 183 179 -1 10 182 183 -1 184 +180 185 -1 56 180 184 -1 55 185 180 -1 11 184 185 -1 186 181 187 -1 54 181 186 +-1 56 187 181 -1 8 186 187 -1 188 189 190 -1 57 189 188 -1 51 190 189 -1 56 +188 190 -1 191 188 184 -1 57 188 191 -1 56 184 188 -1 11 191 184 -1 171 189 +192 -1 51 189 171 -1 57 192 189 -1 9 171 192 -1 187 190 168 -1 56 190 187 +-1 51 168 190 -1 8 187 168 -1 193 194 195 -1 59 194 193 -1 60 195 194 -1 58 +193 195 -1 196 193 197 -1 59 193 196 -1 58 197 193 -1 12 196 197 -1 198 194 +199 -1 60 194 198 -1 59 199 194 -1 13 198 199 -1 200 195 201 -1 58 195 200 +-1 60 201 195 -1 10 200 201 -1 202 203 204 -1 61 203 202 -1 55 204 203 -1 60 +202 204 -1 205 202 198 -1 61 202 205 -1 60 198 202 -1 13 205 198 -1 185 203 +206 -1 55 203 185 -1 61 206 203 -1 11 185 206 -1 201 204 182 -1 60 204 201 +-1 55 182 204 -1 10 201 182 -1 207 208 209 -1 63 208 207 -1 64 209 208 -1 62 +207 209 -1 210 207 211 -1 63 207 210 -1 62 211 207 -1 14 210 211 -1 212 208 +213 -1 64 208 212 -1 63 213 208 -1 15 212 213 -1 214 209 215 -1 62 209 214 +-1 64 215 209 -1 12 214 215 -1 216 217 218 -1 65 217 216 -1 59 218 217 -1 64 +216 218 -1 219 216 212 -1 65 216 219 -1 64 212 216 -1 15 219 212 -1 199 217 +220 -1 59 217 199 -1 65 220 217 -1 13 199 220 -1 215 218 196 -1 64 218 215 +-1 59 196 218 -1 12 215 196 -1 221 222 223 -1 67 222 221 -1 68 223 222 -1 66 +221 223 -1 224 221 225 -1 67 221 224 -1 66 225 221 -1 16 224 225 -1 226 222 +227 -1 68 222 226 -1 67 227 222 -1 17 226 227 -1 228 223 229 -1 66 223 228 +-1 68 229 223 -1 14 228 229 -1 230 231 232 -1 69 231 230 -1 63 232 231 -1 68 +230 232 -1 233 230 226 -1 69 230 233 -1 68 226 230 -1 17 233 226 -1 213 231 +234 -1 63 231 213 -1 69 234 231 -1 15 213 234 -1 229 232 210 -1 68 232 229 +-1 63 210 232 -1 14 229 210 -1 235 236 237 -1 71 236 235 -1 72 237 236 -1 70 +235 237 -1 238 235 239 -1 71 235 238 -1 70 239 235 -1 18 238 239 -1 240 236 +241 -1 72 236 240 -1 71 241 236 -1 19 240 241 -1 242 237 243 -1 70 237 242 +-1 72 243 237 -1 16 242 243 -1 244 245 246 -1 73 245 244 -1 67 246 245 -1 72 +244 246 -1 247 244 240 -1 73 244 247 -1 72 240 244 -1 19 247 240 -1 227 245 +248 -1 67 245 227 -1 73 248 245 -1 17 227 248 -1 243 246 224 -1 72 246 243 +-1 67 224 246 -1 16 243 224 -1 249 250 251 -1 75 250 249 -1 76 251 250 -1 74 +249 251 -1 252 249 253 -1 75 249 252 -1 74 253 249 -1 20 252 253 -1 254 250 +255 -1 76 250 254 -1 75 255 250 -1 21 254 255 -1 256 251 257 -1 74 251 256 +-1 76 257 251 -1 18 256 257 -1 258 259 260 -1 77 259 258 -1 71 260 259 -1 76 +258 260 -1 261 258 254 -1 77 258 261 -1 76 254 258 -1 21 261 254 -1 241 259 +262 -1 71 259 241 -1 77 262 259 -1 19 241 262 -1 257 260 238 -1 76 260 257 +-1 71 238 260 -1 18 257 238 -1 263 264 265 -1 79 264 263 -1 80 265 264 -1 78 +263 265 -1 266 263 267 -1 79 263 266 -1 78 267 263 -1 22 266 267 -1 268 264 +269 -1 80 264 268 -1 79 269 264 -1 23 268 269 -1 270 265 271 -1 78 265 270 +-1 80 271 265 -1 20 270 271 -1 272 273 274 -1 81 273 272 -1 75 274 273 -1 80 +272 274 -1 275 272 268 -1 81 272 275 -1 80 268 272 -1 23 275 268 -1 255 273 +276 -1 75 273 255 -1 81 276 273 -1 21 255 276 -1 271 274 252 -1 80 274 271 +-1 75 252 274 -1 20 271 252 -1 277 278 279 -1 83 278 277 -1 84 279 278 -1 82 +277 279 -1 280 277 281 -1 83 277 280 -1 82 281 277 -1 24 280 281 -1 282 278 +283 -1 84 278 282 -1 83 283 278 -1 25 282 283 -1 284 279 285 -1 82 279 284 +-1 84 285 279 -1 22 284 285 -1 286 287 288 -1 85 287 286 -1 79 288 287 -1 84 +286 288 -1 289 286 282 -1 85 286 289 -1 84 282 286 -1 25 289 282 -1 269 287 +290 -1 79 287 269 -1 85 290 287 -1 23 269 290 -1 285 288 266 -1 84 288 285 +-1 79 266 288 -1 22 285 266 -1 291 292 293 -1 86 292 291 -1 87 293 292 -1 40 +291 293 -1 294 291 133 -1 86 291 294 -1 40 133 291 -1 2 294 133 -1 295 292 296 +-1 87 292 295 -1 86 296 292 -1 26 295 296 -1 135 293 297 -1 40 293 135 -1 87 +297 293 -1 3 135 297 -1 298 299 300 -1 88 299 298 -1 41 300 299 -1 87 298 300 +-1 301 298 295 -1 88 298 301 -1 87 295 298 -1 26 301 295 -1 136 299 302 -1 41 +299 136 -1 88 302 299 -1 0 136 302 -1 297 300 134 -1 87 300 297 -1 41 134 300 +-1 3 297 134 -1 303 304 305 -1 89 304 303 -1 90 305 304 -1 45 303 305 -1 306 +303 149 -1 89 303 306 -1 45 149 303 -1 5 306 149 -1 307 304 308 -1 90 304 307 +-1 89 308 304 -1 27 307 308 -1 150 305 309 -1 45 305 150 -1 90 309 305 -1 2 +150 309 -1 310 311 312 -1 91 311 310 -1 86 312 311 -1 90 310 312 -1 313 310 +307 -1 91 310 313 -1 90 307 310 -1 27 313 307 -1 296 311 314 -1 86 311 296 +-1 91 314 311 -1 26 296 314 -1 309 312 294 -1 90 312 309 -1 86 294 312 -1 2 +309 294 -1 315 316 317 -1 92 316 315 -1 93 317 316 -1 49 315 317 -1 318 315 +163 -1 92 315 318 -1 49 163 315 -1 7 318 163 -1 319 316 320 -1 93 316 319 +-1 92 320 316 -1 28 319 320 -1 164 317 321 -1 49 317 164 -1 93 321 317 -1 5 +164 321 -1 322 323 324 -1 94 323 322 -1 89 324 323 -1 93 322 324 -1 325 322 +319 -1 94 322 325 -1 93 319 322 -1 28 325 319 -1 308 323 326 -1 89 323 308 +-1 94 326 323 -1 27 308 326 -1 321 324 306 -1 93 324 321 -1 89 306 324 -1 5 +321 306 -1 327 328 329 -1 95 328 327 -1 96 329 328 -1 53 327 329 -1 330 327 +177 -1 95 327 330 -1 53 177 327 -1 9 330 177 -1 331 328 332 -1 96 328 331 +-1 95 332 328 -1 29 331 332 -1 178 329 333 -1 53 329 178 -1 96 333 329 -1 7 +178 333 -1 334 335 336 -1 97 335 334 -1 92 336 335 -1 96 334 336 -1 337 334 +331 -1 97 334 337 -1 96 331 334 -1 29 337 331 -1 320 335 338 -1 92 335 320 +-1 97 338 335 -1 28 320 338 -1 333 336 318 -1 96 336 333 -1 92 318 336 -1 7 +333 318 -1 339 340 341 -1 98 340 339 -1 99 341 340 -1 57 339 341 -1 342 339 +191 -1 98 339 342 -1 57 191 339 -1 11 342 191 -1 343 340 344 -1 99 340 343 +-1 98 344 340 -1 30 343 344 -1 192 341 345 -1 57 341 192 -1 99 345 341 -1 9 +192 345 -1 346 347 348 -1 100 347 346 -1 95 348 347 -1 99 346 348 -1 349 346 +343 -1 100 346 349 -1 99 343 346 -1 30 349 343 -1 332 347 350 -1 95 347 332 +-1 100 350 347 -1 29 332 350 -1 345 348 330 -1 99 348 345 -1 95 330 348 -1 9 +345 330 -1 351 352 353 -1 101 352 351 -1 102 353 352 -1 61 351 353 -1 354 351 +205 -1 101 351 354 -1 61 205 351 -1 13 354 205 -1 355 352 356 -1 102 352 355 +-1 101 356 352 -1 31 355 356 -1 206 353 357 -1 61 353 206 -1 102 357 353 -1 +11 206 357 -1 358 359 360 -1 103 359 358 -1 98 360 359 -1 102 358 360 -1 361 +358 355 -1 103 358 361 -1 102 355 358 -1 31 361 355 -1 344 359 362 -1 98 359 +344 -1 103 362 359 -1 30 344 362 -1 357 360 342 -1 102 360 357 -1 98 342 360 +-1 11 357 342 -1 363 364 365 -1 104 364 363 -1 105 365 364 -1 65 363 365 -1 +366 363 219 -1 104 363 366 -1 65 219 363 -1 15 366 219 -1 367 364 368 -1 105 +364 367 -1 104 368 364 -1 32 367 368 -1 220 365 369 -1 65 365 220 -1 105 369 +365 -1 13 220 369 -1 370 371 372 -1 106 371 370 -1 101 372 371 -1 105 370 372 +-1 373 370 367 -1 106 370 373 -1 105 367 370 -1 32 373 367 -1 356 371 374 +-1 101 371 356 -1 106 374 371 -1 31 356 374 -1 369 372 354 -1 105 372 369 +-1 101 354 372 -1 13 369 354 -1 375 376 377 -1 107 376 375 -1 108 377 376 +-1 69 375 377 -1 378 375 233 -1 107 375 378 -1 69 233 375 -1 17 378 233 -1 379 +376 380 -1 108 376 379 -1 107 380 376 -1 33 379 380 -1 234 377 381 -1 69 377 +234 -1 108 381 377 -1 15 234 381 -1 382 383 384 -1 109 383 382 -1 104 384 383 +-1 108 382 384 -1 385 382 379 -1 109 382 385 -1 108 379 382 -1 33 385 379 +-1 368 383 386 -1 104 383 368 -1 109 386 383 -1 32 368 386 -1 381 384 366 +-1 108 384 381 -1 104 366 384 -1 15 381 366 -1 387 388 389 -1 110 388 387 +-1 111 389 388 -1 73 387 389 -1 390 387 247 -1 110 387 390 -1 73 247 387 -1 +19 390 247 -1 391 388 392 -1 111 388 391 -1 110 392 388 -1 34 391 392 -1 248 +389 393 -1 73 389 248 -1 111 393 389 -1 17 248 393 -1 394 395 396 -1 112 395 +394 -1 107 396 395 -1 111 394 396 -1 397 394 391 -1 112 394 397 -1 111 391 394 +-1 34 397 391 -1 380 395 398 -1 107 395 380 -1 112 398 395 -1 33 380 398 -1 +393 396 378 -1 111 396 393 -1 107 378 396 -1 17 393 378 -1 399 400 401 -1 113 +400 399 -1 114 401 400 -1 77 399 401 -1 402 399 261 -1 113 399 402 -1 77 261 +399 -1 21 402 261 -1 403 400 404 -1 114 400 403 -1 113 404 400 -1 35 403 404 +-1 262 401 405 -1 77 401 262 -1 114 405 401 -1 19 262 405 -1 406 407 408 -1 +115 407 406 -1 110 408 407 -1 114 406 408 -1 409 406 403 -1 115 406 409 -1 114 +403 406 -1 35 409 403 -1 392 407 410 -1 110 407 392 -1 115 410 407 -1 34 392 +410 -1 405 408 390 -1 114 408 405 -1 110 390 408 -1 19 405 390 -1 411 412 413 +-1 116 412 411 -1 117 413 412 -1 81 411 413 -1 414 411 275 -1 116 411 414 +-1 81 275 411 -1 23 414 275 -1 415 412 416 -1 117 412 415 -1 116 416 412 -1 +36 415 416 -1 276 413 417 -1 81 413 276 -1 117 417 413 -1 21 276 417 -1 418 +419 420 -1 118 419 418 -1 113 420 419 -1 117 418 420 -1 421 418 415 -1 118 418 +421 -1 117 415 418 -1 36 421 415 -1 404 419 422 -1 113 419 404 -1 118 422 419 +-1 35 404 422 -1 417 420 402 -1 117 420 417 -1 113 402 420 -1 21 417 402 -1 +423 424 425 -1 83 424 423 -1 119 425 424 -1 85 423 425 -1 283 423 289 -1 83 +423 283 -1 85 289 423 -1 25 283 289 -1 426 424 280 -1 119 424 426 -1 83 280 +424 -1 24 426 280 -1 290 425 427 -1 85 425 290 -1 119 427 425 -1 23 290 427 +-1 428 429 430 -1 120 429 428 -1 116 430 429 -1 119 428 430 -1 431 428 426 +-1 120 428 431 -1 119 426 428 -1 24 431 426 -1 416 429 432 -1 116 429 416 +-1 120 432 429 -1 36 416 432 -1 427 430 414 -1 119 430 427 -1 116 414 430 +-1 23 427 414 -1 ] texCoordIndex +[ 125 126 127 -1 40 126 125 -1 41 127 126 -1 39 125 127 -1 128 125 129 -1 40 +125 128 -1 39 129 125 -1 1 128 129 -1 130 126 131 -1 41 126 130 -1 40 131 126 +-1 2 130 131 -1 132 127 133 -1 39 127 132 -1 41 133 127 -1 0 132 133 -1 134 +135 136 -1 42 135 134 -1 43 136 135 -1 41 134 136 -1 137 134 130 -1 42 134 137 +-1 41 130 134 -1 2 137 130 -1 138 135 139 -1 43 135 138 -1 42 139 135 -1 3 138 +139 -1 133 136 140 -1 41 136 133 -1 43 140 136 -1 0 133 140 -1 141 142 143 +-1 45 142 141 -1 46 143 142 -1 44 141 143 -1 144 141 145 -1 45 141 144 -1 44 +145 141 -1 4 144 145 -1 146 142 147 -1 46 142 146 -1 45 147 142 -1 5 146 147 +-1 148 143 149 -1 44 143 148 -1 46 149 143 -1 1 148 149 -1 150 151 152 -1 47 +151 150 -1 40 152 151 -1 46 150 152 -1 153 150 146 -1 47 150 153 -1 46 146 150 +-1 5 153 146 -1 131 151 154 -1 40 151 131 -1 47 154 151 -1 2 131 154 -1 149 +152 128 -1 46 152 149 -1 40 128 152 -1 1 149 128 -1 155 156 157 -1 49 156 155 +-1 50 157 156 -1 48 155 157 -1 158 155 159 -1 49 155 158 -1 48 159 155 -1 6 +158 159 -1 160 156 161 -1 50 156 160 -1 49 161 156 -1 7 160 161 -1 162 157 163 +-1 48 157 162 -1 50 163 157 -1 4 162 163 -1 164 165 166 -1 51 165 164 -1 45 +166 165 -1 50 164 166 -1 167 164 160 -1 51 164 167 -1 50 160 164 -1 7 167 160 +-1 147 165 168 -1 45 165 147 -1 51 168 165 -1 5 147 168 -1 163 166 144 -1 50 +166 163 -1 45 144 166 -1 4 163 144 -1 169 170 171 -1 53 170 169 -1 54 171 170 +-1 52 169 171 -1 172 169 173 -1 53 169 172 -1 52 173 169 -1 8 172 173 -1 174 +170 175 -1 54 170 174 -1 53 175 170 -1 9 174 175 -1 176 171 177 -1 52 171 176 +-1 54 177 171 -1 6 176 177 -1 178 179 180 -1 55 179 178 -1 49 180 179 -1 54 +178 180 -1 181 178 174 -1 55 178 181 -1 54 174 178 -1 9 181 174 -1 161 179 182 +-1 49 179 161 -1 55 182 179 -1 7 161 182 -1 177 180 158 -1 54 180 177 -1 49 +158 180 -1 6 177 158 -1 183 184 185 -1 57 184 183 -1 58 185 184 -1 56 183 185 +-1 186 183 187 -1 57 183 186 -1 56 187 183 -1 10 186 187 -1 188 184 189 -1 58 +184 188 -1 57 189 184 -1 11 188 189 -1 190 185 191 -1 56 185 190 -1 58 191 185 +-1 8 190 191 -1 192 193 194 -1 59 193 192 -1 53 194 193 -1 58 192 194 -1 195 +192 188 -1 59 192 195 -1 58 188 192 -1 11 195 188 -1 175 193 196 -1 53 193 175 +-1 59 196 193 -1 9 175 196 -1 191 194 172 -1 58 194 191 -1 53 172 194 -1 8 191 +172 -1 197 198 199 -1 61 198 197 -1 62 199 198 -1 60 197 199 -1 200 197 201 +-1 61 197 200 -1 60 201 197 -1 12 200 201 -1 202 198 203 -1 62 198 202 -1 61 +203 198 -1 13 202 203 -1 204 199 205 -1 60 199 204 -1 62 205 199 -1 10 204 205 +-1 206 207 208 -1 63 207 206 -1 57 208 207 -1 62 206 208 -1 209 206 202 -1 63 +206 209 -1 62 202 206 -1 13 209 202 -1 189 207 210 -1 57 207 189 -1 63 210 207 +-1 11 189 210 -1 205 208 186 -1 62 208 205 -1 57 186 208 -1 10 205 186 -1 211 +212 213 -1 65 212 211 -1 66 213 212 -1 64 211 213 -1 214 211 215 -1 65 211 214 +-1 64 215 211 -1 14 214 215 -1 216 212 217 -1 66 212 216 -1 65 217 212 -1 15 +216 217 -1 218 213 219 -1 64 213 218 -1 66 219 213 -1 12 218 219 -1 220 221 +222 -1 67 221 220 -1 61 222 221 -1 66 220 222 -1 223 220 216 -1 67 220 223 +-1 66 216 220 -1 15 223 216 -1 203 221 224 -1 61 221 203 -1 67 224 221 -1 13 +203 224 -1 219 222 200 -1 66 222 219 -1 61 200 222 -1 12 219 200 -1 225 226 +227 -1 69 226 225 -1 70 227 226 -1 68 225 227 -1 228 225 229 -1 69 225 228 +-1 68 229 225 -1 16 228 229 -1 230 226 231 -1 70 226 230 -1 69 231 226 -1 17 +230 231 -1 232 227 233 -1 68 227 232 -1 70 233 227 -1 14 232 233 -1 234 235 +236 -1 71 235 234 -1 65 236 235 -1 70 234 236 -1 237 234 230 -1 71 234 237 +-1 70 230 234 -1 17 237 230 -1 217 235 238 -1 65 235 217 -1 71 238 235 -1 15 +217 238 -1 233 236 214 -1 70 236 233 -1 65 214 236 -1 14 233 214 -1 239 240 +241 -1 73 240 239 -1 74 241 240 -1 72 239 241 -1 242 239 243 -1 73 239 242 +-1 72 243 239 -1 18 242 243 -1 244 240 245 -1 74 240 244 -1 73 245 240 -1 19 +244 245 -1 246 241 247 -1 72 241 246 -1 74 247 241 -1 16 246 247 -1 248 249 +250 -1 75 249 248 -1 69 250 249 -1 74 248 250 -1 251 248 244 -1 75 248 251 +-1 74 244 248 -1 19 251 244 -1 231 249 252 -1 69 249 231 -1 75 252 249 -1 17 +231 252 -1 247 250 228 -1 74 250 247 -1 69 228 250 -1 16 247 228 -1 253 254 +255 -1 77 254 253 -1 78 255 254 -1 76 253 255 -1 256 253 257 -1 77 253 256 +-1 76 257 253 -1 20 256 257 -1 258 254 259 -1 78 254 258 -1 77 259 254 -1 21 +258 259 -1 260 255 261 -1 76 255 260 -1 78 261 255 -1 18 260 261 -1 262 263 +264 -1 79 263 262 -1 73 264 263 -1 78 262 264 -1 265 262 258 -1 79 262 265 +-1 78 258 262 -1 21 265 258 -1 245 263 266 -1 73 263 245 -1 79 266 263 -1 19 +245 266 -1 261 264 242 -1 78 264 261 -1 73 242 264 -1 18 261 242 -1 267 268 +269 -1 81 268 267 -1 82 269 268 -1 80 267 269 -1 270 267 271 -1 81 267 270 +-1 80 271 267 -1 22 270 271 -1 272 268 273 -1 82 268 272 -1 81 273 268 -1 23 +272 273 -1 274 269 275 -1 80 269 274 -1 82 275 269 -1 20 274 275 -1 276 277 +278 -1 83 277 276 -1 77 278 277 -1 82 276 278 -1 279 276 272 -1 83 276 279 +-1 82 272 276 -1 23 279 272 -1 259 277 280 -1 77 277 259 -1 83 280 277 -1 21 +259 280 -1 275 278 256 -1 82 278 275 -1 77 256 278 -1 20 275 256 -1 281 282 +283 -1 85 282 281 -1 86 283 282 -1 84 281 283 -1 284 281 285 -1 85 281 284 +-1 84 285 281 -1 24 284 285 -1 286 282 287 -1 86 282 286 -1 85 287 282 -1 25 +286 287 -1 288 283 289 -1 84 283 288 -1 86 289 283 -1 22 288 289 -1 290 291 +292 -1 87 291 290 -1 81 292 291 -1 86 290 292 -1 293 290 286 -1 87 290 293 +-1 86 286 290 -1 25 293 286 -1 273 291 294 -1 81 291 273 -1 87 294 291 -1 23 +273 294 -1 289 292 270 -1 86 292 289 -1 81 270 292 -1 22 289 270 -1 295 296 +297 -1 88 296 295 -1 89 297 296 -1 42 295 297 -1 298 295 137 -1 88 295 298 +-1 42 137 295 -1 2 298 137 -1 299 296 300 -1 89 296 299 -1 88 300 296 -1 26 +299 300 -1 139 297 301 -1 42 297 139 -1 89 301 297 -1 3 139 301 -1 302 303 304 +-1 90 303 302 -1 91 304 303 -1 89 302 304 -1 305 302 299 -1 90 302 305 -1 89 +299 302 -1 26 305 299 -1 306 303 307 -1 91 303 306 -1 90 307 303 -1 27 306 307 +-1 301 304 308 -1 89 304 301 -1 91 308 304 -1 3 301 308 -1 309 310 311 -1 92 +310 309 -1 93 311 310 -1 47 309 311 -1 312 309 153 -1 92 309 312 -1 47 153 309 +-1 5 312 153 -1 313 310 314 -1 93 310 313 -1 92 314 310 -1 28 313 314 -1 154 +311 315 -1 47 311 154 -1 93 315 311 -1 2 154 315 -1 316 317 318 -1 94 317 316 +-1 88 318 317 -1 93 316 318 -1 319 316 313 -1 94 316 319 -1 93 313 316 -1 28 +319 313 -1 300 317 320 -1 88 317 300 -1 94 320 317 -1 26 300 320 -1 315 318 +298 -1 93 318 315 -1 88 298 318 -1 2 315 298 -1 321 322 323 -1 95 322 321 +-1 96 323 322 -1 51 321 323 -1 324 321 167 -1 95 321 324 -1 51 167 321 -1 7 +324 167 -1 325 322 326 -1 96 322 325 -1 95 326 322 -1 29 325 326 -1 168 323 +327 -1 51 323 168 -1 96 327 323 -1 5 168 327 -1 328 329 330 -1 97 329 328 +-1 92 330 329 -1 96 328 330 -1 331 328 325 -1 97 328 331 -1 96 325 328 -1 29 +331 325 -1 314 329 332 -1 92 329 314 -1 97 332 329 -1 28 314 332 -1 327 330 +312 -1 96 330 327 -1 92 312 330 -1 5 327 312 -1 333 334 335 -1 98 334 333 +-1 99 335 334 -1 55 333 335 -1 336 333 181 -1 98 333 336 -1 55 181 333 -1 9 +336 181 -1 337 334 338 -1 99 334 337 -1 98 338 334 -1 30 337 338 -1 182 335 +339 -1 55 335 182 -1 99 339 335 -1 7 182 339 -1 340 341 342 -1 100 341 340 +-1 95 342 341 -1 99 340 342 -1 343 340 337 -1 100 340 343 -1 99 337 340 -1 30 +343 337 -1 326 341 344 -1 95 341 326 -1 100 344 341 -1 29 326 344 -1 339 342 +324 -1 99 342 339 -1 95 324 342 -1 7 339 324 -1 345 346 347 -1 101 346 345 +-1 102 347 346 -1 59 345 347 -1 348 345 195 -1 101 345 348 -1 59 195 345 -1 +11 348 195 -1 349 346 350 -1 102 346 349 -1 101 350 346 -1 31 349 350 -1 196 +347 351 -1 59 347 196 -1 102 351 347 -1 9 196 351 -1 352 353 354 -1 103 353 +352 -1 98 354 353 -1 102 352 354 -1 355 352 349 -1 103 352 355 -1 102 349 352 +-1 31 355 349 -1 338 353 356 -1 98 353 338 -1 103 356 353 -1 30 338 356 -1 351 +354 336 -1 102 354 351 -1 98 336 354 -1 9 351 336 -1 357 358 359 -1 104 358 +357 -1 105 359 358 -1 63 357 359 -1 360 357 209 -1 104 357 360 -1 63 209 357 +-1 13 360 209 -1 361 358 362 -1 105 358 361 -1 104 362 358 -1 32 361 362 -1 +210 359 363 -1 63 359 210 -1 105 363 359 -1 11 210 363 -1 364 365 366 -1 106 +365 364 -1 101 366 365 -1 105 364 366 -1 367 364 361 -1 106 364 367 -1 105 361 +364 -1 32 367 361 -1 350 365 368 -1 101 365 350 -1 106 368 365 -1 31 350 368 +-1 363 366 348 -1 105 366 363 -1 101 348 366 -1 11 363 348 -1 369 370 371 +-1 107 370 369 -1 108 371 370 -1 67 369 371 -1 372 369 223 -1 107 369 372 +-1 67 223 369 -1 15 372 223 -1 373 370 374 -1 108 370 373 -1 107 374 370 -1 +33 373 374 -1 224 371 375 -1 67 371 224 -1 108 375 371 -1 13 224 375 -1 376 +377 378 -1 109 377 376 -1 104 378 377 -1 108 376 378 -1 379 376 373 -1 109 376 +379 -1 108 373 376 -1 33 379 373 -1 362 377 380 -1 104 377 362 -1 109 380 377 +-1 32 362 380 -1 375 378 360 -1 108 378 375 -1 104 360 378 -1 13 375 360 -1 +381 382 383 -1 110 382 381 -1 111 383 382 -1 71 381 383 -1 384 381 237 -1 110 +381 384 -1 71 237 381 -1 17 384 237 -1 385 382 386 -1 111 382 385 -1 110 386 +382 -1 34 385 386 -1 238 383 387 -1 71 383 238 -1 111 387 383 -1 15 238 387 +-1 388 389 390 -1 112 389 388 -1 107 390 389 -1 111 388 390 -1 391 388 385 +-1 112 388 391 -1 111 385 388 -1 34 391 385 -1 374 389 392 -1 107 389 374 +-1 112 392 389 -1 33 374 392 -1 387 390 372 -1 111 390 387 -1 107 372 390 +-1 15 387 372 -1 393 394 395 -1 113 394 393 -1 114 395 394 -1 75 393 395 -1 +396 393 251 -1 113 393 396 -1 75 251 393 -1 19 396 251 -1 397 394 398 -1 114 +394 397 -1 113 398 394 -1 35 397 398 -1 252 395 399 -1 75 395 252 -1 114 399 +395 -1 17 252 399 -1 400 401 402 -1 115 401 400 -1 110 402 401 -1 114 400 402 +-1 403 400 397 -1 115 400 403 -1 114 397 400 -1 35 403 397 -1 386 401 404 +-1 110 401 386 -1 115 404 401 -1 34 386 404 -1 399 402 384 -1 114 402 399 +-1 110 384 402 -1 17 399 384 -1 405 406 407 -1 116 406 405 -1 117 407 406 +-1 79 405 407 -1 408 405 265 -1 116 405 408 -1 79 265 405 -1 21 408 265 -1 409 +406 410 -1 117 406 409 -1 116 410 406 -1 36 409 410 -1 266 407 411 -1 79 407 +266 -1 117 411 407 -1 19 266 411 -1 412 413 414 -1 118 413 412 -1 113 414 413 +-1 117 412 414 -1 415 412 409 -1 118 412 415 -1 117 409 412 -1 36 415 409 +-1 398 413 416 -1 113 413 398 -1 118 416 413 -1 35 398 416 -1 411 414 396 +-1 117 414 411 -1 113 396 414 -1 19 411 396 -1 417 418 419 -1 119 418 417 +-1 120 419 418 -1 83 417 419 -1 420 417 279 -1 119 417 420 -1 83 279 417 -1 +23 420 279 -1 421 418 422 -1 120 418 421 -1 119 422 418 -1 37 421 422 -1 280 +419 423 -1 83 419 280 -1 120 423 419 -1 21 280 423 -1 424 425 426 -1 121 425 +424 -1 116 426 425 -1 120 424 426 -1 427 424 421 -1 121 424 427 -1 120 421 424 +-1 37 427 421 -1 410 425 428 -1 116 425 410 -1 121 428 425 -1 36 410 428 -1 +423 426 408 -1 120 426 423 -1 116 408 426 -1 21 423 408 -1 429 430 431 -1 122 +430 429 -1 123 431 430 -1 87 429 431 -1 432 429 293 -1 122 429 432 -1 87 293 +429 -1 25 432 293 -1 433 430 434 -1 123 430 433 -1 122 434 430 -1 38 433 434 +-1 294 431 435 -1 87 431 294 -1 123 435 431 -1 23 294 435 -1 436 437 438 -1 +124 437 436 -1 119 438 437 -1 123 436 438 -1 439 436 433 -1 124 436 439 -1 123 +433 436 -1 38 439 433 -1 422 437 440 -1 119 437 422 -1 124 440 437 -1 37 422 +440 -1 435 438 420 -1 123 438 435 -1 119 420 438 -1 23 435 420 -1 ] +coord +DEF Island_Coord Coordinate { +point [ 200 .2 320 190 .2 260 190 28.2101 291.9899 200 -.07417 320.27417 150 +.2 230 150 42.35224 277.84776 130 .2 245 130 35.28117 284.91883 100 .2 245 +100 35.28117 284.91883 70 .2 230 70 42.35224 277.84776 0 .2 230 0 42.35224 +277.84776 -40 .2 245 -40 35.28117 284.91883 -80 .2 245 -80 35.28117 284.91883 +-120 .2 260 -120 28.2101 291.9899 -140 .2 260 -140 28.2101 291.9899 -160 .2 +290 -160 14.06797 306.13203 -170 .2 320 -170 -.07417 320.27417 190 40.2 320 +150 60.2 320 130 50.2 320 100 50.2 320 70 60.2 320 0 60.2 320 -40 50.2 320 +-80 50.2 320 -120 40.2 320 -140 40.2 320 -160 20.2 320 197.5 -2.41738 288.86738 +195 10.70379 275.74621 197.5 5.70379 309.49621 196.66667 8.33191 308.53475 +201.45833 -2.78797 325.07131 171.25 -3.7432 239.5682 152.5 16.00709 246.06791 +173.75 16.00709 259.19291 170.625 37.15617 283.04383 141.875 -4.62709 232.01459 +133.75 13.35544 259.96956 137.5 13.35544 246.84456 139.375 38.1917 278.5708 +116.875 -4.62709 240.45209 103.75 13.35544 261.84456 116.25 13.35544 261.84456 +115.625 34.65617 285.85633 89.375 -4.62709 232.01459 78.75 16.00709 247.94291 +85 16.00709 257.31791 87.5 39.4417 282.3208 37.5 -4.62709 223.57709 5 16.00709 +246.06791 40 16.00709 246.06791 35.625 42.97724 276.91026 -17.5 -4.62709 232.01459 +-35 13.35544 259.96956 -23.75 13.35544 250.59456 -21.875 38.1917 280.4458 +-57.5 -3.7432 239.5682 -75 13.35544 258.09456 -60 13.35544 261.84456 -60 35.90617 +285.85633 -98.75 -3.7432 248.0057 -117.5 10.70379 271.99621 -100 10.70379 +262.62121 -101.25 31.12064 287.51686 -128.75 -2.41738 255.11738 -137.5 10.70379 +268.24621 -132.5 10.70379 273.87121 -131.25 29.4601 292.9274 -149.375 -1.5335 +271.1085 -158.75 5.40049 292.29951 -150 5.40049 277.29951 -150.625 21.13903 +297.18597 -165.625 -1.5335 304.8585 -171.45833 -1.78205 321.98205 -166.45833 +-.53205 306.98205 -166.66667 5.77269 316.92731 188.75 40.73806 309.46194 195.20833 +20.46139 323.07194 198.125 17.19937 321.75063 145 57.50583 307.69417 165 50.43476 +314.76524 170.625 53.325 320 127.5 45.58641 312.11359 137.5 49.12194 308.57806 +139.375 56.45 320 96.25 46.47029 311.22971 111.25 46.47029 311.22971 115.625 +48.95 320 66.25 56.62194 308.57806 81.25 53.08641 312.11359 87.5 55.2 320 +-8.75 55.73806 309.46194 26.25 55.73806 309.46194 35.625 61.45 320 -45 45.58641 +312.11359 -25 49.12194 308.57806 -21.875 55.2 320 -85 46.47029 311.22971 -65 +46.47029 311.22971 -60 50.2 320 -125 36.31864 313.88136 -105 39.85418 310.34582 +-101.25 45.2 320 -142.5 37.20253 312.99747 -132.5 37.20253 312.99747 -131.25 +40.825 320 -162.5 16.89922 318.30078 -152.5 23.97029 311.22971 -150.625 31.45 +320 -167.5 5.40049 318.54951 -166.25 8.96714 319.98286 196.25 2.17589 280.05536 +197.35677 8.55987 292.00471 198.4375 .30089 300.21161 193.90625 2.16303 266.00572 +194.92188 -1.36981 274.42137 195.3125 14.79335 298.3754 192.70833 20.29217 +284.72554 198.8151 -1.74201 304.93681 199.29688 .139 315.84225 197.03125 6.97264 +309.55549 199.97396 -.85763 316.89097 199.96094 -.15797 319.42047 194.32292 +19.15049 300.21618 201.28472 -3.61673 323.01811 198.88889 1.94322 314.74984 +200.85938 -.59332 325.79332 161.875 3.17026 239.45162 162.65625 16.09898 251.58149 +174.84375 3.17026 248.12349 152.5 4.48323 233.9199 160.97656 -2.7043 233.43165 +161.60156 29.40894 265.81059 151.83594 29.96137 261.80113 181.32813 -2.84241 +247.57366 183.28125 4.81468 257.72907 172.96875 26.84344 271.20812 184.375 +23.28895 275.66105 185.15625 13.99985 266.70796 159.53125 41.05159 279.73434 +181.25 32.82828 287.21547 137.8125 1.51297 242.74953 136.17188 12.60921 253.05954 +141.71875 1.51297 235.95265 133.125 3.48886 248.50802 137.03125 -3.03576 237.86467 +134.29688 25.03529 265.94596 131.71875 24.48286 271.30308 145.11719 -3.091 +228.6621 145 3.1574 234.30822 138.67188 25.84122 261.58534 144.92188 27.77472 +260.23778 144.10156 15.15128 245.38075 134.375 36.29449 281.24926 144.45313 +40.13468 277.1747 110.3125 1.51297 247.90578 110.03906 12.53108 261.37986 +118.75 1.51297 247.90578 103.28125 3.1574 249.77697 109.14063 -3.03576 242.2006 +108.39844 24.40473 273.47105 102.42188 24.72279 272.91862 123.51563 -3.03576 +242.2006 124.375 3.48886 249.44552 116.40625 24.1287 273.02443 125.54688 24.1287 +273.2588 125.15625 13.8807 262.12008 107.5 34.55516 285.44953 123.59375 35.02391 +286.03546 84.0625 2.50734 236.36453 83.47656 15.54655 251.72376 90.15625 2.50734 +241.75516 77.03125 4.15177 234.7201 81.99219 -3.20149 229.82727 79.84375 29.34029 +266.40658 74.25781 29.89272 262.80728 94.29688 -3.20149 237.79602 93.90625 +4.48323 247.51365 86.40625 27.93097 269.37841 95.78125 25.99747 271.3119 94.29688 +15.36277 260.79426 79.53125 41.33891 280.11109 94.14063 37.38824 284.17894 +21.25 2.50734 231.20828 21.95313 15.62467 245.16126 43.125 2.50734 231.20828 +4.84375 4.48323 233.45115 19.6875 -3.20149 225.25696 19.72656 29.97084 260.99088 +3.24219 29.65279 261.5433 54.57031 -3.20149 225.25696 57.65625 4.15177 233.7826 +39.14063 29.64349 260.75182 59.60938 29.64349 260.75182 60.27344 16.6886 247.16374 +16.40625 43.07824 277.31707 54.53125 42.60949 276.96551 -26.25 1.51297 242.74953 +-28.94531 12.53108 254.81736 -17.03125 1.51297 237.3589 -35.625 3.48886 248.50802 +-27.26563 -3.091 237.68553 -31.64063 24.95716 268.05534 -37.69531 24.63911 +271.65464 -10 -3.03576 229.66154 -9.53125 3.1574 235.71447 -22.1875 25.84122 +264.39784 -9.84375 27.77472 262.46434 -10.85938 15.20652 248.48957 -32.03125 +36.29449 282.65551 -11.09375 40.24516 278.58765 -66.25 2.17589 245.83661 -67.10938 +13.08351 259.06962 -55.625 2.17589 247.24286 -75.625 3.82032 247.70781 -67.42188 +-2.59382 240.70397 -69.45313 25.02581 272.73279 -77.5 24.70775 271.5274 -49.0625 +-2.53857 241.93779 -48.125 3.48886 249.44552 -59.375 24.7537 273.2588 -46.95313 +24.7537 273.02443 -47.8125 13.98171 262.17532 -70.625 36.00718 285.79439 -49.14063 +35.64891 285.80109 -108.125 1.18152 257.37786 -109.0625 9.95085 266.9679 -96.5625 +1.18152 251.98723 -117.5 2.82595 262.76468 -108.75 -2.51095 253.39455 -110.46875 +19.97306 277.68788 -118.59375 19.7722 281.28718 -89.60938 -2.42809 245.34293 +-88.125 2.49449 249.97113 -99.84375 20.95143 274.09232 -87.8125 22.88492 271.92445 +-87.89063 12.44439 260.39233 -111.875 29.22343 289.72657 -90 33.17409 285.42434 +-133.125 2.17589 259.43036 -134.72656 10.74043 270.06504 -128.75 2.17589 261.53974 +-137.8125 3.48886 260.92989 -133.55469 -1.82042 255.69229 -136.13281 20.31318 +281.99619 -138.98438 19.91145 280.46433 -125.15625 -1.68231 257.48778 -125 +2.82595 263.70218 -131.5625 20.1764 283.07047 -125.15625 20.1764 282.71891 +-125.9375 11.27007 274.10571 -136.25 29.66212 293.03788 -125.625 28.89034 +292.87216 -154.0625 .85006 280.44369 -154.46615 5.26031 284.1975 -148.28125 +.85006 271.06869 -158.72396 2.24169 288.73956 -154.29688 -.99178 279.23865 +-155.16927 11.06153 291.99003 -159.33594 9.60125 298.88 -144.80469 -.93654 +264.53497 -144.0625 .83721 265.45654 -149.92188 13.19687 286.37813 -143.75 +17.06386 281.92521 -143.94531 8.32407 272.14937 -155.85938 17.54877 301.71373 +-144.84375 24.62095 293.11811 -168.51563 -1.84339 313.13714 -169.45313 -2.1046 +314.88272 -165.39063 -1.37464 303.76214 -170.85938 -1.19333 320.92458 -167.99479 +-1.27728 312.2976 -168.68056 -.60987 314.87237 -171.18056 -1.23487 322.37237 +-163.11198 -.54287 297.53974 -162.57813 -.72458 296.08083 -166.22396 2.61712 +311.02038 -163.04688 6.59565 305.86997 -163.125 2.49788 300.35837 -168.78472 +2.5425 319.845 -163.46354 10.02135 311.35053 193.82813 24.6024 306.8476 192.89063 +30.49995 316.45787 195.59896 15.55251 315.63708 188.71094 34.52952 301.41267 +194.375 31.1574 321.15198 188.51563 43.27685 315.8294 198.15972 8.00796 322.01843 +196.61458 20.92105 321.83104 199.73958 9.29636 322.83072 199.14063 7.41087 +325.75788 194.02344 29.72852 321.64336 199.72656 6.91816 321.64122 156.48438 +49.33318 295.71057 154.45313 54.86873 310.99533 166.95313 44.88532 299.92405 +147.42188 50.64607 293.44065 156.95313 57.00678 318.03697 145.54688 60.04906 +315.38532 178.21615 40.94255 301.69235 166.25 53.81453 319.35422 178.125 48.96618 +316.70257 177.7474 46.66029 311.63867 159.41406 57.7512 320.76911 181.27604 +47.56648 319.808 133.82813 42.91582 297.28418 132.73438 46.96355 309.99426 +138.28125 44.71202 294.90204 128.4375 41.88632 299.66134 134.60938 49.95198 +315.71677 127.89063 47.68865 317.0426 142.42188 47.9993 293.91945 137.96875 +53.57 317.255 141.71875 57.76194 316.81306 140.54688 54.05492 307.76617 134.17969 +53.37897 320.4929 144.33594 59.32595 320.32717 105.625 41.28697 299.38178 +103.63281 46.15779 311.3469 112.89063 41.75572 299.49896 97.57813 42.18934 +299.35832 105.78125 48.17636 316.71114 96.64063 48.95761 316.71114 120.70313 +41.72059 299.70988 112.5 48.44056 317.69694 120.625 47.99862 318.13888 119.76563 +45.72925 312.00981 107.14844 49.72998 320.54814 123.32031 49.56425 320.71387 +78.20313 49.51001 295.96343 75.11719 55.16668 310.46301 83.90625 47.60332 +298.22168 67.5 50.53951 294.28939 78.51563 57.37615 317.0426 66.40625 59.48323 +315.71677 90.27344 44.93319 299.19259 84.0625 55.49862 318.13888 91.5625 52.19056 +317.69694 88.86719 49.55738 311.77543 78.20313 58.23613 320.71387 94.14063 +52.62061 320.54814 11.40625 51.13886 294.56896 7.96875 56.05056 309.34475 +29.53125 50.67011 294.45177 -4.45313 50.23649 294.59241 12.57813 59.15177 +316.04823 -7.73438 58.37052 316.04823 48.78906 50.70524 294.35804 28.28125 +59.91153 317.47597 48.28125 60.35347 317.03403 47.38281 56.4791 308.79903 +16.21094 61.182 320.65863 54.33594 61.34772 320.4929 -33.51563 42.91582 297.9873 +-35.11719 46.96355 310.22864 -23.82813 44.82251 295.72905 -42.8125 41.73007 +299.66134 -31.875 49.79573 315.71677 -44.14063 47.8449 317.0426 -14.6875 47.49264 +294.75814 -24.6875 52.85347 317.03403 -16.5625 56.16153 317.47597 -17.96875 +52.65097 308.91622 -31.99219 52.67585 320.4929 -11.44531 58.29137 320.65863 +-72.8125 42.73899 299.49226 -74.92188 46.86092 311.3469 -63.125 42.38072 299.49896 +-82.65625 41.83663 298.81259 -71.71875 49.42636 316.71114 -84.375 48.80136 +316.71114 -53.00781 41.79871 299.59269 -63.75 49.37806 317.69694 -53.75 48.93612 +318.13888 -54.88281 45.80738 311.89262 -70.9375 50.43311 320.54814 -49.6875 +50.26738 320.71387 -114.21875 34.51596 302.20748 -115.625 37.65672 311.9964 +-103.75 36.42264 299.94923 -122.5 33.25208 303.88152 -112.96875 39.99219 316.37968 +-124.21875 38.11949 317.70551 -93.20313 39.09277 298.86113 -104.6875 43.03653 +317.47597 -94.6875 46.34459 317.91791 -95.07813 43.3832 310.5668 -111.64063 +42.63008 320.38242 -90.39063 48.24561 320.54814 -136.875 35.06513 303.76768 +-137.53906 37.86659 313.11466 -132.03125 34.29336 303.71914 -141.32813 33.10415 +302.75991 -135.85938 40.1697 317.37405 -142.03125 38.99782 317.37405 -127.5 +33.43791 303.81287 -132.5 40.02987 318.13888 -128.75 39.58793 318.58082 -129.375 +36.57868 313.66039 -136.17188 40.7389 320.43766 -126.01563 40.57318 320.60339 +-157.03125 20.07322 309.42366 -157.77344 20.43369 314.53194 -151.875 23.05744 +305.03319 -161.30208 16.04412 312.59338 -156.40625 23.01797 316.71328 -162.10938 +17.55596 319.36279 -146.52344 27.85082 302.91558 -152.34375 27.92604 317.58646 +-147.34375 34.54216 318.47034 -147.46094 31.10648 311.73024 -155.82031 25.48442 +320.1062 -145.19531 36.71547 320.43766 -169.81771 1.83587 321.80163 -170.19531 +1.21659 321.67872 -167.1875 5.72073 318.07302 -168.88021 2.39794 319.20831 +-164.45313 10.46043 314.77863 -167.1875 6.63813 319.65562 -164.6875 12.3875 +319.53125 -165.32552 11.07226 318.30743 -168.78906 3.98986 320.93671 -163.35938 +14.89587 320.5385 ] + } + texCoord +TextureCoordinate { point [ 0 0 .095 0 .095 .583 0 .5 .198 0 .198 .582 .25 +0 .25 .582 .319 0 .319 .582 .392 0 .392 .582 .554 0 .554 .582 .649 0 .649 +.582 .742 0 .742 .582 .837 0 .837 .583 .883 0 .883 .583 .948 0 .948 .584 1 +0 1 .5 .095 1 0 1 .198 1 .25 1 .319 1 .392 1 .554 1 .649 1 .742 1 .837 1 .883 +1 .948 1 1 1 .048 0 .095 .291 .048 .291 .048 .541 0 .25 .147 0 .198 .291 .147 +.291 .147 .582 .224 0 .25 .291 .224 .291 .224 .582 .285 0 .319 .291 .285 .291 +.285 .582 .356 0 .392 .291 .356 .291 .356 .582 .473 0 .554 .291 .473 .291 +.473 .582 .602 0 .649 .291 .602 .291 .602 .582 .695 0 .742 .291 .695 .291 +.695 .582 .789 0 .837 .291 .789 .291 .789 .582 .86 0 .883 .291 .86 .291 .86 +.583 .916 0 .948 .292 .916 .292 .916 .583 .974 0 1 .25 .974 .25 .974 .542 +.095 .791 .048 .75 .048 1 0 .75 .198 .791 .147 .791 .147 1 .25 .791 .224 .791 +.224 1 .319 .791 .285 .791 .285 1 .392 .791 .356 .791 .356 1 .554 .791 .473 +.791 .473 1 .649 .791 .602 .791 .602 1 .742 .791 .695 .791 .695 1 .837 .791 +.789 .791 .789 1 .883 .791 .86 .791 .86 1 .948 .792 .916 .791 .916 1 1 .75 +.974 .792 .974 1 .071 .146 .071 .291 .048 .146 .095 .146 .071 0 .071 .437 +.095 .437 .024 0 .024 .146 .048 .416 .024 .396 .024 .271 .071 .562 0 .375 +.024 .521 0 .125 .173 .146 .173 .291 .147 .146 .198 .146 .173 0 .173 .437 +.198 .437 .121 0 .121 .146 .147 .437 .121 .437 .121 .291 .173 .582 .121 .582 +.237 .146 .237 .291 .224 .146 .25 .146 .237 0 .237 .437 .25 .437 .211 0 .211 +.146 .224 .437 .211 .437 .211 .291 .237 .582 .211 .582 .302 .146 .302 .291 +.285 .146 .319 .146 .302 0 .302 .437 .319 .437 .267 0 .267 .146 .285 .437 +.267 .437 .267 .291 .302 .582 .267 .582 .374 .146 .374 .291 .356 .146 .392 +.146 .374 0 .374 .437 .392 .437 .338 0 .338 .146 .356 .437 .338 .437 .338 +.291 .374 .582 .338 .582 .514 .146 .514 .291 .473 .146 .554 .146 .514 0 .514 +.437 .554 .437 .433 0 .433 .146 .473 .437 .433 .437 .433 .291 .514 .582 .433 +.582 .625 .146 .625 .291 .602 .146 .649 .146 .625 0 .625 .437 .649 .437 .578 +0 .578 .146 .602 .437 .578 .437 .578 .291 .625 .582 .578 .582 .719 .146 .719 +.291 .695 .146 .742 .146 .719 0 .719 .437 .742 .437 .672 0 .672 .146 .695 +.437 .672 .437 .672 .291 .719 .582 .672 .582 .813 .146 .813 .291 .789 .146 +.837 .146 .813 0 .813 .437 .837 .437 .765 0 .765 .146 .789 .437 .765 .437 +.765 .291 .813 .582 .765 .582 .872 .146 .872 .291 .86 .146 .883 .146 .872 +0 .872 .437 .883 .437 .848 0 .848 .146 .86 .437 .848 .437 .848 .291 .872 .583 +.848 .583 .932 .146 .932 .292 .916 .146 .948 .146 .932 0 .932 .438 .948 .438 +.899 0 .899 .146 .916 .438 .899 .437 .899 .292 .932 .584 .899 .583 .987 .125 +.987 .25 .974 .125 1 .125 .987 0 .987 .375 1 .375 .961 0 .961 .125 .974 .396 +.961 .417 .961 .271 .987 .521 .961 .563 .071 .666 .071 .771 .048 .646 .095 +.687 .071 .875 .095 .896 .024 .625 .048 .875 .024 .875 .024 .75 .071 1 0 .875 +.024 1 0 .625 .173 .687 .173 .791 .147 .687 .198 .687 .173 .896 .198 .896 +.121 .687 .147 .896 .121 .896 .121 .791 .173 1 .121 1 .237 .687 .237 .791 +.224 .687 .25 .687 .237 .896 .25 .896 .211 .687 .224 .896 .211 .896 .211 .791 +.237 1 .211 1 .302 .687 .302 .791 .285 .687 .319 .687 .302 .896 .319 .896 +.267 .687 .285 .896 .267 .896 .267 .791 .302 1 .267 1 .374 .687 .374 .791 +.356 .687 .392 .687 .374 .896 .392 .896 .338 .687 .356 .896 .338 .896 .338 +.791 .374 1 .338 1 .514 .687 .514 .791 .473 .687 .554 .687 .514 .896 .554 +.896 .433 .687 .473 .896 .433 .896 .433 .791 .514 1 .433 1 .625 .687 .625 +.791 .602 .687 .649 .687 .625 .896 .649 .896 .578 .687 .602 .896 .578 .896 +.578 .791 .625 1 .578 1 .719 .687 .719 .791 .695 .687 .742 .687 .719 .896 +.742 .896 .672 .687 .695 .896 .672 .896 .672 .791 .719 1 .672 1 .813 .687 +.813 .791 .789 .687 .837 .687 .813 .896 .837 .896 .765 .687 .789 .896 .765 +.896 .765 .791 .813 1 .765 1 .872 .687 .872 .791 .86 .687 .883 .687 .872 .896 +.883 .896 .848 .687 .86 .896 .848 .896 .848 .791 .872 1 .848 1 .932 .688 .932 +.792 .916 .687 .948 .688 .932 .896 .948 .896 .899 .687 .916 .896 .899 .896 +.899 .791 .932 1 .899 1 .987 .646 .987 .771 .974 .667 1 .625 .987 .896 1 .875 +.961 .688 .974 .896 .961 .896 .961 .792 .987 1 .961 1 ] } + } + } + ] + } + DEF dad_Hills2 Transform { + rotation 0 -1 0 1.571 + children [ + DEF Hills2 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "cliff.jpg" + ] + } + textureTransform TextureTransform { + scale 10 1 + } + material USE White + } + geometry DEF Hills2_Geo IndexedFaceSet { + creaseAngle 3.000 +coordIndex [ 213 214 215 -1 73 214 213 -1 74 215 214 -1 72 213 215 -1 216 213 +217 -1 73 213 216 -1 72 217 213 -1 1 216 217 -1 218 214 219 -1 74 214 218 +-1 73 219 214 -1 2 218 219 -1 220 215 221 -1 72 215 220 -1 74 221 215 -1 0 220 +221 -1 222 223 224 -1 75 223 222 -1 76 224 223 -1 74 222 224 -1 225 222 218 +-1 75 222 225 -1 74 218 222 -1 2 225 218 -1 226 223 227 -1 76 223 226 -1 75 +227 223 -1 3 226 227 -1 221 224 228 -1 74 224 221 -1 76 228 224 -1 0 221 228 +-1 229 230 231 -1 78 230 229 -1 79 231 230 -1 77 229 231 -1 232 229 233 -1 78 +229 232 -1 77 233 229 -1 4 232 233 -1 234 230 235 -1 79 230 234 -1 78 235 230 +-1 5 234 235 -1 236 231 237 -1 77 231 236 -1 79 237 231 -1 1 236 237 -1 238 +239 240 -1 80 239 238 -1 73 240 239 -1 79 238 240 -1 241 238 234 -1 80 238 241 +-1 79 234 238 -1 5 241 234 -1 219 239 242 -1 73 239 219 -1 80 242 239 -1 2 219 +242 -1 237 240 216 -1 79 240 237 -1 73 216 240 -1 1 237 216 -1 243 244 245 +-1 82 244 243 -1 83 245 244 -1 81 243 245 -1 246 243 247 -1 82 243 246 -1 81 +247 243 -1 6 246 247 -1 248 244 249 -1 83 244 248 -1 82 249 244 -1 7 248 249 +-1 250 245 251 -1 81 245 250 -1 83 251 245 -1 4 250 251 -1 252 253 254 -1 84 +253 252 -1 78 254 253 -1 83 252 254 -1 255 252 248 -1 84 252 255 -1 83 248 252 +-1 7 255 248 -1 235 253 256 -1 78 253 235 -1 84 256 253 -1 5 235 256 -1 251 +254 232 -1 83 254 251 -1 78 232 254 -1 4 251 232 -1 257 258 259 -1 86 258 257 +-1 87 259 258 -1 85 257 259 -1 260 257 261 -1 86 257 260 -1 85 261 257 -1 8 +260 261 -1 262 258 263 -1 87 258 262 -1 86 263 258 -1 9 262 263 -1 264 259 265 +-1 85 259 264 -1 87 265 259 -1 6 264 265 -1 266 267 268 -1 88 267 266 -1 82 +268 267 -1 87 266 268 -1 269 266 262 -1 88 266 269 -1 87 262 266 -1 9 269 262 +-1 249 267 270 -1 82 267 249 -1 88 270 267 -1 7 249 270 -1 265 268 246 -1 87 +268 265 -1 82 246 268 -1 6 265 246 -1 271 272 273 -1 90 272 271 -1 91 273 272 +-1 89 271 273 -1 274 271 275 -1 90 271 274 -1 89 275 271 -1 10 274 275 -1 276 +272 277 -1 91 272 276 -1 90 277 272 -1 11 276 277 -1 278 273 279 -1 89 273 278 +-1 91 279 273 -1 8 278 279 -1 280 281 282 -1 92 281 280 -1 86 282 281 -1 91 +280 282 -1 283 280 276 -1 92 280 283 -1 91 276 280 -1 11 283 276 -1 263 281 +284 -1 86 281 263 -1 92 284 281 -1 9 263 284 -1 279 282 260 -1 91 282 279 +-1 86 260 282 -1 8 279 260 -1 285 286 287 -1 94 286 285 -1 95 287 286 -1 93 +285 287 -1 288 285 289 -1 94 285 288 -1 93 289 285 -1 12 288 289 -1 290 286 +291 -1 95 286 290 -1 94 291 286 -1 13 290 291 -1 292 287 293 -1 93 287 292 +-1 95 293 287 -1 10 292 293 -1 294 295 296 -1 96 295 294 -1 90 296 295 -1 95 +294 296 -1 297 294 290 -1 96 294 297 -1 95 290 294 -1 13 297 290 -1 277 295 +298 -1 90 295 277 -1 96 298 295 -1 11 277 298 -1 293 296 274 -1 95 296 293 +-1 90 274 296 -1 10 293 274 -1 299 300 301 -1 98 300 299 -1 99 301 300 -1 97 +299 301 -1 302 299 303 -1 98 299 302 -1 97 303 299 -1 14 302 303 -1 304 300 +305 -1 99 300 304 -1 98 305 300 -1 15 304 305 -1 306 301 307 -1 97 301 306 +-1 99 307 301 -1 12 306 307 -1 308 309 310 -1 100 309 308 -1 94 310 309 -1 99 +308 310 -1 311 308 304 -1 100 308 311 -1 99 304 308 -1 15 311 304 -1 291 309 +312 -1 94 309 291 -1 100 312 309 -1 13 291 312 -1 307 310 288 -1 99 310 307 +-1 94 288 310 -1 12 307 288 -1 313 314 315 -1 102 314 313 -1 103 315 314 -1 +101 313 315 -1 316 313 317 -1 102 313 316 -1 101 317 313 -1 16 316 317 -1 318 +314 319 -1 103 314 318 -1 102 319 314 -1 17 318 319 -1 320 315 321 -1 101 315 +320 -1 103 321 315 -1 14 320 321 -1 322 323 324 -1 104 323 322 -1 98 324 323 +-1 103 322 324 -1 325 322 318 -1 104 322 325 -1 103 318 322 -1 17 325 318 +-1 305 323 326 -1 98 323 305 -1 104 326 323 -1 15 305 326 -1 321 324 302 -1 +103 324 321 -1 98 302 324 -1 14 321 302 -1 327 328 329 -1 106 328 327 -1 107 +329 328 -1 105 327 329 -1 330 327 331 -1 106 327 330 -1 105 331 327 -1 18 330 +331 -1 332 328 333 -1 107 328 332 -1 106 333 328 -1 19 332 333 -1 334 329 335 +-1 105 329 334 -1 107 335 329 -1 16 334 335 -1 336 337 338 -1 108 337 336 +-1 102 338 337 -1 107 336 338 -1 339 336 332 -1 108 336 339 -1 107 332 336 +-1 19 339 332 -1 319 337 340 -1 102 337 319 -1 108 340 337 -1 17 319 340 -1 +335 338 316 -1 107 338 335 -1 102 316 338 -1 16 335 316 -1 341 342 343 -1 110 +342 341 -1 111 343 342 -1 109 341 343 -1 344 341 345 -1 110 341 344 -1 109 345 +341 -1 20 344 345 -1 346 342 347 -1 111 342 346 -1 110 347 342 -1 21 346 347 +-1 348 343 349 -1 109 343 348 -1 111 349 343 -1 18 348 349 -1 350 351 352 +-1 112 351 350 -1 106 352 351 -1 111 350 352 -1 353 350 346 -1 112 350 353 +-1 111 346 350 -1 21 353 346 -1 333 351 354 -1 106 351 333 -1 112 354 351 +-1 19 333 354 -1 349 352 330 -1 111 352 349 -1 106 330 352 -1 18 349 330 -1 +355 356 357 -1 114 356 355 -1 115 357 356 -1 113 355 357 -1 358 355 359 -1 114 +355 358 -1 113 359 355 -1 22 358 359 -1 360 356 361 -1 115 356 360 -1 114 361 +356 -1 23 360 361 -1 362 357 363 -1 113 357 362 -1 115 363 357 -1 20 362 363 +-1 364 365 366 -1 116 365 364 -1 110 366 365 -1 115 364 366 -1 367 364 360 +-1 116 364 367 -1 115 360 364 -1 23 367 360 -1 347 365 368 -1 110 365 347 +-1 116 368 365 -1 21 347 368 -1 363 366 344 -1 115 366 363 -1 110 344 366 +-1 20 363 344 -1 369 370 371 -1 118 370 369 -1 119 371 370 -1 117 369 371 +-1 372 369 373 -1 118 369 372 -1 117 373 369 -1 24 372 373 -1 374 370 375 +-1 119 370 374 -1 118 375 370 -1 25 374 375 -1 376 371 377 -1 117 371 376 +-1 119 377 371 -1 22 376 377 -1 378 379 380 -1 120 379 378 -1 114 380 379 +-1 119 378 380 -1 381 378 374 -1 120 378 381 -1 119 374 378 -1 25 381 374 +-1 361 379 382 -1 114 379 361 -1 120 382 379 -1 23 361 382 -1 377 380 358 +-1 119 380 377 -1 114 358 380 -1 22 377 358 -1 383 384 385 -1 122 384 383 +-1 123 385 384 -1 121 383 385 -1 386 383 387 -1 122 383 386 -1 121 387 383 +-1 26 386 387 -1 388 384 389 -1 123 384 388 -1 122 389 384 -1 27 388 389 -1 +390 385 391 -1 121 385 390 -1 123 391 385 -1 24 390 391 -1 392 393 394 -1 124 +393 392 -1 118 394 393 -1 123 392 394 -1 395 392 388 -1 124 392 395 -1 123 388 +392 -1 27 395 388 -1 375 393 396 -1 118 393 375 -1 124 396 393 -1 25 375 396 +-1 391 394 372 -1 123 394 391 -1 118 372 394 -1 24 391 372 -1 397 398 399 +-1 126 398 397 -1 127 399 398 -1 125 397 399 -1 400 397 401 -1 126 397 400 +-1 125 401 397 -1 28 400 401 -1 402 398 403 -1 127 398 402 -1 126 403 398 +-1 29 402 403 -1 404 399 405 -1 125 399 404 -1 127 405 399 -1 26 404 405 -1 +406 407 408 -1 128 407 406 -1 122 408 407 -1 127 406 408 -1 409 406 402 -1 128 +406 409 -1 127 402 406 -1 29 409 402 -1 389 407 410 -1 122 407 389 -1 128 410 +407 -1 27 389 410 -1 405 408 386 -1 127 408 405 -1 122 386 408 -1 26 405 386 +-1 411 412 413 -1 130 412 411 -1 131 413 412 -1 129 411 413 -1 414 411 415 +-1 130 411 414 -1 129 415 411 -1 30 414 415 -1 416 412 417 -1 131 412 416 +-1 130 417 412 -1 31 416 417 -1 418 413 419 -1 129 413 418 -1 131 419 413 +-1 28 418 419 -1 420 421 422 -1 132 421 420 -1 126 422 421 -1 131 420 422 +-1 423 420 416 -1 132 420 423 -1 131 416 420 -1 31 423 416 -1 403 421 424 +-1 126 421 403 -1 132 424 421 -1 29 403 424 -1 419 422 400 -1 131 422 419 +-1 126 400 422 -1 28 419 400 -1 425 426 427 -1 134 426 425 -1 135 427 426 +-1 133 425 427 -1 428 425 429 -1 134 425 428 -1 133 429 425 -1 32 428 429 +-1 430 426 431 -1 135 426 430 -1 134 431 426 -1 33 430 431 -1 432 427 433 +-1 133 427 432 -1 135 433 427 -1 30 432 433 -1 434 435 436 -1 136 435 434 +-1 130 436 435 -1 135 434 436 -1 437 434 430 -1 136 434 437 -1 135 430 434 +-1 33 437 430 -1 417 435 438 -1 130 435 417 -1 136 438 435 -1 31 417 438 -1 +433 436 414 -1 135 436 433 -1 130 414 436 -1 30 433 414 -1 439 440 441 -1 138 +440 439 -1 139 441 440 -1 137 439 441 -1 442 439 443 -1 138 439 442 -1 137 443 +439 -1 34 442 443 -1 444 440 445 -1 139 440 444 -1 138 445 440 -1 35 444 445 +-1 446 441 447 -1 137 441 446 -1 139 447 441 -1 32 446 447 -1 448 449 450 +-1 140 449 448 -1 134 450 449 -1 139 448 450 -1 451 448 444 -1 140 448 451 +-1 139 444 448 -1 35 451 444 -1 431 449 452 -1 134 449 431 -1 140 452 449 +-1 33 431 452 -1 447 450 428 -1 139 450 447 -1 134 428 450 -1 32 447 428 -1 +453 454 455 -1 142 454 453 -1 143 455 454 -1 141 453 455 -1 456 453 457 -1 142 +453 456 -1 141 457 453 -1 36 456 457 -1 458 454 459 -1 143 454 458 -1 142 459 +454 -1 37 458 459 -1 460 455 461 -1 141 455 460 -1 143 461 455 -1 34 460 461 +-1 462 463 464 -1 144 463 462 -1 138 464 463 -1 143 462 464 -1 465 462 458 +-1 144 462 465 -1 143 458 462 -1 37 465 458 -1 445 463 466 -1 138 463 445 +-1 144 466 463 -1 35 445 466 -1 461 464 442 -1 143 464 461 -1 138 442 464 +-1 34 461 442 -1 467 468 469 -1 146 468 467 -1 147 469 468 -1 145 467 469 +-1 470 467 471 -1 146 467 470 -1 145 471 467 -1 38 470 471 -1 472 468 473 +-1 147 468 472 -1 146 473 468 -1 39 472 473 -1 474 469 475 -1 145 469 474 +-1 147 475 469 -1 36 474 475 -1 476 477 478 -1 148 477 476 -1 142 478 477 +-1 147 476 478 -1 479 476 472 -1 148 476 479 -1 147 472 476 -1 39 479 472 +-1 459 477 480 -1 142 477 459 -1 148 480 477 -1 37 459 480 -1 475 478 456 +-1 147 478 475 -1 142 456 478 -1 36 475 456 -1 481 482 483 -1 150 482 481 +-1 151 483 482 -1 149 481 483 -1 484 481 485 -1 150 481 484 -1 149 485 481 +-1 40 484 485 -1 486 482 487 -1 151 482 486 -1 150 487 482 -1 41 486 487 -1 +488 483 489 -1 149 483 488 -1 151 489 483 -1 38 488 489 -1 490 491 492 -1 152 +491 490 -1 146 492 491 -1 151 490 492 -1 493 490 486 -1 152 490 493 -1 151 486 +490 -1 41 493 486 -1 473 491 494 -1 146 491 473 -1 152 494 491 -1 39 473 494 +-1 489 492 470 -1 151 492 489 -1 146 470 492 -1 38 489 470 -1 495 496 497 +-1 154 496 495 -1 155 497 496 -1 153 495 497 -1 498 495 499 -1 154 495 498 +-1 153 499 495 -1 42 498 499 -1 500 496 501 -1 155 496 500 -1 154 501 496 +-1 43 500 501 -1 502 497 503 -1 153 497 502 -1 155 503 497 -1 40 502 503 -1 +504 505 506 -1 156 505 504 -1 150 506 505 -1 155 504 506 -1 507 504 500 -1 156 +504 507 -1 155 500 504 -1 43 507 500 -1 487 505 508 -1 150 505 487 -1 156 508 +505 -1 41 487 508 -1 503 506 484 -1 155 506 503 -1 150 484 506 -1 40 503 484 +-1 509 510 511 -1 158 510 509 -1 159 511 510 -1 157 509 511 -1 512 509 513 +-1 158 509 512 -1 157 513 509 -1 44 512 513 -1 514 510 515 -1 159 510 514 +-1 158 515 510 -1 45 514 515 -1 516 511 517 -1 157 511 516 -1 159 517 511 +-1 42 516 517 -1 518 519 520 -1 160 519 518 -1 154 520 519 -1 159 518 520 +-1 521 518 514 -1 160 518 521 -1 159 514 518 -1 45 521 514 -1 501 519 522 +-1 154 519 501 -1 160 522 519 -1 43 501 522 -1 517 520 498 -1 159 520 517 +-1 154 498 520 -1 42 517 498 -1 523 524 525 -1 162 524 523 -1 163 525 524 +-1 161 523 525 -1 526 523 527 -1 162 523 526 -1 161 527 523 -1 46 526 527 +-1 528 524 529 -1 163 524 528 -1 162 529 524 -1 47 528 529 -1 530 525 531 +-1 161 525 530 -1 163 531 525 -1 44 530 531 -1 532 533 534 -1 164 533 532 +-1 158 534 533 -1 163 532 534 -1 535 532 528 -1 164 532 535 -1 163 528 532 +-1 47 535 528 -1 515 533 536 -1 158 533 515 -1 164 536 533 -1 45 515 536 -1 +531 534 512 -1 163 534 531 -1 158 512 534 -1 44 531 512 -1 537 538 539 -1 166 +538 537 -1 167 539 538 -1 165 537 539 -1 540 537 541 -1 166 537 540 -1 165 541 +537 -1 48 540 541 -1 542 538 543 -1 167 538 542 -1 166 543 538 -1 49 542 543 +-1 544 539 545 -1 165 539 544 -1 167 545 539 -1 46 544 545 -1 546 547 548 +-1 168 547 546 -1 162 548 547 -1 167 546 548 -1 549 546 542 -1 168 546 549 +-1 167 542 546 -1 49 549 542 -1 529 547 550 -1 162 547 529 -1 168 550 547 +-1 47 529 550 -1 545 548 526 -1 167 548 545 -1 162 526 548 -1 46 545 526 -1 +551 552 553 -1 170 552 551 -1 171 553 552 -1 169 551 553 -1 554 551 555 -1 170 +551 554 -1 169 555 551 -1 50 554 555 -1 556 552 557 -1 171 552 556 -1 170 557 +552 -1 51 556 557 -1 558 553 559 -1 169 553 558 -1 171 559 553 -1 48 558 559 +-1 560 561 562 -1 172 561 560 -1 166 562 561 -1 171 560 562 -1 563 560 556 +-1 172 560 563 -1 171 556 560 -1 51 563 556 -1 543 561 564 -1 166 561 543 +-1 172 564 561 -1 49 543 564 -1 559 562 540 -1 171 562 559 -1 166 540 562 +-1 48 559 540 -1 565 566 567 -1 174 566 565 -1 175 567 566 -1 173 565 567 +-1 568 565 569 -1 174 565 568 -1 173 569 565 -1 52 568 569 -1 570 566 571 +-1 175 566 570 -1 174 571 566 -1 53 570 571 -1 572 567 573 -1 173 567 572 +-1 175 573 567 -1 50 572 573 -1 574 575 576 -1 176 575 574 -1 170 576 575 +-1 175 574 576 -1 577 574 570 -1 176 574 577 -1 175 570 574 -1 53 577 570 +-1 557 575 578 -1 170 575 557 -1 176 578 575 -1 51 557 578 -1 573 576 554 +-1 175 576 573 -1 170 554 576 -1 50 573 554 -1 579 580 581 -1 178 580 579 +-1 179 581 580 -1 177 579 581 -1 582 579 583 -1 178 579 582 -1 177 583 579 +-1 54 582 583 -1 584 580 585 -1 179 580 584 -1 178 585 580 -1 55 584 585 -1 +586 581 587 -1 177 581 586 -1 179 587 581 -1 52 586 587 -1 588 589 590 -1 180 +589 588 -1 174 590 589 -1 179 588 590 -1 591 588 584 -1 180 588 591 -1 179 584 +588 -1 55 591 584 -1 571 589 592 -1 174 589 571 -1 180 592 589 -1 53 571 592 +-1 587 590 568 -1 179 590 587 -1 174 568 590 -1 52 587 568 -1 593 594 595 +-1 182 594 593 -1 183 595 594 -1 181 593 595 -1 596 593 597 -1 182 593 596 +-1 181 597 593 -1 56 596 597 -1 598 594 599 -1 183 594 598 -1 182 599 594 +-1 57 598 599 -1 600 595 601 -1 181 595 600 -1 183 601 595 -1 54 600 601 -1 +602 603 604 -1 184 603 602 -1 178 604 603 -1 183 602 604 -1 605 602 598 -1 184 +602 605 -1 183 598 602 -1 57 605 598 -1 585 603 606 -1 178 603 585 -1 184 606 +603 -1 55 585 606 -1 601 604 582 -1 183 604 601 -1 178 582 604 -1 54 601 582 +-1 607 608 609 -1 186 608 607 -1 187 609 608 -1 185 607 609 -1 610 607 611 +-1 186 607 610 -1 185 611 607 -1 58 610 611 -1 612 608 613 -1 187 608 612 +-1 186 613 608 -1 59 612 613 -1 614 609 615 -1 185 609 614 -1 187 615 609 +-1 56 614 615 -1 616 617 618 -1 188 617 616 -1 182 618 617 -1 187 616 618 +-1 619 616 612 -1 188 616 619 -1 187 612 616 -1 59 619 612 -1 599 617 620 +-1 182 617 599 -1 188 620 617 -1 57 599 620 -1 615 618 596 -1 187 618 615 +-1 182 596 618 -1 56 615 596 -1 621 622 623 -1 190 622 621 -1 191 623 622 +-1 189 621 623 -1 624 621 625 -1 190 621 624 -1 189 625 621 -1 60 624 625 +-1 626 622 627 -1 191 622 626 -1 190 627 622 -1 61 626 627 -1 628 623 629 +-1 189 623 628 -1 191 629 623 -1 58 628 629 -1 630 631 632 -1 192 631 630 +-1 186 632 631 -1 191 630 632 -1 633 630 626 -1 192 630 633 -1 191 626 630 +-1 61 633 626 -1 613 631 634 -1 186 631 613 -1 192 634 631 -1 59 613 634 -1 +629 632 610 -1 191 632 629 -1 186 610 632 -1 58 629 610 -1 635 636 637 -1 194 +636 635 -1 195 637 636 -1 193 635 637 -1 638 635 639 -1 194 635 638 -1 193 639 +635 -1 62 638 639 -1 640 636 641 -1 195 636 640 -1 194 641 636 -1 63 640 641 +-1 642 637 643 -1 193 637 642 -1 195 643 637 -1 60 642 643 -1 644 645 646 +-1 196 645 644 -1 190 646 645 -1 195 644 646 -1 647 644 640 -1 196 644 647 +-1 195 640 644 -1 63 647 640 -1 627 645 648 -1 190 645 627 -1 196 648 645 +-1 61 627 648 -1 643 646 624 -1 195 646 643 -1 190 624 646 -1 60 643 624 -1 +649 650 651 -1 198 650 649 -1 199 651 650 -1 197 649 651 -1 652 649 653 -1 198 +649 652 -1 197 653 649 -1 64 652 653 -1 654 650 655 -1 199 650 654 -1 198 655 +650 -1 65 654 655 -1 656 651 657 -1 197 651 656 -1 199 657 651 -1 62 656 657 +-1 658 659 660 -1 200 659 658 -1 194 660 659 -1 199 658 660 -1 661 658 654 +-1 200 658 661 -1 199 654 658 -1 65 661 654 -1 641 659 662 -1 194 659 641 +-1 200 662 659 -1 63 641 662 -1 657 660 638 -1 199 660 657 -1 194 638 660 +-1 62 657 638 -1 663 664 665 -1 202 664 663 -1 203 665 664 -1 201 663 665 +-1 666 663 667 -1 202 663 666 -1 201 667 663 -1 66 666 667 -1 668 664 669 +-1 203 664 668 -1 202 669 664 -1 67 668 669 -1 670 665 671 -1 201 665 670 +-1 203 671 665 -1 64 670 671 -1 672 673 674 -1 204 673 672 -1 198 674 673 +-1 203 672 674 -1 675 672 668 -1 204 672 675 -1 203 668 672 -1 67 675 668 +-1 655 673 676 -1 198 673 655 -1 204 676 673 -1 65 655 676 -1 671 674 652 +-1 203 674 671 -1 198 652 674 -1 64 671 652 -1 677 678 679 -1 206 678 677 +-1 207 679 678 -1 205 677 679 -1 680 677 681 -1 206 677 680 -1 205 681 677 +-1 68 680 681 -1 682 678 683 -1 207 678 682 -1 206 683 678 -1 69 682 683 -1 +684 679 685 -1 205 679 684 -1 207 685 679 -1 66 684 685 -1 686 687 688 -1 208 +687 686 -1 202 688 687 -1 207 686 688 -1 689 686 682 -1 208 686 689 -1 207 682 +686 -1 69 689 682 -1 669 687 690 -1 202 687 669 -1 208 690 687 -1 67 669 690 +-1 685 688 666 -1 207 688 685 -1 202 666 688 -1 66 685 666 -1 691 692 693 +-1 210 692 691 -1 211 693 692 -1 209 691 693 -1 694 691 695 -1 210 691 694 +-1 209 695 691 -1 70 694 695 -1 696 692 697 -1 211 692 696 -1 210 697 692 +-1 71 696 697 -1 698 693 699 -1 209 693 698 -1 211 699 693 -1 68 698 699 -1 +700 701 702 -1 212 701 700 -1 206 702 701 -1 211 700 702 -1 703 700 696 -1 212 +700 703 -1 211 696 700 -1 71 703 696 -1 683 701 704 -1 206 701 683 -1 212 704 +701 -1 69 683 704 -1 699 702 680 -1 211 702 699 -1 206 680 702 -1 68 699 680 +-1 ] texCoordIndex +[ 213 214 215 -1 73 214 213 -1 74 215 214 -1 72 213 215 -1 216 213 217 -1 73 +213 216 -1 72 217 213 -1 1 216 217 -1 218 214 219 -1 74 214 218 -1 73 219 214 +-1 2 218 219 -1 220 215 221 -1 72 215 220 -1 74 221 215 -1 0 220 221 -1 222 +223 224 -1 75 223 222 -1 76 224 223 -1 74 222 224 -1 225 222 218 -1 75 222 225 +-1 74 218 222 -1 2 225 218 -1 226 223 227 -1 76 223 226 -1 75 227 223 -1 3 226 +227 -1 221 224 228 -1 74 224 221 -1 76 228 224 -1 0 221 228 -1 229 230 231 +-1 78 230 229 -1 79 231 230 -1 77 229 231 -1 232 229 233 -1 78 229 232 -1 77 +233 229 -1 4 232 233 -1 234 230 235 -1 79 230 234 -1 78 235 230 -1 5 234 235 +-1 236 231 237 -1 77 231 236 -1 79 237 231 -1 1 236 237 -1 238 239 240 -1 80 +239 238 -1 73 240 239 -1 79 238 240 -1 241 238 234 -1 80 238 241 -1 79 234 238 +-1 5 241 234 -1 219 239 242 -1 73 239 219 -1 80 242 239 -1 2 219 242 -1 237 +240 216 -1 79 240 237 -1 73 216 240 -1 1 237 216 -1 243 244 245 -1 82 244 243 +-1 83 245 244 -1 81 243 245 -1 246 243 247 -1 82 243 246 -1 81 247 243 -1 6 +246 247 -1 248 244 249 -1 83 244 248 -1 82 249 244 -1 7 248 249 -1 250 245 251 +-1 81 245 250 -1 83 251 245 -1 4 250 251 -1 252 253 254 -1 84 253 252 -1 78 +254 253 -1 83 252 254 -1 255 252 248 -1 84 252 255 -1 83 248 252 -1 7 255 248 +-1 235 253 256 -1 78 253 235 -1 84 256 253 -1 5 235 256 -1 251 254 232 -1 83 +254 251 -1 78 232 254 -1 4 251 232 -1 257 258 259 -1 86 258 257 -1 87 259 258 +-1 85 257 259 -1 260 257 261 -1 86 257 260 -1 85 261 257 -1 8 260 261 -1 262 +258 263 -1 87 258 262 -1 86 263 258 -1 9 262 263 -1 264 259 265 -1 85 259 264 +-1 87 265 259 -1 6 264 265 -1 266 267 268 -1 88 267 266 -1 82 268 267 -1 87 +266 268 -1 269 266 262 -1 88 266 269 -1 87 262 266 -1 9 269 262 -1 249 267 270 +-1 82 267 249 -1 88 270 267 -1 7 249 270 -1 265 268 246 -1 87 268 265 -1 82 +246 268 -1 6 265 246 -1 271 272 273 -1 90 272 271 -1 91 273 272 -1 89 271 273 +-1 274 271 275 -1 90 271 274 -1 89 275 271 -1 10 274 275 -1 276 272 277 -1 91 +272 276 -1 90 277 272 -1 11 276 277 -1 278 273 279 -1 89 273 278 -1 91 279 273 +-1 8 278 279 -1 280 281 282 -1 92 281 280 -1 86 282 281 -1 91 280 282 -1 283 +280 276 -1 92 280 283 -1 91 276 280 -1 11 283 276 -1 263 281 284 -1 86 281 263 +-1 92 284 281 -1 9 263 284 -1 279 282 260 -1 91 282 279 -1 86 260 282 -1 8 279 +260 -1 285 286 287 -1 94 286 285 -1 95 287 286 -1 93 285 287 -1 288 285 289 +-1 94 285 288 -1 93 289 285 -1 12 288 289 -1 290 286 291 -1 95 286 290 -1 94 +291 286 -1 13 290 291 -1 292 287 293 -1 93 287 292 -1 95 293 287 -1 10 292 293 +-1 294 295 296 -1 96 295 294 -1 90 296 295 -1 95 294 296 -1 297 294 290 -1 96 +294 297 -1 95 290 294 -1 13 297 290 -1 277 295 298 -1 90 295 277 -1 96 298 295 +-1 11 277 298 -1 293 296 274 -1 95 296 293 -1 90 274 296 -1 10 293 274 -1 299 +300 301 -1 98 300 299 -1 99 301 300 -1 97 299 301 -1 302 299 303 -1 98 299 302 +-1 97 303 299 -1 14 302 303 -1 304 300 305 -1 99 300 304 -1 98 305 300 -1 15 +304 305 -1 306 301 307 -1 97 301 306 -1 99 307 301 -1 12 306 307 -1 308 309 +310 -1 100 309 308 -1 94 310 309 -1 99 308 310 -1 311 308 304 -1 100 308 311 +-1 99 304 308 -1 15 311 304 -1 291 309 312 -1 94 309 291 -1 100 312 309 -1 13 +291 312 -1 307 310 288 -1 99 310 307 -1 94 288 310 -1 12 307 288 -1 313 314 +315 -1 102 314 313 -1 103 315 314 -1 101 313 315 -1 316 313 317 -1 102 313 316 +-1 101 317 313 -1 16 316 317 -1 318 314 319 -1 103 314 318 -1 102 319 314 +-1 17 318 319 -1 320 315 321 -1 101 315 320 -1 103 321 315 -1 14 320 321 -1 +322 323 324 -1 104 323 322 -1 98 324 323 -1 103 322 324 -1 325 322 318 -1 104 +322 325 -1 103 318 322 -1 17 325 318 -1 305 323 326 -1 98 323 305 -1 104 326 +323 -1 15 305 326 -1 321 324 302 -1 103 324 321 -1 98 302 324 -1 14 321 302 +-1 327 328 329 -1 106 328 327 -1 107 329 328 -1 105 327 329 -1 330 327 331 +-1 106 327 330 -1 105 331 327 -1 18 330 331 -1 332 328 333 -1 107 328 332 +-1 106 333 328 -1 19 332 333 -1 334 329 335 -1 105 329 334 -1 107 335 329 +-1 16 334 335 -1 336 337 338 -1 108 337 336 -1 102 338 337 -1 107 336 338 +-1 339 336 332 -1 108 336 339 -1 107 332 336 -1 19 339 332 -1 319 337 340 +-1 102 337 319 -1 108 340 337 -1 17 319 340 -1 335 338 316 -1 107 338 335 +-1 102 316 338 -1 16 335 316 -1 341 342 343 -1 110 342 341 -1 111 343 342 +-1 109 341 343 -1 344 341 345 -1 110 341 344 -1 109 345 341 -1 20 344 345 +-1 346 342 347 -1 111 342 346 -1 110 347 342 -1 21 346 347 -1 348 343 349 +-1 109 343 348 -1 111 349 343 -1 18 348 349 -1 350 351 352 -1 112 351 350 +-1 106 352 351 -1 111 350 352 -1 353 350 346 -1 112 350 353 -1 111 346 350 +-1 21 353 346 -1 333 351 354 -1 106 351 333 -1 112 354 351 -1 19 333 354 -1 +349 352 330 -1 111 352 349 -1 106 330 352 -1 18 349 330 -1 355 356 357 -1 114 +356 355 -1 115 357 356 -1 113 355 357 -1 358 355 359 -1 114 355 358 -1 113 359 +355 -1 22 358 359 -1 360 356 361 -1 115 356 360 -1 114 361 356 -1 23 360 361 +-1 362 357 363 -1 113 357 362 -1 115 363 357 -1 20 362 363 -1 364 365 366 +-1 116 365 364 -1 110 366 365 -1 115 364 366 -1 367 364 360 -1 116 364 367 +-1 115 360 364 -1 23 367 360 -1 347 365 368 -1 110 365 347 -1 116 368 365 +-1 21 347 368 -1 363 366 344 -1 115 366 363 -1 110 344 366 -1 20 363 344 -1 +369 370 371 -1 118 370 369 -1 119 371 370 -1 117 369 371 -1 372 369 373 -1 118 +369 372 -1 117 373 369 -1 24 372 373 -1 374 370 375 -1 119 370 374 -1 118 375 +370 -1 25 374 375 -1 376 371 377 -1 117 371 376 -1 119 377 371 -1 22 376 377 +-1 378 379 380 -1 120 379 378 -1 114 380 379 -1 119 378 380 -1 381 378 374 +-1 120 378 381 -1 119 374 378 -1 25 381 374 -1 361 379 382 -1 114 379 361 +-1 120 382 379 -1 23 361 382 -1 377 380 358 -1 119 380 377 -1 114 358 380 +-1 22 377 358 -1 383 384 385 -1 122 384 383 -1 123 385 384 -1 121 383 385 +-1 386 383 387 -1 122 383 386 -1 121 387 383 -1 26 386 387 -1 388 384 389 +-1 123 384 388 -1 122 389 384 -1 27 388 389 -1 390 385 391 -1 121 385 390 +-1 123 391 385 -1 24 390 391 -1 392 393 394 -1 124 393 392 -1 118 394 393 +-1 123 392 394 -1 395 392 388 -1 124 392 395 -1 123 388 392 -1 27 395 388 +-1 375 393 396 -1 118 393 375 -1 124 396 393 -1 25 375 396 -1 391 394 372 +-1 123 394 391 -1 118 372 394 -1 24 391 372 -1 397 398 399 -1 126 398 397 +-1 127 399 398 -1 125 397 399 -1 400 397 401 -1 126 397 400 -1 125 401 397 +-1 28 400 401 -1 402 398 403 -1 127 398 402 -1 126 403 398 -1 29 402 403 -1 +404 399 405 -1 125 399 404 -1 127 405 399 -1 26 404 405 -1 406 407 408 -1 128 +407 406 -1 122 408 407 -1 127 406 408 -1 409 406 402 -1 128 406 409 -1 127 402 +406 -1 29 409 402 -1 389 407 410 -1 122 407 389 -1 128 410 407 -1 27 389 410 +-1 405 408 386 -1 127 408 405 -1 122 386 408 -1 26 405 386 -1 411 412 413 +-1 130 412 411 -1 131 413 412 -1 129 411 413 -1 414 411 415 -1 130 411 414 +-1 129 415 411 -1 30 414 415 -1 416 412 417 -1 131 412 416 -1 130 417 412 +-1 31 416 417 -1 418 413 419 -1 129 413 418 -1 131 419 413 -1 28 418 419 -1 +420 421 422 -1 132 421 420 -1 126 422 421 -1 131 420 422 -1 423 420 416 -1 132 +420 423 -1 131 416 420 -1 31 423 416 -1 403 421 424 -1 126 421 403 -1 132 424 +421 -1 29 403 424 -1 419 422 400 -1 131 422 419 -1 126 400 422 -1 28 419 400 +-1 425 426 427 -1 134 426 425 -1 135 427 426 -1 133 425 427 -1 428 425 429 +-1 134 425 428 -1 133 429 425 -1 32 428 429 -1 430 426 431 -1 135 426 430 +-1 134 431 426 -1 33 430 431 -1 432 427 433 -1 133 427 432 -1 135 433 427 +-1 30 432 433 -1 434 435 436 -1 136 435 434 -1 130 436 435 -1 135 434 436 +-1 437 434 430 -1 136 434 437 -1 135 430 434 -1 33 437 430 -1 417 435 438 +-1 130 435 417 -1 136 438 435 -1 31 417 438 -1 433 436 414 -1 135 436 433 +-1 130 414 436 -1 30 433 414 -1 439 440 441 -1 138 440 439 -1 139 441 440 +-1 137 439 441 -1 442 439 443 -1 138 439 442 -1 137 443 439 -1 34 442 443 +-1 444 440 445 -1 139 440 444 -1 138 445 440 -1 35 444 445 -1 446 441 447 +-1 137 441 446 -1 139 447 441 -1 32 446 447 -1 448 449 450 -1 140 449 448 +-1 134 450 449 -1 139 448 450 -1 451 448 444 -1 140 448 451 -1 139 444 448 +-1 35 451 444 -1 431 449 452 -1 134 449 431 -1 140 452 449 -1 33 431 452 -1 +447 450 428 -1 139 450 447 -1 134 428 450 -1 32 447 428 -1 453 454 455 -1 142 +454 453 -1 143 455 454 -1 141 453 455 -1 456 453 457 -1 142 453 456 -1 141 457 +453 -1 36 456 457 -1 458 454 459 -1 143 454 458 -1 142 459 454 -1 37 458 459 +-1 460 455 461 -1 141 455 460 -1 143 461 455 -1 34 460 461 -1 462 463 464 +-1 144 463 462 -1 138 464 463 -1 143 462 464 -1 465 462 458 -1 144 462 465 +-1 143 458 462 -1 37 465 458 -1 445 463 466 -1 138 463 445 -1 144 466 463 +-1 35 445 466 -1 461 464 442 -1 143 464 461 -1 138 442 464 -1 34 461 442 -1 +467 468 469 -1 146 468 467 -1 147 469 468 -1 145 467 469 -1 470 467 471 -1 146 +467 470 -1 145 471 467 -1 38 470 471 -1 472 468 473 -1 147 468 472 -1 146 473 +468 -1 39 472 473 -1 474 469 475 -1 145 469 474 -1 147 475 469 -1 36 474 475 +-1 476 477 478 -1 148 477 476 -1 142 478 477 -1 147 476 478 -1 479 476 472 +-1 148 476 479 -1 147 472 476 -1 39 479 472 -1 459 477 480 -1 142 477 459 +-1 148 480 477 -1 37 459 480 -1 475 478 456 -1 147 478 475 -1 142 456 478 +-1 36 475 456 -1 481 482 483 -1 150 482 481 -1 151 483 482 -1 149 481 483 +-1 484 481 485 -1 150 481 484 -1 149 485 481 -1 40 484 485 -1 486 482 487 +-1 151 482 486 -1 150 487 482 -1 41 486 487 -1 488 483 489 -1 149 483 488 +-1 151 489 483 -1 38 488 489 -1 490 491 492 -1 152 491 490 -1 146 492 491 +-1 151 490 492 -1 493 490 486 -1 152 490 493 -1 151 486 490 -1 41 493 486 +-1 473 491 494 -1 146 491 473 -1 152 494 491 -1 39 473 494 -1 489 492 470 +-1 151 492 489 -1 146 470 492 -1 38 489 470 -1 495 496 497 -1 154 496 495 +-1 155 497 496 -1 153 495 497 -1 498 495 499 -1 154 495 498 -1 153 499 495 +-1 42 498 499 -1 500 496 501 -1 155 496 500 -1 154 501 496 -1 43 500 501 -1 +502 497 503 -1 153 497 502 -1 155 503 497 -1 40 502 503 -1 504 505 506 -1 156 +505 504 -1 150 506 505 -1 155 504 506 -1 507 504 500 -1 156 504 507 -1 155 500 +504 -1 43 507 500 -1 487 505 508 -1 150 505 487 -1 156 508 505 -1 41 487 508 +-1 503 506 484 -1 155 506 503 -1 150 484 506 -1 40 503 484 -1 509 510 511 +-1 158 510 509 -1 159 511 510 -1 157 509 511 -1 512 509 513 -1 158 509 512 +-1 157 513 509 -1 44 512 513 -1 514 510 515 -1 159 510 514 -1 158 515 510 +-1 45 514 515 -1 516 511 517 -1 157 511 516 -1 159 517 511 -1 42 516 517 -1 +518 519 520 -1 160 519 518 -1 154 520 519 -1 159 518 520 -1 521 518 514 -1 160 +518 521 -1 159 514 518 -1 45 521 514 -1 501 519 522 -1 154 519 501 -1 160 522 +519 -1 43 501 522 -1 517 520 498 -1 159 520 517 -1 154 498 520 -1 42 517 498 +-1 523 524 525 -1 162 524 523 -1 163 525 524 -1 161 523 525 -1 526 523 527 +-1 162 523 526 -1 161 527 523 -1 46 526 527 -1 528 524 529 -1 163 524 528 +-1 162 529 524 -1 47 528 529 -1 530 525 531 -1 161 525 530 -1 163 531 525 +-1 44 530 531 -1 532 533 534 -1 164 533 532 -1 158 534 533 -1 163 532 534 +-1 535 532 528 -1 164 532 535 -1 163 528 532 -1 47 535 528 -1 515 533 536 +-1 158 533 515 -1 164 536 533 -1 45 515 536 -1 531 534 512 -1 163 534 531 +-1 158 512 534 -1 44 531 512 -1 537 538 539 -1 166 538 537 -1 167 539 538 +-1 165 537 539 -1 540 537 541 -1 166 537 540 -1 165 541 537 -1 48 540 541 +-1 542 538 543 -1 167 538 542 -1 166 543 538 -1 49 542 543 -1 544 539 545 +-1 165 539 544 -1 167 545 539 -1 46 544 545 -1 546 547 548 -1 168 547 546 +-1 162 548 547 -1 167 546 548 -1 549 546 542 -1 168 546 549 -1 167 542 546 +-1 49 549 542 -1 529 547 550 -1 162 547 529 -1 168 550 547 -1 47 529 550 -1 +545 548 526 -1 167 548 545 -1 162 526 548 -1 46 545 526 -1 551 552 553 -1 170 +552 551 -1 171 553 552 -1 169 551 553 -1 554 551 555 -1 170 551 554 -1 169 555 +551 -1 50 554 555 -1 556 552 557 -1 171 552 556 -1 170 557 552 -1 51 556 557 +-1 558 553 559 -1 169 553 558 -1 171 559 553 -1 48 558 559 -1 560 561 562 +-1 172 561 560 -1 166 562 561 -1 171 560 562 -1 563 560 556 -1 172 560 563 +-1 171 556 560 -1 51 563 556 -1 543 561 564 -1 166 561 543 -1 172 564 561 +-1 49 543 564 -1 559 562 540 -1 171 562 559 -1 166 540 562 -1 48 559 540 -1 +565 566 567 -1 174 566 565 -1 175 567 566 -1 173 565 567 -1 568 565 569 -1 174 +565 568 -1 173 569 565 -1 52 568 569 -1 570 566 571 -1 175 566 570 -1 174 571 +566 -1 53 570 571 -1 572 567 573 -1 173 567 572 -1 175 573 567 -1 50 572 573 +-1 574 575 576 -1 176 575 574 -1 170 576 575 -1 175 574 576 -1 577 574 570 +-1 176 574 577 -1 175 570 574 -1 53 577 570 -1 557 575 578 -1 170 575 557 +-1 176 578 575 -1 51 557 578 -1 573 576 554 -1 175 576 573 -1 170 554 576 +-1 50 573 554 -1 579 580 581 -1 178 580 579 -1 179 581 580 -1 177 579 581 +-1 582 579 583 -1 178 579 582 -1 177 583 579 -1 54 582 583 -1 584 580 585 +-1 179 580 584 -1 178 585 580 -1 55 584 585 -1 586 581 587 -1 177 581 586 +-1 179 587 581 -1 52 586 587 -1 588 589 590 -1 180 589 588 -1 174 590 589 +-1 179 588 590 -1 591 588 584 -1 180 588 591 -1 179 584 588 -1 55 591 584 +-1 571 589 592 -1 174 589 571 -1 180 592 589 -1 53 571 592 -1 587 590 568 +-1 179 590 587 -1 174 568 590 -1 52 587 568 -1 593 594 595 -1 182 594 593 +-1 183 595 594 -1 181 593 595 -1 596 593 597 -1 182 593 596 -1 181 597 593 +-1 56 596 597 -1 598 594 599 -1 183 594 598 -1 182 599 594 -1 57 598 599 -1 +600 595 601 -1 181 595 600 -1 183 601 595 -1 54 600 601 -1 602 603 604 -1 184 +603 602 -1 178 604 603 -1 183 602 604 -1 605 602 598 -1 184 602 605 -1 183 598 +602 -1 57 605 598 -1 585 603 606 -1 178 603 585 -1 184 606 603 -1 55 585 606 +-1 601 604 582 -1 183 604 601 -1 178 582 604 -1 54 601 582 -1 607 608 609 +-1 186 608 607 -1 187 609 608 -1 185 607 609 -1 610 607 611 -1 186 607 610 +-1 185 611 607 -1 58 610 611 -1 612 608 613 -1 187 608 612 -1 186 613 608 +-1 59 612 613 -1 614 609 615 -1 185 609 614 -1 187 615 609 -1 56 614 615 -1 +616 617 618 -1 188 617 616 -1 182 618 617 -1 187 616 618 -1 619 616 612 -1 188 +616 619 -1 187 612 616 -1 59 619 612 -1 599 617 620 -1 182 617 599 -1 188 620 +617 -1 57 599 620 -1 615 618 596 -1 187 618 615 -1 182 596 618 -1 56 615 596 +-1 621 622 623 -1 190 622 621 -1 191 623 622 -1 189 621 623 -1 624 621 625 +-1 190 621 624 -1 189 625 621 -1 60 624 625 -1 626 622 627 -1 191 622 626 +-1 190 627 622 -1 61 626 627 -1 628 623 629 -1 189 623 628 -1 191 629 623 +-1 58 628 629 -1 630 631 632 -1 192 631 630 -1 186 632 631 -1 191 630 632 +-1 633 630 626 -1 192 630 633 -1 191 626 630 -1 61 633 626 -1 613 631 634 +-1 186 631 613 -1 192 634 631 -1 59 613 634 -1 629 632 610 -1 191 632 629 +-1 186 610 632 -1 58 629 610 -1 635 636 637 -1 194 636 635 -1 195 637 636 +-1 193 635 637 -1 638 635 639 -1 194 635 638 -1 193 639 635 -1 62 638 639 +-1 640 636 641 -1 195 636 640 -1 194 641 636 -1 63 640 641 -1 642 637 643 +-1 193 637 642 -1 195 643 637 -1 60 642 643 -1 644 645 646 -1 196 645 644 +-1 190 646 645 -1 195 644 646 -1 647 644 640 -1 196 644 647 -1 195 640 644 +-1 63 647 640 -1 627 645 648 -1 190 645 627 -1 196 648 645 -1 61 627 648 -1 +643 646 624 -1 195 646 643 -1 190 624 646 -1 60 643 624 -1 649 650 651 -1 198 +650 649 -1 199 651 650 -1 197 649 651 -1 652 649 653 -1 198 649 652 -1 197 653 +649 -1 64 652 653 -1 654 650 655 -1 199 650 654 -1 198 655 650 -1 65 654 655 +-1 656 651 657 -1 197 651 656 -1 199 657 651 -1 62 656 657 -1 658 659 660 +-1 200 659 658 -1 194 660 659 -1 199 658 660 -1 661 658 654 -1 200 658 661 +-1 199 654 658 -1 65 661 654 -1 641 659 662 -1 194 659 641 -1 200 662 659 +-1 63 641 662 -1 657 660 638 -1 199 660 657 -1 194 638 660 -1 62 657 638 -1 +663 664 665 -1 202 664 663 -1 203 665 664 -1 201 663 665 -1 666 663 667 -1 202 +663 666 -1 201 667 663 -1 66 666 667 -1 668 664 669 -1 203 664 668 -1 202 669 +664 -1 67 668 669 -1 670 665 671 -1 201 665 670 -1 203 671 665 -1 64 670 671 +-1 672 673 674 -1 204 673 672 -1 198 674 673 -1 203 672 674 -1 675 672 668 +-1 204 672 675 -1 203 668 672 -1 67 675 668 -1 655 673 676 -1 198 673 655 +-1 204 676 673 -1 65 655 676 -1 671 674 652 -1 203 674 671 -1 198 652 674 +-1 64 671 652 -1 677 678 679 -1 206 678 677 -1 207 679 678 -1 205 677 679 +-1 680 677 681 -1 206 677 680 -1 205 681 677 -1 68 680 681 -1 682 678 683 +-1 207 678 682 -1 206 683 678 -1 69 682 683 -1 684 679 685 -1 205 679 684 +-1 207 685 679 -1 66 684 685 -1 686 687 688 -1 208 687 686 -1 202 688 687 +-1 207 686 688 -1 689 686 682 -1 208 686 689 -1 207 682 686 -1 69 689 682 +-1 669 687 690 -1 202 687 669 -1 208 690 687 -1 67 669 690 -1 685 688 666 +-1 207 688 685 -1 202 666 688 -1 66 685 666 -1 691 692 693 -1 210 692 691 +-1 211 693 692 -1 209 691 693 -1 694 691 695 -1 210 691 694 -1 209 695 691 +-1 70 694 695 -1 696 692 697 -1 211 692 696 -1 210 697 692 -1 71 696 697 -1 +698 693 699 -1 209 693 698 -1 211 699 693 -1 68 698 699 -1 700 701 702 -1 212 +701 700 -1 206 702 701 -1 211 700 702 -1 703 700 696 -1 212 700 703 -1 211 696 +700 -1 71 703 696 -1 683 701 704 -1 206 701 683 -1 212 704 701 -1 69 683 704 +-1 699 702 680 -1 211 702 699 -1 206 680 702 -1 68 699 680 -1 ] +coord DEF +Hills2_Coord Coordinate { +point [ -230 0 250 -210 0 240 -250 40 240 -250 20 250 -200 0 220 -250 50 220 +-220 0 210 -250 30 210 -200 0 200 -250 50 200 -190 0 190 -250 60 190 -210 +0 180 -250 40 180 -220 0 160 -250 30 160 -210 0 140 -250 40 140 -190 0 130 +-250 60 130 -200 0 110 -250 50 110 -190 0 100 -250 60 100 -210 0 90 -250 40 +90 -220 0 70 -250 30 70 -190 0 50 -250 60 50 -200 0 40 -250 50 40 -220 0 30 +-250 30 30 -210 0 20 -250 40 20 -180 0 10 -250 70 10 -190 0 0 -250 60 0 -210 +0 -10 -250 40 -10 -200 0 -40 -250 50 -40 -190 0 -50 -250 60 -50 -230 0 -70 +-250 20 -70 -210 0 -80 -250 40 -80 -200 0 -90 -250 50 -90 -210 0 -110 -250 +40 -110 -200 0 -120 -250 50 -120 -220 0 -130 -250 30 -130 -180 0 -160 -250 +70 -160 -170 0 -180 -250 80 -180 -210 0 -190 -250 40 -190 -220 0 -200 -250 +30 -200 -210 0 -220 -250 40 -220 -200 0 -230 -250 50 -230 -240 0 -240 -250 +10 -240 -215.41667 -5.625 246.45833 -231.875 22.5 240.625 -242.91667 22.5 +245.20833 -248.75 25.625 247.5 -242.91667 12.5 250.20833 -199.375 -4.375 230.625 +-226.25 28.125 219.375 -231.875 28.125 229.375 -250 47.5 230 -205 -6.25 215.625 +-239.375 16.875 210 -226.25 16.875 213.75 -250 39.375 214.375 -205 -5.625 +205.625 -227.5 28.125 200 -239.375 28.125 204.375 -250 38.125 205 -188.125 +-5.625 195.625 -221.875 33.75 190 -227.5 33.75 194.375 -250 57.5 195 -193.75 +-5.625 186.25 -233.125 22.5 180.625 -221.875 22.5 184.375 -250 51.25 185.625 +-210.625 -5 171.25 -238.125 16.875 160 -233.125 16.875 169.375 -250 33.125 +170.625 -210.625 -5.625 150.625 -233.125 22.5 139.375 -238.125 22.5 148.75 +-250 33.125 149.375 -193.75 -5.625 136.25 -221.875 33.75 130.625 -233.125 +33.75 133.75 -250 51.25 135 -188.125 -7.5 120.625 -229.375 28.125 109.375 +-221.875 28.125 119.375 -250 55.625 120 -188.125 -5.625 105.625 -221.875 33.75 +100 -229.375 33.75 103.75 -250 55.625 104.375 -193.75 -5.625 96.25 -233.125 +22.5 90.625 -221.875 22.5 94.375 -250 51.25 95.625 -210.625 -6.25 81.25 -239.375 +16.875 70 -233.125 16.875 79.375 -250 31.875 80.625 -199.375 -5 60.625 -221.25 +33.75 49.375 -239.375 33.75 58.75 -250 45 59.375 -188.125 -5.625 45.625 -227.5 +28.125 40 -221.25 28.125 43.75 -250 58.125 44.375 -205 -5.625 35.625 -238.75 +16.875 30 -227.5 16.875 34.375 -250 38.75 35 -210.625 -6.25 25.625 -233.75 +22.5 20 -238.75 22.5 24.375 -250 31.875 25 -188.125 -6.25 15.625 -216.875 +39.375 10 -233.75 39.375 14.375 -250 56.25 15 -176.875 -6.875 5.625 -223.125 +33.75 0 -216.875 33.75 4.375 -250 68.125 5 -193.75 -6.875 -3.125 -234.375 +22.5 -8.75 -223.125 22.5 -5.625 -250 48.75 -3.75 -199.375 -6.25 -24.375 -228.125 +28.125 -41.25 -234.375 28.125 -25.625 -250 43.125 -25 -188.125 -4.375 -43.75 +-220.625 33.75 -49.375 -228.125 33.75 -46.875 -250 58.125 -45.625 -205 -6.25 +-59.375 -245 11.25 -70.625 -220.625 11.25 -60.625 -250 39.375 -60 -216.25 +-4.375 -74.375 -231.875 22.5 -80 -245 22.5 -76.25 -250 26.875 -75.625 -199.375 +-5 -83.75 -226.875 28.125 -89.375 -231.875 28.125 -85.625 -250 46.875 -84.375 +-199.375 -6.25 -99.375 -233.75 22.5 -110.625 -226.875 22.5 -100.625 -250 45 +-100 -199.375 -4.375 -114.375 -226.25 28.125 -120 -233.75 28.125 -116.25 -250 +45.625 -115.625 -205 -7.5 -123.125 -240.625 16.875 -128.75 -226.25 16.875 +-125.625 -250 38.125 -123.75 -193.75 -6.875 -143.75 -217.5 39.375 -160.625 +-240.625 39.375 -145.625 -250 48.125 -144.375 -165.625 -6.875 -169.375 -211.875 +45 -180.625 -217.5 45 -171.875 -250 80 -171.25 -182.5 -6.875 -184.375 -234.375 +22.5 -190 -211.875 22.5 -186.25 -250 61.25 -185.625 -210.625 -5 -193.75 -238.125 +16.875 -199.375 -234.375 16.875 -195.625 -250 31.875 -194.375 -210.625 -5 +-209.375 -232.5 22.5 -220.625 -238.125 22.5 -210.625 -250 33.75 -210 -199.375 +-3.125 -224.375 -225 28.125 -230 -232.5 28.125 -226.25 -250 48.125 -225.625 +-222.5 -2.5 -236.25 -243.125 2.29167 -240.20833 -223.75 3.54167 -235.83333 +-252.5 32.29167 -235.83333 -219.76563 4.21875 243.82813 -236.90104 22.22656 +243.25521 -226.40625 4.21875 246.79688 -215.46875 4.92188 241.5625 -211.65365 +-4.29688 243.89323 -247.34375 32.5 243.20313 -243.35938 35.23438 239.29688 +-220.29948 -6.14583 248.71094 -235.52083 8.80208 248.28125 -247.29167 26.09375 +246.30208 -246.19792 18.63281 249.3099 -242.1875 14.60938 248.67188 -250.42969 +34.25781 243.55469 -248.07292 18.32031 249.9349 -249.01042 20.74219 249.54427 +-236.35417 5.33854 250.46875 -208.125 7.26563 225.23438 -228.35938 28.39844 +224.17969 -211.48438 7.26563 231.48438 -206.5625 8.4375 220.54688 -197.34375 +-3.82813 225.66406 -243.20313 43.125 224.21875 -241.09375 42.10938 218.51563 +-202.66927 -3.86719 235.61198 -215.46875 7.73438 235.9375 -245.46875 43.35938 +228.4375 -245.46875 40.54688 234.0625 -232.20052 26.25 235.18229 -251.48438 +50.58594 224.41406 -250.44271 44.6875 235.29948 -218.51563 1.64063 212.96875 +-232.1875 15 211.99219 -211.09375 1.64063 215.625 -224.84375 2.8125 210.70313 +-212.10938 -4.21875 213.20313 -241.09375 24.0625 212.03125 -246.01563 23.90625 +209.45313 -200.39063 -4.29688 217.5 -206.5625 2.8125 217.73438 -244.0625 32.34375 +213.51563 -244.0625 37.96875 216.32813 -225.97656 23.08594 216.09375 -250.66406 +34.84375 211.83594 -251.13281 46.64063 216.875 -211.5625 6.32813 202.96875 +-232.8125 27.69531 202.26563 -218.51563 6.32813 205.85938 -206.875 6.32813 +200.70313 -201.09375 -4.57031 203.16406 -246.01563 40.85938 202.26563 -241.5625 +43.28125 199.375 -212.03125 -4.53125 207.8125 -224.84375 8.4375 207.89063 +-247.34375 37.03125 204.14063 -247.34375 31.40625 206.95313 -241.25 23.00781 +207.10938 -251.40625 45.9375 202.1875 -251.48438 34.14063 207.57813 -199.29688 +8.4375 192.96875 -223.82813 33.75 192.22656 -202.65625 8.4375 195.85938 -197.96875 +9.84375 190.70313 -186.36719 -4.92188 193.125 -241.5625 51.25 192.1875 -239.45313 +50.46875 189.375 -191.64063 -4.92188 197.8125 -206.875 9.14063 197.89063 -244.375 +52.26563 194.14063 -244.375 49.45313 196.95313 -227.92969 31.95313 197.10938 +-251.75781 60.85938 192.1875 -250.66406 54.96094 197.53906 -208.98438 4.21875 +183.67188 -226.71875 21.52344 182.89063 -202.26563 4.21875 186.32813 -215.78125 +6.32813 181.5625 -200.07813 -4.25781 183.78906 -239.45313 34.29688 182.8125 +-243.67188 32.03125 179.53125 -189.53125 -4.21875 188.125 -197.96875 4.21875 +187.89063 -242.96875 42.65625 184.60938 -242.96875 48.28125 187.42188 -221.75781 +28.98438 187.14844 -251.05469 46.17188 182.5 -251.40625 57.96875 187.89063 +-221.01563 2.57813 165.9375 -235.07813 15.85938 164.84375 -217.89063 2.57813 +171.95313 -224.53125 3.51563 161.40625 -214.49219 -3.51563 166.32813 -243.67188 +24.6875 164.84375 -245.54688 24.6875 158.67188 -209.60938 -3.51563 175.9375 +-215.78125 3.51563 175.9375 -245.78125 28.35938 168.90625 -245.78125 31.17188 +174.53125 -234.10156 20.11719 175.23438 -250.74219 31.95313 164.72656 -251.75781 +37.85156 175.70313 -217.89063 4.21875 145.23438 -235.07813 21.52344 143.86719 +-221.01563 4.21875 151.25 -215.78125 4.21875 140.54688 -209.60938 -4.21875 +145.66406 -245.54688 32.03125 143.90625 -243.67188 34.29688 138.59375 -214.49219 +-4.25781 155.3125 -224.53125 6.32813 155.78125 -247.03125 31.17188 147.8125 +-247.03125 28.35938 153.4375 -239.29688 20.11719 154.17969 -251.05469 37.85156 +144.0625 -251.05469 31.95313 154.6875 -202.26563 8.4375 133.67188 -226.71875 +33.86719 132.65625 -208.98438 8.4375 136.09375 -197.96875 9.14063 131.5625 +-189.53125 -4.80469 133.86719 -243.67188 50.70313 132.65625 -239.45313 51.25 +129.60938 -200.07813 -4.92188 137.8125 -215.78125 9.84375 137.73438 -245.78125 +48.28125 133.98438 -245.78125 42.65625 136.79688 -234.10156 28.98438 136.13281 +-251.75781 57.96875 132.14844 -250.74219 46.17188 137.26563 -203.35938 4.92188 +115.23438 -224.76563 26.48438 114.17969 -199.29688 4.92188 121.48438 -207.34375 +6.32813 110.54688 -192.69531 -5.625 115.66406 -239.45313 41.09375 114.21875 +-242.26563 41.09375 108.51563 -186.25 -5.625 125.625 -197.96875 6.32813 125.9375 +-242.96875 48.04688 118.4375 -242.96875 50.85938 124.0625 -221.75781 31.83594 +125.19531 -251.28906 53.90625 114.41406 -251.05469 59.80469 125.39063 -199.29688 +8.4375 102.96875 -224.76563 33.86719 101.95313 -203.35938 8.4375 105.625 -197.96875 +9.84375 100.70313 -186.25 -4.92188 103.16406 -242.26563 51.25 101.95313 -239.45313 +50.70313 99.45313 -192.69531 -4.80469 107.5 -207.34375 9.14063 107.73438 -244.84375 +50.85938 103.51563 -244.84375 48.04688 106.32813 -230.85938 31.83594 106.09375 +-251.75781 59.80469 101.83594 -251.75781 53.90625 106.875 -208.98438 4.21875 +93.67188 -226.71875 21.60156 92.89063 -202.26563 4.21875 96.32813 -215.78125 +6.32813 91.5625 -200.07813 -4.17969 93.78906 -239.45313 34.45313 92.8125 -243.67188 +32.03125 89.53125 -189.53125 -4.21875 98.125 -197.96875 4.21875 97.89063 -242.96875 +42.65625 94.60938 -242.96875 48.28125 97.42188 -221.75781 28.98438 97.14844 +-251.05469 46.17188 92.5 -251.28906 57.96875 97.92969 -221.48438 1.64063 75.9375 +-235.70313 15.03906 74.84375 -217.89063 1.64063 81.95313 -224.84375 2.10938 +71.40625 -215.19531 -4.25781 76.32813 -243.67188 23.20313 74.84375 -246.01563 +24.84375 68.67188 -209.53125 -4.21875 85.9375 -215.78125 3.51563 85.9375 -245.78125 +27.42188 78.90625 -245.78125 30.23438 84.53125 -234.10156 20.03906 85.23438 +-250.66406 31.25 74.72656 -251.75781 37.14844 85.70313 -205 8.90625 55.23438 +-229.60938 34.17969 53.90625 -215.54688 8.90625 61.25 -197.8125 9.14063 50.54688 +-192.30469 -4.57031 55.70313 -246.01563 50.39063 53.98438 -239.21875 52.03125 +48.59375 -208.90625 -4.53125 65.3125 -224.84375 10.54688 65.78125 -247.34375 +44.29688 57.8125 -247.34375 35.85938 63.4375 -241.25 26.01563 64.17969 -251.79688 +55.07813 54.0625 -251.05469 37.38281 64.6875 -202.65625 6.32813 42.96875 -223.51563 +27.61719 41.99219 -199.0625 6.32813 45.625 -206.875 8.4375 40.70313 -191.67969 +-4.57031 43.20313 -239.21875 43.20313 42.03125 -241.5625 40.78125 39.45313 +-186.01563 -4.60938 47.5 -197.8125 6.32813 47.73438 -242.8125 49.92188 43.51563 +-242.8125 52.73438 46.32813 -220.78125 31.99219 46.09375 -251.40625 55.3125 +41.83594 -250.66406 61.21094 46.91406 -218.28125 2.10938 32.96875 -232.5 15.50781 +32.26563 -211.5625 2.10938 35.85938 -224.6875 3.51563 30.70313 -211.67969 +-3.82813 33.16406 -241.5625 24.84375 32.26563 -245.78125 23.98438 29.375 -201.13281 +-3.86719 37.8125 -206.875 2.8125 37.89063 -244.375 31.875 34.14063 -244.375 +37.5 36.95313 -227.92969 23.04688 37.10938 -250.70313 34.49219 32.1875 -251.79688 +46.28906 37.57813 -218.125 3.75 22.96875 -235.70313 21.21094 22.26563 -221.25 +3.75 25.85938 -215.9375 3.51563 20.70313 -209.92188 -4.53125 23.16406 -245.78125 +31.40625 22.26563 -243.90625 34.45313 19.375 -214.80469 -4.57031 27.8125 -224.6875 +6.32813 27.89063 -247.1875 30.23438 24.14063 -247.1875 27.42188 26.95313 -240.27344 +20.03906 27.10938 -251.01563 37.14844 22.1875 -251.40625 31.25 27.53906 -196.17188 +10.07813 12.96875 -224.45313 39.57031 12.26563 -206.25 10.07813 15.85938 -189.21875 +10.54688 10.70313 -181.40625 -5.54688 13.16406 -243.90625 58.75 12.26563 -237.57813 +60.23438 9.375 -197.22656 -5.58594 17.8125 -215.9375 11.95313 17.89063 -245.9375 +54.14063 14.14063 -245.9375 45.70313 16.95313 -235.07813 31.875 17.10938 -252.07031 +66.05469 12.1875 -250.70313 48.35938 17.53906 -193.82813 7.5 2.96875 -218.98438 +33.08594 2.1875 -190.23438 7.5 5.85938 -198.28125 9.84375 .70313 -180.70313 +-5.54688 3.08594 -237.57813 51.5625 2.10938 -239.92188 49.14063 -.625 -175.03906 +-5.58594 7.8125 -189.21875 7.73438 7.89063 -241.71875 58.82813 4.14063 -241.71875 +61.64063 6.95313 -216.5625 37.77344 7.10938 -251.67969 65.58594 2.1875 -251.01563 +71.48438 7.53906 -209.45313 3.28125 -5.625 -227.96875 20.89844 -6.40625 -202.73438 +3.28125 -3.20313 -216.09375 4.92188 -7.57813 -200.70313 -4.88281 -5.50781 +-239.92188 33.04688 -6.48438 -244.14063 32.34375 -10.3125 -190.15625 -4.84375 +-1.5625 -198.28125 4.21875 -2.10938 -243.28125 40.78125 -4.92188 -243.28125 +46.40625 -2.10938 -223.71094 28.82813 -2.8125 -250.97656 44.76563 -7.1875 +-252.07031 56.5625 -1.75781 -208.82813 5.85938 -32.5 -230.54688 27.26563 -33.94531 +-212.42188 5.85938 -22.89063 -207.03125 6.32813 -39.60938 -198.24219 -5 -31.875 +-244.14063 40.78125 -33.90625 -241.79688 42.65625 -42.34375 -203.90625 -4.84375 +-16.5625 -216.09375 7.73438 -16.01563 -246.09375 40.07813 -27.26563 -246.09375 +37.26563 -18.82813 -236.05469 25.89844 -16.71875 -251.36719 48.125 -33.35938 +-251.67969 42.22656 -16.83594 -198.82813 9.375 -46.32813 -223.51563 34.60938 +-47.61719 -202.89063 9.375 -44.14063 -197.65625 11.25 -48.4375 -185.625 -4.17969 +-46.09375 -241.79688 52.73438 -47.57813 -238.98438 50.39063 -50.3125 -192.07031 +-4.17969 -42.5 -207.03125 9.14063 -42.42188 -244.53125 52.73438 -46.64063 +-244.53125 49.92188 -43.82813 -228.90625 31.99219 -44.88281 -251.83594 61.21094 +-48.20313 -250.97656 55.3125 -43.4375 -221.875 -.46875 -64.76563 -232.1875 +8.82813 -65.82031 -207.73438 -.46875 -58.51563 -233.75 1.40625 -69.45313 -217.38281 +-3.94531 -64.33594 -238.98438 15.85938 -65.78125 -248.125 14.29688 -71.48438 +-195.11719 -3.94531 -54.375 -197.65625 0 -54.0625 -242.65625 29.53125 -61.5625 +-242.65625 40.78125 -55.9375 -219.80469 23.08594 -54.80469 -250.3125 28.94531 +-65.58594 -251.36719 52.53906 -54.57031 -220.39063 5.15625 -77.03125 -237.96875 +22.34375 -78.04688 -227.8125 5.15625 -74.375 -215.46875 4.92188 -79.29688 +-211.99219 -3.55469 -76.83594 -248.125 32.57813 -78.04688 -243.20313 35.07813 +-80.54688 -223.71094 -3.47656 -72.5 -233.75 7.03125 -72.26563 -248.75 27.1875 +-76.48438 -248.75 21.5625 -73.67188 -247.42188 17.14844 -73.90625 -251.13281 +34.96094 -78.16406 -251.83594 23.16406 -73.125 -208.35938 6.79688 -86.32813 +-228.67188 28.00781 -87.07031 -211.48438 6.79688 -83.67188 -206.71875 7.73438 +-88.4375 -197.69531 -4.17969 -86.17188 -243.20313 42.42188 -87.10938 -241.32813 +42.1875 -90.46875 -202.57813 -4.29688 -81.875 -215.46875 7.73438 -82.10938 +-245.46875 42.89063 -85.39063 -245.46875 40.07813 -82.57813 -232.14844 26.13281 +-82.85156 -251.44531 50.23438 -87.5 -250.3125 44.33594 -82.07031 -212.1875 +3.75 -104.76563 -229.60938 21.05469 -105.82031 -208.35938 3.75 -98.51563 -215.9375 +4.92188 -109.45313 -203.63281 -4.64844 -104.33594 -241.32813 32.73438 -105.78125 +-243.90625 32.8125 -111.48438 -197.57813 -4.60938 -94.375 -206.71875 4.92188 +-94.0625 -244.21875 38.67188 -101.5625 -244.21875 41.48438 -95.9375 -226.95313 +26.01563 -94.80469 -251.01563 43.28125 -105.58594 -251.13281 49.17969 -94.64844 +-208.125 7.26563 -117.03125 -229.29688 28.59375 -118.08594 -212.1875 7.26563 +-114.375 -206.5625 8.4375 -119.29688 -197.22656 -3.75 -116.875 -243.90625 +43.28125 -118.125 -241.09375 42.34375 -120.54688 -203.67188 -3.82813 -112.5 +-215.9375 7.73438 -112.26563 -245.9375 41.95313 -116.48438 -245.9375 39.14063 +-113.67188 -235.07813 26.05469 -113.90625 -251.48438 49.53125 -118.16406 -251.44531 +43.63281 -113.125 -218.98438 .70313 -125.625 -232.8125 14.29688 -126.44531 +-211.09375 .70313 -123.20313 -225.15625 1.40625 -127.57813 -212.8125 -4.84375 +-125.54688 -241.09375 22.8125 -126.5625 -246.48438 24.0625 -130.3125 -200.3125 +-5 -121.5625 -206.5625 2.8125 -122.10938 -244.0625 31.40625 -124.92188 -244.0625 +37.03125 -122.10938 -225.97656 23.00781 -122.8125 -250.58594 34.14063 -127.1875 +-251.01563 45.9375 -121.71875 -199.375 9.60938 -151.79688 -228.28125 39.25781 +-153.24219 -213.04688 9.60938 -142.42188 -189.375 9.14063 -158.75 -184.84375 +-5.89844 -151.17188 -246.48438 57.26563 -153.20313 -237.8125 61.25 -162.1875 +-206.32813 -5.85938 -136.25 -225.15625 12.65625 -136.01563 -247.65625 48.75 +-146.79688 -247.65625 37.5 -138.35938 -243.20313 28.78906 -136.67969 -252.03125 +62.10938 -153.04688 -251.48438 38.51563 -136.48438 -181.17188 11.71875 -174.76563 +-213.51563 45.3125 -176.36719 -184.53125 11.71875 -168.98438 -180.46875 14.0625 +-179.45313 -163.78906 -6.25 -174.25781 -237.8125 69.21875 -176.25 -235.70313 +66.875 -181.32813 -169.0625 -6.25 -165 -189.375 11.95313 -164.375 -241.875 +71.95313 -172.8125 -241.875 69.14063 -167.1875 -217.53906 43.67188 -166.83594 +-252.38281 82.8125 -176.28906 -250.58594 76.91406 -165.97656 -203.51563 3.28125 +-187.03125 -222.1875 20.82031 -188.04688 -190.07813 3.28125 -184.375 -216.09375 +6.32813 -189.29688 -194.375 -4.96094 -186.83594 -235.70313 34.45313 -188.04688 +-244.14063 30.78125 -190.54688 -173.28125 -4.84375 -182.5 -180.46875 2.8125 +-182.26563 -240.46875 48.75 -186.48438 -240.46875 60 -183.67188 -211.36719 +34.76563 -183.90625 -250.97656 50.54688 -188.16406 -252.03125 74.14063 -183.04688 +-221.01563 2.57813 -196.32813 -235.70313 15.89844 -197.07031 -218.35938 2.57813 +-193.67188 -224.53125 3.51563 -198.4375 -214.41406 -3.55469 -196.17188 -244.14063 +24.60938 -197.10938 -245.54688 24.84375 -200.46875 -210.3125 -3.4375 -191.875 +-216.09375 3.51563 -192.10938 -246.09375 27.42188 -195.39063 -246.09375 30.23438 +-192.57813 -236.05469 20.03906 -192.85156 -250.74219 31.25 -197.5 -252.38281 +37.14844 -192.07031 -217.65625 4.6875 -214.76563 -234.76563 21.75781 -215.82031 +-221.01563 4.6875 -208.51563 -215.625 4.92188 -219.45313 -209.25781 -4.02344 +-214.33594 -245.54688 32.42188 -215.78125 -243.4375 34.21875 -221.48438 -214.53125 +-3.90625 -204.375 -224.53125 6.32813 -204.0625 -247.03125 31.64063 -211.5625 +-247.03125 28.82813 -205.9375 -239.29688 20.15625 -204.80469 -251.09375 38.20313 +-215.58594 -250.97656 32.30469 -204.64844 -207.65625 8.20313 -227.03125 -227.89063 +28.95833 -227.95573 -211.71875 8.20313 -224.375 -206.40625 10.10417 -229.27083 +-196.21094 -3.35938 -226.67969 -243.125 44.01042 -227.86458 -240.625 42.03125 +-230.54688 -203.04688 -3.20313 -222.5 -215.625 7.73438 -222.26563 -245.625 +43.82813 -226.48438 -245.625 41.01563 -223.67188 -233.125 26.21094 -223.90625 +-251.5625 50.9375 -228.16406 -250.74219 45.03906 -223.125 -235.42969 -.33854 +-238.89323 -238.4375 3.35938 -239.0625 -220.78125 -.54688 -235.625 -239.64844 +.22135 -239.85677 -233.55469 -1.17188 -238.63281 -239.42708 6.09375 -238.59375 +-247.60417 5.46875 -240.46875 -210 -1.35417 -233.22917 -205.78125 -2.1875 +-232.1875 -245.15625 22.03125 -236.5625 -245.78125 34.32292 -233.64583 -223.32031 +16.47135 -232.98177 -252.83854 21.09375 -238.35938 -252.5 43.90625 -232.89063 +] + } + texCoord +TextureCoordinate { point [ 0 0 .027 0 .027 1 0 1 .055 0 .055 1 .082 0 .082 +1 .109 0 .109 1 .126 0 .126 1 .154 0 .154 1 .181 0 .181 1 .208 0 .208 1 .235 +0 .235 1 .263 0 .263 1 .28 0 .28 1 .307 0 .307 1 .334 0 .334 1 .378 0 .378 +1 .395 0 .395 1 .423 0 .423 1 .44 0 .44 1 .479 0 .479 1 .496 0 .496 1 .523 +0 .523 1 .562 0 .562 1 .579 0 .579 1 .633 0 .633 1 .661 0 .661 1 .678 0 .678 +1 .705 0 .705 1 .722 0 .722 1 .75 0 .75 1 .81 0 .81 1 .838 0 .838 1 .888 0 +.888 1 .905 0 .905 1 .933 0 .933 1 .95 0 .95 1 1 0 1 1 .014 0 .027 .5 .014 +.5 .014 1 0 .5 .041 0 .055 .5 .041 .5 .041 1 .068 0 .082 .5 .068 .5 .068 1 +.095 0 .109 .5 .095 .5 .095 1 .118 0 .126 .5 .118 .5 .118 1 .14 0 .154 .5 +.14 .5 .14 1 .167 0 .181 .5 .167 .5 .167 1 .194 0 .208 .5 .194 .5 .194 1 .222 +0 .235 .5 .222 .5 .222 1 .249 0 .263 .5 .249 .5 .249 1 .271 0 .28 .5 .271 +.5 .271 1 .293 0 .307 .5 .293 .5 .293 1 .321 0 .334 .5 .321 .5 .321 1 .356 +0 .378 .5 .356 .5 .356 1 .387 0 .395 .5 .387 .5 .387 1 .409 0 .423 .5 .409 +.5 .409 1 .431 0 .44 .5 .431 .5 .431 1 .459 0 .479 .5 .459 .5 .459 1 .487 +0 .496 .5 .487 .5 .487 1 .509 0 .523 .5 .509 .5 .509 1 .542 0 .562 .5 .542 +.5 .542 1 .57 0 .579 .5 .57 .5 .57 1 .606 0 .633 .5 .606 .5 .606 1 .647 0 +.661 .5 .647 .5 .647 1 .669 0 .678 .5 .669 .5 .669 1 .691 0 .705 .5 .691 .5 +.691 1 .714 0 .722 .5 .714 .5 .714 1 .736 0 .75 .5 .736 .5 .736 1 .78 0 .81 +.5 .78 .5 .78 1 .824 0 .838 .5 .824 .5 .824 1 .863 0 .888 .5 .863 .5 .863 +1 .897 0 .905 .5 .897 .5 .897 1 .919 0 .933 .5 .919 .5 .919 1 .941 0 .95 .5 +.941 .5 .941 1 .975 0 1 .5 .975 .5 .975 1 .02 .25 .02 .5 .014 .25 .027 .25 +.02 0 .02 .75 .027 .75 .007 0 .007 .25 .014 .75 .007 .75 .007 .5 .02 1 0 .75 +.007 1 0 .25 .048 .25 .048 .5 .041 .25 .055 .25 .048 0 .048 .75 .055 .75 .034 +0 .034 .25 .041 .75 .034 .75 .034 .5 .048 1 .034 1 .075 .25 .075 .5 .068 .25 +.082 .25 .075 0 .075 .75 .082 .75 .061 0 .061 .25 .068 .75 .061 .75 .061 .5 +.075 1 .061 1 .102 .25 .102 .5 .095 .25 .109 .25 .102 0 .102 .75 .109 .75 +.089 0 .089 .25 .095 .75 .089 .75 .089 .5 .102 1 .089 1 .122 .25 .122 .5 .118 +.25 .126 .25 .122 0 .122 .75 .126 .75 .113 0 .113 .25 .118 .75 .113 .75 .113 +.5 .122 1 .113 1 .147 .25 .147 .5 .14 .25 .154 .25 .147 0 .147 .75 .154 .75 +.133 0 .133 .25 .14 .75 .133 .75 .133 .5 .147 1 .133 1 .174 .25 .174 .5 .167 +.25 .181 .25 .174 0 .174 .75 .181 .75 .16 0 .16 .25 .167 .75 .16 .75 .16 .5 +.174 1 .16 1 .201 .25 .201 .5 .194 .25 .208 .25 .201 0 .201 .75 .208 .75 .188 +0 .188 .25 .194 .75 .188 .75 .188 .5 .201 1 .188 1 .228 .25 .228 .5 .222 .25 +.235 .25 .228 0 .228 .75 .235 .75 .215 0 .215 .25 .222 .75 .215 .75 .215 .5 +.228 1 .215 1 .256 .25 .256 .5 .249 .25 .263 .25 .256 0 .256 .75 .263 .75 +.242 0 .242 .25 .249 .75 .242 .75 .242 .5 .256 1 .242 1 .275 .25 .275 .5 .271 +.25 .28 .25 .275 0 .275 .75 .28 .75 .267 0 .267 .25 .271 .75 .267 .75 .267 +.5 .275 1 .267 1 .3 .25 .3 .5 .293 .25 .307 .25 .3 0 .3 .75 .307 .75 .287 +0 .287 .25 .293 .75 .287 .75 .287 .5 .3 1 .287 1 .327 .25 .327 .5 .321 .25 +.334 .25 .327 0 .327 .75 .334 .75 .314 0 .314 .25 .321 .75 .314 .75 .314 .5 +.327 1 .314 1 .367 .25 .367 .5 .356 .25 .378 .25 .367 0 .367 .75 .378 .75 +.345 0 .345 .25 .356 .75 .345 .75 .345 .5 .367 1 .345 1 .391 .25 .391 .5 .387 +.25 .395 .25 .391 0 .391 .75 .395 .75 .383 0 .383 .25 .387 .75 .383 .75 .383 +.5 .391 1 .383 1 .416 .25 .416 .5 .409 .25 .423 .25 .416 0 .416 .75 .423 .75 +.402 0 .402 .25 .409 .75 .402 .75 .402 .5 .416 1 .402 1 .436 .25 .436 .5 .431 +.25 .44 .25 .436 0 .436 .75 .44 .75 .427 0 .427 .25 .431 .75 .427 .75 .427 +.5 .436 1 .427 1 .469 .25 .469 .5 .459 .25 .479 .25 .469 0 .469 .75 .479 .75 +.45 0 .45 .25 .459 .75 .45 .75 .45 .5 .469 1 .45 1 .491 .25 .491 .5 .487 .25 +.496 .25 .491 0 .491 .75 .496 .75 .483 0 .483 .25 .487 .75 .483 .75 .483 .5 +.491 1 .483 1 .516 .25 .516 .5 .509 .25 .523 .25 .516 0 .516 .75 .523 .75 +.503 0 .503 .25 .509 .75 .503 .75 .503 .5 .516 1 .503 1 .552 .25 .552 .5 .542 +.25 .562 .25 .552 0 .552 .75 .562 .75 .533 0 .533 .25 .542 .75 .533 .75 .533 +.5 .552 1 .533 1 .574 .25 .574 .5 .57 .25 .579 .25 .574 0 .574 .75 .579 .75 +.566 0 .566 .25 .57 .75 .566 .75 .566 .5 .574 1 .566 1 .62 .25 .62 .5 .606 +.25 .633 .25 .62 0 .62 .75 .633 .75 .592 0 .592 .25 .606 .75 .592 .75 .592 +.5 .62 1 .592 1 .654 .25 .654 .5 .647 .25 .661 .25 .654 0 .654 .75 .661 .75 +.64 0 .64 .25 .647 .75 .64 .75 .64 .5 .654 1 .64 1 .673 .25 .673 .5 .669 .25 +.678 .25 .673 0 .673 .75 .678 .75 .665 0 .665 .25 .669 .75 .665 .75 .665 .5 +.673 1 .665 1 .698 .25 .698 .5 .691 .25 .705 .25 .698 0 .698 .75 .705 .75 +.685 0 .685 .25 .691 .75 .685 .75 .685 .5 .698 1 .685 1 .718 .25 .718 .5 .714 +.25 .722 .25 .718 0 .718 .75 .722 .75 .709 0 .709 .25 .714 .75 .709 .75 .709 +.5 .718 1 .709 1 .743 .25 .743 .5 .736 .25 .75 .25 .743 0 .743 .75 .75 .75 +.729 0 .729 .25 .736 .75 .729 .75 .729 .5 .743 1 .729 1 .795 .25 .795 .5 .78 +.25 .81 .25 .795 0 .795 .75 .81 .75 .765 0 .765 .25 .78 .75 .765 .75 .765 +.5 .795 1 .765 1 .831 .25 .831 .5 .824 .25 .838 .25 .831 0 .831 .75 .838 .75 +.817 0 .817 .25 .824 .75 .817 .75 .817 .5 .831 1 .817 1 .875 .25 .875 .5 .863 +.25 .888 .25 .875 0 .875 .75 .888 .75 .85 0 .85 .25 .863 .75 .85 .75 .85 .5 +.875 1 .85 1 .901 .25 .901 .5 .897 .25 .905 .25 .901 0 .901 .75 .905 .75 .892 +0 .892 .25 .897 .75 .892 .75 .892 .5 .901 1 .892 1 .926 .25 .926 .5 .919 .25 +.933 .25 .926 0 .926 .75 .933 .75 .912 0 .912 .25 .919 .75 .912 .75 .912 .5 +.926 1 .912 1 .945 .25 .945 .5 .941 .25 .95 .25 .945 0 .945 .75 .95 .75 .937 +0 .937 .25 .941 .75 .937 .75 .937 .5 .945 1 .937 1 .987 .25 .987 .5 .975 .25 +1 .25 .987 0 .987 .75 1 .75 .962 0 .962 .25 .975 .75 .962 .75 .962 .5 .987 +1 .962 1 ] } + } + } + ] + } + DEF dad_Hills1 Transform { + translation 0 -1.2 0 + children [ + DEF Hills1 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "cliff.jpg" + ] + } + textureTransform TextureTransform { + scale 10 1 + } + material USE White + } + geometry DEF Hills1_Geo IndexedFaceSet { + creaseAngle 3.000 +coordIndex [ 162 163 164 -1 56 163 162 -1 57 164 163 -1 55 162 164 -1 165 162 +166 -1 56 162 165 -1 55 166 162 -1 1 165 166 -1 167 163 168 -1 57 163 167 +-1 56 168 163 -1 2 167 168 -1 169 164 170 -1 55 164 169 -1 57 170 164 -1 0 169 +170 -1 171 172 173 -1 58 172 171 -1 59 173 172 -1 57 171 173 -1 174 171 167 +-1 58 171 174 -1 57 167 171 -1 2 174 167 -1 175 172 176 -1 59 172 175 -1 58 +176 172 -1 3 175 176 -1 170 173 177 -1 57 173 170 -1 59 177 173 -1 0 170 177 +-1 178 179 180 -1 61 179 178 -1 62 180 179 -1 60 178 180 -1 181 178 182 -1 61 +178 181 -1 60 182 178 -1 4 181 182 -1 183 179 184 -1 62 179 183 -1 61 184 179 +-1 5 183 184 -1 185 180 186 -1 60 180 185 -1 62 186 180 -1 1 185 186 -1 187 +188 189 -1 63 188 187 -1 56 189 188 -1 62 187 189 -1 190 187 183 -1 63 187 190 +-1 62 183 187 -1 5 190 183 -1 168 188 191 -1 56 188 168 -1 63 191 188 -1 2 168 +191 -1 186 189 165 -1 62 189 186 -1 56 165 189 -1 1 186 165 -1 192 193 194 +-1 65 193 192 -1 66 194 193 -1 64 192 194 -1 195 192 196 -1 65 192 195 -1 64 +196 192 -1 6 195 196 -1 197 193 198 -1 66 193 197 -1 65 198 193 -1 7 197 198 +-1 199 194 200 -1 64 194 199 -1 66 200 194 -1 4 199 200 -1 201 202 203 -1 67 +202 201 -1 61 203 202 -1 66 201 203 -1 204 201 197 -1 67 201 204 -1 66 197 201 +-1 7 204 197 -1 184 202 205 -1 61 202 184 -1 67 205 202 -1 5 184 205 -1 200 +203 181 -1 66 203 200 -1 61 181 203 -1 4 200 181 -1 206 207 208 -1 69 207 206 +-1 70 208 207 -1 68 206 208 -1 209 206 210 -1 69 206 209 -1 68 210 206 -1 8 +209 210 -1 211 207 212 -1 70 207 211 -1 69 212 207 -1 9 211 212 -1 213 208 214 +-1 68 208 213 -1 70 214 208 -1 6 213 214 -1 215 216 217 -1 71 216 215 -1 65 +217 216 -1 70 215 217 -1 218 215 211 -1 71 215 218 -1 70 211 215 -1 9 218 211 +-1 198 216 219 -1 65 216 198 -1 71 219 216 -1 7 198 219 -1 214 217 195 -1 70 +217 214 -1 65 195 217 -1 6 214 195 -1 220 221 222 -1 73 221 220 -1 74 222 221 +-1 72 220 222 -1 223 220 224 -1 73 220 223 -1 72 224 220 -1 10 223 224 -1 225 +221 226 -1 74 221 225 -1 73 226 221 -1 11 225 226 -1 227 222 228 -1 72 222 227 +-1 74 228 222 -1 8 227 228 -1 229 230 231 -1 75 230 229 -1 69 231 230 -1 74 +229 231 -1 232 229 225 -1 75 229 232 -1 74 225 229 -1 11 232 225 -1 212 230 +233 -1 69 230 212 -1 75 233 230 -1 9 212 233 -1 228 231 209 -1 74 231 228 +-1 69 209 231 -1 8 228 209 -1 234 235 236 -1 77 235 234 -1 78 236 235 -1 76 +234 236 -1 237 234 238 -1 77 234 237 -1 76 238 234 -1 12 237 238 -1 239 235 +240 -1 78 235 239 -1 77 240 235 -1 13 239 240 -1 241 236 242 -1 76 236 241 +-1 78 242 236 -1 10 241 242 -1 243 244 245 -1 79 244 243 -1 73 245 244 -1 78 +243 245 -1 246 243 239 -1 79 243 246 -1 78 239 243 -1 13 246 239 -1 226 244 +247 -1 73 244 226 -1 79 247 244 -1 11 226 247 -1 242 245 223 -1 78 245 242 +-1 73 223 245 -1 10 242 223 -1 248 249 250 -1 81 249 248 -1 82 250 249 -1 80 +248 250 -1 251 248 252 -1 81 248 251 -1 80 252 248 -1 14 251 252 -1 253 249 +254 -1 82 249 253 -1 81 254 249 -1 15 253 254 -1 255 250 256 -1 80 250 255 +-1 82 256 250 -1 12 255 256 -1 257 258 259 -1 83 258 257 -1 77 259 258 -1 82 +257 259 -1 260 257 253 -1 83 257 260 -1 82 253 257 -1 15 260 253 -1 240 258 +261 -1 77 258 240 -1 83 261 258 -1 13 240 261 -1 256 259 237 -1 82 259 256 +-1 77 237 259 -1 12 256 237 -1 262 263 264 -1 85 263 262 -1 86 264 263 -1 84 +262 264 -1 265 262 266 -1 85 262 265 -1 84 266 262 -1 16 265 266 -1 267 263 +268 -1 86 263 267 -1 85 268 263 -1 17 267 268 -1 269 264 270 -1 84 264 269 +-1 86 270 264 -1 14 269 270 -1 271 272 273 -1 87 272 271 -1 81 273 272 -1 86 +271 273 -1 274 271 267 -1 87 271 274 -1 86 267 271 -1 17 274 267 -1 254 272 +275 -1 81 272 254 -1 87 275 272 -1 15 254 275 -1 270 273 251 -1 86 273 270 +-1 81 251 273 -1 14 270 251 -1 276 277 278 -1 89 277 276 -1 90 278 277 -1 88 +276 278 -1 279 276 280 -1 89 276 279 -1 88 280 276 -1 18 279 280 -1 281 277 +282 -1 90 277 281 -1 89 282 277 -1 19 281 282 -1 283 278 284 -1 88 278 283 +-1 90 284 278 -1 16 283 284 -1 285 286 287 -1 91 286 285 -1 85 287 286 -1 90 +285 287 -1 288 285 281 -1 91 285 288 -1 90 281 285 -1 19 288 281 -1 268 286 +289 -1 85 286 268 -1 91 289 286 -1 17 268 289 -1 284 287 265 -1 90 287 284 +-1 85 265 287 -1 16 284 265 -1 290 291 292 -1 93 291 290 -1 94 292 291 -1 92 +290 292 -1 293 290 294 -1 93 290 293 -1 92 294 290 -1 20 293 294 -1 295 291 +296 -1 94 291 295 -1 93 296 291 -1 21 295 296 -1 297 292 298 -1 92 292 297 +-1 94 298 292 -1 18 297 298 -1 299 300 301 -1 95 300 299 -1 89 301 300 -1 94 +299 301 -1 302 299 295 -1 95 299 302 -1 94 295 299 -1 21 302 295 -1 282 300 +303 -1 89 300 282 -1 95 303 300 -1 19 282 303 -1 298 301 279 -1 94 301 298 +-1 89 279 301 -1 18 298 279 -1 304 305 306 -1 97 305 304 -1 98 306 305 -1 96 +304 306 -1 307 304 308 -1 97 304 307 -1 96 308 304 -1 22 307 308 -1 309 305 +310 -1 98 305 309 -1 97 310 305 -1 23 309 310 -1 311 306 312 -1 96 306 311 +-1 98 312 306 -1 20 311 312 -1 313 314 315 -1 99 314 313 -1 93 315 314 -1 98 +313 315 -1 316 313 309 -1 99 313 316 -1 98 309 313 -1 23 316 309 -1 296 314 +317 -1 93 314 296 -1 99 317 314 -1 21 296 317 -1 312 315 293 -1 98 315 312 +-1 93 293 315 -1 20 312 293 -1 318 319 320 -1 101 319 318 -1 102 320 319 -1 +100 318 320 -1 321 318 322 -1 101 318 321 -1 100 322 318 -1 24 321 322 -1 323 +319 324 -1 102 319 323 -1 101 324 319 -1 25 323 324 -1 325 320 326 -1 100 320 +325 -1 102 326 320 -1 22 325 326 -1 327 328 329 -1 103 328 327 -1 97 329 328 +-1 102 327 329 -1 330 327 323 -1 103 327 330 -1 102 323 327 -1 25 330 323 +-1 310 328 331 -1 97 328 310 -1 103 331 328 -1 23 310 331 -1 326 329 307 -1 +102 329 326 -1 97 307 329 -1 22 326 307 -1 332 333 334 -1 105 333 332 -1 106 +334 333 -1 104 332 334 -1 335 332 336 -1 105 332 335 -1 104 336 332 -1 26 335 +336 -1 337 333 338 -1 106 333 337 -1 105 338 333 -1 27 337 338 -1 339 334 340 +-1 104 334 339 -1 106 340 334 -1 24 339 340 -1 341 342 343 -1 107 342 341 +-1 101 343 342 -1 106 341 343 -1 344 341 337 -1 107 341 344 -1 106 337 341 +-1 27 344 337 -1 324 342 345 -1 101 342 324 -1 107 345 342 -1 25 324 345 -1 +340 343 321 -1 106 343 340 -1 101 321 343 -1 24 340 321 -1 346 347 348 -1 109 +347 346 -1 110 348 347 -1 108 346 348 -1 349 346 350 -1 109 346 349 -1 108 350 +346 -1 28 349 350 -1 351 347 352 -1 110 347 351 -1 109 352 347 -1 29 351 352 +-1 353 348 354 -1 108 348 353 -1 110 354 348 -1 26 353 354 -1 355 356 357 +-1 111 356 355 -1 105 357 356 -1 110 355 357 -1 358 355 351 -1 111 355 358 +-1 110 351 355 -1 29 358 351 -1 338 356 359 -1 105 356 338 -1 111 359 356 +-1 27 338 359 -1 354 357 335 -1 110 357 354 -1 105 335 357 -1 26 354 335 -1 +360 361 362 -1 113 361 360 -1 114 362 361 -1 112 360 362 -1 363 360 364 -1 113 +360 363 -1 112 364 360 -1 30 363 364 -1 365 361 366 -1 114 361 365 -1 113 366 +361 -1 31 365 366 -1 367 362 368 -1 112 362 367 -1 114 368 362 -1 28 367 368 +-1 369 370 371 -1 115 370 369 -1 109 371 370 -1 114 369 371 -1 372 369 365 +-1 115 369 372 -1 114 365 369 -1 31 372 365 -1 352 370 373 -1 109 370 352 +-1 115 373 370 -1 29 352 373 -1 368 371 349 -1 114 371 368 -1 109 349 371 +-1 28 368 349 -1 374 375 376 -1 117 375 374 -1 118 376 375 -1 116 374 376 +-1 377 374 378 -1 117 374 377 -1 116 378 374 -1 32 377 378 -1 379 375 380 +-1 118 375 379 -1 117 380 375 -1 33 379 380 -1 381 376 382 -1 116 376 381 +-1 118 382 376 -1 30 381 382 -1 383 384 385 -1 119 384 383 -1 113 385 384 +-1 118 383 385 -1 386 383 379 -1 119 383 386 -1 118 379 383 -1 33 386 379 +-1 366 384 387 -1 113 384 366 -1 119 387 384 -1 31 366 387 -1 382 385 363 +-1 118 385 382 -1 113 363 385 -1 30 382 363 -1 388 389 390 -1 121 389 388 +-1 122 390 389 -1 120 388 390 -1 391 388 392 -1 121 388 391 -1 120 392 388 +-1 34 391 392 -1 393 389 394 -1 122 389 393 -1 121 394 389 -1 35 393 394 -1 +395 390 396 -1 120 390 395 -1 122 396 390 -1 32 395 396 -1 397 398 399 -1 123 +398 397 -1 117 399 398 -1 122 397 399 -1 400 397 393 -1 123 397 400 -1 122 393 +397 -1 35 400 393 -1 380 398 401 -1 117 398 380 -1 123 401 398 -1 33 380 401 +-1 396 399 377 -1 122 399 396 -1 117 377 399 -1 32 396 377 -1 402 403 404 +-1 125 403 402 -1 126 404 403 -1 124 402 404 -1 405 402 406 -1 125 402 405 +-1 124 406 402 -1 36 405 406 -1 407 403 408 -1 126 403 407 -1 125 408 403 +-1 37 407 408 -1 409 404 410 -1 124 404 409 -1 126 410 404 -1 34 409 410 -1 +411 412 413 -1 127 412 411 -1 121 413 412 -1 126 411 413 -1 414 411 407 -1 127 +411 414 -1 126 407 411 -1 37 414 407 -1 394 412 415 -1 121 412 394 -1 127 415 +412 -1 35 394 415 -1 410 413 391 -1 126 413 410 -1 121 391 413 -1 34 410 391 +-1 416 417 418 -1 129 417 416 -1 130 418 417 -1 128 416 418 -1 419 416 420 +-1 129 416 419 -1 128 420 416 -1 38 419 420 -1 421 417 422 -1 130 417 421 +-1 129 422 417 -1 39 421 422 -1 423 418 424 -1 128 418 423 -1 130 424 418 +-1 36 423 424 -1 425 426 427 -1 131 426 425 -1 125 427 426 -1 130 425 427 +-1 428 425 421 -1 131 425 428 -1 130 421 425 -1 39 428 421 -1 408 426 429 +-1 125 426 408 -1 131 429 426 -1 37 408 429 -1 424 427 405 -1 130 427 424 +-1 125 405 427 -1 36 424 405 -1 430 431 432 -1 133 431 430 -1 134 432 431 +-1 132 430 432 -1 433 430 434 -1 133 430 433 -1 132 434 430 -1 40 433 434 +-1 435 431 436 -1 134 431 435 -1 133 436 431 -1 41 435 436 -1 437 432 438 +-1 132 432 437 -1 134 438 432 -1 38 437 438 -1 439 440 441 -1 135 440 439 +-1 129 441 440 -1 134 439 441 -1 442 439 435 -1 135 439 442 -1 134 435 439 +-1 41 442 435 -1 422 440 443 -1 129 440 422 -1 135 443 440 -1 39 422 443 -1 +438 441 419 -1 134 441 438 -1 129 419 441 -1 38 438 419 -1 444 445 446 -1 137 +445 444 -1 138 446 445 -1 136 444 446 -1 447 444 448 -1 137 444 447 -1 136 448 +444 -1 42 447 448 -1 449 445 450 -1 138 445 449 -1 137 450 445 -1 43 449 450 +-1 451 446 452 -1 136 446 451 -1 138 452 446 -1 40 451 452 -1 453 454 455 +-1 139 454 453 -1 133 455 454 -1 138 453 455 -1 456 453 449 -1 139 453 456 +-1 138 449 453 -1 43 456 449 -1 436 454 457 -1 133 454 436 -1 139 457 454 +-1 41 436 457 -1 452 455 433 -1 138 455 452 -1 133 433 455 -1 40 452 433 -1 +458 459 460 -1 141 459 458 -1 142 460 459 -1 140 458 460 -1 461 458 462 -1 141 +458 461 -1 140 462 458 -1 44 461 462 -1 463 459 464 -1 142 459 463 -1 141 464 +459 -1 45 463 464 -1 465 460 466 -1 140 460 465 -1 142 466 460 -1 42 465 466 +-1 467 468 469 -1 143 468 467 -1 137 469 468 -1 142 467 469 -1 470 467 463 +-1 143 467 470 -1 142 463 467 -1 45 470 463 -1 450 468 471 -1 137 468 450 +-1 143 471 468 -1 43 450 471 -1 466 469 447 -1 142 469 466 -1 137 447 469 +-1 42 466 447 -1 472 473 474 -1 145 473 472 -1 146 474 473 -1 144 472 474 +-1 475 472 476 -1 145 472 475 -1 144 476 472 -1 46 475 476 -1 477 473 478 +-1 146 473 477 -1 145 478 473 -1 47 477 478 -1 479 474 480 -1 144 474 479 +-1 146 480 474 -1 44 479 480 -1 481 482 483 -1 147 482 481 -1 141 483 482 +-1 146 481 483 -1 484 481 477 -1 147 481 484 -1 146 477 481 -1 47 484 477 +-1 464 482 485 -1 141 482 464 -1 147 485 482 -1 45 464 485 -1 480 483 461 +-1 146 483 480 -1 141 461 483 -1 44 480 461 -1 486 487 488 -1 149 487 486 +-1 150 488 487 -1 148 486 488 -1 489 486 490 -1 149 486 489 -1 148 490 486 +-1 48 489 490 -1 491 487 492 -1 150 487 491 -1 149 492 487 -1 49 491 492 -1 +493 488 494 -1 148 488 493 -1 150 494 488 -1 46 493 494 -1 495 496 497 -1 151 +496 495 -1 145 497 496 -1 150 495 497 -1 498 495 491 -1 151 495 498 -1 150 491 +495 -1 49 498 491 -1 478 496 499 -1 145 496 478 -1 151 499 496 -1 47 478 499 +-1 494 497 475 -1 150 497 494 -1 145 475 497 -1 46 494 475 -1 500 501 502 +-1 153 501 500 -1 154 502 501 -1 152 500 502 -1 503 500 504 -1 153 500 503 +-1 152 504 500 -1 50 503 504 -1 505 501 506 -1 154 501 505 -1 153 506 501 +-1 51 505 506 -1 507 502 508 -1 152 502 507 -1 154 508 502 -1 48 507 508 -1 +509 510 511 -1 155 510 509 -1 149 511 510 -1 154 509 511 -1 512 509 505 -1 155 +509 512 -1 154 505 509 -1 51 512 505 -1 492 510 513 -1 149 510 492 -1 155 513 +510 -1 49 492 513 -1 508 511 489 -1 154 511 508 -1 149 489 511 -1 48 508 489 +-1 514 515 516 -1 157 515 514 -1 158 516 515 -1 156 514 516 -1 517 514 518 +-1 157 514 517 -1 156 518 514 -1 52 517 518 -1 519 515 520 -1 158 515 519 +-1 157 520 515 -1 53 519 520 -1 521 516 522 -1 156 516 521 -1 158 522 516 +-1 50 521 522 -1 523 524 525 -1 159 524 523 -1 153 525 524 -1 158 523 525 +-1 526 523 519 -1 159 523 526 -1 158 519 523 -1 53 526 519 -1 506 524 527 +-1 153 524 506 -1 159 527 524 -1 51 506 527 -1 522 525 503 -1 158 525 522 +-1 153 503 525 -1 50 522 503 -1 528 529 530 -1 161 529 528 -1 157 530 529 +-1 160 528 530 -1 531 528 532 -1 161 528 531 -1 160 532 528 -1 54 531 532 +-1 520 529 533 -1 157 529 520 -1 161 533 529 -1 53 520 533 -1 534 530 517 +-1 160 530 534 -1 157 517 530 -1 52 534 517 -1 ] texCoordIndex +[ 162 163 164 -1 56 163 162 -1 57 164 163 -1 55 162 164 -1 165 162 166 -1 56 +162 165 -1 55 166 162 -1 1 165 166 -1 167 163 168 -1 57 163 167 -1 56 168 163 +-1 2 167 168 -1 169 164 170 -1 55 164 169 -1 57 170 164 -1 0 169 170 -1 171 +172 173 -1 58 172 171 -1 59 173 172 -1 57 171 173 -1 174 171 167 -1 58 171 174 +-1 57 167 171 -1 2 174 167 -1 175 172 176 -1 59 172 175 -1 58 176 172 -1 3 175 +176 -1 170 173 177 -1 57 173 170 -1 59 177 173 -1 0 170 177 -1 178 179 180 +-1 61 179 178 -1 62 180 179 -1 60 178 180 -1 181 178 182 -1 61 178 181 -1 60 +182 178 -1 4 181 182 -1 183 179 184 -1 62 179 183 -1 61 184 179 -1 5 183 184 +-1 185 180 186 -1 60 180 185 -1 62 186 180 -1 1 185 186 -1 187 188 189 -1 63 +188 187 -1 56 189 188 -1 62 187 189 -1 190 187 183 -1 63 187 190 -1 62 183 187 +-1 5 190 183 -1 168 188 191 -1 56 188 168 -1 63 191 188 -1 2 168 191 -1 186 +189 165 -1 62 189 186 -1 56 165 189 -1 1 186 165 -1 192 193 194 -1 65 193 192 +-1 66 194 193 -1 64 192 194 -1 195 192 196 -1 65 192 195 -1 64 196 192 -1 6 +195 196 -1 197 193 198 -1 66 193 197 -1 65 198 193 -1 7 197 198 -1 199 194 200 +-1 64 194 199 -1 66 200 194 -1 4 199 200 -1 201 202 203 -1 67 202 201 -1 61 +203 202 -1 66 201 203 -1 204 201 197 -1 67 201 204 -1 66 197 201 -1 7 204 197 +-1 184 202 205 -1 61 202 184 -1 67 205 202 -1 5 184 205 -1 200 203 181 -1 66 +203 200 -1 61 181 203 -1 4 200 181 -1 206 207 208 -1 69 207 206 -1 70 208 207 +-1 68 206 208 -1 209 206 210 -1 69 206 209 -1 68 210 206 -1 8 209 210 -1 211 +207 212 -1 70 207 211 -1 69 212 207 -1 9 211 212 -1 213 208 214 -1 68 208 213 +-1 70 214 208 -1 6 213 214 -1 215 216 217 -1 71 216 215 -1 65 217 216 -1 70 +215 217 -1 218 215 211 -1 71 215 218 -1 70 211 215 -1 9 218 211 -1 198 216 219 +-1 65 216 198 -1 71 219 216 -1 7 198 219 -1 214 217 195 -1 70 217 214 -1 65 +195 217 -1 6 214 195 -1 220 221 222 -1 73 221 220 -1 74 222 221 -1 72 220 222 +-1 223 220 224 -1 73 220 223 -1 72 224 220 -1 10 223 224 -1 225 221 226 -1 74 +221 225 -1 73 226 221 -1 11 225 226 -1 227 222 228 -1 72 222 227 -1 74 228 222 +-1 8 227 228 -1 229 230 231 -1 75 230 229 -1 69 231 230 -1 74 229 231 -1 232 +229 225 -1 75 229 232 -1 74 225 229 -1 11 232 225 -1 212 230 233 -1 69 230 212 +-1 75 233 230 -1 9 212 233 -1 228 231 209 -1 74 231 228 -1 69 209 231 -1 8 228 +209 -1 234 235 236 -1 77 235 234 -1 78 236 235 -1 76 234 236 -1 237 234 238 +-1 77 234 237 -1 76 238 234 -1 12 237 238 -1 239 235 240 -1 78 235 239 -1 77 +240 235 -1 13 239 240 -1 241 236 242 -1 76 236 241 -1 78 242 236 -1 10 241 242 +-1 243 244 245 -1 79 244 243 -1 73 245 244 -1 78 243 245 -1 246 243 239 -1 79 +243 246 -1 78 239 243 -1 13 246 239 -1 226 244 247 -1 73 244 226 -1 79 247 244 +-1 11 226 247 -1 242 245 223 -1 78 245 242 -1 73 223 245 -1 10 242 223 -1 248 +249 250 -1 81 249 248 -1 82 250 249 -1 80 248 250 -1 251 248 252 -1 81 248 251 +-1 80 252 248 -1 14 251 252 -1 253 249 254 -1 82 249 253 -1 81 254 249 -1 15 +253 254 -1 255 250 256 -1 80 250 255 -1 82 256 250 -1 12 255 256 -1 257 258 +259 -1 83 258 257 -1 77 259 258 -1 82 257 259 -1 260 257 253 -1 83 257 260 +-1 82 253 257 -1 15 260 253 -1 240 258 261 -1 77 258 240 -1 83 261 258 -1 13 +240 261 -1 256 259 237 -1 82 259 256 -1 77 237 259 -1 12 256 237 -1 262 263 +264 -1 85 263 262 -1 86 264 263 -1 84 262 264 -1 265 262 266 -1 85 262 265 +-1 84 266 262 -1 16 265 266 -1 267 263 268 -1 86 263 267 -1 85 268 263 -1 17 +267 268 -1 269 264 270 -1 84 264 269 -1 86 270 264 -1 14 269 270 -1 271 272 +273 -1 87 272 271 -1 81 273 272 -1 86 271 273 -1 274 271 267 -1 87 271 274 +-1 86 267 271 -1 17 274 267 -1 254 272 275 -1 81 272 254 -1 87 275 272 -1 15 +254 275 -1 270 273 251 -1 86 273 270 -1 81 251 273 -1 14 270 251 -1 276 277 +278 -1 89 277 276 -1 90 278 277 -1 88 276 278 -1 279 276 280 -1 89 276 279 +-1 88 280 276 -1 18 279 280 -1 281 277 282 -1 90 277 281 -1 89 282 277 -1 19 +281 282 -1 283 278 284 -1 88 278 283 -1 90 284 278 -1 16 283 284 -1 285 286 +287 -1 91 286 285 -1 85 287 286 -1 90 285 287 -1 288 285 281 -1 91 285 288 +-1 90 281 285 -1 19 288 281 -1 268 286 289 -1 85 286 268 -1 91 289 286 -1 17 +268 289 -1 284 287 265 -1 90 287 284 -1 85 265 287 -1 16 284 265 -1 290 291 +292 -1 93 291 290 -1 94 292 291 -1 92 290 292 -1 293 290 294 -1 93 290 293 +-1 92 294 290 -1 20 293 294 -1 295 291 296 -1 94 291 295 -1 93 296 291 -1 21 +295 296 -1 297 292 298 -1 92 292 297 -1 94 298 292 -1 18 297 298 -1 299 300 +301 -1 95 300 299 -1 89 301 300 -1 94 299 301 -1 302 299 295 -1 95 299 302 +-1 94 295 299 -1 21 302 295 -1 282 300 303 -1 89 300 282 -1 95 303 300 -1 19 +282 303 -1 298 301 279 -1 94 301 298 -1 89 279 301 -1 18 298 279 -1 304 305 +306 -1 97 305 304 -1 98 306 305 -1 96 304 306 -1 307 304 308 -1 97 304 307 +-1 96 308 304 -1 22 307 308 -1 309 305 310 -1 98 305 309 -1 97 310 305 -1 23 +309 310 -1 311 306 312 -1 96 306 311 -1 98 312 306 -1 20 311 312 -1 313 314 +315 -1 99 314 313 -1 93 315 314 -1 98 313 315 -1 316 313 309 -1 99 313 316 +-1 98 309 313 -1 23 316 309 -1 296 314 317 -1 93 314 296 -1 99 317 314 -1 21 +296 317 -1 312 315 293 -1 98 315 312 -1 93 293 315 -1 20 312 293 -1 318 319 +320 -1 101 319 318 -1 102 320 319 -1 100 318 320 -1 321 318 322 -1 101 318 321 +-1 100 322 318 -1 24 321 322 -1 323 319 324 -1 102 319 323 -1 101 324 319 +-1 25 323 324 -1 325 320 326 -1 100 320 325 -1 102 326 320 -1 22 325 326 -1 +327 328 329 -1 103 328 327 -1 97 329 328 -1 102 327 329 -1 330 327 323 -1 103 +327 330 -1 102 323 327 -1 25 330 323 -1 310 328 331 -1 97 328 310 -1 103 331 +328 -1 23 310 331 -1 326 329 307 -1 102 329 326 -1 97 307 329 -1 22 326 307 +-1 332 333 334 -1 105 333 332 -1 106 334 333 -1 104 332 334 -1 335 332 336 +-1 105 332 335 -1 104 336 332 -1 26 335 336 -1 337 333 338 -1 106 333 337 +-1 105 338 333 -1 27 337 338 -1 339 334 340 -1 104 334 339 -1 106 340 334 +-1 24 339 340 -1 341 342 343 -1 107 342 341 -1 101 343 342 -1 106 341 343 +-1 344 341 337 -1 107 341 344 -1 106 337 341 -1 27 344 337 -1 324 342 345 +-1 101 342 324 -1 107 345 342 -1 25 324 345 -1 340 343 321 -1 106 343 340 +-1 101 321 343 -1 24 340 321 -1 346 347 348 -1 109 347 346 -1 110 348 347 +-1 108 346 348 -1 349 346 350 -1 109 346 349 -1 108 350 346 -1 28 349 350 +-1 351 347 352 -1 110 347 351 -1 109 352 347 -1 29 351 352 -1 353 348 354 +-1 108 348 353 -1 110 354 348 -1 26 353 354 -1 355 356 357 -1 111 356 355 +-1 105 357 356 -1 110 355 357 -1 358 355 351 -1 111 355 358 -1 110 351 355 +-1 29 358 351 -1 338 356 359 -1 105 356 338 -1 111 359 356 -1 27 338 359 -1 +354 357 335 -1 110 357 354 -1 105 335 357 -1 26 354 335 -1 360 361 362 -1 113 +361 360 -1 114 362 361 -1 112 360 362 -1 363 360 364 -1 113 360 363 -1 112 364 +360 -1 30 363 364 -1 365 361 366 -1 114 361 365 -1 113 366 361 -1 31 365 366 +-1 367 362 368 -1 112 362 367 -1 114 368 362 -1 28 367 368 -1 369 370 371 +-1 115 370 369 -1 109 371 370 -1 114 369 371 -1 372 369 365 -1 115 369 372 +-1 114 365 369 -1 31 372 365 -1 352 370 373 -1 109 370 352 -1 115 373 370 +-1 29 352 373 -1 368 371 349 -1 114 371 368 -1 109 349 371 -1 28 368 349 -1 +374 375 376 -1 117 375 374 -1 118 376 375 -1 116 374 376 -1 377 374 378 -1 117 +374 377 -1 116 378 374 -1 32 377 378 -1 379 375 380 -1 118 375 379 -1 117 380 +375 -1 33 379 380 -1 381 376 382 -1 116 376 381 -1 118 382 376 -1 30 381 382 +-1 383 384 385 -1 119 384 383 -1 113 385 384 -1 118 383 385 -1 386 383 379 +-1 119 383 386 -1 118 379 383 -1 33 386 379 -1 366 384 387 -1 113 384 366 +-1 119 387 384 -1 31 366 387 -1 382 385 363 -1 118 385 382 -1 113 363 385 +-1 30 382 363 -1 388 389 390 -1 121 389 388 -1 122 390 389 -1 120 388 390 +-1 391 388 392 -1 121 388 391 -1 120 392 388 -1 34 391 392 -1 393 389 394 +-1 122 389 393 -1 121 394 389 -1 35 393 394 -1 395 390 396 -1 120 390 395 +-1 122 396 390 -1 32 395 396 -1 397 398 399 -1 123 398 397 -1 117 399 398 +-1 122 397 399 -1 400 397 393 -1 123 397 400 -1 122 393 397 -1 35 400 393 +-1 380 398 401 -1 117 398 380 -1 123 401 398 -1 33 380 401 -1 396 399 377 +-1 122 399 396 -1 117 377 399 -1 32 396 377 -1 402 403 404 -1 125 403 402 +-1 126 404 403 -1 124 402 404 -1 405 402 406 -1 125 402 405 -1 124 406 402 +-1 36 405 406 -1 407 403 408 -1 126 403 407 -1 125 408 403 -1 37 407 408 -1 +409 404 410 -1 124 404 409 -1 126 410 404 -1 34 409 410 -1 411 412 413 -1 127 +412 411 -1 121 413 412 -1 126 411 413 -1 414 411 407 -1 127 411 414 -1 126 407 +411 -1 37 414 407 -1 394 412 415 -1 121 412 394 -1 127 415 412 -1 35 394 415 +-1 410 413 391 -1 126 413 410 -1 121 391 413 -1 34 410 391 -1 416 417 418 +-1 129 417 416 -1 130 418 417 -1 128 416 418 -1 419 416 420 -1 129 416 419 +-1 128 420 416 -1 38 419 420 -1 421 417 422 -1 130 417 421 -1 129 422 417 +-1 39 421 422 -1 423 418 424 -1 128 418 423 -1 130 424 418 -1 36 423 424 -1 +425 426 427 -1 131 426 425 -1 125 427 426 -1 130 425 427 -1 428 425 421 -1 131 +425 428 -1 130 421 425 -1 39 428 421 -1 408 426 429 -1 125 426 408 -1 131 429 +426 -1 37 408 429 -1 424 427 405 -1 130 427 424 -1 125 405 427 -1 36 424 405 +-1 430 431 432 -1 133 431 430 -1 134 432 431 -1 132 430 432 -1 433 430 434 +-1 133 430 433 -1 132 434 430 -1 40 433 434 -1 435 431 436 -1 134 431 435 +-1 133 436 431 -1 41 435 436 -1 437 432 438 -1 132 432 437 -1 134 438 432 +-1 38 437 438 -1 439 440 441 -1 135 440 439 -1 129 441 440 -1 134 439 441 +-1 442 439 435 -1 135 439 442 -1 134 435 439 -1 41 442 435 -1 422 440 443 +-1 129 440 422 -1 135 443 440 -1 39 422 443 -1 438 441 419 -1 134 441 438 +-1 129 419 441 -1 38 438 419 -1 444 445 446 -1 137 445 444 -1 138 446 445 +-1 136 444 446 -1 447 444 448 -1 137 444 447 -1 136 448 444 -1 42 447 448 +-1 449 445 450 -1 138 445 449 -1 137 450 445 -1 43 449 450 -1 451 446 452 +-1 136 446 451 -1 138 452 446 -1 40 451 452 -1 453 454 455 -1 139 454 453 +-1 133 455 454 -1 138 453 455 -1 456 453 449 -1 139 453 456 -1 138 449 453 +-1 43 456 449 -1 436 454 457 -1 133 454 436 -1 139 457 454 -1 41 436 457 -1 +452 455 433 -1 138 455 452 -1 133 433 455 -1 40 452 433 -1 458 459 460 -1 141 +459 458 -1 142 460 459 -1 140 458 460 -1 461 458 462 -1 141 458 461 -1 140 462 +458 -1 44 461 462 -1 463 459 464 -1 142 459 463 -1 141 464 459 -1 45 463 464 +-1 465 460 466 -1 140 460 465 -1 142 466 460 -1 42 465 466 -1 467 468 469 +-1 143 468 467 -1 137 469 468 -1 142 467 469 -1 470 467 463 -1 143 467 470 +-1 142 463 467 -1 45 470 463 -1 450 468 471 -1 137 468 450 -1 143 471 468 +-1 43 450 471 -1 466 469 447 -1 142 469 466 -1 137 447 469 -1 42 466 447 -1 +472 473 474 -1 145 473 472 -1 146 474 473 -1 144 472 474 -1 475 472 476 -1 145 +472 475 -1 144 476 472 -1 46 475 476 -1 477 473 478 -1 146 473 477 -1 145 478 +473 -1 47 477 478 -1 479 474 480 -1 144 474 479 -1 146 480 474 -1 44 479 480 +-1 481 482 483 -1 147 482 481 -1 141 483 482 -1 146 481 483 -1 484 481 477 +-1 147 481 484 -1 146 477 481 -1 47 484 477 -1 464 482 485 -1 141 482 464 +-1 147 485 482 -1 45 464 485 -1 480 483 461 -1 146 483 480 -1 141 461 483 +-1 44 480 461 -1 486 487 488 -1 149 487 486 -1 150 488 487 -1 148 486 488 +-1 489 486 490 -1 149 486 489 -1 148 490 486 -1 48 489 490 -1 491 487 492 +-1 150 487 491 -1 149 492 487 -1 49 491 492 -1 493 488 494 -1 148 488 493 +-1 150 494 488 -1 46 493 494 -1 495 496 497 -1 151 496 495 -1 145 497 496 +-1 150 495 497 -1 498 495 491 -1 151 495 498 -1 150 491 495 -1 49 498 491 +-1 478 496 499 -1 145 496 478 -1 151 499 496 -1 47 478 499 -1 494 497 475 +-1 150 497 494 -1 145 475 497 -1 46 494 475 -1 500 501 502 -1 153 501 500 +-1 154 502 501 -1 152 500 502 -1 503 500 504 -1 153 500 503 -1 152 504 500 +-1 50 503 504 -1 505 501 506 -1 154 501 505 -1 153 506 501 -1 51 505 506 -1 +507 502 508 -1 152 502 507 -1 154 508 502 -1 48 507 508 -1 509 510 511 -1 155 +510 509 -1 149 511 510 -1 154 509 511 -1 512 509 505 -1 155 509 512 -1 154 505 +509 -1 51 512 505 -1 492 510 513 -1 149 510 492 -1 155 513 510 -1 49 492 513 +-1 508 511 489 -1 154 511 508 -1 149 489 511 -1 48 508 489 -1 514 515 516 +-1 157 515 514 -1 158 516 515 -1 156 514 516 -1 517 514 518 -1 157 514 517 +-1 156 518 514 -1 52 517 518 -1 519 515 520 -1 158 515 519 -1 157 520 515 +-1 53 519 520 -1 521 516 522 -1 156 516 521 -1 158 522 516 -1 50 521 522 -1 +523 524 525 -1 159 524 523 -1 153 525 524 -1 158 523 525 -1 526 523 519 -1 159 +523 526 -1 158 519 523 -1 53 526 519 -1 506 524 527 -1 153 524 506 -1 159 527 +524 -1 51 506 527 -1 522 525 503 -1 158 525 522 -1 153 503 525 -1 50 522 503 +-1 528 529 530 -1 161 529 528 -1 157 530 529 -1 160 528 530 -1 531 528 532 +-1 161 528 531 -1 160 532 528 -1 54 531 532 -1 520 529 533 -1 157 529 520 +-1 161 533 529 -1 53 520 533 -1 534 530 517 -1 160 530 534 -1 157 517 530 +-1 52 534 517 -1 ] coord DEF Hills1_Coord Coordinate { +point [ 200 0 -250 190 0 -240 250 60 -240 250 50 -250 210 0 -220 250 40 -220 +220 0 -200 250 30 -200 190 0 -180 250 60 -180 200 0 -160 250 50 -160 190 0 +-140 250 60 -140 180 0 -130 250 70 -130 190 0 -110 250 60 -110 200 0 -100 +250 50 -100 220 0 -90 250 30 -90 210 0 -70 250 40 -70 200 0 -60 250 50 -60 +190 0 -40 250 60 -40 210 0 -30 250 40 -30 220 0 0 250 30 0 200 0 10 250 50 +10 210 0 30 250 40 30 190 0 60 250 60 60 200 0 80 250 50 80 210 0 90 250 40 +90 220 0 120 250 30 120 210 0 140 250 40 140 200 0 150 250 50 150 210 0 160 +250 40 160 230 0 170 250 20 170 225 0 175 250 25 175 250 0 250 186.875 -7.08333 +-246.45833 221.875 33.75 -240.625 228.125 32.91667 -245.20833 246.875 51.875 +-247.5 230.625 30.41667 -250.20833 193.75 -5.625 -231.25 233.125 22.5 -220 +221.875 22.5 -229.375 250 51.25 -230.625 210.625 -6.25 -211.25 239.375 16.875 +-200 233.125 16.875 -208.75 250 31.875 -210 199.375 -5 -191.25 221.25 33.75 +-180 239.375 33.75 -188.75 250 45 -190 188.125 -7.5 -171.25 229.375 28.125 +-160 221.25 28.125 -168.75 250 56.25 -170 188.125 -7.5 -150.625 223.75 33.75 +-139.375 229.375 33.75 -148.75 250 53.75 -149.375 176.875 -7.5 -136.25 218.125 +39.375 -130.625 223.75 39.375 -133.75 250 66.25 -135 176.875 -7.5 -120.625 +223.75 33.75 -109.375 218.125 33.75 -119.375 250 66.25 -120 188.125 -5.625 +-105.625 227.5 28.125 -100 223.75 28.125 -103.75 250 55.625 -104.375 205 -5.625 +-96.25 238.75 16.875 -90.625 227.5 16.875 -94.375 250 38.75 -95.625 210.625 +-5 -80.625 232.5 22.5 -69.375 238.75 22.5 -79.375 250 33.125 -80 199.375 -6.25 +-66.25 228.125 28.125 -60.625 232.5 28.125 -63.75 250 45 -65 188.125 -5.625 +-50.625 221.875 33.75 -39.375 228.125 33.75 -49.375 250 56.875 -50 193.75 +-5.625 -36.875 233.125 22.5 -31.25 221.875 22.5 -33.75 250 51.25 -35.625 210.625 +-5.625 -15.625 238.75 16.875 1.25 233.125 16.875 -14.375 250 32.5 -15 205 +-4.375 3.75 226.25 28.125 9.375 238.75 28.125 6.875 250 40 5.625 199.375 -6.875 +18.125 234.375 22.5 29.375 226.25 22.5 20.625 250 45 18.75 193.75 -5.625 43.75 +221.875 33.75 60.625 234.375 33.75 46.25 250 50 45 188.125 -6.25 69.375 228.125 +28.125 80.625 221.875 28.125 71.875 250 56.875 71.25 199.375 -5 83.125 232.5 +22.5 88.75 228.125 22.5 86.25 250 45 84.375 210.625 -5 103.75 238.125 16.875 +120.625 232.5 16.875 105.625 250 33.75 104.375 210.625 -5 129.375 232.5 22.5 +140.625 238.125 22.5 131.875 250 33.75 131.25 199.375 -5 144.375 226.875 28.125 +150 232.5 28.125 146.25 250 46.25 145.625 199.375 -4.375 154.375 231.875 22.5 +160 226.875 22.5 155.625 250 46.875 155 216.25 -4.0625 164.6875 242.8125 11.25 +170.3125 231.875 11.25 165.625 250 29.0625 165.3125 224.27083 -2.29167 169.27083 +238.02083 14.58333 172.39583 242.8125 14.0625 173.125 250 22.8125 168.4375 +239.89583 .52083 218.95833 248.4375 9.6875 217.5 198.35938 7.34375 -243.82813 +224.17969 33.5026 -243.21615 201.95313 7.03125 -246.79688 197.96875 9.84375 +-241.5625 185.625 -5.6901 -243.85417 241.79688 50.9375 -243.125 239.84375 +51.17188 -239.29688 188.52865 -8.88021 -248.71094 210.26042 11.77083 -248.28125 +241.875 47.44792 -246.30208 240.07813 42.17448 -249.3099 227.65625 28.67188 +-248.67188 250 57.69531 -243.55469 244.45313 44.67448 -249.9349 247.42188 +48.97135 -249.54427 214.11458 13.54167 -250.46875 208.98438 4.21875 -225.9375 +226.71875 21.60156 -224.80469 202.26563 4.21875 -231.95313 215.78125 6.32813 +-221.40625 200.07813 -4.17969 -226.28906 239.45313 34.45313 -224.76563 243.67188 +32.03125 -218.67188 189.60938 -4.1276 -235.92448 197.96875 4.21875 -235.9375 +242.96875 42.65625 -228.90625 242.96875 48.28125 -234.53125 221.83594 29.07552 +-235.22135 251.05469 46.17188 -224.72656 251.36719 58.02083 -235.65104 221.48438 +1.64063 -205.9375 235.70313 15.03906 -204.53125 217.89063 1.64063 -211.71875 +224.84375 2.10938 -201.40625 215.19531 -4.25781 -206.32813 243.67188 23.20313 +-204.53125 246.01563 24.84375 -198.75 209.53125 -4.21875 -215.625 215.78125 +3.51563 -215.78125 245.78125 27.42188 -208.28125 245.78125 30.23438 -213.90625 +234.10156 20.03906 -214.21875 250.66406 31.25 -204.375 251.75781 37.14844 +-215.03906 205 8.90625 -185.9375 229.60938 34.29688 -184.53125 215.54688 8.90625 +-191.71875 197.8125 9.14063 -181.40625 192.30469 -4.45313 -186.32813 246.01563 +50.625 -184.53125 239.21875 52.03125 -178.75 208.90625 -4.53125 -195.625 224.84375 +10.54688 -195.78125 247.34375 44.29688 -188.28125 247.34375 35.85938 -193.90625 +241.25 26.01563 -194.21875 251.79688 55.07813 -184.375 251.05469 37.38281 +-195.07813 203.35938 4.92188 -165.9375 224.45313 26.5625 -164.57031 199.0625 +4.92188 -171.71875 207.34375 6.32813 -161.40625 192.73438 -5.50781 -166.36719 +239.21875 41.32813 -164.60938 242.26563 41.01563 -158.75 185.89844 -5.66406 +-175.625 197.8125 6.32813 -175.78125 242.8125 48.51563 -168.28125 242.8125 +51.32813 -173.90625 220.78125 31.875 -174.21875 251.28906 54.25781 -164.375 +250.66406 60.15625 -175.07813 200 7.03125 -145.23438 225.70313 32.8125 -143.86719 +203.35938 7.03125 -151.25 198.4375 7.73438 -140.54688 187.30469 -5.85938 -145.66406 +242.26563 49.375 -143.90625 240.15625 50.9375 -138.59375 192.57813 -5.85938 +-155.3125 207.34375 9.14063 -155.78125 244.84375 49.45313 -147.8125 244.84375 +46.64063 -153.4375 230.85938 31.71875 -154.17969 251.64063 58.75 -144.0625 +251.79688 52.85156 -154.72656 190.70313 9.14063 -133.67188 219.92188 38.90625 +-132.65625 194.0625 9.14063 -136.09375 189.53125 10.54688 -131.5625 175.70313 +-6.21094 -133.86719 240.15625 58.98438 -132.65625 238.04688 58.98438 -129.60938 +180.97656 -6.21094 -137.8125 198.4375 10.54688 -137.73438 243.4375 60.23438 +-133.98438 243.4375 57.42188 -136.79688 224.6875 37.65625 -136.13281 251.99219 +70.42969 -132.14844 251.28906 64.53125 -137.26563 194.0625 7.03125 -115.23438 +219.92188 32.69531 -114.17969 190.70313 7.03125 -121.48438 198.4375 9.14063 +-110.54688 180.97656 -5.97656 -115.66406 238.04688 50.70313 -114.21875 240.15625 +49.375 -108.51563 175.70313 -5.85938 -125.625 189.53125 7.73438 -125.9375 +242.03125 57.42188 -118.4375 242.03125 60.23438 -124.0625 218.51563 37.65625 +-125.19531 251.64063 64.53125 -114.41406 251.64063 70.42969 -125.39063 202.65625 +6.32813 -102.96875 224.76563 27.77344 -101.95313 200 6.32813 -105.625 206.875 +8.4375 -100.70313 191.52344 -4.57031 -103.16406 240.15625 43.20313 -101.95313 +241.5625 41.09375 -99.45313 187.42188 -4.45313 -107.5 198.4375 6.32813 -107.73438 +243.4375 48.04688 -103.51563 243.4375 50.85938 -106.32813 224.6875 31.83594 +-106.09375 251.40625 53.90625 -101.83594 251.99219 59.80469 -106.875 218.28125 +2.10938 -93.67188 232.5 15.42969 -92.92969 211.5625 2.10938 -96.32813 224.6875 +3.51563 -91.5625 211.67969 -3.90625 -93.82813 241.5625 24.6875 -92.89063 245.78125 +23.98438 -89.53125 201.13281 -3.86719 -98.125 206.875 2.8125 -97.89063 244.375 +31.875 -94.60938 244.375 37.5 -97.42188 227.92969 23.04688 -97.14844 250.70313 +34.49219 -92.5 251.64063 46.28906 -97.92969 217.65625 4.6875 -75.23438 235.07813 +21.99219 -74.14063 221.25 4.6875 -81.48438 215.625 4.92188 -70.54688 209.21875 +-3.82813 -75.625 245.78125 32.8125 -74.14063 243.4375 34.29688 -68.51563 214.88281 +-3.86719 -85.625 224.6875 6.32813 -85.9375 247.1875 31.17188 -78.4375 247.1875 +28.35938 -84.0625 240.27344 20.11719 -85.19531 251.09375 37.85156 -74.41406 +251.40625 31.95313 -85.35156 208.82813 5.85938 -63.67188 229.60938 27.22656 +-62.65625 211.71875 5.85938 -66.09375 207.03125 6.32813 -61.5625 198.35938 +-4.92188 -63.86719 243.4375 40.9375 -62.65625 241.79688 42.42188 -59.60938 +202.85156 -4.96094 -67.8125 215.625 7.73438 -67.73438 245.625 41.48438 -63.98438 +245.625 38.67188 -66.79688 233.125 26.01563 -66.13281 251.36719 49.17969 -62.14844 +250.70313 43.28125 -67.22656 199.29688 8.4375 -45.23438 224.14063 33.78906 +-44.10156 202.89063 8.4375 -51.48438 197.96875 9.84375 -40.54688 186.32813 +-4.92188 -45.58594 241.79688 51.25 -44.0625 239.45313 50.54688 -38.51563 191.99219 +-4.88281 -55.625 207.03125 9.14063 -55.9375 244.53125 51.79688 -48.4375 244.53125 +48.98438 -54.0625 228.90625 31.91406 -55.19531 251.75781 60.50781 -44.41406 +251.09375 54.60938 -55.39063 208.98438 4.21875 -34.375 226.71875 21.5625 -33.32031 +202.26563 4.21875 -36.5625 215.78125 6.32813 -32.42188 200.07813 -4.21875 +-34.53125 239.45313 34.375 -33.28125 243.67188 32.03125 -29.76563 189.53125 +-4.21875 -38.125 197.96875 4.21875 -37.73438 242.96875 42.65625 -34.45313 +242.96875 48.28125 -37.26563 221.75781 28.98438 -36.17188 251.05469 46.17188 +-32.46094 251.36719 57.96875 -37.57813 221.25 2.10938 -7.5 235.39063 15.39063 +-6.05469 217.89063 2.10938 -17.10938 224.6875 2.8125 -.39063 214.84375 -3.94531 +-8.125 243.67188 23.82813 -6.09375 245.78125 24.76563 2.34375 209.57031 -3.86719 +-23.4375 215.78125 3.51563 -23.98438 245.78125 27.89063 -12.73438 245.78125 +30.70313 -21.17188 234.10156 20.07813 -23.28125 250.70313 31.60156 -6.64063 +251.75781 37.5 -23.20313 211.09375 7.26563 6.32813 231.875 28.51563 7.69531 +218.28125 7.26563 4.14063 206.5625 7.73438 8.4375 200.42969 -3.78906 6.17188 +245.78125 42.42188 7.73438 241.09375 43.04688 10.3125 211.75781 -3.86719 2.5 +224.6875 8.4375 2.42188 247.1875 38.4375 6.64063 247.1875 32.8125 3.82813 +240.27344 23.125 4.88281 251.48438 46.99219 8.20313 251.05469 35.19531 3.4375 +212.42188 3.28125 23.35938 229.60938 20.70313 24.53125 208.125 3.28125 17.57813 +216.09375 4.21875 27.73438 204.02344 -4.92188 23.04688 241.09375 32.1875 24.60938 +244.14063 32.8125 31.17188 197.1875 -5 13.75 206.5625 4.92188 14.0625 244.0625 +38.67188 20.625 244.0625 41.48438 15 225.97656 26.01563 14.72656 250.97656 +43.28125 24.96094 250.70313 49.17969 13.86719 202.26563 8.4375 51.79688 227.34375 +33.86719 53.51563 209.45313 8.4375 42.65625 197.96875 9.14063 58.75 189.45313 +-4.88281 51.13281 244.14063 50.54688 53.4375 239.45313 51.40625 62.10938 200.78125 +-4.84375 36.5625 216.09375 9.84375 36.17188 246.09375 47.34375 47.42188 246.09375 +41.71875 38.98438 236.05469 28.90625 37.69531 251.75781 57.26563 53.39844 +251.48438 45.46875 37.14844 202.89063 5.85938 74.76563 224.14063 27.22656 +76.44531 199.29688 5.85938 68.98438 207.03125 7.73438 79.45313 191.99219 -4.96094 +74.33594 239.45313 42.42188 76.40625 241.79688 40.9375 81.32813 186.32813 +-4.92188 65 197.96875 6.32813 64.375 242.96875 48.98438 72.8125 242.96875 +51.79688 67.1875 221.75781 31.91406 66.83594 251.36719 54.60938 76.28906 250.97656 +60.50781 65.9375 211.71875 4.6875 85.625 229.60938 21.95313 86.71875 208.82813 +4.6875 83.4375 215.625 6.32813 87.57813 202.85156 -3.90625 85.50781 241.79688 +34.21875 86.79688 243.4375 32.8125 90.23438 198.35938 -3.82813 81.875 207.03125 +4.92188 82.26563 244.53125 38.67188 85.54688 244.53125 41.48438 82.73438 228.90625 +26.01563 83.82813 251.09375 43.28125 87.53906 251.75781 49.17969 82.34375 +221.01563 2.57813 111.79688 234.76563 15.78125 113.24219 217.65625 2.57813 +102.42188 224.53125 3.51563 118.75 214.53125 -3.55469 111.17188 243.4375 24.60938 +113.20313 245.54688 24.60938 122.1875 209.25781 -3.55469 96.25 215.625 3.51563 +96.01563 245.625 28.82813 106.79688 245.625 31.64063 98.35938 233.125 20.15625 +96.67969 250.74219 32.30469 113.04688 251.36719 38.20313 96.44531 217.65625 +4.6875 134.76563 234.76563 21.875 136.36719 221.01563 4.6875 128.98438 215.625 +4.92188 139.45313 209.25781 -3.90625 134.25781 245.54688 32.65625 136.25 243.4375 +34.21875 141.32813 214.53125 -3.90625 125 224.53125 6.32813 124.375 247.03125 +31.64063 132.8125 247.03125 28.82813 127.1875 239.29688 20.15625 126.83594 +251.09375 38.20313 136.28906 251.09375 32.30469 125.97656 208.35938 6.79688 +147.03125 228.98438 27.92969 148.00781 211.71875 6.79688 144.375 206.71875 +7.73438 149.29688 197.65625 -4.29688 146.79688 243.4375 42.1875 147.96875 +241.32813 42.26563 150.54688 202.92969 -4.25781 142.5 215.625 7.73438 142.26563 +245.625 42.42188 146.48438 245.625 39.60938 143.67188 233.125 26.09375 143.90625 +251.44531 49.88281 148.16406 250.74219 43.98438 143.04688 211.48438 5.15625 +157.03125 228.67188 22.20703 157.71484 208.35938 5.15625 154.14063 215.46875 +7.03125 159.29688 202.57813 -3.61328 156.81641 241.32813 34.80469 157.69531 +243.20313 32.57813 160.625 197.69531 -3.55469 152.1875 206.71875 4.92188 152.10938 +244.21875 40.07813 155.85938 244.21875 42.89063 153.04688 226.95313 26.13281 +152.89063 251.13281 44.33594 157.8125 251.09375 50.23438 152.42188 226.99219 +1.17188 167.38281 236.875 10 168.32031 220.39063 1.17188 164.375 233.20313 +2.46094 169.72656 222.50651 -2.84505 167.33073 243.20313 16.36719 168.55469 +247.30469 15.58594 170.70313 212.12891 -2.71484 162.34375 215.46875 1.40625 +162.10938 245.46875 23.20313 166.09375 245.46875 28.82813 163.28125 232.14844 +17.28516 162.91016 250.44922 24.39453 167.96875 251.44531 36.19141 162.63672 +228.71094 3.75 170.35156 240.11068 15.13021 170.11068 231.13281 3.55469 170 +229.24479 6.22396 170.72917 222.29818 -2.84505 170.05208 247.5 22.8125 168.98438 +245.50781 21.36719 174.84375 227.13542 -1.94661 169.77214 233.20313 3.86719 +171.13281 248.20313 20.97656 169.96094 248.20313 19.57031 168.55469 244.02995 +13.09245 171.58854 250.7487 24.73307 171.78385 251.13281 21.81641 169.08203 +245.7487 4.83073 223.79557 245.59896 12.66927 200.40365 237.92969 5.85938 +197.61719 248.6849 2.70833 238.52865 246.23047 -.07812 239.23828 249.57031 +18.63281 194.33594 231.71224 -.8138 198.33333 ] + } + texCoord +TextureCoordinate { point [ 0 0 .022 0 .022 1 0 1 .066 0 .066 1 .101 0 .101 +1 .158 0 .158 1 .193 0 .193 1 .228 0 .228 1 .25 0 .25 1 .285 0 .285 1 .307 +0 .307 1 .342 0 .342 1 .377 0 .377 1 .399 0 .399 1 .434 0 .434 1 .469 0 .469 +1 .518 0 .518 1 .553 0 .553 1 .588 0 .588 1 .645 0 .645 1 .68 0 .68 1 .702 +0 .702 1 .751 0 .751 1 .786 0 .786 1 .808 0 .808 1 .83 0 .83 1 .865 0 .865 +1 .876 0 .876 1 1 1 .011 0 .022 .5 .011 .5 .011 1 0 .5 .044 0 .066 .5 .044 +.5 .044 1 .084 0 .101 .5 .084 .5 .084 1 .13 0 .158 .5 .13 .5 .13 1 .175 0 +.193 .5 .175 .5 .175 1 .21 0 .228 .5 .21 .5 .21 1 .239 0 .25 .5 .239 .5 .239 +1 .267 0 .285 .5 .267 .5 .267 1 .296 0 .307 .5 .296 .5 .296 1 .324 0 .342 +.5 .324 .5 .324 1 .359 0 .377 .5 .359 .5 .359 1 .388 0 .399 .5 .388 .5 .388 +1 .416 0 .434 .5 .416 .5 .416 1 .451 0 .469 .5 .451 .5 .451 1 .494 0 .518 +.5 .494 .5 .494 1 .536 0 .553 .5 .536 .5 .536 1 .571 0 .588 .5 .571 .5 .571 +1 .616 0 .645 .5 .616 .5 .616 1 .662 0 .68 .5 .662 .5 .662 1 .691 0 .702 .5 +.691 .5 .691 1 .726 0 .751 .5 .726 .5 .726 1 .769 0 .786 .5 .769 .5 .769 1 +.797 0 .808 .5 .797 .5 .797 1 .819 0 .83 .5 .819 .5 .819 1 .848 0 .865 .5 +.848 .5 .848 1 .871 0 .876 .5 .871 .5 .871 1 .938 .5 .938 1 .017 .25 .017 +.5 .011 .25 .022 .25 .017 0 .017 .75 .022 .75 .006 0 .006 .25 .011 .75 .006 +.75 .006 .5 .017 1 0 .75 .006 1 0 .25 .055 .25 .055 .5 .044 .25 .066 .25 .055 +0 .055 .75 .066 .75 .033 0 .033 .25 .044 .75 .033 .75 .033 .5 .055 1 .033 +1 .093 .25 .093 .5 .084 .25 .101 .25 .093 0 .093 .75 .101 .75 .075 0 .075 +.25 .084 .75 .075 .75 .075 .5 .093 1 .075 1 .144 .25 .144 .5 .13 .25 .158 +.25 .144 0 .144 .75 .158 .75 .115 0 .115 .25 .13 .75 .115 .75 .115 .5 .144 +1 .115 1 .184 .25 .184 .5 .175 .25 .193 .25 .184 0 .184 .75 .193 .75 .166 +0 .166 .25 .175 .75 .166 .75 .166 .5 .184 1 .166 1 .219 .25 .219 .5 .21 .25 +.228 .25 .219 0 .219 .75 .228 .75 .201 0 .201 .25 .21 .75 .201 .75 .201 .5 +.219 1 .201 1 .244 .25 .244 .5 .239 .25 .25 .25 .244 0 .244 .75 .25 .75 .233 +0 .233 .25 .239 .75 .233 .75 .233 .5 .244 1 .233 1 .276 .25 .276 .5 .267 .25 +.285 .25 .276 0 .276 .75 .285 .75 .258 0 .258 .25 .267 .75 .258 .75 .258 .5 +.276 1 .258 1 .301 .25 .301 .5 .296 .25 .307 .25 .301 0 .301 .75 .307 .75 +.29 0 .29 .25 .296 .75 .29 .75 .29 .5 .301 1 .29 1 .333 .25 .333 .5 .324 .25 +.342 .25 .333 0 .333 .75 .342 .75 .316 0 .316 .25 .324 .75 .316 .75 .316 .5 +.333 1 .316 1 .368 .25 .368 .5 .359 .25 .377 .25 .368 0 .368 .75 .377 .75 +.351 0 .351 .25 .359 .75 .351 .75 .351 .5 .368 1 .351 1 .393 .25 .393 .5 .388 +.25 .399 .25 .393 0 .393 .75 .399 .75 .382 0 .382 .25 .388 .75 .382 .75 .382 +.5 .393 1 .382 1 .425 .25 .425 .5 .416 .25 .434 .25 .425 0 .425 .75 .434 .75 +.408 0 .408 .25 .416 .75 .408 .75 .408 .5 .425 1 .408 1 .46 .25 .46 .5 .451 +.25 .469 .25 .46 0 .46 .75 .469 .75 .443 0 .443 .25 .451 .75 .443 .75 .443 +.5 .46 1 .443 1 .506 .25 .506 .5 .494 .25 .518 .25 .506 0 .506 .75 .518 .75 +.481 0 .481 .25 .494 .75 .481 .75 .481 .5 .506 1 .481 1 .545 .25 .545 .5 .536 +.25 .553 .25 .545 0 .545 .75 .553 .75 .527 0 .527 .25 .536 .75 .527 .75 .527 +.5 .545 1 .527 1 .579 .25 .579 .5 .571 .25 .588 .25 .579 0 .579 .75 .588 .75 +.562 0 .562 .25 .571 .75 .562 .75 .562 .5 .579 1 .562 1 .631 .25 .631 .5 .616 +.25 .645 .25 .631 0 .631 .75 .645 .75 .602 0 .602 .25 .616 .75 .602 .75 .602 +.5 .631 1 .602 1 .671 .25 .671 .5 .662 .25 .68 .25 .671 0 .671 .75 .68 .75 +.653 0 .653 .25 .662 .75 .653 .75 .653 .5 .671 1 .653 1 .696 .25 .696 .5 .691 +.25 .702 .25 .696 0 .696 .75 .702 .75 .685 0 .685 .25 .691 .75 .685 .75 .685 +.5 .696 1 .685 1 .739 .25 .739 .5 .726 .25 .751 .25 .739 0 .739 .75 .751 .75 +.714 0 .714 .25 .726 .75 .714 .75 .714 .5 .739 1 .714 1 .777 .25 .777 .5 .769 +.25 .786 .25 .777 0 .777 .75 .786 .75 .76 0 .76 .25 .769 .75 .76 .75 .76 .5 +.777 1 .76 1 .803 .25 .803 .5 .797 .25 .808 .25 .803 0 .803 .75 .808 .75 .792 +0 .792 .25 .797 .75 .792 .75 .792 .5 .803 1 .792 1 .825 .25 .825 .5 .819 .25 +.83 .25 .825 0 .825 .75 .83 .75 .814 0 .814 .25 .819 .75 .814 .75 .814 .5 +.825 1 .814 1 .857 .25 .857 .5 .848 .25 .865 .25 .857 0 .857 .75 .865 .75 +.839 0 .839 .25 .848 .75 .839 .75 .839 .5 .857 1 .839 1 .874 .25 .874 .5 .871 +.25 .876 .25 .874 0 .874 .75 .876 .75 .868 0 .868 .25 .871 .75 .868 .75 .868 +.5 .874 1 .868 1 .938 .75 .907 .75 .907 .5 .969 1 .969 .75 .907 1 .907 .25 +] } + } + } + ] + } + DEF dad_Hills Transform { + translation 0 -1.2 0 + children [ + DEF Hills Shape { + appearance Appearance { + texture ImageTexture { + url [ + "cliff.jpg" + ] + } + textureTransform TextureTransform { + scale 10 1 + } + material USE White + } + geometry DEF Hills_Geo IndexedFaceSet { + creaseAngle 3.000 +coordIndex [ 174 175 176 -1 60 175 174 -1 61 176 175 -1 59 174 176 -1 177 174 +178 -1 60 174 177 -1 59 178 174 -1 1 177 178 -1 179 175 180 -1 61 175 179 +-1 60 180 175 -1 2 179 180 -1 181 176 182 -1 59 176 181 -1 61 182 176 -1 0 181 +182 -1 183 184 185 -1 63 184 183 -1 64 185 184 -1 62 183 185 -1 186 183 187 +-1 63 183 186 -1 62 187 183 -1 3 186 187 -1 188 184 189 -1 64 184 188 -1 63 +189 184 -1 4 188 189 -1 190 185 191 -1 62 185 190 -1 64 191 185 -1 1 190 191 +-1 192 193 194 -1 65 193 192 -1 60 194 193 -1 64 192 194 -1 195 192 188 -1 65 +192 195 -1 64 188 192 -1 4 195 188 -1 180 193 196 -1 60 193 180 -1 65 196 193 +-1 2 180 196 -1 191 194 177 -1 64 194 191 -1 60 177 194 -1 1 191 177 -1 197 +198 199 -1 67 198 197 -1 68 199 198 -1 66 197 199 -1 200 197 201 -1 67 197 200 +-1 66 201 197 -1 5 200 201 -1 202 198 203 -1 68 198 202 -1 67 203 198 -1 6 202 +203 -1 204 199 205 -1 66 199 204 -1 68 205 199 -1 3 204 205 -1 206 207 208 +-1 69 207 206 -1 63 208 207 -1 68 206 208 -1 209 206 202 -1 69 206 209 -1 68 +202 206 -1 6 209 202 -1 189 207 210 -1 63 207 189 -1 69 210 207 -1 4 189 210 +-1 205 208 186 -1 68 208 205 -1 63 186 208 -1 3 205 186 -1 211 212 213 -1 71 +212 211 -1 72 213 212 -1 70 211 213 -1 214 211 215 -1 71 211 214 -1 70 215 211 +-1 7 214 215 -1 216 212 217 -1 72 212 216 -1 71 217 212 -1 8 216 217 -1 218 +213 219 -1 70 213 218 -1 72 219 213 -1 5 218 219 -1 220 221 222 -1 73 221 220 +-1 67 222 221 -1 72 220 222 -1 223 220 216 -1 73 220 223 -1 72 216 220 -1 8 +223 216 -1 203 221 224 -1 67 221 203 -1 73 224 221 -1 6 203 224 -1 219 222 200 +-1 72 222 219 -1 67 200 222 -1 5 219 200 -1 225 226 227 -1 75 226 225 -1 76 +227 226 -1 74 225 227 -1 228 225 229 -1 75 225 228 -1 74 229 225 -1 9 228 229 +-1 230 226 231 -1 76 226 230 -1 75 231 226 -1 10 230 231 -1 232 227 233 -1 74 +227 232 -1 76 233 227 -1 7 232 233 -1 234 235 236 -1 77 235 234 -1 71 236 235 +-1 76 234 236 -1 237 234 230 -1 77 234 237 -1 76 230 234 -1 10 237 230 -1 217 +235 238 -1 71 235 217 -1 77 238 235 -1 8 217 238 -1 233 236 214 -1 76 236 233 +-1 71 214 236 -1 7 233 214 -1 239 240 241 -1 79 240 239 -1 80 241 240 -1 78 +239 241 -1 242 239 243 -1 79 239 242 -1 78 243 239 -1 11 242 243 -1 244 240 +245 -1 80 240 244 -1 79 245 240 -1 12 244 245 -1 246 241 247 -1 78 241 246 +-1 80 247 241 -1 9 246 247 -1 248 249 250 -1 81 249 248 -1 75 250 249 -1 80 +248 250 -1 251 248 244 -1 81 248 251 -1 80 244 248 -1 12 251 244 -1 231 249 +252 -1 75 249 231 -1 81 252 249 -1 10 231 252 -1 247 250 228 -1 80 250 247 +-1 75 228 250 -1 9 247 228 -1 253 254 255 -1 83 254 253 -1 84 255 254 -1 82 +253 255 -1 256 253 257 -1 83 253 256 -1 82 257 253 -1 13 256 257 -1 258 254 +259 -1 84 254 258 -1 83 259 254 -1 14 258 259 -1 260 255 261 -1 82 255 260 +-1 84 261 255 -1 11 260 261 -1 262 263 264 -1 85 263 262 -1 79 264 263 -1 84 +262 264 -1 265 262 258 -1 85 262 265 -1 84 258 262 -1 14 265 258 -1 245 263 +266 -1 79 263 245 -1 85 266 263 -1 12 245 266 -1 261 264 242 -1 84 264 261 +-1 79 242 264 -1 11 261 242 -1 267 268 269 -1 87 268 267 -1 88 269 268 -1 86 +267 269 -1 270 267 271 -1 87 267 270 -1 86 271 267 -1 15 270 271 -1 272 268 +273 -1 88 268 272 -1 87 273 268 -1 16 272 273 -1 274 269 275 -1 86 269 274 +-1 88 275 269 -1 13 274 275 -1 276 277 278 -1 89 277 276 -1 83 278 277 -1 88 +276 278 -1 279 276 272 -1 89 276 279 -1 88 272 276 -1 16 279 272 -1 259 277 +280 -1 83 277 259 -1 89 280 277 -1 14 259 280 -1 275 278 256 -1 88 278 275 +-1 83 256 278 -1 13 275 256 -1 281 282 283 -1 91 282 281 -1 92 283 282 -1 90 +281 283 -1 284 281 285 -1 91 281 284 -1 90 285 281 -1 17 284 285 -1 286 282 +287 -1 92 282 286 -1 91 287 282 -1 18 286 287 -1 288 283 289 -1 90 283 288 +-1 92 289 283 -1 15 288 289 -1 290 291 292 -1 93 291 290 -1 87 292 291 -1 92 +290 292 -1 293 290 286 -1 93 290 293 -1 92 286 290 -1 18 293 286 -1 273 291 +294 -1 87 291 273 -1 93 294 291 -1 16 273 294 -1 289 292 270 -1 92 292 289 +-1 87 270 292 -1 15 289 270 -1 295 296 297 -1 95 296 295 -1 96 297 296 -1 94 +295 297 -1 298 295 299 -1 95 295 298 -1 94 299 295 -1 19 298 299 -1 300 296 +301 -1 96 296 300 -1 95 301 296 -1 20 300 301 -1 302 297 303 -1 94 297 302 +-1 96 303 297 -1 17 302 303 -1 304 305 306 -1 97 305 304 -1 91 306 305 -1 96 +304 306 -1 307 304 300 -1 97 304 307 -1 96 300 304 -1 20 307 300 -1 287 305 +308 -1 91 305 287 -1 97 308 305 -1 18 287 308 -1 303 306 284 -1 96 306 303 +-1 91 284 306 -1 17 303 284 -1 309 310 311 -1 99 310 309 -1 100 311 310 -1 98 +309 311 -1 312 309 313 -1 99 309 312 -1 98 313 309 -1 21 312 313 -1 314 310 +315 -1 100 310 314 -1 99 315 310 -1 22 314 315 -1 316 311 317 -1 98 311 316 +-1 100 317 311 -1 19 316 317 -1 318 319 320 -1 101 319 318 -1 95 320 319 -1 +100 318 320 -1 321 318 314 -1 101 318 321 -1 100 314 318 -1 22 321 314 -1 301 +319 322 -1 95 319 301 -1 101 322 319 -1 20 301 322 -1 317 320 298 -1 100 320 +317 -1 95 298 320 -1 19 317 298 -1 323 324 325 -1 103 324 323 -1 104 325 324 +-1 102 323 325 -1 326 323 327 -1 103 323 326 -1 102 327 323 -1 23 326 327 +-1 328 324 329 -1 104 324 328 -1 103 329 324 -1 24 328 329 -1 330 325 331 +-1 102 325 330 -1 104 331 325 -1 21 330 331 -1 332 333 334 -1 105 333 332 +-1 99 334 333 -1 104 332 334 -1 335 332 328 -1 105 332 335 -1 104 328 332 +-1 24 335 328 -1 315 333 336 -1 99 333 315 -1 105 336 333 -1 22 315 336 -1 331 +334 312 -1 104 334 331 -1 99 312 334 -1 21 331 312 -1 337 338 339 -1 107 338 +337 -1 108 339 338 -1 106 337 339 -1 340 337 341 -1 107 337 340 -1 106 341 337 +-1 25 340 341 -1 342 338 343 -1 108 338 342 -1 107 343 338 -1 26 342 343 -1 +344 339 345 -1 106 339 344 -1 108 345 339 -1 23 344 345 -1 346 347 348 -1 109 +347 346 -1 103 348 347 -1 108 346 348 -1 349 346 342 -1 109 346 349 -1 108 342 +346 -1 26 349 342 -1 329 347 350 -1 103 347 329 -1 109 350 347 -1 24 329 350 +-1 345 348 326 -1 108 348 345 -1 103 326 348 -1 23 345 326 -1 351 352 353 +-1 111 352 351 -1 112 353 352 -1 110 351 353 -1 354 351 355 -1 111 351 354 +-1 110 355 351 -1 27 354 355 -1 356 352 357 -1 112 352 356 -1 111 357 352 +-1 28 356 357 -1 358 353 359 -1 110 353 358 -1 112 359 353 -1 25 358 359 -1 +360 361 362 -1 113 361 360 -1 107 362 361 -1 112 360 362 -1 363 360 356 -1 113 +360 363 -1 112 356 360 -1 28 363 356 -1 343 361 364 -1 107 361 343 -1 113 364 +361 -1 26 343 364 -1 359 362 340 -1 112 362 359 -1 107 340 362 -1 25 359 340 +-1 365 366 367 -1 115 366 365 -1 116 367 366 -1 114 365 367 -1 368 365 369 +-1 115 365 368 -1 114 369 365 -1 29 368 369 -1 370 366 371 -1 116 366 370 +-1 115 371 366 -1 30 370 371 -1 372 367 373 -1 114 367 372 -1 116 373 367 +-1 27 372 373 -1 374 375 376 -1 117 375 374 -1 111 376 375 -1 116 374 376 +-1 377 374 370 -1 117 374 377 -1 116 370 374 -1 30 377 370 -1 357 375 378 +-1 111 375 357 -1 117 378 375 -1 28 357 378 -1 373 376 354 -1 116 376 373 +-1 111 354 376 -1 27 373 354 -1 379 380 381 -1 119 380 379 -1 120 381 380 +-1 118 379 381 -1 382 379 383 -1 119 379 382 -1 118 383 379 -1 31 382 383 +-1 384 380 385 -1 120 380 384 -1 119 385 380 -1 32 384 385 -1 386 381 387 +-1 118 381 386 -1 120 387 381 -1 29 386 387 -1 388 389 390 -1 121 389 388 +-1 115 390 389 -1 120 388 390 -1 391 388 384 -1 121 388 391 -1 120 384 388 +-1 32 391 384 -1 371 389 392 -1 115 389 371 -1 121 392 389 -1 30 371 392 -1 +387 390 368 -1 120 390 387 -1 115 368 390 -1 29 387 368 -1 393 394 395 -1 123 +394 393 -1 124 395 394 -1 122 393 395 -1 396 393 397 -1 123 393 396 -1 122 397 +393 -1 33 396 397 -1 398 394 399 -1 124 394 398 -1 123 399 394 -1 34 398 399 +-1 400 395 401 -1 122 395 400 -1 124 401 395 -1 31 400 401 -1 402 403 404 +-1 125 403 402 -1 119 404 403 -1 124 402 404 -1 405 402 398 -1 125 402 405 +-1 124 398 402 -1 34 405 398 -1 385 403 406 -1 119 403 385 -1 125 406 403 +-1 32 385 406 -1 401 404 382 -1 124 404 401 -1 119 382 404 -1 31 401 382 -1 +407 408 409 -1 127 408 407 -1 128 409 408 -1 126 407 409 -1 410 407 411 -1 127 +407 410 -1 126 411 407 -1 35 410 411 -1 412 408 413 -1 128 408 412 -1 127 413 +408 -1 36 412 413 -1 414 409 415 -1 126 409 414 -1 128 415 409 -1 33 414 415 +-1 416 417 418 -1 129 417 416 -1 123 418 417 -1 128 416 418 -1 419 416 412 +-1 129 416 419 -1 128 412 416 -1 36 419 412 -1 399 417 420 -1 123 417 399 +-1 129 420 417 -1 34 399 420 -1 415 418 396 -1 128 418 415 -1 123 396 418 +-1 33 415 396 -1 421 422 423 -1 131 422 421 -1 132 423 422 -1 130 421 423 +-1 424 421 425 -1 131 421 424 -1 130 425 421 -1 37 424 425 -1 426 422 427 +-1 132 422 426 -1 131 427 422 -1 38 426 427 -1 428 423 429 -1 130 423 428 +-1 132 429 423 -1 35 428 429 -1 430 431 432 -1 133 431 430 -1 127 432 431 +-1 132 430 432 -1 433 430 426 -1 133 430 433 -1 132 426 430 -1 38 433 426 +-1 413 431 434 -1 127 431 413 -1 133 434 431 -1 36 413 434 -1 429 432 410 +-1 132 432 429 -1 127 410 432 -1 35 429 410 -1 435 436 437 -1 135 436 435 +-1 136 437 436 -1 134 435 437 -1 438 435 439 -1 135 435 438 -1 134 439 435 +-1 39 438 439 -1 440 436 441 -1 136 436 440 -1 135 441 436 -1 40 440 441 -1 +442 437 443 -1 134 437 442 -1 136 443 437 -1 37 442 443 -1 444 445 446 -1 137 +445 444 -1 131 446 445 -1 136 444 446 -1 447 444 440 -1 137 444 447 -1 136 440 +444 -1 40 447 440 -1 427 445 448 -1 131 445 427 -1 137 448 445 -1 38 427 448 +-1 443 446 424 -1 136 446 443 -1 131 424 446 -1 37 443 424 -1 449 450 451 +-1 139 450 449 -1 140 451 450 -1 138 449 451 -1 452 449 453 -1 139 449 452 +-1 138 453 449 -1 41 452 453 -1 454 450 455 -1 140 450 454 -1 139 455 450 +-1 42 454 455 -1 456 451 457 -1 138 451 456 -1 140 457 451 -1 39 456 457 -1 +458 459 460 -1 141 459 458 -1 135 460 459 -1 140 458 460 -1 461 458 454 -1 141 +458 461 -1 140 454 458 -1 42 461 454 -1 441 459 462 -1 135 459 441 -1 141 462 +459 -1 40 441 462 -1 457 460 438 -1 140 460 457 -1 135 438 460 -1 39 457 438 +-1 463 464 465 -1 143 464 463 -1 144 465 464 -1 142 463 465 -1 466 463 467 +-1 143 463 466 -1 142 467 463 -1 43 466 467 -1 468 464 469 -1 144 464 468 +-1 143 469 464 -1 44 468 469 -1 470 465 471 -1 142 465 470 -1 144 471 465 +-1 41 470 471 -1 472 473 474 -1 145 473 472 -1 139 474 473 -1 144 472 474 +-1 475 472 468 -1 145 472 475 -1 144 468 472 -1 44 475 468 -1 455 473 476 +-1 139 473 455 -1 145 476 473 -1 42 455 476 -1 471 474 452 -1 144 474 471 +-1 139 452 474 -1 41 471 452 -1 477 478 479 -1 147 478 477 -1 148 479 478 +-1 146 477 479 -1 480 477 481 -1 147 477 480 -1 146 481 477 -1 45 480 481 +-1 482 478 483 -1 148 478 482 -1 147 483 478 -1 46 482 483 -1 484 479 485 +-1 146 479 484 -1 148 485 479 -1 43 484 485 -1 486 487 488 -1 149 487 486 +-1 143 488 487 -1 148 486 488 -1 489 486 482 -1 149 486 489 -1 148 482 486 +-1 46 489 482 -1 469 487 490 -1 143 487 469 -1 149 490 487 -1 44 469 490 -1 +485 488 466 -1 148 488 485 -1 143 466 488 -1 43 485 466 -1 491 492 493 -1 151 +492 491 -1 152 493 492 -1 150 491 493 -1 494 491 495 -1 151 491 494 -1 150 495 +491 -1 47 494 495 -1 496 492 497 -1 152 492 496 -1 151 497 492 -1 48 496 497 +-1 498 493 499 -1 150 493 498 -1 152 499 493 -1 45 498 499 -1 500 501 502 +-1 153 501 500 -1 147 502 501 -1 152 500 502 -1 503 500 496 -1 153 500 503 +-1 152 496 500 -1 48 503 496 -1 483 501 504 -1 147 501 483 -1 153 504 501 +-1 46 483 504 -1 499 502 480 -1 152 502 499 -1 147 480 502 -1 45 499 480 -1 +505 506 507 -1 155 506 505 -1 156 507 506 -1 154 505 507 -1 508 505 509 -1 155 +505 508 -1 154 509 505 -1 49 508 509 -1 510 506 511 -1 156 506 510 -1 155 511 +506 -1 50 510 511 -1 512 507 513 -1 154 507 512 -1 156 513 507 -1 47 512 513 +-1 514 515 516 -1 157 515 514 -1 151 516 515 -1 156 514 516 -1 517 514 510 +-1 157 514 517 -1 156 510 514 -1 50 517 510 -1 497 515 518 -1 151 515 497 +-1 157 518 515 -1 48 497 518 -1 513 516 494 -1 156 516 513 -1 151 494 516 +-1 47 513 494 -1 519 520 521 -1 159 520 519 -1 160 521 520 -1 158 519 521 +-1 522 519 523 -1 159 519 522 -1 158 523 519 -1 51 522 523 -1 524 520 525 +-1 160 520 524 -1 159 525 520 -1 52 524 525 -1 526 521 527 -1 158 521 526 +-1 160 527 521 -1 49 526 527 -1 528 529 530 -1 161 529 528 -1 155 530 529 +-1 160 528 530 -1 531 528 524 -1 161 528 531 -1 160 524 528 -1 52 531 524 +-1 511 529 532 -1 155 529 511 -1 161 532 529 -1 50 511 532 -1 527 530 508 +-1 160 530 527 -1 155 508 530 -1 49 527 508 -1 533 534 535 -1 163 534 533 +-1 164 535 534 -1 162 533 535 -1 536 533 537 -1 163 533 536 -1 162 537 533 +-1 53 536 537 -1 538 534 539 -1 164 534 538 -1 163 539 534 -1 54 538 539 -1 +540 535 541 -1 162 535 540 -1 164 541 535 -1 51 540 541 -1 542 543 544 -1 165 +543 542 -1 159 544 543 -1 164 542 544 -1 545 542 538 -1 165 542 545 -1 164 538 +542 -1 54 545 538 -1 525 543 546 -1 159 543 525 -1 165 546 543 -1 52 525 546 +-1 541 544 522 -1 164 544 541 -1 159 522 544 -1 51 541 522 -1 547 548 549 +-1 167 548 547 -1 168 549 548 -1 166 547 549 -1 550 547 551 -1 167 547 550 +-1 166 551 547 -1 55 550 551 -1 552 548 553 -1 168 548 552 -1 167 553 548 +-1 56 552 553 -1 554 549 555 -1 166 549 554 -1 168 555 549 -1 53 554 555 -1 +556 557 558 -1 169 557 556 -1 163 558 557 -1 168 556 558 -1 559 556 552 -1 169 +556 559 -1 168 552 556 -1 56 559 552 -1 539 557 560 -1 163 557 539 -1 169 560 +557 -1 54 539 560 -1 555 558 536 -1 168 558 555 -1 163 536 558 -1 53 555 536 +-1 561 562 563 -1 171 562 561 -1 172 563 562 -1 170 561 563 -1 564 561 565 +-1 171 561 564 -1 170 565 561 -1 57 564 565 -1 566 562 567 -1 172 562 566 +-1 171 567 562 -1 58 566 567 -1 568 563 569 -1 170 563 568 -1 172 569 563 +-1 55 568 569 -1 570 571 572 -1 173 571 570 -1 167 572 571 -1 172 570 572 +-1 573 570 566 -1 173 570 573 -1 172 566 570 -1 58 573 566 -1 553 571 574 +-1 167 571 553 -1 173 574 571 -1 56 553 574 -1 569 572 550 -1 172 572 569 +-1 167 550 572 -1 55 569 550 -1 ] texCoordIndex +[ 174 175 176 -1 60 175 174 -1 61 176 175 -1 59 174 176 -1 177 174 178 -1 60 +174 177 -1 59 178 174 -1 1 177 178 -1 179 175 180 -1 61 175 179 -1 60 180 175 +-1 2 179 180 -1 181 176 182 -1 59 176 181 -1 61 182 176 -1 0 181 182 -1 183 +184 185 -1 63 184 183 -1 64 185 184 -1 62 183 185 -1 186 183 187 -1 63 183 186 +-1 62 187 183 -1 3 186 187 -1 188 184 189 -1 64 184 188 -1 63 189 184 -1 4 188 +189 -1 190 185 191 -1 62 185 190 -1 64 191 185 -1 1 190 191 -1 192 193 194 +-1 65 193 192 -1 60 194 193 -1 64 192 194 -1 195 192 188 -1 65 192 195 -1 64 +188 192 -1 4 195 188 -1 180 193 196 -1 60 193 180 -1 65 196 193 -1 2 180 196 +-1 191 194 177 -1 64 194 191 -1 60 177 194 -1 1 191 177 -1 197 198 199 -1 67 +198 197 -1 68 199 198 -1 66 197 199 -1 200 197 201 -1 67 197 200 -1 66 201 197 +-1 5 200 201 -1 202 198 203 -1 68 198 202 -1 67 203 198 -1 6 202 203 -1 204 +199 205 -1 66 199 204 -1 68 205 199 -1 3 204 205 -1 206 207 208 -1 69 207 206 +-1 63 208 207 -1 68 206 208 -1 209 206 202 -1 69 206 209 -1 68 202 206 -1 6 +209 202 -1 189 207 210 -1 63 207 189 -1 69 210 207 -1 4 189 210 -1 205 208 186 +-1 68 208 205 -1 63 186 208 -1 3 205 186 -1 211 212 213 -1 71 212 211 -1 72 +213 212 -1 70 211 213 -1 214 211 215 -1 71 211 214 -1 70 215 211 -1 7 214 215 +-1 216 212 217 -1 72 212 216 -1 71 217 212 -1 8 216 217 -1 218 213 219 -1 70 +213 218 -1 72 219 213 -1 5 218 219 -1 220 221 222 -1 73 221 220 -1 67 222 221 +-1 72 220 222 -1 223 220 216 -1 73 220 223 -1 72 216 220 -1 8 223 216 -1 203 +221 224 -1 67 221 203 -1 73 224 221 -1 6 203 224 -1 219 222 200 -1 72 222 219 +-1 67 200 222 -1 5 219 200 -1 225 226 227 -1 75 226 225 -1 76 227 226 -1 74 +225 227 -1 228 225 229 -1 75 225 228 -1 74 229 225 -1 9 228 229 -1 230 226 231 +-1 76 226 230 -1 75 231 226 -1 10 230 231 -1 232 227 233 -1 74 227 232 -1 76 +233 227 -1 7 232 233 -1 234 235 236 -1 77 235 234 -1 71 236 235 -1 76 234 236 +-1 237 234 230 -1 77 234 237 -1 76 230 234 -1 10 237 230 -1 217 235 238 -1 71 +235 217 -1 77 238 235 -1 8 217 238 -1 233 236 214 -1 76 236 233 -1 71 214 236 +-1 7 233 214 -1 239 240 241 -1 79 240 239 -1 80 241 240 -1 78 239 241 -1 242 +239 243 -1 79 239 242 -1 78 243 239 -1 11 242 243 -1 244 240 245 -1 80 240 244 +-1 79 245 240 -1 12 244 245 -1 246 241 247 -1 78 241 246 -1 80 247 241 -1 9 +246 247 -1 248 249 250 -1 81 249 248 -1 75 250 249 -1 80 248 250 -1 251 248 +244 -1 81 248 251 -1 80 244 248 -1 12 251 244 -1 231 249 252 -1 75 249 231 +-1 81 252 249 -1 10 231 252 -1 247 250 228 -1 80 250 247 -1 75 228 250 -1 9 +247 228 -1 253 254 255 -1 83 254 253 -1 84 255 254 -1 82 253 255 -1 256 253 +257 -1 83 253 256 -1 82 257 253 -1 13 256 257 -1 258 254 259 -1 84 254 258 +-1 83 259 254 -1 14 258 259 -1 260 255 261 -1 82 255 260 -1 84 261 255 -1 11 +260 261 -1 262 263 264 -1 85 263 262 -1 79 264 263 -1 84 262 264 -1 265 262 +258 -1 85 262 265 -1 84 258 262 -1 14 265 258 -1 245 263 266 -1 79 263 245 +-1 85 266 263 -1 12 245 266 -1 261 264 242 -1 84 264 261 -1 79 242 264 -1 11 +261 242 -1 267 268 269 -1 87 268 267 -1 88 269 268 -1 86 267 269 -1 270 267 +271 -1 87 267 270 -1 86 271 267 -1 15 270 271 -1 272 268 273 -1 88 268 272 +-1 87 273 268 -1 16 272 273 -1 274 269 275 -1 86 269 274 -1 88 275 269 -1 13 +274 275 -1 276 277 278 -1 89 277 276 -1 83 278 277 -1 88 276 278 -1 279 276 +272 -1 89 276 279 -1 88 272 276 -1 16 279 272 -1 259 277 280 -1 83 277 259 +-1 89 280 277 -1 14 259 280 -1 275 278 256 -1 88 278 275 -1 83 256 278 -1 13 +275 256 -1 281 282 283 -1 91 282 281 -1 92 283 282 -1 90 281 283 -1 284 281 +285 -1 91 281 284 -1 90 285 281 -1 17 284 285 -1 286 282 287 -1 92 282 286 +-1 91 287 282 -1 18 286 287 -1 288 283 289 -1 90 283 288 -1 92 289 283 -1 15 +288 289 -1 290 291 292 -1 93 291 290 -1 87 292 291 -1 92 290 292 -1 293 290 +286 -1 93 290 293 -1 92 286 290 -1 18 293 286 -1 273 291 294 -1 87 291 273 +-1 93 294 291 -1 16 273 294 -1 289 292 270 -1 92 292 289 -1 87 270 292 -1 15 +289 270 -1 295 296 297 -1 95 296 295 -1 96 297 296 -1 94 295 297 -1 298 295 +299 -1 95 295 298 -1 94 299 295 -1 19 298 299 -1 300 296 301 -1 96 296 300 +-1 95 301 296 -1 20 300 301 -1 302 297 303 -1 94 297 302 -1 96 303 297 -1 17 +302 303 -1 304 305 306 -1 97 305 304 -1 91 306 305 -1 96 304 306 -1 307 304 +300 -1 97 304 307 -1 96 300 304 -1 20 307 300 -1 287 305 308 -1 91 305 287 +-1 97 308 305 -1 18 287 308 -1 303 306 284 -1 96 306 303 -1 91 284 306 -1 17 +303 284 -1 309 310 311 -1 99 310 309 -1 100 311 310 -1 98 309 311 -1 312 309 +313 -1 99 309 312 -1 98 313 309 -1 21 312 313 -1 314 310 315 -1 100 310 314 +-1 99 315 310 -1 22 314 315 -1 316 311 317 -1 98 311 316 -1 100 317 311 -1 19 +316 317 -1 318 319 320 -1 101 319 318 -1 95 320 319 -1 100 318 320 -1 321 318 +314 -1 101 318 321 -1 100 314 318 -1 22 321 314 -1 301 319 322 -1 95 319 301 +-1 101 322 319 -1 20 301 322 -1 317 320 298 -1 100 320 317 -1 95 298 320 -1 +19 317 298 -1 323 324 325 -1 103 324 323 -1 104 325 324 -1 102 323 325 -1 326 +323 327 -1 103 323 326 -1 102 327 323 -1 23 326 327 -1 328 324 329 -1 104 324 +328 -1 103 329 324 -1 24 328 329 -1 330 325 331 -1 102 325 330 -1 104 331 325 +-1 21 330 331 -1 332 333 334 -1 105 333 332 -1 99 334 333 -1 104 332 334 -1 +335 332 328 -1 105 332 335 -1 104 328 332 -1 24 335 328 -1 315 333 336 -1 99 +333 315 -1 105 336 333 -1 22 315 336 -1 331 334 312 -1 104 334 331 -1 99 312 +334 -1 21 331 312 -1 337 338 339 -1 107 338 337 -1 108 339 338 -1 106 337 339 +-1 340 337 341 -1 107 337 340 -1 106 341 337 -1 25 340 341 -1 342 338 343 +-1 108 338 342 -1 107 343 338 -1 26 342 343 -1 344 339 345 -1 106 339 344 +-1 108 345 339 -1 23 344 345 -1 346 347 348 -1 109 347 346 -1 103 348 347 +-1 108 346 348 -1 349 346 342 -1 109 346 349 -1 108 342 346 -1 26 349 342 +-1 329 347 350 -1 103 347 329 -1 109 350 347 -1 24 329 350 -1 345 348 326 +-1 108 348 345 -1 103 326 348 -1 23 345 326 -1 351 352 353 -1 111 352 351 +-1 112 353 352 -1 110 351 353 -1 354 351 355 -1 111 351 354 -1 110 355 351 +-1 27 354 355 -1 356 352 357 -1 112 352 356 -1 111 357 352 -1 28 356 357 -1 +358 353 359 -1 110 353 358 -1 112 359 353 -1 25 358 359 -1 360 361 362 -1 113 +361 360 -1 107 362 361 -1 112 360 362 -1 363 360 356 -1 113 360 363 -1 112 356 +360 -1 28 363 356 -1 343 361 364 -1 107 361 343 -1 113 364 361 -1 26 343 364 +-1 359 362 340 -1 112 362 359 -1 107 340 362 -1 25 359 340 -1 365 366 367 +-1 115 366 365 -1 116 367 366 -1 114 365 367 -1 368 365 369 -1 115 365 368 +-1 114 369 365 -1 29 368 369 -1 370 366 371 -1 116 366 370 -1 115 371 366 +-1 30 370 371 -1 372 367 373 -1 114 367 372 -1 116 373 367 -1 27 372 373 -1 +374 375 376 -1 117 375 374 -1 111 376 375 -1 116 374 376 -1 377 374 370 -1 117 +374 377 -1 116 370 374 -1 30 377 370 -1 357 375 378 -1 111 375 357 -1 117 378 +375 -1 28 357 378 -1 373 376 354 -1 116 376 373 -1 111 354 376 -1 27 373 354 +-1 379 380 381 -1 119 380 379 -1 120 381 380 -1 118 379 381 -1 382 379 383 +-1 119 379 382 -1 118 383 379 -1 31 382 383 -1 384 380 385 -1 120 380 384 +-1 119 385 380 -1 32 384 385 -1 386 381 387 -1 118 381 386 -1 120 387 381 +-1 29 386 387 -1 388 389 390 -1 121 389 388 -1 115 390 389 -1 120 388 390 +-1 391 388 384 -1 121 388 391 -1 120 384 388 -1 32 391 384 -1 371 389 392 +-1 115 389 371 -1 121 392 389 -1 30 371 392 -1 387 390 368 -1 120 390 387 +-1 115 368 390 -1 29 387 368 -1 393 394 395 -1 123 394 393 -1 124 395 394 +-1 122 393 395 -1 396 393 397 -1 123 393 396 -1 122 397 393 -1 33 396 397 +-1 398 394 399 -1 124 394 398 -1 123 399 394 -1 34 398 399 -1 400 395 401 +-1 122 395 400 -1 124 401 395 -1 31 400 401 -1 402 403 404 -1 125 403 402 +-1 119 404 403 -1 124 402 404 -1 405 402 398 -1 125 402 405 -1 124 398 402 +-1 34 405 398 -1 385 403 406 -1 119 403 385 -1 125 406 403 -1 32 385 406 -1 +401 404 382 -1 124 404 401 -1 119 382 404 -1 31 401 382 -1 407 408 409 -1 127 +408 407 -1 128 409 408 -1 126 407 409 -1 410 407 411 -1 127 407 410 -1 126 411 +407 -1 35 410 411 -1 412 408 413 -1 128 408 412 -1 127 413 408 -1 36 412 413 +-1 414 409 415 -1 126 409 414 -1 128 415 409 -1 33 414 415 -1 416 417 418 +-1 129 417 416 -1 123 418 417 -1 128 416 418 -1 419 416 412 -1 129 416 419 +-1 128 412 416 -1 36 419 412 -1 399 417 420 -1 123 417 399 -1 129 420 417 +-1 34 399 420 -1 415 418 396 -1 128 418 415 -1 123 396 418 -1 33 415 396 -1 +421 422 423 -1 131 422 421 -1 132 423 422 -1 130 421 423 -1 424 421 425 -1 131 +421 424 -1 130 425 421 -1 37 424 425 -1 426 422 427 -1 132 422 426 -1 131 427 +422 -1 38 426 427 -1 428 423 429 -1 130 423 428 -1 132 429 423 -1 35 428 429 +-1 430 431 432 -1 133 431 430 -1 127 432 431 -1 132 430 432 -1 433 430 426 +-1 133 430 433 -1 132 426 430 -1 38 433 426 -1 413 431 434 -1 127 431 413 +-1 133 434 431 -1 36 413 434 -1 429 432 410 -1 132 432 429 -1 127 410 432 +-1 35 429 410 -1 435 436 437 -1 135 436 435 -1 136 437 436 -1 134 435 437 +-1 438 435 439 -1 135 435 438 -1 134 439 435 -1 39 438 439 -1 440 436 441 +-1 136 436 440 -1 135 441 436 -1 40 440 441 -1 442 437 443 -1 134 437 442 +-1 136 443 437 -1 37 442 443 -1 444 445 446 -1 137 445 444 -1 131 446 445 +-1 136 444 446 -1 447 444 440 -1 137 444 447 -1 136 440 444 -1 40 447 440 +-1 427 445 448 -1 131 445 427 -1 137 448 445 -1 38 427 448 -1 443 446 424 +-1 136 446 443 -1 131 424 446 -1 37 443 424 -1 449 450 451 -1 139 450 449 +-1 140 451 450 -1 138 449 451 -1 452 449 453 -1 139 449 452 -1 138 453 449 +-1 41 452 453 -1 454 450 455 -1 140 450 454 -1 139 455 450 -1 42 454 455 -1 +456 451 457 -1 138 451 456 -1 140 457 451 -1 39 456 457 -1 458 459 460 -1 141 +459 458 -1 135 460 459 -1 140 458 460 -1 461 458 454 -1 141 458 461 -1 140 454 +458 -1 42 461 454 -1 441 459 462 -1 135 459 441 -1 141 462 459 -1 40 441 462 +-1 457 460 438 -1 140 460 457 -1 135 438 460 -1 39 457 438 -1 463 464 465 +-1 143 464 463 -1 144 465 464 -1 142 463 465 -1 466 463 467 -1 143 463 466 +-1 142 467 463 -1 43 466 467 -1 468 464 469 -1 144 464 468 -1 143 469 464 +-1 44 468 469 -1 470 465 471 -1 142 465 470 -1 144 471 465 -1 41 470 471 -1 +472 473 474 -1 145 473 472 -1 139 474 473 -1 144 472 474 -1 475 472 468 -1 145 +472 475 -1 144 468 472 -1 44 475 468 -1 455 473 476 -1 139 473 455 -1 145 476 +473 -1 42 455 476 -1 471 474 452 -1 144 474 471 -1 139 452 474 -1 41 471 452 +-1 477 478 479 -1 147 478 477 -1 148 479 478 -1 146 477 479 -1 480 477 481 +-1 147 477 480 -1 146 481 477 -1 45 480 481 -1 482 478 483 -1 148 478 482 +-1 147 483 478 -1 46 482 483 -1 484 479 485 -1 146 479 484 -1 148 485 479 +-1 43 484 485 -1 486 487 488 -1 149 487 486 -1 143 488 487 -1 148 486 488 +-1 489 486 482 -1 149 486 489 -1 148 482 486 -1 46 489 482 -1 469 487 490 +-1 143 487 469 -1 149 490 487 -1 44 469 490 -1 485 488 466 -1 148 488 485 +-1 143 466 488 -1 43 485 466 -1 491 492 493 -1 151 492 491 -1 152 493 492 +-1 150 491 493 -1 494 491 495 -1 151 491 494 -1 150 495 491 -1 47 494 495 +-1 496 492 497 -1 152 492 496 -1 151 497 492 -1 48 496 497 -1 498 493 499 +-1 150 493 498 -1 152 499 493 -1 45 498 499 -1 500 501 502 -1 153 501 500 +-1 147 502 501 -1 152 500 502 -1 503 500 496 -1 153 500 503 -1 152 496 500 +-1 48 503 496 -1 483 501 504 -1 147 501 483 -1 153 504 501 -1 46 483 504 -1 +499 502 480 -1 152 502 499 -1 147 480 502 -1 45 499 480 -1 505 506 507 -1 155 +506 505 -1 156 507 506 -1 154 505 507 -1 508 505 509 -1 155 505 508 -1 154 509 +505 -1 49 508 509 -1 510 506 511 -1 156 506 510 -1 155 511 506 -1 50 510 511 +-1 512 507 513 -1 154 507 512 -1 156 513 507 -1 47 512 513 -1 514 515 516 +-1 157 515 514 -1 151 516 515 -1 156 514 516 -1 517 514 510 -1 157 514 517 +-1 156 510 514 -1 50 517 510 -1 497 515 518 -1 151 515 497 -1 157 518 515 +-1 48 497 518 -1 513 516 494 -1 156 516 513 -1 151 494 516 -1 47 513 494 -1 +519 520 521 -1 159 520 519 -1 160 521 520 -1 158 519 521 -1 522 519 523 -1 159 +519 522 -1 158 523 519 -1 51 522 523 -1 524 520 525 -1 160 520 524 -1 159 525 +520 -1 52 524 525 -1 526 521 527 -1 158 521 526 -1 160 527 521 -1 49 526 527 +-1 528 529 530 -1 161 529 528 -1 155 530 529 -1 160 528 530 -1 531 528 524 +-1 161 528 531 -1 160 524 528 -1 52 531 524 -1 511 529 532 -1 155 529 511 +-1 161 532 529 -1 50 511 532 -1 527 530 508 -1 160 530 527 -1 155 508 530 +-1 49 527 508 -1 533 534 535 -1 163 534 533 -1 164 535 534 -1 162 533 535 +-1 536 533 537 -1 163 533 536 -1 162 537 533 -1 53 536 537 -1 538 534 539 +-1 164 534 538 -1 163 539 534 -1 54 538 539 -1 540 535 541 -1 162 535 540 +-1 164 541 535 -1 51 540 541 -1 542 543 544 -1 165 543 542 -1 159 544 543 +-1 164 542 544 -1 545 542 538 -1 165 542 545 -1 164 538 542 -1 54 545 538 +-1 525 543 546 -1 159 543 525 -1 165 546 543 -1 52 525 546 -1 541 544 522 +-1 164 544 541 -1 159 522 544 -1 51 541 522 -1 547 548 549 -1 167 548 547 +-1 168 549 548 -1 166 547 549 -1 550 547 551 -1 167 547 550 -1 166 551 547 +-1 55 550 551 -1 552 548 553 -1 168 548 552 -1 167 553 548 -1 56 552 553 -1 +554 549 555 -1 166 549 554 -1 168 555 549 -1 53 554 555 -1 556 557 558 -1 169 +557 556 -1 163 558 557 -1 168 556 558 -1 559 556 552 -1 169 556 559 -1 168 552 +556 -1 56 559 552 -1 539 557 560 -1 163 557 539 -1 169 560 557 -1 54 539 560 +-1 555 558 536 -1 168 558 555 -1 163 536 558 -1 53 555 536 -1 561 562 563 +-1 171 562 561 -1 172 563 562 -1 170 561 563 -1 564 561 565 -1 171 561 564 +-1 170 565 561 -1 57 564 565 -1 566 562 567 -1 172 562 566 -1 171 567 562 +-1 58 566 567 -1 568 563 569 -1 170 563 568 -1 172 569 563 -1 55 568 569 -1 +570 571 572 -1 173 571 570 -1 167 572 571 -1 172 570 572 -1 573 570 566 -1 173 +570 573 -1 172 566 570 -1 58 573 566 -1 553 571 574 -1 167 571 553 -1 173 574 +571 -1 56 553 574 -1 569 572 550 -1 172 572 569 -1 167 550 572 -1 55 569 550 +-1 ] coord DEF Hills_Coord Coordinate { +point [ -250 0 250 -225 0 150 -250 25 150 -210 0 140 -250 40 140 -200 0 130 +-250 50 130 -200 0 110 -250 50 110 -210 0 100 -250 40 100 -220 0 80 -250 30 +80 -200 0 70 -250 50 70 -190 0 60 -250 60 60 -180 0 40 -250 70 40 -190 0 30 +-250 60 30 -200 0 25 -250 50 25 -210 0 10 -250 40 10 -200 0 0 -250 50 0 -190 +0 -20 -250 60 -20 -210 0 -30 -250 40 -30 -220 0 -50 -250 30 -50 -210 0 -70 +-250 40 -70 -200 0 -80 -250 50 -80 -180 0 -90 -250 70 -90 -190 0 -110 -250 +60 -110 -200 0 -120 -250 50 -120 -210 0 -140 -250 40 -140 -220 0 -150 -250 +30 -150 -225 0 -175 -250 25 -175 -210 0 -180 -250 40 -180 -200 0 -200 -250 +50 -200 -190 0 -210 -250 60 -210 -220 0 -230 -250 30 -230 -210 0 -250 -250 +40 -250 -239.0625 -.9375 206.875 -237.91667 12.39583 146.875 -249.47917 9.27083 +208.75 -213.4375 -4.6875 145.625 -232.1875 22.5 140 -238.4375 22.5 138.75 +-251.04167 34.27083 141.25 -199.375 -5.625 136.25 -227.5 28.125 130.625 -232.1875 +28.125 134.375 -250 45.9375 135.625 -193.75 -5.625 120.625 -227.5 28.125 109.375 +-227.5 28.125 119.375 -250 51.25 120 -199.375 -5 106.25 -232.5 22.5 100.625 +-227.5 22.5 103.75 -250 45.625 105 -210.625 -5.625 90.625 -238.75 16.875 79.375 +-232.5 16.875 89.375 -250 33.125 90 -205 -5.625 75.625 -227.5 28.125 70 -238.75 +28.125 73.75 -250 38.75 74.375 -188.125 -7.5 66.25 -223.75 33.75 60.625 -227.5 +33.75 64.375 -250 55.625 65.625 -176.875 -7.5 50.625 -218.125 39.375 39.375 +-223.75 39.375 49.375 -250 66.25 50 -176.875 -7.5 35.3125 -223.75 33.75 29.6875 +-218.125 33.75 33.75 -250 66.25 34.0625 -188.125 -6.25 28.4375 -228.125 28.125 +25.625 -223.75 28.125 26.875 -250 55 27.8125 -199.375 -6.25 18.125 -233.75 +22.5 9.6875 -228.125 22.5 17.1875 -250 43.75 17.8125 -199.375 -6.25 6.25 -228.125 +28.125 .625 -233.75 28.125 4.0625 -250 43.75 5.3125 -188.125 -5.625 -9.375 +-221.875 33.75 -20.625 -228.125 33.75 -10.625 -250 56.875 -10 -193.75 -5.625 +-23.75 -233.125 22.5 -29.375 -221.875 22.5 -26.25 -250 51.25 -25 -210.625 +-5 -38.75 -238.125 16.875 -50 -233.125 16.875 -40.625 -250 33.125 -39.375 +-210.625 -5 -59.375 -232.5 22.5 -70.625 -238.125 22.5 -61.25 -250 33.75 -60.625 +-199.375 -6.875 -74.375 -228.75 28.125 -80 -232.5 28.125 -76.25 -250 44.375 +-75.625 -182.5 -6.875 -83.75 -217.5 39.375 -89.375 -228.75 39.375 -85.625 +-250 61.25 -84.375 -176.875 -7.5 -99.375 -223.75 33.75 -110.625 -217.5 33.75 +-100.625 -250 66.875 -100 -188.125 -6.25 -113.75 -228.125 28.125 -119.375 +-223.75 28.125 -116.25 -250 55 -115 -199.375 -5 -129.375 -232.5 22.5 -140.625 +-228.125 22.5 -130.625 -250 45 -130 -210.625 -4.0625 -143.4375 -237.1875 16.875 +-149.0625 -232.5 16.875 -146.25 -250 34.6875 -144.6875 -219.0625 -4.375 -162.1875 +-240.3125 14.0625 -176.25 -237.1875 14.0625 -163.125 -250 25.9375 -162.8125 +-213.4375 -4.6875 -176.25 -232.1875 22.5 -179.0625 -240.3125 22.5 -179.0625 +-250 31.5625 -177.8125 -199.375 -6.25 -189.375 -228.125 28.125 -200.625 -232.1875 +28.125 -190.3125 -250 45.3125 -189.6875 -188.125 -5 -203.75 -221.25 33.75 +-209.375 -228.125 33.75 -206.25 -250 57.5 -205 -199.375 -6.25 -218.75 -239.375 +16.875 -230 -221.25 16.875 -220.625 -250 45 -219.375 -214.375 .625 -242.5 +-226.04167 16.25 -250.41667 -237.91667 21.25 -241.66667 -252.91667 36.25 -241.66667 +-237.26563 3.94531 178.98438 -246.44531 11.71875 185.78125 -245.8724 3.91276 +215.23438 -228.16406 1.83594 150.23438 -232.10286 -.8138 178.59375 -250.15625 +17.52604 178.51563 -244.92188 20.28646 144.53125 -245.9375 -.60547 235 -249.08854 +2.4349 235.50781 -219.02344 4.92188 142.96875 -234.73958 21.90104 139.64844 +-223.24219 4.92188 143.75 -215.54688 4.92188 140.70313 -210.82031 -3.69141 +143.47656 -245.66406 32.69531 140.07813 -243.1901 34.15365 139.84375 -217.16797 +-3.98438 144.60938 -228.42448 6.88802 146.17188 -247.95573 32.59115 139.60938 +-247.69531 27.53906 143.67188 -238.15104 18.02083 139.0625 -251.69922 38.80859 +140.07813 -251.13281 30.65104 143.20313 -208.59375 6.32813 133.67188 -229.14063 +27.59766 132.92969 -211.60156 6.32813 136.32813 -206.875 7.03125 131.5625 +-198.02734 -4.57031 133.82813 -243.32031 41.64063 132.89063 -241.5625 42.30469 +129.53125 -202.71484 -4.62891 138.125 -215.54688 7.73438 137.89063 -245.54688 +42.1875 134.60938 -245.54688 39.375 137.42188 -232.63672 26.07422 137.14844 +-251.40625 49.70703 132.5 -250.72266 43.80859 138.24219 -205.625 6.32813 115.23438 +-226.71875 27.61719 114.14063 -205.625 6.32813 121.48438 -206.875 7.73438 +110.54688 -194.80469 -4.60938 115.625 -241.5625 42.34375 114.14063 -241.5625 +41.64063 108.51563 -194.80469 -4.57031 125.625 -206.875 7.03125 125.9375 -244.375 +45.46875 118.4375 -244.375 45.46875 124.0625 -227.92969 28.98438 125.19531 +-251.40625 52.07031 114.41406 -251.11328 52.07031 125.35156 -211.71875 4.6875 +103.67188 -229.29688 21.95313 102.65625 -208.59375 4.6875 106.09375 -215.625 +6.32813 101.5625 -202.89063 -3.86719 103.86719 -241.5625 34.29688 102.65625 +-243.4375 32.73438 99.60938 -198.00781 -3.86719 107.8125 -206.875 4.92188 +107.73438 -244.375 39.14063 103.98438 -244.375 41.95313 106.79688 -227.92969 +26.05469 106.13281 -251.09375 43.63281 102.14844 -251.40625 49.53125 107.22656 +-221.25 2.10938 85.23438 -235.07813 15.42969 84.17969 -217.65625 2.10938 91.48438 +-224.6875 2.8125 80.54688 -214.88281 -3.86719 85.66406 -243.4375 23.98438 +84.21875 -245.78125 24.6875 78.51563 -209.21875 -3.90625 95.625 -215.625 3.51563 +95.9375 -245.625 28.35938 88.4375 -245.625 31.17188 94.0625 -233.125 20.11719 +95.19531 -250.70313 31.95313 84.41406 -251.40625 37.85156 95.39063 -211.5625 +6.32813 72.96875 -232.5 27.77344 71.95313 -218.28125 6.32813 75.625 -206.875 +6.32813 70.70313 -201.13281 -4.45313 73.16406 -245.78125 41.09375 71.95313 +-241.5625 43.20313 69.45313 -211.67969 -4.57031 77.5 -224.6875 8.4375 77.73438 +-247.1875 37.5 73.51563 -247.1875 31.875 76.32813 -240.27344 23.04688 76.09375 +-251.40625 46.28906 71.83594 -251.09375 34.49219 76.875 -200 7.03125 63.67188 +-224.76563 32.69531 62.92969 -202.65625 7.03125 66.32813 -198.4375 7.73438 +61.5625 -187.42188 -5.85938 63.82813 -241.5625 49.375 62.89063 -240.15625 +50.70313 59.53125 -191.52344 -5.97656 68.125 -206.875 9.14063 67.89063 -244.375 +50.85938 64.60938 -244.375 48.04688 67.42188 -227.92969 31.83594 67.14844 +-251.64063 59.80469 62.5 -250.70313 53.90625 67.92969 -190.70313 9.14063 45.23438 +-219.92188 38.90625 44.19922 -194.0625 9.14063 51.48438 -189.53125 10.54688 +40.54688 -175.70313 -6.21094 45.68359 -240.15625 58.98438 44.25781 -238.04688 +58.98438 38.51563 -180.97656 -6.21094 55.625 -198.4375 10.54688 55.9375 -243.4375 +60.23438 48.4375 -243.4375 57.42188 54.0625 -224.6875 37.65625 55.19531 -251.99219 +70.42969 44.41406 -251.40625 64.53125 55.35156 -194.0625 7.03125 32.61719 +-219.92188 32.73438 31.64063 -190.70313 7.03125 35.39063 -198.4375 9.14063 +30.27344 -180.97656 -5.9375 32.85156 -238.04688 50.78125 31.67969 -240.15625 +49.375 29.375 -175.70313 -5.85938 37.34375 -189.53125 7.73438 37.73438 -242.03125 +57.42188 33.28125 -242.03125 60.23438 36.09375 -218.51563 37.65625 36.07422 +-251.64063 64.53125 31.67969 -251.64063 70.42969 36.69922 -202.89063 5.85938 +27.1875 -225.07813 27.42188 26.64063 -200 5.85938 28.28125 -207.03125 7.73438 +26.21094 -191.875 -4.88281 27.24609 -240.15625 42.57813 26.60156 -241.79688 +41.17188 24.88281 -187.38281 -4.80469 29.0625 -198.4375 6.32813 28.86719 -243.4375 +47.57813 27.22656 -243.4375 50.39063 28.63281 -224.6875 31.79688 28.08594 +-251.36719 53.55469 26.23047 -251.99219 59.45313 28.84766 -212.1875 3.75 14.10156 +-230.23438 21.25 13.32031 -208.82813 3.75 18.78906 -215.9375 4.92188 10.625 +-203.55469 -4.53125 14.35547 -241.79688 32.96875 13.28125 -243.90625 32.96875 +8.90625 -198.28125 -4.53125 21.875 -207.03125 4.92188 21.99219 -244.53125 +37.73438 16.60156 -244.53125 40.54688 20.82031 -228.90625 25.9375 21.66016 +-251.01563 42.57813 13.47656 -251.64063 48.47656 21.77734 -208.82813 5.85938 +3.67188 -230.23438 27.30469 2.79297 -212.1875 5.85938 6.21094 -207.03125 6.32813 +1.5625 -198.28125 -4.92188 3.84766 -243.90625 40.9375 2.77344 -241.79688 42.57813 +-.42969 -203.55469 -4.88281 7.96875 -215.9375 7.73438 7.8125 -245.9375 40.54688 +4.29688 -245.9375 37.73438 7.10938 -235.07813 25.9375 6.64063 -251.36719 48.47656 +2.32422 -251.36719 42.57813 7.53906 -199.29688 8.4375 -14.76563 -224.14063 +33.78906 -15.85938 -202.89063 8.4375 -8.51563 -197.96875 9.84375 -19.45313 +-186.32813 -4.92188 -14.375 -241.79688 51.25 -15.85938 -239.45313 50.54688 +-21.48438 -191.99219 -4.88281 -4.375 -207.03125 9.14063 -4.0625 -244.53125 +51.79688 -11.5625 -244.53125 48.98438 -5.9375 -228.90625 31.91406 -4.80469 +-251.75781 60.50781 -15.58594 -251.01563 54.60938 -4.62891 -208.98438 4.21875 +-26.32813 -226.71875 21.52344 -27.38281 -202.26563 4.21875 -23.90625 -215.78125 +6.32813 -28.4375 -200.07813 -4.25781 -26.17188 -239.45313 34.29688 -27.42188 +-243.67188 32.03125 -30.39063 -189.53125 -4.21875 -22.1875 -197.96875 4.21875 +-22.26563 -242.96875 42.65625 -26.01563 -242.96875 48.28125 -23.20313 -221.75781 +28.98438 -23.86719 -251.05469 46.17188 -27.85156 -251.36719 57.96875 -22.77344 +-221.01563 2.57813 -44.0625 -235.07813 15.82031 -45.15625 -217.89063 2.57813 +-38.04688 -224.53125 3.51563 -48.59375 -214.49219 -3.55469 -43.67188 -243.67188 +24.60938 -45.15625 -245.54688 24.6875 -51.32813 -209.60938 -3.51563 -34.0625 +-215.78125 3.51563 -34.0625 -245.78125 28.35938 -41.09375 -245.78125 31.17188 +-35.46875 -234.10156 20.11719 -34.76563 -250.74219 31.95313 -45.27344 -251.75781 +37.85156 -34.25781 -217.65625 4.6875 -64.76563 -234.76563 21.99219 -66.09375 +-221.01563 4.6875 -58.75 -215.625 4.92188 -69.45313 -209.25781 -3.78906 -64.29688 +-245.54688 32.89063 -66.01563 -243.4375 34.21875 -71.40625 -214.53125 -3.90625 +-54.6875 -224.53125 6.32813 -54.21875 -247.03125 31.64063 -62.1875 -247.03125 +28.82813 -56.5625 -239.29688 20.15625 -55.82031 -251.09375 38.20313 -65.9375 +-251.05469 32.30469 -55.3125 -209.0625 5.39063 -77.03125 -229.92188 26.91406 +-78.04688 -211.71875 5.39063 -74.375 -207.1875 5.625 -79.29688 -198.71094 +-5.19531 -76.83594 -243.4375 40.39063 -78.04688 -242.03125 42.5 -80.54688 +-202.8125 -5.3125 -72.5 -215.625 7.73438 -72.26563 -245.625 41.01563 -76.48438 +-245.625 38.20313 -73.67188 -233.125 25.97656 -73.90625 -251.32813 48.82813 +-78.16406 -250.74219 42.92969 -73.08594 -193.4375 9.60938 -86.32813 -222.1875 +39.25781 -87.07031 -200.15625 9.60938 -83.67188 -189.375 10.54688 -88.4375 +-178.55469 -5.85938 -86.17188 -242.03125 58.90625 -87.10938 -237.8125 59.60938 +-90.46875 -189.10156 -5.89844 -81.875 -207.1875 11.25 -82.10938 -244.6875 +57.1875 -85.39063 -244.6875 51.5625 -82.57813 -229.88281 34.76563 -82.85156 +-252.03125 68.24219 -87.5 -251.09375 56.44531 -82.07031 -194.0625 7.03125 +-104.76563 -219.60938 32.69531 -105.85938 -190.46875 7.03125 -98.51563 -198.4375 +9.14063 -109.45313 -181.01563 -5.9375 -104.375 -237.8125 50.78125 -105.85938 +-240.15625 49.29688 -111.48438 -175.35156 -5.89844 -94.375 -189.375 7.73438 +-94.0625 -241.875 57.89063 -101.5625 -241.875 60.70313 -95.9375 -217.53906 +37.69531 -94.80469 -251.64063 64.88281 -105.58594 -251.32813 70.78125 -94.64844 +-202.89063 5.85938 -116.32813 -225.07813 27.34375 -117.34375 -200 5.85938 +-113.90625 -207.03125 7.73438 -118.4375 -191.875 -4.96094 -116.13281 -240.15625 +42.42188 -117.34375 -241.79688 41.17188 -120.39063 -187.38281 -4.80469 -112.1875 +-198.4375 6.32813 -112.26563 -243.4375 47.57813 -116.01563 -243.4375 50.39063 +-113.20313 -224.6875 31.79688 -113.86719 -251.36719 53.55469 -117.85156 -252.03125 +59.45313 -112.77344 -211.71875 4.6875 -134.76563 -229.60938 21.89453 -135.87891 +-208.82813 4.6875 -128.51563 -215.625 6.32813 -139.45313 -202.85156 -3.96484 +-134.39453 -241.79688 34.10156 -135.89844 -243.4375 32.8125 -141.48438 -198.35938 +-3.82813 -124.375 -207.03125 4.92188 -124.0625 -244.53125 38.67188 -131.5625 +-244.53125 41.48438 -125.9375 -228.90625 26.01563 -124.80469 -251.09375 43.28125 +-135.58594 -251.64063 49.17969 -124.60938 -220.66406 3.28125 -145.97656 -234.29688 +16.32813 -146.99219 -217.65625 3.28125 -143.67188 -224.29688 4.57031 -148.00781 +-214.00391 -3.06641 -145.78125 -243.4375 25.58594 -146.99219 -245.19531 24.49219 +-150.3125 -209.31641 -3.02734 -142.03125 -215.625 3.51563 -142.26563 -245.625 +29.53125 -145.78125 -245.625 32.34375 -142.96875 -233.125 20.21484 -143.84766 +-250.80078 32.83203 -147.69531 -251.36719 38.73047 -142.59766 -226.91406 1.99219 +-168.98438 -238.32031 13.04688 -170.23438 -225.11719 1.99219 -160.9375 -228.82813 +2.46094 -174.96094 -221.62109 -3.04688 -168.45703 -245.19531 20.07813 -170.19531 +-246.36719 20.78125 -176.99219 -218.78906 -3.08594 -155.625 -224.29688 3.16406 +-155.03906 -246.79688 22.61719 -164.64844 -246.79688 24.02344 -157.61719 -237.83203 +15.80078 -155.78125 -250.60547 25.89844 -169.62891 -251.09375 28.84766 -155.87891 +-219.02344 4.92188 -177.46094 -235.74219 22.10938 -178.4375 -223.94531 4.92188 +-176.83594 -215.54688 4.92188 -178.35938 -210.70313 -3.65234 -177.36328 -246.36719 +32.77344 -178.4375 -243.32031 34.49219 -179.92188 -218.41797 -3.76953 -176.25 +-228.82813 6.67969 -176.36719 -247.57813 30.35156 -178.47656 -247.57813 26.13281 +-177.07031 -241.40625 18.73047 -178.41797 -251.11328 37.28516 -179.14063 -250.80078 +28.4375 -177.01172 -208.82813 5.85938 -194.76563 -229.45313 27.16797 -195.72266 +-211.60156 5.85938 -188.39844 -207.03125 6.32813 -199.45313 -198.37891 -4.96094 +-194.39453 -243.32031 40.85938 -195.74219 -241.79688 42.38281 -201.52344 -202.67578 +-4.98047 -184.21875 -215.54688 7.73438 -183.98438 -245.54688 41.71875 -191.25 +-245.54688 38.90625 -185.625 -232.63672 26.03516 -184.29688 -251.36719 49.35547 +-195.41016 -250.60547 43.45703 -184.25781 -199.0625 8.90625 -206.32813 -223.82813 +34.21875 -207.38281 -202.89063 8.90625 -203.90625 -197.8125 10.54688 -208.4375 +-185.97656 -4.53125 -206.17188 -241.79688 52.03125 -207.42188 -239.21875 50.46875 +-210.39063 -192.03125 -4.53125 -202.1875 -207.03125 9.14063 -202.26563 -244.53125 +52.26563 -206.01563 -244.53125 49.45313 -203.20313 -228.90625 31.95313 -203.86719 +-251.79688 60.85938 -207.85156 -251.11328 54.96094 -202.79297 -215.54688 1.64063 +-224.0625 -229.42708 14.76563 -225.09115 -205 1.64063 -218.04688 -225.02604 +3.67188 -228.54167 -208.67188 -4.60938 -223.47656 -238.85417 24.29688 -225.02604 +-246.01563 23.20313 -231.32813 -192.30469 -4.25781 -214.0625 -197.8125 2.10938 +-214.0625 -242.8125 35.85938 -221.09375 -242.8125 44.29688 -215.46875 -220.78125 +26.01563 -214.76563 -250.66406 37.38281 -225.27344 -251.36719 55.07813 -214.25781 +-219.11458 8.16406 -247.78646 -231.95313 20.07813 -248.125 -223.75 8.4375 +-241.25 -214.79167 4.64844 -249.71354 -211.17187 -.03906 -247.26562 -246.71875 +34.47917 -247.1875 -238.90625 29.58333 -250.9375 -217.7474 -.27344 -236.45833 +-224.29688 5.85938 -234.375 -248.98438 33.04688 -243.125 -249.71354 30.85938 +-237.29167 -240.65104 19.57031 -235.96354 -253.20313 40.20833 -246.71875 -253.4375 +33.71094 -235.89844 ] + } + texCoord +TextureCoordinate { point [ 0 0 .16 0 .16 1 .188 0 .188 1 .21 0 .21 1 .241 +0 .241 1 .263 0 .263 1 .298 0 .298 1 .333 0 .333 1 .355 0 .355 1 .39 0 .39 +1 .412 0 .412 1 .429 0 .429 1 .457 0 .457 1 .479 0 .479 1 .514 0 .514 1 .548 +0 .548 1 .583 0 .583 1 .618 0 .618 1 .64 0 .64 1 .675 0 .675 1 .71 0 .71 1 +.731 0 .731 1 .766 0 .766 1 .788 0 .788 1 .828 0 .828 1 .852 0 .852 1 .887 +0 .887 1 .909 0 .909 1 .965 0 .965 1 1 0 1 1 .08 0 .16 .5 .08 .5 .174 0 .188 +.5 .174 .5 .174 1 .199 0 .21 .5 .199 .5 .199 1 .226 0 .241 .5 .226 .5 .226 +1 .252 0 .263 .5 .252 .5 .252 1 .281 0 .298 .5 .281 .5 .281 1 .315 0 .333 +.5 .315 .5 .315 1 .344 0 .355 .5 .344 .5 .344 1 .372 0 .39 .5 .372 .5 .372 +1 .401 0 .412 .5 .401 .5 .401 1 .42 0 .429 .5 .42 .5 .42 1 .443 0 .457 .5 +.443 .5 .443 1 .468 0 .479 .5 .468 .5 .468 1 .496 0 .514 .5 .496 .5 .496 1 +.531 0 .548 .5 .531 .5 .531 1 .566 0 .583 .5 .566 .5 .566 1 .601 0 .618 .5 +.601 .5 .601 1 .629 0 .64 .5 .629 .5 .629 1 .657 0 .675 .5 .657 .5 .657 1 +.692 0 .71 .5 .692 .5 .692 1 .72 0 .731 .5 .72 .5 .72 1 .749 0 .766 .5 .749 +.5 .749 1 .777 0 .788 .5 .777 .5 .777 1 .808 0 .828 .5 .808 .5 .808 1 .84 +0 .852 .5 .84 .5 .84 1 .87 0 .887 .5 .87 .5 .87 1 .898 0 .909 .5 .898 .5 .898 +1 .937 0 .965 .5 .937 .5 .937 1 .983 0 1 .5 .983 .5 .983 1 .12 .25 .12 .5 +.08 .25 .16 .25 .12 0 .12 .75 .16 .75 .04 0 .04 .25 .181 .25 .181 .5 .174 +.25 .188 .25 .181 0 .181 .75 .188 .75 .167 0 .167 .25 .174 .75 .167 .75 .167 +.5 .181 1 .167 1 .205 .25 .205 .5 .199 .25 .21 .25 .205 0 .205 .75 .21 .75 +.194 0 .194 .25 .199 .75 .194 .75 .194 .5 .205 1 .194 1 .234 .25 .234 .5 .226 +.25 .241 .25 .234 0 .234 .75 .241 .75 .218 0 .218 .25 .226 .75 .218 .75 .218 +.5 .234 1 .218 1 .258 .25 .258 .5 .252 .25 .263 .25 .258 0 .258 .75 .263 .75 +.247 0 .247 .25 .252 .75 .247 .75 .247 .5 .258 1 .247 1 .289 .25 .289 .5 .281 +.25 .298 .25 .289 0 .289 .75 .298 .75 .272 0 .272 .25 .281 .75 .272 .75 .272 +.5 .289 1 .272 1 .324 .25 .324 .5 .315 .25 .333 .25 .324 0 .324 .75 .333 .75 +.307 0 .307 .25 .315 .75 .307 .75 .307 .5 .324 1 .307 1 .349 .25 .349 .5 .344 +.25 .355 .25 .349 0 .349 .75 .355 .75 .338 0 .338 .25 .344 .75 .338 .75 .338 +.5 .349 1 .338 1 .381 .25 .381 .5 .372 .25 .39 .25 .381 0 .381 .75 .39 .75 +.364 0 .364 .25 .372 .75 .364 .75 .364 .5 .381 1 .364 1 .406 .25 .406 .5 .401 +.25 .412 .25 .406 0 .406 .75 .412 .75 .395 0 .395 .25 .401 .75 .395 .75 .395 +.5 .406 1 .395 1 .425 .25 .425 .5 .42 .25 .429 .25 .425 0 .425 .75 .429 .75 +.416 0 .416 .25 .42 .75 .416 .75 .416 .5 .425 1 .416 1 .45 .25 .45 .5 .443 +.25 .457 .25 .45 0 .45 .75 .457 .75 .436 0 .436 .25 .443 .75 .436 .75 .436 +.5 .45 1 .436 1 .473 .25 .473 .5 .468 .25 .479 .25 .473 0 .473 .75 .479 .75 +.462 0 .462 .25 .468 .75 .462 .75 .462 .5 .473 1 .462 1 .505 .25 .505 .5 .496 +.25 .514 .25 .505 0 .505 .75 .514 .75 .488 0 .488 .25 .496 .75 .488 .75 .488 +.5 .505 1 .488 1 .54 .25 .54 .5 .531 .25 .548 .25 .54 0 .54 .75 .548 .75 .522 +0 .522 .25 .531 .75 .522 .75 .522 .5 .54 1 .522 1 .575 .25 .575 .5 .566 .25 +.583 .25 .575 0 .575 .75 .583 .75 .557 0 .557 .25 .566 .75 .557 .75 .557 .5 +.575 1 .557 1 .609 .25 .609 .5 .601 .25 .618 .25 .609 0 .609 .75 .618 .75 +.592 0 .592 .25 .601 .75 .592 .75 .592 .5 .609 1 .592 1 .634 .25 .634 .5 .629 +.25 .64 .25 .634 0 .634 .75 .64 .75 .623 0 .623 .25 .629 .75 .623 .75 .623 +.5 .634 1 .623 1 .666 .25 .666 .5 .657 .25 .675 .25 .666 0 .666 .75 .675 .75 +.649 0 .649 .25 .657 .75 .649 .75 .649 .5 .666 1 .649 1 .701 .25 .701 .5 .692 +.25 .71 .25 .701 0 .701 .75 .71 .75 .683 0 .683 .25 .692 .75 .683 .75 .683 +.5 .701 1 .683 1 .726 .25 .726 .5 .72 .25 .731 .25 .726 0 .726 .75 .731 .75 +.715 0 .715 .25 .72 .75 .715 .75 .715 .5 .726 1 .715 1 .758 .25 .758 .5 .749 +.25 .766 .25 .758 0 .758 .75 .766 .75 .74 0 .74 .25 .749 .75 .74 .75 .74 .5 +.758 1 .74 1 .783 .25 .783 .5 .777 .25 .788 .25 .783 0 .783 .75 .788 .75 .772 +0 .772 .25 .777 .75 .772 .75 .772 .5 .783 1 .772 1 .818 .25 .818 .5 .808 .25 +.828 .25 .818 0 .818 .75 .828 .75 .798 0 .798 .25 .808 .75 .798 .75 .798 .5 +.818 1 .798 1 .846 .25 .846 .5 .84 .25 .852 .25 .846 0 .846 .75 .852 .75 .834 +0 .834 .25 .84 .75 .834 .75 .834 .5 .846 1 .834 1 .879 .25 .879 .5 .87 .25 +.887 .25 .879 0 .879 .75 .887 .75 .861 0 .861 .25 .87 .75 .861 .75 .861 .5 +.879 1 .861 1 .904 .25 .904 .5 .898 .25 .909 .25 .904 0 .904 .75 .909 .75 +.893 0 .893 .25 .898 .75 .893 .75 .893 .5 .904 1 .893 1 .951 .25 .951 .5 .937 +.25 .965 .25 .951 0 .951 .75 .965 .75 .923 0 .923 .25 .937 .75 .923 .75 .923 +.5 .951 1 .923 1 .991 .25 .991 .5 .983 .25 1 .25 .991 0 .991 .75 1 .75 .974 +0 .974 .25 .983 .75 .974 .75 .974 .5 .991 1 .974 1 ] } + } + } + ] + } + ] + } + DEF dad_Parking_Ramp Transform { + rotation -1 0 0 1.571 + children [ + DEF Parking_Ramp Shape { + appearance Appearance { + texture ImageTexture { + url [ + "white.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoIndexedFaceSet3 IndexedFaceSet { + creaseAngle 0.524 +coordIndex [ 0 1 2 -1 0 2 3 -1 3 2 4 -1 3 4 5 -1 1 0 6 -1 7 6 0 -1 8 4 2 -1 +3 5 9 -1 0 3 7 -1 9 7 3 -1 ] texCoordIndex +[ 0 1 2 -1 0 2 3 -1 3 2 4 -1 3 4 5 -1 1 0 1 -1 0 1 0 -1 2 4 2 -1 3 5 3 -1 0 +3 0 -1 3 0 3 -1 ] coord DEF Parking_Ramp_Coord Coordinate { +point [ -75 -25 -3 -50 -25 -3 -50 0 -3 -75 0 -3 -50 25 0 -75 25 0 -50 -25 +0 -75 -25 0 -50 0 0 -75 0 0 ] + } + texCoord +TextureCoordinate { point [ 0 0 1 0 1 .5 0 .5 1 1 0 1 ] } + } + } + ] + } + DEF dad_Pool Transform { + translation 100 .2 25 + children [ + DEF Pool Shape { + appearance Appearance { + texture ImageTexture { + url [ + "white.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoSculptedSurface10 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 0 1 5 -1 0 5 4 -1 1 6 5 -1 1 2 7 -1 1 7 6 -1 2 8 7 -1 2 3 9 -1 +2 9 8 -1 3 0 4 -1 3 4 9 -1 4 5 11 -1 4 11 10 -1 5 6 12 -1 5 12 11 -1 6 7 13 +-1 6 13 12 -1 7 8 14 -1 7 14 13 -1 8 9 15 -1 8 15 14 -1 9 4 10 -1 9 10 15 +-1 10 11 17 -1 10 17 16 -1 11 12 18 -1 11 18 17 -1 12 13 19 -1 12 19 18 -1 13 +14 20 -1 13 20 19 -1 14 15 21 -1 14 21 20 -1 15 10 16 -1 15 16 21 -1 16 17 23 +-1 16 23 22 -1 17 18 24 -1 17 24 23 -1 18 19 25 -1 18 25 24 -1 19 20 26 -1 19 +26 25 -1 20 21 27 -1 20 27 26 -1 21 16 22 -1 21 22 27 -1 3 2 1 -1 3 1 0 -1 +] texCoordIndex +[ 0 0 2 -1 0 2 2 -1 0 2 2 -1 0 1 3 -1 0 3 2 -1 1 3 3 -1 1 1 3 -1 1 3 3 -1 1 +0 2 -1 1 2 3 -1 2 2 4 -1 2 4 4 -1 2 2 4 -1 2 4 4 -1 2 3 5 -1 2 5 4 -1 3 3 5 +-1 3 5 5 -1 3 3 5 -1 3 5 5 -1 3 2 4 -1 3 4 5 -1 4 4 6 -1 4 6 6 -1 4 4 6 -1 4 +6 6 -1 4 5 7 -1 4 7 6 -1 5 5 7 -1 5 7 7 -1 5 5 7 -1 5 7 7 -1 5 4 6 -1 5 6 7 +-1 6 6 8 -1 6 8 8 -1 6 6 8 -1 6 8 8 -1 6 7 9 -1 6 9 8 -1 7 7 9 -1 7 9 9 -1 7 +7 9 -1 7 9 9 -1 7 6 8 -1 7 8 9 -1 1 1 0 -1 1 0 0 -1 ] coord DEF Pool_Coord +Coordinate { +point [ -25 -2 -50 -25 -2 0 25 -2 0 25 -2 -50 -25 -.5 -50 -25 -.5 0 -25 -.5 +25 25 -.5 25 25 -.5 0 25 -.5 -50 -25 -.1 -50 -25 -.1 0 -25 -.1 25 25 -.1 25 +25 -.1 0 25 -.1 -50 -50 -.1 -75 -50 -.1 0 -50 -.1 50 50 -.1 50 50 -.1 0 50 +-.1 -75 -50 -.4 -75 -50 -.4 0 -50 -.4 50 50 -.4 50 50 -.4 0 50 -.4 -75 ] + } + texCoord +TextureCoordinate { point [ .25 0 .75 0 .25 .789 .75 .789 .25 1 .75 1 0 1 +1 1 0 .842 1 .842 ] } + } + } + ] + } + DEF Garage_Ramp_Glass Shape { + appearance Appearance { + material USE Shiny_Cyan + } + geometry DEF GeoExtrusion917 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -75 -25 + -75 25 + -50 25 + -50 -25 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + DEF dad_Road Transform { + translation -62.5 -.05 -137.5 + children [ + DEF Road Shape { + appearance Appearance { + texture ImageTexture { + url [ + "road.jpg" + ] + } + textureTransform TextureTransform { + rotation 1.571 + scale 10 1 + } + material DEF Shiny_White Material { + ambientIntensity 0.100 + shininess 0.000 + diffuseColor 1 1 1 + specularColor 0 0 0 + } + } + geometry DEF GeoBox18 Box { + size 25 .15 225 + } + } + ] + } + DEF dad_Ground0 Transform { + translation 0 .2 0 + rotation 0 0 1 1.571 + children [ + DEF dad_Group37 Transform { + translation -.2 0 0 + children [ + DEF SculptedSurface3 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "grass.jpg" + ] + } + textureTransform TextureTransform { + scale 25 17.5 + } + material USE Yellow + } + geometry DEF SculptedSurface3_Geo IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 0 1 2 -1 2 1 3 -1 2 3 4 -1 4 3 5 -1 4 5 6 -1 6 5 7 -1 6 7 4 -1 +4 7 8 -1 4 8 9 -1 9 8 10 -1 9 10 0 -1 0 10 11 -1 0 11 1 -1 1 11 12 -1 1 12 3 +-1 3 12 13 -1 14 15 16 -1 16 15 17 -1 16 17 3 -1 3 17 18 -1 3 18 5 -1 5 18 19 +-1 5 19 20 -1 10 8 7 -1 5 10 7 -1 10 5 20 -1 10 20 15 -1 10 15 14 -1 12 11 21 +-1 12 21 22 -1 3 23 24 -1 25 14 16 -1 ] texCoordIndex +[ 0 1 2 -1 2 1 3 -1 2 3 4 -1 4 3 5 -1 4 5 6 -1 6 5 7 -1 6 7 4 -1 4 7 8 -1 4 +8 9 -1 9 8 10 -1 9 10 0 -1 0 10 11 -1 0 11 1 -1 1 11 12 -1 1 12 3 -1 3 12 13 +-1 14 15 16 -1 16 15 17 -1 16 17 3 -1 3 17 18 -1 3 18 5 -1 5 18 19 -1 5 19 20 +-1 10 8 7 -1 5 10 7 -1 10 5 20 -1 10 20 15 -1 10 15 14 -1 12 11 21 -1 12 21 +22 -1 23 24 16 -1 16 25 23 -1 ] +coord DEF SculptedSurface3_Coord Coordinate +{ +point [ 0 75 25 0 100 25 0 75 -25 0 250 -250 0 50 -25 0 -25 50 0 0 50 0 25 +75 0 50 75 0 50 25 0 75 100 0 250 100 0 250 25 0 250 -25 0 -250 100 0 -150 +75 0 -250 -250 0 -150 -50 0 -50 -50 0 -50 25 0 -50 75 0 250 75 0 250 50 0 +250 125 -10 250 250 -10 -250 250 ] + } + texCoord +TextureCoordinate { point [ .55 .65 .548 .7 .45 .65 0 1 .45 .6 .598 .45 .596 +.5 .648 .55 .649 .6 .55 .6 .699 .65 .699 1 .55 1 .45 1 .699 0 .649 .2 0 0 +.4 .2 .399 .4 .548 .4 .648 .4 .649 1 .6 1 1 1 1 .25 1 .3 ] } + } + } + DEF IndexedFaceSet2 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "sand.jpg" + ] + } + material USE Shiny_Rust + } + geometry DEF GeoIndexedFaceSet2 IndexedFaceSet { + solid FALSE + creaseAngle 3.142 +coordIndex [ 0 1 2 -1 0 2 3 -1 ] texCoordIndex +[ 0 0 1 -1 0 1 1 -1 ] coord DEF IndexedFaceSet2_Coord Coordinate { +point [ 0 250 112.5 0 250 100 0 -250 100 0 -250 112.5 ] + } + texCoord +TextureCoordinate { point [ 1 1 1 0 ] } + } + } + DEF IndexedFaceSet5 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "sand.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoIndexedFaceSet5 IndexedFaceSet { + solid FALSE + creaseAngle 3.000 +coordIndex [ 0 1 2 -1 3 1 0 -1 4 2 1 -1 5 0 2 -1 6 0 7 -1 3 0 6 -1 5 7 0 -1 +8 6 7 -1 9 1 10 -1 4 1 9 -1 3 10 1 -1 11 9 10 -1 12 2 13 -1 5 2 12 -1 4 13 2 +-1 14 12 13 -1 15 16 17 -1 18 16 15 -1 19 17 16 -1 20 15 17 -1 21 15 22 -1 18 +15 21 -1 20 22 15 -1 11 21 22 -1 23 16 24 -1 19 16 23 -1 18 24 16 -1 25 23 24 +-1 26 17 27 -1 20 17 26 -1 19 27 17 -1 28 26 27 -1 29 30 31 -1 32 30 29 -1 33 +31 30 -1 34 29 31 -1 35 29 36 -1 32 29 35 -1 34 36 29 -1 25 35 36 -1 37 30 38 +-1 33 30 37 -1 32 38 30 -1 39 37 38 -1 40 31 41 -1 34 31 40 -1 33 41 31 -1 42 +40 41 -1 43 44 45 -1 46 44 43 -1 47 45 44 -1 48 43 45 -1 49 43 50 -1 46 43 49 +-1 48 50 43 -1 39 49 50 -1 51 44 52 -1 47 44 51 -1 46 52 44 -1 53 51 52 -1 54 +45 55 -1 48 45 54 -1 47 55 45 -1 56 54 55 -1 57 58 59 -1 60 58 57 -1 61 59 58 +-1 62 57 59 -1 63 57 64 -1 60 57 63 -1 62 64 57 -1 53 63 64 -1 65 58 66 -1 61 +58 65 -1 60 66 58 -1 67 65 66 -1 68 59 69 -1 62 59 68 -1 61 69 59 -1 70 68 69 +-1 71 72 73 -1 74 72 71 -1 75 73 72 -1 76 71 73 -1 77 71 78 -1 74 71 77 -1 76 +78 71 -1 67 77 78 -1 79 72 80 -1 75 72 79 -1 74 80 72 -1 81 79 80 -1 82 73 83 +-1 76 73 82 -1 75 83 73 -1 84 82 83 -1 85 86 87 -1 88 86 85 -1 89 87 86 -1 90 +85 87 -1 91 85 92 -1 88 85 91 -1 90 92 85 -1 81 91 92 -1 93 86 94 -1 89 86 93 +-1 88 94 86 -1 95 93 94 -1 96 87 97 -1 90 87 96 -1 89 97 87 -1 98 96 97 -1 99 +100 101 -1 102 100 99 -1 103 101 100 -1 104 99 101 -1 105 99 106 -1 102 99 105 +-1 104 106 99 -1 95 105 106 -1 107 100 108 -1 103 100 107 -1 102 108 100 -1 +109 107 108 -1 110 101 111 -1 104 101 110 -1 103 111 101 -1 112 110 111 -1 113 +114 115 -1 116 114 113 -1 117 115 114 -1 118 113 115 -1 119 113 120 -1 116 113 +119 -1 118 120 113 -1 109 119 120 -1 121 114 122 -1 117 114 121 -1 116 122 114 +-1 123 121 122 -1 124 115 125 -1 118 115 124 -1 117 125 115 -1 126 124 125 +-1 127 128 129 -1 130 128 127 -1 131 129 128 -1 132 127 129 -1 133 127 134 +-1 130 127 133 -1 132 134 127 -1 123 133 134 -1 135 128 136 -1 131 128 135 +-1 130 136 128 -1 137 135 136 -1 138 129 139 -1 132 129 138 -1 131 139 129 +-1 140 138 139 -1 141 142 143 -1 144 142 141 -1 145 143 142 -1 146 141 143 +-1 147 141 148 -1 144 141 147 -1 146 148 141 -1 137 147 148 -1 149 142 150 +-1 145 142 149 -1 144 150 142 -1 151 149 150 -1 152 143 153 -1 146 143 152 +-1 145 153 143 -1 154 152 153 -1 155 156 157 -1 158 156 155 -1 159 157 156 +-1 160 155 157 -1 161 155 162 -1 158 155 161 -1 160 162 155 -1 151 161 162 +-1 163 156 164 -1 159 156 163 -1 158 164 156 -1 165 163 164 -1 166 157 167 +-1 160 157 166 -1 159 167 157 -1 168 166 167 -1 169 170 171 -1 172 170 169 +-1 173 171 170 -1 174 169 171 -1 175 169 176 -1 172 169 175 -1 174 176 169 +-1 165 175 176 -1 177 170 178 -1 173 170 177 -1 172 178 170 -1 179 177 178 +-1 180 171 181 -1 174 171 180 -1 173 181 171 -1 182 180 181 -1 183 184 185 +-1 186 184 183 -1 187 185 184 -1 188 183 185 -1 189 183 190 -1 186 183 189 +-1 188 190 183 -1 179 189 190 -1 191 184 192 -1 187 184 191 -1 186 192 184 +-1 193 191 192 -1 194 185 195 -1 188 185 194 -1 187 195 185 -1 196 194 195 +-1 197 198 199 -1 200 198 197 -1 201 199 198 -1 202 197 199 -1 203 197 204 +-1 200 197 203 -1 202 204 197 -1 193 203 204 -1 205 198 206 -1 201 198 205 +-1 200 206 198 -1 207 205 206 -1 208 199 209 -1 202 199 208 -1 201 209 199 +-1 210 208 209 -1 211 212 213 -1 214 212 211 -1 215 213 212 -1 216 211 213 +-1 217 211 218 -1 214 211 217 -1 216 218 211 -1 207 217 218 -1 219 212 220 +-1 215 212 219 -1 214 220 212 -1 221 219 220 -1 222 213 223 -1 216 213 222 +-1 215 223 213 -1 224 222 223 -1 225 226 227 -1 228 226 225 -1 229 227 226 +-1 230 225 227 -1 231 225 232 -1 228 225 231 -1 230 232 225 -1 221 231 232 +-1 233 226 234 -1 229 226 233 -1 228 234 226 -1 235 233 234 -1 236 227 237 +-1 230 227 236 -1 229 237 227 -1 238 236 237 -1 239 240 241 -1 242 240 239 +-1 243 241 240 -1 244 239 241 -1 245 239 246 -1 242 239 245 -1 244 246 239 +-1 235 245 246 -1 247 240 248 -1 243 240 247 -1 242 248 240 -1 249 247 248 +-1 250 241 251 -1 244 241 250 -1 243 251 241 -1 252 250 251 -1 253 254 255 +-1 256 254 253 -1 257 255 254 -1 258 253 255 -1 259 253 260 -1 256 253 259 +-1 258 260 253 -1 249 259 260 -1 261 254 262 -1 257 254 261 -1 256 262 254 +-1 263 261 262 -1 264 255 265 -1 258 255 264 -1 257 265 255 -1 266 264 265 +-1 267 268 269 -1 270 268 267 -1 271 269 268 -1 272 267 269 -1 273 267 274 +-1 270 267 273 -1 272 274 267 -1 263 273 274 -1 275 268 276 -1 271 268 275 +-1 270 276 268 -1 277 275 276 -1 278 269 279 -1 272 269 278 -1 271 279 269 +-1 280 278 279 -1 281 282 283 -1 284 282 281 -1 285 283 282 -1 286 281 283 +-1 287 281 288 -1 284 281 287 -1 286 288 281 -1 289 287 288 -1 290 282 291 +-1 285 282 290 -1 284 291 282 -1 292 290 291 -1 293 283 294 -1 286 283 293 +-1 285 294 283 -1 280 293 294 -1 295 296 297 -1 286 296 295 -1 271 297 296 +-1 298 295 297 -1 288 295 299 -1 286 295 288 -1 298 299 295 -1 289 288 299 +-1 279 296 293 -1 271 296 279 -1 286 293 296 -1 280 279 293 -1 300 297 275 +-1 298 297 300 -1 271 275 297 -1 277 300 275 -1 301 302 303 -1 304 302 301 +-1 305 303 302 -1 306 301 303 -1 307 301 308 -1 304 301 307 -1 306 308 301 +-1 309 307 308 -1 310 302 311 -1 305 302 310 -1 304 311 302 -1 289 310 311 +-1 312 303 313 -1 306 303 312 -1 305 313 303 -1 314 312 313 -1 315 316 317 +-1 318 316 315 -1 319 317 316 -1 320 315 317 -1 321 315 322 -1 318 315 321 +-1 320 322 315 -1 323 321 322 -1 324 316 325 -1 319 316 324 -1 318 325 316 +-1 280 324 325 -1 326 317 327 -1 320 317 326 -1 319 327 317 -1 309 326 327 +-1 328 329 330 -1 285 329 328 -1 331 330 329 -1 319 328 330 -1 294 328 324 +-1 285 328 294 -1 319 324 328 -1 280 294 324 -1 332 329 290 -1 331 329 332 +-1 285 290 329 -1 292 332 290 -1 327 330 333 -1 319 330 327 -1 331 333 330 +-1 309 327 333 -1 334 335 336 -1 331 335 334 -1 284 336 335 -1 304 334 336 +-1 333 334 307 -1 331 334 333 -1 304 307 334 -1 309 333 307 -1 291 335 332 +-1 284 335 291 -1 331 332 335 -1 292 291 332 -1 311 336 287 -1 304 336 311 +-1 284 287 336 -1 289 311 287 -1 337 338 339 -1 340 338 337 -1 341 339 338 +-1 342 337 339 -1 343 337 344 -1 340 337 343 -1 342 344 337 -1 280 343 344 +-1 345 338 346 -1 341 338 345 -1 340 346 338 -1 347 345 346 -1 348 339 349 +-1 342 339 348 -1 341 349 339 -1 266 348 349 -1 350 351 352 -1 342 351 350 +-1 257 352 351 -1 272 350 352 -1 344 350 278 -1 342 350 344 -1 272 278 350 +-1 280 344 278 -1 265 351 348 -1 257 351 265 -1 342 348 351 -1 266 265 348 +-1 274 352 261 -1 272 352 274 -1 257 261 352 -1 263 274 261 -1 353 354 355 +-1 356 354 353 -1 318 355 354 -1 357 353 355 -1 358 353 359 -1 356 353 358 +-1 357 359 353 -1 360 358 359 -1 325 354 361 -1 318 354 325 -1 356 361 354 +-1 280 325 361 -1 362 355 321 -1 357 355 362 -1 318 321 355 -1 323 362 321 +-1 363 364 365 -1 366 364 363 -1 367 365 364 -1 368 363 365 -1 369 363 370 +-1 366 363 369 -1 368 370 363 -1 371 369 370 -1 372 364 373 -1 367 364 372 +-1 366 373 364 -1 266 372 373 -1 374 365 375 -1 368 365 374 -1 367 375 365 +-1 360 374 375 -1 376 377 378 -1 341 377 376 -1 379 378 377 -1 367 376 378 +-1 349 376 372 -1 341 376 349 -1 367 372 376 -1 266 349 372 -1 380 377 345 +-1 379 377 380 -1 341 345 377 -1 347 380 345 -1 375 378 381 -1 367 378 375 +-1 379 381 378 -1 360 375 381 -1 382 383 384 -1 379 383 382 -1 340 384 383 +-1 356 382 384 -1 381 382 358 -1 379 382 381 -1 356 358 382 -1 360 381 358 +-1 346 383 380 -1 340 383 346 -1 379 380 383 -1 347 346 380 -1 361 384 343 +-1 356 384 361 -1 340 343 384 -1 280 361 343 -1 385 386 387 -1 388 386 385 +-1 389 387 386 -1 390 385 387 -1 391 385 392 -1 388 385 391 -1 390 392 385 +-1 266 391 392 -1 393 386 394 -1 389 386 393 -1 388 394 386 -1 395 393 394 +-1 396 387 397 -1 390 387 396 -1 389 397 387 -1 252 396 397 -1 398 399 400 +-1 390 399 398 -1 243 400 399 -1 258 398 400 -1 392 398 264 -1 390 398 392 +-1 258 264 398 -1 266 392 264 -1 251 399 396 -1 243 399 251 -1 390 396 399 +-1 252 251 396 -1 260 400 247 -1 258 400 260 -1 243 247 400 -1 249 260 247 +-1 401 402 403 -1 404 402 401 -1 366 403 402 -1 405 401 403 -1 406 401 407 +-1 404 401 406 -1 405 407 401 -1 408 406 407 -1 373 402 409 -1 366 402 373 +-1 404 409 402 -1 266 373 409 -1 410 403 369 -1 405 403 410 -1 366 369 403 +-1 371 410 369 -1 411 412 413 -1 414 412 411 -1 415 413 412 -1 416 411 413 +-1 417 411 418 -1 414 411 417 -1 416 418 411 -1 419 417 418 -1 420 412 421 +-1 415 412 420 -1 414 421 412 -1 252 420 421 -1 422 413 423 -1 416 413 422 +-1 415 423 413 -1 408 422 423 -1 424 425 426 -1 389 425 424 -1 427 426 425 +-1 415 424 426 -1 397 424 420 -1 389 424 397 -1 415 420 424 -1 252 397 420 +-1 428 425 393 -1 427 425 428 -1 389 393 425 -1 395 428 393 -1 423 426 429 +-1 415 426 423 -1 427 429 426 -1 408 423 429 -1 430 431 432 -1 427 431 430 +-1 388 432 431 -1 404 430 432 -1 429 430 406 -1 427 430 429 -1 404 406 430 +-1 408 429 406 -1 394 431 428 -1 388 431 394 -1 427 428 431 -1 395 394 428 +-1 409 432 391 -1 404 432 409 -1 388 391 432 -1 266 409 391 -1 433 434 435 +-1 436 434 433 -1 437 435 434 -1 438 433 435 -1 439 433 440 -1 436 433 439 +-1 438 440 433 -1 252 439 440 -1 441 434 442 -1 437 434 441 -1 436 442 434 +-1 443 441 442 -1 444 435 445 -1 438 435 444 -1 437 445 435 -1 238 444 445 +-1 446 447 448 -1 438 447 446 -1 229 448 447 -1 244 446 448 -1 440 446 250 +-1 438 446 440 -1 244 250 446 -1 252 440 250 -1 237 447 444 -1 229 447 237 +-1 438 444 447 -1 238 237 444 -1 246 448 233 -1 244 448 246 -1 229 233 448 +-1 235 246 233 -1 449 450 451 -1 452 450 449 -1 414 451 450 -1 453 449 451 +-1 454 449 455 -1 452 449 454 -1 453 455 449 -1 456 454 455 -1 421 450 457 +-1 414 450 421 -1 452 457 450 -1 252 421 457 -1 458 451 417 -1 453 451 458 +-1 414 417 451 -1 419 458 417 -1 459 460 461 -1 462 460 459 -1 463 461 460 +-1 464 459 461 -1 465 459 466 -1 462 459 465 -1 464 466 459 -1 467 465 466 +-1 468 460 469 -1 463 460 468 -1 462 469 460 -1 238 468 469 -1 470 461 471 +-1 464 461 470 -1 463 471 461 -1 456 470 471 -1 472 473 474 -1 437 473 472 +-1 475 474 473 -1 463 472 474 -1 445 472 468 -1 437 472 445 -1 463 468 472 +-1 238 445 468 -1 476 473 441 -1 475 473 476 -1 437 441 473 -1 443 476 441 +-1 471 474 477 -1 463 474 471 -1 475 477 474 -1 456 471 477 -1 478 479 480 +-1 475 479 478 -1 436 480 479 -1 452 478 480 -1 477 478 454 -1 475 478 477 +-1 452 454 478 -1 456 477 454 -1 442 479 476 -1 436 479 442 -1 475 476 479 +-1 443 442 476 -1 457 480 439 -1 452 480 457 -1 436 439 480 -1 252 457 439 +-1 481 482 483 -1 484 482 481 -1 485 483 482 -1 486 481 483 -1 487 481 488 +-1 484 481 487 -1 486 488 481 -1 238 487 488 -1 489 482 490 -1 485 482 489 +-1 484 490 482 -1 491 489 490 -1 492 483 493 -1 486 483 492 -1 485 493 483 +-1 224 492 493 -1 494 495 496 -1 486 495 494 -1 215 496 495 -1 230 494 496 +-1 488 494 236 -1 486 494 488 -1 230 236 494 -1 238 488 236 -1 223 495 492 +-1 215 495 223 -1 486 492 495 -1 224 223 492 -1 232 496 219 -1 230 496 232 +-1 215 219 496 -1 221 232 219 -1 497 498 499 -1 500 498 497 -1 462 499 498 +-1 501 497 499 -1 502 497 503 -1 500 497 502 -1 501 503 497 -1 504 502 503 +-1 469 498 505 -1 462 498 469 -1 500 505 498 -1 238 469 505 -1 506 499 465 +-1 501 499 506 -1 462 465 499 -1 467 506 465 -1 507 508 509 -1 510 508 507 +-1 511 509 508 -1 512 507 509 -1 513 507 514 -1 510 507 513 -1 512 514 507 +-1 515 513 514 -1 516 508 517 -1 511 508 516 -1 510 517 508 -1 224 516 517 +-1 518 509 519 -1 512 509 518 -1 511 519 509 -1 504 518 519 -1 520 521 522 +-1 485 521 520 -1 523 522 521 -1 511 520 522 -1 493 520 516 -1 485 520 493 +-1 511 516 520 -1 224 493 516 -1 524 521 489 -1 523 521 524 -1 485 489 521 +-1 491 524 489 -1 519 522 525 -1 511 522 519 -1 523 525 522 -1 504 519 525 +-1 526 527 528 -1 523 527 526 -1 484 528 527 -1 500 526 528 -1 525 526 502 +-1 523 526 525 -1 500 502 526 -1 504 525 502 -1 490 527 524 -1 484 527 490 +-1 523 524 527 -1 491 490 524 -1 505 528 487 -1 500 528 505 -1 484 487 528 +-1 238 505 487 -1 529 530 531 -1 532 530 529 -1 533 531 530 -1 534 529 531 +-1 535 529 536 -1 532 529 535 -1 534 536 529 -1 224 535 536 -1 537 530 538 +-1 533 530 537 -1 532 538 530 -1 539 537 538 -1 540 531 541 -1 534 531 540 +-1 533 541 531 -1 210 540 541 -1 542 543 544 -1 534 543 542 -1 201 544 543 +-1 216 542 544 -1 536 542 222 -1 534 542 536 -1 216 222 542 -1 224 536 222 +-1 209 543 540 -1 201 543 209 -1 534 540 543 -1 210 209 540 -1 218 544 205 +-1 216 544 218 -1 201 205 544 -1 207 218 205 -1 545 546 547 -1 548 546 545 +-1 510 547 546 -1 549 545 547 -1 550 545 551 -1 548 545 550 -1 549 551 545 +-1 552 550 551 -1 517 546 553 -1 510 546 517 -1 548 553 546 -1 224 517 553 +-1 554 547 513 -1 549 547 554 -1 510 513 547 -1 515 554 513 -1 555 556 557 +-1 558 556 555 -1 559 557 556 -1 560 555 557 -1 561 555 562 -1 558 555 561 +-1 560 562 555 -1 563 561 562 -1 564 556 565 -1 559 556 564 -1 558 565 556 +-1 210 564 565 -1 566 557 567 -1 560 557 566 -1 559 567 557 -1 552 566 567 +-1 568 569 570 -1 533 569 568 -1 571 570 569 -1 559 568 570 -1 541 568 564 +-1 533 568 541 -1 559 564 568 -1 210 541 564 -1 572 569 537 -1 571 569 572 +-1 533 537 569 -1 539 572 537 -1 567 570 573 -1 559 570 567 -1 571 573 570 +-1 552 567 573 -1 574 575 576 -1 571 575 574 -1 532 576 575 -1 548 574 576 +-1 573 574 550 -1 571 574 573 -1 548 550 574 -1 552 573 550 -1 538 575 572 +-1 532 575 538 -1 571 572 575 -1 539 538 572 -1 553 576 535 -1 548 576 553 +-1 532 535 576 -1 224 553 535 -1 577 578 579 -1 580 578 577 -1 581 579 578 +-1 582 577 579 -1 583 577 584 -1 580 577 583 -1 582 584 577 -1 210 583 584 +-1 585 578 586 -1 581 578 585 -1 580 586 578 -1 587 585 586 -1 588 579 589 +-1 582 579 588 -1 581 589 579 -1 196 588 589 -1 590 591 592 -1 582 591 590 +-1 187 592 591 -1 202 590 592 -1 584 590 208 -1 582 590 584 -1 202 208 590 +-1 210 584 208 -1 195 591 588 -1 187 591 195 -1 582 588 591 -1 196 195 588 +-1 204 592 191 -1 202 592 204 -1 187 191 592 -1 193 204 191 -1 593 594 595 +-1 596 594 593 -1 558 595 594 -1 597 593 595 -1 598 593 599 -1 596 593 598 +-1 597 599 593 -1 600 598 599 -1 565 594 601 -1 558 594 565 -1 596 601 594 +-1 210 565 601 -1 602 595 561 -1 597 595 602 -1 558 561 595 -1 563 602 561 +-1 603 604 605 -1 606 604 603 -1 607 605 604 -1 608 603 605 -1 609 603 610 +-1 606 603 609 -1 608 610 603 -1 611 609 610 -1 612 604 613 -1 607 604 612 +-1 606 613 604 -1 196 612 613 -1 614 605 615 -1 608 605 614 -1 607 615 605 +-1 600 614 615 -1 616 617 618 -1 581 617 616 -1 619 618 617 -1 607 616 618 +-1 589 616 612 -1 581 616 589 -1 607 612 616 -1 196 589 612 -1 620 617 585 +-1 619 617 620 -1 581 585 617 -1 587 620 585 -1 615 618 621 -1 607 618 615 +-1 619 621 618 -1 600 615 621 -1 622 623 624 -1 619 623 622 -1 580 624 623 +-1 596 622 624 -1 621 622 598 -1 619 622 621 -1 596 598 622 -1 600 621 598 +-1 586 623 620 -1 580 623 586 -1 619 620 623 -1 587 586 620 -1 601 624 583 +-1 596 624 601 -1 580 583 624 -1 210 601 583 -1 625 626 627 -1 628 626 625 +-1 629 627 626 -1 630 625 627 -1 631 625 632 -1 628 625 631 -1 630 632 625 +-1 196 631 632 -1 633 626 634 -1 629 626 633 -1 628 634 626 -1 635 633 634 +-1 636 627 637 -1 630 627 636 -1 629 637 627 -1 182 636 637 -1 638 639 640 +-1 630 639 638 -1 173 640 639 -1 188 638 640 -1 632 638 194 -1 630 638 632 +-1 188 194 638 -1 196 632 194 -1 181 639 636 -1 173 639 181 -1 630 636 639 +-1 182 181 636 -1 190 640 177 -1 188 640 190 -1 173 177 640 -1 179 190 177 +-1 641 642 643 -1 644 642 641 -1 606 643 642 -1 645 641 643 -1 646 641 647 +-1 644 641 646 -1 645 647 641 -1 648 646 647 -1 613 642 649 -1 606 642 613 +-1 644 649 642 -1 196 613 649 -1 650 643 609 -1 645 643 650 -1 606 609 643 +-1 611 650 609 -1 651 652 653 -1 654 652 651 -1 655 653 652 -1 656 651 653 +-1 657 651 658 -1 654 651 657 -1 656 658 651 -1 659 657 658 -1 660 652 661 +-1 655 652 660 -1 654 661 652 -1 182 660 661 -1 662 653 663 -1 656 653 662 +-1 655 663 653 -1 648 662 663 -1 664 665 666 -1 629 665 664 -1 667 666 665 +-1 655 664 666 -1 637 664 660 -1 629 664 637 -1 655 660 664 -1 182 637 660 +-1 668 665 633 -1 667 665 668 -1 629 633 665 -1 635 668 633 -1 663 666 669 +-1 655 666 663 -1 667 669 666 -1 648 663 669 -1 670 671 672 -1 667 671 670 +-1 628 672 671 -1 644 670 672 -1 669 670 646 -1 667 670 669 -1 644 646 670 +-1 648 669 646 -1 634 671 668 -1 628 671 634 -1 667 668 671 -1 635 634 668 +-1 649 672 631 -1 644 672 649 -1 628 631 672 -1 196 649 631 -1 673 674 675 +-1 676 674 673 -1 677 675 674 -1 678 673 675 -1 679 673 680 -1 676 673 679 +-1 678 680 673 -1 182 679 680 -1 681 674 682 -1 677 674 681 -1 676 682 674 +-1 683 681 682 -1 684 675 685 -1 678 675 684 -1 677 685 675 -1 168 684 685 +-1 686 687 688 -1 678 687 686 -1 159 688 687 -1 174 686 688 -1 680 686 180 +-1 678 686 680 -1 174 180 686 -1 182 680 180 -1 167 687 684 -1 159 687 167 +-1 678 684 687 -1 168 167 684 -1 176 688 163 -1 174 688 176 -1 159 163 688 +-1 165 176 163 -1 689 690 691 -1 692 690 689 -1 654 691 690 -1 693 689 691 +-1 694 689 695 -1 692 689 694 -1 693 695 689 -1 696 694 695 -1 661 690 697 +-1 654 690 661 -1 692 697 690 -1 182 661 697 -1 698 691 657 -1 693 691 698 +-1 654 657 691 -1 659 698 657 -1 699 700 701 -1 702 700 699 -1 703 701 700 +-1 704 699 701 -1 705 699 706 -1 702 699 705 -1 704 706 699 -1 707 705 706 +-1 708 700 709 -1 703 700 708 -1 702 709 700 -1 168 708 709 -1 710 701 711 +-1 704 701 710 -1 703 711 701 -1 696 710 711 -1 712 713 714 -1 677 713 712 +-1 715 714 713 -1 703 712 714 -1 685 712 708 -1 677 712 685 -1 703 708 712 +-1 168 685 708 -1 716 713 681 -1 715 713 716 -1 677 681 713 -1 683 716 681 +-1 711 714 717 -1 703 714 711 -1 715 717 714 -1 696 711 717 -1 718 719 720 +-1 715 719 718 -1 676 720 719 -1 692 718 720 -1 717 718 694 -1 715 718 717 +-1 692 694 718 -1 696 717 694 -1 682 719 716 -1 676 719 682 -1 715 716 719 +-1 683 682 716 -1 697 720 679 -1 692 720 697 -1 676 679 720 -1 182 697 679 +-1 721 722 723 -1 724 722 721 -1 725 723 722 -1 726 721 723 -1 727 721 728 +-1 724 721 727 -1 726 728 721 -1 168 727 728 -1 729 722 730 -1 725 722 729 +-1 724 730 722 -1 731 729 730 -1 732 723 733 -1 726 723 732 -1 725 733 723 +-1 154 732 733 -1 734 735 736 -1 726 735 734 -1 145 736 735 -1 160 734 736 +-1 728 734 166 -1 726 734 728 -1 160 166 734 -1 168 728 166 -1 153 735 732 +-1 145 735 153 -1 726 732 735 -1 154 153 732 -1 162 736 149 -1 160 736 162 +-1 145 149 736 -1 151 162 149 -1 737 738 739 -1 740 738 737 -1 702 739 738 +-1 741 737 739 -1 742 737 743 -1 740 737 742 -1 741 743 737 -1 744 742 743 +-1 709 738 745 -1 702 738 709 -1 740 745 738 -1 168 709 745 -1 746 739 705 +-1 741 739 746 -1 702 705 739 -1 707 746 705 -1 747 748 749 -1 750 748 747 +-1 751 749 748 -1 752 747 749 -1 753 747 754 -1 750 747 753 -1 752 754 747 +-1 755 753 754 -1 756 748 757 -1 751 748 756 -1 750 757 748 -1 154 756 757 +-1 758 749 759 -1 752 749 758 -1 751 759 749 -1 744 758 759 -1 760 761 762 +-1 725 761 760 -1 763 762 761 -1 751 760 762 -1 733 760 756 -1 725 760 733 +-1 751 756 760 -1 154 733 756 -1 764 761 729 -1 763 761 764 -1 725 729 761 +-1 731 764 729 -1 759 762 765 -1 751 762 759 -1 763 765 762 -1 744 759 765 +-1 766 767 768 -1 763 767 766 -1 724 768 767 -1 740 766 768 -1 765 766 742 +-1 763 766 765 -1 740 742 766 -1 744 765 742 -1 730 767 764 -1 724 767 730 +-1 763 764 767 -1 731 730 764 -1 745 768 727 -1 740 768 745 -1 724 727 768 +-1 168 745 727 -1 769 770 771 -1 772 770 769 -1 773 771 770 -1 774 769 771 +-1 775 769 776 -1 772 769 775 -1 774 776 769 -1 154 775 776 -1 777 770 778 +-1 773 770 777 -1 772 778 770 -1 779 777 778 -1 780 771 781 -1 774 771 780 +-1 773 781 771 -1 140 780 781 -1 782 783 784 -1 774 783 782 -1 131 784 783 +-1 146 782 784 -1 776 782 152 -1 774 782 776 -1 146 152 782 -1 154 776 152 +-1 139 783 780 -1 131 783 139 -1 774 780 783 -1 140 139 780 -1 148 784 135 +-1 146 784 148 -1 131 135 784 -1 137 148 135 -1 785 786 787 -1 788 786 785 +-1 750 787 786 -1 789 785 787 -1 790 785 791 -1 788 785 790 -1 789 791 785 +-1 792 790 791 -1 757 786 793 -1 750 786 757 -1 788 793 786 -1 154 757 793 +-1 794 787 753 -1 789 787 794 -1 750 753 787 -1 755 794 753 -1 795 796 797 +-1 798 796 795 -1 799 797 796 -1 800 795 797 -1 801 795 802 -1 798 795 801 +-1 800 802 795 -1 803 801 802 -1 804 796 805 -1 799 796 804 -1 798 805 796 +-1 140 804 805 -1 806 797 807 -1 800 797 806 -1 799 807 797 -1 792 806 807 +-1 808 809 810 -1 773 809 808 -1 811 810 809 -1 799 808 810 -1 781 808 804 +-1 773 808 781 -1 799 804 808 -1 140 781 804 -1 812 809 777 -1 811 809 812 +-1 773 777 809 -1 779 812 777 -1 807 810 813 -1 799 810 807 -1 811 813 810 +-1 792 807 813 -1 814 815 816 -1 811 815 814 -1 772 816 815 -1 788 814 816 +-1 813 814 790 -1 811 814 813 -1 788 790 814 -1 792 813 790 -1 778 815 812 +-1 772 815 778 -1 811 812 815 -1 779 778 812 -1 793 816 775 -1 788 816 793 +-1 772 775 816 -1 154 793 775 -1 817 818 819 -1 820 818 817 -1 821 819 818 +-1 822 817 819 -1 823 817 824 -1 820 817 823 -1 822 824 817 -1 140 823 824 +-1 825 818 826 -1 821 818 825 -1 820 826 818 -1 827 825 826 -1 828 819 829 +-1 822 819 828 -1 821 829 819 -1 126 828 829 -1 830 831 832 -1 822 831 830 +-1 117 832 831 -1 132 830 832 -1 824 830 138 -1 822 830 824 -1 132 138 830 +-1 140 824 138 -1 125 831 828 -1 117 831 125 -1 822 828 831 -1 126 125 828 +-1 134 832 121 -1 132 832 134 -1 117 121 832 -1 123 134 121 -1 833 834 835 +-1 836 834 833 -1 798 835 834 -1 837 833 835 -1 838 833 839 -1 836 833 838 +-1 837 839 833 -1 840 838 839 -1 805 834 841 -1 798 834 805 -1 836 841 834 +-1 140 805 841 -1 842 835 801 -1 837 835 842 -1 798 801 835 -1 803 842 801 +-1 843 844 845 -1 846 844 843 -1 847 845 844 -1 848 843 845 -1 849 843 850 +-1 846 843 849 -1 848 850 843 -1 851 849 850 -1 852 844 853 -1 847 844 852 +-1 846 853 844 -1 126 852 853 -1 854 845 855 -1 848 845 854 -1 847 855 845 +-1 840 854 855 -1 856 857 858 -1 821 857 856 -1 859 858 857 -1 847 856 858 +-1 829 856 852 -1 821 856 829 -1 847 852 856 -1 126 829 852 -1 860 857 825 +-1 859 857 860 -1 821 825 857 -1 827 860 825 -1 855 858 861 -1 847 858 855 +-1 859 861 858 -1 840 855 861 -1 862 863 864 -1 859 863 862 -1 820 864 863 +-1 836 862 864 -1 861 862 838 -1 859 862 861 -1 836 838 862 -1 840 861 838 +-1 826 863 860 -1 820 863 826 -1 859 860 863 -1 827 826 860 -1 841 864 823 +-1 836 864 841 -1 820 823 864 -1 140 841 823 -1 865 866 867 -1 868 866 865 +-1 869 867 866 -1 870 865 867 -1 871 865 872 -1 868 865 871 -1 870 872 865 +-1 126 871 872 -1 873 866 874 -1 869 866 873 -1 868 874 866 -1 875 873 874 +-1 876 867 877 -1 870 867 876 -1 869 877 867 -1 112 876 877 -1 878 879 880 +-1 870 879 878 -1 103 880 879 -1 118 878 880 -1 872 878 124 -1 870 878 872 +-1 118 124 878 -1 126 872 124 -1 111 879 876 -1 103 879 111 -1 870 876 879 +-1 112 111 876 -1 120 880 107 -1 118 880 120 -1 103 107 880 -1 109 120 107 +-1 881 882 883 -1 884 882 881 -1 846 883 882 -1 885 881 883 -1 886 881 887 +-1 884 881 886 -1 885 887 881 -1 888 886 887 -1 853 882 889 -1 846 882 853 +-1 884 889 882 -1 126 853 889 -1 890 883 849 -1 885 883 890 -1 846 849 883 +-1 851 890 849 -1 891 892 893 -1 894 892 891 -1 895 893 892 -1 896 891 893 +-1 897 891 898 -1 894 891 897 -1 896 898 891 -1 899 897 898 -1 900 892 901 +-1 895 892 900 -1 894 901 892 -1 112 900 901 -1 902 893 903 -1 896 893 902 +-1 895 903 893 -1 888 902 903 -1 904 905 906 -1 869 905 904 -1 907 906 905 +-1 895 904 906 -1 877 904 900 -1 869 904 877 -1 895 900 904 -1 112 877 900 +-1 908 905 873 -1 907 905 908 -1 869 873 905 -1 875 908 873 -1 903 906 909 +-1 895 906 903 -1 907 909 906 -1 888 903 909 -1 910 911 912 -1 907 911 910 +-1 868 912 911 -1 884 910 912 -1 909 910 886 -1 907 910 909 -1 884 886 910 +-1 888 909 886 -1 874 911 908 -1 868 911 874 -1 907 908 911 -1 875 874 908 +-1 889 912 871 -1 884 912 889 -1 868 871 912 -1 126 889 871 -1 913 914 915 +-1 916 914 913 -1 917 915 914 -1 918 913 915 -1 919 913 920 -1 916 913 919 +-1 918 920 913 -1 112 919 920 -1 921 914 922 -1 917 914 921 -1 916 922 914 +-1 923 921 922 -1 924 915 925 -1 918 915 924 -1 917 925 915 -1 98 924 925 +-1 926 927 928 -1 918 927 926 -1 89 928 927 -1 104 926 928 -1 920 926 110 +-1 918 926 920 -1 104 110 926 -1 112 920 110 -1 97 927 924 -1 89 927 97 -1 918 +924 927 -1 98 97 924 -1 106 928 93 -1 104 928 106 -1 89 93 928 -1 95 106 93 +-1 929 930 931 -1 932 930 929 -1 894 931 930 -1 933 929 931 -1 934 929 935 +-1 932 929 934 -1 933 935 929 -1 936 934 935 -1 901 930 937 -1 894 930 901 +-1 932 937 930 -1 112 901 937 -1 938 931 897 -1 933 931 938 -1 894 897 931 +-1 899 938 897 -1 939 940 941 -1 942 940 939 -1 943 941 940 -1 944 939 941 +-1 945 939 946 -1 942 939 945 -1 944 946 939 -1 947 945 946 -1 948 940 949 +-1 943 940 948 -1 942 949 940 -1 98 948 949 -1 950 941 951 -1 944 941 950 +-1 943 951 941 -1 936 950 951 -1 952 953 954 -1 917 953 952 -1 955 954 953 +-1 943 952 954 -1 925 952 948 -1 917 952 925 -1 943 948 952 -1 98 925 948 +-1 956 953 921 -1 955 953 956 -1 917 921 953 -1 923 956 921 -1 951 954 957 +-1 943 954 951 -1 955 957 954 -1 936 951 957 -1 958 959 960 -1 955 959 958 +-1 916 960 959 -1 932 958 960 -1 957 958 934 -1 955 958 957 -1 932 934 958 +-1 936 957 934 -1 922 959 956 -1 916 959 922 -1 955 956 959 -1 923 922 956 +-1 937 960 919 -1 932 960 937 -1 916 919 960 -1 112 937 919 -1 961 962 963 +-1 964 962 961 -1 965 963 962 -1 966 961 963 -1 967 961 968 -1 964 961 967 +-1 966 968 961 -1 98 967 968 -1 969 962 970 -1 965 962 969 -1 964 970 962 +-1 971 969 970 -1 972 963 973 -1 966 963 972 -1 965 973 963 -1 84 972 973 +-1 974 975 976 -1 966 975 974 -1 75 976 975 -1 90 974 976 -1 968 974 96 -1 966 +974 968 -1 90 96 974 -1 98 968 96 -1 83 975 972 -1 75 975 83 -1 966 972 975 +-1 84 83 972 -1 92 976 79 -1 90 976 92 -1 75 79 976 -1 81 92 79 -1 977 978 979 +-1 980 978 977 -1 942 979 978 -1 981 977 979 -1 982 977 983 -1 980 977 982 +-1 981 983 977 -1 984 982 983 -1 949 978 985 -1 942 978 949 -1 980 985 978 +-1 98 949 985 -1 986 979 945 -1 981 979 986 -1 942 945 979 -1 947 986 945 +-1 987 988 989 -1 990 988 987 -1 991 989 988 -1 992 987 989 -1 993 987 994 +-1 990 987 993 -1 992 994 987 -1 995 993 994 -1 996 988 997 -1 991 988 996 +-1 990 997 988 -1 84 996 997 -1 998 989 999 -1 992 989 998 -1 991 999 989 +-1 984 998 999 -1 1000 1001 1002 -1 965 1001 1000 -1 1003 1002 1001 -1 991 1000 +1002 -1 973 1000 996 -1 965 1000 973 -1 991 996 1000 -1 84 973 996 -1 1004 1001 +969 -1 1003 1001 1004 -1 965 969 1001 -1 971 1004 969 -1 999 1002 1005 -1 991 +1002 999 -1 1003 1005 1002 -1 984 999 1005 -1 1006 1007 1008 -1 1003 1007 1006 +-1 964 1008 1007 -1 980 1006 1008 -1 1005 1006 982 -1 1003 1006 1005 -1 980 +982 1006 -1 984 1005 982 -1 970 1007 1004 -1 964 1007 970 -1 1003 1004 1007 +-1 971 970 1004 -1 985 1008 967 -1 980 1008 985 -1 964 967 1008 -1 98 985 967 +-1 1009 1010 1011 -1 1012 1010 1009 -1 1013 1011 1010 -1 1014 1009 1011 -1 1015 +1009 1016 -1 1012 1009 1015 -1 1014 1016 1009 -1 84 1015 1016 -1 1017 1010 1018 +-1 1013 1010 1017 -1 1012 1018 1010 -1 1019 1017 1018 -1 1020 1011 1021 -1 1014 +1011 1020 -1 1013 1021 1011 -1 70 1020 1021 -1 1022 1023 1024 -1 1014 1023 1022 +-1 61 1024 1023 -1 76 1022 1024 -1 1016 1022 82 -1 1014 1022 1016 -1 76 82 1022 +-1 84 1016 82 -1 69 1023 1020 -1 61 1023 69 -1 1014 1020 1023 -1 70 69 1020 +-1 78 1024 65 -1 76 1024 78 -1 61 65 1024 -1 67 78 65 -1 1025 1026 1027 -1 1028 +1026 1025 -1 990 1027 1026 -1 1029 1025 1027 -1 1030 1025 1031 -1 1028 1025 +1030 -1 1029 1031 1025 -1 1032 1030 1031 -1 997 1026 1033 -1 990 1026 997 +-1 1028 1033 1026 -1 84 997 1033 -1 1034 1027 993 -1 1029 1027 1034 -1 990 993 +1027 -1 995 1034 993 -1 1035 1036 1037 -1 1038 1036 1035 -1 1039 1037 1036 +-1 1040 1035 1037 -1 1041 1035 1042 -1 1038 1035 1041 -1 1040 1042 1035 -1 1043 +1041 1042 -1 1044 1036 1045 -1 1039 1036 1044 -1 1038 1045 1036 -1 70 1044 1045 +-1 1046 1037 1047 -1 1040 1037 1046 -1 1039 1047 1037 -1 1032 1046 1047 -1 1048 +1049 1050 -1 1013 1049 1048 -1 1051 1050 1049 -1 1039 1048 1050 -1 1021 1048 +1044 -1 1013 1048 1021 -1 1039 1044 1048 -1 70 1021 1044 -1 1052 1049 1017 +-1 1051 1049 1052 -1 1013 1017 1049 -1 1019 1052 1017 -1 1047 1050 1053 -1 1039 +1050 1047 -1 1051 1053 1050 -1 1032 1047 1053 -1 1054 1055 1056 -1 1051 1055 +1054 -1 1012 1056 1055 -1 1028 1054 1056 -1 1053 1054 1030 -1 1051 1054 1053 +-1 1028 1030 1054 -1 1032 1053 1030 -1 1018 1055 1052 -1 1012 1055 1018 -1 1051 +1052 1055 -1 1019 1018 1052 -1 1033 1056 1015 -1 1028 1056 1033 -1 1012 1015 +1056 -1 84 1033 1015 -1 1057 1058 1059 -1 1060 1058 1057 -1 1061 1059 1058 +-1 1062 1057 1059 -1 1063 1057 1064 -1 1060 1057 1063 -1 1062 1064 1057 -1 70 +1063 1064 -1 1065 1058 1066 -1 1061 1058 1065 -1 1060 1066 1058 -1 1067 1065 +1066 -1 1068 1059 1069 -1 1062 1059 1068 -1 1061 1069 1059 -1 56 1068 1069 +-1 1070 1071 1072 -1 1062 1071 1070 -1 47 1072 1071 -1 62 1070 1072 -1 1064 +1070 68 -1 1062 1070 1064 -1 62 68 1070 -1 70 1064 68 -1 55 1071 1068 -1 47 +1071 55 -1 1062 1068 1071 -1 56 55 1068 -1 64 1072 51 -1 62 1072 64 -1 47 51 +1072 -1 53 64 51 -1 1073 1074 1075 -1 1076 1074 1073 -1 1038 1075 1074 -1 1077 +1073 1075 -1 1078 1073 1079 -1 1076 1073 1078 -1 1077 1079 1073 -1 1080 1078 +1079 -1 1045 1074 1081 -1 1038 1074 1045 -1 1076 1081 1074 -1 70 1045 1081 +-1 1082 1075 1041 -1 1077 1075 1082 -1 1038 1041 1075 -1 1043 1082 1041 -1 1083 +1084 1085 -1 1086 1084 1083 -1 1087 1085 1084 -1 1088 1083 1085 -1 1089 1083 +1090 -1 1086 1083 1089 -1 1088 1090 1083 -1 1091 1089 1090 -1 1092 1084 1093 +-1 1087 1084 1092 -1 1086 1093 1084 -1 56 1092 1093 -1 1094 1085 1095 -1 1088 +1085 1094 -1 1087 1095 1085 -1 1080 1094 1095 -1 1096 1097 1098 -1 1061 1097 +1096 -1 1099 1098 1097 -1 1087 1096 1098 -1 1069 1096 1092 -1 1061 1096 1069 +-1 1087 1092 1096 -1 56 1069 1092 -1 1100 1097 1065 -1 1099 1097 1100 -1 1061 +1065 1097 -1 1067 1100 1065 -1 1095 1098 1101 -1 1087 1098 1095 -1 1099 1101 +1098 -1 1080 1095 1101 -1 1102 1103 1104 -1 1099 1103 1102 -1 1060 1104 1103 +-1 1076 1102 1104 -1 1101 1102 1078 -1 1099 1102 1101 -1 1076 1078 1102 -1 1080 +1101 1078 -1 1066 1103 1100 -1 1060 1103 1066 -1 1099 1100 1103 -1 1067 1066 +1100 -1 1081 1104 1063 -1 1076 1104 1081 -1 1060 1063 1104 -1 70 1081 1063 +-1 1105 1106 1107 -1 1108 1106 1105 -1 1109 1107 1106 -1 1110 1105 1107 -1 1111 +1105 1112 -1 1108 1105 1111 -1 1110 1112 1105 -1 56 1111 1112 -1 1113 1106 1114 +-1 1109 1106 1113 -1 1108 1114 1106 -1 1115 1113 1114 -1 1116 1107 1117 -1 1110 +1107 1116 -1 1109 1117 1107 -1 42 1116 1117 -1 1118 1119 1120 -1 1110 1119 1118 +-1 33 1120 1119 -1 48 1118 1120 -1 1112 1118 54 -1 1110 1118 1112 -1 48 54 1118 +-1 56 1112 54 -1 41 1119 1116 -1 33 1119 41 -1 1110 1116 1119 -1 42 41 1116 +-1 50 1120 37 -1 48 1120 50 -1 33 37 1120 -1 39 50 37 -1 1121 1122 1123 -1 1124 +1122 1121 -1 1086 1123 1122 -1 1125 1121 1123 -1 1126 1121 1127 -1 1124 1121 +1126 -1 1125 1127 1121 -1 1128 1126 1127 -1 1093 1122 1129 -1 1086 1122 1093 +-1 1124 1129 1122 -1 56 1093 1129 -1 1130 1123 1089 -1 1125 1123 1130 -1 1086 +1089 1123 -1 1091 1130 1089 -1 1131 1132 1133 -1 1134 1132 1131 -1 1135 1133 +1132 -1 1136 1131 1133 -1 1137 1131 1138 -1 1134 1131 1137 -1 1136 1138 1131 +-1 1139 1137 1138 -1 1140 1132 1141 -1 1135 1132 1140 -1 1134 1141 1132 -1 42 +1140 1141 -1 1142 1133 1143 -1 1136 1133 1142 -1 1135 1143 1133 -1 1128 1142 +1143 -1 1144 1145 1146 -1 1109 1145 1144 -1 1147 1146 1145 -1 1135 1144 1146 +-1 1117 1144 1140 -1 1109 1144 1117 -1 1135 1140 1144 -1 42 1117 1140 -1 1148 +1145 1113 -1 1147 1145 1148 -1 1109 1113 1145 -1 1115 1148 1113 -1 1143 1146 +1149 -1 1135 1146 1143 -1 1147 1149 1146 -1 1128 1143 1149 -1 1150 1151 1152 +-1 1147 1151 1150 -1 1108 1152 1151 -1 1124 1150 1152 -1 1149 1150 1126 -1 1147 +1150 1149 -1 1124 1126 1150 -1 1128 1149 1126 -1 1114 1151 1148 -1 1108 1151 +1114 -1 1147 1148 1151 -1 1115 1114 1148 -1 1129 1152 1111 -1 1124 1152 1129 +-1 1108 1111 1152 -1 56 1129 1111 -1 1153 1154 1155 -1 1156 1154 1153 -1 1157 +1155 1154 -1 1158 1153 1155 -1 1159 1153 1160 -1 1156 1153 1159 -1 1158 1160 +1153 -1 42 1159 1160 -1 1161 1154 1162 -1 1157 1154 1161 -1 1156 1162 1154 +-1 1163 1161 1162 -1 1164 1155 1165 -1 1158 1155 1164 -1 1157 1165 1155 -1 28 +1164 1165 -1 1166 1167 1168 -1 1158 1167 1166 -1 19 1168 1167 -1 34 1166 1168 +-1 1160 1166 40 -1 1158 1166 1160 -1 34 40 1166 -1 42 1160 40 -1 27 1167 1164 +-1 19 1167 27 -1 1158 1164 1167 -1 28 27 1164 -1 36 1168 23 -1 34 1168 36 +-1 19 23 1168 -1 25 36 23 -1 1169 1170 1171 -1 1172 1170 1169 -1 1134 1171 1170 +-1 1173 1169 1171 -1 1174 1169 1175 -1 1172 1169 1174 -1 1173 1175 1169 -1 1176 +1174 1175 -1 1141 1170 1177 -1 1134 1170 1141 -1 1172 1177 1170 -1 42 1141 1177 +-1 1178 1171 1137 -1 1173 1171 1178 -1 1134 1137 1171 -1 1139 1178 1137 -1 1179 +1180 1181 -1 1182 1180 1179 -1 1183 1181 1180 -1 1184 1179 1181 -1 1185 1179 +1186 -1 1182 1179 1185 -1 1184 1186 1179 -1 1187 1185 1186 -1 1188 1180 1189 +-1 1183 1180 1188 -1 1182 1189 1180 -1 28 1188 1189 -1 1190 1181 1191 -1 1184 +1181 1190 -1 1183 1191 1181 -1 1176 1190 1191 -1 1192 1193 1194 -1 1157 1193 +1192 -1 1195 1194 1193 -1 1183 1192 1194 -1 1165 1192 1188 -1 1157 1192 1165 +-1 1183 1188 1192 -1 28 1165 1188 -1 1196 1193 1161 -1 1195 1193 1196 -1 1157 +1161 1193 -1 1163 1196 1161 -1 1191 1194 1197 -1 1183 1194 1191 -1 1195 1197 +1194 -1 1176 1191 1197 -1 1198 1199 1200 -1 1195 1199 1198 -1 1156 1200 1199 +-1 1172 1198 1200 -1 1197 1198 1174 -1 1195 1198 1197 -1 1172 1174 1198 -1 1176 +1197 1174 -1 1162 1199 1196 -1 1156 1199 1162 -1 1195 1196 1199 -1 1163 1162 +1196 -1 1177 1200 1159 -1 1172 1200 1177 -1 1156 1159 1200 -1 42 1177 1159 +-1 1201 1202 1203 -1 1204 1202 1201 -1 1205 1203 1202 -1 1206 1201 1203 -1 1207 +1201 1208 -1 1204 1201 1207 -1 1206 1208 1201 -1 28 1207 1208 -1 1209 1202 1210 +-1 1205 1202 1209 -1 1204 1210 1202 -1 1211 1209 1210 -1 1212 1203 1213 -1 1206 +1203 1212 -1 1205 1213 1203 -1 14 1212 1213 -1 1214 1215 1216 -1 1206 1215 1214 +-1 4 1216 1215 -1 20 1214 1216 -1 1208 1214 26 -1 1206 1214 1208 -1 20 26 1214 +-1 28 1208 26 -1 13 1215 1212 -1 4 1215 13 -1 1206 1212 1215 -1 14 13 1212 +-1 22 1216 9 -1 20 1216 22 -1 4 9 1216 -1 11 22 9 -1 1217 1218 1219 -1 1220 +1218 1217 -1 1182 1219 1218 -1 1221 1217 1219 -1 1222 1217 1223 -1 1220 1217 +1222 -1 1221 1223 1217 -1 1224 1222 1223 -1 1189 1218 1225 -1 1182 1218 1189 +-1 1220 1225 1218 -1 28 1189 1225 -1 1226 1219 1185 -1 1221 1219 1226 -1 1182 +1185 1219 -1 1187 1226 1185 -1 1227 1228 1229 -1 1230 1228 1227 -1 1231 1229 +1228 -1 1232 1227 1229 -1 1233 1227 1234 -1 1230 1227 1233 -1 1232 1234 1227 +-1 1235 1233 1234 -1 1236 1228 1237 -1 1231 1228 1236 -1 1230 1237 1228 -1 14 +1236 1237 -1 1238 1229 1239 -1 1232 1229 1238 -1 1231 1239 1229 -1 1224 1238 +1239 -1 1240 1241 1242 -1 1205 1241 1240 -1 1243 1242 1241 -1 1231 1240 1242 +-1 1213 1240 1236 -1 1205 1240 1213 -1 1231 1236 1240 -1 14 1213 1236 -1 1244 +1241 1209 -1 1243 1241 1244 -1 1205 1209 1241 -1 1211 1244 1209 -1 1239 1242 +1245 -1 1231 1242 1239 -1 1243 1245 1242 -1 1224 1239 1245 -1 1246 1247 1248 +-1 1243 1247 1246 -1 1204 1248 1247 -1 1220 1246 1248 -1 1245 1246 1222 -1 1243 +1246 1245 -1 1220 1222 1246 -1 1224 1245 1222 -1 1210 1247 1244 -1 1204 1247 +1210 -1 1243 1244 1247 -1 1211 1210 1244 -1 1225 1248 1207 -1 1220 1248 1225 +-1 1204 1207 1248 -1 28 1225 1207 -1 ] texCoordIndex +[ 0 1 2 -1 3 1 0 -1 4 2 1 -1 5 0 2 -1 6 0 7 -1 3 0 6 -1 5 7 0 -1 8 6 7 -1 9 +1 10 -1 4 1 9 -1 3 10 1 -1 11 9 10 -1 12 2 13 -1 5 2 12 -1 4 13 2 -1 14 12 13 +-1 15 16 17 -1 18 16 15 -1 19 17 16 -1 20 15 17 -1 21 15 22 -1 18 15 21 -1 20 +22 15 -1 11 21 22 -1 23 16 24 -1 19 16 23 -1 18 24 16 -1 25 23 24 -1 26 17 27 +-1 20 17 26 -1 19 27 17 -1 28 26 27 -1 29 30 31 -1 32 30 29 -1 33 31 30 -1 34 +29 31 -1 35 29 36 -1 32 29 35 -1 34 36 29 -1 25 35 36 -1 37 30 38 -1 33 30 37 +-1 32 38 30 -1 39 37 38 -1 40 31 41 -1 34 31 40 -1 33 41 31 -1 42 40 41 -1 43 +44 45 -1 46 44 43 -1 47 45 44 -1 48 43 45 -1 49 43 50 -1 46 43 49 -1 48 50 43 +-1 39 49 50 -1 51 44 52 -1 47 44 51 -1 46 52 44 -1 53 51 52 -1 54 45 55 -1 48 +45 54 -1 47 55 45 -1 56 54 55 -1 57 58 59 -1 60 58 57 -1 61 59 58 -1 62 57 59 +-1 63 57 64 -1 60 57 63 -1 62 64 57 -1 53 63 64 -1 65 58 66 -1 61 58 65 -1 60 +66 58 -1 67 65 66 -1 68 59 69 -1 62 59 68 -1 61 69 59 -1 70 68 69 -1 71 72 73 +-1 74 72 71 -1 75 73 72 -1 76 71 73 -1 77 71 78 -1 74 71 77 -1 76 78 71 -1 67 +77 78 -1 79 72 80 -1 75 72 79 -1 74 80 72 -1 81 79 80 -1 82 73 83 -1 76 73 82 +-1 75 83 73 -1 84 82 83 -1 85 86 87 -1 88 86 85 -1 89 87 86 -1 90 85 87 -1 91 +85 92 -1 88 85 91 -1 90 92 85 -1 81 91 92 -1 93 86 94 -1 89 86 93 -1 88 94 86 +-1 95 93 94 -1 96 87 97 -1 90 87 96 -1 89 97 87 -1 98 96 97 -1 99 100 101 +-1 102 100 99 -1 103 101 100 -1 104 99 101 -1 105 99 106 -1 102 99 105 -1 104 +106 99 -1 95 105 106 -1 107 100 108 -1 103 100 107 -1 102 108 100 -1 109 107 +108 -1 110 101 111 -1 104 101 110 -1 103 111 101 -1 112 110 111 -1 113 114 115 +-1 116 114 113 -1 117 115 114 -1 118 113 115 -1 119 113 120 -1 116 113 119 +-1 118 120 113 -1 109 119 120 -1 121 114 122 -1 117 114 121 -1 116 122 114 +-1 123 121 122 -1 124 115 125 -1 118 115 124 -1 117 125 115 -1 126 124 125 +-1 127 128 129 -1 130 128 127 -1 131 129 128 -1 132 127 129 -1 133 127 134 +-1 130 127 133 -1 132 134 127 -1 123 133 134 -1 135 128 136 -1 131 128 135 +-1 130 136 128 -1 137 135 136 -1 138 129 139 -1 132 129 138 -1 131 139 129 +-1 140 138 139 -1 141 142 143 -1 144 142 141 -1 145 143 142 -1 146 141 143 +-1 147 141 148 -1 144 141 147 -1 146 148 141 -1 137 147 148 -1 149 142 150 +-1 145 142 149 -1 144 150 142 -1 151 149 150 -1 152 143 153 -1 146 143 152 +-1 145 153 143 -1 154 152 153 -1 155 156 157 -1 158 156 155 -1 159 157 156 +-1 160 155 157 -1 161 155 162 -1 158 155 161 -1 160 162 155 -1 151 161 162 +-1 163 156 164 -1 159 156 163 -1 158 164 156 -1 165 163 164 -1 166 157 167 +-1 160 157 166 -1 159 167 157 -1 168 166 167 -1 169 170 171 -1 172 170 169 +-1 173 171 170 -1 174 169 171 -1 175 169 176 -1 172 169 175 -1 174 176 169 +-1 165 175 176 -1 177 170 178 -1 173 170 177 -1 172 178 170 -1 179 177 178 +-1 180 171 181 -1 174 171 180 -1 173 181 171 -1 182 180 181 -1 183 184 185 +-1 186 184 183 -1 187 185 184 -1 188 183 185 -1 189 183 190 -1 186 183 189 +-1 188 190 183 -1 179 189 190 -1 191 184 192 -1 187 184 191 -1 186 192 184 +-1 193 191 192 -1 194 185 195 -1 188 185 194 -1 187 195 185 -1 196 194 195 +-1 197 198 199 -1 200 198 197 -1 201 199 198 -1 202 197 199 -1 203 197 204 +-1 200 197 203 -1 202 204 197 -1 193 203 204 -1 205 198 206 -1 201 198 205 +-1 200 206 198 -1 207 205 206 -1 208 199 209 -1 202 199 208 -1 201 209 199 +-1 210 208 209 -1 211 212 213 -1 214 212 211 -1 215 213 212 -1 216 211 213 +-1 217 211 218 -1 214 211 217 -1 216 218 211 -1 207 217 218 -1 219 212 220 +-1 215 212 219 -1 214 220 212 -1 221 219 220 -1 222 213 223 -1 216 213 222 +-1 215 223 213 -1 224 222 223 -1 225 226 227 -1 228 226 225 -1 229 227 226 +-1 230 225 227 -1 231 225 232 -1 228 225 231 -1 230 232 225 -1 221 231 232 +-1 233 226 234 -1 229 226 233 -1 228 234 226 -1 235 233 234 -1 236 227 237 +-1 230 227 236 -1 229 237 227 -1 238 236 237 -1 239 240 241 -1 242 240 239 +-1 243 241 240 -1 244 239 241 -1 245 239 246 -1 242 239 245 -1 244 246 239 +-1 235 245 246 -1 247 240 248 -1 243 240 247 -1 242 248 240 -1 249 247 248 +-1 250 241 251 -1 244 241 250 -1 243 251 241 -1 252 250 251 -1 253 254 255 +-1 256 254 253 -1 257 255 254 -1 258 253 255 -1 259 253 260 -1 256 253 259 +-1 258 260 253 -1 249 259 260 -1 261 254 262 -1 257 254 261 -1 256 262 254 +-1 263 261 262 -1 264 255 265 -1 258 255 264 -1 257 265 255 -1 266 264 265 +-1 267 268 269 -1 270 268 267 -1 271 269 268 -1 272 267 269 -1 273 267 274 +-1 270 267 273 -1 272 274 267 -1 263 273 274 -1 275 268 276 -1 271 268 275 +-1 270 276 268 -1 277 275 276 -1 278 269 279 -1 272 269 278 -1 271 279 269 +-1 280 278 279 -1 281 282 283 -1 284 282 281 -1 285 283 282 -1 286 281 283 +-1 287 281 288 -1 284 281 287 -1 286 288 281 -1 289 287 288 -1 290 282 291 +-1 285 282 290 -1 284 291 282 -1 292 290 291 -1 293 283 294 -1 286 283 293 +-1 285 294 283 -1 280 293 294 -1 295 296 297 -1 286 296 295 -1 271 297 296 +-1 298 295 297 -1 288 295 299 -1 286 295 288 -1 298 299 295 -1 289 288 299 +-1 279 296 293 -1 271 296 279 -1 286 293 296 -1 280 279 293 -1 300 297 275 +-1 298 297 300 -1 271 275 297 -1 277 300 275 -1 301 302 303 -1 304 302 301 +-1 305 303 302 -1 306 301 303 -1 307 301 308 -1 304 301 307 -1 306 308 301 +-1 292 307 308 -1 309 302 310 -1 305 302 309 -1 304 310 302 -1 289 309 310 +-1 311 303 312 -1 306 303 311 -1 305 312 303 -1 289 311 312 -1 313 314 315 +-1 316 314 313 -1 317 315 314 -1 318 313 315 -1 319 313 320 -1 316 313 319 +-1 318 320 313 -1 280 319 320 -1 321 314 322 -1 317 314 321 -1 316 322 314 +-1 280 321 322 -1 323 315 324 -1 318 315 323 -1 317 324 315 -1 292 323 324 +-1 325 326 327 -1 285 326 325 -1 292 327 326 -1 317 325 327 -1 294 325 321 +-1 285 325 294 -1 317 321 325 -1 280 294 321 -1 328 326 290 -1 292 326 328 +-1 285 290 326 -1 292 328 290 -1 324 327 329 -1 317 327 324 -1 292 329 327 +-1 292 324 329 -1 330 331 332 -1 292 331 330 -1 284 332 331 -1 304 330 332 +-1 329 330 307 -1 292 330 329 -1 304 307 330 -1 292 329 307 -1 291 331 328 +-1 284 331 291 -1 292 328 331 -1 292 291 328 -1 310 332 287 -1 304 332 310 +-1 284 287 332 -1 289 310 287 -1 333 334 335 -1 336 334 333 -1 337 335 334 +-1 338 333 335 -1 339 333 340 -1 336 333 339 -1 338 340 333 -1 280 339 340 +-1 341 334 342 -1 337 334 341 -1 336 342 334 -1 343 341 342 -1 344 335 345 +-1 338 335 344 -1 337 345 335 -1 266 344 345 -1 346 347 348 -1 338 347 346 +-1 257 348 347 -1 272 346 348 -1 340 346 278 -1 338 346 340 -1 272 278 346 +-1 280 340 278 -1 265 347 344 -1 257 347 265 -1 338 344 347 -1 266 265 344 +-1 274 348 261 -1 272 348 274 -1 257 261 348 -1 263 274 261 -1 349 350 351 +-1 352 350 349 -1 316 351 350 -1 353 349 351 -1 354 349 355 -1 352 349 354 +-1 353 355 349 -1 343 354 355 -1 322 350 356 -1 316 350 322 -1 352 356 350 +-1 280 322 356 -1 357 351 319 -1 353 351 357 -1 316 319 351 -1 280 357 319 +-1 358 359 360 -1 361 359 358 -1 362 360 359 -1 363 358 360 -1 364 358 365 +-1 361 358 364 -1 363 365 358 -1 266 364 365 -1 366 359 367 -1 362 359 366 +-1 361 367 359 -1 266 366 367 -1 368 360 369 -1 363 360 368 -1 362 369 360 +-1 343 368 369 -1 370 371 372 -1 337 371 370 -1 343 372 371 -1 362 370 372 +-1 345 370 366 -1 337 370 345 -1 362 366 370 -1 266 345 366 -1 373 371 341 +-1 343 371 373 -1 337 341 371 -1 343 373 341 -1 369 372 373 -1 362 372 369 +-1 343 373 372 -1 343 369 373 -1 374 375 376 -1 343 375 374 -1 336 376 375 +-1 352 374 376 -1 373 374 354 -1 343 374 373 -1 352 354 374 -1 343 373 354 +-1 342 375 373 -1 336 375 342 -1 343 373 375 -1 343 342 373 -1 356 376 339 +-1 352 376 356 -1 336 339 376 -1 280 356 339 -1 377 378 379 -1 380 378 377 +-1 381 379 378 -1 382 377 379 -1 383 377 384 -1 380 377 383 -1 382 384 377 +-1 266 383 384 -1 385 378 386 -1 381 378 385 -1 380 386 378 -1 387 385 386 +-1 388 379 389 -1 382 379 388 -1 381 389 379 -1 252 388 389 -1 390 391 392 +-1 382 391 390 -1 243 392 391 -1 258 390 392 -1 384 390 264 -1 382 390 384 +-1 258 264 390 -1 266 384 264 -1 251 391 388 -1 243 391 251 -1 382 388 391 +-1 252 251 388 -1 260 392 247 -1 258 392 260 -1 243 247 392 -1 249 260 247 +-1 393 394 395 -1 396 394 393 -1 361 395 394 -1 397 393 395 -1 398 393 399 +-1 396 393 398 -1 397 399 393 -1 387 398 399 -1 367 394 400 -1 361 394 367 +-1 396 400 394 -1 266 367 400 -1 401 395 364 -1 397 395 401 -1 361 364 395 +-1 266 401 364 -1 402 403 404 -1 405 403 402 -1 406 404 403 -1 407 402 404 +-1 408 402 409 -1 405 402 408 -1 407 409 402 -1 252 408 409 -1 410 403 411 +-1 406 403 410 -1 405 411 403 -1 252 410 411 -1 412 404 413 -1 407 404 412 +-1 406 413 404 -1 387 412 413 -1 414 415 416 -1 381 415 414 -1 387 416 415 +-1 406 414 416 -1 389 414 410 -1 381 414 389 -1 406 410 414 -1 252 389 410 +-1 417 415 385 -1 387 415 417 -1 381 385 415 -1 387 417 385 -1 413 416 418 +-1 406 416 413 -1 387 418 416 -1 387 413 418 -1 419 420 421 -1 387 420 419 +-1 380 421 420 -1 396 419 421 -1 418 419 398 -1 387 419 418 -1 396 398 419 +-1 387 418 398 -1 386 420 417 -1 380 420 386 -1 387 417 420 -1 387 386 417 +-1 400 421 383 -1 396 421 400 -1 380 383 421 -1 266 400 383 -1 422 423 424 +-1 425 423 422 -1 426 424 423 -1 427 422 424 -1 428 422 429 -1 425 422 428 +-1 427 429 422 -1 252 428 429 -1 430 423 431 -1 426 423 430 -1 425 431 423 +-1 432 430 431 -1 433 424 434 -1 427 424 433 -1 426 434 424 -1 238 433 434 +-1 435 436 437 -1 427 436 435 -1 229 437 436 -1 244 435 437 -1 429 435 250 +-1 427 435 429 -1 244 250 435 -1 252 429 250 -1 237 436 433 -1 229 436 237 +-1 427 433 436 -1 238 237 433 -1 246 437 233 -1 244 437 246 -1 229 233 437 +-1 235 246 233 -1 438 439 440 -1 441 439 438 -1 405 440 439 -1 442 438 440 +-1 443 438 444 -1 441 438 443 -1 442 444 438 -1 432 443 444 -1 411 439 445 +-1 405 439 411 -1 441 445 439 -1 252 411 445 -1 446 440 408 -1 442 440 446 +-1 405 408 440 -1 252 446 408 -1 447 448 449 -1 450 448 447 -1 451 449 448 +-1 452 447 449 -1 453 447 454 -1 450 447 453 -1 452 454 447 -1 238 453 454 +-1 455 448 456 -1 451 448 455 -1 450 456 448 -1 238 455 456 -1 457 449 458 +-1 452 449 457 -1 451 458 449 -1 432 457 458 -1 459 460 461 -1 426 460 459 +-1 432 461 460 -1 451 459 461 -1 434 459 455 -1 426 459 434 -1 451 455 459 +-1 238 434 455 -1 462 460 430 -1 432 460 462 -1 426 430 460 -1 432 462 430 +-1 458 461 463 -1 451 461 458 -1 432 463 461 -1 432 458 463 -1 464 465 466 +-1 432 465 464 -1 425 466 465 -1 441 464 466 -1 463 464 443 -1 432 464 463 +-1 441 443 464 -1 432 463 443 -1 431 465 462 -1 425 465 431 -1 432 462 465 +-1 432 431 462 -1 445 466 428 -1 441 466 445 -1 425 428 466 -1 252 445 428 +-1 467 468 469 -1 470 468 467 -1 471 469 468 -1 472 467 469 -1 473 467 474 +-1 470 467 473 -1 472 474 467 -1 238 473 474 -1 475 468 476 -1 471 468 475 +-1 470 476 468 -1 477 475 476 -1 478 469 479 -1 472 469 478 -1 471 479 469 +-1 224 478 479 -1 480 481 482 -1 472 481 480 -1 215 482 481 -1 230 480 482 +-1 474 480 236 -1 472 480 474 -1 230 236 480 -1 238 474 236 -1 223 481 478 +-1 215 481 223 -1 472 478 481 -1 224 223 478 -1 232 482 219 -1 230 482 232 +-1 215 219 482 -1 221 232 219 -1 483 484 485 -1 486 484 483 -1 450 485 484 +-1 487 483 485 -1 488 483 489 -1 486 483 488 -1 487 489 483 -1 477 488 489 +-1 456 484 490 -1 450 484 456 -1 486 490 484 -1 238 456 490 -1 491 485 453 +-1 487 485 491 -1 450 453 485 -1 238 491 453 -1 492 493 494 -1 495 493 492 +-1 496 494 493 -1 497 492 494 -1 498 492 499 -1 495 492 498 -1 497 499 492 +-1 224 498 499 -1 500 493 501 -1 496 493 500 -1 495 501 493 -1 224 500 501 +-1 502 494 503 -1 497 494 502 -1 496 503 494 -1 477 502 503 -1 504 505 506 +-1 471 505 504 -1 477 506 505 -1 496 504 506 -1 479 504 500 -1 471 504 479 +-1 496 500 504 -1 224 479 500 -1 507 505 475 -1 477 505 507 -1 471 475 505 +-1 477 507 475 -1 503 506 508 -1 496 506 503 -1 477 508 506 -1 477 503 508 +-1 509 510 511 -1 477 510 509 -1 470 511 510 -1 486 509 511 -1 508 509 488 +-1 477 509 508 -1 486 488 509 -1 477 508 488 -1 476 510 507 -1 470 510 476 +-1 477 507 510 -1 477 476 507 -1 490 511 473 -1 486 511 490 -1 470 473 511 +-1 238 490 473 -1 512 513 514 -1 515 513 512 -1 516 514 513 -1 517 512 514 +-1 518 512 519 -1 515 512 518 -1 517 519 512 -1 224 518 519 -1 520 513 521 +-1 516 513 520 -1 515 521 513 -1 522 520 521 -1 523 514 524 -1 517 514 523 +-1 516 524 514 -1 210 523 524 -1 525 526 527 -1 517 526 525 -1 201 527 526 +-1 216 525 527 -1 519 525 222 -1 517 525 519 -1 216 222 525 -1 224 519 222 +-1 209 526 523 -1 201 526 209 -1 517 523 526 -1 210 209 523 -1 218 527 205 +-1 216 527 218 -1 201 205 527 -1 207 218 205 -1 528 529 530 -1 531 529 528 +-1 495 530 529 -1 532 528 530 -1 533 528 534 -1 531 528 533 -1 532 534 528 +-1 522 533 534 -1 501 529 535 -1 495 529 501 -1 531 535 529 -1 224 501 535 +-1 536 530 498 -1 532 530 536 -1 495 498 530 -1 224 536 498 -1 537 538 539 +-1 540 538 537 -1 541 539 538 -1 542 537 539 -1 543 537 544 -1 540 537 543 +-1 542 544 537 -1 210 543 544 -1 545 538 546 -1 541 538 545 -1 540 546 538 +-1 210 545 546 -1 547 539 548 -1 542 539 547 -1 541 548 539 -1 522 547 548 +-1 549 550 551 -1 516 550 549 -1 522 551 550 -1 541 549 551 -1 524 549 545 +-1 516 549 524 -1 541 545 549 -1 210 524 545 -1 552 550 520 -1 522 550 552 +-1 516 520 550 -1 522 552 520 -1 548 551 553 -1 541 551 548 -1 522 553 551 +-1 522 548 553 -1 554 555 556 -1 522 555 554 -1 515 556 555 -1 531 554 556 +-1 553 554 533 -1 522 554 553 -1 531 533 554 -1 522 553 533 -1 521 555 552 +-1 515 555 521 -1 522 552 555 -1 522 521 552 -1 535 556 518 -1 531 556 535 +-1 515 518 556 -1 224 535 518 -1 557 558 559 -1 560 558 557 -1 561 559 558 +-1 562 557 559 -1 563 557 564 -1 560 557 563 -1 562 564 557 -1 210 563 564 +-1 565 558 566 -1 561 558 565 -1 560 566 558 -1 567 565 566 -1 568 559 569 +-1 562 559 568 -1 561 569 559 -1 196 568 569 -1 570 571 572 -1 562 571 570 +-1 187 572 571 -1 202 570 572 -1 564 570 208 -1 562 570 564 -1 202 208 570 +-1 210 564 208 -1 195 571 568 -1 187 571 195 -1 562 568 571 -1 196 195 568 +-1 204 572 191 -1 202 572 204 -1 187 191 572 -1 193 204 191 -1 573 574 575 +-1 576 574 573 -1 540 575 574 -1 577 573 575 -1 578 573 579 -1 576 573 578 +-1 577 579 573 -1 567 578 579 -1 546 574 580 -1 540 574 546 -1 576 580 574 +-1 210 546 580 -1 581 575 543 -1 577 575 581 -1 540 543 575 -1 210 581 543 +-1 582 583 584 -1 585 583 582 -1 586 584 583 -1 587 582 584 -1 588 582 589 +-1 585 582 588 -1 587 589 582 -1 196 588 589 -1 590 583 591 -1 586 583 590 +-1 585 591 583 -1 196 590 591 -1 592 584 593 -1 587 584 592 -1 586 593 584 +-1 567 592 593 -1 594 595 596 -1 561 595 594 -1 567 596 595 -1 586 594 596 +-1 569 594 590 -1 561 594 569 -1 586 590 594 -1 196 569 590 -1 597 595 565 +-1 567 595 597 -1 561 565 595 -1 567 597 565 -1 593 596 598 -1 586 596 593 +-1 567 598 596 -1 567 593 598 -1 599 600 601 -1 567 600 599 -1 560 601 600 +-1 576 599 601 -1 598 599 578 -1 567 599 598 -1 576 578 599 -1 567 598 578 +-1 566 600 597 -1 560 600 566 -1 567 597 600 -1 567 566 597 -1 580 601 563 +-1 576 601 580 -1 560 563 601 -1 210 580 563 -1 602 603 604 -1 605 603 602 +-1 606 604 603 -1 607 602 604 -1 608 602 609 -1 605 602 608 -1 607 609 602 +-1 196 608 609 -1 610 603 611 -1 606 603 610 -1 605 611 603 -1 612 610 611 +-1 613 604 614 -1 607 604 613 -1 606 614 604 -1 182 613 614 -1 615 616 617 +-1 607 616 615 -1 173 617 616 -1 188 615 617 -1 609 615 194 -1 607 615 609 +-1 188 194 615 -1 196 609 194 -1 181 616 613 -1 173 616 181 -1 607 613 616 +-1 182 181 613 -1 190 617 177 -1 188 617 190 -1 173 177 617 -1 179 190 177 +-1 618 619 620 -1 621 619 618 -1 585 620 619 -1 622 618 620 -1 623 618 624 +-1 621 618 623 -1 622 624 618 -1 612 623 624 -1 591 619 625 -1 585 619 591 +-1 621 625 619 -1 196 591 625 -1 626 620 588 -1 622 620 626 -1 585 588 620 +-1 196 626 588 -1 627 628 629 -1 630 628 627 -1 631 629 628 -1 632 627 629 +-1 633 627 634 -1 630 627 633 -1 632 634 627 -1 182 633 634 -1 635 628 636 +-1 631 628 635 -1 630 636 628 -1 182 635 636 -1 637 629 638 -1 632 629 637 +-1 631 638 629 -1 612 637 638 -1 639 640 641 -1 606 640 639 -1 612 641 640 +-1 631 639 641 -1 614 639 635 -1 606 639 614 -1 631 635 639 -1 182 614 635 +-1 642 640 610 -1 612 640 642 -1 606 610 640 -1 612 642 610 -1 638 641 643 +-1 631 641 638 -1 612 643 641 -1 612 638 643 -1 644 645 621 -1 612 645 644 +-1 605 621 645 -1 621 644 621 -1 643 644 623 -1 612 644 643 -1 621 623 644 +-1 612 643 623 -1 611 645 642 -1 605 645 611 -1 612 642 645 -1 612 611 642 +-1 625 621 608 -1 621 621 625 -1 605 608 621 -1 196 625 608 -1 646 647 648 +-1 649 647 646 -1 650 648 647 -1 651 646 648 -1 652 646 653 -1 649 646 652 +-1 651 653 646 -1 182 652 653 -1 654 647 655 -1 650 647 654 -1 649 655 647 +-1 656 654 655 -1 657 648 658 -1 651 648 657 -1 650 658 648 -1 168 657 658 +-1 659 660 661 -1 651 660 659 -1 159 661 660 -1 174 659 661 -1 653 659 180 +-1 651 659 653 -1 174 180 659 -1 182 653 180 -1 167 660 657 -1 159 660 167 +-1 651 657 660 -1 168 167 657 -1 176 661 163 -1 174 661 176 -1 159 163 661 +-1 165 176 163 -1 662 663 664 -1 665 663 662 -1 630 664 663 -1 666 662 664 +-1 667 662 668 -1 665 662 667 -1 666 668 662 -1 656 667 668 -1 636 663 669 +-1 630 663 636 -1 665 669 663 -1 182 636 669 -1 670 664 633 -1 666 664 670 +-1 630 633 664 -1 182 670 633 -1 671 672 673 -1 674 672 671 -1 675 673 672 +-1 676 671 673 -1 677 671 678 -1 674 671 677 -1 676 678 671 -1 168 677 678 +-1 679 672 680 -1 675 672 679 -1 674 680 672 -1 168 679 680 -1 681 673 682 +-1 676 673 681 -1 675 682 673 -1 656 681 682 -1 683 684 685 -1 650 684 683 +-1 656 685 684 -1 675 683 685 -1 658 683 679 -1 650 683 658 -1 675 679 683 +-1 168 658 679 -1 686 684 654 -1 656 684 686 -1 650 654 684 -1 656 686 654 +-1 682 685 656 -1 675 685 682 -1 656 656 685 -1 656 682 656 -1 687 688 689 +-1 656 688 687 -1 649 689 688 -1 665 687 689 -1 656 687 667 -1 656 687 656 +-1 665 667 687 -1 656 656 667 -1 655 688 686 -1 649 688 655 -1 656 686 688 +-1 656 655 686 -1 669 689 652 -1 665 689 669 -1 649 652 689 -1 182 669 652 +-1 690 691 692 -1 693 691 690 -1 694 692 691 -1 695 690 692 -1 696 690 697 +-1 693 690 696 -1 695 697 690 -1 168 696 697 -1 698 691 699 -1 694 691 698 +-1 693 699 691 -1 700 698 699 -1 701 692 702 -1 695 692 701 -1 694 702 692 +-1 154 701 702 -1 703 704 705 -1 695 704 703 -1 145 705 704 -1 160 703 705 +-1 697 703 166 -1 695 703 697 -1 160 166 703 -1 168 697 166 -1 153 704 701 +-1 145 704 153 -1 695 701 704 -1 154 153 701 -1 162 705 149 -1 160 705 162 +-1 145 149 705 -1 151 162 149 -1 706 707 708 -1 709 707 706 -1 674 708 707 +-1 710 706 708 -1 711 706 712 -1 709 706 711 -1 710 712 706 -1 700 711 712 +-1 680 707 713 -1 674 707 680 -1 709 713 707 -1 168 680 713 -1 714 708 677 +-1 710 708 714 -1 674 677 708 -1 168 714 677 -1 715 716 717 -1 718 716 715 +-1 719 717 716 -1 720 715 717 -1 721 715 722 -1 718 715 721 -1 720 722 715 +-1 154 721 722 -1 723 716 724 -1 719 716 723 -1 718 724 716 -1 154 723 724 +-1 725 717 726 -1 720 717 725 -1 719 726 717 -1 700 725 726 -1 727 728 729 +-1 694 728 727 -1 700 729 728 -1 719 727 729 -1 702 727 723 -1 694 727 702 +-1 719 723 727 -1 154 702 723 -1 730 728 698 -1 700 728 730 -1 694 698 728 +-1 700 730 698 -1 726 729 731 -1 719 729 726 -1 700 731 729 -1 700 726 731 +-1 732 733 734 -1 700 733 732 -1 693 734 733 -1 709 732 734 -1 731 732 711 +-1 700 732 731 -1 709 711 732 -1 700 731 711 -1 699 733 730 -1 693 733 699 +-1 700 730 733 -1 700 699 730 -1 713 734 696 -1 709 734 713 -1 693 696 734 +-1 168 713 696 -1 735 736 737 -1 738 736 735 -1 739 737 736 -1 740 735 737 +-1 741 735 742 -1 738 735 741 -1 740 742 735 -1 154 741 742 -1 743 736 744 +-1 739 736 743 -1 738 744 736 -1 745 743 744 -1 746 737 747 -1 740 737 746 +-1 739 747 737 -1 140 746 747 -1 748 749 750 -1 740 749 748 -1 131 750 749 +-1 146 748 750 -1 742 748 152 -1 740 748 742 -1 146 152 748 -1 154 742 152 +-1 139 749 746 -1 131 749 139 -1 740 746 749 -1 140 139 746 -1 148 750 135 +-1 146 750 148 -1 131 135 750 -1 137 148 135 -1 751 752 753 -1 754 752 751 +-1 718 753 752 -1 755 751 753 -1 756 751 757 -1 754 751 756 -1 755 757 751 +-1 745 756 757 -1 724 752 758 -1 718 752 724 -1 754 758 752 -1 154 724 758 +-1 759 753 721 -1 755 753 759 -1 718 721 753 -1 154 759 721 -1 760 761 762 +-1 763 761 760 -1 764 762 761 -1 765 760 762 -1 766 760 767 -1 763 760 766 +-1 765 767 760 -1 140 766 767 -1 768 761 769 -1 764 761 768 -1 763 769 761 +-1 140 768 769 -1 770 762 771 -1 765 762 770 -1 764 771 762 -1 745 770 771 +-1 772 773 774 -1 739 773 772 -1 745 774 773 -1 764 772 774 -1 747 772 768 +-1 739 772 747 -1 764 768 772 -1 140 747 768 -1 775 773 743 -1 745 773 775 +-1 739 743 773 -1 745 775 743 -1 771 774 776 -1 764 774 771 -1 745 776 774 +-1 745 771 776 -1 777 778 779 -1 745 778 777 -1 738 779 778 -1 754 777 779 +-1 776 777 756 -1 745 777 776 -1 754 756 777 -1 745 776 756 -1 744 778 775 +-1 738 778 744 -1 745 775 778 -1 745 744 775 -1 758 779 741 -1 754 779 758 +-1 738 741 779 -1 154 758 741 -1 780 781 782 -1 783 781 780 -1 784 782 781 +-1 785 780 782 -1 786 780 787 -1 783 780 786 -1 785 787 780 -1 140 786 787 +-1 788 781 789 -1 784 781 788 -1 783 789 781 -1 790 788 789 -1 791 782 792 +-1 785 782 791 -1 784 792 782 -1 126 791 792 -1 793 794 795 -1 785 794 793 +-1 117 795 794 -1 132 793 795 -1 787 793 138 -1 785 793 787 -1 132 138 793 +-1 140 787 138 -1 125 794 791 -1 117 794 125 -1 785 791 794 -1 126 125 791 +-1 134 795 121 -1 132 795 134 -1 117 121 795 -1 123 134 121 -1 796 797 798 +-1 799 797 796 -1 763 798 797 -1 800 796 798 -1 801 796 780 -1 799 796 801 +-1 800 780 796 -1 790 801 780 -1 769 797 802 -1 763 797 769 -1 799 802 797 +-1 140 769 802 -1 803 798 766 -1 800 798 803 -1 763 766 798 -1 140 803 766 +-1 804 805 806 -1 807 805 804 -1 808 806 805 -1 809 804 806 -1 810 804 811 +-1 807 804 810 -1 809 811 804 -1 126 810 811 -1 812 805 813 -1 808 805 812 +-1 807 813 805 -1 126 812 813 -1 814 806 815 -1 809 806 814 -1 808 815 806 +-1 790 814 815 -1 816 817 818 -1 784 817 816 -1 790 818 817 -1 808 816 818 +-1 792 816 812 -1 784 816 792 -1 808 812 816 -1 126 792 812 -1 819 817 788 +-1 790 817 819 -1 784 788 817 -1 790 819 788 -1 815 818 820 -1 808 818 815 +-1 790 820 818 -1 790 815 820 -1 821 822 823 -1 790 822 821 -1 783 823 822 +-1 799 821 823 -1 820 821 801 -1 790 821 820 -1 799 801 821 -1 790 820 801 +-1 789 822 819 -1 783 822 789 -1 790 819 822 -1 790 789 819 -1 802 823 786 +-1 799 823 802 -1 783 786 823 -1 140 802 786 -1 824 825 826 -1 827 825 824 +-1 828 826 825 -1 829 824 826 -1 830 824 831 -1 827 824 830 -1 829 831 824 +-1 126 830 831 -1 832 825 833 -1 828 825 832 -1 827 833 825 -1 834 832 833 +-1 835 826 836 -1 829 826 835 -1 828 836 826 -1 112 835 836 -1 837 838 839 +-1 829 838 837 -1 103 839 838 -1 118 837 839 -1 831 837 124 -1 829 837 831 +-1 118 124 837 -1 126 831 124 -1 111 838 835 -1 103 838 111 -1 829 835 838 +-1 112 111 835 -1 120 839 107 -1 118 839 120 -1 103 107 839 -1 109 120 107 +-1 840 841 842 -1 843 841 840 -1 807 842 841 -1 844 840 842 -1 845 840 846 +-1 843 840 845 -1 844 846 840 -1 834 845 846 -1 813 841 847 -1 807 841 813 +-1 843 847 841 -1 126 813 847 -1 848 842 810 -1 844 842 848 -1 807 810 842 +-1 126 848 810 -1 849 850 851 -1 852 850 849 -1 853 851 850 -1 854 849 851 +-1 855 849 856 -1 852 849 855 -1 854 856 849 -1 112 855 856 -1 857 850 858 +-1 853 850 857 -1 852 858 850 -1 112 857 858 -1 859 851 860 -1 854 851 859 +-1 853 860 851 -1 834 859 860 -1 861 862 863 -1 828 862 861 -1 834 863 862 +-1 853 861 863 -1 836 861 857 -1 828 861 836 -1 853 857 861 -1 112 836 857 +-1 864 862 832 -1 834 862 864 -1 828 832 862 -1 834 864 832 -1 860 863 865 +-1 853 863 860 -1 834 865 863 -1 834 860 865 -1 866 867 868 -1 834 867 866 +-1 827 868 867 -1 843 866 868 -1 865 866 845 -1 834 866 865 -1 843 845 866 +-1 834 865 845 -1 833 867 864 -1 827 867 833 -1 834 864 867 -1 834 833 864 +-1 847 868 830 -1 843 868 847 -1 827 830 868 -1 126 847 830 -1 869 870 871 +-1 872 870 869 -1 873 871 870 -1 874 869 871 -1 875 869 876 -1 872 869 875 +-1 874 876 869 -1 112 875 876 -1 877 870 878 -1 873 870 877 -1 872 878 870 +-1 879 877 878 -1 880 871 881 -1 874 871 880 -1 873 881 871 -1 98 880 881 +-1 882 883 884 -1 874 883 882 -1 89 884 883 -1 104 882 884 -1 876 882 110 +-1 874 882 876 -1 104 110 882 -1 112 876 110 -1 97 883 880 -1 89 883 97 -1 874 +880 883 -1 98 97 880 -1 106 884 93 -1 104 884 106 -1 89 93 884 -1 95 106 93 +-1 885 886 887 -1 888 886 885 -1 852 887 886 -1 889 885 887 -1 890 885 891 +-1 888 885 890 -1 889 891 885 -1 879 890 891 -1 858 886 892 -1 852 886 858 +-1 888 892 886 -1 112 858 892 -1 893 887 855 -1 889 887 893 -1 852 855 887 +-1 112 893 855 -1 894 895 896 -1 897 895 894 -1 898 896 895 -1 899 894 896 +-1 900 894 901 -1 897 894 900 -1 899 901 894 -1 98 900 901 -1 902 895 903 +-1 898 895 902 -1 897 903 895 -1 98 902 903 -1 904 896 905 -1 899 896 904 +-1 898 905 896 -1 879 904 905 -1 906 907 908 -1 873 907 906 -1 879 908 907 +-1 898 906 908 -1 881 906 902 -1 873 906 881 -1 898 902 906 -1 98 881 902 +-1 909 907 877 -1 879 907 909 -1 873 877 907 -1 879 909 877 -1 905 908 910 +-1 898 908 905 -1 879 910 908 -1 879 905 910 -1 911 912 913 -1 879 912 911 +-1 872 913 912 -1 888 911 913 -1 910 911 890 -1 879 911 910 -1 888 890 911 +-1 879 910 890 -1 878 912 909 -1 872 912 878 -1 879 909 912 -1 879 878 909 +-1 892 913 875 -1 888 913 892 -1 872 875 913 -1 112 892 875 -1 914 915 916 +-1 917 915 914 -1 918 916 915 -1 919 914 916 -1 920 914 921 -1 917 914 920 +-1 919 921 914 -1 98 920 921 -1 922 915 923 -1 918 915 922 -1 917 923 915 +-1 924 922 923 -1 925 916 926 -1 919 916 925 -1 918 926 916 -1 84 925 926 +-1 927 928 929 -1 919 928 927 -1 75 929 928 -1 90 927 929 -1 921 927 96 -1 919 +927 921 -1 90 96 927 -1 98 921 96 -1 83 928 925 -1 75 928 83 -1 919 925 928 +-1 84 83 925 -1 92 929 79 -1 90 929 92 -1 75 79 929 -1 81 92 79 -1 930 931 932 +-1 933 931 930 -1 897 932 931 -1 934 930 932 -1 935 930 936 -1 933 930 935 +-1 934 936 930 -1 924 935 936 -1 903 931 937 -1 897 931 903 -1 933 937 931 +-1 98 903 937 -1 938 932 900 -1 934 932 938 -1 897 900 932 -1 98 938 900 -1 +939 940 941 -1 942 940 939 -1 926 941 940 -1 943 939 941 -1 944 939 945 -1 942 +939 944 -1 943 945 939 -1 84 944 945 -1 946 940 947 -1 926 940 946 -1 942 947 +940 -1 84 946 947 -1 948 941 949 -1 943 941 948 -1 926 949 941 -1 924 948 949 +-1 950 951 952 -1 918 951 950 -1 924 952 951 -1 926 950 952 -1 926 950 946 +-1 918 950 926 -1 926 946 950 -1 84 926 946 -1 953 951 922 -1 924 951 953 +-1 918 922 951 -1 924 953 922 -1 949 952 924 -1 926 952 949 -1 924 924 952 +-1 924 949 924 -1 954 955 956 -1 924 955 954 -1 917 956 955 -1 933 954 956 +-1 924 954 935 -1 924 954 924 -1 933 935 954 -1 924 924 935 -1 923 955 953 +-1 917 955 923 -1 924 953 955 -1 924 923 953 -1 937 956 920 -1 933 956 937 +-1 917 920 956 -1 98 937 920 -1 957 958 959 -1 960 958 957 -1 961 959 958 +-1 962 957 959 -1 963 957 964 -1 960 957 963 -1 962 964 957 -1 84 963 964 +-1 965 958 966 -1 961 958 965 -1 960 966 958 -1 967 965 966 -1 968 959 969 +-1 962 959 968 -1 961 969 959 -1 70 968 969 -1 970 971 972 -1 962 971 970 +-1 61 972 971 -1 76 970 972 -1 964 970 82 -1 962 970 964 -1 76 82 970 -1 84 +964 82 -1 69 971 968 -1 61 971 69 -1 962 968 971 -1 70 69 968 -1 78 972 65 +-1 76 972 78 -1 61 65 972 -1 67 78 65 -1 973 974 975 -1 976 974 973 -1 942 975 +974 -1 977 973 975 -1 978 973 979 -1 976 973 978 -1 977 979 973 -1 967 978 979 +-1 947 974 980 -1 942 974 947 -1 976 980 974 -1 84 947 980 -1 981 975 944 +-1 977 975 981 -1 942 944 975 -1 84 981 944 -1 982 983 984 -1 985 983 982 +-1 986 984 983 -1 987 982 984 -1 988 982 989 -1 985 982 988 -1 987 989 982 +-1 70 988 989 -1 990 983 991 -1 986 983 990 -1 985 991 983 -1 70 990 991 -1 +992 984 993 -1 987 984 992 -1 986 993 984 -1 967 992 993 -1 994 995 996 -1 961 +995 994 -1 967 996 995 -1 986 994 996 -1 969 994 990 -1 961 994 969 -1 986 990 +994 -1 70 969 990 -1 997 995 965 -1 967 995 997 -1 961 965 995 -1 967 997 965 +-1 993 996 997 -1 986 996 993 -1 967 997 996 -1 967 993 997 -1 998 999 1000 +-1 967 999 998 -1 960 1000 999 -1 976 998 1000 -1 997 998 978 -1 967 998 997 +-1 976 978 998 -1 967 997 978 -1 966 999 997 -1 960 999 966 -1 967 997 999 +-1 967 966 997 -1 980 1000 963 -1 976 1000 980 -1 960 963 1000 -1 84 980 963 +-1 1001 1002 1003 -1 1004 1002 1001 -1 1005 1003 1002 -1 1006 1001 1003 -1 1007 +1001 1008 -1 1004 1001 1007 -1 1006 1008 1001 -1 70 1007 1008 -1 1009 1002 1010 +-1 1005 1002 1009 -1 1004 1010 1002 -1 1011 1009 1010 -1 1012 1003 1013 -1 1006 +1003 1012 -1 1005 1013 1003 -1 56 1012 1013 -1 1014 1015 1016 -1 1006 1015 1014 +-1 47 1016 1015 -1 62 1014 1016 -1 1008 1014 68 -1 1006 1014 1008 -1 62 68 1014 +-1 70 1008 68 -1 55 1015 1012 -1 47 1015 55 -1 1006 1012 1015 -1 56 55 1012 +-1 64 1016 51 -1 62 1016 64 -1 47 51 1016 -1 53 64 51 -1 1017 1018 1019 -1 1020 +1018 1017 -1 985 1019 1018 -1 1021 1017 1019 -1 1022 1017 1023 -1 1020 1017 +1022 -1 1021 1023 1017 -1 1011 1022 1023 -1 991 1018 1024 -1 985 1018 991 +-1 1020 1024 1018 -1 70 991 1024 -1 1025 1019 988 -1 1021 1019 1025 -1 985 988 +1019 -1 70 1025 988 -1 1026 1027 1028 -1 1029 1027 1026 -1 1030 1028 1027 +-1 1031 1026 1028 -1 1032 1026 1033 -1 1029 1026 1032 -1 1031 1033 1026 -1 56 +1032 1033 -1 1034 1027 1035 -1 1030 1027 1034 -1 1029 1035 1027 -1 56 1034 1035 +-1 1036 1028 1037 -1 1031 1028 1036 -1 1030 1037 1028 -1 1011 1036 1037 -1 1038 +1039 1040 -1 1005 1039 1038 -1 1011 1040 1039 -1 1030 1038 1040 -1 1013 1038 +1034 -1 1005 1038 1013 -1 1030 1034 1038 -1 56 1013 1034 -1 1041 1039 1009 +-1 1011 1039 1041 -1 1005 1009 1039 -1 1011 1041 1009 -1 1037 1040 1042 -1 1030 +1040 1037 -1 1011 1042 1040 -1 1011 1037 1042 -1 1043 1044 1045 -1 1011 1044 +1043 -1 1004 1045 1044 -1 1020 1043 1045 -1 1042 1043 1022 -1 1011 1043 1042 +-1 1020 1022 1043 -1 1011 1042 1022 -1 1010 1044 1041 -1 1004 1044 1010 -1 1011 +1041 1044 -1 1011 1010 1041 -1 1024 1045 1007 -1 1020 1045 1024 -1 1004 1007 +1045 -1 70 1024 1007 -1 1046 1047 1048 -1 1049 1047 1046 -1 1050 1048 1047 +-1 1051 1046 1048 -1 1052 1046 1053 -1 1049 1046 1052 -1 1051 1053 1046 -1 56 +1052 1053 -1 1054 1047 1055 -1 1050 1047 1054 -1 1049 1055 1047 -1 1056 1054 +1055 -1 1057 1048 1058 -1 1051 1048 1057 -1 1050 1058 1048 -1 42 1057 1058 +-1 1059 1060 1061 -1 1051 1060 1059 -1 33 1061 1060 -1 48 1059 1061 -1 1053 +1059 54 -1 1051 1059 1053 -1 48 54 1059 -1 56 1053 54 -1 41 1060 1057 -1 33 +1060 41 -1 1051 1057 1060 -1 42 41 1057 -1 50 1061 37 -1 48 1061 50 -1 33 37 +1061 -1 39 50 37 -1 1062 1063 1064 -1 1065 1063 1062 -1 1029 1064 1063 -1 1066 +1062 1064 -1 1067 1062 1068 -1 1065 1062 1067 -1 1066 1068 1062 -1 1056 1067 +1068 -1 1035 1063 1069 -1 1029 1063 1035 -1 1065 1069 1063 -1 56 1035 1069 +-1 1070 1064 1032 -1 1066 1064 1070 -1 1029 1032 1064 -1 56 1070 1032 -1 1071 +1072 1073 -1 1074 1072 1071 -1 1075 1073 1072 -1 1076 1071 1073 -1 1077 1071 +1078 -1 1074 1071 1077 -1 1076 1078 1071 -1 42 1077 1078 -1 1079 1072 1080 +-1 1075 1072 1079 -1 1074 1080 1072 -1 42 1079 1080 -1 1081 1073 1082 -1 1076 +1073 1081 -1 1075 1082 1073 -1 1056 1081 1082 -1 1083 1084 1085 -1 1050 1084 +1083 -1 1056 1085 1084 -1 1075 1083 1085 -1 1058 1083 1079 -1 1050 1083 1058 +-1 1075 1079 1083 -1 42 1058 1079 -1 1086 1084 1054 -1 1056 1084 1086 -1 1050 +1054 1084 -1 1056 1086 1054 -1 1082 1085 1087 -1 1075 1085 1082 -1 1056 1087 +1085 -1 1056 1082 1087 -1 1088 1089 1090 -1 1056 1089 1088 -1 1049 1090 1089 +-1 1065 1088 1090 -1 1087 1088 1067 -1 1056 1088 1087 -1 1065 1067 1088 -1 1056 +1087 1067 -1 1055 1089 1086 -1 1049 1089 1055 -1 1056 1086 1089 -1 1056 1055 +1086 -1 1069 1090 1052 -1 1065 1090 1069 -1 1049 1052 1090 -1 56 1069 1052 +-1 1091 1092 1093 -1 1094 1092 1091 -1 1095 1093 1092 -1 1096 1091 1093 -1 1097 +1091 1098 -1 1094 1091 1097 -1 1096 1098 1091 -1 42 1097 1098 -1 1099 1092 1100 +-1 1095 1092 1099 -1 1094 1100 1092 -1 1101 1099 1100 -1 1102 1093 1103 -1 1096 +1093 1102 -1 1095 1103 1093 -1 28 1102 1103 -1 1104 1105 1106 -1 1096 1105 1104 +-1 19 1106 1105 -1 34 1104 1106 -1 1098 1104 40 -1 1096 1104 1098 -1 34 40 1104 +-1 42 1098 40 -1 27 1105 1102 -1 19 1105 27 -1 1096 1102 1105 -1 28 27 1102 +-1 36 1106 23 -1 34 1106 36 -1 19 23 1106 -1 25 36 23 -1 1107 1108 1109 -1 1110 +1108 1107 -1 1074 1109 1108 -1 1111 1107 1109 -1 1112 1107 1091 -1 1110 1107 +1112 -1 1111 1091 1107 -1 1101 1112 1091 -1 1080 1108 1113 -1 1074 1108 1080 +-1 1110 1113 1108 -1 42 1080 1113 -1 1114 1109 1077 -1 1111 1109 1114 -1 1074 +1077 1109 -1 42 1114 1077 -1 1115 1116 1117 -1 1118 1116 1115 -1 1119 1117 1116 +-1 1120 1115 1117 -1 1121 1115 1122 -1 1118 1115 1121 -1 1120 1122 1115 -1 28 +1121 1122 -1 1123 1116 1124 -1 1119 1116 1123 -1 1118 1124 1116 -1 28 1123 1124 +-1 1125 1117 1126 -1 1120 1117 1125 -1 1119 1126 1117 -1 1101 1125 1126 -1 1127 +1128 1129 -1 1095 1128 1127 -1 1101 1129 1128 -1 1119 1127 1129 -1 1103 1127 +1123 -1 1095 1127 1103 -1 1119 1123 1127 -1 28 1103 1123 -1 1130 1128 1099 +-1 1101 1128 1130 -1 1095 1099 1128 -1 1101 1130 1099 -1 1126 1129 1131 -1 1119 +1129 1126 -1 1101 1131 1129 -1 1101 1126 1131 -1 1132 1133 1134 -1 1101 1133 +1132 -1 1094 1134 1133 -1 1110 1132 1134 -1 1131 1132 1112 -1 1101 1132 1131 +-1 1110 1112 1132 -1 1101 1131 1112 -1 1100 1133 1130 -1 1094 1133 1100 -1 1101 +1130 1133 -1 1101 1100 1130 -1 1113 1134 1097 -1 1110 1134 1113 -1 1094 1097 +1134 -1 42 1113 1097 -1 1135 1136 1137 -1 1138 1136 1135 -1 1139 1137 1136 +-1 1140 1135 1137 -1 1141 1135 1142 -1 1138 1135 1141 -1 1140 1142 1135 -1 28 +1141 1142 -1 1143 1136 1144 -1 1139 1136 1143 -1 1138 1144 1136 -1 1145 1143 +1144 -1 1146 1137 1147 -1 1140 1137 1146 -1 1139 1147 1137 -1 14 1146 1147 +-1 1148 1149 1150 -1 1140 1149 1148 -1 4 1150 1149 -1 20 1148 1150 -1 1142 1148 +26 -1 1140 1148 1142 -1 20 26 1148 -1 28 1142 26 -1 13 1149 1146 -1 4 1149 13 +-1 1140 1146 1149 -1 14 13 1146 -1 22 1150 9 -1 20 1150 22 -1 4 9 1150 -1 11 +22 9 -1 1151 1152 1153 -1 1154 1152 1151 -1 1118 1153 1152 -1 1155 1151 1153 +-1 1156 1151 1157 -1 1154 1151 1156 -1 1155 1157 1151 -1 1145 1156 1157 -1 1124 +1152 1158 -1 1118 1152 1124 -1 1154 1158 1152 -1 28 1124 1158 -1 1159 1153 1121 +-1 1155 1153 1159 -1 1118 1121 1153 -1 28 1159 1121 -1 1160 1161 1162 -1 1163 +1161 1160 -1 1162 1162 1161 -1 1164 1160 1162 -1 1165 1160 1163 -1 1163 1160 +1165 -1 1164 1163 1160 -1 14 1165 1163 -1 1166 1161 1165 -1 1162 1161 1166 +-1 1163 1165 1161 -1 14 1166 1165 -1 1167 1162 1168 -1 1164 1162 1167 -1 1162 +1168 1162 -1 1145 1167 1168 -1 1169 1170 1171 -1 1139 1170 1169 -1 1145 1171 +1170 -1 1162 1169 1171 -1 1147 1169 1166 -1 1139 1169 1147 -1 1162 1166 1169 +-1 14 1147 1166 -1 1172 1170 1143 -1 1145 1170 1172 -1 1139 1143 1170 -1 1145 +1172 1143 -1 1168 1171 1173 -1 1162 1171 1168 -1 1145 1173 1171 -1 1145 1168 +1173 -1 1174 1175 1176 -1 1145 1175 1174 -1 1138 1176 1175 -1 1154 1174 1176 +-1 1173 1174 1156 -1 1145 1174 1173 -1 1154 1156 1174 -1 1145 1173 1156 -1 1144 +1175 1172 -1 1138 1175 1144 -1 1145 1172 1175 -1 1145 1144 1172 -1 1158 1176 +1141 -1 1154 1176 1158 -1 1138 1141 1176 -1 28 1158 1141 -1 ] +coord DEF IndexedFaceSet5_Coord +Coordinate { +point [ -12.92969 -243.75 251.95313 -14.21875 -238.67188 234.375 -10.9375 +-242.96875 220.70313 -14.375 -240.625 250 -12.5 -237.5 203.125 -10 -246.875 +234.375 -11.28906 -247.26563 249.02344 -10.11719 -248.82813 246.09375 -10 +-250 250 -18.43189 -229.85218 240.59097 -17.30469 -233.10547 249.02344 -20 +-225 250 -5.70313 -248.82813 191.40625 -6.26728 -244.04066 168.79498 0 -250 +125 -19.54246 -215.26625 245.38056 -18.91746 -210.69629 245.38056 -9.44044 +-219.24664 184.6178 -22.5 -210.9375 265.625 -8.79485 -214.54264 184.64724 +-10.04485 -223.68255 184.64724 -21.75781 -217.67578 258.78906 -17.20432 -222.94346 +231.35209 -17.044 -205.61817 233.66181 -20.89844 -205.46875 257.8125 -20 -200 +250 -3.44711 -224.79549 147.42339 -3.35395 -220.67786 147.42339 0 -225 125 +-23.01007 -190.26625 245.38056 -25.37733 -185.69629 245.38056 -12.42033 -194.10073 +184.6178 -28.125 -185.9375 265.625 -14.76708 -189.54264 184.64724 -10.03256 +-198.68255 184.64724 -23.78906 -192.96875 257.8125 -17.66285 -197.68813 233.66181 +-26.34648 -180.61817 233.66181 -30.03906 -180.46875 257.8125 -30 -175 250 +-4.19445 -200.08157 147.42339 -4.7129 -195.66588 147.42339 0 -200 125 -21.28472 +-165.26625 245.38056 -17.1752 -160.69629 245.38056 -9.43883 -169.10073 184.6178 +-22.5 -160.9375 265.625 -5.31034 -164.54264 184.64724 -13.52937 -173.68255 +184.64724 -27.14844 -167.96875 257.8125 -25.72763 -172.68813 233.66181 -8.9823 +-155.61817 233.66181 -15.35156 -155.46875 257.8125 -10 -150 250 -3.87227 -175.08157 +147.42339 -2.9318 -170.66588 147.42339 0 -175 125 -13.00447 -140.26625 245.38056 +-15.68423 -135.69629 245.38056 -6.76823 -144.10073 184.6178 -16.875 -135.9375 +265.625 -9.43215 -139.54264 184.64724 -4.07263 -148.68255 184.64724 -12.46094 +-142.96875 257.8125 -8.36344 -147.68813 233.66181 -17.35804 -130.61817 233.66181 +-19.0625 -130.46875 257.8125 -20 -125 250 -2.16763 -150.08157 147.42339 -2.7343 +-145.66588 147.42339 0 -150 125 -15.52798 -115.26625 245.38056 -13.47322 -110.69629 +245.38056 -7.39002 -119.10073 184.6178 -16.875 -110.9375 265.625 -5.32263 +-114.54264 184.64724 -9.43215 -123.68255 184.64724 -19.0625 -117.96875 257.8125 +-17.35804 -122.68813 233.66181 -8.98537 -105.61817 233.66181 -13.16406 -105.46875 +257.8125 -10 -100 250 -2.88721 -125.08157 147.42339 -2.41697 -120.66588 147.42339 +0 -125 125 -9.45873 -90.26625 245.38056 -9.45873 -85.69629 245.38056 -4.09763 +-94.10073 184.6178 -11.25 -85.9375 265.625 -4.08493 -89.54264 184.64724 -4.08493 +-98.68255 184.64724 -10.27344 -92.96875 257.8125 -8.36652 -97.68813 233.66181 +-8.36652 -80.61817 233.66181 -10.27344 -80.46875 257.8125 -10 -75 250 -1.49989 +-100.08157 147.42339 -1.49989 -95.66588 147.42339 0 -100 125 -13.55134 -65.26625 +245.38056 -15.2936 -60.69629 245.38056 -7.07913 -69.10073 184.6178 -16.875 +-60.9375 265.625 -8.80715 -64.54264 184.64724 -5.32263 -73.68255 184.64724 +-13.16406 -67.96875 257.8125 -8.98537 -72.68813 233.66181 -17.04707 -55.61817 +233.66181 -18.71094 -55.46875 257.8125 -20 -50 250 -2.34052 -75.08157 147.42339 +-2.76254 -70.66588 147.42339 0 -75 125 -19.54246 -40.26625 245.38056 -18.91746 +-35.69629 245.38056 -9.43883 -44.10073 184.6178 -22.5 -35.9375 265.625 -8.79485 +-39.54264 184.64724 -10.04485 -48.68255 184.64724 -21.60156 -42.96875 257.8125 +-17.66593 -47.68813 233.66181 -17.044 -30.61817 233.66181 -20.89844 -30.46875 +257.8125 -20 -25 250 -3.45025 -50.08157 147.42339 -3.35382 -45.66588 147.42339 +0 -50 125 -23.0882 -15.26625 245.38056 -25.14296 -10.69629 245.38056 -12.10944 +-19.10073 184.6178 -28.125 -10.9375 265.625 -14.14208 -14.54264 184.64724 +-10.03256 -23.68255 184.64724 -23.78906 -17.96875 257.8125 -17.66285 -22.68813 +233.66181 -26.03552 -5.61817 233.66181 -29.6875 -5.46875 257.8125 -30 0 250 +-4.11799 -25.08157 147.42339 -4.58823 -20.66588 147.42339 0 -25 125 -25.06483 +9.73375 245.38056 -23.32257 14.30371 245.38056 -12.42033 5.89927 184.6178 +-28.125 14.0625 265.625 -10.65756 10.45736 184.64724 -14.14208 1.31745 184.64724 +-29.6875 7.03125 257.8125 -26.03552 2.31187 233.66181 -17.97382 19.38183 233.66181 +-24.14063 19.53125 257.8125 -20 25 250 -4.66468 -.08157 147.42339 -4.24266 +4.33412 147.42339 0 0 125 -15.05923 34.73375 245.38056 -13.62947 39.30371 +245.38056 -6.76823 30.89927 184.6178 -16.875 39.0625 265.625 -5.32263 35.45736 +184.64724 -8.18215 26.31745 184.64724 -18.35938 32.03125 257.8125 -16.73611 +27.31187 233.66181 -8.98537 44.38183 233.66181 -13.16406 44.53125 257.8125 +-10 50 250 -2.63786 24.91843 147.42339 -2.26406 29.33412 147.42339 0 25 125 +-9.45873 59.73375 245.38056 -9.45873 64.30371 245.38056 -4.09763 55.89927 +184.6178 -11.25 64.0625 265.625 -4.08493 60.45736 184.64724 -4.08493 51.31745 +184.64724 -10.27344 57.03125 257.8125 -8.36652 52.31187 233.66181 -8.36652 +69.38183 233.66181 -10.27344 69.53125 257.8125 -10 75 250 -1.49989 49.91843 +147.42339 -1.49989 54.33412 147.42339 0 50 125 -13.62947 84.73375 245.38056 +-15.05923 89.30371 245.38056 -6.76823 80.89927 184.6178 -16.875 89.0625 265.625 +-8.18215 85.45736 184.64724 -5.32263 76.31745 184.64724 -13.16406 82.03125 +257.8125 -8.98537 77.31187 233.66181 -16.73611 94.38183 233.66181 -18.35938 +94.53125 257.8125 -20 100 250 -2.26406 74.91843 147.42339 -2.63786 79.33412 +147.42339 0 75 125 -23.4007 109.73375 245.38056 -24.83046 114.30371 245.38056 +-12.10944 105.89927 184.6178 -28.125 114.0625 265.625 -13.51708 110.45736 +184.64724 -10.65756 101.31745 184.64724 -24.14063 107.03125 257.8125 -17.97382 +102.31187 233.66181 -25.72456 119.38183 233.66181 -29.33594 119.53125 257.8125 +-30 125 250 -4.16621 99.91843 147.42339 -4.54001 104.33412 147.42339 0 100 +125 -29.0012 134.73375 245.38056 -29.0012 139.30371 245.38056 -14.78004 130.89927 +184.6178 -33.75 139.0625 265.625 -14.75478 135.45736 184.64724 -14.75478 126.31745 +184.64724 -32.22656 132.03125 257.8125 -26.34341 127.31187 233.66181 -26.34341 +144.38183 233.66181 -32.22656 144.53125 257.8125 -30 150 250 -5.30418 124.91843 +147.42339 -5.30418 129.33412 147.42339 0 125 125 -24.83046 159.73375 245.38056 +-23.4007 164.30371 245.38056 -12.10944 155.89927 184.6178 -28.125 164.0625 +265.625 -10.65756 160.45736 184.64724 -13.51708 151.31745 184.64724 -29.33594 +157.03125 257.8125 -25.72456 152.31187 233.66181 -17.97382 169.38183 233.66181 +-24.14063 169.53125 257.8125 -20 175 250 -4.54001 149.91843 147.42339 -4.16621 +154.33412 147.42339 0 150 125 -15.13735 184.73375 245.38056 -13.39509 189.30371 +245.38056 -6.45733 180.89927 184.6178 -16.875 189.0625 265.625 -4.69763 185.45736 +184.64724 -8.18215 176.31745 184.64724 -18.35938 182.03125 257.8125 -16.73611 +177.31187 233.66181 -8.67441 194.38183 233.66181 -12.8125 194.53125 257.8125 +-10 200 250 -2.56141 174.91843 147.42339 -2.13939 179.33412 147.42339 0 175 +125 -13.23884 209.73375 245.38056 -15.6061 214.30371 245.38056 -7.07913 205.89927 +184.6178 -16.875 214.0625 265.625 -9.43215 210.45736 184.64724 -4.69763 201.31745 +184.64724 -12.8125 207.03125 257.8125 -8.67441 202.31187 233.66181 -17.35804 +219.38183 233.66181 -19.03646 219.4987 257.64974 -20 225 250 -2.2923 199.91843 +147.42339 -2.81075 204.33412 147.42339 0 200 125 -15.86652 234.86396 247.00816 +-13.70759 240.47558 248.31025 -7.36497 231.94447 186.60081 -17.29167 239.58333 +268.22917 -5.1143 237.5407 187.25141 -9.43215 226.31745 184.64724 -19.29688 +232.32422 259.27734 -17.35804 227.31187 233.66181 -7.8011 245.50922 227.37291 +-14.05427 245.92152 265.76683 -10 250 250 -2.8639 225.16866 147.7717 -2.32346 +229.85994 147.23294 0 225 125 -.09616 243.03155 127.71574 .12387 239.33935 +126.60977 .19434 235.38661 125.45791 -.15451 245.50564 127.76469 .58122 232.55988 +121.34121 -.71588 239.95276 135.17411 .28112 248.26951 121.6164 -.46499 246.81786 +132.64088 0 250 125 .25505 234.77448 123.76848 -.11281 241.24736 126.98022 +0 237.5 125 -.58049 231.46346 134.15503 .67894 229.7587 120.74208 -2.51846 +247.73946 161.605 -2.32024 238.44309 157.9701 -5.41786 246.83493 196.75898 +-4.66667 252.00956 189.55294 -2.26195 251.8798 156.99831 -7.3689 252.75336 +223.77081 .15169 245.16112 112.73034 .45507 248.3157 112.45831 .20225 248.12433 +112.20802 .40451 245.77254 113.18801 .40451 249.14498 112.09426 0 245.66189 +112.46311 .09154 241.08381 112.14867 -.04405 241.93239 112.64274 0 237.5 112.5 +.44407 249.72011 115.52053 .08029 249.73251 121.41502 0 248.31285 112.4155 +.17697 249.3548 111.53893 0 250 112.5 .19167 228.28917 112.1887 .48312 227.18686 +114.51761 .23195 231.8436 111.71104 .51112 224.57407 114.34782 .61852 229.88588 +113.07405 0 231.68186 111.16103 .21297 224.82253 113.49308 -.05995 228.88854 +111.66185 0 225 112.5 .92307 226.87477 115.10834 .9282 224.09377 114.44347 +-.01614 234.78791 111.41748 .18376 233.32569 112.79906 .61267 230.31495 117.23371 +.38724 233.85872 118.97533 .35663 233.70327 115.48016 0 237.5 118.7196 -.03556 +237.24454 122.45768 -.01361 237.31836 114.74612 .14428 241.82149 116.26582 +-.09934 242.37315 123.00425 .14446 246.32048 120.64328 -.44991 215.78134 127.66094 +.02917 212.30415 124.10883 -.44991 209.54622 127.66094 .32911 216.68152 121.34121 +.32911 207.55988 121.34121 -2.39949 213.9676 140.86052 .15906 219.55476 121.50135 +-1.58904 220.73223 135.24414 .1097 210.09316 124.30377 .1097 214.65398 124.30377 +0 212.5 125 -1.56858 206.01661 134.9416 .14978 204.64867 121.45227 -5.54576 +219.62331 158.73525 -5.5718 211.82233 158.89801 -10.09667 218.34299 184.51392 +.27222 217.73626 111.71104 .5593 221.94446 114.51761 .19167 221.39138 112.1887 +.72593 218.99375 113.07405 0 218.31814 111.16103 .19535 215.38881 112.06855 +-.05009 215.58903 111.78399 0 212.5 112.5 .94364 221.36211 115.32886 -.06667 +221.21697 111.66185 .19167 203.28917 112.1887 .5593 202.18686 114.51761 .27222 +206.8436 111.71104 .51112 199.57407 114.34782 .72593 204.88588 113.07405 0 +206.68186 111.16103 .21297 199.82253 113.49308 -.06667 203.88854 111.66185 +0 200 112.5 .9433 201.99557 115.22383 .93661 199.21949 114.21629 -.00951 209.85524 +111.46839 .19535 208.65922 112.91362 .64554 205.37652 116.87831 .21416 209.33673 +119.77826 .35873 208.81445 115.48728 0 212.5 118.7196 -.05485 212.56322 122.99297 +-.0363 212.38984 114.71511 .35873 215.60056 115.48728 .21416 215.23874 119.77826 +.64554 218.55378 116.87831 .05683 190.78134 127.66094 .44088 187.30415 124.10883 +.05683 184.54622 127.66094 .58122 191.68152 121.34121 .58122 182.55988 121.34121 +-1.12275 188.9676 140.86052 .62694 194.70407 121.45227 -.60854 195.79765 134.9416 +.19374 185.09316 124.30377 .19374 189.65398 124.30377 0 187.5 125 -.61781 +181.01661 134.9416 .55575 179.64867 121.45227 -2.31921 194.75352 158.89801 +-2.39734 186.82233 158.89801 -3.9786 193.37555 184.67668 .23195 192.73626 +111.71104 .48312 196.94446 114.51761 .19167 196.39138 112.1887 .61852 193.99375 +113.07405 0 193.31814 111.16103 .16644 190.38881 112.06855 -.04741 190.58903 +111.78399 0 187.5 112.5 .90201 196.46667 115.22383 -.05995 196.21697 111.66185 +.19167 178.28917 112.1887 .48312 177.18686 114.51761 .23195 181.8436 111.71104 +.51112 174.57407 114.34782 .61852 179.88588 113.07405 0 181.68186 111.16103 +.21297 174.82253 113.49308 -.05995 178.88854 111.66185 0 175 112.5 .85767 +176.99557 115.22383 .89116 174.21949 114.21629 -.01283 184.85524 111.46839 +.16644 183.65922 112.91362 .6381 180.37652 116.87831 .29527 184.33673 119.77826 +.34326 183.81445 115.48728 0 187.5 118.7196 -.09687 187.56322 122.99297 -.03093 +187.38984 114.71511 .34326 190.60056 115.48728 .29527 190.23874 119.77826 +.6381 193.55378 116.87831 -.43293 165.78134 127.66094 .31337 162.30415 124.10883 +-.09118 159.54622 127.66094 .32911 166.68152 121.34121 .88466 157.55988 121.34121 +-2.34816 163.9676 140.86052 .14965 169.70407 121.45227 -1.40542 170.79765 +134.9416 .34118 160.09316 124.30377 .06341 164.65398 124.30377 0 162.5 125 +-1.50204 156.01661 134.9416 .85038 154.64867 121.45227 -5.07431 169.75352 +158.89801 -5.4861 161.82233 158.89801 -9.40087 168.37555 184.67668 .27222 +167.73626 111.71104 .5593 171.94446 114.51761 .19167 171.39138 112.1887 .72593 +168.99375 113.07405 0 168.31814 111.16103 .16778 165.38881 112.06855 -.06388 +165.58903 111.78399 0 162.5 112.5 .87359 171.46667 115.22383 -.06667 171.21697 +111.66185 .31945 153.28917 112.1887 .8306 152.18686 114.51761 .4 156.8436 +111.71104 .85186 149.57407 114.34782 1.06667 154.88588 113.07405 0 156.68186 +111.16103 .35494 149.82253 113.49308 -.10216 153.88854 111.66185 0 150 112.5 +1.56466 151.99557 115.22383 1.58373 149.21949 114.21629 -.02554 159.85524 +111.46839 .31461 158.65922 112.91362 1.06919 155.37652 116.87831 .53453 159.33673 +119.77826 .59855 158.81445 115.48728 0 162.5 118.7196 -.10115 162.56322 122.99297 +-.02577 162.38984 114.71511 .33744 165.60056 115.48728 .14471 165.23874 119.77826 +.64233 168.55378 116.87831 -.57245 140.78134 127.66094 .32795 137.30415 124.10883 +-.40157 134.54622 127.66094 .63255 141.68152 121.34121 .91033 132.55988 121.34121 +-3.5479 138.9676 140.86052 .47981 144.70407 121.45227 -2.20343 145.79765 134.9416 +.32659 135.09316 124.30377 .1877 139.65398 124.30377 0 137.5 125 -2.25406 +131.01661 134.9416 .81238 129.64867 121.45227 -7.87527 144.75352 158.89801 +-8.1007 136.82233 158.89801 -14.46223 143.37555 184.67668 .44028 142.73626 +111.71104 .90677 146.94446 114.51761 .31945 146.39138 112.1887 1.17408 143.99375 +113.07405 0 143.31814 111.16103 .30216 140.38881 112.06855 -.08949 140.58903 +111.78399 0 137.5 112.5 1.56789 146.46667 115.22383 -.10887 146.21697 111.66185 +.38334 128.28917 112.1887 1.04242 127.18686 114.51761 .50417 131.8436 111.71104 +1.02223 124.57407 114.34782 1.34445 129.88588 113.07405 0 131.68186 111.16103 +.42593 124.82253 113.49308 -.12662 128.88854 111.66185 0 125 112.5 1.90234 +126.99557 115.22383 1.91866 124.21949 114.21629 -.02498 134.85524 111.46839 +.37557 133.65922 112.91362 1.28524 130.37652 116.87831 .54415 134.33673 119.77826 +.71264 133.81445 115.48728 0 137.5 118.7196 -.12857 137.56322 122.99297 -.05344 +137.38984 114.71511 .58208 140.60056 115.48728 .34924 140.23874 119.77826 +1.07182 143.55378 116.87831 -.40157 115.78134 127.66094 .32795 112.30415 124.10883 +-.57245 109.54622 127.66094 .91033 116.68152 121.34121 .63255 107.55988 121.34121 +-3.5479 113.9676 140.86052 .81238 119.70407 121.45227 -2.25406 120.79765 134.9416 +.1877 110.09316 124.30377 .32659 114.65398 124.30377 0 112.5 125 -2.20343 +106.01661 134.9416 .47981 104.64867 121.45227 -8.1007 119.75352 158.89801 +-7.87527 111.82233 158.89801 -14.46223 118.37555 184.67668 .50417 117.73626 +111.71104 1.04242 121.94446 114.51761 .38334 121.39138 112.1887 1.34445 118.99375 +113.07405 0 118.31814 111.16103 .37557 115.38881 112.06855 -.09061 115.58903 +111.78399 0 112.5 112.5 1.90234 121.46667 115.22383 -.12662 121.21697 111.66185 +.31945 103.28917 112.1887 .90677 102.18686 114.51761 .44028 106.8436 111.71104 +.85186 99.57407 114.34782 1.17408 104.88588 113.07405 0 106.68186 111.16103 +.35494 99.82253 113.49308 -.10887 103.88854 111.66185 0 100 112.5 1.56789 +101.99557 115.22383 1.58373 99.21949 114.21629 -.01433 109.85524 111.46839 +.30216 108.65922 112.91362 1.07182 105.37652 116.87831 .34924 109.33673 119.77826 +.58208 108.81445 115.48728 0 112.5 118.7196 -.12857 112.56322 122.99297 -.07249 +112.38984 114.71511 .71264 115.60056 115.48728 .54415 115.23874 119.77826 +1.28524 118.55378 116.87831 -.09118 90.78134 127.66094 .31337 87.30415 124.10883 +-.43293 84.54622 127.66094 .88466 91.68152 121.34121 .32911 82.55988 121.34121 +-2.34816 88.9676 140.86052 .85038 94.70407 121.45227 -1.50204 95.79765 134.9416 +.06341 85.09316 124.30377 .34118 89.65398 124.30377 0 87.5 125 -1.40078 81.01661 +134.9416 .18525 79.64867 121.45227 -5.4861 94.75352 158.89801 -5.03525 86.82233 +158.89801 -9.40087 93.37555 184.67668 .4 92.73626 111.71104 .8306 96.94446 +114.51761 .31945 96.39138 112.1887 1.06667 93.99375 113.07405 0 93.31814 111.16103 +.31461 90.38881 112.06855 -.06612 90.58903 111.78399 0 87.5 112.5 1.56466 +96.46667 115.22383 -.10216 96.21697 111.66185 .19167 78.28917 112.1887 .5593 +77.18686 114.51761 .27222 81.8436 111.71104 .51112 74.57407 114.34782 .72593 +79.88588 113.07405 0 81.68186 111.16103 .21297 74.82253 113.49308 -.06667 +78.88854 111.66185 0 75 112.5 .89576 76.99557 115.22383 .91388 74.21949 114.21629 +-.00425 84.85524 111.46839 .16778 83.65922 112.91362 .64233 80.37652 116.87831 +.14471 84.33673 119.77826 .33744 83.81445 115.48728 0 87.5 118.7196 -.10115 +87.56322 122.99297 -.06386 87.38984 114.71511 .59855 90.60056 115.48728 .53453 +90.23874 119.77826 1.06919 93.55378 116.87831 .04834 65.78134 127.66094 .29878 +62.30415 124.10883 -.12253 59.54622 127.66094 .58122 66.68152 121.34121 .30344 +57.55988 121.34121 -1.14841 63.9676 140.86052 .55581 69.70407 121.45227 -.69939 +70.79765 134.9416 .078 60.09316 124.30377 .21689 64.65398 124.30377 0 62.5 +125 -.64876 56.01661 134.9416 .22325 54.64867 121.45227 -2.64608 69.75352 +158.89801 -2.42066 61.82233 158.89801 -4.33952 68.37555 184.67668 .23195 67.73626 +111.71104 .48312 71.94446 114.51761 .19167 71.39138 112.1887 .61852 68.99375 +113.07405 0 68.31814 111.16103 .18023 65.38881 112.06855 -.04052 65.58903 +111.78399 0 62.5 112.5 .89253 71.46667 115.22383 -.05995 71.21697 111.66185 +.12778 53.28917 112.1887 .34747 52.18686 114.51761 .16806 56.8436 111.71104 +.34074 49.57407 114.34782 .44815 54.88588 113.07405 0 56.68186 111.16103 .14198 +49.82253 113.49308 -.04221 53.88854 111.66185 0 50 112.5 .55808 51.99557 115.22383 +.57896 49.21949 114.21629 -.00482 59.85524 111.46839 .10681 58.65922 112.91362 +.42628 55.37652 116.87831 .13509 59.33673 119.77826 .22335 58.81445 115.48728 +0 62.5 118.7196 -.07372 62.56322 122.99297 -.03619 62.38984 114.71511 .3539 +65.60056 115.48728 .33 65.23874 119.77826 .6397 68.55378 116.87831 -.12253 +40.78134 127.66094 .29878 37.30415 124.10883 .04834 34.54622 127.66094 .30344 +41.68152 121.34121 .58122 32.55988 121.34121 -1.14841 38.9676 140.86052 .22325 +44.70407 121.45227 -.64876 45.79765 134.9416 .21689 35.09316 124.30377 .078 +39.65398 124.30377 0 37.5 125 -.69939 31.01661 134.9416 .55581 29.64867 121.45227 +-2.42066 44.75352 158.89801 -2.64608 36.82233 158.89801 -4.33952 43.37555 +184.67668 .16806 42.73626 111.71104 .34747 46.94446 114.51761 .12778 46.39138 +112.1887 .44815 43.99375 113.07405 0 43.31814 111.16103 .10681 40.38881 112.06855 +-.03939 40.58903 111.78399 0 37.5 112.5 .55808 46.46667 115.22383 -.04221 +46.21697 111.66185 .19167 28.28917 112.1887 .48312 27.18686 114.51761 .23195 +31.8436 111.71104 .51112 24.57407 114.34782 .61852 29.88588 113.07405 0 31.68186 +111.16103 .21297 24.82253 113.49308 -.05995 28.88854 111.66185 0 25 112.5 +.89253 26.99557 115.22383 .91388 24.21949 114.21629 -.01546 34.85524 111.46839 +.18023 33.65922 112.91362 .6397 30.37652 116.87831 .33 34.33673 119.77826 +.3539 33.81445 115.48728 0 37.5 118.7196 -.07372 37.56322 122.99297 -.01714 +37.38984 114.71511 .22335 40.60056 115.48728 .13509 40.23874 119.77826 .42628 +43.55378 116.87831 -.43293 15.78134 127.66094 .31337 12.30415 124.10883 -.09118 +9.54622 127.66094 .32911 16.68152 121.34121 .88466 7.55988 121.34121 -2.34816 +13.9676 140.86052 .18525 19.70407 121.45227 -1.40078 20.79765 134.9416 .34118 +10.09316 124.30377 .06341 14.65398 124.30377 0 12.5 125 -1.4974 6.01661 134.9416 +.88598 4.64867 121.45227 -5.03525 19.75352 158.89801 -5.44704 11.82233 158.89801 +-9.40087 18.37555 184.67668 .27222 17.73626 111.71104 .5593 21.94446 114.51761 +.19167 21.39138 112.1887 .72593 18.99375 113.07405 0 18.31814 111.16103 .16778 +15.38881 112.06855 -.06388 15.58903 111.78399 0 12.5 112.5 .89576 21.46667 +115.22383 -.06667 21.21697 111.66185 .31945 3.28917 112.1887 .8306 2.18686 +114.51761 .4 6.8436 111.71104 .85186 -.42593 114.34782 1.06667 4.88588 113.07405 +0 6.68186 111.16103 .35494 -.17747 113.49308 -.10216 3.88854 111.66185 0 0 +112.5 1.58683 1.99557 115.22383 1.60646 -.78051 114.21629 -.02554 9.85524 +111.46839 .31461 8.65922 112.91362 1.06919 5.37652 116.87831 .53453 9.33673 +119.77826 .59855 8.81445 115.48728 0 12.5 118.7196 -.10115 12.56322 122.99297 +-.02577 12.38984 114.71511 .33744 15.60056 115.48728 .14471 15.23874 119.77826 +.64233 18.55378 116.87831 -.58094 -9.21866 127.66094 .18586 -12.69585 124.10883 +-.58094 -15.45378 127.66094 .63255 -8.31848 121.34121 .63255 -17.44012 121.34121 +-3.57357 -11.0324 140.86052 .47988 -5.29593 121.45227 -2.28501 -4.20235 134.9416 +.21085 -14.90684 124.30377 .21085 -10.34602 124.30377 0 -12.5 125 -2.28965 +-18.98339 134.9416 .44428 -20.35133 121.45227 -8.12402 -5.24648 158.89801 +-8.16308 -13.17767 158.89801 -14.82315 -6.62445 184.67668 .44028 -7.26374 +111.71104 .90677 -3.05554 114.51761 .31945 -3.60862 112.1887 1.17408 -6.00625 +113.07405 0 -6.68186 111.16103 .31594 -9.61119 112.06855 -.08259 -9.41097 +111.78399 0 -12.5 112.5 1.60275 -3.53333 115.22383 -.10887 -3.78303 111.66185 +.31945 -21.71083 112.1887 .90677 -22.81314 114.51761 .44028 -18.1564 111.71104 +.85186 -25.42593 114.34782 1.17408 -20.11412 113.07405 0 -18.31814 111.16103 +.35494 -25.17747 113.49308 -.10887 -21.11146 111.66185 0 -25 112.5 1.58058 +-23.00443 115.22383 1.58373 -25.78051 114.21629 -.01696 -15.14476 111.46839 +.31594 -16.34078 112.91362 1.07342 -19.62348 116.87831 .38397 -15.66327 119.77826 +.59273 -16.18555 115.48728 0 -12.5 118.7196 -.10543 -12.43678 122.99297 -.0587 +-12.61016 114.71511 .59273 -9.39944 115.48728 .38397 -9.76126 119.77826 1.07342 +-6.44622 116.87831 -.08268 -34.21866 127.66094 .45546 -37.69585 124.10883 +-.25356 -40.45378 127.66094 .88466 -33.31848 121.34121 .60689 -42.44012 121.34121 +-2.32249 -36.0324 140.86052 .88591 -30.29593 121.45227 -1.41582 -29.20235 +134.9416 .17915 -39.90684 124.30377 .31804 -35.34602 124.30377 0 -37.5 125 +-1.3652 -43.98339 134.9416 .55335 -45.35133 121.45227 -5.19829 -30.24648 158.89801 +-4.97287 -38.17767 158.89801 -9.03996 -31.62445 184.67668 .4 -32.26374 111.71104 +.8306 -28.05554 114.51761 .31945 -28.60862 112.1887 1.06667 -31.00625 113.07405 +0 -31.68186 111.16103 .30082 -34.61119 112.06855 -.07302 -34.41097 111.78399 +0 -37.5 112.5 1.55197 -28.53333 115.22383 -.10216 -28.78303 111.66185 .25556 +-46.71083 112.1887 .69495 -47.81314 114.51761 .33611 -43.1564 111.71104 .68149 +-50.42593 114.34782 .8963 -45.11412 113.07405 0 -43.31814 111.16103 .28395 +-50.17747 113.49308 -.08441 -46.11146 111.66185 0 -50 112.5 1.21753 -48.00443 +115.22383 1.24881 -50.78051 114.21629 -.01226 -40.14476 111.46839 .22741 -41.34078 +112.91362 .85416 -44.62348 116.87831 .3049 -40.66327 119.77826 .45734 -41.18555 +115.48728 0 -37.5 118.7196 -.1243 -37.43678 122.99297 -.0586 -37.61016 114.71511 +.5879 -34.39944 115.48728 .49981 -34.76126 119.77826 1.06758 -31.44622 116.87831 +-.27054 -59.21866 127.66094 .17127 -62.69585 124.10883 -.44142 -65.45378 127.66094 +.60689 -58.31848 121.34121 .32911 -67.44012 121.34121 -2.37382 -61.0324 140.86052 +.48228 -55.29593 121.45227 -1.53762 -54.20235 134.9416 .08655 -64.90684 124.30377 +.22544 -60.34602 124.30377 0 -62.5 125 -1.48236 -68.98339 134.9416 .18531 +-70.35133 121.45227 -5.54848 -55.24648 158.89801 -5.284 -63.17767 158.89801 +-9.76179 -56.62445 184.67668 .33611 -57.26374 111.71104 .69495 -53.05554 114.51761 +.25556 -53.60862 112.1887 .8963 -56.00625 113.07405 0 -56.68186 111.16103 +.25498 -59.61119 112.06855 -.05811 -59.41097 111.78399 0 -62.5 112.5 1.24289 +-53.53333 115.22383 -.08441 -53.78303 111.66185 .19167 -71.71083 112.1887 +.5593 -72.81314 114.51761 .27222 -68.1564 111.71104 .51112 -75.42593 114.34782 +.72593 -70.11412 113.07405 0 -68.31814 111.16103 .21297 -75.17747 113.49308 +-.06667 -71.11146 111.66185 0 -75 112.5 .93062 -73.00443 115.22383 .93661 +-75.78051 114.21629 -.00688 -65.14476 111.46839 .18156 -66.34078 112.91362 +.64394 -69.62348 116.87831 .17943 -65.66327 119.77826 .34808 -66.18555 115.48728 +0 -62.5 118.7196 -.078 -62.43678 122.99297 -.05008 -62.61016 114.71511 .47864 +-59.39944 115.48728 .37434 -59.76126 119.77826 .85736 -56.44622 116.87831 +.04834 -84.21866 127.66094 .29878 -87.69585 124.10883 -.12253 -90.45378 127.66094 +.58122 -83.31848 121.34121 .30344 -92.44012 121.34121 -1.14841 -86.0324 140.86052 +.59141 -80.29593 121.45227 -.69475 -79.20235 134.9416 .078 -89.90684 124.30377 +.21689 -85.34602 124.30377 0 -87.5 125 -.64876 -93.98339 134.9416 .22325 -95.35133 +121.45227 -2.60702 -80.24648 158.89801 -2.42066 -88.17767 158.89801 -4.33952 +-81.62445 184.67668 .23195 -82.26374 111.71104 .48312 -78.05554 114.51761 +.19167 -78.60862 112.1887 .61852 -81.00625 113.07405 0 -81.68186 111.16103 +.18023 -84.61119 112.06855 -.04052 -84.41097 111.78399 0 -87.5 112.5 .9147 +-78.53333 115.22383 -.05995 -78.78303 111.66185 .12778 -96.71083 112.1887 +.34747 -97.81314 114.51761 .16806 -93.1564 111.71104 .34074 -100.42593 114.34782 +.44815 -95.11412 113.07405 0 -93.31814 111.16103 .14198 -100.17747 113.49308 +-.04221 -96.11146 111.66185 0 -100 112.5 .55808 -98.00443 115.22383 .57896 +-100.78051 114.21629 -.00482 -90.14476 111.46839 .10681 -91.34078 112.91362 +.42628 -94.62348 116.87831 .13509 -90.66327 119.77826 .22335 -91.18555 115.48728 +0 -87.5 118.7196 -.07372 -87.43678 122.99297 -.03619 -87.61016 114.71511 .3539 +-84.39944 115.48728 .33 -84.76126 119.77826 .6397 -81.44622 116.87831 -.12253 +-109.21866 127.66094 .29878 -112.69585 124.10883 .04834 -115.45378 127.66094 +.30344 -108.31848 121.34121 .58122 -117.44012 121.34121 -1.14841 -111.0324 +140.86052 .22325 -105.29593 121.45227 -.64876 -104.20235 134.9416 .21689 -114.90684 +124.30377 .078 -110.34602 124.30377 0 -112.5 125 -.69012 -118.98339 134.9416 +.62701 -120.35133 121.45227 -2.42066 -105.24648 158.89801 -2.56796 -113.17767 +158.89801 -4.33952 -106.62445 184.67668 .16806 -107.26374 111.71104 .34747 +-103.05554 114.51761 .12778 -103.60862 112.1887 .44815 -106.00625 113.07405 +0 -106.68186 111.16103 .10681 -109.61119 112.06855 -.03939 -109.41097 111.78399 +0 -112.5 112.5 .55808 -103.53333 115.22383 -.04221 -103.78303 111.66185 .19167 +-121.71083 112.1887 .48312 -122.81314 114.51761 .23195 -118.1564 111.71104 +.51112 -125.42593 114.34782 .61852 -120.11412 113.07405 0 -118.31814 111.16103 +.21297 -125.17747 113.49308 -.05995 -121.11146 111.66185 0 -125 112.5 .93687 +-123.00443 115.22383 .95933 -125.78051 114.21629 -.01546 -115.14476 111.46839 +.18023 -116.34078 112.91362 .6397 -119.62348 116.87831 .33 -115.66327 119.77826 +.3539 -116.18555 115.48728 0 -112.5 118.7196 -.07372 -112.43678 122.99297 +-.01714 -112.61016 114.71511 .22335 -109.39944 115.48728 .13509 -109.76126 +119.77826 .42628 -106.44622 116.87831 -.44991 -134.21866 127.66094 .02917 +-137.69585 124.10883 -.44991 -140.45378 127.66094 .32911 -133.31848 121.34121 +.32911 -142.44012 121.34121 -2.39949 -136.0324 140.86052 .18537 -130.29593 +121.45227 -1.56394 -129.20235 134.9416 .1097 -139.90684 124.30377 .1097 -135.34602 +124.30377 0 -137.5 125 -1.57321 -143.98339 134.9416 .11418 -145.35133 121.45227 +-5.53274 -130.24648 158.89801 -5.61087 -138.17767 158.89801 -10.12271 -131.62445 +184.67668 .27222 -132.26374 111.71104 .5593 -128.05554 114.51761 .19167 -128.60862 +112.1887 .72593 -131.00625 113.07405 0 -131.68186 111.16103 .19535 -134.61119 +112.06855 -.05009 -134.41097 111.78399 0 -137.5 112.5 .96547 -128.53333 115.22383 +-.06667 -128.78303 111.66185 .19167 -146.71083 112.1887 .5593 -147.81314 114.51761 +.27222 -143.1564 111.71104 .51112 -150.42593 114.34782 .72593 -145.11412 113.07405 +0 -143.31814 111.16103 .21297 -150.17747 113.49308 -.06667 -146.11146 111.66185 +0 -150 112.5 .92113 -148.00443 115.22383 .91388 -150.78051 114.21629 -.00951 +-140.14476 111.46839 .19535 -141.34078 112.91362 .64554 -144.62348 116.87831 +.21416 -140.66327 119.77826 .35873 -141.18555 115.48728 0 -137.5 118.7196 +-.05485 -137.43678 122.99297 -.0363 -137.61016 114.71511 .35873 -134.39944 +115.48728 .21416 -134.76126 119.77826 .64554 -131.44622 116.87831 .06533 -159.21866 +127.66094 .58297 -162.69585 124.10883 .2362 -165.45378 127.66094 .58122 -158.31848 +121.34121 .859 -167.44012 121.34121 -1.09708 -161.0324 140.86052 .62688 -155.29593 +121.45227 -.52696 -154.20235 134.9416 .30948 -164.90684 124.30377 .17059 -160.34602 +124.30377 0 -162.5 125 -.57759 -168.98339 134.9416 .95945 -170.35133 121.45227 +-2.07047 -155.24648 158.89801 -2.29589 -163.17767 158.89801 -3.61768 -156.62445 +184.67668 .23195 -157.26374 111.71104 .48312 -153.05554 114.51761 .19167 -153.60862 +112.1887 .61852 -156.00625 113.07405 0 -156.68186 111.16103 .15266 -159.61119 +112.06855 -.0543 -159.41097 111.78399 0 -162.5 112.5 .86716 -153.53333 115.22383 +-.05995 -153.78303 111.66185 .25556 -171.71083 112.1887 .61877 -172.81314 +114.51761 .29584 -168.1564 111.71104 .68149 -175.42593 114.34782 .7889 -170.11412 +113.07405 0 -168.31814 111.16103 .28395 -175.17747 113.49308 -.0777 -171.11146 +111.66185 0 -175 112.5 1.20161 -173.00443 115.22383 1.24881 -175.78051 114.21629 +-.02085 -165.14476 111.46839 .22607 -166.34078 112.91362 .84992 -169.62348 +116.87831 .45546 -165.66327 119.77826 .46316 -166.18555 115.48728 0 -162.5 +118.7196 -.12002 -162.43678 122.99297 -.02566 -162.61016 114.71511 .33261 +-159.39944 115.48728 .26055 -159.76126 119.77826 .63649 -156.44622 116.87831 +-.76031 -184.21866 127.66094 .04376 -187.69585 124.10883 -.58943 -190.45378 +127.66094 .35477 -183.31848 121.34121 .63255 -192.44012 121.34121 -3.59923 +-186.0324 140.86052 .07618 -180.29593 121.45227 -2.32523 -179.20235 134.9416 +.234 -189.90684 124.30377 .09511 -185.34602 124.30377 0 -187.5 125 -2.37123 +-193.98339 134.9416 .44434 -195.35133 121.45227 -8.22546 -180.24648 158.89801 +-8.41182 -188.17767 158.89801 -15.18407 -181.62445 184.67668 .37639 -182.26374 +111.71104 .77112 -178.05554 114.51761 .25556 -178.60862 112.1887 1.00371 -181.00625 +113.07405 0 -181.68186 111.16103 .25631 -184.61119 112.06855 -.07458 -184.41097 +111.78399 0 -187.5 112.5 1.25881 -178.53333 115.22383 -.09113 -178.78303 111.66185 +.31945 -196.71083 112.1887 .90677 -197.81314 114.51761 .44028 -193.1564 111.71104 +.85186 -200.42593 114.34782 1.17408 -195.11412 113.07405 0 -193.31814 111.16103 +.35494 -200.17747 113.49308 -.10887 -196.11146 111.66185 0 -200 112.5 1.61543 +-198.00443 115.22383 1.60646 -200.78051 114.21629 -.01959 -190.14476 111.46839 +.32973 -191.34078 112.91362 1.07503 -194.62348 116.87831 .41869 -190.66327 +119.77826 .60338 -191.18555 115.48728 0 -187.5 118.7196 -.08228 -187.43678 +122.99297 -.04492 -187.61016 114.71511 .47282 -184.39944 115.48728 .22378 +-184.76126 119.77826 .8616 -181.44622 116.87831 -.08268 -209.21866 127.66094 +.45546 -212.69585 124.10883 -.25356 -215.45378 127.66094 .88466 -208.31848 +121.34121 .60689 -217.44012 121.34121 -2.32249 -211.0324 140.86052 .92151 +-205.29593 121.45227 -1.41119 -204.20235 134.9416 .17915 -214.90684 124.30377 +.31804 -210.34602 124.30377 0 -212.5 125 -1.36662 -219.11309 134.9416 .55247 +-220.43088 121.45227 -5.15923 -205.24648 158.89801 -4.97287 -213.17767 158.89801 +-9.03996 -206.62445 184.67668 .4 -207.26374 111.71104 .8306 -203.05554 114.51761 +.31945 -203.60862 112.1887 1.06667 -206.00625 113.07405 0 -206.68186 111.16103 +.30082 -209.61119 112.06855 -.07302 -209.41097 111.78399 0 -212.5 112.5 1.57414 +-203.53333 115.22383 -.10216 -203.78303 111.66185 .25556 -221.71083 112.1887 +.69495 -222.81314 114.51761 .33611 -218.1564 111.71104 .68149 -225.42593 114.34782 +.8963 -220.11412 113.07405 0 -218.31814 111.16103 .28395 -225.17747 113.49308 +-.08441 -221.11146 111.66185 0 -225 112.5 1.21665 -223.08398 115.22383 1.24738 +-225.91021 114.21629 -.01226 -215.14476 111.46839 .22741 -216.34078 112.91362 +.85416 -219.62348 116.87831 .3049 -215.66327 119.77826 .45734 -216.18555 115.48728 +0 -212.5 118.7196 -.1243 -212.43678 122.99297 -.0586 -212.61016 114.71511 +.5879 -209.39944 115.48728 .49981 -209.76126 119.77826 1.06758 -206.44622 +116.87831 -.29885 -233.21509 128.24849 .00992 -238.05897 126.45905 -.31697 +-240.12097 128.65781 .60689 -233.31848 121.34121 0 -243.75 126.04167 -2.34816 +-233.69779 140.86052 .48542 -230.00985 121.45227 -1.53263 -228.7484 134.9416 +-.05057 -240.45263 126.26229 .25287 -235.23687 123.91207 0 -237.5 125 -1.52171 +-242.74515 133.03775 .4498 -246.82545 122.83163 -5.99726 -228.82385 161.20773 +-6.80468 -236.02015 164.73512 -11.76126 -230.01834 194.89212 .33611 -232.26374 +111.71104 .69495 -228.05554 114.51761 .25556 -228.60862 112.1887 .8963 -231.00625 +113.07405 0 -231.68186 111.16103 .31371 -234.75079 111.85184 -.02874 -234.34975 +111.60285 0 -237.5 112.5 1.24276 -228.54532 115.22383 -.08441 -228.78303 111.66185 +0 -247.81942 113.12378 0 -247.22682 115.08274 0 -244.60284 113.87859 0 -248.4375 +114.0625 0 -244.28381 116.25 0 -245.66189 112.46311 0 -249.04527 112.40004 +0 -248.36168 112.34714 0 -250 112.5 .77176 -248.43193 112.73688 0 -248.82813 +118.35938 .01385 -241.54527 112.25144 -.07251 -241.1226 114.06544 .14676 -245.13345 +120.83435 -.07586 -241.21442 122.52548 -.05602 -240.78765 117.58144 0 -237.5 +118.7196 -.05057 -237.32763 122.60126 -.07251 -237.39489 114.70791 .52401 +-234.45133 115.28879 .41548 -234.59752 119.19071 .85576 -231.59214 116.87831 +] + } + texCoord +TextureCoordinate { point [ .584 .012 .548 .023 .64 .014 .543 .019 .596 .025 +.666 .006 .63 .005 .663 .002 .666 0 .429 .04 .461 .034 .385 .05 .786 .002 +.771 .012 .946 0 .398 .069 .416 .078 .682 .061 .315 .078 .7 .071 .665 .052 +.336 .064 .464 .054 .468 .088 .36 .089 .385 .099 .85 .05 .852 .058 .946 .05 +.301 .119 .235 .128 .598 .111 .158 .127 .532 .12 .665 .102 .279 .113 .451 +.104 .208 .138 .104 .138 .105 .149 .829 .099 .814 .108 .946 .099 .349 .169 +.465 .178 .682 .161 .315 .177 .797 .17 .567 .152 .185 .163 .225 .154 .694 +.188 .516 .188 .666 .199 .838 .149 .864 .158 .946 .149 .582 .218 .506 .227 +.756 .211 .473 .227 .682 .22 .832 .202 .597 .213 .712 .204 .46 .237 .412 .238 +.385 .249 .885 .199 .87 .208 .946 .199 .511 .268 .568 .277 .739 .26 .473 .277 +.797 .269 .682 .251 .412 .263 .46 .253 .694 .287 .577 .287 .666 .298 .865 +.248 .878 .257 .946 .249 .681 .318 .681 .327 .831 .31 .631 .326 .832 .319 +.832 .301 .658 .312 .712 .303 .712 .337 .658 .337 .666 .348 .904 .298 .904 +.307 .946 .298 .566 .367 .517 .377 .748 .36 .473 .376 .699 .369 .797 .351 +.577 .362 .694 .353 .468 .387 .422 .387 .385 .398 .881 .348 .869 .357 .946 +.348 .398 .417 .416 .426 .682 .41 .315 .426 .7 .419 .665 .4 .341 .412 .451 +.402 .468 .436 .36 .437 .385 .448 .849 .398 .852 .406 .946 .398 .299 .467 +.241 .476 .607 .459 .158 .476 .55 .468 .665 .45 .279 .462 .451 .452 .216 .486 +.114 .486 .105 .497 .831 .447 .818 .456 .946 .448 .243 .517 .292 .526 .598 +.509 .158 .525 .647 .518 .55 .5 .114 .511 .216 .502 .442 .536 .269 .536 .385 +.547 .815 .497 .827 .506 .946 .497 .524 .566 .564 .575 .756 .559 .473 .575 +.797 .568 .717 .55 .431 .561 .477 .552 .694 .586 .577 .586 .666 .597 .872 +.547 .883 .556 .946 .547 .681 .616 .681 .625 .831 .608 .631 .625 .832 .618 +.832 .599 .658 .611 .712 .601 .712 .635 .658 .636 .666 .646 .904 .597 .904 +.605 .946 .597 .564 .666 .524 .675 .756 .658 .473 .674 .717 .667 .797 .649 +.577 .66 .694 .651 .477 .685 .431 .685 .385 .696 .883 .646 .872 .655 .946 +.646 .29 .716 .25 .725 .607 .708 .158 .724 .567 .717 .647 .699 .269 .71 .442 +.701 .225 .735 .124 .735 .105 .746 .829 .696 .819 .705 .946 .696 .133 .765 +.133 .774 .532 .758 0 .774 .533 .767 .533 .749 .043 .76 .208 .75 .208 .784 +.043 .785 .105 .796 .798 .746 .798 .755 .946 .746 .25 .815 .29 .824 .607 .807 +.158 .824 .647 .816 .567 .798 .124 .81 .225 .8 .442 .834 .269 .834 .385 .845 +.819 .795 .829 .804 .946 .796 .522 .865 .571 .874 .765 .857 .473 .873 .815 +.866 .717 .848 .431 .859 .477 .85 .703 .884 .587 .884 .666 .895 .874 .845 +.886 .854 .946 .845 .575 .914 .509 .924 .748 .907 .473 .923 .682 .916 .815 +.898 .587 .909 .703 .9 .46 .934 .413 .934 .385 .945 .882 .895 .867 .904 .946 +.895 .501 .964 .562 .976 .74 .959 .461 .974 .803 .97 .682 .947 .405 .959 .46 +.949 .727 .986 .552 .986 .666 .995 .866 .945 .881 .954 .946 .945 .944 .981 +.95 .973 .952 .965 .942 .986 .963 .96 .926 .975 .954 .991 .933 .988 .946 .995 +.953 .964 .943 .977 .946 .97 .93 .958 .965 .954 .876 .99 .881 .972 .794 .988 +.815 .999 .883 .998 .74 1 .95 .985 .959 .991 .952 .991 .958 .986 .958 .993 +.946 .986 .949 .977 .945 .978 .959 .994 .948 .994 .946 .991 .951 .993 .952 +.951 .96 .949 .953 .958 .961 .944 .964 .955 .946 .958 .952 .944 .945 .953 +.972 .949 .972 .943 .946 .964 .951 .961 .963 .955 .957 .962 .956 .962 .945 +.969 .946 .969 .95 .978 .943 .979 .95 .987 .934 .926 .947 .92 .934 .914 .955 +.928 .955 .91 .879 .923 .951 .934 .902 .936 .949 .915 .949 .924 .946 .92 .902 +.907 .95 .904 .791 .934 .79 .919 .663 .932 .954 .93 .962 .939 .952 .938 .967 +.933 .946 .932 .952 .926 .945 .926 .973 .938 .944 .937 .952 .902 .962 .899 +.954 .909 .961 .894 .967 .905 .946 .908 .952 .895 .944 .903 .973 .899 .972 +.894 .946 .915 .952 .912 .964 .906 .952 .914 .956 .913 .945 .92 .956 .926 +.952 .925 .964 .932 .948 .877 .959 .87 .948 .864 .963 .879 .963 .86 .915 .873 +.964 .885 .929 .887 .952 .865 .952 .874 .946 .87 .929 .857 .962 .855 .881 +.885 .879 .869 .835 .882 .953 .881 .96 .889 .952 .888 .964 .883 .946 .882 +.951 .876 .945 .876 .971 .888 .945 .888 .952 .852 .96 .85 .953 .859 .961 .844 +.964 .855 .946 .859 .952 .845 .945 .853 .97 .849 .971 .844 .946 .865 .951 +.863 .964 .856 .954 .864 .956 .863 .943 .87 .945 .87 .956 .876 .954 .876 .964 +.882 .934 .827 .955 .82 .944 .815 .955 .829 .971 .811 .88 .823 .95 .835 .907 +.837 .956 .816 .948 .825 .946 .82 .904 .808 .97 .805 .804 .835 .792 .819 .683 +.832 .954 .831 .962 .839 .952 .838 .967 .833 .946 .832 .951 .826 .944 .827 +.971 .838 .944 .838 .955 .802 .969 .8 .957 .809 .97 .795 .976 .805 .946 .809 +.956 .795 .943 .803 .99 .8 .991 .794 .945 .815 .955 .813 .976 .806 .961 .814 +.963 .813 .943 .821 .945 .82 .956 .827 .95 .826 .964 .833 .93 .777 .955 .77 +.935 .765 .964 .779 .972 .761 .847 .774 .96 .785 .884 .787 .955 .766 .951 +.775 .946 .771 .883 .758 .969 .755 .725 .785 .719 .769 .541 .782 .959 .781 +.972 .79 .955 .788 .979 .784 .946 .782 .955 .777 .944 .777 .99 .789 .943 .788 +.957 .752 .975 .75 .96 .76 .975 .745 .984 .756 .946 .759 .958 .746 .943 .754 +1 .75 1 .744 .946 .765 .957 .763 .982 .757 .961 .764 .966 .763 .943 .771 .945 +.771 .963 .777 .956 .776 .976 .783 .935 .728 .955 .721 .93 .715 .972 .729 +.964 .711 .847 .724 .969 .735 .883 .738 .951 .716 .955 .725 .946 .721 .884 +.708 .96 .705 .719 .735 .725 .72 .541 .733 .96 .731 .975 .74 .957 .739 .984 +.734 .946 .733 .957 .727 .944 .727 1 .739 .943 .738 .955 .703 .972 .701 .959 +.71 .97 .695 .979 .706 .946 .709 .956 .696 .943 .704 .99 .7 .991 .695 .946 +.716 .955 .713 .976 .707 .956 .715 .963 .714 .943 .721 .944 .721 .966 .727 +.961 .726 .982 .733 .944 .678 .955 .671 .934 .665 .971 .68 .955 .661 .88 .674 +.97 .686 .904 .688 .948 .667 .956 .676 .946 .671 .907 .658 .951 .656 .792 +.686 .805 .67 .683 .683 .957 .682 .969 .69 .955 .689 .976 .684 .946 .683 .955 +.677 .944 .677 .99 .689 .943 .689 .952 .653 .962 .651 .954 .66 .961 .646 .967 +.656 .946 .66 .952 .646 .944 .654 .971 .65 .972 .645 .946 .666 .951 .664 .964 +.657 .95 .665 .956 .664 .943 .671 .944 .671 .963 .677 .961 .677 .976 .683 +.948 .628 .955 .621 .943 .616 .963 .63 .955 .612 .914 .624 .962 .636 .927 +.638 .948 .617 .952 .626 .946 .622 .928 .609 .952 .606 .872 .636 .878 .62 +.825 .633 .953 .632 .96 .64 .952 .639 .964 .634 .946 .633 .951 .627 .945 .628 +.971 .639 .945 .639 .95 .603 .956 .601 .951 .61 .956 .596 .959 .606 .946 .61 +.95 .596 .945 .604 .962 .601 .962 .595 .946 .616 .949 .614 .958 .607 .95 .615 +.952 .614 .944 .622 .945 .621 .956 .628 .955 .627 .943 .578 .955 .571 .948 +.566 .955 .58 .963 .562 .914 .575 .952 .586 .928 .588 .952 .567 .948 .576 +.946 .572 .927 .559 .962 .556 .878 .586 .872 .571 .825 .584 .951 .582 .956 +.591 .95 .59 .959 .585 .946 .583 .949 .578 .945 .578 .962 .59 .945 .589 .952 +.554 .96 .551 .953 .561 .961 .546 .964 .557 .946 .56 .952 .547 .945 .555 .971 +.551 .972 .545 .946 .567 .951 .564 .964 .558 .955 .566 .956 .565 .944 .572 +.952 .578 .95 .577 .958 .584 .934 .529 .955 .522 .944 .516 .955 .53 .971 .512 +.88 .525 .951 .536 .907 .539 .956 .517 .948 .526 .946 .522 .904 .509 .971 +.507 .805 .537 .793 .521 .683 .534 .954 .533 .962 .541 .952 .54 .967 .535 +.946 .534 .951 .528 .944 .528 .971 .54 .944 .539 .955 .504 .969 .502 .957 +.511 .97 .496 .976 .507 .946 .511 .956 .497 .943 .505 .991 .501 .991 .496 +.945 .517 .955 .514 .976 .508 .961 .516 .963 .515 .943 .522 .945 .522 .956 +.528 .95 .528 .964 .534 .93 .479 .951 .472 .93 .467 .964 .481 .964 .463 .846 +.475 .96 .487 .882 .489 .952 .468 .952 .477 .946 .472 .882 .46 .959 .457 .718 +.487 .717 .471 .531 .484 .959 .483 .972 .491 .955 .49 .979 .485 .946 .484 +.955 .478 .944 .479 .991 .49 .943 .49 .955 .454 .972 .452 .959 .461 .97 .447 +.979 .457 .946 .461 .956 .447 .943 .455 .991 .452 .991 .446 .946 .467 .955 +.465 .976 .458 .957 .466 .963 .465 .943 .473 .945 .472 .963 .479 .957 .478 +.976 .484 .944 .429 .959 .422 .939 .417 .971 .431 .963 .413 .881 .426 .971 +.437 .907 .439 .951 .418 .955 .427 .946 .423 .908 .41 .962 .407 .8 .437 .807 +.421 .693 .434 .957 .433 .969 .441 .955 .44 .976 .436 .946 .434 .955 .428 +.99 .441 .943 .44 .953 .404 .966 .402 .956 .411 .965 .397 .971 .408 .946 .411 +.954 .397 .944 .406 .98 .402 .981 .396 .946 .417 .953 .415 .97 .409 .955 .416 +.959 .415 .943 .423 .945 .422 .963 .429 .96 .428 .976 .435 .939 .379 .951 +.373 .934 .367 .963 .381 .955 .363 .88 .376 .96 .387 .903 .389 .949 .368 .953 +.377 .946 .373 .905 .36 .951 .357 .791 .387 .798 .372 .673 .385 .956 .383 +.966 .392 .953 .391 .971 .386 .946 .385 .953 .379 .945 .379 .981 .391 .944 +.39 .952 .355 .962 .352 .954 .362 .961 .347 .967 .358 .946 .361 .952 .348 +.944 .356 .972 .352 .972 .347 .946 .368 .951 .365 .964 .359 .951 .367 .956 +.366 .944 .373 .945 .373 .96 .379 .957 .378 .97 .385 .948 .33 .955 .323 .943 +.317 .963 .332 .955 .313 .914 .326 .963 .338 .927 .34 .948 .318 .952 .328 +.946 .323 .928 .31 .952 .308 .873 .338 .878 .322 .825 .335 .953 .334 .96 .342 +.952 .341 .964 .336 .946 .335 .951 .329 .945 .329 .972 .341 .945 .341 .95 +.305 .956 .303 .951 .312 .956 .298 .959 .308 .946 .312 .95 .298 .945 .306 +.962 .302 .962 .297 .946 .318 .949 .316 .958 .309 .95 .317 .952 .316 .944 +.323 .945 .323 .956 .329 .955 .329 .964 .335 .943 .28 .955 .273 .948 .268 +.955 .282 .963 .264 .914 .276 .952 .288 .928 .29 .952 .269 .948 .278 .946 +.273 .927 .261 .964 .258 .878 .288 .874 .272 .825 .285 .951 .284 .956 .292 +.95 .291 .959 .286 .946 .285 .949 .279 .945 .28 .962 .291 .945 .291 .952 .255 +.96 .253 .953 .262 .961 .248 .946 .262 .952 .248 .945 .256 .972 .253 .973 +.247 .946 .268 .951 .266 .964 .259 .955 .267 .956 .266 .944 .274 .952 .28 +.95 .279 .958 .286 .934 .23 .947 .223 .934 .218 .955 .232 .955 .214 .879 .227 +.951 .238 .902 .24 .949 .219 .949 .228 .946 .224 .902 .211 .949 .208 .791 +.238 .789 .222 .662 .235 .954 .234 .962 .243 .952 .241 .967 .237 .946 .235 +.952 .23 .945 .23 .973 .242 .944 .241 .952 .205 .962 .203 .954 .213 .961 .198 +.967 .209 .946 .212 .952 .199 .944 .207 .972 .203 .972 .197 .946 .219 .952 +.216 .964 .21 .952 .217 .956 .216 .945 .224 .956 .23 .952 .229 .964 .236 .948 +.181 .963 .174 .953 .168 .963 .182 .97 .164 .915 .177 .964 .188 .931 .191 +.955 .169 .951 .178 .946 .174 .93 .161 .973 .158 .888 .188 .882 .173 .845 +.186 .953 .184 .96 .193 .952 .192 .964 .187 .946 .186 .95 .18 .945 .18 .971 +.192 .945 .191 .953 .156 .964 .154 .955 .163 .965 .148 .968 .159 .946 .162 +.954 .149 .944 .157 .98 .153 .981 .148 .946 .169 .953 .166 .97 .16 .959 .168 +.959 .167 .943 .174 .945 .174 .956 .18 .954 .179 .964 .186 .925 .131 .947 +.124 .93 .118 .956 .133 .964 .114 .845 .127 .948 .139 .881 .141 .953 .12 .949 +.129 .946 .124 .88 .111 .959 .109 .716 .139 .71 .123 .521 .136 .957 .135 .968 +.143 .953 .142 .974 .137 .946 .136 .953 .13 .944 .13 .982 .142 .944 .142 .955 +.106 .972 .104 .959 .113 .97 .099 .979 .109 .946 .113 .956 .099 .943 .107 +.991 .103 .991 .098 .946 .119 .955 .117 .976 .11 .958 .118 .963 .117 .944 +.124 .945 .124 .959 .13 .952 .13 .97 .136 .944 .081 .959 .074 .939 .069 .971 +.083 .963 .065 .881 .078 .972 .089 .907 .091 .951 .07 .955 .079 .946 .075 +.908 .061 .962 .059 .802 .089 .807 .073 .693 .086 .957 .085 .969 .093 .955 +.092 .976 .088 .946 .086 .955 .08 .99 .092 .943 .092 .953 .056 .966 .054 .956 +.063 .965 .049 .971 .059 .946 .063 .954 .049 .944 .057 .98 .054 .981 .048 +.946 .069 .953 .067 .97 .06 .955 .068 .959 .067 .943 .075 .945 .074 .963 .081 +.96 .08 .976 .087 .938 .033 .946 .024 .937 .02 .963 .033 .946 .012 .88 .032 +.96 .04 .903 .042 .945 .019 .953 .029 .946 .025 .904 .014 .959 .006 .778 .042 +.755 .028 .616 .04 .956 .035 .966 .044 .953 .043 .971 .038 .946 .036 .955 +.03 .945 .031 .981 .043 .944 .042 .946 .004 .946 .006 .946 .011 .946 .003 +.946 .009 .946 .002 .968 .003 .947 .017 .944 .018 .95 .01 .944 .017 .945 .018 +.945 .025 .944 .025 .961 .031 .958 .031 .97 .037 ] } + } + } + ] + } + ] + } + DEF dad_Diving_Board Transform { + translation 100 .2 -27 + rotation 0 1 0 3.142 + children [ + DEF Diving_Board Group { + children [ + DEF dad_Diving_Board0 Transform { + translation 0 1 -.25 + children [ + DEF Diving_Board0 Shape { + appearance Appearance { + material USE Shiny_Black + } + geometry DEF GeoBox19 Box { + size 1 .1 4.5 + } + } + ] + } + DEF dad_Box11 Transform { + translation 0 .5 2.2 + children [ + DEF Box11 Shape { + appearance Appearance { + material USE Shiny_Black + } + geometry DEF GeoBox20 Box { + size 1 .1 .3 + } + } + ] + } + DEF dad_Diving_Board_Poles Transform { + translation .5 0 1.5 + rotation 0 0 1 1.571 + children [ + DEF Diving_Board_Poles Shape { + appearance Appearance { + material USE Shiny_Black + } + geometry DEF GeoExtrusion920 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 35 36 27 -1 27 36 37 -1 27 37 26 -1 26 37 38 -1 26 38 23 -1 23 +38 39 -1 23 39 22 -1 22 39 20 -1 22 20 21 -1 21 20 29 -1 21 29 30 -1 20 33 29 +-1 29 33 34 -1 29 34 28 -1 28 34 35 -1 28 35 27 -1 31 32 21 -1 31 21 30 -1 25 +26 23 -1 25 23 24 -1 17 16 7 -1 7 16 15 -1 7 15 8 -1 8 15 14 -1 8 14 9 -1 9 +14 13 -1 9 13 1 -1 1 13 0 -1 1 0 19 -1 10 9 1 -1 10 1 12 -1 10 12 11 -1 17 6 +18 -1 18 6 5 -1 18 5 19 -1 19 5 2 -1 19 2 1 -1 3 2 5 -1 3 5 4 -1 17 7 6 -1 +] coord Coordinate { +point [ .2 0 -.7 0 0 -.7 0 0 .6 0 0 .8 .4 0 .8 1 0 .7 1.2 0 .6 1.3 0 .4 1.3 +0 -.5 1.2 0 -.7 1 0 -.8 .4 0 -.9 0 0 -.9 .4 0 -.7 1 0 -.6 1.1 0 -.4 1.1 0 +.3 1 0 .5 .4 0 .6 .2 0 .6 .2 1 -.7 0 1 -.7 0 1 .6 0 1 .8 .4 1 .8 1 1 .7 1.2 +1 .6 1.3 1 .4 1.3 1 -.5 1.2 1 -.7 1 1 -.8 .4 1 -.9 0 1 -.9 .4 1 -.7 1 1 -.6 +1.1 1 -.4 1.1 1 .3 1 1 .5 .4 1 .6 .2 1 .6 ] + } + } + } + ] + } + ] + } + ] + } + DEF dad_Reference20 Transform { + translation 90 .2 -27 + rotation 0 1 0 3.142 + children [ + USE Diving_Board + ] + } + DEF dad_Reference21 Transform { + translation 110 .2 -27 + rotation 0 1 0 3.142 + children [ + USE Diving_Board + ] + } + DEF dad_Tree_Master Transform { + translation 0 .2 0 + children [ + DEF dad_tree Transform { + translation -55.5 0 62 + children [ + DEF tree Group { + children [ + DEF SweptSurface1 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "trunk.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF SweptSurface1_Geo IndexedFaceSet { + creaseAngle 3.142 +coordIndex [ 0 1 2 -1 0 2 3 -1 1 4 5 -1 1 5 2 -1 4 6 7 -1 4 7 5 -1 6 8 9 -1 +6 9 7 -1 8 10 11 -1 8 11 9 -1 10 12 13 -1 10 13 11 -1 12 14 15 -1 12 15 13 +-1 14 0 3 -1 14 3 15 -1 3 2 16 -1 3 16 17 -1 2 5 18 -1 2 18 16 -1 5 7 19 -1 +5 19 18 -1 7 9 20 -1 7 20 19 -1 9 11 21 -1 9 21 20 -1 11 13 22 -1 11 22 21 +-1 13 15 23 -1 13 23 22 -1 15 3 17 -1 15 17 23 -1 17 16 24 -1 17 24 25 -1 16 +18 26 -1 16 26 24 -1 18 19 27 -1 18 27 26 -1 19 20 28 -1 19 28 27 -1 20 21 29 +-1 20 29 28 -1 21 22 30 -1 21 30 29 -1 22 23 31 -1 22 31 30 -1 23 17 25 -1 23 +25 31 -1 ] texCoordIndex +[ 0 1 2 -1 0 2 3 -1 1 4 5 -1 1 5 2 -1 4 6 7 -1 4 7 5 -1 6 8 9 -1 6 9 7 -1 8 +10 11 -1 8 11 9 -1 10 12 13 -1 10 13 11 -1 12 14 15 -1 12 15 13 -1 14 16 17 +-1 14 17 15 -1 3 2 18 -1 3 18 19 -1 2 5 20 -1 2 20 18 -1 5 7 21 -1 5 21 20 +-1 7 9 22 -1 7 22 21 -1 9 11 23 -1 9 23 22 -1 11 13 24 -1 11 24 23 -1 13 15 +25 -1 13 25 24 -1 15 17 26 -1 15 26 25 -1 19 18 27 -1 19 27 28 -1 18 20 29 +-1 18 29 27 -1 20 21 30 -1 20 30 29 -1 21 22 31 -1 21 31 30 -1 22 23 32 -1 22 +32 31 -1 23 24 33 -1 23 33 32 -1 24 25 34 -1 24 34 33 -1 25 26 35 -1 25 35 34 +-1 ] coord DEF SweptSurface1_Coord Coordinate { +point [ 0 0 -.3 -.2 0 -.2 -.19924 1.98263 -.2 0 2 -.3 -.3 0 0 -.29887 1.97395 +0 -.2 0 .2 -.19924 1.98263 .2 0 0 .3 0 2 .3 .2 0 .2 .19924 2.01737 .2 .3 0 +0 .29887 2.02605 0 .2 0 -.2 .19924 2.01737 -.2 -.35757 3.97224 -.16 -.2 4 +-.24 -.43636 3.95836 0 -.35757 3.97224 .16 -.2 4 .24 -.04243 4.02776 .16 .03636 +4.04164 0 -.04243 4.02776 -.16 -.8002 5.99997 -.0002 -.8 6 -.0003 -.8003 5.99995 +0 -.8002 5.99997 .0002 -.8 6 .0003 -.7998 6.00003 .0002 -.7997 6.00005 0 -.7998 +6.00003 -.0002 ] + } + texCoord +TextureCoordinate { point [ 0 0 .125 0 .125 .327 0 .327 .25 0 .25 .327 .375 +0 .375 .327 .5 0 .5 .327 .625 0 .625 .327 .75 0 .75 .327 .875 0 .875 .327 +1 0 1 .327 .125 .657 0 .656 .25 .656 .375 .657 .5 .656 .625 .656 .75 .656 +.875 .656 1 .656 .125 1 0 1 .25 1 .375 1 .5 1 .625 1 .75 1 .875 1 1 1 ] } + } + } + DEF dad_Group36 Transform { + translation -.8 6 0 + rotation 0 0 1 .349 + children [ + DEF dad_Group38 Transform { + rotation 1 0 0 .07 + children [ + DEF dad_Group39 Transform { + rotation 0 1 0 2.513 + children [ + DEF dad_Reference91 Transform { + translation 1 0 0 + children [ + DEF Leaf Shape { + appearance Appearance { + texture ImageTexture { + url [ + "plant.jpg" + ] + } + textureTransform TextureTransform { + scale .1 .1 + } + material USE White + } + geometry DEF Leaf_Geo IndexedFaceSet { + solid FALSE + creaseAngle 3.000 +coordIndex [ 21 22 23 -1 9 22 21 -1 10 23 22 -1 8 21 23 -1 24 21 25 -1 9 21 +24 -1 8 25 21 -1 1 24 25 -1 26 22 27 -1 10 22 26 -1 9 27 22 -1 2 26 27 -1 28 +23 29 -1 8 23 28 -1 10 29 23 -1 0 28 29 -1 30 31 32 -1 12 31 30 -1 13 32 31 +-1 11 30 32 -1 33 30 34 -1 12 30 33 -1 11 34 30 -1 3 33 34 -1 35 31 36 -1 13 +31 35 -1 12 36 31 -1 4 35 36 -1 37 32 38 -1 11 32 37 -1 13 38 32 -1 1 37 38 +-1 39 40 41 -1 14 40 39 -1 9 41 40 -1 13 39 41 -1 42 39 35 -1 14 39 42 -1 13 +35 39 -1 4 42 35 -1 27 40 43 -1 9 40 27 -1 14 43 40 -1 2 27 43 -1 38 41 24 +-1 13 41 38 -1 9 24 41 -1 1 38 24 -1 44 45 46 -1 16 45 44 -1 17 46 45 -1 15 +44 46 -1 47 44 48 -1 16 44 47 -1 15 48 44 -1 5 47 48 -1 49 45 50 -1 17 45 49 +-1 16 50 45 -1 6 49 50 -1 51 46 52 -1 15 46 51 -1 17 52 46 -1 3 51 52 -1 53 +54 55 -1 18 54 53 -1 12 55 54 -1 17 53 55 -1 56 53 49 -1 18 53 56 -1 17 49 53 +-1 6 56 49 -1 36 54 57 -1 12 54 36 -1 18 57 54 -1 4 36 57 -1 52 55 33 -1 17 +55 52 -1 12 33 55 -1 3 52 33 -1 58 59 60 -1 20 59 58 -1 16 60 59 -1 19 58 60 +-1 61 58 62 -1 20 58 61 -1 19 62 58 -1 7 61 62 -1 50 59 63 -1 16 59 50 -1 20 +63 59 -1 6 50 63 -1 64 60 47 -1 19 60 64 -1 16 47 60 -1 5 64 47 -1 ] texCoordIndex +[ 21 22 23 -1 9 22 21 -1 10 23 22 -1 8 21 23 -1 24 21 25 -1 9 21 24 -1 8 25 +21 -1 1 24 25 -1 26 22 27 -1 10 22 26 -1 9 27 22 -1 2 26 27 -1 28 23 29 -1 8 +23 28 -1 10 29 23 -1 0 28 29 -1 30 31 32 -1 12 31 30 -1 13 32 31 -1 11 30 32 +-1 33 30 34 -1 12 30 33 -1 11 34 30 -1 3 33 34 -1 35 31 36 -1 13 31 35 -1 12 +36 31 -1 4 35 36 -1 37 32 38 -1 11 32 37 -1 13 38 32 -1 1 37 38 -1 39 40 41 +-1 14 40 39 -1 9 41 40 -1 13 39 41 -1 42 39 35 -1 14 39 42 -1 13 35 39 -1 4 +42 35 -1 27 40 43 -1 9 40 27 -1 14 43 40 -1 2 27 43 -1 38 41 24 -1 13 41 38 +-1 9 24 41 -1 1 38 24 -1 44 45 46 -1 16 45 44 -1 17 46 45 -1 15 44 46 -1 47 +44 48 -1 16 44 47 -1 15 48 44 -1 5 47 48 -1 49 45 50 -1 17 45 49 -1 16 50 45 +-1 6 49 50 -1 51 46 52 -1 15 46 51 -1 17 52 46 -1 3 51 52 -1 53 54 55 -1 18 +54 53 -1 12 55 54 -1 17 53 55 -1 56 53 49 -1 18 53 56 -1 17 49 53 -1 6 56 49 +-1 36 54 57 -1 12 54 36 -1 18 57 54 -1 4 36 57 -1 52 55 33 -1 17 55 52 -1 12 +33 55 -1 3 52 33 -1 58 59 60 -1 20 59 58 -1 16 60 59 -1 19 58 60 -1 61 58 62 +-1 20 58 61 -1 19 62 58 -1 7 61 62 -1 50 59 63 -1 16 59 50 -1 20 63 59 -1 6 +50 63 -1 64 60 47 -1 19 60 64 -1 16 47 60 -1 5 64 47 -1 ] +coord Coordinate +{ +point [ 1.2 0 0 1 .14137 -.14148 1 .14145 .14139 0 .21205 -.21222 0 .21217 +.21209 -.8 .14137 -.14148 -.8 .14145 .14139 -1 0 0 1.175 .05743 -.06632 1.09583 +.13993 .00143 1.15833 .05599 .05008 .55 .18111 -.21663 -.0125 .22095 .01761 +.4875 .18561 .05298 .52083 .1886 .20031 -.375 .18406 -.22252 -.875 .13994 +.025 -.4625 .18117 -.02215 -.45 .19007 .19 -.95 .05596 -.05011 -.9625 .05746 +.03976 1.14219 .09555 -.0492 1.13281 .08729 .04638 1.18151 .04621 -.00038 +1.1 .1353 -.11219 1.11667 .097 -.10647 1.09583 .09854 .10034 1.06667 .14401 +.08578 1.19297 .01988 -.02597 1.19271 .01924 .00893 .28281 .20102 -.13818 +.23932 .20669 .03244 .59531 .17893 -.11607 .05313 .21925 -.14979 .30234 .19805 +-.23063 .23906 .20498 .15519 -.06979 .21841 .14063 .79922 .164 -.19839 .79583 +.15814 -.08642 .43646 .19356 .16992 .74062 .17073 .14415 .81146 .16701 .03015 +.23125 .20279 .22204 .7724 .16816 .18098 -.60938 .16402 -.13099 -.67734 .16369 +-.00097 -.35469 .18831 -.15751 -.85417 .14433 -.07297 -.5638 .1674 -.20695 +-.65313 .16684 .09277 -.87188 .13481 .09167 -.19063 .20274 -.23256 -.17188 +.19936 -.16967 -.50938 .18287 .13199 -.28438 .20277 .15187 -.25469 .2064 .00031 +-.64844 .16447 .17159 -.23359 .20582 .21403 -.97109 .04622 .00146 -.93125 +.08858 .04546 -.91563 .09445 -.0282 -.99297 .01979 .00543 -.98359 .01933 -.021 +-.9 .10056 .10328 -.89193 .09507 -.10307 ] + } + texCoord +TextureCoordinate { point [ 0 0 .119 0 .119 1 .542 0 .542 1 .881 0 .881 1 +1 1 .059 0 .119 .5 .059 .5 .33 0 .542 .5 .33 .5 .33 1 .711 0 .881 .5 .711 +.5 .711 1 .941 .5 .941 1 .089 .25 .089 .5 .059 .25 .119 .25 .089 0 .089 .75 +.119 .75 .03 0 .03 .25 .436 .25 .436 .5 .33 .25 .542 .25 .436 0 .436 .75 .542 +.75 .225 0 .225 .25 .33 .75 .225 .75 .225 .5 .436 1 .225 1 .796 .25 .796 .5 +.711 .25 .881 .25 .796 0 .796 .75 .881 .75 .627 0 .627 .25 .711 .75 .627 .75 +.627 .5 .796 1 .627 1 .941 .75 .911 .75 .911 .5 .97 1 .97 .75 .911 1 .911 +.25 ] } + } + } + ] + } + ] + } + ] + } + DEF dad_Group40 Transform { + rotation 1 0 0 .419 + children [ + DEF dad_Group41 Transform { + rotation 0 1 0 1.257 + children [ + DEF dad_Reference92 Transform { + translation 1 0 0 + children [ + USE Leaf + ] + } + ] + } + ] + } + DEF dad_Group42 Transform { + rotation 1 0 0 .785 + children [ + DEF dad_Group43 Transform { + rotation 0 -1 0 1.257 + children [ + DEF dad_Reference93 Transform { + translation 1 0 0 + children [ + USE Leaf + ] + } + ] + } + ] + } + DEF dad_Group44 Transform { + rotation 1 0 0 .908 + children [ + DEF dad_Group45 Transform { + rotation 0 -1 0 2.478 + children [ + DEF dad_Reference94 Transform { + translation 1.2 0 0 + rotation 0 1 0 3.142 + children [ + USE Leaf + ] + } + ] + } + ] + } + DEF dad_Group46 Transform { + rotation 1 0 0 .332 + children [ + DEF dad_Leaf Transform { + translation 1 0 0 + children [ + USE Leaf + ] + } + ] + } + ] + } + ] + } + ] + } + DEF dad_Reference29 Transform { + translation 76 0 -143 + rotation 0 -1 0 .192 + scale .89 .89 .89 + children [ + USE tree + ] + } + DEF dad_Reference30 Transform { + translation -107.5 0 -118.5 + rotation 0 -1 0 1.239 + scale 1.13 1.13 1.13 + children [ + USE tree + ] + } + DEF dad_Reference12 Transform { + translation 96 0 -61.5 + rotation 0 1 0 .75 + scale 1.61 1.61 1.61 + children [ + USE tree + ] + } + DEF dad_Reference26 Transform { + translation 5 0 -61.5 + rotation 0 1 0 3.089 + scale 1.21 1.21 1.21 + children [ + USE tree + ] + } + DEF dad_Reference10 Transform { + translation -133 0 -28.5 + rotation 0 1 0 2.426 + scale 1.44 1.44 1.44 + children [ + USE tree + ] + } + DEF dad_Reference9 Transform { + translation 167 0 63 + rotation 0 0 1 .052 + scale 1.24 1.24 1.24 + children [ + USE tree + ] + } + DEF dad_Reference8 Transform { + translation 170.5 0 15 + rotation 0 1 0 1.326 + scale .92 .92 .92 + children [ + USE tree + ] + } + DEF dad_Reference7 Transform { + translation -144 0 84.5 + rotation 0 1 0 .297 + scale 1.5 1.5 1.5 + children [ + USE tree + ] + } + DEF dad_Reference22 Transform { + translation -99.5 0 44 + rotation -0 -1 0 .82 + scale .91 .91 .91 + children [ + USE tree + ] + } + DEF dad_Reference23 Transform { + translation 103.5 0 87.5 + rotation 0 -1 0 2.67 + scale 1.33 1.33 1.33 + children [ + USE tree + ] + } + DEF dad_Reference31 Transform { + translation -42.5 0 88.5 + rotation 0 -1 0 2.67 + scale .97 .97 .97 + children [ + USE tree + ] + } + DEF dad_Reference32 Transform { + translation 39 0 90 + rotation 0 1 0 1.239 + scale 1.05 1.05 1.05 + children [ + USE tree + ] + } + DEF dad_Reference33 Transform { + translation -7 0 71 + rotation 0 1 0 .576 + scale 1.3 1.3 1.3 + children [ + USE tree + ] + } + ] + } + DEF dad_Pine_Tree_Master Transform { + translation 0 .2 0 + children [ + DEF dad_Tree2 Transform { + translation 24 0 -33 + children [ + DEF Tree2 Group { + children [ + DEF dad_Cylinder1 Transform { + translation 0 .5 0 + children [ + DEF Cylinder1 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "trunk.jpg" + ] + } + material DEF Black Material { + ambientIntensity 0.100 + shininess 0.000 + diffuseColor .31 .18 0 + specularColor .31 .18 0 + } + } + geometry DEF GeoCylinder1 Cylinder { + height 1.000 + radius 0.500 + } + } + ] + } + DEF dad_SweptSurface1 Transform { + translation 0 2.5 0 + scale 3 3 3 + children [ + DEF SweptSurface2 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "plant.jpg" + ] + } + material DEF Shiny_Yellow Material { + ambientIntensity 0.100 + shininess 0.000 + diffuseColor 0 .243 0 + specularColor 0 .243 0 + } + } + geometry DEF GeoSweptSurface2 Extrusion { + creaseAngle 0.524 + convex FALSE + crossSection [ + -1.2 1 + -.75 1.25 + -.5 1.5 + 0 1.5 + .75 1.25 + 1 1 + 1.5 .5 + 1.6 .1 + 1.6 -.3 + 1.5 -.6 + 1.5 -1 + 1 -1.25 + .6 -1.6 + -.25 -1.5 + -.75 -1.25 + -1.25 -.75 + -1.6 -.3 + -1.5 .5 + -1.2 1 + ] + spine [ + 0 -.5 0 + 0 -.33333 0 + 0 .33333 0 + 0 .83333 0 + 0 1.5 0 + 0 2 0 + ] + orientation [ + 0 0 1 0 + 0 1 0 1.571 + 0 0 1 0 + 0 1 0 1.571 + 0 0 1 0 + 0 -1 0 1.571 + ] + scale [ + .4 .4 + 1 1 + .8 .8 + .5 .5 + .2 .2 + .05 .05 + ] + } + } + ] + } + ] + } + ] + } + DEF dad_Reference24 Transform { + translation -143.5 0 -97 + scale 1.8 1.8 1.8 + children [ + USE Tree2 + ] + } + DEF dad_Reference25 Transform { + translation 122.5 0 -129.5 + scale 1.3 1.3 1.3 + children [ + USE Tree2 + ] + } + DEF dad_Reference34 Transform { + translation 180 0 -92.5 + scale 1.4 1.4 1.4 + children [ + USE Tree2 + ] + } + DEF dad_Reference35 Transform { + translation -40.5 0 -136 + scale 2.1 2.1 2.1 + children [ + USE Tree2 + ] + } + DEF dad_Reference36 Transform { + translation -151.5 0 -164.5 + scale .98 .98 .98 + children [ + USE Tree2 + ] + } + DEF dad_Reference37 Transform { + translation 41 0 -171 + scale 1.6 1.6 1.6 + children [ + USE Tree2 + ] + } + ] + } + DEF dad_Garage Transform { + translation 0 -3 0 + children [ + DEF Garage_Wall Shape { + appearance Appearance { + texture ImageTexture { + url [ + "white.jpg" + ] + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion911 Extrusion { + solid FALSE + beginCap FALSE + endCap FALSE + creaseAngle 0.524 + crossSection [ + -50 25 + -50 34 + 50 34 + 50 -0 + -50 -0 + ] + spine [ + 0 0 0 + 0 2.8 0 + ] + orientation [ + 0 0 1 0 + 0 0 1 0 + ] + scale [ + 1 1 + 1 1 + ] + } + } + ] + } + DEF dad_Garage_Ceil Transform { + translation 0 -.2 0 + children [ + DEF Garage_Ceil Shape { + appearance Appearance { + texture ImageTexture { + url [ + "floor.jpg" + ] + } + textureTransform TextureTransform { + scale 20 7 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion922 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 4 3 2 -1 4 2 1 -1 4 1 0 -1 ] texCoordIndex +[ 4 3 2 -1 4 2 1 -1 4 1 0 -1 ] coord Coordinate { +point [ -50 0 25 -50 0 34 50 0 34 50 0 0 -50 0 0 ] + } + texCoord +TextureCoordinate { point [ 0 .265 0 0 1 0 1 1 0 1 ] } + } + } + ] + } + DEF dad_Garage_Floor Transform { + translation 0 -3 0 + children [ + DEF Garage_Floor Shape { + appearance Appearance { + texture ImageTexture { + url [ + "tile.jpg" + ] + } + textureTransform TextureTransform { + scale 20 7 + } + material USE Shiny_Black + } + geometry DEF GeoExtrusion923 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 4 3 2 -1 4 2 1 -1 4 1 0 -1 ] texCoordIndex +[ 4 3 2 -1 4 2 1 -1 4 1 0 -1 ] coord Coordinate { +point [ -50 0 25 -50 0 34 50 0 34 50 0 0 -50 0 0 ] + } + texCoord +TextureCoordinate { point [ 0 .265 0 0 1 0 1 1 0 1 ] } + } + } + ] + } + ] + } + ] +} +DEF dad_Day Transform { + translation 125 10 125 + rotation 1 0 0 3.142 + children [ + DEF Day PointLight { + ambientIntensity 0.900 + intensity 0.400 + radius 600.000 + attenuation 1 0 0 + on FALSE + } + ] +} +DEF dad_Night Transform { + translation -200 200 -250 + rotation 1 0 0 3.142 + children [ + DEF Night PointLight { + ambientIntensity 0.100 + intensity 0.100 + radius 500.000 + attenuation 0 0 0 + } + ] +} +DEF dad_Day_2 Transform { + translation 125 10 -125 + rotation 1 0 0 3.142 + children [ + DEF Day_2 PointLight { + ambientIntensity 0.900 + intensity 0.400 + radius 600.000 + attenuation 1 0 0 + on FALSE + } + ] +} +DEF dad_Day_3 Transform { + translation -125 10 125 + rotation 1 0 0 3.142 + children [ + DEF Day_3 PointLight { + ambientIntensity 0.900 + intensity 0.400 + radius 600.000 + attenuation 1 0 0 + on FALSE + } + ] +} +DEF Entrance0 Group { + children [ + DEF Sensor19 ProximitySensor { + size 1.25 3 1.25 + center 0 1.2 55 + } + DEF dad_Power_up Transform { + translation 0 0 54 + children [ + DEF Power_up Sound { + minBack 500.000 + minFront 500.000 + maxBack 500.000 + maxFront 500.000 + source DEF AClip_Power_up AudioClip { + url [ + "power-up.mp3" + ] +startTime -1 + } + } + ] + } + DEF dad_Welcome Transform { + translation 0 0 54 + children [ + DEF Welcome Sound { + minBack 500.000 + minFront 500.000 + maxBack 500.000 + maxFront 500.000 + source DEF AClip_Welcome AudioClip { + url [ + "welcome.mp3" + ] +startTime -1 + } + } + ] + } + DEF Night0 Background { + frontUrl [ + "night.jpg" + ] + backUrl [ + "night.jpg" + ] + rightUrl [ + "night.jpg" + ] + leftUrl [ + "night.jpg" + ] + topUrl [ + "night.jpg" + ] + bottomUrl [ + "night.jpg" + ] + groundColor [ + 0 .21569 0 + ] + } + DEF dad_Day0 Transform { + children [ + DEF Day0 Background { + frontUrl [ + "clouds_1.jpg" + ] + backUrl [ + "clouds_1.jpg" + ] + rightUrl [ + "clouds_3.jpg" + ] + leftUrl [ + "clouds_4.jpg" + ] + topUrl [ + "clouds_2.jpg" + ] + bottomUrl [ + "clouds_2.jpg" + ] + skyColor [ + .22745 .36078 .53725 + ] + groundColor [ + .22745 .36078 .53725 + ] + } + ] + } + ] +} +DEF dad_Spa_Master Transform { + translation 250 0 -250 + children [ + DEF Spa_Master Group { + children [ + DEF dad_Hot_Springs Transform { + rotation 0 1 0 3.142 + children [ + DEF Hot_Springs Shape { + appearance Appearance { + texture ImageTexture { + url [ + "cliff.jpg" + ] + } + material USE White + } + geometry DEF GeoRevolution1 IndexedFaceSet { + creaseAngle 0.524 +coordIndex [ 0 5 6 -1 0 6 1 -1 1 6 7 -1 1 7 2 -1 2 7 8 -1 2 8 3 -1 3 8 9 -1 +3 9 4 -1 5 10 11 -1 5 11 6 -1 6 11 12 -1 6 12 7 -1 7 12 13 -1 7 13 8 -1 8 13 +14 -1 8 14 9 -1 10 15 16 -1 10 16 11 -1 11 16 17 -1 11 17 12 -1 12 17 18 -1 +12 18 13 -1 13 18 19 -1 13 19 14 -1 15 20 21 -1 15 21 16 -1 16 21 22 -1 16 22 +17 -1 17 22 23 -1 17 23 18 -1 18 23 24 -1 18 24 19 -1 20 24 23 -1 20 23 22 +-1 20 22 21 -1 0 1 2 -1 0 2 3 -1 0 3 4 -1 ] texCoordIndex +[ 0 5 6 -1 0 6 1 -1 1 6 7 -1 1 7 2 -1 2 7 8 -1 2 8 3 -1 3 8 9 -1 3 9 4 -1 5 +10 11 -1 5 11 6 -1 6 11 12 -1 6 12 7 -1 7 12 13 -1 7 13 8 -1 8 13 14 -1 8 14 +9 -1 10 15 16 -1 10 16 11 -1 11 16 17 -1 11 17 12 -1 12 17 18 -1 12 18 13 +-1 13 18 19 -1 13 19 14 -1 15 20 21 -1 15 21 16 -1 16 21 22 -1 16 22 17 -1 17 +22 23 -1 17 23 18 -1 18 23 24 -1 18 24 19 -1 20 28 27 -1 20 27 26 -1 20 26 25 +-1 20 25 26 -1 20 26 27 -1 20 27 28 -1 ] coord Coordinate { +point [ 80 -1 -0 70 4 -0 68 4 -0 62 2 -0 30 2 -0 73.91036 -1 -30.61467 64.67157 +4 -26.78784 62.82381 4 -26.02247 57.28053 2 -23.72637 27.71639 2 -11.4805 +56.56854 -1 -56.56854 49.49747 4 -49.49747 48.08326 4 -48.08326 43.84062 2 +-43.84062 21.2132 2 -21.2132 30.61467 -1 -73.91036 26.78784 4 -64.67157 26.02247 +4 -62.82381 23.72637 2 -57.28053 11.4805 2 -27.71639 -0 -1 -80 -0 4 -70 -0 +4 -68 -0 2 -62 -0 2 -30 ] + } + texCoord +TextureCoordinate { point [ 0 0 0 .217 0 .256 0 .379 0 1 .25 0 .25 .217 .25 +.256 .25 .379 .25 1 .5 0 .5 .217 .5 .256 .5 .379 .5 1 .75 0 .75 .217 .75 .256 +.75 .379 .75 1 1 0 1 .217 1 .256 1 .379 1 1 .8 1 .76 1 .64 .6 0 .6 ] } + } + } + ] + } + DEF dad_Hot_Springs_Water Transform { + translation -250 0 250 + children [ + DEF Hot_Springs_Water Collision { + collide FALSE + children [ + DEF dad_Revolution1 Transform { + translation 250 0 -250 + rotation 0 1 0 3.142 + children [ + DEF Revolution1 Shape { + appearance Appearance { + texture ImageTexture { + url [ + "water.jpg" + ] + } + material USE Shiny_Cyan + } + geometry DEF GeoRevolution2 IndexedFaceSet { + solid FALSE + creaseAngle 0.524 +coordIndex [ 0 2 3 -1 0 3 1 -1 2 4 5 -1 2 5 3 -1 4 6 7 -1 4 7 5 -1 6 8 9 -1 +6 9 7 -1 ] texCoordIndex +[ 0 2 3 -1 0 3 1 -1 2 4 5 -1 2 5 3 -1 4 6 7 -1 4 7 5 -1 6 8 9 -1 6 9 7 -1 +] coord Coordinate { +point [ 68 3 -0 30 3 -0 62.82381 3 -26.02247 27.71639 3 -11.4805 48.08326 +3 -48.08326 21.2132 3 -21.2132 26.02247 3 -62.82381 11.4805 3 -27.71639 -0 +3 -68 -0 3 -30 ] + } + texCoord +TextureCoordinate { point [ 0 0 0 1 .25 0 .25 1 .5 0 .5 1 .75 0 .75 1 1 0 +1 1 ] } + } + } + ] + } + ] + } + ] + } + DEF Spa Sound { + minBack 75.000 + minFront 75.000 + maxBack 100.000 + maxFront 100.000 + source DEF AClip_Spa AudioClip { + url [ + "spa.mp3" + ] + loop TRUE + startTime -1 + } + } + DEF Sensor20 ProximitySensor { + size 100 100 100 + center -50 0 50 + } + ] + } + ] +} +DEF Walk NavigationInfo { + speed 5 + headlight FALSE + type ["WALK" + "ANY"] +} +DEF None NavigationInfo { + speed 0 + headlight FALSE + type "NONE" +} +DEF Wizard_rot0 OrientationInterpolator { + key [ + 0 .25 .5 .75 1 + ] + keyValue [ + 1 0 0 0 + 1 0 0 1.571 + 1 0 0 3.142 + 1 0 0 4.712 + 1 0 0 6.283 + ] +} +DEF Off2_scl0 PositionInterpolator { + key [ + 0 1 + ] + keyValue [ + .9 .9 .9 + 1.05 1.05 1.05 + ] +} +DEF On2_scl0 PositionInterpolator { + key [ + 0 1 + ] + keyValue [ + 1.05 1.05 1.05 + .9 .9 .9 + ] +} +DEF TimeSensor11_scl0 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor11_scl1 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor10_scl0 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor10_scl1 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor9_scl0 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor9_scl1 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor8_scl0 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor8_scl1 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor7_scl0 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor7_scl1 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor6_scl0 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor6_scl1 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor5_scl0 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor5_scl1 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor4_scl0 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor4_scl1 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor3_scl0 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor3_scl1 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor2_scl0 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor2_scl1 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor1_scl0 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor1_scl1 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor14_scl0 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor14_scl1 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor13_scl0 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor13_scl1 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor12_scl0 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor12_scl1 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor15_scl0 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF TimeSensor15_scl1 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + .0001 1 1 + .0001 1 1 + 1 1 1 + ] +} +DEF Wizard1_scl0 PositionInterpolator { + key [ + 0 .25 .75 1 + ] + keyValue [ + 1 1 1 + 1 .001 1 + .5 .001 1 + 1 1 1 + ] +} +DEF Up0_pos0 PositionInterpolator { + key [ + 0 1 + ] + keyValue [ + 17 1.6 44 + 17 4.8 44 + ] +} +DEF Down0_pos0 PositionInterpolator { + key [ + 0 1 + ] + keyValue [ + -17 4.8 44 + -17 1.6 44 + ] +} +DEF Up_pos0 PositionInterpolator { + key [ + 0 1 + ] + keyValue [ + 17 1.6 40 + 17 4.8 40 + ] +} +DEF Down_pos0 PositionInterpolator { + key [ + 0 1 + ] + keyValue [ + -17 4.8 40 + -17 1.6 40 + ] +} +DEF Wizard0_rot0 OrientationInterpolator { + key [ + 0 .75 1 + ] + keyValue [ + 1 0 0 0 + 1 0 0 .021 + 1 0 0 0 + ] +} +DEF Xvert0 BooleanTrigger { +} +DEF Xvert1 BooleanFilter { +} +DEF Xvert2 BooleanTrigger { +} +DEF Xvert3 BooleanTrigger { +} +DEF Xvert4 BooleanFilter { +} +DEF Xvert5 BooleanTrigger { +} +DEF Xvert6 BooleanFilter { +} +DEF Xvert7 BooleanTrigger { +} +DEF Xvert8 BooleanTrigger { +} +DEF Xvert9 BooleanTrigger { +} +DEF Xvert10 BooleanTrigger { +} +DEF Xvert11 BooleanTrigger { +} +DEF Xvert12 BooleanTrigger { +} +DEF Xvert13 BooleanTrigger { +} +DEF Xvert14 BooleanTrigger { +} +DEF Xvert15 BooleanFilter { +} +DEF Xvert16 BooleanFilter { +} +DEF Xvert17 BooleanFilter { +} +DEF Xvert18 BooleanFilter { +} +DEF Xvert19 BooleanFilter { +} +DEF Xvert20 TimeTrigger { +} +DEF Xvert21 BooleanFilter { +} +DEF Xvert22 BooleanFilter { +} +DEF Xvert23 TimeTrigger { +} +DEF Xvert24 BooleanFilter { +} +DEF Xvert25 BooleanTrigger { +} +DEF Xvert26 BooleanTrigger { +} +DEF Xvert27 BooleanTrigger { +} +DEF Xvert28 BooleanTrigger { +} +DEF Xvert29 BooleanFilter { +} +DEF Xvert30 BooleanFilter { +} +DEF Xvert31 BooleanFilter { +} +DEF Xvert32 BooleanFilter { +} +DEF Xvert33 BooleanFilter { +} +DEF Xvert34 BooleanFilter { +} +DEF Xvert35 TimeTrigger { +} +DEF Xvert36 BooleanFilter { +} +DEF Xvert37 TimeTrigger { +} +DEF Xvert38 BooleanFilter { +} +DEF Xvert39 BooleanTrigger { +} +DEF Xvert40 BooleanTrigger { +} +DEF Xvert41 BooleanTrigger { +} +DEF Xvert42 BooleanTrigger { +} +DEF Xvert43 BooleanFilter { +} +DEF Xvert44 BooleanTrigger { +} +DEF vizx_init TimeSensor { + cycleInterval 0.100 + loop TRUE +} +ROUTE vizx_init.cycleTime TO Wizard.startTime +ROUTE vizx_init.cycleTime TO Wizard0.startTime +ROUTE vizx_init.cycleTime TO vizx_init.stopTime +ROUTE Wizard.fraction_changed TO Wizard_rot0.set_fraction +ROUTE Wizard_rot0.value_changed TO dad_Day0.set_rotation +ROUTE Off1.touchTime TO Off2.startTime +ROUTE Off1.touchTime TO AClip_Crickets.startTime +ROUTE Off1.touchTime TO Xvert0.set_triggerTime +ROUTE Xvert0.triggerTrue TO Xvert1.set_boolean +ROUTE Xvert1.inputNegate TO Day.on +ROUTE Off1.touchTime TO Xvert2.set_triggerTime +ROUTE Xvert2.triggerTrue TO Night0.set_bind +ROUTE Off1.touchTime TO Xvert3.set_triggerTime +ROUTE Xvert3.triggerTrue TO Xvert4.set_boolean +ROUTE Xvert4.inputNegate TO Day_2.on +ROUTE Off1.touchTime TO Xvert5.set_triggerTime +ROUTE Xvert5.triggerTrue TO Xvert6.set_boolean +ROUTE Xvert6.inputNegate TO Day_3.on +ROUTE Off2.fraction_changed TO Off2_scl0.set_fraction +ROUTE Off2_scl0.value_changed TO dad_On0.set_scale +ROUTE On1.touchTime TO On2.startTime +ROUTE On1.touchTime TO Xvert7.set_triggerTime +ROUTE Xvert7.triggerTrue TO Day.on +ROUTE On1.touchTime TO AClip_Crickets.stopTime +ROUTE On1.touchTime TO Xvert8.set_triggerTime +ROUTE Xvert8.triggerTrue TO Day0.set_bind +ROUTE On1.touchTime TO Xvert9.set_triggerTime +ROUTE Xvert9.triggerTrue TO Day_2.on +ROUTE On1.touchTime TO Xvert10.set_triggerTime +ROUTE Xvert10.triggerTrue TO Day_3.on +ROUTE On2.fraction_changed TO On2_scl0.set_fraction +ROUTE On2_scl0.value_changed TO dad_On0.set_scale +ROUTE Sensor11.enterTime TO TimeSensor11.startTime +ROUTE Sensor11.enterTime TO AClip_Door14.startTime +ROUTE TimeSensor11.fraction_changed TO TimeSensor11_scl0.set_fraction +ROUTE TimeSensor11_scl0.value_changed TO dad_Group21.set_scale +ROUTE TimeSensor11.fraction_changed TO TimeSensor11_scl1.set_fraction +ROUTE TimeSensor11_scl1.value_changed TO dad_Group22.set_scale +ROUTE Sensor10.enterTime TO TimeSensor10.startTime +ROUTE Sensor10.enterTime TO AClip_Door14.startTime +ROUTE TimeSensor10.fraction_changed TO TimeSensor10_scl0.set_fraction +ROUTE TimeSensor10_scl0.value_changed TO dad_Group19.set_scale +ROUTE TimeSensor10.fraction_changed TO TimeSensor10_scl1.set_fraction +ROUTE TimeSensor10_scl1.value_changed TO dad_Group20.set_scale +ROUTE Sensor9.enterTime TO TimeSensor9.startTime +ROUTE Sensor9.enterTime TO AClip_Door14.startTime +ROUTE TimeSensor9.fraction_changed TO TimeSensor9_scl0.set_fraction +ROUTE TimeSensor9_scl0.value_changed TO dad_Group17.set_scale +ROUTE TimeSensor9.fraction_changed TO TimeSensor9_scl1.set_fraction +ROUTE TimeSensor9_scl1.value_changed TO dad_Group18.set_scale +ROUTE Sensor8.enterTime TO TimeSensor8.startTime +ROUTE Sensor8.enterTime TO AClip_Door14.startTime +ROUTE TimeSensor8.fraction_changed TO TimeSensor8_scl0.set_fraction +ROUTE TimeSensor8_scl0.value_changed TO dad_Group15.set_scale +ROUTE TimeSensor8.fraction_changed TO TimeSensor8_scl1.set_fraction +ROUTE TimeSensor8_scl1.value_changed TO dad_Group16.set_scale +ROUTE Sensor7.enterTime TO TimeSensor7.startTime +ROUTE Sensor7.enterTime TO AClip_Door14.startTime +ROUTE TimeSensor7.fraction_changed TO TimeSensor7_scl0.set_fraction +ROUTE TimeSensor7_scl0.value_changed TO dad_Group13.set_scale +ROUTE TimeSensor7.fraction_changed TO TimeSensor7_scl1.set_fraction +ROUTE TimeSensor7_scl1.value_changed TO dad_Group14.set_scale +ROUTE Sensor6.enterTime TO TimeSensor6.startTime +ROUTE Sensor6.enterTime TO AClip_Door14.startTime +ROUTE TimeSensor6.fraction_changed TO TimeSensor6_scl0.set_fraction +ROUTE TimeSensor6_scl0.value_changed TO dad_Group11.set_scale +ROUTE TimeSensor6.fraction_changed TO TimeSensor6_scl1.set_fraction +ROUTE TimeSensor6_scl1.value_changed TO dad_Group12.set_scale +ROUTE Sensor5.enterTime TO TimeSensor5.startTime +ROUTE Sensor5.enterTime TO AClip_Door14.startTime +ROUTE TimeSensor5.fraction_changed TO TimeSensor5_scl0.set_fraction +ROUTE TimeSensor5_scl0.value_changed TO dad_Group9.set_scale +ROUTE TimeSensor5.fraction_changed TO TimeSensor5_scl1.set_fraction +ROUTE TimeSensor5_scl1.value_changed TO dad_Group10.set_scale +ROUTE Sensor4.enterTime TO TimeSensor4.startTime +ROUTE Sensor4.enterTime TO AClip_Door14.startTime +ROUTE TimeSensor4.fraction_changed TO TimeSensor4_scl0.set_fraction +ROUTE TimeSensor4_scl0.value_changed TO dad_Group7.set_scale +ROUTE TimeSensor4.fraction_changed TO TimeSensor4_scl1.set_fraction +ROUTE TimeSensor4_scl1.value_changed TO dad_Group8.set_scale +ROUTE Sensor3.enterTime TO TimeSensor3.startTime +ROUTE Sensor3.enterTime TO AClip_Door14.startTime +ROUTE TimeSensor3.fraction_changed TO TimeSensor3_scl0.set_fraction +ROUTE TimeSensor3_scl0.value_changed TO dad_Group5.set_scale +ROUTE TimeSensor3.fraction_changed TO TimeSensor3_scl1.set_fraction +ROUTE TimeSensor3_scl1.value_changed TO dad_Group6.set_scale +ROUTE Sensor2.enterTime TO TimeSensor2.startTime +ROUTE Sensor2.enterTime TO AClip_Door14.startTime +ROUTE TimeSensor2.fraction_changed TO TimeSensor2_scl0.set_fraction +ROUTE TimeSensor2_scl0.value_changed TO dad_Group2.set_scale +ROUTE TimeSensor2.fraction_changed TO TimeSensor2_scl1.set_fraction +ROUTE TimeSensor2_scl1.value_changed TO dad_Group4.set_scale +ROUTE Sensor1.enterTime TO TimeSensor1.startTime +ROUTE Sensor1.enterTime TO AClip_Door14.startTime +ROUTE TimeSensor1.fraction_changed TO TimeSensor1_scl0.set_fraction +ROUTE TimeSensor1_scl0.value_changed TO dad_Group1.set_scale +ROUTE TimeSensor1.fraction_changed TO TimeSensor1_scl1.set_fraction +ROUTE TimeSensor1_scl1.value_changed TO dad_Group3.set_scale +ROUTE Sensor14.enterTime TO TimeSensor14.startTime +ROUTE Sensor14.enterTime TO AClip_Door14.startTime +ROUTE TimeSensor14.fraction_changed TO TimeSensor14_scl0.set_fraction +ROUTE TimeSensor14_scl0.value_changed TO dad_Group27.set_scale +ROUTE TimeSensor14.fraction_changed TO TimeSensor14_scl1.set_fraction +ROUTE TimeSensor14_scl1.value_changed TO dad_Group28.set_scale +ROUTE Sensor13.enterTime TO TimeSensor13.startTime +ROUTE Sensor13.enterTime TO AClip_Door14.startTime +ROUTE TimeSensor13.fraction_changed TO TimeSensor13_scl0.set_fraction +ROUTE TimeSensor13_scl0.value_changed TO dad_Group25.set_scale +ROUTE TimeSensor13.fraction_changed TO TimeSensor13_scl1.set_fraction +ROUTE TimeSensor13_scl1.value_changed TO dad_Group26.set_scale +ROUTE Sensor12.enterTime TO TimeSensor12.startTime +ROUTE Sensor12.enterTime TO AClip_Door14.startTime +ROUTE TimeSensor12.fraction_changed TO TimeSensor12_scl0.set_fraction +ROUTE TimeSensor12_scl0.value_changed TO dad_Group23.set_scale +ROUTE TimeSensor12.fraction_changed TO TimeSensor12_scl1.set_fraction +ROUTE TimeSensor12_scl1.value_changed TO dad_Group24.set_scale +ROUTE Sensor15.enterTime TO TimeSensor15.startTime +ROUTE Sensor15.enterTime TO AClip_Door14.startTime +ROUTE TimeSensor15.fraction_changed TO TimeSensor15_scl0.set_fraction +ROUTE TimeSensor15_scl0.value_changed TO dad_Group29.set_scale +ROUTE TimeSensor15.fraction_changed TO TimeSensor15_scl1.set_fraction +ROUTE TimeSensor15_scl1.value_changed TO dad_Group30.set_scale +ROUTE Wizard1.fraction_changed TO Wizard1_scl0.set_fraction +ROUTE Wizard1_scl0.value_changed TO dad_Garage_Door_Group.set_scale +ROUTE Sensor18.enterTime TO Wizard1.startTime +ROUTE Sensor18.enterTime TO AClip_Door14.startTime +ROUTE down0_button_ts.touchTime TO AClip_Beam.startTime +ROUTE down0_button_ts.touchTime TO Xvert11.set_triggerTime +ROUTE Xvert11.triggerTrue TO Entrance.set_bind +ROUTE down0_button_ts.touchTime TO Down01.startTime +ROUTE down0_button_ts.touchTime TO Xvert12.set_triggerTime +ROUTE Xvert12.triggerTrue TO None.set_bind +ROUTE Down_Button_TS.touchTime TO AClip_Beam.startTime +ROUTE Down_Button_TS.touchTime TO Down-.startTime +ROUTE Down_Button_TS.touchTime TO Xvert13.set_triggerTime +ROUTE Xvert13.triggerTrue TO Entrance.set_bind +ROUTE Down_Button_TS.touchTime TO Xvert14.set_triggerTime +ROUTE Xvert14.triggerTrue TO None.set_bind +ROUTE Up0.fraction_changed TO Up0_pos0.set_fraction +ROUTE Up0_pos0.value_changed TO B1rst_Floor.set_position +ROUTE Up0.isActive TO Xvert15.set_boolean +ROUTE Xvert15.inputFalse TO Xvert16.set_boolean +ROUTE Xvert16.inputNegate TO Walk.set_bind +ROUTE Down0.fraction_changed TO Down0_pos0.set_fraction +ROUTE Down0_pos0.value_changed TO B1_Bacement.set_position +ROUTE Down0.isActive TO Xvert17.set_boolean +ROUTE Xvert17.inputFalse TO Xvert18.set_boolean +ROUTE Xvert18.inputNegate TO Walk.set_bind +ROUTE Up01.isActive TO Xvert19.set_boolean +ROUTE Xvert19.inputFalse TO Xvert20.set_boolean +ROUTE Xvert20.triggerTime TO Up0.startTime +ROUTE Up01.isActive TO Xvert21.set_boolean +ROUTE Xvert21.inputTrue TO B1rst_Floor.set_bind +ROUTE Down01.isActive TO Xvert22.set_boolean +ROUTE Xvert22.inputFalse TO Xvert23.set_boolean +ROUTE Xvert23.triggerTime TO Down0.startTime +ROUTE Down01.isActive TO Xvert24.set_boolean +ROUTE Xvert24.inputTrue TO B1_Bacement.set_bind +ROUTE up0_button_ts.touchTime TO AClip_Beam.startTime +ROUTE up0_button_ts.touchTime TO Xvert25.set_triggerTime +ROUTE Xvert25.triggerTrue TO Entrance.set_bind +ROUTE up0_button_ts.touchTime TO Up01.startTime +ROUTE up0_button_ts.touchTime TO Xvert26.set_triggerTime +ROUTE Xvert26.triggerTrue TO None.set_bind +ROUTE up_button_ts.touchTime TO AClip_Beam.startTime +ROUTE up_button_ts.touchTime TO Xvert27.set_triggerTime +ROUTE Xvert27.triggerTrue TO Entrance.set_bind +ROUTE up_button_ts.touchTime TO Up-.startTime +ROUTE up_button_ts.touchTime TO Xvert28.set_triggerTime +ROUTE Xvert28.triggerTrue TO None.set_bind +ROUTE Up.fraction_changed TO Up_pos0.set_fraction +ROUTE Up_pos0.value_changed TO A2nd_Floor.set_position +ROUTE Up.isActive TO Xvert29.set_boolean +ROUTE Xvert29.inputFalse TO Xvert30.set_boolean +ROUTE Xvert30.inputNegate TO Walk.set_bind +ROUTE Down.fraction_changed TO Down_pos0.set_fraction +ROUTE Down_pos0.value_changed TO A1rst_Floor.set_position +ROUTE Down.isActive TO Xvert31.set_boolean +ROUTE Xvert31.inputFalse TO Xvert32.set_boolean +ROUTE Xvert32.inputNegate TO Walk.set_bind +ROUTE Up-.isActive TO Xvert33.set_boolean +ROUTE Xvert33.inputTrue TO A2nd_Floor.set_bind +ROUTE Up-.isActive TO Xvert34.set_boolean +ROUTE Xvert34.inputFalse TO Xvert35.set_boolean +ROUTE Xvert35.triggerTime TO Up.startTime +ROUTE Down-.isActive TO Xvert36.set_boolean +ROUTE Xvert36.inputFalse TO Xvert37.set_boolean +ROUTE Xvert37.triggerTime TO Down.startTime +ROUTE Down-.isActive TO Xvert38.set_boolean +ROUTE Xvert38.inputTrue TO A1rst_Floor.set_bind +ROUTE Wizard0.fraction_changed TO Wizard0_rot0.set_fraction +ROUTE Wizard0_rot0.value_changed TO dad_Ocean_Water0.set_rotation +ROUTE Sensor16.enterTime TO AClip_Splash.startTime +ROUTE Sensor17.enterTime TO AClip_Waves.startTime +ROUTE Sensor17.exitTime TO AClip_Waves.stopTime +ROUTE Sensor19.exitTime TO Xvert39.set_triggerTime +ROUTE Xvert39.triggerTrue TO Day.on +ROUTE Sensor19.exitTime TO Xvert40.set_triggerTime +ROUTE Xvert40.triggerTrue TO Day_2.on +ROUTE Sensor19.exitTime TO Xvert41.set_triggerTime +ROUTE Xvert41.triggerTrue TO Day_3.on +ROUTE Sensor19.exitTime TO Xvert42.set_triggerTime +ROUTE Xvert42.triggerTrue TO Xvert43.set_boolean +ROUTE Xvert43.inputNegate TO Sensor19.enabled +ROUTE Sensor19.exitTime TO Xvert44.set_triggerTime +ROUTE Xvert44.triggerTrue TO Day0.set_bind +ROUTE Sensor19.exitTime TO AClip_Welcome.startTime +ROUTE Sensor20.enterTime TO AClip_Spa.startTime +ROUTE Sensor20.exitTime TO AClip_Spa.stopTime diff --git a/spa/assets/worlds/championhome/night.jpg b/spa/assets/worlds/championhome/night.jpg new file mode 100644 index 00000000..49207681 Binary files /dev/null and b/spa/assets/worlds/championhome/night.jpg differ diff --git a/spa/assets/worlds/championhome/plant.jpg b/spa/assets/worlds/championhome/plant.jpg new file mode 100644 index 00000000..38cc8b10 Binary files /dev/null and b/spa/assets/worlds/championhome/plant.jpg differ diff --git a/spa/assets/worlds/championhome/power-up.mp3 b/spa/assets/worlds/championhome/power-up.mp3 new file mode 100644 index 00000000..7a622e93 Binary files /dev/null and b/spa/assets/worlds/championhome/power-up.mp3 differ diff --git a/spa/assets/worlds/championhome/road.jpg b/spa/assets/worlds/championhome/road.jpg new file mode 100644 index 00000000..9670b6cd Binary files /dev/null and b/spa/assets/worlds/championhome/road.jpg differ diff --git a/spa/assets/worlds/championhome/sand.jpg b/spa/assets/worlds/championhome/sand.jpg new file mode 100644 index 00000000..fcd4d729 Binary files /dev/null and b/spa/assets/worlds/championhome/sand.jpg differ diff --git a/spa/assets/worlds/championhome/spa.mp3 b/spa/assets/worlds/championhome/spa.mp3 new file mode 100644 index 00000000..5479268a Binary files /dev/null and b/spa/assets/worlds/championhome/spa.mp3 differ diff --git a/spa/assets/worlds/championhome/splash.mp3 b/spa/assets/worlds/championhome/splash.mp3 new file mode 100644 index 00000000..fb54b722 Binary files /dev/null and b/spa/assets/worlds/championhome/splash.mp3 differ diff --git a/spa/assets/worlds/championhome/stone.jpg b/spa/assets/worlds/championhome/stone.jpg new file mode 100644 index 00000000..5de747e9 Binary files /dev/null and b/spa/assets/worlds/championhome/stone.jpg differ diff --git a/spa/assets/worlds/championhome/tile.jpg b/spa/assets/worlds/championhome/tile.jpg new file mode 100644 index 00000000..c499c908 Binary files /dev/null and b/spa/assets/worlds/championhome/tile.jpg differ diff --git a/spa/assets/worlds/championhome/trunk.jpg b/spa/assets/worlds/championhome/trunk.jpg new file mode 100644 index 00000000..df742d4a Binary files /dev/null and b/spa/assets/worlds/championhome/trunk.jpg differ diff --git a/spa/assets/worlds/championhome/wall.jpg b/spa/assets/worlds/championhome/wall.jpg new file mode 100644 index 00000000..bc289b00 Binary files /dev/null and b/spa/assets/worlds/championhome/wall.jpg differ diff --git a/spa/assets/worlds/championhome/water.jpg b/spa/assets/worlds/championhome/water.jpg new file mode 100644 index 00000000..4cd42fdb Binary files /dev/null and b/spa/assets/worlds/championhome/water.jpg differ diff --git a/spa/assets/worlds/championhome/wave.mp3 b/spa/assets/worlds/championhome/wave.mp3 new file mode 100644 index 00000000..4e68f5a0 Binary files /dev/null and b/spa/assets/worlds/championhome/wave.mp3 differ diff --git a/spa/assets/worlds/championhome/welcome.mp3 b/spa/assets/worlds/championhome/welcome.mp3 new file mode 100644 index 00000000..8dfbf9c4 Binary files /dev/null and b/spa/assets/worlds/championhome/welcome.mp3 differ diff --git a/spa/assets/worlds/championhome/white.jpg b/spa/assets/worlds/championhome/white.jpg new file mode 100644 index 00000000..05db07da Binary files /dev/null and b/spa/assets/worlds/championhome/white.jpg differ diff --git a/spa/assets/worlds/cyberhood/vrml/cyberhood.wrl b/spa/assets/worlds/cyberhood/vrml/cyberhood.wrl index 57d32b87..015ba96e 100644 --- a/spa/assets/worlds/cyberhood/vrml/cyberhood.wrl +++ b/spa/assets/worlds/cyberhood/vrml/cyberhood.wrl @@ -8,8 +8,9 @@ url NavigationInfo { visibilityLimit 125 +speed 2.5 avatarSize [ -.6 1.75 .75 +.25 1.75 .75 ] } Transform { diff --git a/spa/assets/worlds/fleamarket/vrml/fleamarket.wrl b/spa/assets/worlds/fleamarket/vrml/fleamarket.wrl index b5e7d6da..792690eb 100644 --- a/spa/assets/worlds/fleamarket/vrml/fleamarket.wrl +++ b/spa/assets/worlds/fleamarket/vrml/fleamarket.wrl @@ -9,228 +9,187 @@ EXTERNPROTO HUD[ ] ["urn:inet:blaxxun.com:node:HUD","http://www.blaxxun.com/vrml/protos/nodes.wrl#HUD"] -#Inline{url"http://www.cybertown.com/places/no_cache/fleamarket/temp.wrl"} - - -PROTO SharedObject [ -exposedField SFVec3f translation 0 0 0 -exposedField SFRotation rotation 0 1 0 0 -exposedField SFString name "" -exposedField SFString id "" -exposedField MFNode children [] +EXTERNPROTO SharedObject [ +exposedField SFVec3f translation +exposedField SFRotation rotation +exposedField MFNode children +exposedField SFString name +exposedField SFString id eventIn SFBool startMove -eventOut SFTime touchTime eventOut SFBool isOver +eventOut SFTime touchTime eventOut SFVec3f newPosition eventOut SFRotation newRotation -exposedField MFFloat range [30] -] { - -Group { - children [ - -DEF T1 Transform { -translation IS translation -rotation IS rotation -children[ -DEF TS TouchSensor -{ - isOver IS isOver - touchTime IS touchTime -} - -LOD{range IS range level[ Group{children IS children} Group{} ]} +] "/externprotos/shared_xite.wrl#SharedObject" -]} - -#BEGIN MOVE HUD CODE# -DEF SOSwitch Switch{ -whichChoice -1 -choice[ -Collision{ -collide FALSE -children[ +EXTERNPROTO SharedEvent [ +exposedField SFString name +exposedField SFString type +eventIn SFTime set_time +eventOut SFTime timeToServer +eventIn SFTime timeFromServer +eventOut SFTime time_changed +] [ "/externprotos/shared_xite.wrl#SharedEvent" ] -DEF HUD HUD { -children[Transform{translation 0.15 0.08 -0.3 scale 0.8 0.8 0.8 children[ -DirectionalLight{direction 0 0 -1 } -Transform{ #Done Button -translation -0.033 -.063 0 -scale .08 .08 .08 -children[ -DEF DoneButton TouchSensor{} -Shape{ -appearance Appearance{material Material{diffuseColor 0 1 0 specularColor 0 1 0}} -geometry IndexedFaceSet{ -coord Coordinate{point[0 0 0,-.15 .1 0,-.05 .15 0,0 .05 0,.085 .3 0,.15 .4 0,.2 .25 0,.05 0 0 ]} -coordIndex[0,3,2,1,-1,6,4,3,0,-1] -}} -Transform{ translation 0 .1 0 -children Shape{appearance Appearance{material Material{transparency 1}}geometry Sphere{radius .3}} -} -]}#END DoneButton -Transform{ #CancelButton -translation 0.033 -.054 0 -scale .07 .07 .07 -children[ -DEF CancelButton TouchSensor{} -Shape{ -appearance Appearance{material Material{diffuseColor 1 0 0 specularColor 1 0 0}} -geometry IndexedFaceSet{coord Coordinate{point[0 0 0,.15 -.1 0,.1 -.15 0,.15 .1 0,.1 .15 0,-.15 -.1 0,-.1 -.15 0,-.15 .1 0,-.1 .15 0]}coordIndex[0,2,1,-1,0,3,4,-1,0,5,6,-1,0,8,7,-1]} +PROTO SharedEvent [ +field SFBool local FALSE +field SFBool debug FALSE +exposedField SFString name "event" +exposedField SFString type "SFTime" +eventIn SFBool boolFromServer eventIn SFColor colorFromServer +eventIn SFFloat floatFromServer eventIn SFInt32 int32FromServer +eventIn SFRotation rotationFromServer +eventIn SFString stringFromServer eventIn SFTime timeFromServer +eventIn SFVec2f vec2fFromServer eventIn SFVec3f vec3fFromServer +eventOut SFBool boolToServer eventOut SFColor colorToServer +eventOut SFFloat floatToServer eventOut SFInt32 int32ToServer +eventOut SFRotation rotationToServer +eventOut SFString stringToServer eventOut SFTime timeToServer +eventOut SFVec2f vec2fToServer eventOut SFVec3f vec3fToServer +eventIn SFBool set_bool eventIn SFColor set_color +eventIn SFFloat set_float eventIn SFInt32 set_int32 +eventIn SFRotation set_rotation +eventIn SFString set_string eventIn SFTime set_time +eventIn SFVec2f set_vec2f eventIn SFVec3f set_vec3f +eventOut SFBool bool_changed eventOut SFColor color_changed +eventOut SFFloat float_changed eventOut SFInt32 int32_changed +eventOut SFRotation rotation_changed +eventOut SFString string_changed eventOut SFTime time_changed +eventOut SFVec2f vec2f_changed eventOut SFVec3f vec3f_changed +]{ +Script { +exposedField SFBool local IS local +exposedField SFBool debug IS debug +exposedField SFString name IS name +#eventIn SFString set_name IS set_name eventIn SFString set_type IS set_type eventOut SFString name_changed IS name_changed eventOut SFString type_changed IS type_changed +eventIn SFBool boolFromServer IS boolFromServer +eventIn SFColor colorFromServer IS colorFromServer +eventIn SFFloat floatFromServer IS floatFromServer +eventIn SFInt32 int32FromServer IS int32FromServer +eventIn SFRotation rotationFromServer IS rotationFromServer +eventIn SFString stringFromServer IS stringFromServer +eventIn SFTime timeFromServer IS timeFromServer +eventIn SFVec2f vec2fFromServer IS vec2fFromServer +eventIn SFVec3f vec3fFromServer IS vec3fFromServer +eventOut SFBool boolToServer IS boolToServer +eventOut SFColor colorToServer IS colorToServer +eventOut SFFloat floatToServer IS floatToServer +eventOut SFInt32 int32ToServer IS int32ToServer +eventOut SFRotation rotationToServer IS rotationToServer +eventOut SFString stringToServer IS stringToServer +eventOut SFTime timeToServer IS timeToServer +eventOut SFVec2f vec2fToServer IS vec2fToServer +eventOut SFVec3f vec3fToServer IS vec3fToServer +eventIn SFBool set_bool IS set_bool +eventIn SFColor set_color IS set_color +eventIn SFFloat set_float IS set_float +eventIn SFInt32 set_int32 IS set_int32 +eventIn SFRotation set_rotation IS set_rotation +eventIn SFString set_string IS set_string +eventIn SFTime set_time IS set_time +eventIn SFVec2f set_vec2f IS set_vec2f +eventIn SFVec3f set_vec3f IS set_vec3f +eventOut SFBool bool_changed IS bool_changed +eventOut SFColor color_changed IS color_changed +eventOut SFFloat float_changed IS float_changed +eventOut SFInt32 int32_changed IS int32_changed +eventOut SFRotation rotation_changed IS rotation_changed +eventOut SFString string_changed IS string_changed +eventOut SFTime time_changed IS time_changed +eventOut SFVec2f vec2f_changed IS vec2f_changed +eventOut SFVec3f vec3f_changed IS vec3f_changed +url "vrmlscript: +function set_name (value, time){if(debug){print(name + ' received name event: ' + value);} name_changed = value;} +function set_type (value, time){if(debug){print(name + ' received type event: ' + value);} type_changed = value;} +function boolFromServer (value, time){if(debug){print(name + ' received bool event: ' + value);} bool_changed = value;} +function colorFromServer (value, time){if(debug){print(name + ' received color event: ' + value);} color_changed = value;} +function floatFromServer (value, time){if(debug){print(name + ' received float event: ' + value);} float_changed = value;} +function int32FromServer (value, time){if(debug){print(name + ' received int32 event: ' + value);} int32_changed = value;} +function rotationFromServer (value, time){if(debug){print(name + ' received rotation event: ' + value);} rotation_changed = value;} +function stringFromServer (value, time){if(debug){print(name + ' received string event: ' + value);} string_changed = value;} +function timeFromServer (value, time){if(debug){print(name + ' received time event: ' + value);} time_changed = time;} +function vec2fFromServer (value, time){if(debug){print(name + ' received vec2f event: ' + value);} vec2f_changed = value;} +function vec3fFromServer (value, time){if(debug){print(name + ' received vec3f event: ' + value);} vec3f_changed = value;} +function set_bool (value, time){if(debug){print(name + ' sent bool event: ' + value);} boolToServer = value; if(local){boolFromServer(value,time);}} +function set_color (value, time){if(debug){print(name + ' sent color event: ' + value);} colorToServer = value; if(local){colorFromServer(value,time);}} +function set_float (value, time){if(debug){print(name + ' sent float event: ' + value);} floatToServer = value; if(local){floatFromServer(value,time);}} +function set_int32 (value, time){if(debug){print(name + ' sent int32 event: ' + value);} int32ToServer = value; if(local){int32FromServer(value,time);}} +function set_rotation (value, time){if(debug){print(name + ' sent rotation event: ' + value);} rotationToServer = value; if(local){rotationFromServer(value,time);}} +function set_string (value, time){if(debug){print(name + ' sent string event: ' + value);} stringToServer = value; if(local){stringFromServer(value,time);}} +function set_time (value, time){if(debug){print(name + ' sent time event: ' + value);} timeToServer = value; if(local){timeFromServer(value,time);}} +function set_vec2f (value, time){if(debug){print(name + ' sent vec2f event: ' + value);} vec2fToServer = value; if(local){vec2fFromServer(value,time);}} +function set_vec3f (value, time){if(debug){print(name + ' sent vec3f event: ' + value);} vec3fToServer = value; if(local){vec3fFromServer(value,time);}} +"} } -Shape{appearance Appearance{material Material{transparency 1}}geometry Sphere{radius .2}} -]}#END CancelButton - -Transform{ #Rotation Control -translation 0 -.054 0 -scale .16 .16 .16 -children[ -DEF RotControlKnob Transform{ scale 1 .5 1 children[ -Shape{appearance Appearance{material Material{diffuseColor 0 0 .5 specularColor 1 1 1 }}geometry Sphere{radius .1}} -]} -DEF RotControlSensor CylinderSensor{minAngle -3.142 maxAngle 3.142} -]}#END RotationControl - -Transform{#Panel -translation 0 0 0 scale 0.1 0.1 0.1 children[ - -Transform{ -translation .14 -.05 -.3 -children [ -Shape { appearance Appearance { material Material{ diffuseColor 0 0 0 transparency .5} } geometry Box { size 1 1.2 .01 } } ] } -Transform{# Y-axis -children[ -Transform{translation 0 .05 0 rotation 0 0 1 0 children[ -Shape{appearance Appearance{material Material{transparency .1 diffuseColor 0 1 0 specularColor 0 1 0}}geometry DEF arrow IndexedFaceSet{solid FALSE coord Coordinate{point[-.05 0 0,-.05 .2 0,-.15 .2 0,0 .35 0,.15 .2 0,.05 .2 0,.05 0 0]}coordIndex[0,1,5,6,-1,2,3,4,-1]}} -]} -Transform{translation 0 -.05 0 rotation 0 0 1 3.142 children[ -Shape{appearance Appearance{material Material{diffuseColor 0 1 0 specularColor 0 1 0}}geometry USE arrow} -]} -DEF Y PlaneSensor{} -]}#END Y-axis - -Transform{# X-axis -children[ -Transform{translation -.05 0 0 rotation 0 0 1 1.571 children[ -Shape{appearance Appearance{material Material{diffuseColor 1 0 0 specularColor 1 0 0}}geometry USE arrow} -]} -Transform{translation .05 0 0 rotation 0 0 1 -1.571 children[ -Shape{appearance Appearance{material Material{diffuseColor 1 0 0 specularColor 1 0 0}}geometry USE arrow} -]} -DEF X PlaneSensor{} -]}#END X-axis +PROTO BlaxxunZone [#PROTO supplied by BLAXXUN +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars +exposedField MFNode events [] +exposedField MFNode avatars [] +exposedField SFString myAvatarURL "" +exposedField SFString myAvatarName "" +exposedField SFFloat number_avatars 0 +eventOut MFNode avatars_added +eventOut MFNode avatars_removed +exposedField MFNode avatarLOD [] +exposedField MFFloat avatarRange [] +]{ +Transform { +addChildren IS addEvents +removeChildren IS removeEvents +children IS events +} +Transform { + addChildren IS addAvatars + removeChildren IS removeAvatars + children IS avatars +} +}# END BlaxxunZone -Transform{translation 0 0 0 rotation 1 -.2 0 .8 children[ -Transform{#Z-axis -rotation 1 0 0 1.571 -children[ -Transform{translation 0 .05 0 rotation 0 0 1 -.1 children[ -Shape{appearance Appearance{material Material{transparency .1 diffuseColor .2 .2 1 specularColor 0 0 1}}geometry USE arrow} -]} -Transform{translation 0 -.05 0 rotation 0 0 1 3.042 children[ -Shape{appearance Appearance{material Material{diffuseColor .2 .2 1 specularColor 0 0 1}}geometry USE arrow} -]} -DEF Z PlaneSensor{} -]}#END Z-axis -]} -]}#END panel - -DEF SOScript Script{ -eventIn SFVec3f set_X -eventIn SFVec3f set_Y -eventIn SFVec3f set_Z -eventIn SFRotation set_rotation -eventIn SFBool set_done -eventIn SFBool set_cancel -eventIn SFBool set_enable IS startMove -exposedField SFString name IS name -exposedField SFString id IS id -exposedField SFFloat rate 10 -field SFVec3f initialPosition IS translation -field SFRotation initialRotation IS rotation -field SFVec3f currentPosition 0 0 0 -field SFRotation currentRotation 0 0 0 0 -field SFVec3f XlastChange 0 0 0 -field SFVec3f YlastChange 0 0 0 -field SFVec3f ZlastChange 0 0 0 -field SFFloat ROTlastChange 0 -eventOut SFVec3f position_changed -eventOut SFRotation rotation_changed -eventOut SFVec3f new_position IS newPosition -eventOut SFRotation new_rotation IS newRotation -eventOut SFInt32 choice_changed +DEF SharedZone BlaxxunZone { + events [ + + ] +} +DEF S Script { + eventIn MFNode addEvents IS addEvents + eventIn MFNode removeEvents IS removeEvents + eventIn MFNode addAvatars IS addAvatars + eventIn MFNode removeAvatars IS removeAvatars + eventIn MFNode addObjects IS addObjects + eventIn MFNode removeObjects IS removeObjects + eventIn SFString set_myAvatarURL IS set_myAvatarURL + eventOut MFNode events_added IS events_added + eventOut MFNode events_removed IS events_removed + eventOut MFNode avatars_added IS avatars_added + eventOut MFNode avatars_removed IS avatars_removed + eventOut MFNode objects_added IS objects_added + eventOut MFNode objects_removed IS objects_removed + eventIn SFInt32 set_myAvatarGesture IS set_myAvatarGesture + eventIn SFInt32 myAvatarGestureFromServer IS myAvatarGestureFromServer + eventOut SFInt32 myAvatarGesture_changed IS myAvatarGesture_changed + eventOut SFInt32 myAvatarGestureToServer IS myAvatarGestureToServer + eventOut SFString myAvatarURL_changed IS myAvatarURL_changed + exposedField MFString sendToChat IS sendToChat + exposedField SFFloat beamToDistance IS beamToDistance + exposedField MFString groupChatName IS groupChatName + exposedField MFString groupChat IS groupChat url "vrmlscript: -function set_enable(v,t){ - if(!v){return;} - choice_changed = 0; -} -function set_X(v,t){ - newPosition = (Browser.viewpointOrientation.multVec((new SFVec3f(v[0],0,0)).subtract(XlastChange))).multiply(rate); - currentPosition = currentPosition.add(newPosition); - position_changed = currentPosition; - XlastChange = new SFVec3f(v[0],0,0); -} -function set_Y(v,t){ - newPosition = (Browser.viewpointOrientation.multVec((new SFVec3f(0,v[1],0)).subtract(YlastChange))).multiply(rate); - currentPosition = currentPosition.add(newPosition); - position_changed = currentPosition; - YlastChange = new SFVec3f(0,v[1],0); -} -function set_Z(v,t){ - newPosition = (Browser.viewpointOrientation.multVec((new SFVec3f(0,0,v[1])).subtract(ZlastChange))).multiply(rate); - currentPosition = currentPosition.add(newPosition); - position_changed = currentPosition; - ZlastChange = new SFVec3f(0,0,v[1]); -} -function set_rotation(v,t){ - rotation_changed = v; - currentRotation = v; -} -function set_done(v,t){ - if(!v){return;} - new_position = currentPosition; - new_rotation = currentRotation; - initialRotation = currentRotation; - initialPosition = currentPosition; - choice_changed = -1; -} -function set_cancel(v,t){ - if(!v){return;} - choice_changed = -1; - position_changed = initialPosition; - rotation_changed = initialRotation; -} -function initialize() { - currentRotation = initialRotation; - currentPosition = initialPosition; -} -"} -]}#END Collision -]}#END HUD -]} -]}#END SOSwitch - -] + function addEvents(value, time) { events_added = value; } + function addAvatars(value, time) { avatars_added = value; } + function addObjects(value, time) { objects_added = value; } + function removeEvents(value, time) { events_removed = value; } + function removeAvatars(value, time) { avatars_removed = value; } + function removeObjects(value, time) { objects_removed = value; } + function set_myAvatarGesture(value, time) { myAvatarGestureToServer = value; } + function myAvatarGestureFromServer(value, time) { myAvatarGesture_changed = value; } + function set_myAvatarURL(value, time) { myAvatarURL_changed = value; } +" } -ROUTE X.translation_changed TO SOScript.set_X -ROUTE Y.translation_changed TO SOScript.set_Y -ROUTE Z.translation_changed TO SOScript.set_Z -ROUTE RotControlSensor.rotation_changed TO RotControlKnob.set_rotation -ROUTE RotControlSensor.rotation_changed TO SOScript.set_rotation -ROUTE SOScript.position_changed TO T1.set_translation -ROUTE SOScript.rotation_changed TO T1.set_rotation -ROUTE DoneButton.isActive TO SOScript.set_done -ROUTE CancelButton.isActive TO SOScript.set_cancel -ROUTE SOScript.choice_changed TO SOSwitch.set_whichChoice -#END MOVE HUD CODE# - -}#END SharedObject PROTO - - - - PROTO Booth[ field MFString number "15" field SFString description "Booth 15" @@ -527,34 +486,65 @@ Group {} ]} }#END Booth PROTO - - - - - - - - -DirectionalLight { -direction 0 -1 -1 -} -DirectionalLight { -direction 1 -1 1 -} -DirectionalLight { -direction -1 -1 1 +DEF dad_Global_1 Transform { + translation 125 -100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_1 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_2 Transform { + translation 125 100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_2 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_3 Transform { + translation -125 100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_3 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_4 Transform { + translation -125 -100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_4 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] } + NavigationInfo { avatarSize [ .25 1.75 .75 ] -speed 10 +speed 3 headlight FALSE } - - - DEF V Viewpoint{ description "Enter" position 75 2.25 0 diff --git a/spa/assets/worlds/funpark/vrml/funpark.wrl b/spa/assets/worlds/funpark/vrml/funpark.wrl index b6135716..db36dc31 100644 --- a/spa/assets/worlds/funpark/vrml/funpark.wrl +++ b/spa/assets/worlds/funpark/vrml/funpark.wrl @@ -11,7 +11,7 @@ EXTERNPROTO HUD[ NavigationInfo { - avatarSize [0.25 1.75 0.75000] + avatarSize [0.25 1.75 0.75] visibilityLimit 0.0 speed 4.0 headlight FALSE diff --git a/spa/assets/worlds/hitek_col/vrml/hi-tek.wrl b/spa/assets/worlds/hitek_col/vrml/hi-tek.wrl index 5bad1fbe..8c11926b 100644 Binary files a/spa/assets/worlds/hitek_col/vrml/hi-tek.wrl and b/spa/assets/worlds/hitek_col/vrml/hi-tek.wrl differ diff --git a/spa/assets/worlds/jail/vrml/jail.wrl b/spa/assets/worlds/jail/vrml/jail.wrl index 9a793ce8..b7a04076 100644 --- a/spa/assets/worlds/jail/vrml/jail.wrl +++ b/spa/assets/worlds/jail/vrml/jail.wrl @@ -9,9 +9,9 @@ EXTERNPROTO HUD[ ["/externprotos/nodes_xite.wrl#HUD"] NavigationInfo { - avatarSize [0.25 1.75 0.75000] + avatarSize [0.25 1.75 0.75] visibilityLimit 0.0 - speed 4.0 + speed 3.0 headlight FALSE type["WALK"] } diff --git a/spa/assets/worlds/post/vrml/post.wrl b/spa/assets/worlds/post/vrml/post.wrl index 2e886f64..67bd8abb 100644 --- a/spa/assets/worlds/post/vrml/post.wrl +++ b/spa/assets/worlds/post/vrml/post.wrl @@ -99,9 +99,9 @@ type [ ] visibilityLimit 150 avatarSize [ -1 1.75 .9 +.25 1.75 .9 ] -speed 10 +speed 3 } DEF main Transform { diff --git a/spa/assets/worlds/shop/images/shop.jpg b/spa/assets/worlds/shop/images/shop.jpg new file mode 100644 index 00000000..bc7f043e Binary files /dev/null and b/spa/assets/worlds/shop/images/shop.jpg differ diff --git a/spa/assets/worlds/shop/old_vrml/back.gif b/spa/assets/worlds/shop/old_vrml/back.gif new file mode 100644 index 00000000..b1281f45 Binary files /dev/null and b/spa/assets/worlds/shop/old_vrml/back.gif differ diff --git a/spa/assets/worlds/shop/old_vrml/boden.gif b/spa/assets/worlds/shop/old_vrml/boden.gif new file mode 100644 index 00000000..4f926bd7 Binary files /dev/null and b/spa/assets/worlds/shop/old_vrml/boden.gif differ diff --git a/spa/assets/worlds/shop/old_vrml/decke1.gif b/spa/assets/worlds/shop/old_vrml/decke1.gif new file mode 100644 index 00000000..e9f892c5 Binary files /dev/null and b/spa/assets/worlds/shop/old_vrml/decke1.gif differ diff --git a/spa/assets/worlds/shop/old_vrml/shop.wrl b/spa/assets/worlds/shop/old_vrml/shop.wrl new file mode 100644 index 00000000..fffb5da6 Binary files /dev/null and b/spa/assets/worlds/shop/old_vrml/shop.wrl differ diff --git a/spa/assets/worlds/shop/old_vrml/wand.gif b/spa/assets/worlds/shop/old_vrml/wand.gif new file mode 100644 index 00000000..e267a2f3 Binary files /dev/null and b/spa/assets/worlds/shop/old_vrml/wand.gif differ diff --git a/spa/assets/worlds/shop/sounds/10.wav b/spa/assets/worlds/shop/sounds/10.wav new file mode 100644 index 00000000..33dc6a74 Binary files /dev/null and b/spa/assets/worlds/shop/sounds/10.wav differ diff --git a/spa/assets/worlds/shop/sounds/11.wav b/spa/assets/worlds/shop/sounds/11.wav new file mode 100644 index 00000000..02833efb Binary files /dev/null and b/spa/assets/worlds/shop/sounds/11.wav differ diff --git a/spa/assets/worlds/shop/sounds/16.wav b/spa/assets/worlds/shop/sounds/16.wav new file mode 100644 index 00000000..68895f4a Binary files /dev/null and b/spa/assets/worlds/shop/sounds/16.wav differ diff --git a/spa/assets/worlds/shop/sounds/confirmed.wav b/spa/assets/worlds/shop/sounds/confirmed.wav new file mode 100644 index 00000000..1c9926d8 Binary files /dev/null and b/spa/assets/worlds/shop/sounds/confirmed.wav differ diff --git a/spa/assets/worlds/shop/sounds/enter.wav b/spa/assets/worlds/shop/sounds/enter.wav new file mode 100644 index 00000000..011a74cb Binary files /dev/null and b/spa/assets/worlds/shop/sounds/enter.wav differ diff --git a/spa/assets/worlds/shop/sounds/exit.wav b/spa/assets/worlds/shop/sounds/exit.wav new file mode 100644 index 00000000..f1c822a7 Binary files /dev/null and b/spa/assets/worlds/shop/sounds/exit.wav differ diff --git a/spa/assets/worlds/shop/vrml/block.jpg b/spa/assets/worlds/shop/vrml/block.jpg new file mode 100644 index 00000000..16cf190b Binary files /dev/null and b/spa/assets/worlds/shop/vrml/block.jpg differ diff --git a/spa/assets/worlds/shop/vrml/bluefade.jpg b/spa/assets/worlds/shop/vrml/bluefade.jpg new file mode 100644 index 00000000..58c85b3d Binary files /dev/null and b/spa/assets/worlds/shop/vrml/bluefade.jpg differ diff --git a/spa/assets/worlds/shop/vrml/bsuppot_2.jpg b/spa/assets/worlds/shop/vrml/bsuppot_2.jpg new file mode 100644 index 00000000..d826d29c Binary files /dev/null and b/spa/assets/worlds/shop/vrml/bsuppot_2.jpg differ diff --git a/spa/assets/worlds/shop/vrml/clear.gif b/spa/assets/worlds/shop/vrml/clear.gif new file mode 100644 index 00000000..765de004 Binary files /dev/null and b/spa/assets/worlds/shop/vrml/clear.gif differ diff --git a/spa/assets/worlds/shop/vrml/door.jpg b/spa/assets/worlds/shop/vrml/door.jpg new file mode 100644 index 00000000..77882b2c Binary files /dev/null and b/spa/assets/worlds/shop/vrml/door.jpg differ diff --git a/spa/assets/worlds/shop/vrml/floor2.jpg b/spa/assets/worlds/shop/vrml/floor2.jpg new file mode 100644 index 00000000..0730af6f Binary files /dev/null and b/spa/assets/worlds/shop/vrml/floor2.jpg differ diff --git a/spa/assets/worlds/shop/vrml/largeitems/block.jpg b/spa/assets/worlds/shop/vrml/largeitems/block.jpg new file mode 100644 index 00000000..16cf190b Binary files /dev/null and b/spa/assets/worlds/shop/vrml/largeitems/block.jpg differ diff --git a/spa/assets/worlds/shop/vrml/largeitems/bluefade.jpg b/spa/assets/worlds/shop/vrml/largeitems/bluefade.jpg new file mode 100644 index 00000000..58c85b3d Binary files /dev/null and b/spa/assets/worlds/shop/vrml/largeitems/bluefade.jpg differ diff --git a/spa/assets/worlds/shop/vrml/largeitems/bsuppot_2.jpg b/spa/assets/worlds/shop/vrml/largeitems/bsuppot_2.jpg new file mode 100644 index 00000000..d826d29c Binary files /dev/null and b/spa/assets/worlds/shop/vrml/largeitems/bsuppot_2.jpg differ diff --git a/spa/assets/worlds/shop/vrml/largeitems/cityscape256b.jpg b/spa/assets/worlds/shop/vrml/largeitems/cityscape256b.jpg new file mode 100644 index 00000000..e746a7fe Binary files /dev/null and b/spa/assets/worlds/shop/vrml/largeitems/cityscape256b.jpg differ diff --git a/spa/assets/worlds/shop/vrml/largeitems/door.jpg b/spa/assets/worlds/shop/vrml/largeitems/door.jpg new file mode 100644 index 00000000..77882b2c Binary files /dev/null and b/spa/assets/worlds/shop/vrml/largeitems/door.jpg differ diff --git a/spa/assets/worlds/shop/vrml/largeitems/floor2.jpg b/spa/assets/worlds/shop/vrml/largeitems/floor2.jpg new file mode 100644 index 00000000..0730af6f Binary files /dev/null and b/spa/assets/worlds/shop/vrml/largeitems/floor2.jpg differ diff --git a/spa/assets/worlds/shop/vrml/largeitems/largeitems.wrl b/spa/assets/worlds/shop/vrml/largeitems/largeitems.wrl new file mode 100644 index 00000000..81b68ae3 --- /dev/null +++ b/spa/assets/worlds/shop/vrml/largeitems/largeitems.wrl @@ -0,0 +1,1697 @@ +#VRML V2.0 utf8 +#hg 09/2001 VRML syntax fixes +EXTERNPROTO HUD[ + field SFVec3f bboxSize + field SFVec3f bboxCenter + exposedField MFNode children + eventIn MFNode addChildren + eventIn MFNode removeChildren +] +["urn:inet:blaxxun.com:node:HUD","http://www.blaxxun.com/vrml/protos/nodes.wrl#HUD"] + +EXTERNPROTO SharedEvent [ +exposedField SFString name +exposedField SFString type +eventIn SFTime set_time +eventOut SFTime timeToServer +eventIn SFTime timeFromServer +eventOut SFTime time_changed +] [ "/externprotos/shared_xite.wrl#SharedEvent" ] + + +PROTO PopUp[ +eventIn SFTime set_pop +field SFString url "" +field SFString status "yes" +field SFString scrollbars "auto" +field SFInt32 height 300 +field SFInt32 width 200 +field MFNode children [] +eventOut SFBool isOver +]{ +Group{children[ +DEF button TouchSensor{isOver IS isOver} +Group{children IS children} +DEF pop Script{ +eventIn SFTime set_pop +field SFString linkURL IS url +field SFString status IS status +field SFString scrollbars IS scrollbars +field SFInt32 height IS height +field SFInt32 width IS width +field MFString param ["","","target=_self"] +url"vrmlscript: +function set_pop(v,t){ + st = new MFString('OnEvent(status,'+status+')'); + sc = new MFString('OnEvent(scrollbars,'+scrollbars+')'); + h = new MFString('OnEvent(height,'+height+')'); + w = new MFString('OnEvent(width,'+width+')'); + u = new MFString('OnEvent(load,'+linkURL+')'); + Browser.loadURL(st,param); + Browser.loadURL(sc,param); + Browser.loadURL(h,param); + Browser.loadURL(w,param); + Browser.loadURL(u,param); +} +"} +]} +ROUTE button.touchTime TO pop.set_pop +}#END PopUp PROTO + +EXTERNPROTO SharedObject [ +exposedField SFVec3f translation +exposedField SFRotation rotation +exposedField MFNode children +exposedField SFString name +exposedField SFString id +eventIn SFBool startMove +eventOut SFBool isOver +eventOut SFTime touchTime +eventOut SFVec3f newPosition +eventOut SFRotation newRotation +] "/externprotos/shared_xite.wrl#SharedObject" + + +PROTO SharedEvent [ +field SFBool local FALSE +exposedField SFString name "event" +exposedField SFString type "SFTime" +eventIn SFBool boolFromServer eventIn SFColor colorFromServer +eventIn SFFloat floatFromServer eventIn SFInt32 int32FromServer +eventIn SFRotation rotationFromServer +eventIn SFString stringFromServer eventIn SFTime timeFromServer +eventIn SFVec2f vec2fFromServer eventIn SFVec3f vec3fFromServer +eventOut SFBool boolToServer eventOut SFColor colorToServer +eventOut SFFloat floatToServer eventOut SFInt32 int32ToServer +eventOut SFRotation rotationToServer +eventOut SFString stringToServer eventOut SFTime timeToServer +eventOut SFVec2f vec2fToServer eventOut SFVec3f vec3fToServer +eventIn SFBool set_bool eventIn SFColor set_color +eventIn SFFloat set_float eventIn SFInt32 set_int32 +eventIn SFRotation set_rotation +eventIn SFString set_string eventIn SFTime set_time +eventIn SFVec2f set_vec2f eventIn SFVec3f set_vec3f +eventOut SFBool bool_changed eventOut SFColor color_changed +eventOut SFFloat float_changed eventOut SFInt32 int32_changed +eventOut SFRotation rotation_changed +eventOut SFString string_changed eventOut SFTime time_changed +eventOut SFVec2f vec2f_changed eventOut SFVec3f vec3f_changed +]{ +Script { +field SFBool local IS local +#eventIn SFString set_name IS set_name eventIn SFString set_type IS set_type eventOut SFString name_changed IS name_changed eventOut SFString type_changed IS type_changed +eventIn SFBool boolFromServer IS boolFromServer +eventIn SFColor colorFromServer IS colorFromServer +eventIn SFFloat floatFromServer IS floatFromServer +eventIn SFInt32 int32FromServer IS int32FromServer +eventIn SFRotation rotationFromServer IS rotationFromServer +eventIn SFString stringFromServer IS stringFromServer +eventIn SFTime timeFromServer IS timeFromServer +eventIn SFVec2f vec2fFromServer IS vec2fFromServer +eventIn SFVec3f vec3fFromServer IS vec3fFromServer +eventOut SFBool boolToServer IS boolToServer +eventOut SFColor colorToServer IS colorToServer +eventOut SFFloat floatToServer IS floatToServer +eventOut SFInt32 int32ToServer IS int32ToServer +eventOut SFRotation rotationToServer IS rotationToServer +eventOut SFString stringToServer IS stringToServer +eventOut SFTime timeToServer IS timeToServer +eventOut SFVec2f vec2fToServer IS vec2fToServer +eventOut SFVec3f vec3fToServer IS vec3fToServer +eventIn SFBool set_bool IS set_bool +eventIn SFColor set_color IS set_color +eventIn SFFloat set_float IS set_float +eventIn SFInt32 set_int32 IS set_int32 +eventIn SFRotation set_rotation IS set_rotation +eventIn SFString set_string IS set_string +eventIn SFTime set_time IS set_time +eventIn SFVec2f set_vec2f IS set_vec2f +eventIn SFVec3f set_vec3f IS set_vec3f +eventOut SFBool bool_changed IS bool_changed +eventOut SFColor color_changed IS color_changed +eventOut SFFloat float_changed IS float_changed +eventOut SFInt32 int32_changed IS int32_changed +eventOut SFRotation rotation_changed IS rotation_changed +eventOut SFString string_changed IS string_changed +eventOut SFTime time_changed IS time_changed +eventOut SFVec2f vec2f_changed IS vec2f_changed +eventOut SFVec3f vec3f_changed IS vec3f_changed +url "vrmlscript: +function set_name(value, time) { name_changed = value; } +function set_type(value, time) { type_changed = value; } +function boolFromServer (value, time) { bool_changed = value; } +function colorFromServer (value, time) { color_changed = value; } +function floatFromServer (value, time) { float_changed = value; } +function int32FromServer (value, time) { int32_changed = value; } +function rotationFromServer (value, time) {rotation_changed = value; } +function stringFromServer (value, time) { string_changed = value; } +function timeFromServer (value, time) { time_changed = time; } +function vec2fFromServer (value, time) { vec2f_changed = value; } +function vec3fFromServer (value, time) { vec3f_changed = value; } +function set_bool (value, time) {boolToServer = value;if(local){boolFromServer(value,time);}} +function set_color (value, time) { colorToServer = value;if(local){colorFromServer(value,time);}} +function set_float (value, time) {floatToServer = value; if(local){floatFromServer(value,time);}} +function set_int32 (value, time) {int32ToServer = value; if(local){int32FromServer(value,time);}} +function set_rotation (value, time) {rotationToServer = value;if(local){rotationFromServer(value,time);}} +function set_string (value, time) {stringToServer = value;if(local){stringFromServer(value,time);}} +function set_time (value, time) {timeToServer = value;if(local){timeFromServer(value,time);}} +function set_vec2f (value, time) {vec2fToServer = value;if(local){vec2fFromServer(value,time);}} +function set_vec3f (value, time) {vec3fToServer = value;if(local){vec3fFromServer(value,time);}} +"} +} + +PROTO BlaxxunZone [#PROTO supplied by BLAXXUN +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars +exposedField MFNode events [] +exposedField MFNode avatars [] +exposedField SFString myAvatarURL "" +exposedField SFString myAvatarName "" +exposedField SFFloat number_avatars 0 +eventOut MFNode avatars_added +eventOut MFNode avatars_removed +exposedField MFNode avatarLOD [] +exposedField MFFloat avatarRange [] +]{ +Transform { +addChildren IS addEvents +removeChildren IS removeEvents +children IS events +} +Transform { + addChildren IS addAvatars + removeChildren IS removeAvatars + children IS avatars +} +}# END BlaxxunZone + +DEF SharedZone BlaxxunZone { + events [ + + ] +} + +DEF S Script { + eventIn MFNode addEvents IS addEvents + eventIn MFNode removeEvents IS removeEvents + eventIn MFNode addAvatars IS addAvatars + eventIn MFNode removeAvatars IS removeAvatars + eventIn MFNode addObjects IS addObjects + eventIn MFNode removeObjects IS removeObjects + eventIn SFString set_myAvatarURL IS set_myAvatarURL + eventOut MFNode events_added IS events_added + eventOut MFNode events_removed IS events_removed + eventOut MFNode avatars_added IS avatars_added + eventOut MFNode avatars_removed IS avatars_removed + eventOut MFNode objects_added IS objects_added + eventOut MFNode objects_removed IS objects_removed + eventIn SFInt32 set_myAvatarGesture IS set_myAvatarGesture + eventIn SFInt32 myAvatarGestureFromServer IS myAvatarGestureFromServer + eventOut SFInt32 myAvatarGesture_changed IS myAvatarGesture_changed + eventOut SFInt32 myAvatarGestureToServer IS myAvatarGestureToServer + eventOut SFString myAvatarURL_changed IS myAvatarURL_changed + exposedField MFString sendToChat IS sendToChat + exposedField SFFloat beamToDistance IS beamToDistance + exposedField MFString groupChatName IS groupChatName + exposedField MFString groupChat IS groupChat +url "vrmlscript: + function addEvents(value, time) { events_added = value; } + function addAvatars(value, time) { avatars_added = value; } + function addObjects(value, time) { objects_added = value; } + function removeEvents(value, time) { events_removed = value; } + function removeAvatars(value, time) { avatars_removed = value; } + function removeObjects(value, time) { objects_removed = value; } + function set_myAvatarGesture(value, time) { myAvatarGestureToServer = value; } + function myAvatarGestureFromServer(value, time) { myAvatarGesture_changed = value; } + function set_myAvatarURL(value, time) { myAvatarURL_changed = value; } +" +} + +EXTERNPROTO malldirectory[ +field SFVec3f position +]"/externprotos/malldirectory/malldirectory.wrl#MallDirectory" + +Group{#directory +children malldirectory{position 75 0 -5} +} + + + +PROTO EmptyObject[exposedField SFString name "" exposedField MFString attributes [] exposedField MFNode children []]{} + + +PROTO ObjectDirectory[ +eventIn MFNode addObjects +eventIn MFNode removeObjects +field SFVec3f position 0 0 0 +field SFRotation rotation 0 1 0 0 +field MFNode object [] +field MFString goSound [] +field MFString enterSound [] +field MFString exitSound [] +field MFString clickSound [] +eventOut SFBool isActive +]{ +Transform{translation IS position rotation IS rotation bboxSize 4 6 4 +children[ + +#Viewpoint{position 0 1.75 6 description"Object Catalog"} + +DEF sense ProximitySensor{size 14 14 14} + +DEF obj3D_clock TimeSensor{cycleInterval 8 loop TRUE enabled FALSE} +DEF obj3D_interp OrientationInterpolator{key[0,.5,1]keyValue[0 1 0 0,0 1 0 3.142,0 1 0 6.284]} + +DEF dim_switch Switch{ +whichChoice -1 +choice[ +Transform { +children Shape { +appearance Appearance {material Material +{diffuseColor 0 1 0 specularColor 0 0 0} texture DEF THB_texture ImageTexture{} } +geometry IndexedFaceSet { +coord Coordinate {point[ + +-.95 3 0, +-.95 1.4 0, +.95 1.4 0, +.95 3 0 +]} +coordIndex [ 0, 1, 2, 3, -1 ] + +texCoord TextureCoordinate{point[0 1,0 0,1 0,1 1]} +texCoordIndex[0,1,2,3,-1] +}}} +DEF obj3D Transform{translation 0 3 -2} +]}#END Switch + +LOD {range 25 +level [ +Transform { +children[ + +#Transform{children Shape{appearance Appearance{material Material{diffuseColor 1 0 0}}geometry IndexedFaceSet{ccw FALSEcoords Coordinate{point[-20 20 -20,20 20 -20,20 -20 -20,-20 -20 -20]}coordIndex[0,1,2,3,-1]}}} + +Transform {translation 0 3.55 .1 +children Shape { +appearance Appearance {material Material {diffuseColor .62 .55 .26}} +geometry Text { +fontStyle FontStyle {size .6 family "SANS" style "BOLD" justify "MIDDLE"} +string "CATALOG" +}} +} + +Transform{ translation 0 .8 .2 rotation 1 0 0 -1 +children PopUp{ +height 450 +width 400 +status "no" +url "cat_instruct.html" +children[ +Transform{rotation 1 0 0 1.571 children Shape{appearance Appearance{material Material{diffuseColor 0 0 1}}geometry Cylinder{radius .1 height .1}}} +Transform{translation 0 -.09 .05 children Shape{appearance Appearance{material Material{diffuseColor 0 1 0 emissiveColor 0 .7 .7 specularColor 0 0 0}}geometry Text{ string ["?"] fontStyle FontStyle{ size .25 family "SANS" justify "MIDDLE" style "BOLD"}}}} +]} +} +]} +Group{} +]} + +Transform{translation 0 -1.25 0 scale 2 2 2 +children[ +Transform {children[ +DEF up_button TouchSensor{} +Shape { +appearance Appearance {material Material {diffuseColor .88 .15 .01}} +geometry IndexedFaceSet { solid FALSE +coord Coordinate {point [ .813 2 .05 .85 2.2 .05 .887 2 .05 .813 2 -.05 .85 2.2 -.05 .887 2 -.05]} +coordIndex [ 2 0 1 -1 0 1 4 3 -1 2 0 3 5 -1 1 2 5 4 -1 4 5 3 -1 ] +}} +DEF up_switch Switch{ +whichChoice -1 +choice[ +Transform {translation 1.05 2 .1 +children Shape { +appearance Appearance {material Material {diffuseColor .1 1 .1}} +geometry Text { +fontStyle FontStyle {size .25 family "SANS" style "ITALIC" justify "LEFT"} +string "Scroll Up" +}}}]} +]} +Transform {children[ +DEF down_button TouchSensor{} +Shape { +appearance Appearance {material Material {diffuseColor .88 .15 .01}} +geometry IndexedFaceSet { solid FALSE +coord Coordinate {point [ .887 1.5 .05 .85 1.3 .05 .813 1.5 .05 .887 1.5 -.05 .85 1.3 -.05 .813 1.5 -.05]} +coordIndex [ 2 0 1 -1 0 1 4 3 -1 2 0 3 5 -1 1 2 5 4 -1 4 5 3 -1 ] +}} +DEF down_switch Switch{ +whichChoice -1 +choice[ +Transform {translation 1.05 1.3 .1 +children Shape { +appearance Appearance {material Material {diffuseColor .1 1 .1}} +geometry Text { +fontStyle FontStyle {size .25 family "SANS" style "ITALIC" justify "LEFT"} +string "Scroll Down" +}}}]} +]} +Transform { translation .85 1.75 0 rotation 1 0 0 1.57 children[ +DEF go_button TouchSensor{} +Shape { +appearance Appearance {material Material {diffuseColor .0251 .69 .0349 specularColor .36 .54 .522}} +geometry Cylinder {radius .05 height .1} +} +DEF go_switch Switch{ +whichChoice -1 +choice[ +Transform {translation .2 .09 .1 rotation 1 0 0 -1.571 +children Shape { +appearance Appearance {material Material {diffuseColor .1 1 .1}} +geometry DEF go_text Text { +fontStyle FontStyle {size .25 family "SANS" style "ITALIC" justify "LEFT"} +string "View in 3D" +}}}]} +]} +]} + +LOD {range [25] +level [ +Transform {translation -.75 .7 0 scale 1.75 1.75 1 children [ +Transform {translation -.65 1.35 0 +children Shape { +appearance Appearance {material Material {diffuseColor .1 1 .1}} +geometry DEF objectName Text { +fontStyle FontStyle {size .2 family "SANS" style "ITALIC" justify "LEFT"} +string "" +}}} +Transform {translation -.6 .25 0 +children Shape { +appearance DEF objectText Appearance {material Material {diffuseColor .79 .431 .0255}} +geometry DEF objectPrice Text { +fontStyle FontStyle {size .25 family "SANS" style "ITALIC" justify "LEFT"} +string "" +}}} +Transform {translation .3 .25 0 +children Shape { +appearance USE objectText +geometry DEF objectAvailability Text { +fontStyle FontStyle {size .2 family "SANS" style "ITALIC" justify "LEFT"} +string "" +}}} +]} +Transform {children []} +]} #END object name text LOD +DEF soundProx ProximitySensor{size 20 8 20 isActive IS isActive} +Sound{intensity 1 +source DEF enterSound AudioClip{url IS enterSound loop FALSE} +maxBack 5000 maxFront 5000 minBack 10 minFront 10 +} +Sound{intensity 1 +source DEF exitSound AudioClip{url IS exitSound loop FALSE} +maxBack 5000 maxFront 5000 minBack 10 minFront 10 +} +Sound{intensity 1 +source DEF clickSound AudioClip{url IS clickSound loop FALSE} +maxBack 5000 maxFront 5000 minBack 10 minFront 10 +} +Sound{intensity 1 +source DEF goSound AudioClip{url IS goSound loop FALSE} +maxBack 5000 maxFront 5000 minBack 10 minFront 10 +} + +DEF DS Script{ +eventIn SFTime set_up +eventIn SFTime set_down +eventIn SFTime set_go +eventIn SFTime set_prox +eventIn MFNode addObjects IS addObjects +eventIn MFNode removeObjects IS removeObjects +field SFInt32 index 0 +field SFInt32 max 0 +field SFFloat currentVersion 4.3 +field SFBool isShort TRUE +field MFNode object IS object +field SFNode emptyNode EmptyObject{name "empty"} +field SFNode obj3D USE obj3D +field MFString emptyTHB [] +field SFBool is2D TRUE +eventOut MFString sName_changed +eventOut MFString sPrice_changed +eventOut MFString sAvail_changed +eventOut SFInt32 dimensionChoice_changed +eventOut MFString goOver_changed +eventOut MFString THB_changed +eventOut MFNode children_changed +eventOut MFString texture_changed +eventIn SFBool up_over +eventIn SFBool down_over +eventIn SFBool go_over +eventOut SFInt32 up_choice +eventOut SFInt32 down_choice +eventOut SFInt32 go_choice +url"vrmlscript: +function parseInt(v){ + n = new MFNode(); + newString = new SFString('Switch{whichChoice '+v+'}'); + n = Browser.createVrmlFromString(newString); + return n[0].whichChoice; +} +function parseFloat(v){ + newString = 'Sphere{radius '+v+'}'; + n = Browser.createVrmlFromString(newString); + return n[0].radius; +} + + +function addObjects(v,t){ + + isSame = new SFBool(); isSame = false; + place = -1; + for(i = 0;i < object.length;i++){ + if(object[i].name == v[0].name){isSame = true;} + } + if(!isSame){object[object.length - 1] = v[0]; max += 1;object[object.length] = emptyNode;} + +} + + +function removeObjects(v,t){ + for(i = 0;i < object.length;i++){ + if(object[i].name == v[0].name){object[i] = emptyNode;} + } + max -= 1; +} + + +function getPRC(v){ + if(Browser.getVersion() < currentVersion){return;} + for(i = 1; i <= object[v].attributes.length; i += 2){ + if(object[v].attributes[i - 1] == 'PRC'){PRC = parseInt(object[v].attributes[i]);} + } + return PRC; +} +function getCNT(v){ + if(Browser.getVersion() < currentVersion){return;} + for(i = 1; i <= object[v].attributes.length; i += 2){ + if(object[v].attributes[i - 1] == 'CNT'){CNT = parseInt(object[v].attributes[i]);} + } + return CNT; +} +function send(){ + if(Browser.getVersion() < currentVersion){ + is2D = false; + dimensionChoice_changed = 1; + obj3D.set_children = object[index].children; + sName_changed = new MFString(object[index].name); + sPrice_changed = new MFString(''); + sAvail_changed = new MFString(''); + } + else{ + is2D = true; + dimensionChoice_changed = 0; + sName_changed = new MFString(object[index].name); + sPrice_changed = new MFString('$'+getPRC(index)); + sAvail_changed = new MFString(getCNT(index)); + for(i = 1; i <= object[index].attributes.length; i += 2){ + if(object[index].attributes[i - 1] == 'IMG'){texture_changed = new MFString(object[index].attributes[i]);} + } + } +} +function set_down(v,t){ + index += 1; + if(index > max - 1){index = max - 1;} + send(); +} +function set_up(v,t){ + index -= 1; + if(index <0){index = 0;} + send(); +} +function set_go(v,t){ + if(Browser.getVersion() < currentVersion){return;} + if(is2D){ + goOver_changed = new MFString('View in 2D'); + dimensionChoice_changed = 1; + obj3D.set_children = object[index].children; + is2D = false; + } + else{ + goOver_changed = new MFString('View in 3D'); + dimensionChoice_changed = 0; + obj3D.set_children = new MFNode(); + is2D = true; + } +} +function set_prox(v,t){ + index = 0; + send(); +} +function up_over(v,t){ + if(v){up_choice = 0;} + else{up_choice = -1;} +} +function down_over(v,t){ + if(v){down_choice = 0;} + else{down_choice = -1;} +} +function go_over(v,t){ + if(v){go_choice = 0;} + else{go_choice = -1;} +} +function initialize(){ + object[0] = emptyNode; + if(Browser.getVersion() < currentVersion){ + goOver_changed = new MFString(''); + is2D = false; + dimensionChoice_changed = 1; + } +} +"} +]} +ROUTE DS.sName_changed TO objectName.set_string +ROUTE DS.sPrice_changed TO objectPrice.set_string +ROUTE DS.sAvail_changed TO objectAvailability.set_string +ROUTE DS.THB_changed TO THB_texture.set_url +ROUTE DS.children_changed TO obj3D.set_children +ROUTE DS.dimensionChoice_changed TO dim_switch.set_whichChoice +ROUTE up_button.touchTime TO DS.set_up +ROUTE down_button.touchTime TO DS.set_down +ROUTE go_button.touchTime TO DS.set_go +ROUTE up_button.touchTime TO clickSound.set_startTime +ROUTE down_button.touchTime TO clickSound.set_startTime +ROUTE go_button.touchTime TO goSound.set_startTime +ROUTE soundProx.enterTime TO enterSound.set_startTime +ROUTE soundProx.exitTime TO exitSound.set_startTime +ROUTE up_button.isOver TO DS.up_over +ROUTE DS.up_choice TO up_switch.set_whichChoice +ROUTE down_button.isOver TO DS.down_over +ROUTE DS.down_choice TO down_switch.set_whichChoice +ROUTE go_button.isOver TO DS.go_over +ROUTE DS.go_choice TO go_switch.set_whichChoice +ROUTE DS.goOver_changed TO go_text.set_string +ROUTE DS.texture_changed TO THB_texture.set_url +ROUTE sense.isActive TO obj3D_clock.set_enabled +ROUTE sense.enterTime TO DS.set_prox +ROUTE obj3D_clock.fraction_changed TO obj3D_interp.set_fraction +ROUTE obj3D_interp.value_changed TO obj3D.set_rotation +}#END ObjectDirectory PROTO + + + + + + +DEF SharedZone BlaxxunZone {} + + + + +#-------------------put object directory here +#Transform{translation 0 0 -11.2 +#children[ +#DEF Dir ObjectDirectory{} +#]} +#-------------------end object directory +#ROUTE SharedZone.objects_added TO Dir.addObjects +#ROUTE SharedZone.objects_removed TO Dir.removeObjects +DEF dad_Global_1 Transform { + translation 125 -100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_1 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_2 Transform { + translation 125 100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_2 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_3 Transform { + translation -125 100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_3 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_4 Transform { + translation -125 -100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_4 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +NavigationInfo { + avatarSize [ 0.25, 1.75, 0.75 ] + headlight FALSE +} +Transform { + children [ + Shape { + appearance Appearance { + texture ImageTexture { + url "wall_9e.jpg" + } + + textureTransform TextureTransform { + scale 6 2 + center 0.5 0.5 + } + + } + + geometry DEF _0 IndexedFaceSet { + coord Coordinate { + point [ 79.52 0 49.64, + -119.2 0 49.64, + 92.24 60.72 57.58, + -131.9 60.72 57.58, + 79.52 0 -49.64, + 92.24 60.72 -57.58, + -119.2 0 -49.64, + -131.9 60.72 -57.58 ] + } + + coordIndex [ 4, 5, 7, 6, -1, 0, 2, 5, + 4, -1, 1, 3, 2, 0, -1, 6, + 7, 3, 1, -1 ] + texCoord TextureCoordinate { + point [ 1.93 -0.27, + 0.213 -0.267, + 0.923 -0.235, + 0.992 0.288, + -0.008 0.288, + 0.061 -0.235, + 1.938 -0.262, + 2.05 0.297, + 0.1 0.304, + 0.212 -0.255, + 0.05 -0.275, + -0.021 0.3, + 1.004 0.3, + 0.933 -0.275, + 0.101 0.301, + 2.042 0.299 ] + } + + creaseAngle 3 + normalIndex [ ] + texCoordIndex [ 6, 7, 8, 9, -1, 10, 11, 12, + 13, -1, 1, 14, 15, 0, -1, 2, + 3, 4, 5, -1 ] + } + + } + Transform { + children [ + Transform { + children Shape { + appearance Appearance { + texture ImageTexture { + url "cityscape256b.jpg" + } + + textureTransform TextureTransform { + scale 2 1 + center 0.5 0.5 + } + + } + + geometry DEF _1 IndexedFaceSet { + coord Coordinate { + point [ 92.24 60.72 57.58, + -131.9 60.72 57.58, + -131.9 72.119 57.58, + 92.24 72.119 57.58, + 92.24 60.72 -57.58, + 92.24 72.119 -57.58, + -131.9 60.72 -57.58, + -131.9 72.119 -57.58 ] + } + + coordIndex [ 4, 0, 3, 5, -1, 2, 3, 0, + 1, -1, 7, 2, 1, 6, -1, 5, + 7, 6, 4, -1 ] + texCoord TextureCoordinate { + point [ 0.825 -0.005, + 0.826 0.995, + 0.001 1, + 0.823 0.982, + -0.002 0.987, + 0 0, + 0.677 0.001, + 0.68 0.988, + 0.001 0.994, + 0.826 0.989 ] + } + + creaseAngle 3 + normalIndex [ ] + texCoordIndex [ 6, 5, 2, 7, -1, 8, 9, 0, + 5, -1, 1, 2, 5, 0, -1, 3, + 4, 5, 0, -1 ] + } + + } + + translation 1.66558 -372.477 -4.81706e-010 + scale 1.08399 6.76018 1.08399 + } + Transform { + children Shape { + appearance Appearance { + texture ImageTexture { + url "starsky.jpg" + } + + textureTransform TextureTransform { + scale 10 10 + } + + } + + geometry DEF _2 IndexedFaceSet { + coord Coordinate { + point [ 92.24 72.119 57.58, + -131.9 72.119 57.58, + -76.583 83.128 29.159, + 36.923 83.128 29.159, + 92.24 72.119 -57.58, + 36.923 83.128 -29.159, + -131.9 72.119 -57.58, + -76.583 83.128 -29.159 ] + } + + coordIndex [ 0, 1, 2, 3, -1, 4, 0, 3, + 5, -1, 1, 6, 7, 2, -1, 6, + 4, 5, 7, -1, 7, 5, 3, 2, + -1 ] + texCoord TextureCoordinate { + point [ 0.314 0.989, + 0.101 0.562, + -0.31 0.558, + 0.105 0.566, + 0.314 0.997, + 0.101 0.57, + -0.59 0.997, + -0.306 0.558, + 0.314 0.993, + -0.577 0.993, + -0.31 0.553, + -0.582 0.993, + -0.306 0.562, + 0.31 0.993, + -0.586 0.993, + -0.418 0.993, + 0.294 0.992, + 0.294 0.619, + -0.418 0.621 ] + } + + creaseAngle 3.14159 + normalIndex [ ] + texCoordIndex [ 8, 9, 10, 1, -1, 11, 0, 3, + 12, -1, 1, 13, 14, 2, -1, 6, + 4, 5, 7, -1, 15, 16, 17, 18, + -1 ] + } + + } + + translation 5.14457 -457.407 1.12799e-009 + scale 1.25943 7.8543 1.25943 + } + ] + translation 0 10 0 + scale 2 2 2 + } + Transform { + children Shape { + appearance Appearance { + texture ImageTexture { + url "floor2.jpg" + } + + textureTransform TextureTransform { + scale 8 8 + center 0.5 0.5 + } + + } + + geometry DEF _3 IndexedFaceSet { + coord DEF Box01-COORD Coordinate { + point [ -119.2 0 49.64, + 79.52 0 49.64, + -119.2 0 -49.64, + 79.52 0 -49.64 ] + } + + coordIndex [ 2, 0, 3, -1, 1, 3, 0, -1 ] + texCoord DEF Box01-TEXCOORD TextureCoordinate { + point [ 1 1, + 0 1, + 1 0, + 0 0 ] + } + + creaseAngle 3 + normalIndex [ ] + texCoordIndex [ 1, 3, 0, -1, 2, 0, 3, -1 ] + } + + } + + translation -0.085194 1.24754e-007 -0.324532 + } + Transform { + children Shape { + appearance Appearance { + texture ImageTexture { + url "block.jpg" + } + + textureTransform TextureTransform { + scale 5 5 + center 0.5 0.5 + } + + } + + geometry DEF _5 IndexedFaceSet { + coord Coordinate { + point [ 92.24 80.72 57.58, + -131.9 80.72 57.58, + 92.24 80.72 -57.58, + -131.9 80.72 -57.58, + -131.9 80.72 0, + 92.24 80.72 0 ] + } + + coordIndex [ 2, 5, 4, 3, -1, 5, 0, 1, + 4, -1 ] + texCoord TextureCoordinate { + point [ -0.029 -0.006, + 1.612 -0.008, + -0.033 -0.012, + 1.616 -0.002, + -0.029 0.414, + 1.616 0.418 ] + } + + normalIndex [ ] + texCoordIndex [ 1, 5, 4, 2, -1, 5, 3, 0, + 4, -1 ] + } + + } + + } + DEF chsl_6 Shape { + appearance DEF chsl_7 Appearance { + material Material { + ambientIntensity 0.1 + diffuseColor 0.55 0.55 0.55 + specularColor 0.9 0.9 0.9 + shininess 0.2875 + } + + } + + geometry DEF _8 IndexedFaceSet { + coord USE Box01-COORD + + normalIndex [ ] + texCoordIndex [ ] + } + + } + USE chsl_6 + USE chsl_6 + USE chsl_6 + USE chsl_6 + ] + translation -0.07481 0.3988 -0.03547 + scale 1 0.369 1 +} +Transform { + children Shape { + appearance DEF chsl_9 Appearance { + texture ImageTexture { + url "bsuppot_2.jpg" + } + + textureTransform TextureTransform { + scale 1 1 + center 0.5 0.5 + } + + } + + geometry DEF _10 IndexedFaceSet { + coord Coordinate { + point [ -24.59 0 1.826, + -20.94 0 1.826, + -24.59 0 -1.826, + -20.94 0 -1.826, + -37.44 22.96 -5.855, + -33.79 22.96 -5.855, + -37.44 22.96 -9.508, + -33.79 22.96 -9.508 ] + } + + coordIndex [ 0, 2, 3, 1, -1, 4, 5, 7, + 6, -1, 0, 1, 5, 4, -1, 1, + 3, 7, 5, -1, 3, 2, 6, 7, + -1, 2, 0, 4, 6, -1 ] + texCoord DEF chsl_11 TextureCoordinate { + point [ 0 0, + 1 0, + 0 1, + 1 1 ] + } + + normalIndex [ ] + texCoordIndex [ 1, 3, 2, 0, -1, 0, 1, 3, + 2, -1, 0, 1, 3, 2, -1, 0, + 1, 3, 2, -1, 0, 1, 3, 2, + -1, 0, 1, 3, 2, -1 ] + } + + } + + translation -94.59 0 -47.91 +} +Transform { + children Shape { + appearance USE chsl_9 + + geometry DEF _12 IndexedFaceSet { + coord Coordinate { + point [ 1.826 0 -1.826, + -1.826 0 -1.826, + 1.826 0 1.826, + -1.826 0 1.826, + 14.67 -22.96 5.855, + 11.02 -22.96 5.855, + 14.67 -22.96 9.508, + 11.02 -22.96 9.508 ] + } + + coordIndex [ 0, 2, 3, 1, -1, 4, 5, 7, + 6, -1, 0, 1, 5, 4, -1, 1, + 3, 7, 5, -1, 3, 2, 6, 7, + -1, 2, 0, 4, 6, -1 ] + texCoord USE chsl_11 + + ccw FALSE + normalIndex [ ] + texCoordIndex [ 1, 3, 2, 0, -1, 0, 1, 3, + 2, -1, 0, 1, 3, 2, -1, 0, + 1, 3, 2, -1, 0, 1, 3, 2, + -1, 0, 1, 3, 2, -1 ] + } + + } + + translation 77.41 0 -47.91 + rotation -1 0 0 3.142 +} +Transform { + children Shape { + appearance USE chsl_9 + + geometry DEF _13 IndexedFaceSet { + coord Coordinate { + point [ -1.826 0 1.826, + 1.826 0 1.826, + -1.826 0 -1.826, + 1.826 0 -1.826, + -14.67 22.96 -5.855, + -11.02 22.96 -5.855, + -14.67 22.96 -9.508, + -11.02 22.96 -9.508 ] + } + + coordIndex [ 0, 2, 3, 1, -1, 4, 5, 7, + 6, -1, 0, 1, 5, 4, -1, 1, + 3, 7, 5, -1, 3, 2, 6, 7, + -1, 2, 0, 4, 6, -1 ] + texCoord USE chsl_11 + + normalIndex [ ] + texCoordIndex [ 1, 3, 2, 0, -1, 0, 1, 3, + 2, -1, 0, 1, 3, 2, -1, 0, + 1, 3, 2, -1, 0, 1, 3, 2, + -1, 0, 1, 3, 2, -1 ] + } + + } + + translation 77.41 0 48.08 + rotation 0 -1 0 3.133 +} +Transform { + children Shape { + appearance USE chsl_9 + + geometry DEF _14 IndexedFaceSet { + coord Coordinate { + point [ 24.59 0 -1.628, + 20.94 0 -1.628, + 24.59 0 2.025, + 20.94 0 2.025, + 37.44 -22.96 6.053, + 33.79 -22.96 6.053, + 37.44 -22.96 9.706, + 33.79 -22.96 9.706 ] + } + + coordIndex [ 0, 2, 3, 1, -1, 4, 5, 7, + 6, -1, 0, 1, 5, 4, -1, 1, + 3, 7, 5, -1, 3, 2, 6, 7, + -1, 2, 0, 4, 6, -1 ] + texCoord USE chsl_11 + + ccw FALSE + normalIndex [ ] + texCoordIndex [ 1, 3, 2, 0, -1, 0, 1, 3, + 2, -1, 0, 1, 3, 2, -1, 0, + 1, 3, 2, -1, 0, 1, 3, 2, + -1, 0, 1, 3, 2, -1 ] + } + + } + + translation -94.56 0 48.08 + rotation -0.004362 0 0.99999 3.142 +} +Transform { + children DEF chsl_15 Shape { + appearance USE chsl_9 + + geometry DEF _16 IndexedFaceSet { + coord Coordinate { + point [ -1.131 0 1.131, + 1.131 0 1.131, + -1.131 0 -1.131, + 1.131 0 -1.131, + -1.131 30.03 1.131, + 1.131 30.03 1.131, + -1.131 30.03 -1.131, + 1.131 30.03 -1.131 ] + } + + coordIndex [ 0, 2, 3, -1, 3, 1, 0, -1, + 4, 5, 7, -1, 7, 6, 4, -1, + 0, 1, 5, -1, 5, 4, 0, -1, + 1, 3, 7, -1, 7, 5, 1, -1, + 3, 2, 6, -1, 6, 7, 3, -1, + 2, 0, 4, -1, 4, 6, 2, -1 ] + texCoord DEF chsl_17 TextureCoordinate { + point [ 1 0.114, + 0 0.114, + 1 1.113, + 0 1.113, + 1 0, + 1 1, + 0 1, + 0 0 ] + } + + creaseAngle 3 + normalIndex [ ] + texCoordIndex [ 4, 5, 6, -1, 6, 7, 4, -1, + 7, 4, 5, -1, 5, 6, 7, -1, + 1, 0, 2, -1, 2, 3, 1, -1, + 1, 0, 2, -1, 2, 3, 1, -1, + 1, 0, 2, -1, 2, 3, 1, -1, + 1, 0, 2, -1, 2, 3, 1, -1 ] + } + + } + + translation 75.03 0 -19.18 +} +Transform { + children USE chsl_15 + + translation 75.03 0 21.45 +} +Transform { + children DEF chsl_18 Shape { + appearance USE chsl_9 + + geometry DEF _19 IndexedFaceSet { + coord Coordinate { + point [ -40.79 0 1.131, + -38.53 0 1.131, + -40.79 0 -1.131, + -38.53 0 -1.131, + -40.79 30.03 1.131, + -38.53 30.03 1.131, + -40.79 30.03 -1.131, + -38.53 30.03 -1.131 ] + } + + coordIndex [ 0, 2, 3, -1, 3, 1, 0, -1, + 4, 5, 7, -1, 7, 6, 4, -1, + 0, 1, 5, -1, 5, 4, 0, -1, + 1, 3, 7, -1, 7, 5, 1, -1, + 3, 2, 6, -1, 6, 7, 3, -1, + 2, 0, 4, -1, 4, 6, 2, -1 ] + texCoord USE chsl_17 + + creaseAngle 3 + normalIndex [ ] + texCoordIndex [ 4, 5, 6, -1, 6, 7, 4, -1, + 7, 4, 5, -1, 5, 6, 7, -1, + 1, 0, 2, -1, 2, 3, 1, -1, + 1, 0, 2, -1, 2, 3, 1, -1, + 1, 0, 2, -1, 2, 3, 1, -1, + 1, 0, 2, -1, 2, 3, 1, -1 ] + } + + } + + translation -77.95 0 -19.18 +} +Transform { + children USE chsl_18 + + translation -77.95 0 21.45 +} +Transform { + children [ + Shape { + appearance DEF chsl_20 Appearance { + material Material { + ambientIntensity 0.1 + diffuseColor 0.2627 0.1647 0.4667 + specularColor 0.045 0.045 0.045 + shininess 0.2875 + } + + } + + geometry DEF _21 IndexedFaceSet { + coord DEF Box07-COORD Coordinate { + point [ -1.724 0 1.532, + 1.724 0 1.532, + -1.724 0 -1.532, + 1.724 0 -1.532, + -1.724 636.8 1.532, + 1.724 636.8 1.532, + -1.724 636.8 -1.532, + 1.724 636.8 -1.532 ] + } + + coordIndex [ 4, 5, 7, -1, 7, 6, 4, -1, + 1, 3, 7, -1, 7, 5, 1, -1, + 2, 0, 4, -1, 4, 6, 2, -1 ] + texCoord DEF Box07-TEXCOORD TextureCoordinate { + point [ 0.001 0.001, + 0.001 1, + 0 0.001, + 0 1, + 1 0.001, + 1 1, + 0.999 0, + 0.999 1 ] + } + + normalIndex [ ] + texCoordIndex [ ] + } + + } + Shape { + appearance USE chsl_7 + + geometry DEF _24 IndexedFaceSet { + coord USE Box07-COORD + + coordIndex [ 0, 2, 3, -1, 3, 1, 0, -1 ] + normalIndex [ ] + texCoordIndex [ ] + } + + } + DEF chsl_25 Shape { + appearance USE chsl_7 + + geometry DEF _26 IndexedFaceSet { + coord USE Box07-COORD + + normalIndex [ ] + texCoordIndex [ ] + } + + } + USE chsl_25 + Shape { + appearance DEF chsl_27 Appearance { + texture DEF chsl ImageTexture { + url "block.jpg" + } + + textureTransform TextureTransform { + scale 20 1 + } + + } + + geometry DEF _28 IndexedFaceSet { + coord USE Box07-COORD + + coordIndex [ 0, 1, 5, -1, 5, 4, 0, -1 ] + texCoord USE Box07-TEXCOORD + + normalIndex [ ] + texCoordIndex [ 0, 1, 5, -1, 5, 4, 0, -1 ] + } + + } + Shape { + appearance USE chsl_7 + + geometry DEF _29 IndexedFaceSet { + coord USE Box07-COORD + + coordIndex [ 3, 2, 6, -1, 6, 7, 3, -1 ] + normalIndex [ ] + texCoordIndex [ ] + } + + } + USE chsl_25 + USE chsl_25 + USE chsl_25 + USE chsl_25 + ] + translation 74.29 15.1 -19.4 + rotation 0.57735 -0.57735 0.57735 2.094 + scale 0.3003 0.3003 0.3003 +} +Transform { + children [ + Shape { + appearance USE chsl_20 + + geometry DEF _30 IndexedFaceSet { + coord DEF Box34-COORD Coordinate { + point [ -1.724 0 1.532, + 1.724 0 1.532, + -1.724 0 -1.532, + 1.724 0 -1.532, + -1.724 636.8 1.532, + 1.724 636.8 1.532, + -1.724 636.8 -1.532, + 1.724 636.8 -1.532 ] + } + + coordIndex [ 4, 5, 7, -1, 7, 6, 4, -1, + 1, 3, 7, -1, 7, 5, 1, -1, + 2, 0, 4, -1, 4, 6, 2, -1 ] + texCoord DEF Box34-TEXCOORD TextureCoordinate { + point [ 0.001 0.001, + 0.001 1, + 0 0.001, + 0 1, + 1 0.001, + 1 1, + 0.999 0, + 0.999 1 ] + } + + normalIndex [ ] + texCoordIndex [ ] + } + + } + Shape { + appearance USE chsl_7 + + geometry DEF _33 IndexedFaceSet { + coord USE Box34-COORD + + coordIndex [ 0, 2, 3, -1, 3, 1, 0, -1 ] + normalIndex [ ] + texCoordIndex [ ] + } + + } + DEF chsl_34 Shape { + appearance USE chsl_7 + + geometry DEF _35 IndexedFaceSet { + coord USE Box34-COORD + + normalIndex [ ] + texCoordIndex [ ] + } + + } + USE chsl_34 + Shape { + appearance USE chsl_27 + + geometry DEF _36 IndexedFaceSet { + coord USE Box34-COORD + + coordIndex [ 0, 1, 5, -1, 5, 4, 0, -1 ] + texCoord USE Box34-TEXCOORD + + normalIndex [ ] + texCoordIndex [ 0, 1, 5, -1, 5, 4, 0, -1 ] + } + + } + Shape { + appearance USE chsl_7 + + geometry DEF _37 IndexedFaceSet { + coord USE Box34-COORD + + coordIndex [ 3, 2, 6, -1, 6, 7, 3, -1 ] + normalIndex [ ] + texCoordIndex [ ] + } + + } + USE chsl_34 + USE chsl_34 + USE chsl_34 + USE chsl_34 + ] + translation 74.29 15.1 21.46 + rotation 0.57735 -0.57735 0.57735 2.094 + scale 0.3003 0.3003 0.3003 +} +Viewpoint { + position 75 2.25 0 + orientation 0 1 0 1.571 + description "Enter" +} + + +Transform{ +children[ + +DEF doors Transform { + translation 0 0.0139704 0.0810933 + scale 1 0.5 0.5 +children[ + DEF rightdoor Transform { + children Shape { + appearance Appearance { + material DEF _38 Material { + + } + + texture DEF _39 ImageTexture { + repeatS TRUE + repeatT TRUE + url "door.jpg" + } + + textureTransform DEF _40 TextureTransform { + translation 0 0 + rotation 3.142 + scale 1 1 + center 0 .05 + } + + } + + geometry DEF _41 IndexedFaceSet { + coord Coordinate { + point [ -1 1 -1.5, + -1 -1 -1.5, + -1 -1 0, + -1 1 0 ] + } + + coordIndex [ 0, 1, 2, 3, -1 ] + texCoord TextureCoordinate { + point [ 0 1, + 0 0, + 0.5 0, + 0.5 1 ] + } + + ccw TRUE + convex FALSE + creaseAngle 0.5 + normalIndex [ ] + texCoordIndex [ 0, 1, 2, 3, -1 ] + } + + } + + translation 83.0015 4.05866 -0.0375218 + rotation 1 0 0 3.14159 + scale 4.06983 4.06983 4.06983 + } + DEF rightdoorwayside Transform { + children Shape { + appearance Appearance { + material USE _38 + + texture ImageTexture { + repeatS TRUE + repeatT TRUE + url "bluefade.jpg" + } + + textureTransform USE _40 + + } + + geometry DEF _42 IndexedFaceSet { + coord Coordinate { + point [ -1 1 -1.5, + -1 -1 -1.5, + 0 -1 -1.5 ] + } + + coordIndex [ 2, 1, 0, -1 ] + texCoord TextureCoordinate { + point [ 1 1, + 1 0, + 0.5 0 ] + } + + creaseAngle 0.5 + normalIndex [ ] + texCoordIndex [ 2, 1, 0, -1 ] + } + + } + + translation 83.0015 4.05866 -0.0375218 + rotation 1 0 0 3.14159 + scale 4.06983 4.06983 4.06983 + } + DEF leftdoor Transform { + children Shape { + appearance Appearance { + material USE _38 + + texture USE _39 + + textureTransform USE _40 + + } + + geometry DEF _43 IndexedFaceSet { + coord Coordinate { + point [ -1 -1 0, + -1 -1 1.5, + -1 1 1.5, + -1 1 0 ] + } + + coordIndex [ 0, 1, 2, 3, -1 ] + texCoord TextureCoordinate { + point [ 0.5 0, + 1 0, + 1 1, + 0.5 1 ] + } + + ccw TRUE + convex FALSE + solid TRUE + creaseAngle 0.5 + normalIndex [ ] + texCoordIndex [ 0, 1, 2, 3, -1 ] + } + + } + + translation 83.0015 4.05866 -0.0375218 + rotation 1 0 0 3.14159 + scale 4.06983 4.06983 4.06983 + } + DEF leftdoorwayside Transform { + children Shape { + appearance Appearance { + material USE _38 + + texture ImageTexture { + repeatS TRUE + repeatT TRUE + url "bluefade.jpg" + } + + textureTransform USE _40 + + } + + geometry DEF _44 IndexedFaceSet { + coord Coordinate { + point [ -1 1 1.5, + -1 -1 1.5, + 0.184792 -1 1.5, + -0.91206 1 1.5 ] + } + + coordIndex [ 0, 1, 2, 3, -1 ] + texCoord TextureCoordinate { + point [ 0 1, + 0 0, + 0.592396 0, + 0.04397 1 ] + } + + creaseAngle 0.5 + normalIndex [ ] + texCoordIndex [ 0, 1, 2, 3, -1 ] + } + + } + + translation 83.0015 4.05866 -0.0375218 + rotation 1 0 0 3.14159 + scale 4.06983 4.06983 4.06983 + } + DEF doorwaytop Transform { + children Shape { + appearance Appearance { + material USE _38 + + texture ImageTexture { + repeatS TRUE + repeatT TRUE + url "bluefade.jpg" + } + + textureTransform USE _40 + + } + + geometry DEF _45 IndexedFaceSet { + coord Coordinate { + point [ 0.184792 -1 1.5, + -1 -1 1.5, + -1 -1 0, + -1 -1 -1.5, + 0 -1 -1.5 ] + } + + coordIndex [ 0, 1, 2, 3, 4, -1 ] + texCoord TextureCoordinate { + point [ 0.592396 1, + 0 1, + 0 0.5, + 0 0, + 0.5 0 ] + } + + creaseAngle 0.5 + normalIndex [ ] + texCoordIndex [ 0, 1, 2, 3, 4, -1 ] + } + + } + + translation 83.0015 4.05866 -0.0375218 + rotation 1 0 0 3.14159 + scale 4.06983 4.06983 4.06983 + } +DEF over_switch Switch { +whichChoice -1 +choice[ + +Transform {#text +children Shape { +appearance Appearance {material Material { + +diffuseColor .1 1 .1 +}} +geometry Text { +fontStyle FontStyle {size 1 family "SANS" style "ITALIC" justify "MIDDLE"} +string "Back To Mall" +}}#end shape +translation 77 4.25 0 rotation 0 -1 0 1.572 +} + +]}#end switch + + +DEF doors_button TouchSensor {} +DEF linker Script { +eventIn SFTime link +eventIn SFBool set_over +eventOut SFInt32 over_changed +field MFString loadUrl "/#/place/mall" +field MFString loadParam "target=_top" +url "vrmlscript: +function link(v) {Browser.loadURL(loadUrl,loadParam);} +function set_over(v,t){if(v){over_changed = 0;}else{over_changed = -1;}} +"} + + +] +ROUTE doors_button.touchTime TO linker.link +ROUTE doors_button.isOver TO linker.set_over +ROUTE linker.over_changed TO over_switch.set_whichChoice +} + +]}#end doors transform + + +############### + + + + + diff --git a/spa/assets/worlds/shop/vrml/largeitems/starsky.jpg b/spa/assets/worlds/shop/vrml/largeitems/starsky.jpg new file mode 100644 index 00000000..d0652f4b Binary files /dev/null and b/spa/assets/worlds/shop/vrml/largeitems/starsky.jpg differ diff --git a/spa/assets/worlds/shop/vrml/largeitems/support_1.jpg b/spa/assets/worlds/shop/vrml/largeitems/support_1.jpg new file mode 100644 index 00000000..884856b0 Binary files /dev/null and b/spa/assets/worlds/shop/vrml/largeitems/support_1.jpg differ diff --git a/spa/assets/worlds/shop/vrml/largeitems/wall_9e.jpg b/spa/assets/worlds/shop/vrml/largeitems/wall_9e.jpg new file mode 100644 index 00000000..861d3245 Binary files /dev/null and b/spa/assets/worlds/shop/vrml/largeitems/wall_9e.jpg differ diff --git a/spa/assets/worlds/shop/vrml/shop.wrl b/spa/assets/worlds/shop/vrml/shop.wrl new file mode 100644 index 00000000..3294ba97 --- /dev/null +++ b/spa/assets/worlds/shop/vrml/shop.wrl @@ -0,0 +1,954 @@ +#VRML V2.0 utf8 + +PROTO PopUp[ +eventIn SFTime set_pop +field SFString url "" +field MFNode children [] +eventOut SFBool isOver +]{ +Group{children[ +DEF button TouchSensor{isOver IS isOver} +Group{children IS children} +DEF pop Script{ +eventIn SFTime set_pop +field SFString linkURL IS url +field MFString param ["target=action"] +url"vrmlscript: +function set_pop(v,t){ + u = new MFString(linkURL); + Browser.loadURL(u,param); +} +"} +]} +ROUTE button.touchTime TO pop.set_pop +}#END PopUp PROTO + +EXTERNPROTO BlaxxunZone [ +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars +exposedField MFNode events +exposedField MFNode avatars +eventOut MFNode events_added +eventOut MFNode events_removed +eventOut MFNode avatars_added +eventOut MFNode avatars_removed +eventIn SFInt32 set_myAvatarGesture +eventIn SFInt32 myAvatarGestureFromServer +eventOut SFInt32 myAvatarGesture_changed +eventOut SFInt32 myAvatarGestureToServer +exposedField MFString sendToChat +exposedField SFFloat beamToDistance +exposedField MFString groupChatName +exposedField MFString groupChat +] "/externprotos/shared_xite.wrl#BlaxxunZone" + +EXTERNPROTO SharedObject [ +exposedField SFVec3f translation +exposedField SFRotation rotation +exposedField MFNode children +exposedField SFString name +exposedField SFString id +eventIn SFBool startMove +eventOut SFBool isOver +eventOut SFTime touchTime +eventOut SFVec3f newPosition +eventOut SFRotation newRotation +] "/externprotos/shared_xite.wrl#SharedObject" + +EXTERNPROTO SharedEvent [ +exposedField SFString name +exposedField SFString type +eventIn SFTime set_time +eventOut SFTime timeToServer +eventIn SFTime timeFromServer +eventOut SFTime time_changed +] [ "/externprotos/shared_xite.wrl#SharedEvent" ] + + + +PROTO BlaxxunZone [#PROTO supplied by BLAXXUN +eventIn MFNode addEvents +eventIn MFNode removeEvents +eventIn MFNode addAvatars +eventIn MFNode removeAvatars +exposedField MFNode events [] +exposedField MFNode avatars [] +exposedField SFString myAvatarURL "" +exposedField SFString myAvatarName "" +exposedField SFFloat number_avatars 0 +eventOut MFNode avatars_added +eventOut MFNode avatars_removed +exposedField MFNode avatarLOD [] +exposedField MFFloat avatarRange [] +]{ +Transform { +addChildren IS addEvents +removeChildren IS removeEvents +children IS events +} +Transform { + addChildren IS addAvatars + removeChildren IS removeAvatars + children IS avatars +} +}# END BlaxxunZone + +DEF SharedZone BlaxxunZone { + events [ + + ] +} +DEF S Script { + eventIn MFNode addEvents IS addEvents + eventIn MFNode removeEvents IS removeEvents + eventIn MFNode addAvatars IS addAvatars + eventIn MFNode removeAvatars IS removeAvatars + eventIn MFNode addObjects IS addObjects + eventIn MFNode removeObjects IS removeObjects + eventIn SFString set_myAvatarURL IS set_myAvatarURL + eventOut MFNode events_added IS events_added + eventOut MFNode events_removed IS events_removed + eventOut MFNode avatars_added IS avatars_added + eventOut MFNode avatars_removed IS avatars_removed + eventOut MFNode objects_added IS objects_added + eventOut MFNode objects_removed IS objects_removed + eventIn SFInt32 set_myAvatarGesture IS set_myAvatarGesture + eventIn SFInt32 myAvatarGestureFromServer IS myAvatarGestureFromServer + eventOut SFInt32 myAvatarGesture_changed IS myAvatarGesture_changed + eventOut SFInt32 myAvatarGestureToServer IS myAvatarGestureToServer + eventOut SFString myAvatarURL_changed IS myAvatarURL_changed + exposedField MFString sendToChat IS sendToChat + exposedField SFFloat beamToDistance IS beamToDistance + exposedField MFString groupChatName IS groupChatName + exposedField MFString groupChat IS groupChat +url "vrmlscript: + function addEvents(value, time) { events_added = value; } + function addAvatars(value, time) { avatars_added = value; } + function addObjects(value, time) { objects_added = value; } + function removeEvents(value, time) { events_removed = value; } + function removeAvatars(value, time) { avatars_removed = value; } + function removeObjects(value, time) { objects_removed = value; } + function set_myAvatarGesture(value, time) { myAvatarGestureToServer = value; } + function myAvatarGestureFromServer(value, time) { myAvatarGesture_changed = value; } + function set_myAvatarURL(value, time) { myAvatarURL_changed = value; } +" +} + + + + + +PROTO EmptyObject[exposedField SFString name "" exposedField MFString attributes [] exposedField MFNode children []]{} + + +PROTO ObjectDirectory[ +eventIn MFNode addObjects +eventIn MFNode removeObjects +field SFVec3f position 0 0 0 +field SFRotation rotation 0 1 0 0 +field MFNode object [] +field MFString goSound [] +field MFString enterSound [] +field MFString exitSound [] +field MFString clickSound [] +eventOut SFBool isActive +]{ +Transform{translation IS position rotation IS rotation bboxSize 4 6 4 +children[ + +Viewpoint{position 0 1.75 6 description"Object Catalog"} + +DEF sense ProximitySensor{size 14 14 14} + +DEF obj3D_clock TimeSensor{cycleInterval 8 loop TRUE enabled FALSE} +DEF obj3D_interp OrientationInterpolator{key[0,.5,1]keyValue[0 1 0 0,0 1 0 3.142,0 1 0 6.284]} + +DEF dim_switch Switch{ +whichChoice -1 +choice[ +Transform { +children Shape { +appearance Appearance {material Material +{diffuseColor 0 1 0 specularColor 0 0 0} texture DEF THB_texture ImageTexture{} } +geometry IndexedFaceSet { +coord Coordinate {point[ + +-.95 3 0, +-.95 1.4 0, +.95 1.4 0, +.95 3 0 +]} +coordIndex [ 0, 1, 2, 3, -1 ] + +texCoord TextureCoordinate{point[0 1,0 0,1 0,1 1]} +texCoordIndex[0,1,2,3,-1] +}}} +DEF obj3D Transform{translation 0 3 -2} +]}#END Switch + +LOD {range 25 +level [ +Transform { +children[ + +#Transform{children Shape{appearance Appearance{material Material{diffuseColor 1 0 0}}geometry IndexedFaceSet{ccw FALSEcoords Coordinate{point[-20 20 -20,20 20 -20,20 -20 -20,-20 -20 -20]}coordIndex[0,1,2,3,-1]}}} + +Transform {translation 0 3.55 .1 +children Shape { +appearance Appearance {material Material {diffuseColor .62 .55 .26}} +geometry Text { +fontStyle FontStyle {size .6 family "SANS" style "BOLD" justify "MIDDLE"} +string "CATALOG" +}} +} + +#Transform{ translation 0 .8 .2 rotation 1 0 0 -1 +#children PopUp{ +#url "javascript:loadCustom('/places/shop/vrml/cat_instruct.html','400','450')" +#children[ +#Transform{rotation 1 0 0 1.571 children Shape{appearance Appearance{material Material{diffuseColor 0 0 1}}geometry Cylinder{radius .1 height .1}}} +#Transform{translation 0 -.09 .05 children Shape{appearance Appearance{material Material{diffuseColor 0 1 0 emissiveColor 0 .7 .7 specularColor 0 0 0}}geometry Text{ string ["?"] fontStyle FontStyle{ size .25 family "SANS" justify "MIDDLE" style "BOLD"}}}} +#]} +#} +]} +Group{} +]} + +Transform{translation 0 -1.25 0 scale 2 2 2 +children[ +Transform {children[ +DEF up_button TouchSensor{} +Shape { +appearance Appearance {material Material {diffuseColor .88 .15 .01}} +geometry IndexedFaceSet { solid FALSE +coord Coordinate {point [ .813 2 .05 .85 2.2 .05 .887 2 .05 .813 2 -.05 .85 2.2 -.05 .887 2 -.05]} +coordIndex [ 2 0 1 -1 0 1 4 3 -1 2 0 3 5 -1 1 2 5 4 -1 4 5 3 -1 ] +}} +DEF up_switch Switch{ +whichChoice -1 +choice[ +Transform {translation 1.05 2 .1 +children Shape { +appearance Appearance {material Material {diffuseColor .1 1 .1}} +geometry Text { +fontStyle FontStyle {size .25 family "SANS" style "ITALIC" justify "LEFT"} +string "Scroll Up" +}}}]} +]} +Transform {children[ +DEF down_button TouchSensor{} +Shape { +appearance Appearance {material Material {diffuseColor .88 .15 .01}} +geometry IndexedFaceSet { solid FALSE +coord Coordinate {point [ .887 1.5 .05 .85 1.3 .05 .813 1.5 .05 .887 1.5 -.05 .85 1.3 -.05 .813 1.5 -.05]} +coordIndex [ 2 0 1 -1 0 1 4 3 -1 2 0 3 5 -1 1 2 5 4 -1 4 5 3 -1 ] +}} +DEF down_switch Switch{ +whichChoice -1 +choice[ +Transform {translation 1.05 1.3 .1 +children Shape { +appearance Appearance {material Material {diffuseColor .1 1 .1}} +geometry Text { +fontStyle FontStyle {size .25 family "SANS" style "ITALIC" justify "LEFT"} +string "Scroll Down" +}}}]} +]} +Transform { translation .85 1.75 0 rotation 1 0 0 1.57 children[ +DEF go_button TouchSensor{} +Shape { +appearance Appearance {material Material {diffuseColor .0251 .69 .0349 specularColor .36 .54 .522}} +geometry Cylinder {radius .05 height .1} +} +DEF go_switch Switch{ +whichChoice -1 +choice[ +Transform {translation .2 .09 .1 rotation 1 0 0 -1.571 +children Shape { +appearance Appearance {material Material {diffuseColor .1 1 .1}} +geometry DEF go_text Text { +fontStyle FontStyle {size .25 family "SANS" style "ITALIC" justify "LEFT"} +string "View in 3D" +}}}]} +]} +]} + +LOD {range [25] +level [ +Transform {translation -.75 .7 0 scale 1.75 1.75 1 children [ +Transform {translation -.65 1.35 0 +children Shape { +appearance Appearance {material Material {diffuseColor .1 1 .1}} +geometry DEF objectName Text { +fontStyle FontStyle {size .2 family "SANS" style "ITALIC" justify "LEFT"} +string "" +}}} +Transform {translation -.6 .25 0 +children Shape { +appearance DEF objectText Appearance {material Material {diffuseColor .79 .431 .0255}} +geometry DEF objectPrice Text { +fontStyle FontStyle {size .25 family "SANS" style "ITALIC" justify "LEFT"} +string "" +}}} +Transform {translation .3 .25 0 +children Shape { +appearance USE objectText +geometry DEF objectAvailability Text { +fontStyle FontStyle {size .2 family "SANS" style "ITALIC" justify "LEFT"} +string "" +}}} +]} +Transform {children []} +]} #END object name text LOD +DEF soundProx ProximitySensor{size 20 8 20 isActive IS isActive} +Sound{intensity 1 +source DEF enterSound AudioClip{url IS enterSound loop FALSE} +maxBack 5000 maxFront 5000 minBack 10 minFront 10 +} +Sound{intensity 1 +source DEF exitSound AudioClip{url IS exitSound loop FALSE} +maxBack 5000 maxFront 5000 minBack 10 minFront 10 +} +Sound{intensity 1 +source DEF clickSound AudioClip{url IS clickSound loop FALSE} +maxBack 5000 maxFront 5000 minBack 10 minFront 10 +} +Sound{intensity 1 +source DEF goSound AudioClip{url IS goSound loop FALSE} +maxBack 5000 maxFront 5000 minBack 10 minFront 10 +} + +DEF DS Script{ +eventIn SFTime set_up +eventIn SFTime set_down +eventIn SFTime set_go +eventIn SFTime set_prox +eventIn MFNode addObjects IS addObjects +eventIn MFNode removeObjects IS removeObjects +field SFInt32 index 0 +field SFInt32 max 0 +field SFFloat currentVersion 100 +field SFBool isShort TRUE +field MFNode object IS object +field SFNode emptyNode EmptyObject{name ""} +field SFNode obj3D USE obj3D +field MFString emptyTHB [] +field SFBool is2D TRUE +eventOut MFString sName_changed +eventOut MFString sPrice_changed +eventOut MFString sAvail_changed +eventOut SFInt32 dimensionChoice_changed +eventOut MFString goOver_changed +eventOut MFString THB_changed +eventOut MFNode children_changed +eventOut MFString texture_changed +eventIn SFBool up_over +eventIn SFBool down_over +eventIn SFBool go_over +eventOut SFInt32 up_choice +eventOut SFInt32 down_choice +eventOut SFInt32 go_choice +url"vrmlscript: +function parseInt(v){ + n = new MFNode(); + newString = new SFString('Switch{whichChoice '+v+'}'); + n = Browser.createVrmlFromString(newString); + return n[0].whichChoice; +} +function parseFloat(v){ + newString = 'Sphere{radius '+v+'}'; + n = Browser.createVrmlFromString(newString); + return n[0].radius; +} + + +function addObjects(v,t){ + + isSame = new SFBool(); isSame = false; + place = -1; + for(i = 0;i < object.length;i++){ + if(object[i].name == v[0].name){isSame = true;} + } + if(!isSame){object[object.length - 1] = v[0]; max += 1;object[object.length] = emptyNode;} + +} + + +function removeObjects(v,t){ + for(i = 0;i < object.length;i++){ + if(object[i].name == v[0].name){object[i] = emptyNode;} + } + max -= 1; +} + + +function send(){ + is2D = false; + dimensionChoice_changed = 1; + obj3D.set_children = object[index].children; + sName_changed = new MFString(object[index].name); + sPrice_changed = new MFString(''); + sAvail_changed = new MFString(''); + +} +function set_down(v,t){ + index += 1; + if(index > max - 1){index = max - 1;} + send(); +} +function set_up(v,t){ + index -= 1; + if(index <0){index = 0;} + send(); +} +function set_go(v,t){ + if(Browser.getVersion() < currentVersion){return;} + if(is2D){ + goOver_changed = new MFString('View in 2D'); + dimensionChoice_changed = 1; + obj3D.set_children = object[index].children; + is2D = false; + } + else{ + goOver_changed = new MFString('View in 3D'); + dimensionChoice_changed = 0; + obj3D.set_children = new MFNode(); + is2D = true; + } +} +function set_prox(v,t){ + index = 0; + send(); +} +function up_over(v,t){ + if(v){up_choice = 0;} + else{up_choice = -1;} +} +function down_over(v,t){ + if(v){down_choice = 0;} + else{down_choice = -1;} +} +function go_over(v,t){ + if(v){go_choice = 0;} + else{go_choice = -1;} +} +function initialize(){ + object[0] = emptyNode; +} +"} +]} +ROUTE DS.sName_changed TO objectName.set_string +ROUTE DS.sPrice_changed TO objectPrice.set_string +ROUTE DS.sAvail_changed TO objectAvailability.set_string +ROUTE DS.THB_changed TO THB_texture.set_url +ROUTE DS.children_changed TO obj3D.set_children +ROUTE DS.dimensionChoice_changed TO dim_switch.set_whichChoice +ROUTE up_button.touchTime TO DS.set_up +ROUTE down_button.touchTime TO DS.set_down +ROUTE go_button.touchTime TO DS.set_go +ROUTE up_button.touchTime TO clickSound.set_startTime +ROUTE down_button.touchTime TO clickSound.set_startTime +ROUTE go_button.touchTime TO goSound.set_startTime +ROUTE soundProx.enterTime TO enterSound.set_startTime +ROUTE soundProx.exitTime TO exitSound.set_startTime +ROUTE up_button.isOver TO DS.up_over +ROUTE DS.up_choice TO up_switch.set_whichChoice +ROUTE down_button.isOver TO DS.down_over +ROUTE DS.down_choice TO down_switch.set_whichChoice +ROUTE go_button.isOver TO DS.go_over +ROUTE DS.go_choice TO go_switch.set_whichChoice +ROUTE DS.goOver_changed TO go_text.set_string +ROUTE DS.texture_changed TO THB_texture.set_url +ROUTE sense.isActive TO obj3D_clock.set_enabled +ROUTE sense.enterTime TO DS.set_prox +ROUTE obj3D_clock.fraction_changed TO obj3D_interp.set_fraction +ROUTE obj3D_interp.value_changed TO obj3D.set_rotation +}#END ObjectDirectory PROTO + + + + + + +DEF SharedZone BlaxxunZone {} + +EXTERNPROTO malldirectory[ +field SFVec3f position +]"/externprotos/malldirectory/malldirectory.wrl#MallDirectory" + +Group{#directory +children malldirectory{position 5 0 20} +} + + + + +Transform{translation 0 0 -11.2 +children[ +DEF Dir ObjectDirectory{} +]} + +ROUTE SharedZone.objects_added TO Dir.addObjects +ROUTE SharedZone.objects_removed TO Dir.removeObjects + + + + +##################### +DEF dad_Global_1 Transform { + translation 125 -100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_1 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_2 Transform { + translation 125 100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_2 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_3 Transform { + translation -125 100 125 + rotation 1 0 0 3.142 + children [ + DEF Global_3 PointLight { + ambientIntensity 0.900 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +DEF dad_Global_4 Transform { + translation -125 -100 -125 + rotation 1 0 0 3.142 + children [ + DEF Global_4 PointLight { + ambientIntensity 0.2550 + color .1 .1 .2 + intensity 0.600 + radius 600.000 + attenuation 1 0 0 + } + ] +} +Viewpoint { position 0 1.75 10 fieldOfView .785 description "Enter"} +NavigationInfo { + avatarSize [ .25 1.75 .75 ] headlight FALSE speed 2.25 + type [ "WALK" "SLIDE" ] +} + +Background{ +skyColor[.4 .4 .8,0 0 .5,.4 0 .6] +skyAngle [.9,1.3] +groundColor[.4 .4 .8,0 0 .5,.4 0 .6] +groundAngle [1.309,1.571] +} + +Group{ +children[ + + +Transform{ +children[ +DEF mouseOver_door Transform { children[ + +DEF doors Transform { children[ +Shape { +appearance Appearance {texture ImageTexture {url "door.jpg"}} +geometry IndexedFaceSet { +coord Coordinate {point [ 74 7.25 0 66 7.25 0 66 0 0 74 0 0]} +coordIndex [ 0 1 2 3 -1 ] +texCoord TextureCoordinate {point [ 1.13 .772 -.14 .773 -.14 -.00167 1.13 -.0026 ]} +ccw FALSE texCoordIndex [ 0 1 2 3 -1 ] +}} +DEF doors_button TouchSensor {} +]translation -70 0 0} + + +DEF over_switch Switch { +whichChoice -1 +choice[ + +Transform {#text +children Shape { +appearance Appearance {material Material {diffuseColor .1 1 .1}} +geometry Text { +fontStyle FontStyle {size 1 family "SANS" style "ITALIC" justify "MIDDLE"} +string "Back To Mall" +}}#end shape +translation 0 3 -.5 rotation 0 -1 0 3.14 +} + +]}#end switch +]translation 0 0 30 scale 1 .75 1}#end mouseover transform + +DEF left Transform {children DEF store_4 Transform { children [ + +Shape { +appearance Appearance {texture DEF wallTex ImageTexture {url "wall_9e.jpg"}} +geometry IndexedFaceSet {coord Coordinate {point [ 15.3 1.75 -9.92 15.3 1.75 -20.1 10.2 1.75 -30.3 -10.2 1.75 -30.3 -15.4 1.7 -20.3 -15.4 1.7 -10.1 -10.2 1.8 0 10.2 1.8 0 14.8 8.25 -10.1 14.8 8.25 -19.9 9.83 8.25 -29.8 -9.83 8.25 -29.8 -14.9 8.2 -20.1 -14.9 8.2 -10.3 -9.83 8.3 0 9.83 8.3 0 -5 8.3 0 5 8.3 0 -5 8.05 0 5 8.05 0 5 1.8 0 -5 1.8 0 ]} +coordIndex [ 8 9 1 0 -1 9 10 2 1 -1 10 11 3 2 -1 11 12 4 3 -1 12 13 5 4 -1 13 14 6 5 -1 15 8 0 7 -1 19 17 15 7 20 -1 6 14 16 18 21 -1 ] +texCoord TextureCoordinate {point [ 0 .186 1 .186 1 .186 0 .186 1 .186 1 .186 0 .186 1 .186 0 .992 1 .992 .5 .992 .5 .992 .5 .992 .5 .992 .5 .186 .5 .186 1 .992 0 .992 0 .186 1 .186 1 .992 0 .992 0 .186 2 .992 0 .992 2 .186 0 .992 1 .992 1 .186 0 .186 1 .992 0 .992 0 .186 0 .992 1 .992 0 .186 0 .992 1 .992 ]} +texCoordIndex [ 36 37 1 0 -1 33 34 2 35 -1 23 24 3 25 -1 16 17 18 19 -1 20 21 22 4 -1 30 31 32 5 -1 26 27 28 29 -1 13 11 9 7 14 -1 6 8 10 12 15 -1 ] +}} + +Shape { +appearance Appearance {texture DEF blockTex ImageTexture {url "block.jpg"}} +geometry IndexedFaceSet { +coord Coordinate {point [ 13.5 10.3 -19.5 9 10.3 -28.5 -9 10.3 -28.5 -13.5 10.3 -19.5 -13.5 10.3 -10.5 -9 10.3 -1.5 9 10.3 -1.5 13.5 10.3 -10.5 ]} +coordIndex [ 7 6 5 4 3 2 1 0 -1 ] +texCoord TextureCoordinate {point [ .991 .764 .825 .923 .163 .923 -.00283 .764 -.00283 .604 .163 .444 .825 .444 .991 .604 ]} +texCoordIndex [ 7 6 5 4 3 2 1 0 -1 ] +}} + +Shape { +appearance Appearance {texture DEF floorTex ImageTexture {url "floor2.jpg"}textureTransform TextureTransform {scale 5 5}} +geometry IndexedFaceSet { +coord Coordinate {point [ 15 0 -10 15 0 -20 10 0 -30 -10 0 -30 -15 0 -20 -15 0 -10 -10 0 0 10 0 0 ]} +coordIndex [ 0 1 2 3 4 5 6 7 -1 ] +texCoord TextureCoordinate {point [ 1 .333 1 .667 .833 1 .167 1 0 .667 0 .333 .167 0 .833 0 ]} +texCoordIndex [ 0 1 2 3 4 5 6 7 -1 ] +}} + +Shape { +appearance Appearance {material Material { diffuseColor .57 .285 0 specularColor .4 .267 0}} +geometry IndexedFaceSet { +coord Coordinate {point [ 15 1.25 -10 15 1.25 -20 15.3 1.25 -20.1 15.3 1.25 -9.92 10 1.25 -30 10.2 1.25 -30.3 -10 1.25 -30 -10.2 1.25 -30.3 -15 1.25 -20 -15.3 1.25 -20.1 -15 1.25 -10 -15.3 1.25 -9.92 -10 1.25 -.25 -10.2 1.25 0 10 1.25 -.25 10.2 1.25 0 15 1.75 -10 15 1.75 -20 10 1.75 -30 -10 1.75 -30 -15 1.75 -20 -15 1.75 -10 -10 1.75 -.25 10 1.75 -.25 15.3 1.75 -9.92 15.3 1.75 -20.1 10.2 1.75 -30.3 -10.2 1.75 -30.3 -15.3 1.75 -20.1 -15.3 1.75 -9.92 -10.2 1.75 0 10.2 1.75 0 -5 1.75 -.25 -5 1.25 -.25 5 1.75 -.25 5 1.25 -.25 5 1.25 0 5 1.75 0 -5 1.25 0 -5 1.75 0 ]} +coordIndex [ 0 1 2 3 -1 1 4 5 2 -1 4 6 7 5 -1 6 8 9 7 -1 8 10 11 9 -1 10 12 13 11 -1 14 0 3 15 -1 16 17 1 0 -1 17 18 4 1 -1 18 19 6 4 -1 19 20 8 6 -1 20 21 10 8 -1 21 22 12 10 -1 23 16 0 14 -1 24 25 17 16 -1 25 26 18 17 -1 26 27 19 18 -1 27 28 20 19 -1 28 29 21 20 -1 29 30 22 21 -1 31 24 16 23 -1 22 32 33 12 -1 34 23 14 35 -1 35 14 15 36 -1 34 35 36 37 -1 31 23 34 37 -1 13 12 33 38 -1 33 32 39 38 -1 32 22 30 39 -1 ] +creaseAngle 3.14 +}} + +Shape { +appearance Appearance {texture USE blockTex} +geometry IndexedFaceSet { +coord Coordinate {point [ 14.5 8.75 -10.2 14.5 8.75 -19.8 9.67 8.75 -29.5 -9.67 8.75 -29.5 9.67 8.75 -.5 -9.67 8.75 -.5 13 9.77 -10.7 13 9.77 -19.3 8.64 9.77 -28 -8.64 9.77 -28 -8.64 9.77 -2.04 8.64 9.77 -2.04 12.5 9.77 -10.8 12.5 9.77 -19.2 8.33 9.77 -27.5 -8.33 9.77 -27.5 -12.5 9.77 -19.2 -13 9.77 -19.3 -12.5 9.77 -10.8 -13 9.77 -10.7 -8.33 9.77 -2.5 8.33 9.77 -2.5 12.5 10.2 -10.8 12.5 10.2 -19.2 8.33 10.2 -27.5 -8.33 10.2 -27.5 -12.5 10.2 -19.2 -12.5 10.2 -10.8 -8.33 10.2 -2.5 8.33 10.2 -2.5 -13 9.77 -10.7 -8.64 9.77 -2.04 -9.67 8.75 -.5 -14.5 8.75 -10.2 -14.5 8.75 -19.8 -13 9.77 -19.3 -8.64 9.77 -28 -9.67 8.75 -29.5 ]} +coordIndex [ 6 7 1 0 -1 7 8 2 1 -1 8 9 3 2 -1 10 11 4 5 -1 11 6 0 4 -1 12 13 7 6 -1 13 14 8 7 -1 14 15 9 8 -1 15 16 17 9 -1 16 18 19 17 -1 18 20 10 19 -1 20 21 11 10 -1 21 12 6 11 -1 22 23 13 12 -1 23 24 14 13 -1 24 25 15 14 -1 25 26 16 15 -1 26 27 18 16 -1 27 28 20 18 -1 28 29 21 20 -1 29 22 12 21 -1 30 31 32 33 -1 35 30 33 34 -1 36 35 34 37 -1 ] +texCoord TextureCoordinate {point [ .703 .319 .804 .319 .91 .319 .597 .319 .702 .00584 .804 .00584 .91 .00584 .597 .00584 .702 .00584 .805 .00584 .91 .00584 .0967 .00584 .202 .00584 .305 .00584 .41 .00584 .597 .00584 .702 .0842 .805 .0842 .91 .0842 .0969 .0842 .202 .0842 .305 .0842 .41 .0842 .597 .0842 .304 .00584 .41 .00584 .41 .319 .304 .319 .203 .319 .202 .00584 .0965 .00584 .097 .319 ]} +texCoordIndex [ 4 5 1 0 -1 5 6 2 1 -1 6 30 31 2 -1 25 7 3 26 -1 7 4 0 3 -1 8 9 5 4 -1 9 10 6 5 -1 10 11 30 6 -1 11 12 29 30 -1 12 13 24 29 -1 13 14 25 24 -1 14 15 7 25 -1 15 8 4 7 -1 16 17 9 8 -1 17 18 10 9 -1 18 19 11 10 -1 19 20 12 11 -1 20 21 13 12 -1 21 22 14 13 -1 22 23 15 14 -1 23 16 8 15 -1 24 25 26 27 -1 29 24 27 28 -1 30 29 28 31 -1 ] +}} + +Shape { +appearance Appearance {texture DEF bsupTex ImageTexture {url "bsuppot_2.jpg"}} +geometry IndexedFaceSet { +coord Coordinate {point [ 15.3 1.25 -9.92 15.3 1.25 -20.1 15 0 -20 15 0 -10 10.1 1.15 -30.3 9.9 -.1 -30 -10.3 1.15 -30.3 -10.1 -.1 -30 -15.3 1.25 -20.1 -15 0 -20 -15.3 1.25 -9.92 -15 0 -10 -10.2 1.25 0 -10 0 0 10.2 1.25 0 10 0 0 5 0 0 5 1.25 0 -5 0 0 -5 1.25 0 ]} +coordIndex [ 0 1 2 3 -1 1 4 5 2 -1 4 6 7 5 -1 6 8 9 7 -1 8 10 11 9 -1 10 12 13 11 -1 14 0 3 15 -1 14 15 16 17 -1 18 13 12 19 -1 ] +texCoord TextureCoordinate {point [ .993 .565 .99 .633 .99 -.0159 .996 -.0187 .00216 .566 .00668 -.0227 .00442 .64 .00216 -.0227 .998 .559 .993 -.0227 .998 .559 .996 -.0205 .00393 .562 .00393 -.0187 .965 .554 .968 0 0 0 .00676 .551 1 -.0273 1 .562 .996 .557 .00244 .559 .00216 -.0205 .996 -.0205 .00216 .559 .00442 -.0205 .00216 .557 .00216 -.0159 1 .64 1 -.0273 1.03 .566 1.03 -.0227 .00216 .634 .0096 -.0187 .00393 .56 .00676 -.0216 ]} +texCoordIndex [ 32 1 2 33 -1 30 4 5 31 -1 28 6 7 29 -1 20 21 22 23 -1 8 24 25 9 -1 10 26 27 11 -1 34 0 3 35 -1 14 15 16 17 -1 18 13 12 19 -1 ] +}} + +Shape { +appearance Appearance {material Material {diffuseColor .22 .15 0 specularColor 1 1 1 emissiveColor .2 .14 0}} +geometry IndexedFaceSet { +coord Coordinate {point [ 14.3 8.25 -10.3 14.3 8.25 -19.8 14.8 8.25 -19.9 14.8 8.25 -10.1 9.5 8.25 -29.3 9.83 8.25 -29.8 -9.5 8.25 -29.3 -9.83 8.25 -29.8 -14.3 8.25 -19.8 -14.9 8.2 -20.1 -14.3 8.25 -10.3 -14.9 8.2 -10.3 -9.5 8.25 -.75 -9.83 8.25 0 9.5 8.25 -.75 9.83 8.25 0 14.3 8.75 -10.3 14.3 8.75 -19.8 9.5 8.75 -29.3 -9.5 8.75 -29.3 -14.3 8.75 -19.8 -14.3 8.75 -10.3 -9.5 8.75 -.75 9.5 8.75 -.75 -9.67 8.75 -29.5 -14.5 8.75 -19.8 -14.5 8.75 -10.2 -9.67 8.75 -.5 5 8.25 0 -5 8.25 0 5 8 0 -5 8 0 14.5 8.75 -10.2 14.5 8.75 -19.8 14.3 8.75 -19.8 14.3 8.75 -10.3 9.67 8.75 -29.5 9.5 8.75 -29.3 -9.67 8.75 -29.5 -9.5 8.75 -29.3 9.67 8.75 -.5 9.5 8.75 -.75 -9.67 8.75 -.5 -9.5 8.75 -.75 -14.3 8.75 -19.8 -14.3 8.75 -10.3 -14.3 8.25 -10.3 -14.3 8.25 -19.8 -14.5 8.75 -19.8 -14.5 8.75 -10.2 ]} +coordIndex [ 0 1 2 3 -1 1 4 5 2 -1 4 6 7 5 -1 6 8 9 7 -1 8 10 11 9 -1 10 12 13 11 -1 14 0 3 15 -1 16 17 1 0 -1 17 18 4 1 -1 18 19 6 4 -1 19 20 8 6 -1 21 22 12 10 -1 22 23 14 12 -1 23 16 0 14 -1 24 25 20 19 -1 26 27 22 21 -1 12 14 15 28 29 13 -1 29 28 30 31 -1 32 33 34 35 -1 33 36 37 34 -1 36 38 39 37 -1 40 32 35 41 -1 42 40 41 43 -1 44 45 46 47 -1 48 49 45 44 -1 ] +colorPerVertex FALSE +texCoord TextureCoordinate {point [ .768 .953 .881 .953 .881 .953 .768 .953 .995 .953 .995 .953 .00459 .948 .00462 .948 .111 .881 .226 .885 .355 .95 .356 .95 .652 .953 .651 .953 .605 .953 .447 .953 .605 .853 .447 .853 .771 1 .883 1 .883 1 .771 1 .998 1 .998 1 .0067 .996 .00668 .996 .654 1 .654 1 .357 .998 .357 .998 .115 .995 .231 .999 .229 .951 .113 .948 .115 .995 .231 .999 ]} +creaseAngle 3.14 +texCoordIndex [ 0 1 2 3 -1 1 4 5 2 -1 4 6 7 5 -1 6 33 8 7 -1 33 32 9 8 -1 32 10 11 9 -1 12 0 3 13 -1 21 20 1 0 -1 20 23 4 1 -1 23 25 6 4 -1 25 30 33 6 -1 31 29 10 32 -1 29 27 12 10 -1 27 21 0 12 -1 24 34 30 25 -1 35 28 29 31 -1 10 12 13 14 15 11 -1 15 14 16 17 -1 18 19 20 21 -1 19 22 23 20 -1 22 24 25 23 -1 26 18 21 27 -1 28 26 27 29 -1 30 31 32 33 -1 34 35 31 30 -1 ] +}} +]scale 1 .75 1}translation -16 0 0 rotation 0 1 0 1.57 +} + +DEF right Transform {children USE store_4 translation 16 0 0 rotation 0 1 0 4.71} + +DEF center Transform { + +children [ + +Shape { +appearance Appearance {texture DEF sup1Tex ImageTexture {url "support_1.jpg"}} +geometry IndexedFaceSet { +coord Coordinate {point [ -14.8 0 -11 15 0 -11 -15 0 11 15 0 11 -10.9 0 15.1 11 0 15 11 0 -15 -11 0 -15 -10.9 0 16.1 11 0 16 16 0 -11 16 0 11 11 0 -16 -11 0 -16 -15.8 0 -11 -16 0 11 11 6 -16 -11 6 -16 15 6 -11 11 6 -15 16 6 -11 16.3 6 11 15.3 6 11 11 6 15 -10.9 6 16.1 11 6 16 -15 6 11 -10.9 6 15.1 -15.8 6 -11 -16 6 11 -14.8 6 -11 -11 6 -15 4.5 10.3 -5.5 -4.5 10.3 -5.5 5 10 -5 5.5 10.3 -4.5 5.5 10.3 4.5 5 9.75 5 -4.5 10.3 5.5 4.5 10.3 5.5 -5 9.75 5 -5.5 10.3 -4.5 -5.5 10.3 4.5 -5 10 -5 1 10.3 0 0 10.3 1 0 10.3 -1 0 9.81 0 -1 10.3 0 ]} +coordIndex [ 6 1 18 19 -1 12 6 19 16 -1 1 10 20 18 -1 11 3 22 21 -1 3 5 23 22 -1 5 9 25 23 -1 4 2 26 27 -1 8 4 27 24 -1 2 15 29 26 -1 14 0 30 28 -1 0 7 31 30 -1 7 13 17 31 -1 18 20 35 34 -1 23 25 39 37 -1 24 27 40 38 -1 28 30 43 41 -1 31 17 33 43 -1 26 29 42 40 -1 36 21 22 37 -1 32 16 19 34 -1 32 34 47 46 -1 44 36 37 47 -1 37 39 45 47 -1 48 41 43 47 -1 38 40 47 45 -1 47 40 42 48 -1 47 34 35 44 -1 47 43 33 46 -1 ] +texCoord TextureCoordinate {point [ .999 1.01 .1 1 .083 1 1 1 1 1 .0944 1 1 1 .1 1 .00202 .00395 .234 0 .234 1 .00202 1 .759 0 1 0 1 1 .759 1 1 0 .912 0 .906 1 .0944 -.00621 0 0 .00164 1 .0016 0 .0016 1 .25 .0032 .25 1 .759 .0032 .998 .0032 .998 1 .759 1 .996 .00508 .906 -.012 .901 1 .0944 0 .00164 0 .00578 1 .995 -.00692 .995 .993 .769 -.00692 .769 .993 .236 -.00154 .01 0 .0154 .996 .242 .995 .977 0 .758 .00731 .758 1.01 .977 .999 .233 0 .00731 0 .00731 .999 .233 1 .993 -.00885 .917 -.015 .917 .997 .0762 .00546 0 0 .00673 .992 .999 0 .906 0 .906 .986 .0944 .00539 -.00416 .00539 .00164 .991 ]} +creaseAngle 3 +texCoordIndex [ 9 12 15 10 -1 8 9 10 11 -1 12 13 14 15 -1 36 38 39 37 -1 38 40 43 39 -1 40 41 42 43 -1 45 48 51 46 -1 44 45 46 47 -1 48 49 50 51 -1 22 24 25 23 -1 24 26 29 25 -1 26 27 28 29 -1 19 20 21 1 -1 61 62 63 5 -1 52 53 54 4 -1 30 31 32 0 -1 33 34 35 7 -1 55 56 57 2 -1 3 58 59 60 -1 6 16 17 18 -1 6 18 18 6 -1 3 3 60 60 -1 5 63 63 5 -1 0 0 32 32 -1 4 54 54 4 -1 2 2 57 57 -1 1 1 21 21 -1 7 7 35 35 -1 ] +}} + +Shape { +appearance Appearance {texture USE floorTex textureTransform TextureTransform {translation .05 .07 rotation 1.57 scale 5.45 5.4 }} +geometry IndexedFaceSet { +coord Coordinate{point [ 11 0 -15, 0 0 -15, 0 0 0, 15 0 -11, 15 0 0, 15 0 11, 0.119 0 0.163, 11 0 15, 0.119 0 15, -11 0 15, -11 0 16, 11 0 16, -11 0 30, -4 0 30, 4 0 30, 11 0 30, -15 0 11, -15 0 0, -15 0 -11, -16 -0 -11, -16 0 -5, -16 0 5, -16 -0 11, -11 0 -15, 11 0 -16, -11 0 -16, 15 0 -11, 15 0 0, 15 0 11, 16 -0 11, 16 0 5, 16 0 -5, 16 -0 -11 ]} +coordIndex [ 0 1 2 -1 3 0 2 -1 3 2 4 -1 2 5 4 -1 5 2 6 7 -1 8 7 6 -1 9 8 6 -1 7 8 9 10 11 -1 12 13 14 15 11 10 -1 16 9 6 -1 16 6 2 17 -1 2 18 17 -1 16 17 18 19 20 21 22 -1 23 18 2 -1 1 23 2 -1 23 1 0 24 25 -1 26 27 28 29 30 31 32 -1 ] +texCoord TextureCoordinate {point [ .844 1.44 .5 .938 .844 .438 .504 .932 .156 .469 .504 .469 .375 0 .625 0 0 .594 .0313 1.28 .0313 .938 0 1.09 0 .781 .156 1.44 .5 1.41 1 1.28 .969 .938 1 .594 1 .781 1 1.09 .844 .469 .156 0 .844 0 .156 .438 .0313 .594 0 1.28 .156 1.41 .844 1.41 .969 1.28 .969 .594 ]} +creaseAngle 3 +texCoordIndex [ 27 14 1 -1 28 27 1 -1 28 1 16 -1 1 29 16 -1 29 1 3 20 -1 5 20 3 -1 4 5 3 -1 20 5 4 23 2 -1 21 6 7 22 2 23 -1 24 4 3 -1 24 3 1 10 -1 1 9 10 -1 24 10 9 25 11 12 8 -1 26 9 1 -1 14 26 1 -1 26 14 27 0 13 -1 28 16 29 17 18 19 15 -1 ] +}} + +Shape { +appearance Appearance {texture USE wallTex} +geometry IndexedFaceSet { +coord Coordinate {point [ -11 6 30 -11 0 30 -11 0 16 -11 6 16 11 0 30 11 6 30 11 6 16 11 0 16 -16 0 11 -16 0 5 -16 6 5 -16 6 11 -16 0 -5 -16 0 -11 -16 6 -11 -16 6 -5 16 0 -11 16 0 -5 16 6 -5 16 6 -11 16 0 5 16 0 11 16 6 11 16 6 5 4 0 30 4 6 30 -4 0 30 -4 6 30 3 1.5 -16 3 5 -16 3 1 -16 3 5 -16 ]} +coordIndex [ 0 1 2 3 -1 4 5 6 7 -1 8 9 10 11 -1 12 13 14 15 -1 16 17 18 19 -1 20 21 22 23 -1 4 24 25 5 -1 26 1 0 27 -1 28 29 31 30 -1 ] +texCoord TextureCoordinate {point [ .00202 .99 2.01 .00579 .00245 .998 1 0 1 .998 0 0 1 .998 .00245 .998 1 .998 0 0 .00245 .998 1 0 .00245 .998 1 .998 0 0 .00202 .99 1 0 1 .99 1 0 0 0 1 0 0 0 .00202 .99 0 0 2.02 .00579 2.02 .996 0 0 1 0 1 .99 0 0 .00202 .99 2.01 .996 1.91 .165 1.91 .827 ]} +texCoordIndex [ 22 23 24 25 -1 29 30 31 1 -1 21 3 4 2 -1 5 20 6 7 -1 18 9 10 8 -1 11 19 12 13 -1 27 14 15 28 -1 16 26 0 17 -1 32 33 33 32 -1 ] +}} + +Shape { +appearance Appearance {texture USE blockTex} +geometry IndexedFaceSet { +coord Coordinate { +point [ 3 1 -15.5 -3 1 -15.5 3 1.5 -16 -3 1.5 -16 -3 0 -16 3 0 -16 -3 1.25 -15.9 3 1.25 -15.9 ]} +coordIndex [ 1 6 3 4 -1 2 7 0 5 -1 0 1 4 5 -1 1 0 7 6 -1 7 2 3 6 -1 ] +texCoord TextureCoordinate {point [ 0 .00545 .992 .0084 .992 .384 0 .381 .00278 .328 .992 .333 .997 .927 .00833 .921 .00833 .988 0 .381 .997 .994 .992 .384 ]} +texCoordIndex [ 3 9 3 0 -1 2 11 2 1 -1 2 3 0 1 -1 4 5 10 8 -1 10 6 7 8 -1 ] +}} + +Shape { +appearance Appearance {texture DEF bluefadeTex ImageTexture {url "bluefade.jpg"}} +geometry IndexedFaceSet { +coord Coordinate {point [ -2.75 4.75 -16 -2.75 1.5 -16 2.75 1.5 -16 2.75 4.75 -16 -2.88 4.88 -15.9 -2.88 1.5 -15.9 2.88 1.5 -15.9 2.88 4.88 -15.9 -3 5 -15.9 3 5 -15.9 3 1.5 -15.9 -3 1.5 -15.9 -3 5 -16 3 5 -16 3 1.5 -16 -3 1.5 -16 ]} +coordIndex [ 6 7 3 2 -1 7 4 0 3 -1 4 5 1 0 -1 4 7 9 8 -1 7 6 10 9 -1 5 4 8 11 -1 8 9 13 12 -1 9 10 14 13 -1 11 8 12 15 -1 ] +texCoord TextureCoordinate {point [ 0 .583 0 0 .0417 0 .958 0 .0417 .542 .958 .542 .979 .563 .979 0 .0208 0 .0208 .563 1 .583 1 0 1 0 1 .583 0 0 0 .583 ]} +creaseAngle 3.14 +texCoordIndex [ 7 6 5 3 -1 6 9 4 5 -1 9 8 2 4 -1 9 6 10 15 -1 6 7 11 10 -1 8 9 15 14 -1 15 10 13 0 -1 10 11 12 13 -1 14 15 0 1 -1 ] +}} + +Shape { +appearance Appearance {texture USE sup1Tex} +geometry IndexedFaceSet { +coord Coordinate {point [ -5 9.75 5 -10.9 6 15.1 -15 6 11 11.3 6 15 5 9.75 5 15.3 6 11 15 6 -11 5 10 -5 11 6 -15 -11 6 -15 -5 10 -5 -14.8 6 -11 ]} +coordIndex [ 0 1 2 -1 3 4 5 -1 6 7 8 -1 9 10 11 -1 ] +texCoord TextureCoordinate {point [ .835 .966 .781 .0086 .907 .0058 .837 .972 .907 .0114 .837 .972 .907 .0114 .837 .972 .907 .0086 .779 .0086 .779 .0086 .784 .0142 ]} +texCoordIndex [ 0 8 1 -1 9 3 2 -1 10 5 4 -1 11 7 6 -1 ] +}} + +Shape { +appearance Appearance {texture USE blockTex} +geometry DEF _21 IndexedFaceSet { +coord Coordinate {point [ 16 6 -11 16.3 6 11 5.5 10.3 4.5 5.5 10.3 -4.5 11.3 6 16 -10.9 6 16.1 -4.5 10.3 5.5 4.5 10.3 5.5 -16 6 11 -15.8 6 -11 -5.5 10.3 -4.5 -5.5 10.3 4.5 -11 6 -16 11 6 -16 4.5 10.3 -5.5 -4.5 10.3 -5.5 ]} +coordIndex [ 0 1 2 3 -1 4 5 6 7 -1 8 9 10 11 -1 12 13 14 15 -1 ] +texCoord TextureCoordinate {point [ .992 -.0052 .00284 0 .297 .998 .705 .998 .997 0 .00284 0 .288 .997 .695 .997 .00284 0 .992 0 .705 1 .295 1 .00284 0 .981 -.0052 .705 1.01 .295 1.01 ]} +texCoordIndex [ 0 1 2 3 -1 4 5 6 7 -1 8 9 10 11 -1 12 13 14 15 -1 ] +}} + +Shape { +appearance Appearance {texture USE bluefadeTex} +geometry IndexedFaceSet { +coord Coordinate {point [ 7.5 10.8 7.5 -7.5 10.8 7.5 -7.5 10.8 -7.5 7.5 10.8 -7.5 ]} +coordIndex [ 0 1 2 3 -1 ] +texCoord TextureCoordinate {point [ 1 1 0 1 1 0 0 0 ]} +texCoordIndex [ 2 3 1 0 -1 ] +}} + +Shape { +appearance Appearance {texture USE wallTex} +geometry IndexedFaceSet { +coord Coordinate {point [ -11 0 -16 -3 0 -16 -3 1.5 -16 -11 1.5 -16 -3 5 -16 -3 6 -16 -11 6 -16 3 5 -16 3 6 -16 3 1.5 -16 11 1.5 -16 11 6 -16 3 0 -16 11 0 -16 ]} +coordIndex [ 0 1 2 3 -1 2 4 5 6 3 -1 7 8 5 4 -1 7 9 10 11 8 -1 9 12 13 10 -1 ] +texCoord TextureCoordinate {point [ 0 0 1.09 0 1.09 .249 0 .249 1.09 .825 1.09 .991 0 .991 1.9 .825 1.9 .991 1.9 .249 2.99 .249 2.99 .991 1.9 0 2.99 0 ]} +texCoordIndex [ 0 1 2 3 -1 2 4 5 6 3 -1 7 8 5 4 -1 7 9 10 11 8 -1 9 12 13 10 -1 ] +}} + +Shape { +appearance Appearance {texture USE blockTex} +geometry IndexedFaceSet { +coord Coordinate {point [ 11 6.25 16 11 6.25 30 -11 6.25 30 -11 6.25 16 ]} +coordIndex [ 0 1 2 3 -1 ] +texCoord TextureCoordinate {point [ .812 .914 .817 .374 .149 .374 .144 .914 ]} +texCoordIndex [ 0 1 2 3 -1 ] +}} + +Shape { +appearance Appearance {material Material {diffuseColor .117 .0512 .2 specularColor .0241 .0392 .25 emissiveColor .0934 .0409 .16}} +geometry IndexedFaceSet { +coord Coordinate {point [ 16.1 5.75 5 16.1 0 5 16.1 0 4.75 16.1 5.75 4.75 15.9 0 4.75 15.9 5.75 4.75 16.1 0 -4.75 16.1 0 -5 16.1 5.75 -5 16.1 5.75 -4.75 15.9 0 -5 15.9 5.75 -5 -15.9 5.75 5 -15.9 0 5 -15.9 0 4.75 -15.9 5.75 4.75 -16.1 5.75 -4.75 -16.1 0 -4.75 -15.9 0 -4.75 -15.9 5.75 -4.75 -15.9 0 -5 -15.9 5.75 -5 -16.1 0 4.75 -16.1 5.75 4.75 -16.1 0 5 -16.1 5.75 5 -16.1 5.75 -5 -16.1 0 -5 15.9 0 -4.75 15.9 5.75 -4.75 15.9 0 5 15.9 5.75 5 16.1 6.25 5 16.1 6.25 4.75 15.9 6.25 4.75 16.1 6.25 -5 16.1 6.25 -4.75 15.9 6.25 -5 -15.9 6.25 5 -15.9 6.25 4.75 -16.1 6.25 -4.75 -15.9 6.25 -4.75 -15.9 6.25 -5 -16.1 6.25 4.75 -16.1 6.25 5 -16.1 6.25 -5 15.9 6.25 -4.75 15.9 6.25 5 16.1 5.75 -4.75 15.9 5.75 -4.75 -15.9 5.75 -4.75 -16.1 5.75 -4.75 16.1 6.25 -4.75 15.9 6.25 -4.75 -15.9 6.25 -4.75 -16.1 6.25 -4.75 ]} +coordIndex [ 0 1 2 3 -1 3 2 4 5 -1 6 7 8 9 -1 8 7 10 11 -1 12 13 14 15 -1 16 17 18 19 -1 18 20 21 19 -1 22 23 15 14 -1 22 24 25 23 -1 25 24 13 12 -1 26 27 17 16 -1 27 26 21 20 -1 11 10 28 29 -1 6 9 29 28 -1 4 30 31 5 -1 1 0 31 30 -1 0 3 33 32 -1 9 8 35 36 -1 8 11 37 35 -1 12 15 39 38 -1 19 21 42 41 -1 23 25 44 43 -1 25 12 38 44 -1 26 16 40 45 -1 21 26 45 42 -1 11 29 46 37 -1 5 31 47 34 -1 31 0 32 47 -1 3 5 49 48 -1 15 23 51 50 -1 33 3 48 52 -1 5 34 53 49 -1 39 15 50 54 -1 23 43 55 51 -1 ] +}} +]} +]scale .7 .7 .7} + +Transform { +children DEF big_case_no_lid_26 Transform { +children [ + +Shape { +appearance Appearance {texture USE blockTex} +geometry IndexedFaceSet { +coord Coordinate {point [ 1 1 .5 1 1 -.5 -1 1 -.5 -1 1 .5 1 1.63 .5 -1 1.63 .5 -1 1.63 -.5 1 1.63 -.5 ]} +coordIndex [ 0 1 2 3 -1 ] +texCoord TextureCoordinate {point [ .857 .605 .86 .921 .162 .921 .16 .605 1 0 0 0 0 .5 1 .5 ]} +texCoordIndex [ 0 1 2 3 -1 ] +}} + +DEF BCNL_prox_28 ProximitySensor {size 4 8 4} +DEF BCNL_light_29 PointLight {on FALSE location 0 1.5 0 radius 4} + +Shape { +appearance Appearance {material Material {diffuseColor .44 .1 0 specularColor 1 .68 .51 emissiveColor .15 .13 .06}} +geometry IndexedFaceSet { +coord Coordinate {point [ .639 .625 .319 -.639 .625 .319 -.526 .5 .27 .553 .5 .27 .639 .625 -.319 .553 .5 -.27 -.639 .625 -.319 -.526 .5 -.27 .474 .375 .231 -.449 .375 .231 -.409 .25 .209 .426 .25 .209 .474 .375 -.231 .426 .25 -.209 -.449 .375 -.231 -.409 .25 -.209 .446 .125 .219 -.429 .125 .219 -.519 0 .258 .536 0 .258 .446 .125 -.219 .536 0 -.27 -.429 .125 -.219 -.519 0 -.27 ]} +coordIndex [ 0 1 2 3 -1 4 0 3 5 -1 6 4 5 7 -1 1 6 7 2 -1 8 9 10 11 -1 12 8 11 13 -1 14 12 13 15 -1 9 14 15 10 -1 16 17 18 19 -1 20 16 19 21 -1 22 20 21 23 -1 17 22 23 18 -1 ] +texCoord TextureCoordinate {point [ 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ]} +creaseAngle 3.14 +texCoordIndex [ 0 1 1 0 -1 2 3 3 2 -1 4 5 5 4 -1 6 7 7 6 -1 0 1 1 0 -1 2 3 3 2 -1 4 5 5 4 -1 6 7 7 6 -1 0 1 1 0 -1 2 3 3 2 -1 4 5 5 4 -1 6 7 7 6 -1 ] +}} + +Shape { +appearance Appearance {texture USE blockTex} +geometry IndexedFaceSet { +coord Coordinate {point [ -1 1 .5 -.75 .75 .375 1 1 .5 .75 .75 .375 1 1 -.5 .75 .75 -.375 -1 1 -.5 -.75 .75 -.375 ]} +coordIndex [ 0 1 3 2 -1 4 5 7 6 -1 6 7 1 0 -1 2 3 5 4 -1 ] +texCoord TextureCoordinate {point [ -.00133 .353 0 0 .999 .353 1 0 -.00133 .353 0 0 .999 .353 1 0 -.00133 .353 0 0 .999 .353 1 0 -.00133 .353 0 0 .999 .353 1 0]} +texCoordIndex [ 0 1 3 2 -1 4 5 7 6 -1 8 9 11 10 -1 12 13 15 14 -1 ] +}} +]} +translation 4.88 0 -10.8} + +Transform {children USE big_case_no_lid_26 translation -4.88 0 -10.8 rotation 0 1 0 3.14} + +Transform {children USE big_case_no_lid_26 translation -31 0 0 scale 2 1 2 rotation 0 1 0 1.571} +Transform {children USE big_case_no_lid_26 translation 31 0 0 scale 2 1 2 rotation 0 1 0 1.571} + + + +Transform {children DEF large_display_32 Transform {children [ + +Transform { +children Shape { +appearance Appearance {texture USE blockTex} +geometry IndexedFaceSet { +coord Coordinate {point [ -.441 .189 -1.06 -.815 .189 -.815 -1.06 .189 -.441 -1.15 .189 0 -1.06 .189 .441 -.815 .189 .815 -.441 .189 1.06 0 .189 1.15 .441 .189 1.06 .815 .189 .815 1.06 .189 .441 1.15 .189 0 1.06 .189 -.441 .815 .189 -.815 .441 .189 -1.06 0 .189 -1.15 ]} +coordIndex [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -1 ] +texCoord TextureCoordinate {point [ .375 .893 .292 .84 .237 .759 .217 .664 .237 .569 .292 .488 .375 .434 .473 .415 .571 .434 .654 .488 .71 .569 .729 .664 .71 .759 .654 .84 .571 .893 .473 .912 ]} +creaseAngle 3.14 +texCoordIndex [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -1 ] +}}translation 0 .25 0} + +Transform { +children Shape { +appearance Appearance {texture USE blockTex} +geometry IndexedFaceSet { +coord Coordinate {point [ 0 0 -1 0 .25 -1 .383 0 -.924 .383 .25 -.924 .707 0 -.707 .707 .25 -.707 .924 0 -.383 .924 .25 -.383 1 0 0 1 .25 0 .924 0 .383 .924 .25 .383 .707 0 .707 .707 .25 .707 .383 0 .924 .383 .25 .924 0 0 1 0 .25 1 -.383 0 .924 -.383 .25 .924 -.707 0 .707 -.707 .25 .707 -.924 0 .383 -.924 .25 .383 -1 0 0 -1 .25 0 -.924 0 -.383 -.924 .25 -.383 -.707 0 -.707 -.707 .25 -.707 -.383 0 -.924 -.383 .25 -.924 ]} +coordIndex [ 0 1 3 2 -1 2 3 5 4 -1 4 5 7 6 -1 6 7 9 8 -1 8 9 11 10 -1 10 11 13 12 -1 12 13 15 14 -1 14 15 17 16 -1 16 17 19 18 -1 18 19 21 20 -1 20 21 23 22 -1 22 23 25 24 -1 24 25 27 26 -1 26 27 29 28 -1 28 29 31 30 -1 30 31 1 0 -1 ] +texCoord TextureCoordinate {point [ 1 0 .999 .375 .938 0 .937 .375 .875 0 .874 .375 .813 0 .812 .375 .75 0 .749 .375 .688 0 .687 .375 .625 0 .624 .375 .563 0 .562 .375 .5 0 .499 .375 .438 0 .437 .375 .375 0 .374 .375 .313 0 .312 .375 .25 0 .249 .375 .188 0 .187 .375 .125 0 .124 .375 .0625 0 .0612 .375 0 0 -.00133 .375 ]} +texCoordIndex [ 0 1 3 2 -1 2 3 5 4 -1 4 5 7 6 -1 6 7 9 8 -1 8 9 11 10 -1 10 11 13 12 -1 12 13 15 14 -1 14 15 17 16 -1 16 17 19 18 -1 18 19 21 20 -1 20 21 23 22 -1 22 23 25 24 -1 24 25 27 26 -1 26 27 29 28 -1 28 29 31 30 -1 30 31 33 32 -1 ] +}}translation 0 .25 0 rotation 0 0 1 3.14} + +Transform { +children Shape { +appearance Appearance {material Material {diffuseColor .44 .15 0 specularColor .78 .69 .4 emissiveColor 0 0 0 shininess .12}} +geometry IndexedFaceSet { +coord Coordinate {point [ 0 -.019 -1.15 0 .189 -1.15 .441 -.019 -1.06 .441 .189 -1.06 .815 -.019 -.815 .815 .189 -.815 1.06 -.019 -.441 1.06 .189 -.441 1.15 -.019 0 1.15 .189 0 1.06 -.019 .441 1.06 .189 .441 .815 -.019 .815 .815 .189 .815 .441 -.019 1.06 .441 .189 1.06 0 -.019 1.15 0 .189 1.15 -.441 -.019 1.06 -.441 .189 1.06 -.815 -.019 .815 -.815 .189 .815 -1.06 -.019 .441 -1.06 .189 .441 -1.15 -.019 0 -1.15 .189 0 -1.06 -.019 -.441 -1.06 .189 -.441 -.815 -.019 -.815 -.815 .189 -.815 -.441 -.019 -1.06 -.441 .189 -1.06 ]} +coordIndex [ 0 1 3 2 -1 2 3 5 4 -1 4 5 7 6 -1 6 7 9 8 -1 8 9 11 10 -1 10 11 13 12 -1 12 13 15 14 -1 14 15 17 16 -1 16 17 19 18 -1 18 19 21 20 -1 20 21 23 22 -1 22 23 25 24 -1 24 25 27 26 -1 26 27 29 28 -1 28 29 31 30 -1 30 31 1 0 -1 ] +texCoord TextureCoordinate {point [ 1 0 1 1 .938 0 .938 1 .875 0 .875 1 .813 0 .813 1 .75 0 .75 1 .688 0 .688 1 .625 0 .625 1 .563 0 .563 1 .5 0 .5 1 .438 0 .438 1 .375 0 .375 1 .313 0 .313 1 .25 0 .25 1 .188 0 .188 1 .125 0 .125 1 .0625 0 .0625 1 0 0 0 1 ]} +creaseAngle 3.14 +texCoordIndex [ 0 1 3 2 -1 2 3 5 4 -1 4 5 7 6 -1 6 7 9 8 -1 8 9 11 10 -1 10 11 13 12 -1 12 13 15 14 -1 14 15 17 16 -1 16 17 19 18 -1 18 19 21 20 -1 20 21 23 22 -1 22 23 25 24 -1 24 25 27 26 -1 26 27 29 28 -1 28 29 31 30 -1 30 31 33 32 -1 ] +}}translation 0 .25 0} + +DEF LD_light_36 SpotLight { on FALSE intensity .75 location 0 5 0 radius 3 direction 0 -1 0} +DEF LD_prox_37 ProximitySensor {size 4 8 4} + +]}translation 10 0 5.6} + +Transform {children USE large_display_32 translation -10 0 5.6} + +Transform {children USE large_display_32 translation -19 0 9} +Transform {children USE large_display_32 translation -25 0 9} + +Transform {children USE large_display_32 translation 19 0 9} +Transform {children USE large_display_32 translation 25 0 9} + +Transform {children USE large_display_32 translation -19 0 -9} +Transform {children USE large_display_32 translation -25 0 -9} + +Transform {children USE large_display_32 translation 19 0 -9} +Transform {children USE large_display_32 translation 25 0 -9} + +Transform {children DEF big_case_38 Transform {children [ + +DEF BC_prox_39 ProximitySensor {size 4 8 4} +DEF BC_light_41 PointLight { on FALSE location 0 1.5 0 radius 4} + + +Shape { +appearance Appearance {texture USE blockTex} +geometry IndexedFaceSet { +coord Coordinate {point [ 1 1 .5 1 1 -.5 -1 1 -.5 -1 1 .5 1 2 .5 -1 2 .5 -1 2 -.5 1 2 -.5 ]} +coordIndex [ 0 1 2 3 -1 4 5 6 7 -1 ] +texCoord TextureCoordinate {point [ .824 .427 .824 .91 .147 .91 .147 .427 .824 .427 .147 .427 .147 .91 .824 .91 ]} +texCoordIndex [ 0 1 2 3 -1 4 5 6 7 -1 ] +}} + +Shape { +appearance Appearance {texture USE blockTex} +geometry IndexedFaceSet { +coord Coordinate {point [ 1 2 -.5 -1 2 -.5 0 2.5 0 -1 2 .5 1 2 .5 ]} +coordIndex [ 0 1 2 -1 1 3 2 -1 3 4 2 -1 4 0 2 -1 ] +texCoord TextureCoordinate {point [ .479 .317 .115 .003 .266 .0058 .708 .0058 .901 .0058 ]} +texCoordIndex [ 4 1 0 -1 1 2 0 -1 2 3 0 -1 3 4 0 -1 ] +}} + +Shape { +appearance Appearance {material Material { diffuseColor .44 .1 0 specularColor 1 .68 .51 emissiveColor .15 .13 .06}} +geometry IndexedFaceSet { +coord Coordinate {point [ .639 .625 .319 -.639 .625 .319 -.526 .5 .27 .553 .5 .27 .639 .625 -.319 .553 .5 -.27 -.639 .625 -.319 -.526 .5 -.27 .474 .375 .231 -.449 .375 .231 -.409 .25 .209 .426 .25 .209 .474 .375 -.231 .426 .25 -.209 -.449 .375 -.231 -.409 .25 -.209 .446 .125 .219 -.429 .125 .219 -.519 0 .258 .536 0 .258 .446 .125 -.219 .536 0 -.27 -.429 .125 -.219 -.519 0 -.27 ]} +coordIndex [ 0 1 2 3 -1 4 0 3 5 -1 6 4 5 7 -1 1 6 7 2 -1 8 9 10 11 -1 12 8 11 13 -1 14 12 13 15 -1 9 14 15 10 -1 16 17 18 19 -1 20 16 19 21 -1 22 20 21 23 -1 17 22 23 18 -1 ] +texCoord TextureCoordinate {point [ 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ]} +creaseAngle 3.14 +texCoordIndex [ 0 1 1 0 -1 2 3 3 2 -1 4 5 5 4 -1 6 7 7 6 -1 0 1 1 0 -1 2 3 3 2 -1 4 5 5 4 -1 6 7 7 6 -1 0 1 1 0 -1 2 3 3 2 -1 4 5 5 4 -1 6 7 7 6 -1 ] +}} + +Shape { +appearance Appearance {texture USE blockTex} +geometry IndexedFaceSet { +coord Coordinate {point [ -1 1 .5 -.75 .75 .375 1 1 .5 .75 .75 .375 1 1 -.5.75 .75 -.375 -1 1 -.5 -.75 .75 -.375 ]} +coordIndex [ 0 1 3 2 -1 4 5 7 6 -1 6 7 1 0 -1 2 3 5 4 -1 ] +texCoord TextureCoordinate {point [ -.00133 .367 0 0 .999 .367 1 0 -.00133 .367 0 0 .999 .367 1 0 -.00133 .367 0 0 .999 .367 1 0 -.00133 .367 0 0 .999 .367 1 0 ]} +texCoordIndex [ 0 1 3 2 -1 4 5 7 6 -1 8 9 11 10 -1 12 13 15 14 -1 ] +}} +]rotation 0 1 0 1.57 scale 2 1 1} +translation -7.13 0 16.3} + +Transform {children USE big_case_38 translation 7.13 0 16.3} + +DEF linker Script { +eventIn SFTime link +eventIn SFBool set_over +eventOut SFInt32 over_changed +field MFString loadUrl "/#/place/mall" +field MFString loadParam "target=_top" +url "vrmlscript: +function link(v) {Browser.loadURL(loadUrl,loadParam);} +function set_over(v,t){if(v){over_changed = 0;}else{over_changed = -1;}} +"} +]} +ROUTE doors_button.touchTime TO linker.link +ROUTE doors_button.isOver TO linker.set_over +ROUTE linker.over_changed TO over_switch.set_whichChoice +ROUTE BCNL_prox_28.isActive TO BCNL_light_29.set_on +ROUTE LD_prox_37.isActive TO LD_light_36.set_on +ROUTE BC_prox_39.isActive TO BC_light_41.set_on + +################# + + + + + + + + + + + + + + + diff --git a/spa/assets/worlds/shop/vrml/shop_000908.wrl b/spa/assets/worlds/shop/vrml/shop_000908.wrl new file mode 100644 index 00000000..cacd269d Binary files /dev/null and b/spa/assets/worlds/shop/vrml/shop_000908.wrl differ diff --git a/spa/assets/worlds/shop/vrml/sounds/10.wav b/spa/assets/worlds/shop/vrml/sounds/10.wav new file mode 100644 index 00000000..33dc6a74 Binary files /dev/null and b/spa/assets/worlds/shop/vrml/sounds/10.wav differ diff --git a/spa/assets/worlds/shop/vrml/sounds/11.wav b/spa/assets/worlds/shop/vrml/sounds/11.wav new file mode 100644 index 00000000..02833efb Binary files /dev/null and b/spa/assets/worlds/shop/vrml/sounds/11.wav differ diff --git a/spa/assets/worlds/shop/vrml/sounds/16.wav b/spa/assets/worlds/shop/vrml/sounds/16.wav new file mode 100644 index 00000000..68895f4a Binary files /dev/null and b/spa/assets/worlds/shop/vrml/sounds/16.wav differ diff --git a/spa/assets/worlds/shop/vrml/sounds/bzzz.wav b/spa/assets/worlds/shop/vrml/sounds/bzzz.wav new file mode 100644 index 00000000..c1b27bd9 Binary files /dev/null and b/spa/assets/worlds/shop/vrml/sounds/bzzz.wav differ diff --git a/spa/assets/worlds/shop/vrml/sounds/confirmed.wav b/spa/assets/worlds/shop/vrml/sounds/confirmed.wav new file mode 100644 index 00000000..1c9926d8 Binary files /dev/null and b/spa/assets/worlds/shop/vrml/sounds/confirmed.wav differ diff --git a/spa/assets/worlds/shop/vrml/sounds/enter.wav b/spa/assets/worlds/shop/vrml/sounds/enter.wav new file mode 100644 index 00000000..011a74cb Binary files /dev/null and b/spa/assets/worlds/shop/vrml/sounds/enter.wav differ diff --git a/spa/assets/worlds/shop/vrml/sounds/exit.wav b/spa/assets/worlds/shop/vrml/sounds/exit.wav new file mode 100644 index 00000000..f1c822a7 Binary files /dev/null and b/spa/assets/worlds/shop/vrml/sounds/exit.wav differ diff --git a/spa/assets/worlds/shop/vrml/sounds/fount1.wav b/spa/assets/worlds/shop/vrml/sounds/fount1.wav new file mode 100644 index 00000000..419251d7 Binary files /dev/null and b/spa/assets/worlds/shop/vrml/sounds/fount1.wav differ diff --git a/spa/assets/worlds/shop/vrml/sounds/music.wav b/spa/assets/worlds/shop/vrml/sounds/music.wav new file mode 100644 index 00000000..0092208f Binary files /dev/null and b/spa/assets/worlds/shop/vrml/sounds/music.wav differ diff --git a/spa/assets/worlds/shop/vrml/support_1.jpg b/spa/assets/worlds/shop/vrml/support_1.jpg new file mode 100644 index 00000000..884856b0 Binary files /dev/null and b/spa/assets/worlds/shop/vrml/support_1.jpg differ diff --git a/spa/assets/worlds/shop/vrml/wall_9e.jpg b/spa/assets/worlds/shop/vrml/wall_9e.jpg new file mode 100644 index 00000000..861d3245 Binary files /dev/null and b/spa/assets/worlds/shop/vrml/wall_9e.jpg differ diff --git a/spa/assets/worlds/waterpark/vrml/waterpark.wrl b/spa/assets/worlds/waterpark/vrml/waterpark.wrl index 232d77de..9af2521d 100644 Binary files a/spa/assets/worlds/waterpark/vrml/waterpark.wrl and b/spa/assets/worlds/waterpark/vrml/waterpark.wrl differ diff --git a/spa/package-lock.json b/spa/package-lock.json index 1e031bd0..ecf9cd99 100644 --- a/spa/package-lock.json +++ b/spa/package-lock.json @@ -1,15436 +1,15451 @@ { - "name": "ct-spa", - "version": "0.1.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/code-frame": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", - "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", - "dev": true - }, - "@babel/core": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", - "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.15.8", - "@babel/generator": "^7.15.8", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.8", - "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.8", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - } - }, - "@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", - "dev": true, - "requires": { - "@babel/types": "^7.15.6", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", - "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz", - "integrity": "sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", - "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", - "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "regexpu-core": "^4.7.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", - "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz", - "integrity": "sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", - "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz", - "integrity": "sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-wrap-function": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz", - "integrity": "sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz", - "integrity": "sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helpers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", - "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", - "dev": true, - "requires": { - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", - "dev": true - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz", - "integrity": "sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4", - "@babel/plugin-proposal-optional-chaining": "^7.14.5" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.8.tgz", - "integrity": "sha512-2Z5F2R2ibINTc63mY7FLqGfEbmofrHU9FitJW1Q7aPaKFhiPvSq6QEt/BoWN5oME3GVyjcRuNNSRbb9LC0CSWA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.15.4", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", - "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz", - "integrity": "sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-decorators": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.15.8.tgz", - "integrity": "sha512-5n8+xGK7YDrXF+WAORg3P7LlCCdiaAyKLZi22eP2BwTy4kJ0kFUMMDCj4nQ8YrKyNZgjhU/9eRVqONnjB3us8g==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-decorators": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", - "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", - "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", - "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", - "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", - "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", - "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz", - "integrity": "sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.15.4" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", - "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", - "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz", - "integrity": "sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-create-class-features-plugin": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", - "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.14.5.tgz", - "integrity": "sha512-c4sZMRWL4GSvP1EXy0woIP7m4jkVcEuG8R1TOZxPBPtp4FSM/kiPZub9UIs/Jrb5ZAOzvTUSGYrWsrSu1JvoPw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz", - "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", - "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", - "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", - "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz", - "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz", - "integrity": "sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", - "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", - "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", - "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", - "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", - "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz", - "integrity": "sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", - "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", - "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", - "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", - "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz", - "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.15.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz", - "integrity": "sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", - "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz", - "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", - "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", - "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz", - "integrity": "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", - "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", - "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", - "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", - "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.8.tgz", - "integrity": "sha512-+6zsde91jMzzvkzuEA3k63zCw+tm/GvuuabkpisgbDMTPQsIMHllE3XczJFFtEHLjjhKQFZmGQVRdELetlWpVw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.5", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "semver": "^6.3.0" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", - "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.15.8.tgz", - "integrity": "sha512-/daZ8s2tNaRekl9YJa9X4bzjpeRZLt122cpgFnQPLGUe61PH8zMEBmYqKkW5xF5JUEh5buEGXJoQpqBmIbpmEQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", - "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", - "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", - "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", - "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", - "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/preset-env": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.8.tgz", - "integrity": "sha512-rCC0wH8husJgY4FPbHsiYyiLxSY8oMDJH7Rl6RQMknbN9oDDHhM9RDFvnGM2MgkbUJzSQB4gtuwygY5mCqGSsA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4", - "@babel/plugin-proposal-async-generator-functions": "^7.15.8", - "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-proposal-class-static-block": "^7.15.4", - "@babel/plugin-proposal-dynamic-import": "^7.14.5", - "@babel/plugin-proposal-export-namespace-from": "^7.14.5", - "@babel/plugin-proposal-json-strings": "^7.14.5", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", - "@babel/plugin-proposal-numeric-separator": "^7.14.5", - "@babel/plugin-proposal-object-rest-spread": "^7.15.6", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-proposal-private-property-in-object": "^7.15.4", - "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.14.5", - "@babel/plugin-transform-async-to-generator": "^7.14.5", - "@babel/plugin-transform-block-scoped-functions": "^7.14.5", - "@babel/plugin-transform-block-scoping": "^7.15.3", - "@babel/plugin-transform-classes": "^7.15.4", - "@babel/plugin-transform-computed-properties": "^7.14.5", - "@babel/plugin-transform-destructuring": "^7.14.7", - "@babel/plugin-transform-dotall-regex": "^7.14.5", - "@babel/plugin-transform-duplicate-keys": "^7.14.5", - "@babel/plugin-transform-exponentiation-operator": "^7.14.5", - "@babel/plugin-transform-for-of": "^7.15.4", - "@babel/plugin-transform-function-name": "^7.14.5", - "@babel/plugin-transform-literals": "^7.14.5", - "@babel/plugin-transform-member-expression-literals": "^7.14.5", - "@babel/plugin-transform-modules-amd": "^7.14.5", - "@babel/plugin-transform-modules-commonjs": "^7.15.4", - "@babel/plugin-transform-modules-systemjs": "^7.15.4", - "@babel/plugin-transform-modules-umd": "^7.14.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", - "@babel/plugin-transform-new-target": "^7.14.5", - "@babel/plugin-transform-object-super": "^7.14.5", - "@babel/plugin-transform-parameters": "^7.15.4", - "@babel/plugin-transform-property-literals": "^7.14.5", - "@babel/plugin-transform-regenerator": "^7.14.5", - "@babel/plugin-transform-reserved-words": "^7.14.5", - "@babel/plugin-transform-shorthand-properties": "^7.14.5", - "@babel/plugin-transform-spread": "^7.15.8", - "@babel/plugin-transform-sticky-regex": "^7.14.5", - "@babel/plugin-transform-template-literals": "^7.14.5", - "@babel/plugin-transform-typeof-symbol": "^7.14.5", - "@babel/plugin-transform-unicode-escapes": "^7.14.5", - "@babel/plugin-transform-unicode-regex": "^7.14.5", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.15.6", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.5", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "core-js-compat": "^3.16.0", - "semver": "^6.3.0" - } - }, - "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/runtime": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", - "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "@hapi/address": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", - "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", - "dev": true - }, - "@hapi/bourne": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", - "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", - "dev": true - }, - "@hapi/hoek": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", - "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", - "dev": true - }, - "@hapi/joi": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", - "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", - "dev": true, - "requires": { - "@hapi/address": "2.x.x", - "@hapi/bourne": "1.x.x", - "@hapi/hoek": "8.x.x", - "@hapi/topo": "3.x.x" - } - }, - "@hapi/topo": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", - "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", - "dev": true, - "requires": { - "@hapi/hoek": "^8.3.0" - } - }, - "@intervolga/optimize-cssnano-plugin": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", - "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==", - "dev": true, - "requires": { - "cssnano": "^4.0.0", - "cssnano-preset-default": "^4.0.0", - "postcss": "^7.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "name": "ct-spa", + "version": "0.1.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", + "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "@babel/compat-data": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", + "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", + "dev": true + }, + "@babel/core": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", + "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.15.8", + "@babel/generator": "^7.15.8", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.8", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.8", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "dev": true, - "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "dependencies": { - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - } - } - }, - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true - }, - "@socket.io/component-emitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.0.0.tgz", - "integrity": "sha512-2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q==" - }, - "@soda/friendly-errors-webpack-plugin": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", - "integrity": "sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "error-stack-parser": "^2.0.6", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } + "@babel/generator": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", + "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", + "dev": true, + "requires": { + "@babel/types": "^7.15.6", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "@babel/helper-annotate-as-pure": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", + "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz", + "integrity": "sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.15.4", + "@babel/types": "^7.15.4" + } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "@babel/helper-compilation-targets": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", + "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "@babel/helper-create-class-features-plugin": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", + "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4" + } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@soda/get-current-script": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz", - "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", - "dev": true - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dev": true, - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@types/body-parser": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz", - "integrity": "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==", - "dev": true, - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/component-emitter": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", - "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==" - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "dev": true, - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" - }, - "@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" - }, - "@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", - "dev": true, - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.24", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz", - "integrity": "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/http-proxy": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.7.tgz", - "integrity": "sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", - "dev": true - }, - "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, - "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true - }, - "@types/node": { - "version": "16.11.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.2.tgz", - "integrity": "sha512-w34LtBB0OkDTs19FQHXy4Ig/TOXI4zqvXS2Kk1PAsRKZ0I+nik7LlMYxckW0tSNGtvWmzB+mrCTbuEjuB9DVsw==" - }, - "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==", - "dev": true - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "dev": true - }, - "@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", - "dev": true, - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "@types/tapable": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", - "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", - "dev": true - }, - "@types/uglify-js": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz", - "integrity": "sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@types/webpack": { - "version": "4.41.31", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.31.tgz", - "integrity": "sha512-/i0J7sepXFIp1ZT7FjUGi1eXMCg8HCCzLJEQkKsOtbJFontsJLolBcDC+3qxn5pPwiCt1G0ZdRmYRzNBtvpuGQ==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/tapable": "^1", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "anymatch": "^3.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@types/webpack-dev-server": { - "version": "3.11.6", - "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.6.tgz", - "integrity": "sha512-XCph0RiiqFGetukCTC3KVnY1jwLcZ84illFRMbyFzCcWl90B/76ew0tSqF46oBhnLC4obNDG7dMO0JfTN0MgMQ==", - "dev": true, - "requires": { - "@types/connect-history-api-fallback": "*", - "@types/express": "*", - "@types/serve-static": "*", - "@types/webpack": "^4", - "http-proxy-middleware": "^1.0.0" - } - }, - "@types/webpack-env": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.16.3.tgz", - "integrity": "sha512-9gtOPPkfyNoEqCQgx4qJKkuNm/x0R2hKR7fdl7zvTJyHnIisuE/LfvXOsYWL0o3qq6uiBnKZNNNzi3l0y/X+xw==", - "dev": true - }, - "@types/webpack-sources": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, - "@typescript-eslint/eslint-plugin": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz", - "integrity": "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "4.33.0", - "@typescript-eslint/scope-manager": "4.33.0", - "debug": "^4.3.1", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.1.0", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "dependencies": { - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true + "@babel/helper-create-regexp-features-plugin": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", + "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "regexpu-core": "^4.7.1" + } }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } + "@babel/helper-define-polyfill-provider": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + } }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true + "@babel/helper-explode-assignable-expression": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz", + "integrity": "sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } + "@babel/helper-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + } }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } + "@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "@typescript-eslint/experimental-utils": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz", - "integrity": "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } + "@babel/helper-hoist-variables": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - } + "@babel/helper-member-expression-to-functions": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, - "@typescript-eslint/parser": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz", - "integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "debug": "^4.3.1" - } - }, - "@typescript-eslint/scope-manager": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", - "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0" - } - }, - "@typescript-eslint/types": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", - "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", - "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "dependencies": { - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true + "@babel/helper-module-imports": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true + "@babel/helper-module-transforms": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", + "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6" + } }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } + "@babel/helper-optimise-call-expression": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz", + "integrity": "sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-wrap-function": "^7.15.4", + "@babel/types": "^7.15.4" + } }, - "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } + "@babel/helper-replace-supers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } + "@babel/helper-simple-access": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", + "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz", + "integrity": "sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true + "@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz", + "integrity": "sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } + "@babel/helpers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", + "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", + "dev": true, + "requires": { + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true + "@babel/parser": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", + "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", + "dev": true + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz", + "integrity": "sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" + } }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.8.tgz", + "integrity": "sha512-2Z5F2R2ibINTc63mY7FLqGfEbmofrHU9FitJW1Q7aPaKFhiPvSq6QEt/BoWN5oME3GVyjcRuNNSRbb9LC0CSWA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.15.4", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true + "@babel/plugin-proposal-class-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", + "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } + "@babel/plugin-proposal-class-static-block": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz", + "integrity": "sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } + "@babel/plugin-proposal-decorators": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.15.8.tgz", + "integrity": "sha512-5n8+xGK7YDrXF+WAORg3P7LlCCdiaAyKLZi22eP2BwTy4kJ0kFUMMDCj4nQ8YrKyNZgjhU/9eRVqONnjB3us8g==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-decorators": "^7.14.5" + } }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", - "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.33.0", - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, - "@vue/babel-helper-vue-jsx-merge-props": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz", - "integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==", - "dev": true - }, - "@vue/babel-helper-vue-transform-on": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", - "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", - "dev": true - }, - "@vue/babel-plugin-jsx": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz", - "integrity": "sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.0.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", - "@vue/babel-helper-vue-transform-on": "^1.0.2", - "camelcase": "^6.0.0", - "html-tags": "^3.1.0", - "svg-tags": "^1.0.0" - } - }, - "@vue/babel-plugin-transform-vue-jsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz", - "integrity": "sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", - "html-tags": "^2.0.0", - "lodash.kebabcase": "^4.1.1", - "svg-tags": "^1.0.0" - }, - "dependencies": { - "html-tags": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", - "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", - "dev": true - } - } - }, - "@vue/babel-preset-app": { - "version": "4.5.14", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.14.tgz", - "integrity": "sha512-P13AJv5FDt2XnpZ92K0VMxBS7Pe+gnibxtXMsa8rXLBkEE1NkmtaG5pyXh3fulkmF2/21efOcuh6yFP7k0KuZg==", - "dev": true, - "requires": { - "@babel/core": "^7.11.0", - "@babel/helper-compilation-targets": "^7.9.6", - "@babel/helper-module-imports": "^7.8.3", - "@babel/plugin-proposal-class-properties": "^7.8.3", - "@babel/plugin-proposal-decorators": "^7.8.3", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-jsx": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.11.0", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.0", - "@vue/babel-plugin-jsx": "^1.0.3", - "@vue/babel-preset-jsx": "^1.2.4", - "babel-plugin-dynamic-import-node": "^2.3.3", - "core-js": "^3.6.5", - "core-js-compat": "^3.6.5", - "semver": "^6.1.0" - } - }, - "@vue/babel-preset-jsx": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz", - "integrity": "sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w==", - "dev": true, - "requires": { - "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", - "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", - "@vue/babel-sugar-composition-api-inject-h": "^1.2.1", - "@vue/babel-sugar-composition-api-render-instance": "^1.2.4", - "@vue/babel-sugar-functional-vue": "^1.2.2", - "@vue/babel-sugar-inject-h": "^1.2.2", - "@vue/babel-sugar-v-model": "^1.2.3", - "@vue/babel-sugar-v-on": "^1.2.3" - } - }, - "@vue/babel-sugar-composition-api-inject-h": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz", - "integrity": "sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@vue/babel-sugar-composition-api-render-instance": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz", - "integrity": "sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@vue/babel-sugar-functional-vue": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz", - "integrity": "sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@vue/babel-sugar-inject-h": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz", - "integrity": "sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@vue/babel-sugar-v-model": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz", - "integrity": "sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", - "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", - "camelcase": "^5.0.0", - "html-tags": "^2.0.0", - "svg-tags": "^1.0.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "@babel/plugin-proposal-dynamic-import": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", + "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } }, - "html-tags": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", - "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", - "dev": true - } - } - }, - "@vue/babel-sugar-v-on": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz", - "integrity": "sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", - "camelcase": "^5.0.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - } - } - }, - "@vue/cli-overlay": { - "version": "4.5.14", - "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.14.tgz", - "integrity": "sha512-0LFqTA1uaCTq4N1P9/A0MhWY0tWER3dZkMN1y+ODfrjAcnX96t/qf2jVy9u3QGKHSPbhF5FYBsKEa6uEFYPyfg==", - "dev": true - }, - "@vue/cli-plugin-babel": { - "version": "4.5.14", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.14.tgz", - "integrity": "sha512-8+K684NwmN7TitdCLB9GVts36582ohusfxAL/v6cWnUgrw79gbdGkY8SqyXWrbXCyWYDJrhB25LQIrqGfsJ6Dg==", - "dev": true, - "requires": { - "@babel/core": "^7.11.0", - "@vue/babel-preset-app": "^4.5.14", - "@vue/cli-shared-utils": "^4.5.14", - "babel-loader": "^8.1.0", - "cache-loader": "^4.1.0", - "thread-loader": "^2.1.3", - "webpack": "^4.0.0" - } - }, - "@vue/cli-plugin-eslint": { - "version": "4.5.14", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.5.14.tgz", - "integrity": "sha512-8leK9mZ4Ia4hARWMfVAbcgPBFKjdeOW9S0nG+pt6OBnnwK+V1jf/C7ytfXH+H086KgisU8R9nz1xNaz+9QET0g==", - "dev": true, - "requires": { - "@vue/cli-shared-utils": "^4.5.14", - "eslint-loader": "^2.2.1", - "globby": "^9.2.0", - "inquirer": "^7.1.0", - "webpack": "^4.0.0", - "yorkie": "^2.0.0" - } - }, - "@vue/cli-plugin-router": { - "version": "4.5.14", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.14.tgz", - "integrity": "sha512-tTXGAbCoCSSU7U5+CrOnU3BuNq8/lcuJJGtyeObvbt7e5x+96UTOVAVbdINdGGKIOQ58ZD+QvqSP5NXVT1T52Q==", - "dev": true, - "requires": { - "@vue/cli-shared-utils": "^4.5.14" - } - }, - "@vue/cli-plugin-typescript": { - "version": "4.5.15", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-typescript/-/cli-plugin-typescript-4.5.15.tgz", - "integrity": "sha512-g2HDBwWBboTzNvVrS+w4Ctl7CCErboTlx7PyQrXgY+7uGdPVUT9PWuv4DjaZhosSk7WI3qSIpruCBIkdHX5bwQ==", - "dev": true, - "requires": { - "@types/webpack-env": "^1.15.2", - "@vue/cli-shared-utils": "^4.5.15", - "cache-loader": "^4.1.0", - "fork-ts-checker-webpack-plugin": "^3.1.1", - "fork-ts-checker-webpack-plugin-v5": "npm:fork-ts-checker-webpack-plugin@^5.0.11", - "globby": "^9.2.0", - "thread-loader": "^2.1.3", - "ts-loader": "^6.2.2", - "tslint": "^5.20.1", - "webpack": "^4.0.0", - "yorkie": "^2.0.0" - }, - "dependencies": { - "@vue/cli-shared-utils": { - "version": "4.5.15", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.15.tgz", - "integrity": "sha512-SKaej9hHzzjKSOw1NlFmc6BSE0vcqUQMQiv1cxQ2DhVyy4QxZXBmzmiLBUBe+hYZZs1neXW7n//udeN9bCAY+Q==", - "dev": true, - "requires": { - "@hapi/joi": "^15.0.1", - "chalk": "^2.4.2", - "execa": "^1.0.0", - "launch-editor": "^2.2.1", - "lru-cache": "^5.1.1", - "node-ipc": "^9.1.1", - "open": "^6.3.0", - "ora": "^3.4.0", - "read-pkg": "^5.1.1", - "request": "^2.88.2", - "semver": "^6.1.0", - "strip-ansi": "^6.0.0" - } + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", + "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "optional": true, - "requires": { - "color-convert": "^2.0.1" - } + "@babel/plugin-proposal-json-strings": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", + "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "optional": true, - "requires": { - "color-name": "~1.1.4" - } + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", + "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "optional": true + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", + "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dev": true, - "optional": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } + "@babel/plugin-proposal-numeric-separator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", + "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true, - "optional": true + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz", + "integrity": "sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.15.4" + } }, - "fork-ts-checker-webpack-plugin-v5": { - "version": "npm:fork-ts-checker-webpack-plugin@5.2.1", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.1.tgz", - "integrity": "sha512-SVi+ZAQOGbtAsUWrZvGzz38ga2YqjWvca1pXQFUArIVXqli0lLoDQ8uS0wg0kSpcwpZmaW5jVCZXQebkyUQSsw==", - "dev": true, - "optional": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "dependencies": { - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "optional": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "optional": true, - "requires": { - "lru-cache": "^6.0.0" - } + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", + "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } - } }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "optional": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } + "@babel/plugin-proposal-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "optional": true + "@babel/plugin-proposal-private-methods": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", + "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "optional": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz", + "integrity": "sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-create-class-features-plugin": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", + "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "optional": true + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "optional": true + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "optional": true, - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "optional": true, - "requires": { - "has-flag": "^4.0.0" - } + "@babel/plugin-syntax-decorators": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.14.5.tgz", + "integrity": "sha512-c4sZMRWL4GSvP1EXy0woIP7m4jkVcEuG8R1TOZxPBPtp4FSM/kiPZub9UIs/Jrb5ZAOzvTUSGYrWsrSu1JvoPw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "optional": true + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "optional": true - } - } - }, - "@vue/cli-plugin-vuex": { - "version": "4.5.14", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.14.tgz", - "integrity": "sha512-gZNAQzYSzTHshOrwBdqY54U7H5FlyhC5a6sXioWXBuwShOW+FVrywVl90vlimC0OPju0Q5tL7rPMLp4EgmNvUw==", - "dev": true - }, - "@vue/cli-service": { - "version": "4.5.14", - "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.14.tgz", - "integrity": "sha512-vKdqs9FQH2PYcmANcUm5McE8qqFKPjvoAh3YiNBD0qjMyuX6XGmej8pICJnbbu0Kn3EgQY3haemSIhVkPPyL4g==", - "dev": true, - "requires": { - "@intervolga/optimize-cssnano-plugin": "^1.0.5", - "@soda/friendly-errors-webpack-plugin": "^1.7.1", - "@soda/get-current-script": "^1.0.0", - "@types/minimist": "^1.2.0", - "@types/webpack": "^4.0.0", - "@types/webpack-dev-server": "^3.11.0", - "@vue/cli-overlay": "^4.5.14", - "@vue/cli-plugin-router": "^4.5.14", - "@vue/cli-plugin-vuex": "^4.5.14", - "@vue/cli-shared-utils": "^4.5.14", - "@vue/component-compiler-utils": "^3.1.2", - "@vue/preload-webpack-plugin": "^1.1.0", - "@vue/web-component-wrapper": "^1.2.0", - "acorn": "^7.4.0", - "acorn-walk": "^7.1.1", - "address": "^1.1.2", - "autoprefixer": "^9.8.6", - "browserslist": "^4.12.0", - "cache-loader": "^4.1.0", - "case-sensitive-paths-webpack-plugin": "^2.3.0", - "cli-highlight": "^2.1.4", - "clipboardy": "^2.3.0", - "cliui": "^6.0.0", - "copy-webpack-plugin": "^5.1.1", - "css-loader": "^3.5.3", - "cssnano": "^4.1.10", - "debug": "^4.1.1", - "default-gateway": "^5.0.5", - "dotenv": "^8.2.0", - "dotenv-expand": "^5.1.0", - "file-loader": "^4.2.0", - "fs-extra": "^7.0.1", - "globby": "^9.2.0", - "hash-sum": "^2.0.0", - "html-webpack-plugin": "^3.2.0", - "launch-editor-middleware": "^2.2.1", - "lodash.defaultsdeep": "^4.6.1", - "lodash.mapvalues": "^4.6.0", - "lodash.transform": "^4.6.0", - "mini-css-extract-plugin": "^0.9.0", - "minimist": "^1.2.5", - "pnp-webpack-plugin": "^1.6.4", - "portfinder": "^1.0.26", - "postcss-loader": "^3.0.0", - "ssri": "^8.0.1", - "terser-webpack-plugin": "^1.4.4", - "thread-loader": "^2.1.3", - "url-loader": "^2.2.0", - "vue-loader": "^15.9.2", - "vue-loader-v16": "npm:vue-loader@^16.1.0", - "vue-style-loader": "^4.1.2", - "webpack": "^4.0.0", - "webpack-bundle-analyzer": "^3.8.0", - "webpack-chain": "^6.4.0", - "webpack-dev-server": "^3.11.0", - "webpack-merge": "^4.2.2" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } }, - "autoprefixer": { - "version": "9.8.8", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", - "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "picocolors": "^0.2.1", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - } + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "dotenv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", - "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", - "dev": true + "@babel/plugin-syntax-jsx": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz", + "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } }, - "ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - } - } - }, - "@vue/cli-shared-utils": { - "version": "4.5.14", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.14.tgz", - "integrity": "sha512-OJeabPep8yvQ7n2lgbsw6lzBXmjaBHlCt7k9wnsPiXKtNAnHsv40ejARRnj4HTOuMaW6i1QQ17X3WaozI0zaMw==", - "dev": true, - "requires": { - "@hapi/joi": "^15.0.1", - "chalk": "^2.4.2", - "execa": "^1.0.0", - "launch-editor": "^2.2.1", - "lru-cache": "^5.1.1", - "node-ipc": "^9.1.1", - "open": "^6.3.0", - "ora": "^3.4.0", - "read-pkg": "^5.1.1", - "request": "^2.88.2", - "semver": "^6.1.0", - "strip-ansi": "^6.0.0" - } - }, - "@vue/component-compiler-utils": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.2.tgz", - "integrity": "sha512-rAYMLmgMuqJFWAOb3Awjqqv5X3Q3hVr4jH/kgrFJpiU0j3a90tnNBplqbj+snzrgZhC9W128z+dtgMifOiMfJg==", - "dev": true, - "requires": { - "consolidate": "^0.15.1", - "hash-sum": "^1.0.2", - "lru-cache": "^4.1.2", - "merge-source-map": "^1.1.0", - "postcss": "^7.0.36", - "postcss-selector-parser": "^6.0.2", - "prettier": "^1.18.2", - "source-map": "~0.6.1", - "vue-template-es2015-compiler": "^1.9.0" - }, - "dependencies": { - "hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", - "dev": true + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - }, - "@vue/eslint-config-typescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-7.0.0.tgz", - "integrity": "sha512-UxUlvpSrFOoF8aQ+zX1leYiEBEm7CZmXYn/ZEM1zwSadUzpamx56RB4+Htdjisv1mX2tOjBegNUqH3kz2OL+Aw==", - "dev": true, - "requires": { - "vue-eslint-parser": "^7.0.0" - } - }, - "@vue/preload-webpack-plugin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz", - "integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==", - "dev": true - }, - "@vue/web-component-wrapper": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", - "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true - }, - "acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "dev": true, - "requires": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - } - } - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true - }, - "address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", - "dev": true - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, - "requires": { - "string-width": "^4.1.0" - } - }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - } - } - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", - "dev": true - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true - }, - "arg": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", - "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true + "@babel/plugin-transform-arrow-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", + "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "optional": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "autoprefixer": { - "version": "9.8.8", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", - "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "picocolors": "^0.2.1", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - } - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, - "axios": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.23.0.tgz", - "integrity": "sha512-NmvAE4i0YAv5cKq8zlDoPd1VLKAqX5oLuZKs8xkJa4qi6RGn0uhCYFjWtHHC9EM/MwOwYWOs53W+V0aqEXq1sg==", - "requires": { - "follow-redirects": "^1.14.4" - } - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "@babel/plugin-transform-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" + } }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", + "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } + "@babel/plugin-transform-block-scoping": { + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz", + "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true + "@babel/plugin-transform-classes": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz", + "integrity": "sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "globals": "^11.1.0" + } }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } + "@babel/plugin-transform-computed-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", + "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - } - }, - "babel-loader": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", - "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", - "dev": true, - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", - "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.2", - "semver": "^6.1.1" - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz", - "integrity": "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.16.2" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", - "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2" - } - }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } + "@babel/plugin-transform-destructuring": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", + "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } + "@babel/plugin-transform-dotall-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", + "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } + "@babel/plugin-transform-duplicate-keys": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", + "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base64-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz", - "integrity": "sha512-vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA==" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "bfj": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", - "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "check-types": "^8.0.3", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", + "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "@babel/plugin-transform-for-of": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz", + "integrity": "sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - }, - "dependencies": { - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "dev": true, - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } + "@babel/plugin-transform-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", + "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "@babel/plugin-transform-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", + "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } + "@babel/plugin-transform-member-expression-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", + "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "@babel/plugin-transform-modules-amd": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", + "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "@babel/plugin-transform-modules-commonjs": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz", + "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.15.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } + "@babel/plugin-transform-modules-systemjs": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz", + "integrity": "sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.9", + "babel-plugin-dynamic-import-node": "^2.3.3" + } }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } + "@babel/plugin-transform-modules-umd": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", + "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.4.tgz", - "integrity": "sha512-Zg7RpbZpIJRW3am9Lyckue7PLytvVxxhJj1CaJVlCWENsGEAOlnlt8X0ZxGRPp7Bt9o8tIRM5SEXy4BCPMJjLQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001265", - "electron-to-chromium": "^1.3.867", - "escalade": "^3.1.1", - "node-releases": "^2.0.0", - "picocolors": "^1.0.0" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "buffer-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz", - "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cache-loader": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-4.1.0.tgz", - "integrity": "sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==", - "dev": true, - "requires": { - "buffer-json": "^2.0.0", - "find-cache-dir": "^3.0.0", - "loader-utils": "^1.2.3", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.1", - "schema-utils": "^2.0.0" - } - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dev": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz", + "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5" + } }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true + "@babel/plugin-transform-new-target": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", + "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", - "dev": true - } - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", - "dev": true - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "requires": { - "callsites": "^2.0.0" - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true - }, - "camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001270", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001270.tgz", - "integrity": "sha512-TcIC7AyNWXhcOmv2KftOl1ShFAaHQYcB/EPL/hEyMrcS7ZX0/DvV1aoy6BzV0+16wTpoAyTMGDNAJfSqS/rz7A==", - "dev": true - }, - "case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "check-types": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", - "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", - "dev": true - }, - "chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } + "@babel/plugin-transform-object-super": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", + "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" + } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } + "@babel/plugin-transform-parameters": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz", + "integrity": "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "@babel/plugin-transform-property-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", + "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true - }, - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-css": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", - "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", - "dev": true, - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-highlight": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", - "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "highlight.js": "^10.7.1", - "mz": "^2.4.0", - "parse5": "^5.1.1", - "parse5-htmlparser2-tree-adapter": "^6.0.0", - "yargs": "^16.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } + "@babel/plugin-transform-regenerator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", + "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "@babel/plugin-transform-reserved-words": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", + "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } + "@babel/plugin-transform-runtime": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.8.tgz", + "integrity": "sha512-+6zsde91jMzzvkzuEA3k63zCw+tm/GvuuabkpisgbDMTPQsIMHllE3XczJFFtEHLjjhKQFZmGQVRdELetlWpVw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.5", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "semver": "^6.3.0" + } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "@babel/plugin-transform-shorthand-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", + "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "@babel/plugin-transform-spread": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.15.8.tgz", + "integrity": "sha512-/daZ8s2tNaRekl9YJa9X4bzjpeRZLt122cpgFnQPLGUe61PH8zMEBmYqKkW5xF5JUEh5buEGXJoQpqBmIbpmEQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4" + } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", - "dev": true - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true - }, - "clipboardy": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", - "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", - "dev": true, - "requires": { - "arch": "^2.1.1", - "execa": "^1.0.0", - "is-wsl": "^2.1.1" - }, - "dependencies": { - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - } - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } + "@babel/plugin-transform-sticky-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", + "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } + "@babel/plugin-transform-template-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", + "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "@babel/plugin-transform-typeof-symbol": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", + "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dev": true, - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "dev": true, - "requires": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "color-string": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", - "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", - "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true + "@babel/plugin-transform-unicode-escapes": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", + "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } + "@babel/plugin-transform-unicode-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", + "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "consolidate": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", - "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", - "dev": true, - "requires": { - "bluebird": "^3.1.1" - } - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "copy-webpack-plugin": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz", - "integrity": "sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==", - "dev": true, - "requires": { - "cacache": "^12.0.3", - "find-cache-dir": "^2.1.0", - "glob-parent": "^3.1.0", - "globby": "^7.1.1", - "is-glob": "^4.0.1", - "loader-utils": "^1.2.3", - "minimatch": "^3.0.4", - "normalize-path": "^3.0.0", - "p-limit": "^2.2.1", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } + "@babel/preset-env": { + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.8.tgz", + "integrity": "sha512-rCC0wH8husJgY4FPbHsiYyiLxSY8oMDJH7Rl6RQMknbN9oDDHhM9RDFvnGM2MgkbUJzSQB4gtuwygY5mCqGSsA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4", + "@babel/plugin-proposal-async-generator-functions": "^7.15.8", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.15.4", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.15.6", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.15.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.15.3", + "@babel/plugin-transform-classes": "^7.15.4", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.15.4", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.15.4", + "@babel/plugin-transform-modules-systemjs": "^7.15.4", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.15.4", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.15.8", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.15.6", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.5", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.16.0", + "semver": "^6.3.0" + } }, - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } + "@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true + "@babel/runtime": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", + "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } + "@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + } }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } + "@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + } }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } + "@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", + "dev": true + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "dev": true + }, + "@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", + "dev": true + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "dev": true, + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "dev": true, + "requires": { + "@hapi/hoek": "^8.3.0" + } }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } + "@intervolga/optimize-cssnano-plugin": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", + "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==", + "dev": true, + "requires": { + "cssnano": "^4.0.0", + "cssnano-preset-default": "^4.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - } - } - }, - "core-js": { - "version": "3.18.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.3.tgz", - "integrity": "sha512-tReEhtMReZaPFVw7dajMx0vlsz3oOb8ajgPoHVYGxr8ErnZ6PcYEvvmjGmXlfpnxpkYSdOQttjB+MvVbCGfvLw==" - }, - "core-js-compat": { - "version": "3.18.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.3.tgz", - "integrity": "sha512-4zP6/y0a2RTHN5bRGT7PTq9lVt3WzvffTNjqnTKsXhkAYNDTkdCLOIfAdOLcQ/7TDdyRj3c+NeHe1NmF1eDScw==", - "dev": true, - "requires": { - "browserslist": "^4.17.3", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - } - } - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true - }, - "css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", - "dev": true, - "requires": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-loader": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", - "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.32", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^2.7.0", - "semver": "^6.3.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true + }, + "@socket.io/component-emitter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.0.0.tgz", + "integrity": "sha512-2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q==" + }, + "@soda/friendly-errors-webpack-plugin": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", + "integrity": "sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "error-stack-parser": "^2.0.6", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } }, - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "@soda/get-current-script": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz", + "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", + "dev": true + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "requires": { + "defer-to-connect": "^1.0.1" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "@types/body-parser": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz", + "integrity": "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", - "dev": true - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dev": true, - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-unit-converter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", - "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==", - "dev": true - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "cssnano": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", - "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.8", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "@types/component-emitter": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", + "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==" + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "requires": { + "@types/node": "*" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "cssnano-preset-default": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", - "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", - "dev": true, - "requires": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.3", - "postcss-unique-selectors": "^4.0.1" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" + }, + "@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" + }, + "@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "@types/express-serve-static-core": { + "version": "4.17.24", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz", + "integrity": "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", - "dev": true - }, - "cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", - "dev": true - }, - "cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "@types/http-proxy": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.7.tgz", + "integrity": "sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w==", + "dev": true, + "requires": { + "@types/node": "*" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", - "dev": true - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dev": true, - "requires": { - "css-tree": "^1.1.2" - }, - "dependencies": { - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } + "@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "@types/node": { + "version": "16.11.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.2.tgz", + "integrity": "sha512-w34LtBB0OkDTs19FQHXy4Ig/TOXI4zqvXS2Kk1PAsRKZ0I+nik7LlMYxckW0tSNGtvWmzB+mrCTbuEjuB9DVsw==" + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==", + "dev": true + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "@types/tapable": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", + "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", + "dev": true + }, + "@types/uglify-js": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz", + "integrity": "sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "dayjs": { - "version": "1.11.7", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", - "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" - }, - "de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", - "dev": true - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "deepmerge": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", - "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", - "dev": true - }, - "default-gateway": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-5.0.5.tgz", - "integrity": "sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA==", - "dev": true, - "requires": { - "execa": "^3.3.0" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } + "@types/webpack": { + "version": "4.41.31", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.31.tgz", + "integrity": "sha512-/i0J7sepXFIp1ZT7FjUGi1eXMCg8HCCzLJEQkKsOtbJFontsJLolBcDC+3qxn5pPwiCt1G0ZdRmYRzNBtvpuGQ==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "anymatch": "^3.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } + "@types/webpack-dev-server": { + "version": "3.11.6", + "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.6.tgz", + "integrity": "sha512-XCph0RiiqFGetukCTC3KVnY1jwLcZ84illFRMbyFzCcWl90B/76ew0tSqF46oBhnLC4obNDG7dMO0JfTN0MgMQ==", + "dev": true, + "requires": { + "@types/connect-history-api-fallback": "*", + "@types/express": "*", + "@types/serve-static": "*", + "@types/webpack": "^4", + "http-proxy-middleware": "^1.0.0" + } }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } + "@types/webpack-env": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.16.3.tgz", + "integrity": "sha512-9gtOPPkfyNoEqCQgx4qJKkuNm/x0R2hKR7fdl7zvTJyHnIisuE/LfvXOsYWL0o3qq6uiBnKZNNNzi3l0y/X+xw==", + "dev": true + }, + "@types/webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true + "@typescript-eslint/eslint-plugin": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz", + "integrity": "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.33.0", + "@typescript-eslint/scope-manager": "4.33.0", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "ignore": "^5.1.8", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "dependencies": { + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true + "@typescript-eslint/experimental-utils": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz", + "integrity": "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.33.0", + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/typescript-estree": "4.33.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } + "@typescript-eslint/parser": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz", + "integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "4.33.0", + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/typescript-estree": "4.33.0", + "debug": "^4.3.1" + } }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } + "@typescript-eslint/scope-manager": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", + "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0" + } }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "dev": true + "@typescript-eslint/types": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", + "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", + "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true + "@typescript-eslint/visitor-keys": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", + "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.33.0", + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } + "@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz", + "integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==", + "dev": true + }, + "@vue/babel-helper-vue-transform-on": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", + "dev": true + }, + "@vue/babel-plugin-jsx": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz", + "integrity": "sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "@vue/babel-helper-vue-transform-on": "^1.0.2", + "camelcase": "^6.0.0", + "html-tags": "^3.1.0", + "svg-tags": "^1.0.0" + } }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true + "@vue/babel-plugin-transform-vue-jsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz", + "integrity": "sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + }, + "dependencies": { + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true + } + } }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", - "dev": true - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } + "@vue/babel-preset-app": { + "version": "4.5.14", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.14.tgz", + "integrity": "sha512-P13AJv5FDt2XnpZ92K0VMxBS7Pe+gnibxtXMsa8rXLBkEE1NkmtaG5pyXh3fulkmF2/21efOcuh6yFP7k0KuZg==", + "dev": true, + "requires": { + "@babel/core": "^7.11.0", + "@babel/helper-compilation-targets": "^7.9.6", + "@babel/helper-module-imports": "^7.8.3", + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/plugin-proposal-decorators": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.11.0", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.0", + "@vue/babel-plugin-jsx": "^1.0.3", + "@vue/babel-preset-jsx": "^1.2.4", + "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.6.5", + "core-js-compat": "^3.6.5", + "semver": "^6.1.0" + } }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } + "@vue/babel-preset-jsx": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz", + "integrity": "sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w==", + "dev": true, + "requires": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "@vue/babel-sugar-composition-api-inject-h": "^1.2.1", + "@vue/babel-sugar-composition-api-render-instance": "^1.2.4", + "@vue/babel-sugar-functional-vue": "^1.2.2", + "@vue/babel-sugar-inject-h": "^1.2.2", + "@vue/babel-sugar-v-model": "^1.2.3", + "@vue/babel-sugar-v-on": "^1.2.3" + } }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "dependencies": { - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "dev": true - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "detective": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", - "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", - "dev": true, - "requires": { - "acorn-node": "^1.6.1", - "defined": "^1.0.0", - "minimist": "^1.1.1" - } - }, - "didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "dev": true, - "requires": { - "path-type": "^3.0.0" - } - }, - "dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true - } - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "domhandler": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", - "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true - } - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, - "dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "dev": true - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "easy-stack": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz", - "integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==", - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.876", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.876.tgz", - "integrity": "sha512-a6LR4738psrubCtGx5HxM/gNlrIsh4eFTNnokgOqvQo81GWd07lLcOjITkAXn2y4lIp18vgS+DGnehj+/oEAxQ==", - "dev": true - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "engine.io": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.2.tgz", - "integrity": "sha512-v/7eGHxPvO2AWsksyx2PUsQvBafuvqs0jJJQ0FdmJG1b9qIvgSbqDRGwNhfk2XHaTTbTXiC4quRE8Q9nRjsrQQ==", - "requires": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.0", - "ws": "~8.2.3" - }, - "dependencies": { - "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" + "@vue/babel-sugar-composition-api-inject-h": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz", + "integrity": "sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } }, - "ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==" - } - } - }, - "engine.io-client": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.0.3.tgz", - "integrity": "sha512-IH8ZhDIwiLv0d/wXVzmjfV9Y82hbJIDhCGSVUV8o1kcpDe2I6Y3bZA3ZbJy4Ls7k7IVmcy/qn4k9RKWFhUGf5w==", - "requires": { - "@socket.io/component-emitter": "~3.0.0", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.0", - "has-cors": "1.1.0", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "ws": "~8.2.3", - "xmlhttprequest-ssl": "~2.0.0", - "yeast": "0.1.2" - }, - "dependencies": { - "ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==" - } - } - }, - "engine.io-parser": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.2.tgz", - "integrity": "sha512-wuiO7qO/OEkPJSFueuATIXtrxF7/6GTbAO9QLv7nnbjwZ5tYhLm9zxvLwxstRs0dcT0KUlWTjtIOs1T86jt12g==", - "requires": { - "base64-arraybuffer": "~1.0.1" - } - }, - "enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", - "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", - "dev": true, - "requires": { - "stackframe": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", - "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", - "is-string": "^1.0.7", - "is-weakref": "^1.0.1", - "object-inspect": "^1.11.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } + "@vue/babel-sugar-composition-api-render-instance": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz", + "integrity": "sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } + "@vue/babel-sugar-functional-vue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz", + "integrity": "sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } + "@vue/babel-sugar-inject-h": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz", + "integrity": "sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true + "@vue/babel-sugar-v-model": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz", + "integrity": "sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true + } + } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } + "@vue/babel-sugar-v-on": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz", + "integrity": "sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "camelcase": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } - } - }, - "eslint-loader": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", - "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", - "dev": true, - "requires": { - "loader-fs-cache": "^1.0.0", - "loader-utils": "^1.0.2", - "object-assign": "^4.0.1", - "object-hash": "^1.1.4", - "rimraf": "^2.6.1" - } - }, - "eslint-plugin-vue": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz", - "integrity": "sha512-Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==", - "dev": true, - "requires": { - "natural-compare": "^1.4.0", - "semver": "^5.6.0", - "vue-eslint-parser": "^7.0.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, - "espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "event-pubsub": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", - "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", - "dev": true - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - }, - "eventsource": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", - "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", - "dev": true, - "requires": { - "original": "^1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } + "@vue/cli-overlay": { + "version": "4.5.14", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.14.tgz", + "integrity": "sha512-0LFqTA1uaCTq4N1P9/A0MhWY0tWER3dZkMN1y+ODfrjAcnX96t/qf2jVy9u3QGKHSPbhF5FYBsKEa6uEFYPyfg==", + "dev": true + }, + "@vue/cli-plugin-babel": { + "version": "4.5.14", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.14.tgz", + "integrity": "sha512-8+K684NwmN7TitdCLB9GVts36582ohusfxAL/v6cWnUgrw79gbdGkY8SqyXWrbXCyWYDJrhB25LQIrqGfsJ6Dg==", + "dev": true, + "requires": { + "@babel/core": "^7.11.0", + "@vue/babel-preset-app": "^4.5.14", + "@vue/cli-shared-utils": "^4.5.14", + "babel-loader": "^8.1.0", + "cache-loader": "^4.1.0", + "thread-loader": "^2.1.3", + "webpack": "^4.0.0" + } }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } + "@vue/cli-plugin-eslint": { + "version": "4.5.14", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.5.14.tgz", + "integrity": "sha512-8leK9mZ4Ia4hARWMfVAbcgPBFKjdeOW9S0nG+pt6OBnnwK+V1jf/C7ytfXH+H086KgisU8R9nz1xNaz+9QET0g==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.5.14", + "eslint-loader": "^2.2.1", + "globby": "^9.2.0", + "inquirer": "^7.1.0", + "webpack": "^4.0.0", + "yorkie": "^2.0.0" + } }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } + "@vue/cli-plugin-router": { + "version": "4.5.14", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.14.tgz", + "integrity": "sha512-tTXGAbCoCSSU7U5+CrOnU3BuNq8/lcuJJGtyeObvbt7e5x+96UTOVAVbdINdGGKIOQ58ZD+QvqSP5NXVT1T52Q==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.5.14" + } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } + "@vue/cli-plugin-typescript": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-typescript/-/cli-plugin-typescript-4.5.15.tgz", + "integrity": "sha512-g2HDBwWBboTzNvVrS+w4Ctl7CCErboTlx7PyQrXgY+7uGdPVUT9PWuv4DjaZhosSk7WI3qSIpruCBIkdHX5bwQ==", + "dev": true, + "requires": { + "@types/webpack-env": "^1.15.2", + "@vue/cli-shared-utils": "^4.5.15", + "cache-loader": "^4.1.0", + "fork-ts-checker-webpack-plugin": "^3.1.1", + "fork-ts-checker-webpack-plugin-v5": "npm:fork-ts-checker-webpack-plugin@^5.0.11", + "globby": "^9.2.0", + "thread-loader": "^2.1.3", + "ts-loader": "^6.2.2", + "tslint": "^5.20.1", + "webpack": "^4.0.0", + "yorkie": "^2.0.0" + }, + "dependencies": { + "@vue/cli-shared-utils": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.15.tgz", + "integrity": "sha512-SKaej9hHzzjKSOw1NlFmc6BSE0vcqUQMQiv1cxQ2DhVyy4QxZXBmzmiLBUBe+hYZZs1neXW7n//udeN9bCAY+Q==", + "dev": true, + "requires": { + "@hapi/joi": "^15.0.1", + "chalk": "^2.4.2", + "execa": "^1.0.0", + "launch-editor": "^2.2.1", + "lru-cache": "^5.1.1", + "node-ipc": "^9.1.1", + "open": "^6.3.0", + "ora": "^3.4.0", + "read-pkg": "^5.1.1", + "request": "^2.88.2", + "semver": "^6.1.0", + "strip-ansi": "^6.0.0" + } + } + } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "@vue/cli-plugin-vuex": { + "version": "4.5.14", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.14.tgz", + "integrity": "sha512-gZNAQzYSzTHshOrwBdqY54U7H5FlyhC5a6sXioWXBuwShOW+FVrywVl90vlimC0OPju0Q5tL7rPMLp4EgmNvUw==", + "dev": true + }, + "@vue/cli-service": { + "version": "4.5.14", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.14.tgz", + "integrity": "sha512-vKdqs9FQH2PYcmANcUm5McE8qqFKPjvoAh3YiNBD0qjMyuX6XGmej8pICJnbbu0Kn3EgQY3haemSIhVkPPyL4g==", + "dev": true, + "requires": { + "@intervolga/optimize-cssnano-plugin": "^1.0.5", + "@soda/friendly-errors-webpack-plugin": "^1.7.1", + "@soda/get-current-script": "^1.0.0", + "@types/minimist": "^1.2.0", + "@types/webpack": "^4.0.0", + "@types/webpack-dev-server": "^3.11.0", + "@vue/cli-overlay": "^4.5.14", + "@vue/cli-plugin-router": "^4.5.14", + "@vue/cli-plugin-vuex": "^4.5.14", + "@vue/cli-shared-utils": "^4.5.14", + "@vue/component-compiler-utils": "^3.1.2", + "@vue/preload-webpack-plugin": "^1.1.0", + "@vue/web-component-wrapper": "^1.2.0", + "acorn": "^7.4.0", + "acorn-walk": "^7.1.1", + "address": "^1.1.2", + "autoprefixer": "^9.8.6", + "browserslist": "^4.12.0", + "cache-loader": "^4.1.0", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "cli-highlight": "^2.1.4", + "clipboardy": "^2.3.0", + "cliui": "^6.0.0", + "copy-webpack-plugin": "^5.1.1", + "css-loader": "^3.5.3", + "cssnano": "^4.1.10", + "debug": "^4.1.1", + "default-gateway": "^5.0.5", + "dotenv": "^8.2.0", + "dotenv-expand": "^5.1.0", + "file-loader": "^4.2.0", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "hash-sum": "^2.0.0", + "html-webpack-plugin": "^3.2.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "lodash.transform": "^4.6.0", + "mini-css-extract-plugin": "^0.9.0", + "minimist": "^1.2.5", + "pnp-webpack-plugin": "^1.6.4", + "portfinder": "^1.0.26", + "postcss-loader": "^3.0.0", + "ssri": "^8.0.1", + "terser-webpack-plugin": "^1.4.4", + "thread-loader": "^2.1.3", + "url-loader": "^2.2.0", + "vue-loader": "^15.9.2", + "vue-loader-v16": "npm:vue-loader@^16.1.0", + "vue-style-loader": "^4.1.2", + "webpack": "^4.0.0", + "webpack-bundle-analyzer": "^3.8.0", + "webpack-chain": "^6.4.0", + "webpack-dev-server": "^3.11.0", + "webpack-merge": "^4.2.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "optional": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "vue-loader-v16": { + "version": "npm:vue-loader@16.8.3", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", + "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + } + } + } }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } + "@vue/cli-shared-utils": { + "version": "4.5.14", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.14.tgz", + "integrity": "sha512-OJeabPep8yvQ7n2lgbsw6lzBXmjaBHlCt7k9wnsPiXKtNAnHsv40ejARRnj4HTOuMaW6i1QQ17X3WaozI0zaMw==", + "dev": true, + "requires": { + "@hapi/joi": "^15.0.1", + "chalk": "^2.4.2", + "execa": "^1.0.0", + "launch-editor": "^2.2.1", + "lru-cache": "^5.1.1", + "node-ipc": "^9.1.1", + "open": "^6.3.0", + "ora": "^3.4.0", + "read-pkg": "^5.1.1", + "request": "^2.88.2", + "semver": "^6.1.0", + "strip-ansi": "^6.0.0" + } }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } + "@vue/component-compiler-utils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.2.tgz", + "integrity": "sha512-rAYMLmgMuqJFWAOb3Awjqqv5X3Q3hVr4jH/kgrFJpiU0j3a90tnNBplqbj+snzrgZhC9W128z+dtgMifOiMfJg==", + "dev": true, + "requires": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.36", + "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } + "@vue/eslint-config-typescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-7.0.0.tgz", + "integrity": "sha512-UxUlvpSrFOoF8aQ+zX1leYiEBEm7CZmXYn/ZEM1zwSadUzpamx56RB4+Htdjisv1mX2tOjBegNUqH3kz2OL+Aw==", + "dev": true, + "requires": { + "vue-eslint-parser": "^7.0.0" + } }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } + "@vue/preload-webpack-plugin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz", + "integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==", + "dev": true + }, + "@vue/web-component-wrapper": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", + "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "dev": true, - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "dependencies": { - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fibers": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fibers/-/fibers-5.0.0.tgz", - "integrity": "sha512-UpGv/YAZp7mhKHxDvC1tColrroGRX90sSvh8RMZV9leo+e5+EkRVgCEZPlmXeo3BUNQTZxUaVdLskq1Q2FyCPg==", - "dev": true, - "requires": { - "detect-libc": "^1.0.3" - } - }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "file-loader": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", - "integrity": "sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==", - "dev": true, - "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.5.0" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "filesize": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", - "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", - "dev": true - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "fork-ts-checker-webpack-plugin": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz", - "integrity": "sha512-DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ==", - "dev": true, - "requires": { - "babel-code-frame": "^6.22.0", - "chalk": "^2.4.1", - "chokidar": "^3.3.0", - "micromatch": "^3.1.10", - "minimatch": "^3.0.4", - "semver": "^5.6.0", - "tapable": "^1.0.0", - "worker-rpc": "^0.1.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", - "dev": true, - "optional": true - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", - "dev": true - }, - "global-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", - "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", - "dev": true, - "requires": { - "ini": "2.0.0" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dev": true, - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", - "dev": true - }, - "gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", - "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", - "dev": true, - "requires": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - } - } - }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "dev": true - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + } }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "hash-sum": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", - "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", - "dev": true - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", - "dev": true - }, - "highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", - "dev": true - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", - "dev": true - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", - "dev": true - }, - "html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", - "dev": true - }, - "html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", - "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", - "dev": true, - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - } - } - }, - "html-tags": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", - "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", - "dev": true - }, - "html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", - "dev": true, - "requires": { - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "tapable": "^1.0.0", - "toposort": "^1.0.0", - "util.promisify": "1.0.0" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - } - } - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - }, - "dependencies": { - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } }, - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - } - } - }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "dev": true - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", - "dev": true - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz", - "integrity": "sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==", - "dev": true, - "requires": { - "@types/http-proxy": "^1.17.5", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "dev": true, - "requires": { - "postcss": "^7.0.14" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", - "dev": true - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, - "requires": { - "import-from": "^2.1.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "dev": true - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "requires": { + "string-width": "^4.1.0" + } }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + } + } }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "optional": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + } + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "axios": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.23.0.tgz", + "integrity": "sha512-NmvAE4i0YAv5cKq8zlDoPd1VLKAqX5oLuZKs8xkJa4qi6RGn0uhCYFjWtHHC9EM/MwOwYWOs53W+V0aqEXq1sg==", + "requires": { + "follow-redirects": "^1.14.4" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + } + }, + "babel-loader": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.2", + "semver": "^6.1.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz", + "integrity": "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.16.2" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2" + } + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" + }, + "badwords-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/badwords-list/-/badwords-list-1.0.0.tgz", + "integrity": "sha512-oWhaSG67e+HQj3OGHQt2ucP+vAPm1wTbdp2aDHeuh4xlGXBdWwzZ//pfu6swf5gZ8iX0b7JgmSo8BhgybbqszA==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz", + "integrity": "sha512-vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA==" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bfj": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "dev": true, + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.4.tgz", + "integrity": "sha512-Zg7RpbZpIJRW3am9Lyckue7PLytvVxxhJj1CaJVlCWENsGEAOlnlt8X0ZxGRPp7Bt9o8tIRM5SEXy4BCPMJjLQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001265", + "electron-to-chromium": "^1.3.867", + "escalade": "^3.1.1", + "node-releases": "^2.0.0", + "picocolors": "^1.0.0" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz", + "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cache-loader": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-4.1.0.tgz", + "integrity": "sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==", + "dev": true, + "requires": { + "buffer-json": "^2.0.0", + "find-cache-dir": "^3.0.0", + "loader-utils": "^1.2.3", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "schema-utils": "^2.0.0" + } + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + }, + "normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true + } + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001270", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001270.tgz", + "integrity": "sha512-TcIC7AyNWXhcOmv2KftOl1ShFAaHQYcB/EPL/hEyMrcS7ZX0/DvV1aoy6BzV0+16wTpoAyTMGDNAJfSqS/rz7A==", + "dev": true + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "check-types": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", + "dev": true + }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", + "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "highlight.js": "^10.7.1", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "dev": true + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, + "clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "dev": true, + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "dependencies": { + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + } + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dev": true, + "requires": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-string": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", + "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true, + "requires": { + "bluebird": "^3.1.1" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz", + "integrity": "sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==", + "dev": true, + "requires": { + "cacache": "^12.0.3", + "find-cache-dir": "^2.1.0", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "is-glob": "^4.0.1", + "loader-utils": "^1.2.3", + "minimatch": "^3.0.4", + "normalize-path": "^3.0.0", + "p-limit": "^2.2.1", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + } + } + }, + "core-js": { + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.3.tgz", + "integrity": "sha512-tReEhtMReZaPFVw7dajMx0vlsz3oOb8ajgPoHVYGxr8ErnZ6PcYEvvmjGmXlfpnxpkYSdOQttjB+MvVbCGfvLw==" + }, + "core-js-compat": { + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.3.tgz", + "integrity": "sha512-4zP6/y0a2RTHN5bRGT7PTq9lVt3WzvffTNjqnTKsXhkAYNDTkdCLOIfAdOLcQ/7TDdyRj3c+NeHe1NmF1eDScw==", + "dev": true, + "requires": { + "browserslist": "^4.17.3", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + } + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dev": true, + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "css-loader": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", + "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.32", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.0", + "semver": "^6.3.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "css-unit-converter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", + "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==", + "dev": true + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", + "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.8", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "cssnano-preset-default": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", + "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", + "dev": true, + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.3", + "postcss-unique-selectors": "^4.0.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "dev": true + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "dev": true + }, + "default-gateway": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-5.0.5.tgz", + "integrity": "sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA==", + "dev": true, + "requires": { + "execa": "^3.3.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==" + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "requires": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + }, + "dependencies": { + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + } + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + } + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "easy-stack": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz", + "integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.876", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.876.tgz", + "integrity": "sha512-a6LR4738psrubCtGx5HxM/gNlrIsh4eFTNnokgOqvQo81GWd07lLcOjITkAXn2y4lIp18vgS+DGnehj+/oEAxQ==", + "dev": true + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "engine.io": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.2.tgz", + "integrity": "sha512-v/7eGHxPvO2AWsksyx2PUsQvBafuvqs0jJJQ0FdmJG1b9qIvgSbqDRGwNhfk2XHaTTbTXiC4quRE8Q9nRjsrQQ==", + "requires": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.0", + "ws": "~8.2.3" + }, + "dependencies": { + "cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" + }, + "ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==" + } + } + }, + "engine.io-client": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.0.3.tgz", + "integrity": "sha512-IH8ZhDIwiLv0d/wXVzmjfV9Y82hbJIDhCGSVUV8o1kcpDe2I6Y3bZA3ZbJy4Ls7k7IVmcy/qn4k9RKWFhUGf5w==", + "requires": { + "@socket.io/component-emitter": "~3.0.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.0", + "has-cors": "1.1.0", + "parseqs": "0.0.6", + "parseuri": "0.0.6", + "ws": "~8.2.3", + "xmlhttprequest-ssl": "~2.0.0", + "yeast": "0.1.2" + }, + "dependencies": { + "ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==" + } + } + }, + "engine.io-parser": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.2.tgz", + "integrity": "sha512-wuiO7qO/OEkPJSFueuATIXtrxF7/6GTbAO9QLv7nnbjwZ5tYhLm9zxvLwxstRs0dcT0KUlWTjtIOs1T86jt12g==", + "requires": { + "base64-arraybuffer": "~1.0.1" + } + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "dev": true, + "requires": { + "stackframe": "^1.1.1" + } + }, + "es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "eslint-loader": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", + "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", + "dev": true, + "requires": { + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" + } + }, + "eslint-plugin-vue": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz", + "integrity": "sha512-Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==", + "dev": true, + "requires": { + "natural-compare": "^1.4.0", + "semver": "^5.6.0", + "vue-eslint-parser": "^7.0.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", + "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "eventsource": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", + "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "dependencies": { + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fibers": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/fibers/-/fibers-5.0.3.tgz", + "integrity": "sha512-/qYTSoZydQkM21qZpGLDLuCq8c+B8KhuCQ1kLPvnRNhxhVbvrpmH9l2+Lblf5neDuEsY4bfT7LeO553TXQDvJw==", + "requires": { + "detect-libc": "^1.0.3" + } + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", + "integrity": "sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "schema-utils": "^2.5.0" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "fork-ts-checker-webpack-plugin": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz", + "integrity": "sha512-DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ==", + "dev": true, + "requires": { + "babel-code-frame": "^6.22.0", + "chalk": "^2.4.1", + "chokidar": "^3.3.0", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "fork-ts-checker-webpack-plugin-v5": { + "version": "npm:fork-ts-checker-webpack-plugin@5.2.1", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.1.tgz", + "integrity": "sha512-SVi+ZAQOGbtAsUWrZvGzz38ga2YqjWvca1pXQFUArIVXqli0lLoDQ8uS0wg0kSpcwpZmaW5jVCZXQebkyUQSsw==", + "dev": true, + "optional": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "optional": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "optional": true + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "optional": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "optional": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "optional": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "optional": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "optional": true + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "optional": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "optional": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "optional": true + } + } + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", + "dev": true, + "optional": true + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "global-dirs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", + "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", + "dev": true, + "requires": { + "ini": "2.0.0" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "dev": true + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } + } + }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "dev": true + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", + "dev": true + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + } + } + }, + "html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "dev": true + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "dev": true, + "requires": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + } + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + }, + "dependencies": { + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + } + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz", + "integrity": "sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==", + "dev": true, + "requires": { + "@types/http-proxy": "^1.17.5", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true + }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "dependencies": { + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + } + } + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-core-module": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "dependencies": { + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + } + } + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true + }, + "is-npm": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-weakref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", + "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", + "dev": true + }, + "js-message": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", + "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==", + "dev": true + }, + "js-queue": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.2.tgz", + "integrity": "sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA==", + "dev": true, + "requires": { + "easy-stack": "^1.0.1" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "dependencies": { + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + } + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "klona": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", + "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", + "dev": true + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dev": true, + "requires": { + "package-json": "^6.3.0" + } + }, + "launch-editor": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz", + "integrity": "sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "shell-quote": "^1.6.1" + } + }, + "launch-editor-middleware": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz", + "integrity": "sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==", + "dev": true, + "requires": { + "launch-editor": "^2.2.1" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "loader-fs-cache": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", + "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==", + "dev": true, + "requires": { + "find-cache-dir": "^0.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "requires": { + "find-up": "^1.0.0" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", + "dev": true + }, + "lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + }, + "lodash.topath": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==", + "dev": true + }, + "lodash.transform": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", + "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "loglevel": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", + "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", + "dev": true + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dev": true, + "optional": true, + "requires": { + "fs-monkey": "^1.0.4" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "microevent.ts": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", + "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "dev": true + }, + "mime-db": { + "version": "1.50.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", + "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==" + }, + "mime-types": { + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", + "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", + "requires": { + "mime-db": "1.50.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", + "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "minipass": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz", + "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "modern-normalize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz", + "integrity": "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==", + "dev": true + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "dev": true, + "optional": true + }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dev": true, + "requires": { + "lodash": "^4.17.21" + } + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "dev": true + }, + "node-ipc": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.2.1.tgz", + "integrity": "sha512-mJzaM6O3xHf9VT8BULvJSbdVbmHUKRNOH7zDDkCrA1/T+CVjq2WVIDfLt0azZRXpgArJtl3rtmEozrbXPZ9GaQ==", + "dev": true, + "requires": { + "event-pubsub": "4.3.0", + "js-message": "1.0.7", + "js-queue": "2.0.2" + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-releases": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", + "dev": true + }, + "nodemon": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.15.tgz", + "integrity": "sha512-gdHMNx47Gw7b3kWxJV64NI+Q5nfl0y5DgDbiVtShiwa7Z0IZ07Ll4RLFo6AjrhzMtoEZn5PDE3/c2AbVsiCkpA==", + "dev": true, + "requires": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.0.4", + "pstree.remy": "^1.1.8", + "semver": "^5.7.1", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5", + "update-notifier": "^5.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", + "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", + "dev": true + }, + "object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "dev": true + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.0" + } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dev": true, + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + } + } }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dev": true, - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, - "dependencies": { - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - } - } - } - }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", - "dev": true - }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", - "dev": true, - "requires": { - "ci-info": "^1.5.0" - } - }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "dev": true, - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "dev": true, - "requires": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "dependencies": { - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - } - } - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true - }, - "is-npm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", - "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "requires": { - "is-path-inside": "^2.1.0" - } - }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "requires": { - "path-is-inside": "^1.0.2" - } - }, - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "is-shared-array-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-weakref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", - "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0" - } - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "javascript-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", - "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", - "dev": true - }, - "js-message": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", - "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==", - "dev": true - }, - "js-queue": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.2.tgz", - "integrity": "sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA==", - "dev": true, - "requires": { - "easy-stack": "^1.0.1" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", - "dev": true - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", - "requires": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "dependencies": { - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - } - } - }, - "jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "requires": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "requires": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dev": true, - "requires": { - "json-buffer": "3.0.0" - } - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "klona": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", - "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", - "dev": true - }, - "latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "dev": true, - "requires": { - "package-json": "^6.3.0" - } - }, - "launch-editor": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz", - "integrity": "sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==", - "dev": true, - "requires": { - "chalk": "^2.3.0", - "shell-quote": "^1.6.1" - } - }, - "launch-editor-middleware": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz", - "integrity": "sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==", - "dev": true, - "requires": { - "launch-editor": "^2.2.1" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "lilconfig": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", - "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", - "dev": true - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "loader-fs-cache": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", - "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==", - "dev": true, - "requires": { - "find-cache-dir": "^0.1.1", - "mkdirp": "^0.5.1" - }, - "dependencies": { - "find-cache-dir": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" - } + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "requires": { + "parse5": "^6.0.1" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + } + } }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } + "parseqs": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", + "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==" + }, + "parseuri": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", + "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true }, "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true }, - "pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "dev": true, - "requires": { - "find-up": "^1.0.0" - } - } - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lodash.defaultsdeep": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", - "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", - "dev": true - }, - "lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" - }, - "lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" - }, - "lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" - }, - "lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" - }, - "lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", - "dev": true - }, - "lodash.mapvalues": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", - "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" - }, - "lodash.topath": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", - "integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=", - "dev": true - }, - "lodash.transform": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", - "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dev": true, - "requires": { - "chalk": "^2.0.1" - } - }, - "loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", - "dev": true - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "memfs": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.3.tgz", - "integrity": "sha512-eivjfi7Ahr6eQTn44nvTnR60e4a1Fs1Via2kCR5lHo/kyNoiMWaXCNJ/GpSd0ilXas2JSOl9B5FTIhflXu0hlg==", - "dev": true, - "optional": true, - "requires": { - "fs-monkey": "1.0.3" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "microevent.ts": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", - "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", - "dev": true - }, - "mime-db": { - "version": "1.50.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", - "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==" - }, - "mime-types": { - "version": "2.1.33", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", - "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", - "requires": { - "mime-db": "1.50.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true - }, - "mini-css-extract-plugin": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", - "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "normalize-url": "1.9.1", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "dependencies": { - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "minipass": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz", - "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "modern-normalize": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz", - "integrity": "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==", - "dev": true - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "dev": true, - "optional": true - }, - "nanoid": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", - "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", - "dev": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", - "dev": true, - "requires": { - "lodash": "^4.17.21" - } - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true - }, - "node-ipc": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.2.1.tgz", - "integrity": "sha512-mJzaM6O3xHf9VT8BULvJSbdVbmHUKRNOH7zDDkCrA1/T+CVjq2WVIDfLt0azZRXpgArJtl3rtmEozrbXPZ9GaQ==", - "dev": true, - "requires": { - "event-pubsub": "4.3.0", - "js-message": "1.0.7", - "js-queue": "2.0.2" - } - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, - "node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "dev": true - }, - "nodemon": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.15.tgz", - "integrity": "sha512-gdHMNx47Gw7b3kWxJV64NI+Q5nfl0y5DgDbiVtShiwa7Z0IZ07Ll4RLFo6AjrhzMtoEZn5PDE3/c2AbVsiCkpA==", - "dev": true, - "requires": { - "chokidar": "^3.5.2", - "debug": "^3.2.7", - "ignore-by-default": "^1.0.1", - "minimatch": "^3.0.4", - "pstree.remy": "^1.1.8", - "semver": "^5.7.1", - "supports-color": "^5.5.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.5", - "update-notifier": "^5.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", - "dev": true - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, - "requires": { - "boolbase": "~1.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-hash": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", - "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", - "dev": true - }, - "object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", - "dev": true - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", - "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "open": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", - "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "ora": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", - "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-spinners": "^2.0.0", - "log-symbols": "^2.2.0", - "strip-ansi": "^5.2.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "dev": true, - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "dev": true, - "requires": { - "retry": "^0.12.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "dev": true, - "requires": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - } - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - }, - "dependencies": { - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - } - } - }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "dev": true - }, - "parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dev": true, - "requires": { - "parse5": "^6.0.1" - }, - "dependencies": { - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - } - } - }, - "parseqs": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", - "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==" - }, - "parseuri": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", - "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "pnp-webpack-plugin": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", - "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", - "dev": true, - "requires": { - "ts-pnp": "^1.1.6" - } - }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-calc": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", - "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", - "dev": true, - "requires": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - }, - "dependencies": { "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "pnp-webpack-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", + "dev": true, + "requires": { + "ts-pnp": "^1.1.6" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true }, "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "dev": true, + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "postcss-functions": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-functions/-/postcss-functions-3.0.0.tgz", + "integrity": "sha512-N5yWXWKA+uhpLQ9ZhBRl2bIAdM6oVJYpDojuI1nF2SzXBimJcdjFwiAouBVbO5VuOF3qA6BSFWFc3wXbbj72XQ==", + "dev": true, + "requires": { + "glob": "^7.1.2", + "object-assign": "^4.1.1", + "postcss": "^6.0.9", + "postcss-value-parser": "^3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "postcss-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.3.tgz", + "integrity": "sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1", + "postcss": "^7.0.18" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-functions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-functions/-/postcss-functions-3.0.0.tgz", - "integrity": "sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4=", - "dev": true, - "requires": { - "glob": "^7.1.2", - "object-assign": "^4.1.1", - "postcss": "^6.0.9", - "postcss-value-parser": "^3.3.0" - }, - "dependencies": { - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } + "postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-js": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.3.tgz", - "integrity": "sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w==", - "dev": true, - "requires": { - "camelcase-css": "^2.0.1", - "postcss": "^7.0.18" - } - }, - "postcss-load-config": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", - "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - } - }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", - "dev": true, - "requires": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "postcss-modules-local-by-default": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", + "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", + "dev": true, + "requires": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } + "postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "dev": true, + "requires": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "postcss-nested": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-4.2.3.tgz", + "integrity": "sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw==", + "dev": true, + "requires": { + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2" + } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dev": true, + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "dev": true, - "requires": { - "postcss": "^7.0.5" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-modules-local-by-default": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", - "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", - "dev": true, - "requires": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.32", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "postcss-svgo": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", + "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", - "dev": true, - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", - "dev": true, - "requires": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true, + "optional": true + }, + "pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "dev": true, + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-nested": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-4.2.3.tgz", - "integrity": "sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw==", - "dev": true, - "requires": { - "postcss": "^7.0.32", - "postcss-selector-parser": "^6.0.2" - } - }, - "postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "dev": true, + "requires": { + "escape-goat": "^2.0.0" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "purgecss": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.1.3.tgz", + "integrity": "sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==", + "dev": true, + "requires": { + "commander": "^8.0.0", + "glob": "^7.1.7", + "postcss": "^8.3.5", + "postcss-selector-parser": "^6.0.6" + }, + "dependencies": { + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true + }, + "postcss": { + "version": "8.4.33", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", + "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", + "dev": true, + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", - "dev": true, - "requires": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "reduce-css-calc": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", + "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", + "dev": true, + "requires": { + "css-unit-converter": "^1.1.1", + "postcss-value-parser": "^3.3.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", + "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", - "dev": true, - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "regexpu-core": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", + "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^9.0.0", + "regjsgen": "^0.5.2", + "regjsparser": "^0.7.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "registry-auth-token": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "regjsparser": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", + "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "dev": true, + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "css-select": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" + } + }, + "css-what": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "dev": true + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", - "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", - "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sass": { + "version": "1.43.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.43.2.tgz", + "integrity": "sha512-DncYhjl3wBaPMMJR0kIUaH3sF536rVrOcqqVGmTZHQRRzj7LQlyGV7Mb8aCKFyILMr5VsPHwRYtyKpnKYlmQSQ==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "sass-loader": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.2.0.tgz", + "integrity": "sha512-kUceLzC1gIHz0zNJPpqRsJyisWatGYNFRmv2CKZK2/ngMJgLqxTbXwe/hJ85luyvZkgqU3VlJ33UVF2T/0g6mw==", + "dev": true, + "requires": { + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true, - "optional": true - }, - "pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", - "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", - "dev": true, - "requires": { - "lodash": "^4.17.20", - "renderkid": "^2.0.4" - } - }, - "pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "pstree.remy": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", - "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "dev": true, - "requires": { - "escape-goat": "^2.0.0" - } - }, - "purgecss": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.1.3.tgz", - "integrity": "sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==", - "dev": true, - "requires": { - "commander": "^8.0.0", - "glob": "^7.1.7", - "postcss": "^8.3.5", - "postcss-selector-parser": "^6.0.6" - }, - "dependencies": { - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true }, - "postcss": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", - "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", - "dev": true, - "requires": { - "nanoid": "^3.1.30", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.1" - } - } - } - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - } - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "reduce-css-calc": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", - "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", - "dev": true, - "requires": { - "css-unit-converter": "^1.1.1", - "postcss-value-parser": "^3.3.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", - "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true - }, - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true - }, - "regexpu-core": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", - "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", - "dev": true, - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^9.0.0", - "regjsgen": "^0.5.2", - "regjsparser": "^0.7.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - } - }, - "registry-auth-token": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", - "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", - "dev": true, - "requires": { - "rc": "^1.2.8" - } - }, - "registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "dev": true, - "requires": { - "rc": "^1.2.8" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "regjsparser": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", - "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "renderkid": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", - "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", - "dev": true, - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", + "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "dev": true, + "requires": { + "node-forge": "^0.10.0" + } }, - "css-select": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", - "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^5.0.0", - "domhandler": "^4.2.0", - "domutils": "^2.6.0", - "nth-check": "^2.0.0" - } + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dev": true, + "requires": { + "semver": "^6.3.0" + } }, - "css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", - "dev": true + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } }, - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } }, - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } }, - "nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", - "dev": true, - "requires": { - "boolbase": "^1.0.0" - } + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", - "dev": true - }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sass": { - "version": "1.43.2", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.43.2.tgz", - "integrity": "sha512-DncYhjl3wBaPMMJR0kIUaH3sF536rVrOcqqVGmTZHQRRzj7LQlyGV7Mb8aCKFyILMr5VsPHwRYtyKpnKYlmQSQ==", - "dev": true, - "requires": { - "chokidar": ">=3.0.0 <4.0.0" - } - }, - "sass-loader": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.2.0.tgz", - "integrity": "sha512-kUceLzC1gIHz0zNJPpqRsJyisWatGYNFRmv2CKZK2/ngMJgLqxTbXwe/hJ85luyvZkgqU3VlJ33UVF2T/0g6mw==", - "dev": true, - "requires": { - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "semver": "^7.3.2" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", + "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", - "dev": true, - "requires": { - "node-forge": "^0.10.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "dev": true, - "requires": { - "semver": "^6.3.0" - } - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } + "signal-exit": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", + "dev": true + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + } + } }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + } + } }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - } - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "socket.io": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz", + "integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==", + "requires": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.1.0", + "socket.io-adapter": "~2.3.3", + "socket.io-parser": "~4.0.4" + }, + "dependencies": { + "socket.io-parser": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", + "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", + "requires": { + "@types/component-emitter": "^1.2.10", + "component-emitter": "~1.3.0", + "debug": "~4.3.1" + } + } + } }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shell-quote": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", - "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", - "dev": true - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", - "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", - "dev": true - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dev": true, - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true - } - } - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - } - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } + "socket.io-adapter": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz", + "integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==" + }, + "socket.io-client": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.3.2.tgz", + "integrity": "sha512-2B9LqSunN60yV8F7S84CCEEcgbYNfrn7ejIInZtLZ7ppWtiX8rGZAjvdCvbnC8bqo/9RlCNOUsORLyskxSFP1g==", + "requires": { + "@socket.io/component-emitter": "~3.0.0", + "backo2": "~1.0.2", + "debug": "~4.3.2", + "engine.io-client": "~6.0.1", + "parseuri": "0.0.6", + "socket.io-parser": "~4.1.1" + } }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } + "socket.io-parser": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.1.1.tgz", + "integrity": "sha512-USQVLSkDWE5nbcY760ExdKaJxCE65kcsG/8k5FDGZVVxpD1pA7hABYXYkCUvxUuYYh/+uQw0N/fvBzfT8o07KA==", + "requires": { + "@socket.io/component-emitter": "~3.0.0", + "debug": "~4.3.1" + } }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } + "sockjs": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } + "sockjs-client": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.2.tgz", + "integrity": "sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ==", + "dev": true, + "requires": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.5.3" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + } + } }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "socket.io": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz", - "integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==", - "requires": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.2", - "engine.io": "~6.1.0", - "socket.io-adapter": "~2.3.3", - "socket.io-parser": "~4.0.4" - }, - "dependencies": { - "socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", - "requires": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", - "debug": "~4.3.1" - } - } - } - }, - "socket.io-adapter": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz", - "integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==" - }, - "socket.io-client": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.3.2.tgz", - "integrity": "sha512-2B9LqSunN60yV8F7S84CCEEcgbYNfrn7ejIInZtLZ7ppWtiX8rGZAjvdCvbnC8bqo/9RlCNOUsORLyskxSFP1g==", - "requires": { - "@socket.io/component-emitter": "~3.0.0", - "backo2": "~1.0.2", - "debug": "~4.3.2", - "engine.io-client": "~6.0.1", - "parseuri": "0.0.6", - "socket.io-parser": "~4.1.1" - } - }, - "socket.io-parser": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.1.1.tgz", - "integrity": "sha512-USQVLSkDWE5nbcY760ExdKaJxCE65kcsG/8k5FDGZVVxpD1pA7hABYXYkCUvxUuYYh/+uQw0N/fvBzfT8o07KA==", - "requires": { - "@socket.io/component-emitter": "~3.0.0", - "debug": "~4.3.1" - } - }, - "sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", - "dev": true, - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", - "websocket-driver": "^0.7.4" - } - }, - "sockjs-client": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.2.tgz", - "integrity": "sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ==", - "dev": true, - "requires": { - "debug": "^3.2.6", - "eventsource": "^1.0.7", - "faye-websocket": "^0.11.3", - "inherits": "^2.0.4", - "json3": "^3.3.3", - "url-parse": "^1.5.3" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - }, - "dependencies": { - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - } - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.20", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", - "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz", - "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==", - "dev": true - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", - "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - } - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } + "source-map-support": { + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", + "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", - "dev": true - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - } - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true + "spdx-license-ids": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz", + "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "tailwindcss": { - "version": "npm:@tailwindcss/postcss7-compat@2.2.17", - "resolved": "https://registry.npmjs.org/@tailwindcss/postcss7-compat/-/postcss7-compat-2.2.17.tgz", - "integrity": "sha512-3h2svqQAqYHxRZ1KjsJjZOVTQ04m29LjfrLjXyZZEJuvUuJN+BCIF9GI8vhE1s0plS0mogd6E6YLg6mu4Wv/Vw==", - "dev": true, - "requires": { - "arg": "^5.0.1", - "autoprefixer": "^9", - "bytes": "^3.0.0", - "chalk": "^4.1.2", - "chokidar": "^3.5.2", - "color": "^4.0.1", - "cosmiconfig": "^7.0.1", - "detective": "^5.2.0", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.7", - "fs-extra": "^10.0.0", - "glob-parent": "^6.0.1", - "html-tags": "^3.1.0", - "is-color-stop": "^1.1.0", - "is-glob": "^4.0.1", - "lodash": "^4.17.21", - "lodash.topath": "^4.5.2", - "modern-normalize": "^1.1.0", - "node-emoji": "^1.11.0", - "normalize-path": "^3.0.0", - "object-hash": "^2.2.0", - "postcss": "^7", - "postcss-functions": "^3", - "postcss-js": "^2", - "postcss-load-config": "^3.1.0", - "postcss-nested": "^4", - "postcss-selector-parser": "^6.0.6", - "postcss-value-parser": "^4.1.0", - "pretty-hrtime": "^1.0.3", - "purgecss": "^4.0.3", - "quick-lru": "^5.1.1", - "reduce-css-calc": "^2.1.8", - "resolve": "^1.20.0", - "tmp": "^0.2.1" - }, - "dependencies": { - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } + "ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stackframe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", + "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } }, - "color": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.0.tgz", - "integrity": "sha512-hHTcrbvEnGjC7WBMk6ibQWFVDgEFTVmjrz2Q5HlU6ltwxv0JJN2Z8I7uRbWeQLF04dikxs8zgyZkazRJvSMtyQ==", - "dev": true, - "requires": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - } + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true }, - "color-string": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", - "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", - "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true }, - "cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dev": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } }, - "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } - } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } }, - "fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", - "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + } + } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } }, - "object-hash": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", - "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", - "dev": true + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", + "dev": true + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + } }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } }, - "postcss-load-config": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.1.tgz", - "integrity": "sha512-c/9XYboIbSEUZpiD1UQD0IKiUe8n9WHYV7YFe7X7J+ZwCsEKkUJSFWjS9hBU1RR9THR7jMXst8sxiqP0jjo2mg==", - "dev": true, - "requires": { - "lilconfig": "^2.0.4", - "yaml": "^1.10.2" - } + "tailwindcss": { + "version": "npm:@tailwindcss/postcss7-compat@2.2.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss7-compat/-/postcss7-compat-2.2.17.tgz", + "integrity": "sha512-3h2svqQAqYHxRZ1KjsJjZOVTQ04m29LjfrLjXyZZEJuvUuJN+BCIF9GI8vhE1s0plS0mogd6E6YLg6mu4Wv/Vw==", + "dev": true, + "requires": { + "arg": "^5.0.1", + "autoprefixer": "^9", + "bytes": "^3.0.0", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "color": "^4.0.1", + "cosmiconfig": "^7.0.1", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.7", + "fs-extra": "^10.0.0", + "glob-parent": "^6.0.1", + "html-tags": "^3.1.0", + "is-color-stop": "^1.1.0", + "is-glob": "^4.0.1", + "lodash": "^4.17.21", + "lodash.topath": "^4.5.2", + "modern-normalize": "^1.1.0", + "node-emoji": "^1.11.0", + "normalize-path": "^3.0.0", + "object-hash": "^2.2.0", + "postcss": "^7", + "postcss-functions": "^3", + "postcss-js": "^2", + "postcss-load-config": "^3.1.0", + "postcss-nested": "^4", + "postcss-selector-parser": "^6.0.6", + "postcss-value-parser": "^4.1.0", + "pretty-hrtime": "^1.0.3", + "purgecss": "^4.0.3", + "quick-lru": "^5.1.1", + "reduce-css-calc": "^2.1.8", + "resolve": "^1.20.0", + "tmp": "^0.2.1" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dev": true, + "requires": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + } + } }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "requires": { - "rimraf": "^3.0.0" - } + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } + "thread-loader": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz", + "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", + "dev": true, + "requires": { + "loader-runner": "^2.3.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.0" + } }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "dependencies": { - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "requires": { + "nopt": "~1.0.10" + } }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "requires": { - "any-promise": "^1.0.0" - } - }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", - "dev": true, - "requires": { - "thenify": ">= 3.1.0 < 4" - } - }, - "thread-loader": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz", - "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", - "dev": true, - "requires": { - "loader-runner": "^2.3.1", - "loader-utils": "^1.1.0", - "neo-async": "^2.6.0" - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "dev": true - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - }, - "toposort": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", - "dev": true - }, - "touch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", - "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", - "dev": true, - "requires": { - "nopt": "~1.0.10" - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", - "dev": true - }, - "ts-loader": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-6.2.2.tgz", - "integrity": "sha512-HDo5kXZCBml3EUPcc7RlZOV/JGlLHwppTLEHb3SHnr5V7NXD4klMEkrhJe5wgRbaWsSXi+Y1SIBN/K9B6zWGWQ==", - "dev": true, - "requires": { - "chalk": "^2.3.0", - "enhanced-resolve": "^4.0.0", - "loader-utils": "^1.0.2", - "micromatch": "^4.0.0", - "semver": "^6.0.0" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true + }, + "ts-loader": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-6.2.2.tgz", + "integrity": "sha512-HDo5kXZCBml3EUPcc7RlZOV/JGlLHwppTLEHb3SHnr5V7NXD4klMEkrhJe5wgRbaWsSXi+Y1SIBN/K9B6zWGWQ==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^1.0.2", + "micromatch": "^4.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } + "ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tslint": { + "version": "5.20.1", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", + "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.8.0", + "tsutils": "^2.29.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", - "dev": true - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "tslint": { - "version": "5.20.1", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", - "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^4.0.1", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.8.0", - "tsutils": "^2.29.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.6.tgz", - "integrity": "sha512-pxnwLxeb/Z5SP80JDRzVjh58KsM6jZHRAOtTpS7sXLS4ogXNKC9ANxHHZqLLeVHZN35jCtI4JdmLLbLiC1kBow==", - "dev": true - }, - "uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", - "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", - "dev": true, - "requires": { - "commander": "~2.19.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - } - }, - "undefsafe": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", - "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", - "dev": true - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", - "dev": true - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "requires": { - "crypto-random-string": "^2.0.0" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true - }, - "update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", - "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", - "dev": true, - "requires": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "typescript": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.6.tgz", + "integrity": "sha512-pxnwLxeb/Z5SP80JDRzVjh58KsM6jZHRAOtTpS7sXLS4ogXNKC9ANxHHZqLLeVHZN35jCtI4JdmLLbLiC1kBow==", + "dev": true + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } + "undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "requires": { + "crypto-random-string": "^2.0.0" + } }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "update-notifier": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", + "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", + "dev": true, + "requires": { + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-loader": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.3.0.tgz", - "integrity": "sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==", - "dev": true, - "requires": { - "loader-utils": "^1.2.3", - "mime": "^2.4.4", - "schema-utils": "^2.5.0" - } - }, - "url-parse": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.9.tgz", - "integrity": "sha512-HpOvhKBvre8wYez+QhHcYiVvVmeF6DVnuSOOPhe3cTum3BnqHhvKaZm8FU5yTiOu/Jut2ZpB2rA/SbBA1JIGlQ==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "requires": { - "prepend-http": "^2.0.0" - }, - "dependencies": { - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - } - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "vue": { - "version": "2.6.14", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", - "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==" - }, - "vue-eslint-parser": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz", - "integrity": "sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "eslint-scope": "^5.1.1", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.2.1", - "esquery": "^1.4.0", - "lodash": "^4.17.21", - "semver": "^6.3.0" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - } - } - }, - "vue-gtag": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/vue-gtag/-/vue-gtag-1.16.1.tgz", - "integrity": "sha512-5vs0pSGxdqrfXqN1Qwt0ZFXG0iTYjRMu/saddc7QIC5yp+DKgjWQRpGYVa7Pq+KbThxwzzMfo0sGi7ISa6NowA==" - }, - "vue-hot-reload-api": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", - "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", - "dev": true - }, - "vue-loader": { - "version": "15.9.8", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz", - "integrity": "sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==", - "dev": true, - "requires": { - "@vue/component-compiler-utils": "^3.1.0", - "hash-sum": "^1.0.2", - "loader-utils": "^1.1.0", - "vue-hot-reload-api": "^2.3.0", - "vue-style-loader": "^4.1.0" - }, - "dependencies": { - "hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", - "dev": true - } - } - }, - "vue-loader-v16": { - "version": "npm:vue-loader@16.8.3", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", - "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", - "dev": true, - "optional": true, - "requires": { - "chalk": "^4.1.0", - "hash-sum": "^2.0.0", - "loader-utils": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "optional": true, - "requires": { - "color-convert": "^2.0.1" - } + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "optional": true, - "requires": { - "color-name": "~1.1.4" - } + "url-loader": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.3.0.tgz", + "integrity": "sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "mime": "^2.4.4", + "schema-utils": "^2.5.0" + } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "optional": true + "url-parse": { + "version": "1.5.9", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.9.tgz", + "integrity": "sha512-HpOvhKBvre8wYez+QhHcYiVvVmeF6DVnuSOOPhe3cTum3BnqHhvKaZm8FU5yTiOu/Jut2ZpB2rA/SbBA1JIGlQ==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "optional": true + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + }, + "dependencies": { + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + } + } }, - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "optional": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "optional": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "vue-router": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.2.tgz", - "integrity": "sha512-807gn82hTnjCYGrnF3eNmIw/dk7/GE4B5h69BlyCK9KHASwSloD1Sjcn06zg9fVG4fYH2DrsNBZkpLtb25WtaQ==" - }, - "vue-style-loader": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", - "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", - "dev": true, - "requires": { - "hash-sum": "^1.0.2", - "loader-utils": "^1.0.2" - }, - "dependencies": { - "hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", - "dev": true - } - } - }, - "vue-template-compiler": { - "version": "2.6.14", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz", - "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==", - "dev": true, - "requires": { - "de-indent": "^1.0.2", - "he": "^1.1.0" - } - }, - "vue-template-es2015-compiler": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", - "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", - "dev": true - }, - "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dev": true, - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" - } - }, - "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "dev": true, - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "vue": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", + "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==" + }, + "vue-eslint-parser": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz", + "integrity": "sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "eslint-scope": "^5.1.1", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.2.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^6.3.0" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + } + } }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - } - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "webpack-bundle-analyzer": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz", - "integrity": "sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1", - "bfj": "^6.1.1", - "chalk": "^2.4.1", - "commander": "^2.18.0", - "ejs": "^2.6.1", - "express": "^4.16.3", - "filesize": "^3.6.1", - "gzip-size": "^5.0.0", - "lodash": "^4.17.19", - "mkdirp": "^0.5.1", - "opener": "^1.5.1", - "ws": "^6.0.0" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - } - } - }, - "webpack-chain": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", - "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", - "dev": true, - "requires": { - "deepmerge": "^1.5.2", - "javascript-stringify": "^2.0.1" - } - }, - "webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", - "dev": true, - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - } - }, - "webpack-dev-server": { - "version": "3.11.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", - "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "vue-gtag": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/vue-gtag/-/vue-gtag-1.16.1.tgz", + "integrity": "sha512-5vs0pSGxdqrfXqN1Qwt0ZFXG0iTYjRMu/saddc7QIC5yp+DKgjWQRpGYVa7Pq+KbThxwzzMfo0sGi7ISa6NowA==" + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "vue-loader": { + "version": "15.9.8", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz", + "integrity": "sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==", + "dev": true, + "requires": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + } + } }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } + "vue-router": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.2.tgz", + "integrity": "sha512-807gn82hTnjCYGrnF3eNmIw/dk7/GE4B5h69BlyCK9KHASwSloD1Sjcn06zg9fVG4fYH2DrsNBZkpLtb25WtaQ==" + }, + "vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + } + } }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true + "vue-template-compiler": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz", + "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + } }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + } + } }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } + "webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } + "webpack-bundle-analyzer": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz", + "integrity": "sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.19", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } + "webpack-chain": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", + "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", + "dev": true, + "requires": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^2.0.1" + } }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - } + "webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true + "webpack-dev-server": { + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "requires": { + "string-width": "^4.0.0" + } }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "worker-rpc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", + "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", + "dev": true, + "requires": { + "microevent.ts": "~0.1.1" + } }, "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - } - }, - "webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", - "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dev": true, - "requires": { - "string-width": "^4.0.0" - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "worker-rpc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", - "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", - "dev": true, - "requires": { - "microevent.ts": "~0.1.1" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true - }, - "xmlhttprequest-ssl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", - "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "dependencies": { - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "dev": true }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - } - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" - }, - "yorkie": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", - "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==", - "dev": true, - "requires": { - "execa": "^0.8.0", - "is-ci": "^1.0.10", - "normalize-path": "^1.0.0", - "strip-indent": "^2.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } + "xmlhttprequest-ssl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==" }, - "execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true }, - "normalize-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", - "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", - "dev": true + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "dependencies": { + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + } + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + }, + "yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", + "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==", + "dev": true, + "requires": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } } - } } - } } diff --git a/spa/package.json b/spa/package.json index 97fafeef..ab9cdd6d 100644 --- a/spa/package.json +++ b/spa/package.json @@ -1,114 +1,115 @@ -{ - "name": "ct-spa", - "version": "0.1.0", - "private": true, - "scripts": { - "serve": "vue-cli-service serve --mode development --watch", - "build": "vue-cli-service build", - "lint": "vue-cli-service lint", - "dev": "vue-cli-service build --mode development --watch", - "dev-server": "nodemon --inspect=0.0.0.0:9230 -r dotenv/config server.js" - }, - "dependencies": { - "axios": "^0.23.0", - "core-js": "^3.18.3", - "dayjs": "^1.11.7", - "dotenv": "^10.0.0", - "express": "^4.17.1", - "jsonwebtoken": "^8.5.1", - "socket.io": "^4.4.1", - "socket.io-client": "^4.3.2", - "vue": "^2.6.14", - "vue-gtag": "^1.16.1", - "vue-router": "^3.5.2" - }, - "devDependencies": { - "@typescript-eslint/eslint-plugin": "^4.18.0", - "@typescript-eslint/parser": "^4.18.0", - "@vue/cli-plugin-babel": "^4.5.14", - "@vue/cli-plugin-eslint": "^4.5.14", - "@vue/cli-plugin-typescript": "^4.5.15", - "@vue/cli-service": "^4.5.14", - "@vue/eslint-config-typescript": "^7.0.0", - "autoprefixer": "^9.8.8", - "babel-eslint": "^10.1.0", - "eslint": "^6.8.0", - "eslint-plugin-vue": "^6.2.2", - "fibers": "^5.0.0", - "nodemon": "^2.0.15", - "postcss": "^7.0.39", - "sass": "^1.43.2", - "sass-loader": "^10.2.0", - "tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.2.17", - "typescript": "~4.1.5", - "vue-template-compiler": "^2.6.14" - }, - "eslintConfig": { - "root": true, - "env": { - "node": true - }, - "extends": [ - "plugin:vue/essential", - "eslint:recommended", - "@vue/typescript" - ], - "parserOptions": { - "parser": "@typescript-eslint/parser" - }, - "rules": { - "comma-dangle": [ - "error", - "always-multiline" - ], - "eol-last": [ - "error", - "always" - ], - "eqeqeq": [ - "error", - "always" - ], - "indent": [ - "error", - 2 - ], - "linebreak-style": [ - "error", - "unix" - ], - "max-len": [ - "error", - { - "code": 100 - } - ], - "no-tabs": [ - "error", - { - "allowIndentationTabs": false - } - ], - "no-multiple-empty-lines": "error", - "no-unreachable": "off", - "no-unused-vars": "error", - "no-var": "error", - "prefer-const": "error", - "prefer-template": "error", - "quotes": [ - "error", - "double" - ], - "semi": [ - "error", - "always" - ], - "vue/require-v-for-key": "off" - } - }, - "browserslist": [ - "> 1%", - "last 2 versions", - "not dead" - ] -} +{ + "name": "ct-spa", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve --mode development --watch", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint", + "dev": "vue-cli-service build --mode development --watch", + "dev-server": "nodemon --inspect=0.0.0.0:9230 -r dotenv/config server.js" + }, + "dependencies": { + "axios": "^0.23.0", + "badwords-list": "^1.0.0", + "core-js": "^3.18.3", + "dayjs": "^1.11.7", + "dotenv": "^10.0.0", + "express": "^4.17.1", + "fibers": "^5.0.3", + "jsonwebtoken": "^8.5.1", + "socket.io": "^4.4.1", + "socket.io-client": "^4.3.2", + "vue": "^2.6.14", + "vue-gtag": "^1.16.1", + "vue-router": "^3.5.2" + }, + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^4.18.0", + "@typescript-eslint/parser": "^4.18.0", + "@vue/cli-plugin-babel": "^4.5.14", + "@vue/cli-plugin-eslint": "^4.5.14", + "@vue/cli-plugin-typescript": "^4.5.15", + "@vue/cli-service": "^4.5.14", + "@vue/eslint-config-typescript": "^7.0.0", + "autoprefixer": "^9.8.8", + "babel-eslint": "^10.1.0", + "eslint": "^6.8.0", + "eslint-plugin-vue": "^6.2.2", + "nodemon": "^2.0.15", + "postcss": "^7.0.39", + "sass": "^1.43.2", + "sass-loader": "^10.2.0", + "tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.2.17", + "typescript": "~4.1.5", + "vue-template-compiler": "^2.6.14" + }, + "eslintConfig": { + "root": true, + "env": { + "node": true + }, + "extends": [ + "plugin:vue/essential", + "eslint:recommended", + "@vue/typescript" + ], + "parserOptions": { + "parser": "@typescript-eslint/parser" + }, + "rules": { + "comma-dangle": [ + "error", + "always-multiline" + ], + "eol-last": [ + "error", + "always" + ], + "eqeqeq": [ + "error", + "always" + ], + "indent": [ + "error", + 2 + ], + "linebreak-style": [ + "error", + "unix" + ], + "max-len": [ + "error", + { + "code": 100 + } + ], + "no-tabs": [ + "error", + { + "allowIndentationTabs": false + } + ], + "no-multiple-empty-lines": "error", + "no-unreachable": "off", + "no-unused-vars": "error", + "no-var": "error", + "prefer-const": "error", + "prefer-template": "error", + "quotes": [ + "error", + "double" + ], + "semi": [ + "error", + "always" + ], + "vue/require-v-for-key": "off" + } + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead" + ] +} diff --git a/spa/server.js b/spa/server.js index 2080cea8..558bd49c 100644 --- a/spa/server.js +++ b/spa/server.js @@ -1,175 +1,208 @@ -const express = require('express'); +const express = require("express"); const app = express(); -const http = require('http').createServer(app); -const https = require('https'); -const io = require('socket.io')(http); -const path = require('path'); -const jwt = require('jsonwebtoken'); -const package = require('./package.json'); +const http = require("http").createServer(app); +const https = require("https"); +const io = require("socket.io")(http); +const path = require("path"); +const jwt = require("jsonwebtoken"); +const package = require("./package.json"); +const badwords = require("badwords-list"); const USERS = new Map(); function webhookMessage(from, message) { - return; - if (!process.env.CHAT_WEBHOOK_URL) return; - let body = JSON.stringify({ - username: from, - content: message - }); - let req = https.request(process.env.CHAT_WEBHOOK_URL, { - method: "POST", - headers: { - "Content-Type": "application/json", - "Content-Length": Buffer.byteLength(body) - } - }); - req.write(body); - req.end(); + return; + if (!process.env.CHAT_WEBHOOK_URL) return; + const body = JSON.stringify({ + username: from, + content: message, + }); + const req = https.request(process.env.CHAT_WEBHOOK_URL, { + method: "POST", + headers: { + "Content-Type": "application/json", + "Content-Length": Buffer.byteLength(body), + }, + }); + req.write(body); + req.end(); } function validJwt(token) { - try { - return jwt.verify(token, process.env.JWT_SECRET); - } catch (err) { - return false; - } + try { + return jwt.verify(token, process.env.JWT_SECRET); + } catch (err) { + return false; + } } app.use(express.static("dist")); // serves the SPA -app.get('/', (req, res) => { - console.log(req); - res.sendFile(path.join(__dirname, "/dist/index.html")); +app.get("/", (req, res) => { + console.log(req); + res.sendFile(path.join(__dirname, "/dist/index.html")); }); -io.on('connection', async function (socket) { - console.log('a user connected'); - webhookMessage("System", `${socket.id} connected.`); - - //setup socket's default AVATAR map reference - USERS.set(socket, { - pos: [0, 0, 0], - rot: [0, 1, 0, 0] - }); - - // inform the client about the server's version number - socket.emit("VERSION", { version: package.version }); - - socket.on("JOIN", data => { - const tokenData = validJwt(data.token); - if (tokenData) { - const { room } = data; - USERS.get(socket).avatar = tokenData.avatar; - USERS.get(socket).room = room; - USERS.get(socket).username = tokenData.username; - - // inform other members of the room that someone joined - socket.to(room).emit("AV:new", { - id: socket.id, - avatar: tokenData.avatar, - username: tokenData.username - }); - - socket.join(room); - // provide the new user with data about the current users in the room - const clientsInRoom = io.sockets.adapter.rooms.get(room); - for (const clientId of clientsInRoom) { - if (clientId == socket.id) continue; - const clientSocket = io.sockets.sockets.get(clientId); - const user = USERS.get(clientSocket); +io.on("connection", async function(socket) { + console.log("a user connected"); + webhookMessage("System", `${socket.id} connected.`); + + //setup socket's default AVATAR map reference + USERS.set(socket, { + pos: [0, 0, 0], + rot: [0, 1, 0, 0], + }); + + // inform the client about the server's version number + socket.emit("VERSION", { version: package.version }); + + socket.on("JOIN", (data) => { + const tokenData = validJwt(data.token); + if (tokenData) { + const { room } = data; + USERS.get(socket).avatar = tokenData.avatar; + USERS.get(socket).room = room; + USERS.get(socket).username = tokenData.username; + + // inform other members of the room that someone joined + socket.to(room).emit("AV:new", { + id: socket.id, + avatar: tokenData.avatar, + username: tokenData.username, + }); + + socket.join(room); + // provide the new user with data about the current users in the room + const clientsInRoom = io.sockets.adapter.rooms.get(room); + for (const clientId of clientsInRoom) { + if (clientId === socket.id) continue; + const clientSocket = io.sockets.sockets.get(clientId); + const user = USERS.get(clientSocket); + if (user) { + const { avatar, pos, rot, username } = user; + socket.emit("AV:new", { + avatar, + id: clientId, + username, + }); + socket.emit("AV", { + id: clientId, + pos, + rot, + }); + } + } + + console.log(`User '${tokenData.username}' entered room ${room}`); + webhookMessage( + "System", + `${tokenData.username} entered room \`${room}\`` + ); + } else { + console.error("invalid token!"); + } + }); + + //handle avatar related calls. + socket.on("AV", function(msg) { + msg.id = socket.id; + const user = USERS.get(socket); + if (user?.room) { + socket.to(user.room).emit("AV", msg); + } if (user) { - const { avatar, pos, rot, username } = user; - socket.emit("AV:new", { - avatar, - id: clientId, - username, - }); - socket.emit("AV", { - id: clientId, - pos, - rot, - }); + if (msg.pos) { + USERS.get(socket).pos = msg.pos; + } + if (msg.rot) { + USERS.get(socket).rot = msg.rot; + } } - } + }); - console.log(`User '${tokenData.username}' entered room ${room}`); - webhookMessage("System", `${tokenData.username} entered room \`${room}\``); - } else { - console.error("invalid token!"); - } - }); - - //handle avatar related calls. - socket.on("AV", function (msg) { - msg.id = socket.id; - const user = USERS.get(socket); - if (user?.room) { - socket.to(user.room).emit("AV", msg); - } - if (user) { - if (msg.pos) { - USERS.get(socket).pos = msg.pos; - } - if (msg.rot) { - USERS.get(socket).rot = msg.rot; - } - } - }); - - //handle shared events - socket.on("SE", function (msg) { - console.log(msg); - io.to(USERS.get(socket).room).emit("SE", msg); - }); - - //handle chat messages - socket.on("CHAT", (chatData) => { - console.log('chat message...'); - console.log(chatData); - if (!chatData || !chatData.msg || typeof chatData.msg !== "string") return; - const user = USERS.get(socket); - const bannedwords = /(nigger)|(chinc)/i; - if (bannedwords.test(chatData.msg)){ - console.log(`${user.username} used a banned word in ${user.room}`); - return; - } - else { - if (user?.room) { - webhookMessage(`${user.username} in ${user.room}`, chatData.msg); - io.to(user.room).emit("CHAT", { - username: user.username, - msg: chatData.msg, + //handle shared events + socket.on("SE", function(msg) { + console.log(msg); + io.to(USERS.get(socket).room).emit("SE", msg); + }); + + socket.on('update-object', function(object) { + socket.broadcast.emit('update-object', { + obj_id: object.obj_id, + place_id: object.place_id, + member_username: object.member_username, + buyer_username: object.buyer_username, }); - } - } - }); - - socket.on("unsubscribe", () => { - const user = USERS.get(socket); - socket.leave(user.room); - socket.to(user.room) - .emit("AV:del", { - id: socket.id, - username: user.username, - }); - - console.log(`User '${user.username}' left ${user.room}`); - webhookMessage("System", `${user.username} left ${user.room}`); - }); - - //handle disconnection from the socket. - socket.on("disconnect", function () { - const user = USERS.get(socket); - io.to(user?.room) - .emit("AV:del", { - id: socket.id, - username:user.username }); - USERS.delete(socket); - console.log(`User '${user?.username}' disconnected`); - }); + + //handle shared events + socket.on("SO", function(msg) { + console.log(msg); + const user = USERS.get(socket); + + if (user?.room) { + const clientsInRoom = io.sockets.adapter.rooms.get(user.room); + for (const clientId of clientsInRoom) { + if (clientId === socket.id) continue; + const clientSocket = io.sockets.sockets.get(clientId); + const user = USERS.get(clientSocket); + if (user) { + clientSocket.emit("SO", msg); + } + } + } + }); + + //handle chat messages + socket.on("CHAT", (chatData) => { + console.log("chat message..."); + if (!chatData || !chatData.msg || typeof chatData.msg !== "string") + return; + const user = USERS.get(socket); + const bannedwords = badwords.regex; + if(chatData.msg.match(bannedwords)){ + console.log(`${user.username} used a banned word in ${user.room}`); + return; + } else { + if (user?.room) { + webhookMessage( + `${user.username} in ${user.room}`, + chatData.msg + ); + io.to(user.room).emit("CHAT", { + username: user.username, + msg: chatData.msg, + role: chatData.role, + new: true, + }); + } + } + }); + + socket.on("unsubscribe", () => { + const user = USERS.get(socket); + socket.leave(user.room); + socket.to(user.room).emit("AV:del", { + id: socket.id, + username: user.username, + }); + + console.log(`User '${user.username}' left ${user.room}`); + webhookMessage("System", `${user.username} left ${user.room}`); + }); + + //handle disconnection from the socket. + socket.on("disconnect", function() { + const user = USERS.get(socket); + io.to(user?.room).emit("AV:del", { + id: socket.id, + username: user.username, + }); + USERS.delete(socket); + console.log(`User '${user?.username}' disconnected`); + }); }); const port = process.env.WEBSOCKET_PORT || 8000; http.listen(port); -console.log('listening on port:' + port); +console.log(`listening on port:${port}`); diff --git a/spa/src/App.vue b/spa/src/App.vue index 8f4ef03c..c34a3939 100644 --- a/spa/src/App.vue +++ b/spa/src/App.vue @@ -3,7 +3,7 @@
@@ -18,18 +18,27 @@ >
+ v-if="this.$route.name !== 'world-browser' && + this.$route.name !== 'user-home'" /> + v-show="this.$route.name === 'world-browser' || + this.$route.name === 'user-home'">
-
-
- -
+
+
+ +
+
+ +
+
+ {{ $store.data.place.name }} + +
@@ -83,7 +92,6 @@
Logout
-

{ console.log("starting X3d"); @@ -358,5 +328,8 @@ export default Vue.extend({ require("./libs/x_ite_mods/bxx_auth.js"); //require('./libs/x_ite_mods/fix_stairs.js'); }, + computed: { + + }, }); diff --git a/spa/src/api.ts b/spa/src/api.ts index e3ae23ef..6970d810 100644 --- a/spa/src/api.ts +++ b/spa/src/api.ts @@ -1,21 +1,27 @@ import axios from "axios"; -import appStore from './appStore'; +import appStore from "./appStore"; // axios config -axios.interceptors.request.use(function (config) { - config.headers.apiToken = appStore.data.user.token - return config; +axios.interceptors.request.use(function(config) { + config.headers.apiToken = appStore.data.user.token; + return config; }); const api = { - get: (endpoint: string, data?: any) => { - return axios.get("/api" + endpoint, { - params: data, - }); - }, - post: (endpoint: string, data?: any) => { - return axios.post("/api" + endpoint, data); - } + get: (endpoint: string, data?: any) => { + return axios.get("/api" + endpoint, { + params: data, + }); + }, + post: (endpoint: string, data?: any, formData?: boolean) => { + if (formData) { + var postData = new FormData(); + Object.keys(data).forEach((key) => postData.append(key, data[key])); + return axios.post("/api" + endpoint, postData); + } else { + return axios.post("/api" + endpoint, data); + } + }, }; export default api; diff --git a/spa/src/appStore.ts b/spa/src/appStore.ts index a5aa8ee1..57928746 100644 --- a/spa/src/appStore.ts +++ b/spa/src/appStore.ts @@ -1,82 +1,101 @@ -import Vue from 'vue'; +import Vue from "vue"; /** Represents the shape of user data object on the global app store */ export interface User { - avatar?: { - id: string, - name: string, - filename: string, - gestures: string[], - }, - username?: string, - token?: string, - admin?: boolean, - hasHome?: boolean, + id?: number; + avatar?: { + id: string; + name: string; + filename: string; + gestures: string[]; + }; + roleName?: string; + username?: string; + token?: string; + admin?: boolean; + hasHome?: boolean; + chatdefault?: number; + firstname?: string; } export interface Place { - assets_dir?: string, - block?: object, - hood?: object, - created_at?: string, - description?: string, - id?: number | string, - map_background_index?: string, - map_icon_index?: string, - member_id?: number, - name?: string, - slug?: string, - status?: number, - type?:string, - updated_at?: string, - world_filename?: string, + assets_dir?: string; + block?: any; + hood?: any; + colony?: any; + created_at?: string; + description?: string; + id?: number | string; + map_background_index?: string; + map_icon_index?: string; + member_id?: number; + name?: string; + slug?: string; + status?: number; + type?: string; + updated_at?: string; + world_filename?: string; } /** Represents the shape of the global app store object */ export interface AppStore { - data: { - loading: boolean, - isUser: boolean, - x3dReady: boolean, - user: User, - view3d: boolean, - place: Place, - }, - methods: { - destroySession: () => void, - setToken: (token: string) => void, - setView3d: (value: boolean) => void, - setPlace: (value: Place) => void, - }, + data: { + loading: boolean; + isUser: boolean; + x3dReady: boolean; + user: User; + view3d: boolean; + place: Place; + }; + methods: { + destroySession: () => void; + setToken: (token: string) => void; + setView3d: (value: boolean) => void; + setPlace: (value: Place) => void; + setUser: (userData: object) => void; + }; } const appStore = Vue.observable({ - data: { - loading: false, - isUser: false, - x3dReady: false, - view3d: false, - user: { - token: localStorage.getItem("token"), + data: { + loading: false, + isUser: false, + x3dReady: false, + view3d: false, + user: { + token: localStorage.getItem("token"), + }, + place: {}, }, - place: {}, - }, - methods: { - destroySession() { - localStorage.removeItem("token"); - appStore.data.user = {}; - appStore.data.isUser = false; + methods: { + destroySession() { + localStorage.removeItem("token"); + appStore.data.user = {}; + appStore.data.isUser = false; + }, + setToken(token: string): void { + appStore.data.user.token = token; + localStorage.setItem("token", token); + }, + setView3d(value: boolean): void { + appStore.data.view3d = value; + }, + setPlace(placeData: Place): void { + appStore.data.place = placeData; + }, + setUser(userData: User): void { + if ( + typeof userData.avatar !== "undefined" && + typeof userData.avatar.gestures === "string" && + userData.avatar.gestures !== "" + ) { + userData.avatar.gestures = JSON.parse(userData.avatar.gestures); + } + appStore.data.user = { ...appStore.data.user, ...userData }; + if (appStore.data.user.chatdefault === 1) { + appStore.data.view3d = true; + } + }, }, - setToken(token: string): void { - appStore.data.user.token = token; - localStorage.setItem("token", token); - }, - setView3d(value: boolean): void { - appStore.data.view3d = value; - }, - setPlace(placeData: Place): void{ - appStore.data.place = placeData; - }, - }, }); export default appStore; diff --git a/spa/src/assets/index.scss b/spa/src/assets/index.scss index b6b33c00..2c6c6cdd 100644 --- a/spa/src/assets/index.scss +++ b/spa/src/assets/index.scss @@ -90,7 +90,14 @@ X3DCanvas { .text-green { color: #00df00; +} + +.text-clock { + color: #0891b2; +} +.text-ctyellow { + color: #FFFF00; } table { diff --git a/spa/src/components/Chat.vue b/spa/src/components/Chat.vue index 1555e7ea..f8d2a2fa 100644 --- a/spa/src/components/Chat.vue +++ b/spa/src/components/Chat.vue @@ -4,18 +4,39 @@

- ({{ this.users.length + 1 }}) {{ place.name }} + ({{ this.users.length + 1 }}) {{ this.$store.data.place.name }} + + + Places ({{ this.activePlaces.length }}) Body Language - Objects + Objects ({{ this.sharedObjects.length }}) + + + My Backpack ({{ this.backpackObjects.length }}) + + + {{ this.usernameBackPack }}'s Backpack ({{ this.backpackObjects.length }})
+
+
    +
  • + Cancel Menu +
  • +
  • +
  • + Go to +
  • +
  • + Beam to +
  • +
  • + Start Whisper +
  • +
  • + Invite Chat +
  • +
  • + Ignore +
  • +
  • + Buy +
  • +
  • + Move +
  • +
  • + Take +
  • +
  • + Drop +
  • +
  • + Destroy +
  • +
  • + Properties +
  • +
  • +
  • + Request Objects +
  • +
+
- diff --git a/spa/src/components/Clock.vue b/spa/src/components/Clock.vue new file mode 100644 index 00000000..aebe584e --- /dev/null +++ b/spa/src/components/Clock.vue @@ -0,0 +1,34 @@ + + + diff --git a/spa/src/components/modals/AvatarModal.vue b/spa/src/components/modals/AvatarModal.vue index e8db826e..a4d63df9 100644 --- a/spa/src/components/modals/AvatarModal.vue +++ b/spa/src/components/modals/AvatarModal.vue @@ -1,24 +1,43 @@ \ No newline at end of file + }, + mixins: [ModalMixin], +}); + diff --git a/spa/src/components/modals/StorageEditModal.vue b/spa/src/components/modals/StorageEditModal.vue new file mode 100644 index 00000000..ccb52b0a --- /dev/null +++ b/spa/src/components/modals/StorageEditModal.vue @@ -0,0 +1,127 @@ + + + diff --git a/spa/src/components/modals/StorageModal.vue b/spa/src/components/modals/StorageModal.vue new file mode 100644 index 00000000..74e9598e --- /dev/null +++ b/spa/src/components/modals/StorageModal.vue @@ -0,0 +1,228 @@ + + + diff --git a/spa/src/components/place/bank/main2d.vue b/spa/src/components/place/bank/main2d.vue index c4a91c6e..194f9035 100644 --- a/spa/src/components/place/bank/main2d.vue +++ b/spa/src/components/place/bank/main2d.vue @@ -1,6 +1,6 @@ diff --git a/spa/src/components/place/employment/main2d.vue b/spa/src/components/place/employment/main2d.vue new file mode 100644 index 00000000..24a61297 --- /dev/null +++ b/spa/src/components/place/employment/main2d.vue @@ -0,0 +1,30 @@ + + + diff --git a/spa/src/components/place/home/main2d.vue b/spa/src/components/place/home/main2d.vue index c7fdff51..8ae0782c 100644 --- a/spa/src/components/place/home/main2d.vue +++ b/spa/src/components/place/home/main2d.vue @@ -42,19 +42,17 @@ {{ memberInfo.immigrationDate | dateFormatFilter }} - - - + {{ memberInfo.lastAccess | dateFormatFilter }} - --> - + Experience @@ -115,6 +113,7 @@ diff --git a/spa/src/components/place/mall/main2d.vue b/spa/src/components/place/mall/main2d.vue index d399f44f..d586d6ac 100644 --- a/spa/src/components/place/mall/main2d.vue +++ b/spa/src/components/place/mall/main2d.vue @@ -3,41 +3,17 @@
Please select the store or shop you would like to visit from the Directory below.
- +
How to
Buy and Use the Furniture ...
@@ -50,8 +26,31 @@ import Vue from 'vue'; export default Vue.extend({ name: "MallMain2d", data: () => { - return {}; + return { + mallStoreData: [], + mallStore: "", + }; }, + methods: { + changeStore(): void { + if(this.mallStore?.length) { + this.$router.push({ path: `/place/${this.mallStore}`}); + this.mallStore = ""; + } + }, + async getStores(){ + const stores = await this.$http.get(`/mall/stores`); + stores.data.stores.forEach(store => { + this.mallStoreData.push({ + title: store.name, + slug: store.slug + }) + }) + } + }, + mounted() { + this.getStores(); + } }); diff --git a/spa/src/helpers/home-data.helper.ts b/spa/src/helpers/home-data.helper.ts index 3101ee16..161d5b75 100644 --- a/spa/src/helpers/home-data.helper.ts +++ b/spa/src/helpers/home-data.helper.ts @@ -1,4 +1,4 @@ -export const homeDataHelper = { +export let homeDataHelper = { "003": { "price": 160, "description": "Private and intimate. Lots of red brick. Beautiful dining room and cool pool table." + @@ -51,5 +51,9 @@ export const homeDataHelper = { "price": 100000, "description": "", }, + "championhome": { + "price": 100000, + "description": "This is a special home for Champion Donors to Cyhbertown Revival", + }, -} as const; +}; diff --git a/spa/src/main.ts b/spa/src/main.ts index 08a717f7..d4f8af38 100644 --- a/spa/src/main.ts +++ b/spa/src/main.ts @@ -1,17 +1,16 @@ -import Vue from "vue" +import Vue from "vue"; import VueRouter from "vue-router"; import VueGtag from "vue-gtag"; -import App from "./App.vue" +import App from "./App.vue"; import api from "./api"; -import appStore from "./appStore"; -import { User } from "./appStore"; -import * as filters from './helpers/fiters'; +import appStore, {User} from "./appStore"; +import * as filters from "./helpers/fiters"; import routes from "./routes"; import socket from "./socket"; import "./assets/index.scss"; -Vue.config.productionTip = false +Vue.config.productionTip = false; // register global utilities/filters Object.keys(filters).forEach(key => { @@ -25,31 +24,92 @@ document.querySelector("html").classList.add("dark"); const router = new VueRouter({ routes }); Vue.use(VueRouter); -//todo, this router.beforeEach((to, from, next) => { if (to.meta.title) { - document.title = to.meta.title + " - Cybertown"; + document.title = `${ to.meta.title } - Cybertown`; } else { document.title = "Cybertown"; } + if (to.fullPath.includes("/place/")) { + api.get(`/place/${ to.params.id }`) + .then(response => { + const Data = response.data; + const place = {...Data.place}; + appStore.methods.setPlace(place); + }); + } else { + api.get(`/home/${ to.params.username }`) + .then(response => { + const Data = response.data; + const place = { + ...Data.homeData, + assets_dir: Data.homeDesignData ? + (`${ Data.homeDesignData.id }/`) : null, + world_filename: "home.wrl", + slug: "home", + block: Data.blockData, + }; + appStore.methods.setPlace(place); + }); + } - if (!["login", "logout", "signup", "forgot", "password_reset","about"].includes(to.name)) { - api.get<{ user: User }>("/member/session").then(response => { - const { user } = response.data; - appStore.data.user = { ...appStore.data.user, ...user }; - appStore.data.isUser = true; - next(); - }).catch(() => { - appStore.methods.destroySession(); - if (to.name !== "home") { - next({ - name: "login", - query: { redirect: to.fullPath } - }); - } else { + if (!["login", "logout", "signup", "forgot", "password_reset", "about", "privacypolicy", "rulesandregulations", "banned"] + .includes(to.name)) { + api.get<{ + user: User, + status: number, + roleName: string, + banned: boolean, + banInfo: any, + }>("/member/session") + .then(response => { + const { user } = response.data; + const { banInfo, banned } = response.data; + if (banned) { + if ( + banInfo.type === "jail" && + to.fullPath.includes("/messageboard/") || + to.fullPath.includes("/inbox/") || + to.fullPath.includes("/information/") + ){ + next("/restricted"); + } else if (to.fullPath === "/restricted") { + next(); + } else if (to.fullPath !== "/place/jail" && banInfo.type === "jail") { + next("/place/jail"); + api.get("/place/jail") + .then(response => { + const Data = response.data; + const place = {...Data.place}; + appStore.methods.setPlace(place); + }); + } else if (to.fullPath === "/place/jail") { + next(); + } else { + appStore.methods.destroySession(); + next({ + name: "banned", + params: { + reason: banInfo.reason, + enddate: banInfo.end_date, + }, + }); + } + } + appStore.methods.setUser(user); + appStore.data.isUser = true; next(); - } - }) + }).catch(() => { + appStore.methods.destroySession(); + if (to.name !== "home") { + next({ + name: "login", + query: { redirect: to.fullPath }, + }); + } else { + next(); + } + }); } else { next(); } @@ -60,7 +120,7 @@ Vue.use(VueGtag, { return { page_title: document.title, page_path: to.path, - } + }; }, config: { id: "G-BCMREM3LDH" }, }, router); diff --git a/spa/src/pages/AccessRights.vue b/spa/src/pages/AccessRights.vue new file mode 100644 index 00000000..ade6f73a --- /dev/null +++ b/spa/src/pages/AccessRights.vue @@ -0,0 +1,261 @@ + + + diff --git a/spa/src/pages/Banned.vue b/spa/src/pages/Banned.vue new file mode 100644 index 00000000..ba11780a --- /dev/null +++ b/spa/src/pages/Banned.vue @@ -0,0 +1,61 @@ + + + diff --git a/spa/src/pages/HomePage.vue b/spa/src/pages/HomePage.vue index 201351f8..070a0505 100644 --- a/spa/src/pages/HomePage.vue +++ b/spa/src/pages/HomePage.vue @@ -271,9 +271,15 @@ /> CONTACT

- + >
+
+

Privacy Policy

+

Rules and Regulations

+

About Cybertown Revival

+
+ Fan Made Not For Profit Historical Recreation +
+
+
+
+
{{ success }}
+
{{ error }}
+
+
+ +
+
+ +
+
+

{{ this.placeinfo[0].name }}'s Inbox

+

+
+
+
+
+
+
+
+
+
+

Date: {{ ddate }}

+

Subject: RE: {{ dsubject }}

+

From: {{ dfrom }}

+
+
+
+ +
+
+ +
+
+
+
+
+

+

+
+
+
+
+
{{ success }}
+
{{ error }}
+
+

+
+
+ {{ error }} +
+
+

Post a Message

+
+
+ Some HTML coding has been blocked for security reasons. Basic HTML tags + (i.e. <p>, <br>, <a href>, and <img src>) are + allowed. If a disallowed tag is used, an error message will display. +
+    +

+
+

+     + +
+
+
+
+    + RE: {{ dsubject }}

+
+ +
+ {{ error }} +
+
+     + +
+
+
+
+
+

{{ this.placeinfo[0].name }} Manager

+

+     + +
+
+
+ + diff --git a/spa/src/pages/Information.vue b/spa/src/pages/Information.vue new file mode 100644 index 00000000..5ddd08c9 --- /dev/null +++ b/spa/src/pages/Information.vue @@ -0,0 +1,73 @@ + + + diff --git a/spa/src/pages/LoginPage.vue b/spa/src/pages/LoginPage.vue index 79c34253..d5efabd0 100644 --- a/spa/src/pages/LoginPage.vue +++ b/spa/src/pages/LoginPage.vue @@ -174,8 +174,12 @@ export default Vue.extend({ username: this.username, password: this.password, }); - this.$store.data.user.username = data.username; - this.$store.data.user.hasHome = data.hasHome; + + this.$store.methods.setUser({ + username: data.username, + hasHome: data.hasHome, + }); + this.$store.methods.setToken(data.token); const { redirect } = this.$route.query; // redirect can be a string or an array of strings so we have to handle both @@ -185,7 +189,10 @@ export default Vue.extend({ const path: string = redirectString || "/place/enter"; this.$router.push({ path }); } catch (error) { - if (error.response.data.error) { + if(error.response.data.error === "banned") { + this.$router.push({ name: "banned" }); + } + else if (error.response.data.error) { this.error = error.response.data.error; this.showError = true; } else { diff --git a/spa/src/pages/MessageBoard.vue b/spa/src/pages/MessageBoard.vue new file mode 100644 index 00000000..293efeaa --- /dev/null +++ b/spa/src/pages/MessageBoard.vue @@ -0,0 +1,316 @@ + + diff --git a/spa/src/pages/ObjectProperties.vue b/spa/src/pages/ObjectProperties.vue new file mode 100644 index 00000000..4068e42e --- /dev/null +++ b/spa/src/pages/ObjectProperties.vue @@ -0,0 +1,298 @@ + + + diff --git a/spa/src/pages/PrivacyPolicyPage.vue b/spa/src/pages/PrivacyPolicyPage.vue new file mode 100644 index 00000000..749c5b2a --- /dev/null +++ b/spa/src/pages/PrivacyPolicyPage.vue @@ -0,0 +1,215 @@ + + + + diff --git a/spa/src/pages/RulesandRegulationPage.vue b/spa/src/pages/RulesandRegulationPage.vue new file mode 100644 index 00000000..b1d035e7 --- /dev/null +++ b/spa/src/pages/RulesandRegulationPage.vue @@ -0,0 +1,159 @@ + + + + diff --git a/spa/src/pages/SignupPage.vue b/spa/src/pages/SignupPage.vue index 9aa258ee..6fcd7177 100644 --- a/spa/src/pages/SignupPage.vue +++ b/spa/src/pages/SignupPage.vue @@ -103,7 +103,8 @@ @@ -118,6 +119,7 @@ type="password" v-model="password2" size="16" + maxlength="256" class="input-text" /> @@ -147,6 +149,7 @@ diff --git a/spa/src/pages/admin/avatar/search.vue b/spa/src/pages/admin/avatar/search.vue new file mode 100644 index 00000000..37b0acca --- /dev/null +++ b/spa/src/pages/admin/avatar/search.vue @@ -0,0 +1,169 @@ + + + diff --git a/spa/src/pages/admin/place/search.vue b/spa/src/pages/admin/place/search.vue new file mode 100644 index 00000000..4d19e963 --- /dev/null +++ b/spa/src/pages/admin/place/search.vue @@ -0,0 +1,217 @@ + + + diff --git a/spa/src/pages/admin/user/BanAdd.vue b/spa/src/pages/admin/user/BanAdd.vue new file mode 100644 index 00000000..771ed5b0 --- /dev/null +++ b/spa/src/pages/admin/user/BanAdd.vue @@ -0,0 +1,99 @@ + + + diff --git a/spa/src/pages/admin/user/BanHistory.vue b/spa/src/pages/admin/user/BanHistory.vue new file mode 100644 index 00000000..a088536e --- /dev/null +++ b/spa/src/pages/admin/user/BanHistory.vue @@ -0,0 +1,129 @@ + + + diff --git a/spa/src/pages/admin/user/ChatMessages.vue b/spa/src/pages/admin/user/ChatMessages.vue new file mode 100644 index 00000000..e1ed8ac3 --- /dev/null +++ b/spa/src/pages/admin/user/ChatMessages.vue @@ -0,0 +1,176 @@ + + + diff --git a/spa/src/pages/admin/user/MainMenu.vue b/spa/src/pages/admin/user/MainMenu.vue new file mode 100644 index 00000000..5b34c5ed --- /dev/null +++ b/spa/src/pages/admin/user/MainMenu.vue @@ -0,0 +1,27 @@ + + + diff --git a/spa/src/pages/admin/user/SubMenu.vue b/spa/src/pages/admin/user/SubMenu.vue new file mode 100644 index 00000000..4cee9602 --- /dev/null +++ b/spa/src/pages/admin/user/SubMenu.vue @@ -0,0 +1,36 @@ + + + diff --git a/spa/src/pages/admin/user/donor.vue b/spa/src/pages/admin/user/donor.vue new file mode 100644 index 00000000..f1528696 --- /dev/null +++ b/spa/src/pages/admin/user/donor.vue @@ -0,0 +1,67 @@ + + + diff --git a/spa/src/pages/admin/user/infoview.vue b/spa/src/pages/admin/user/infoview.vue new file mode 100644 index 00000000..c2ceef21 --- /dev/null +++ b/spa/src/pages/admin/user/infoview.vue @@ -0,0 +1,65 @@ + + + diff --git a/spa/src/pages/admin/user/search.vue b/spa/src/pages/admin/user/search.vue new file mode 100644 index 00000000..175df4a1 --- /dev/null +++ b/spa/src/pages/admin/user/search.vue @@ -0,0 +1,145 @@ + + + diff --git a/spa/src/pages/block/BlockMapPage.vue b/spa/src/pages/block/BlockMapPage.vue new file mode 100644 index 00000000..4c4a1a90 --- /dev/null +++ b/spa/src/pages/block/BlockMapPage.vue @@ -0,0 +1,92 @@ + + + diff --git a/spa/src/pages/block/BlockMovePage.vue b/spa/src/pages/block/BlockMovePage.vue index 3add527c..0663a8ff 100644 --- a/spa/src/pages/block/BlockMovePage.vue +++ b/spa/src/pages/block/BlockMovePage.vue @@ -1,5 +1,5 @@