diff --git a/appearance/frn_all_painting_posters_aoc.apt b/appearance/frn_all_painting_posters_aoc.apt
new file mode 100644
index 00000000..7a373e88
Binary files /dev/null and b/appearance/frn_all_painting_posters_aoc.apt differ
diff --git a/appearance/frn_all_painting_posters_cwm.apt b/appearance/frn_all_painting_posters_cwm.apt
new file mode 100644
index 00000000..13abb012
Binary files /dev/null and b/appearance/frn_all_painting_posters_cwm.apt differ
diff --git a/appearance/frn_all_painting_posters_cws.apt b/appearance/frn_all_painting_posters_cws.apt
new file mode 100644
index 00000000..b8b7cb3a
Binary files /dev/null and b/appearance/frn_all_painting_posters_cws.apt differ
diff --git a/appearance/frn_all_painting_posters_djj.apt b/appearance/frn_all_painting_posters_djj.apt
new file mode 100644
index 00000000..ed6b4e8b
Binary files /dev/null and b/appearance/frn_all_painting_posters_djj.apt differ
diff --git a/appearance/frn_all_painting_posters_ew1.apt b/appearance/frn_all_painting_posters_ew1.apt
new file mode 100644
index 00000000..77966ce9
Binary files /dev/null and b/appearance/frn_all_painting_posters_ew1.apt differ
diff --git a/appearance/frn_all_painting_posters_ew2.apt b/appearance/frn_all_painting_posters_ew2.apt
new file mode 100644
index 00000000..d7366ac9
Binary files /dev/null and b/appearance/frn_all_painting_posters_ew2.apt differ
diff --git a/appearance/frn_all_painting_posters_rebels.apt b/appearance/frn_all_painting_posters_rebels.apt
new file mode 100644
index 00000000..daefd1b3
Binary files /dev/null and b/appearance/frn_all_painting_posters_rebels.apt differ
diff --git a/appearance/frn_all_painting_posters_ro.apt b/appearance/frn_all_painting_posters_ro.apt
new file mode 100644
index 00000000..bdb77fda
Binary files /dev/null and b/appearance/frn_all_painting_posters_ro.apt differ
diff --git a/appearance/frn_all_painting_posters_ros.apt b/appearance/frn_all_painting_posters_ros.apt
new file mode 100644
index 00000000..510dd604
Binary files /dev/null and b/appearance/frn_all_painting_posters_ros.apt differ
diff --git a/appearance/frn_all_painting_posters_tfa.apt b/appearance/frn_all_painting_posters_tfa.apt
new file mode 100644
index 00000000..14fda184
Binary files /dev/null and b/appearance/frn_all_painting_posters_tfa.apt differ
diff --git a/appearance/frn_all_painting_posters_tlj.apt b/appearance/frn_all_painting_posters_tlj.apt
new file mode 100644
index 00000000..ea6b7c4b
Binary files /dev/null and b/appearance/frn_all_painting_posters_tlj.apt differ
diff --git a/appearance/frn_all_painting_posters_tpm.apt b/appearance/frn_all_painting_posters_tpm.apt
new file mode 100644
index 00000000..36396e22
Binary files /dev/null and b/appearance/frn_all_painting_posters_tpm.apt differ
diff --git a/appearance/lat/all_m.lat b/appearance/lat/all_m.lat
new file mode 100644
index 00000000..3da418dd
Binary files /dev/null and b/appearance/lat/all_m.lat differ
diff --git a/appearance/mesh/frn_all_painting_posters_aoc.msh b/appearance/mesh/frn_all_painting_posters_aoc.msh
new file mode 100644
index 00000000..617f4c84
Binary files /dev/null and b/appearance/mesh/frn_all_painting_posters_aoc.msh differ
diff --git a/appearance/mesh/frn_all_painting_posters_cwm.msh b/appearance/mesh/frn_all_painting_posters_cwm.msh
new file mode 100644
index 00000000..cb1168de
Binary files /dev/null and b/appearance/mesh/frn_all_painting_posters_cwm.msh differ
diff --git a/appearance/mesh/frn_all_painting_posters_cws.msh b/appearance/mesh/frn_all_painting_posters_cws.msh
new file mode 100644
index 00000000..40f92a30
Binary files /dev/null and b/appearance/mesh/frn_all_painting_posters_cws.msh differ
diff --git a/appearance/mesh/frn_all_painting_posters_djj.msh b/appearance/mesh/frn_all_painting_posters_djj.msh
new file mode 100644
index 00000000..90dfdaa4
Binary files /dev/null and b/appearance/mesh/frn_all_painting_posters_djj.msh differ
diff --git a/appearance/mesh/frn_all_painting_posters_ew1.msh b/appearance/mesh/frn_all_painting_posters_ew1.msh
new file mode 100644
index 00000000..3e96875e
Binary files /dev/null and b/appearance/mesh/frn_all_painting_posters_ew1.msh differ
diff --git a/appearance/mesh/frn_all_painting_posters_ew2.msh b/appearance/mesh/frn_all_painting_posters_ew2.msh
new file mode 100644
index 00000000..2a7231fe
Binary files /dev/null and b/appearance/mesh/frn_all_painting_posters_ew2.msh differ
diff --git a/appearance/mesh/frn_all_painting_posters_rebels.msh b/appearance/mesh/frn_all_painting_posters_rebels.msh
new file mode 100644
index 00000000..d114f655
Binary files /dev/null and b/appearance/mesh/frn_all_painting_posters_rebels.msh differ
diff --git a/appearance/mesh/frn_all_painting_posters_ro.msh b/appearance/mesh/frn_all_painting_posters_ro.msh
new file mode 100644
index 00000000..694a1f46
Binary files /dev/null and b/appearance/mesh/frn_all_painting_posters_ro.msh differ
diff --git a/appearance/mesh/frn_all_painting_posters_ros.msh b/appearance/mesh/frn_all_painting_posters_ros.msh
new file mode 100644
index 00000000..a777074b
Binary files /dev/null and b/appearance/mesh/frn_all_painting_posters_ros.msh differ
diff --git a/appearance/mesh/frn_all_painting_posters_tfa.msh b/appearance/mesh/frn_all_painting_posters_tfa.msh
new file mode 100644
index 00000000..69b699cf
Binary files /dev/null and b/appearance/mesh/frn_all_painting_posters_tfa.msh differ
diff --git a/appearance/mesh/frn_all_painting_posters_tlj.msh b/appearance/mesh/frn_all_painting_posters_tlj.msh
new file mode 100644
index 00000000..e0b89a45
Binary files /dev/null and b/appearance/mesh/frn_all_painting_posters_tlj.msh differ
diff --git a/appearance/mesh/frn_all_painting_posters_tpm.msh b/appearance/mesh/frn_all_painting_posters_tpm.msh
new file mode 100644
index 00000000..d018da0d
Binary files /dev/null and b/appearance/mesh/frn_all_painting_posters_tpm.msh differ
diff --git a/customization/asset_customization_manager.iff b/customization/asset_customization_manager.iff
new file mode 100644
index 00000000..8e4e4eee
Binary files /dev/null and b/customization/asset_customization_manager.iff differ
diff --git a/datatables/appearance/appearance_table.iff b/datatables/appearance/appearance_table.iff
new file mode 100644
index 00000000..1dab1de5
Binary files /dev/null and b/datatables/appearance/appearance_table.iff differ
diff --git a/datatables/appearance/door_style.iff b/datatables/appearance/door_style.iff
new file mode 100644
index 00000000..a54982a8
Binary files /dev/null and b/datatables/appearance/door_style.iff differ
diff --git a/datatables/appearance/wearable_appearance_map.iff b/datatables/appearance/wearable_appearance_map.iff
new file mode 100644
index 00000000..2feefe89
Binary files /dev/null and b/datatables/appearance/wearable_appearance_map.iff differ
diff --git a/datatables/buff/buff.iff b/datatables/buff/buff.iff
new file mode 100644
index 00000000..d981db2d
Binary files /dev/null and b/datatables/buff/buff.iff differ
diff --git a/datatables/buff/buff_builder.iff b/datatables/buff/buff_builder.iff
new file mode 100644
index 00000000..07d350ce
Binary files /dev/null and b/datatables/buff/buff_builder.iff differ
diff --git a/datatables/buff/effect_mapping.iff b/datatables/buff/effect_mapping.iff
new file mode 100644
index 00000000..91e5a610
Binary files /dev/null and b/datatables/buff/effect_mapping.iff differ
diff --git a/datatables/buff/entertainment_buff.iff b/datatables/buff/entertainment_buff.iff
new file mode 100644
index 00000000..378ca0e7
Binary files /dev/null and b/datatables/buff/entertainment_buff.iff differ
diff --git a/datatables/buildout/kashyyyk_north_dungeons/arena.iff b/datatables/buildout/kashyyyk_north_dungeons/arena.iff
new file mode 100644
index 00000000..636f7363
Binary files /dev/null and b/datatables/buildout/kashyyyk_north_dungeons/arena.iff differ
diff --git a/datatables/clientpoi/clientpoi.iff b/datatables/clientpoi/clientpoi.iff
new file mode 100644
index 00000000..7bb73593
Binary files /dev/null and b/datatables/clientpoi/clientpoi.iff differ
diff --git a/datatables/collection/collection.iff b/datatables/collection/collection.iff
new file mode 100644
index 00000000..1b855ea3
Binary files /dev/null and b/datatables/collection/collection.iff differ
diff --git a/datatables/command/command_table.iff b/datatables/command/command_table.iff
new file mode 100644
index 00000000..06745aed
Binary files /dev/null and b/datatables/command/command_table.iff differ
diff --git a/datatables/command/command_table_space.iff b/datatables/command/command_table_space.iff
new file mode 100644
index 00000000..b0257bb0
Binary files /dev/null and b/datatables/command/command_table_space.iff differ
diff --git a/datatables/commodity/advanced_search_attribute.iff b/datatables/commodity/advanced_search_attribute.iff
new file mode 100644
index 00000000..115aec44
Binary files /dev/null and b/datatables/commodity/advanced_search_attribute.iff differ
diff --git a/datatables/crafting/schematic_group.iff b/datatables/crafting/schematic_group.iff
new file mode 100644
index 00000000..1bc8b916
Binary files /dev/null and b/datatables/crafting/schematic_group.iff differ
diff --git a/datatables/customization/allow_bald.iff b/datatables/customization/allow_bald.iff
new file mode 100644
index 00000000..d00eafc9
Binary files /dev/null and b/datatables/customization/allow_bald.iff differ
diff --git a/datatables/customization/customization_data.iff b/datatables/customization/customization_data.iff
new file mode 100644
index 00000000..a5c313a7
Binary files /dev/null and b/datatables/customization/customization_data.iff differ
diff --git a/datatables/customization/customization_group_instance.iff b/datatables/customization/customization_group_instance.iff
new file mode 100644
index 00000000..b05cb794
Binary files /dev/null and b/datatables/customization/customization_group_instance.iff differ
diff --git a/datatables/customization/customization_group_shared.iff b/datatables/customization/customization_group_shared.iff
new file mode 100644
index 00000000..ef52092f
Binary files /dev/null and b/datatables/customization/customization_group_shared.iff differ
diff --git a/datatables/customization/hair_assets_skill_mods.iff b/datatables/customization/hair_assets_skill_mods.iff
new file mode 100644
index 00000000..bce07991
Binary files /dev/null and b/datatables/customization/hair_assets_skill_mods.iff differ
diff --git a/datatables/include/locomotion.iff b/datatables/include/locomotion.iff
new file mode 100644
index 00000000..0e75191d
Binary files /dev/null and b/datatables/include/locomotion.iff differ
diff --git a/datatables/include/posture.iff b/datatables/include/posture.iff
new file mode 100644
index 00000000..ef77b8ea
Binary files /dev/null and b/datatables/include/posture.iff differ
diff --git a/datatables/interior/interior.iff b/datatables/interior/interior.iff
new file mode 100644
index 00000000..9eb6a5e7
Binary files /dev/null and b/datatables/interior/interior.iff differ
diff --git a/datatables/manifest/skufree.iff b/datatables/manifest/skufree.iff
new file mode 100644
index 00000000..60cca1f0
Binary files /dev/null and b/datatables/manifest/skufree.iff differ
diff --git a/datatables/mount/logical_saddle_name_map.iff b/datatables/mount/logical_saddle_name_map.iff
new file mode 100644
index 00000000..a5b5aa3e
Binary files /dev/null and b/datatables/mount/logical_saddle_name_map.iff differ
diff --git a/datatables/mount/rider_pose_map.iff b/datatables/mount/rider_pose_map.iff
new file mode 100644
index 00000000..ead53a32
Binary files /dev/null and b/datatables/mount/rider_pose_map.iff differ
diff --git a/datatables/mount/saddle_appearance_map.iff b/datatables/mount/saddle_appearance_map.iff
new file mode 100644
index 00000000..0582ba44
Binary files /dev/null and b/datatables/mount/saddle_appearance_map.iff differ
diff --git a/datatables/mount/valid_scale_range.iff b/datatables/mount/valid_scale_range.iff
new file mode 100644
index 00000000..7e131a2b
Binary files /dev/null and b/datatables/mount/valid_scale_range.iff differ
diff --git a/datatables/movement/movement_human.iff b/datatables/movement/movement_human.iff
new file mode 100644
index 00000000..1f0b4eaf
Binary files /dev/null and b/datatables/movement/movement_human.iff differ
diff --git a/datatables/space/countermeasures.iff b/datatables/space/countermeasures.iff
new file mode 100644
index 00000000..3ab7cdf8
Binary files /dev/null and b/datatables/space/countermeasures.iff differ
diff --git a/datatables/space/missiles.iff b/datatables/space/missiles.iff
new file mode 100644
index 00000000..ef6f9d14
Binary files /dev/null and b/datatables/space/missiles.iff differ
diff --git a/datatables/space/ship_chassis.iff b/datatables/space/ship_chassis.iff
new file mode 100644
index 00000000..db63221b
Binary files /dev/null and b/datatables/space/ship_chassis.iff differ
diff --git a/datatables/space/ship_chassis_droid_fighter_s01.iff b/datatables/space/ship_chassis_droid_fighter_s01.iff
new file mode 100644
index 00000000..e8b373c7
Binary files /dev/null and b/datatables/space/ship_chassis_droid_fighter_s01.iff differ
diff --git a/datatables/space/ship_chassis_eow_corvette.iff b/datatables/space/ship_chassis_eow_corvette.iff
new file mode 100644
index 00000000..902f46fc
Binary files /dev/null and b/datatables/space/ship_chassis_eow_corvette.iff differ
diff --git a/datatables/space/ship_chassis_eow_imperial_lancer.iff b/datatables/space/ship_chassis_eow_imperial_lancer.iff
new file mode 100644
index 00000000..17b76161
Binary files /dev/null and b/datatables/space/ship_chassis_eow_imperial_lancer.iff differ
diff --git a/datatables/space/ship_chassis_eow_nebulon_frigate.iff b/datatables/space/ship_chassis_eow_nebulon_frigate.iff
new file mode 100644
index 00000000..21ea9ce2
Binary files /dev/null and b/datatables/space/ship_chassis_eow_nebulon_frigate.iff differ
diff --git a/datatables/space/ship_chassis_eow_rebel_transport.iff b/datatables/space/ship_chassis_eow_rebel_transport.iff
new file mode 100644
index 00000000..de6d01f9
Binary files /dev/null and b/datatables/space/ship_chassis_eow_rebel_transport.iff differ
diff --git a/datatables/space/ship_chassis_eow_star_destroyer.iff b/datatables/space/ship_chassis_eow_star_destroyer.iff
new file mode 100644
index 00000000..afa7e8b1
Binary files /dev/null and b/datatables/space/ship_chassis_eow_star_destroyer.iff differ
diff --git a/datatables/space/ship_chassis_player_advanced_xwing.iff b/datatables/space/ship_chassis_player_advanced_xwing.iff
new file mode 100644
index 00000000..f3781958
Binary files /dev/null and b/datatables/space/ship_chassis_player_advanced_xwing.iff differ
diff --git a/datatables/space/ship_chassis_player_advanced_z95.iff b/datatables/space/ship_chassis_player_advanced_z95.iff
new file mode 100644
index 00000000..b3f1a85e
Binary files /dev/null and b/datatables/space/ship_chassis_player_advanced_z95.iff differ
diff --git a/datatables/space/ship_chassis_player_arc170.iff b/datatables/space/ship_chassis_player_arc170.iff
new file mode 100644
index 00000000..f5788486
Binary files /dev/null and b/datatables/space/ship_chassis_player_arc170.iff differ
diff --git a/datatables/space/ship_chassis_player_awing.iff b/datatables/space/ship_chassis_player_awing.iff
new file mode 100644
index 00000000..2f12e161
Binary files /dev/null and b/datatables/space/ship_chassis_player_awing.iff differ
diff --git a/datatables/space/ship_chassis_player_basic_z95.iff b/datatables/space/ship_chassis_player_basic_z95.iff
new file mode 100644
index 00000000..faf68769
Binary files /dev/null and b/datatables/space/ship_chassis_player_basic_z95.iff differ
diff --git a/datatables/space/ship_chassis_player_blacksun_heavy_s01.iff b/datatables/space/ship_chassis_player_blacksun_heavy_s01.iff
new file mode 100644
index 00000000..e795ef51
Binary files /dev/null and b/datatables/space/ship_chassis_player_blacksun_heavy_s01.iff differ
diff --git a/datatables/space/ship_chassis_player_blacksun_heavy_s02.iff b/datatables/space/ship_chassis_player_blacksun_heavy_s02.iff
new file mode 100644
index 00000000..dba9e137
Binary files /dev/null and b/datatables/space/ship_chassis_player_blacksun_heavy_s02.iff differ
diff --git a/datatables/space/ship_chassis_player_blacksun_heavy_s03.iff b/datatables/space/ship_chassis_player_blacksun_heavy_s03.iff
new file mode 100644
index 00000000..74b3a796
Binary files /dev/null and b/datatables/space/ship_chassis_player_blacksun_heavy_s03.iff differ
diff --git a/datatables/space/ship_chassis_player_blacksun_heavy_s04.iff b/datatables/space/ship_chassis_player_blacksun_heavy_s04.iff
new file mode 100644
index 00000000..dba9e137
Binary files /dev/null and b/datatables/space/ship_chassis_player_blacksun_heavy_s04.iff differ
diff --git a/datatables/space/ship_chassis_player_blacksun_light_s01.iff b/datatables/space/ship_chassis_player_blacksun_light_s01.iff
new file mode 100644
index 00000000..15ba31ed
Binary files /dev/null and b/datatables/space/ship_chassis_player_blacksun_light_s01.iff differ
diff --git a/datatables/space/ship_chassis_player_blacksun_light_s02.iff b/datatables/space/ship_chassis_player_blacksun_light_s02.iff
new file mode 100644
index 00000000..15ba31ed
Binary files /dev/null and b/datatables/space/ship_chassis_player_blacksun_light_s02.iff differ
diff --git a/datatables/space/ship_chassis_player_blacksun_light_s03.iff b/datatables/space/ship_chassis_player_blacksun_light_s03.iff
new file mode 100644
index 00000000..15ba31ed
Binary files /dev/null and b/datatables/space/ship_chassis_player_blacksun_light_s03.iff differ
diff --git a/datatables/space/ship_chassis_player_blacksun_light_s04.iff b/datatables/space/ship_chassis_player_blacksun_light_s04.iff
new file mode 100644
index 00000000..15ba31ed
Binary files /dev/null and b/datatables/space/ship_chassis_player_blacksun_light_s04.iff differ
diff --git a/datatables/space/ship_chassis_player_blacksun_medium_s01.iff b/datatables/space/ship_chassis_player_blacksun_medium_s01.iff
new file mode 100644
index 00000000..6c3db450
Binary files /dev/null and b/datatables/space/ship_chassis_player_blacksun_medium_s01.iff differ
diff --git a/datatables/space/ship_chassis_player_blacksun_medium_s02.iff b/datatables/space/ship_chassis_player_blacksun_medium_s02.iff
new file mode 100644
index 00000000..6c3db450
Binary files /dev/null and b/datatables/space/ship_chassis_player_blacksun_medium_s02.iff differ
diff --git a/datatables/space/ship_chassis_player_blacksun_medium_s03.iff b/datatables/space/ship_chassis_player_blacksun_medium_s03.iff
new file mode 100644
index 00000000..e9a3d1ee
Binary files /dev/null and b/datatables/space/ship_chassis_player_blacksun_medium_s03.iff differ
diff --git a/datatables/space/ship_chassis_player_blacksun_medium_s04.iff b/datatables/space/ship_chassis_player_blacksun_medium_s04.iff
new file mode 100644
index 00000000..e9a3d1ee
Binary files /dev/null and b/datatables/space/ship_chassis_player_blacksun_medium_s04.iff differ
diff --git a/datatables/space/ship_chassis_player_blacksun_vaksai.iff b/datatables/space/ship_chassis_player_blacksun_vaksai.iff
new file mode 100644
index 00000000..90860579
Binary files /dev/null and b/datatables/space/ship_chassis_player_blacksun_vaksai.iff differ
diff --git a/datatables/space/ship_chassis_player_blacksun_vaksai_s02.iff b/datatables/space/ship_chassis_player_blacksun_vaksai_s02.iff
new file mode 100644
index 00000000..90860579
Binary files /dev/null and b/datatables/space/ship_chassis_player_blacksun_vaksai_s02.iff differ
diff --git a/datatables/space/ship_chassis_player_bwing.iff b/datatables/space/ship_chassis_player_bwing.iff
new file mode 100644
index 00000000..45d20034
Binary files /dev/null and b/datatables/space/ship_chassis_player_bwing.iff differ
diff --git a/datatables/space/ship_chassis_player_decimator.iff b/datatables/space/ship_chassis_player_decimator.iff
new file mode 100644
index 00000000..2a28c3f3
Binary files /dev/null and b/datatables/space/ship_chassis_player_decimator.iff differ
diff --git a/datatables/space/ship_chassis_player_droid_fighter_s01.iff b/datatables/space/ship_chassis_player_droid_fighter_s01.iff
new file mode 100644
index 00000000..def83c25
Binary files /dev/null and b/datatables/space/ship_chassis_player_droid_fighter_s01.iff differ
diff --git a/datatables/space/ship_chassis_player_firespray.iff b/datatables/space/ship_chassis_player_firespray.iff
new file mode 100644
index 00000000..ceda4872
Binary files /dev/null and b/datatables/space/ship_chassis_player_firespray.iff differ
diff --git a/datatables/space/ship_chassis_player_grievous_starship.iff b/datatables/space/ship_chassis_player_grievous_starship.iff
new file mode 100644
index 00000000..543bc280
Binary files /dev/null and b/datatables/space/ship_chassis_player_grievous_starship.iff differ
diff --git a/datatables/space/ship_chassis_player_gunship_imperial.iff b/datatables/space/ship_chassis_player_gunship_imperial.iff
new file mode 100644
index 00000000..398d671d
Binary files /dev/null and b/datatables/space/ship_chassis_player_gunship_imperial.iff differ
diff --git a/datatables/space/ship_chassis_player_gunship_neutral.iff b/datatables/space/ship_chassis_player_gunship_neutral.iff
new file mode 100644
index 00000000..9d2d796d
Binary files /dev/null and b/datatables/space/ship_chassis_player_gunship_neutral.iff differ
diff --git a/datatables/space/ship_chassis_player_gunship_rebel.iff b/datatables/space/ship_chassis_player_gunship_rebel.iff
new file mode 100644
index 00000000..f6e429f5
Binary files /dev/null and b/datatables/space/ship_chassis_player_gunship_rebel.iff differ
diff --git a/datatables/space/ship_chassis_player_havoc.iff b/datatables/space/ship_chassis_player_havoc.iff
new file mode 100644
index 00000000..172a59bc
Binary files /dev/null and b/datatables/space/ship_chassis_player_havoc.iff differ
diff --git a/datatables/space/ship_chassis_player_hutt_heavy_s01.iff b/datatables/space/ship_chassis_player_hutt_heavy_s01.iff
new file mode 100644
index 00000000..223d78c8
Binary files /dev/null and b/datatables/space/ship_chassis_player_hutt_heavy_s01.iff differ
diff --git a/datatables/space/ship_chassis_player_hutt_heavy_s02.iff b/datatables/space/ship_chassis_player_hutt_heavy_s02.iff
new file mode 100644
index 00000000..c7c54799
Binary files /dev/null and b/datatables/space/ship_chassis_player_hutt_heavy_s02.iff differ
diff --git a/datatables/space/ship_chassis_player_hutt_light_s01.iff b/datatables/space/ship_chassis_player_hutt_light_s01.iff
new file mode 100644
index 00000000..def83c25
Binary files /dev/null and b/datatables/space/ship_chassis_player_hutt_light_s01.iff differ
diff --git a/datatables/space/ship_chassis_player_hutt_light_s02.iff b/datatables/space/ship_chassis_player_hutt_light_s02.iff
new file mode 100644
index 00000000..def83c25
Binary files /dev/null and b/datatables/space/ship_chassis_player_hutt_light_s02.iff differ
diff --git a/datatables/space/ship_chassis_player_hutt_medium_s01.iff b/datatables/space/ship_chassis_player_hutt_medium_s01.iff
new file mode 100644
index 00000000..9903844f
Binary files /dev/null and b/datatables/space/ship_chassis_player_hutt_medium_s01.iff differ
diff --git a/datatables/space/ship_chassis_player_hutt_medium_s02.iff b/datatables/space/ship_chassis_player_hutt_medium_s02.iff
new file mode 100644
index 00000000..9903844f
Binary files /dev/null and b/datatables/space/ship_chassis_player_hutt_medium_s02.iff differ
diff --git a/datatables/space/ship_chassis_player_hutt_turret_ship.iff b/datatables/space/ship_chassis_player_hutt_turret_ship.iff
new file mode 100644
index 00000000..bd7e5417
Binary files /dev/null and b/datatables/space/ship_chassis_player_hutt_turret_ship.iff differ
diff --git a/datatables/space/ship_chassis_player_jedi_starfighter.iff b/datatables/space/ship_chassis_player_jedi_starfighter.iff
new file mode 100644
index 00000000..206ebfe2
Binary files /dev/null and b/datatables/space/ship_chassis_player_jedi_starfighter.iff differ
diff --git a/datatables/space/ship_chassis_player_naboo_n1.iff b/datatables/space/ship_chassis_player_naboo_n1.iff
new file mode 100644
index 00000000..7d0e9796
Binary files /dev/null and b/datatables/space/ship_chassis_player_naboo_n1.iff differ
diff --git a/datatables/space/ship_chassis_player_prototype_hutt_light.iff b/datatables/space/ship_chassis_player_prototype_hutt_light.iff
new file mode 100644
index 00000000..2e62829b
Binary files /dev/null and b/datatables/space/ship_chassis_player_prototype_hutt_light.iff differ
diff --git a/datatables/space/ship_chassis_player_prototype_tiefighter.iff b/datatables/space/ship_chassis_player_prototype_tiefighter.iff
new file mode 100644
index 00000000..0f17ef0c
Binary files /dev/null and b/datatables/space/ship_chassis_player_prototype_tiefighter.iff differ
diff --git a/datatables/space/ship_chassis_player_prototype_z95.iff b/datatables/space/ship_chassis_player_prototype_z95.iff
new file mode 100644
index 00000000..ab9483b1
Binary files /dev/null and b/datatables/space/ship_chassis_player_prototype_z95.iff differ
diff --git a/datatables/space/ship_chassis_player_snow_speeder_s01.iff b/datatables/space/ship_chassis_player_snow_speeder_s01.iff
new file mode 100644
index 00000000..986a9412
Binary files /dev/null and b/datatables/space/ship_chassis_player_snow_speeder_s01.iff differ
diff --git a/datatables/space/ship_chassis_player_tie_defender.iff b/datatables/space/ship_chassis_player_tie_defender.iff
new file mode 100644
index 00000000..b602f65c
Binary files /dev/null and b/datatables/space/ship_chassis_player_tie_defender.iff differ
diff --git a/datatables/space/ship_chassis_player_tie_in.iff b/datatables/space/ship_chassis_player_tie_in.iff
new file mode 100644
index 00000000..49cfeaf8
Binary files /dev/null and b/datatables/space/ship_chassis_player_tie_in.iff differ
diff --git a/datatables/space/ship_chassis_player_tie_light_duty.iff b/datatables/space/ship_chassis_player_tie_light_duty.iff
new file mode 100644
index 00000000..49cfeaf8
Binary files /dev/null and b/datatables/space/ship_chassis_player_tie_light_duty.iff differ
diff --git a/datatables/space/ship_chassis_player_tieadvanced.iff b/datatables/space/ship_chassis_player_tieadvanced.iff
new file mode 100644
index 00000000..c0e6b668
Binary files /dev/null and b/datatables/space/ship_chassis_player_tieadvanced.iff differ
diff --git a/datatables/space/ship_chassis_player_tieadvanced_modified.iff b/datatables/space/ship_chassis_player_tieadvanced_modified.iff
new file mode 100644
index 00000000..f1620fe7
Binary files /dev/null and b/datatables/space/ship_chassis_player_tieadvanced_modified.iff differ
diff --git a/datatables/space/ship_chassis_player_tieaggressor.iff b/datatables/space/ship_chassis_player_tieaggressor.iff
new file mode 100644
index 00000000..b5aaca8d
Binary files /dev/null and b/datatables/space/ship_chassis_player_tieaggressor.iff differ
diff --git a/datatables/space/ship_chassis_player_tiebomber.iff b/datatables/space/ship_chassis_player_tiebomber.iff
new file mode 100644
index 00000000..82b770ff
Binary files /dev/null and b/datatables/space/ship_chassis_player_tiebomber.iff differ
diff --git a/datatables/space/ship_chassis_player_tiedefender.iff b/datatables/space/ship_chassis_player_tiedefender.iff
new file mode 100644
index 00000000..439bb653
Binary files /dev/null and b/datatables/space/ship_chassis_player_tiedefender.iff differ
diff --git a/datatables/space/ship_chassis_player_tiefighter_modified.iff b/datatables/space/ship_chassis_player_tiefighter_modified.iff
new file mode 100644
index 00000000..0f17ef0c
Binary files /dev/null and b/datatables/space/ship_chassis_player_tiefighter_modified.iff differ
diff --git a/datatables/space/ship_chassis_player_tieinterceptor.iff b/datatables/space/ship_chassis_player_tieinterceptor.iff
new file mode 100644
index 00000000..e2192a66
Binary files /dev/null and b/datatables/space/ship_chassis_player_tieinterceptor.iff differ
diff --git a/datatables/space/ship_chassis_player_tieinterceptor_imperial_guard.iff b/datatables/space/ship_chassis_player_tieinterceptor_imperial_guard.iff
new file mode 100644
index 00000000..e2192a66
Binary files /dev/null and b/datatables/space/ship_chassis_player_tieinterceptor_imperial_guard.iff differ
diff --git a/datatables/space/ship_chassis_player_tieoppressor.iff b/datatables/space/ship_chassis_player_tieoppressor.iff
new file mode 100644
index 00000000..6c60ebeb
Binary files /dev/null and b/datatables/space/ship_chassis_player_tieoppressor.iff differ
diff --git a/datatables/space/ship_chassis_player_twing.iff b/datatables/space/ship_chassis_player_twing.iff
new file mode 100644
index 00000000..c92ddf89
Binary files /dev/null and b/datatables/space/ship_chassis_player_twing.iff differ
diff --git a/datatables/space/ship_chassis_player_vwing.iff b/datatables/space/ship_chassis_player_vwing.iff
new file mode 100644
index 00000000..754ceba2
Binary files /dev/null and b/datatables/space/ship_chassis_player_vwing.iff differ
diff --git a/datatables/space/ship_chassis_player_xwing.iff b/datatables/space/ship_chassis_player_xwing.iff
new file mode 100644
index 00000000..9de88731
Binary files /dev/null and b/datatables/space/ship_chassis_player_xwing.iff differ
diff --git a/datatables/space/ship_chassis_player_y8_mining_ship.iff b/datatables/space/ship_chassis_player_y8_mining_ship.iff
new file mode 100644
index 00000000..9ede8805
Binary files /dev/null and b/datatables/space/ship_chassis_player_y8_mining_ship.iff differ
diff --git a/datatables/space/ship_chassis_player_ykl37r.iff b/datatables/space/ship_chassis_player_ykl37r.iff
new file mode 100644
index 00000000..161774df
Binary files /dev/null and b/datatables/space/ship_chassis_player_ykl37r.iff differ
diff --git a/datatables/space/ship_chassis_player_yt1300.iff b/datatables/space/ship_chassis_player_yt1300.iff
new file mode 100644
index 00000000..cf2a30a8
Binary files /dev/null and b/datatables/space/ship_chassis_player_yt1300.iff differ
diff --git a/datatables/space/ship_chassis_player_yt2400.iff b/datatables/space/ship_chassis_player_yt2400.iff
new file mode 100644
index 00000000..52e3b448
Binary files /dev/null and b/datatables/space/ship_chassis_player_yt2400.iff differ
diff --git a/datatables/space/ship_chassis_player_ywing.iff b/datatables/space/ship_chassis_player_ywing.iff
new file mode 100644
index 00000000..070f6122
Binary files /dev/null and b/datatables/space/ship_chassis_player_ywing.iff differ
diff --git a/datatables/space/ship_chassis_player_ywing_longprobe.iff b/datatables/space/ship_chassis_player_ywing_longprobe.iff
new file mode 100644
index 00000000..0b85122a
Binary files /dev/null and b/datatables/space/ship_chassis_player_ywing_longprobe.iff differ
diff --git a/datatables/space/ship_chassis_player_z95.iff b/datatables/space/ship_chassis_player_z95.iff
new file mode 100644
index 00000000..61603037
Binary files /dev/null and b/datatables/space/ship_chassis_player_z95.iff differ
diff --git a/datatables/space/ship_chassis_spacestation_imperial_gcw.iff b/datatables/space/ship_chassis_spacestation_imperial_gcw.iff
new file mode 100644
index 00000000..9edc1805
Binary files /dev/null and b/datatables/space/ship_chassis_spacestation_imperial_gcw.iff differ
diff --git a/datatables/space/ship_chassis_spacestation_rebel_gcw.iff b/datatables/space/ship_chassis_spacestation_rebel_gcw.iff
new file mode 100644
index 00000000..ab4686ac
Binary files /dev/null and b/datatables/space/ship_chassis_spacestation_rebel_gcw.iff differ
diff --git a/datatables/space/ship_chassis_ywing_tier1.iff b/datatables/space/ship_chassis_ywing_tier1.iff
new file mode 100644
index 00000000..9386539b
Binary files /dev/null and b/datatables/space/ship_chassis_ywing_tier1.iff differ
diff --git a/datatables/space/ship_chassis_ywing_tier10.iff b/datatables/space/ship_chassis_ywing_tier10.iff
new file mode 100644
index 00000000..9386539b
Binary files /dev/null and b/datatables/space/ship_chassis_ywing_tier10.iff differ
diff --git a/datatables/space/ship_chassis_ywing_tier2.iff b/datatables/space/ship_chassis_ywing_tier2.iff
new file mode 100644
index 00000000..9386539b
Binary files /dev/null and b/datatables/space/ship_chassis_ywing_tier2.iff differ
diff --git a/datatables/space/ship_chassis_ywing_tier3.iff b/datatables/space/ship_chassis_ywing_tier3.iff
new file mode 100644
index 00000000..9386539b
Binary files /dev/null and b/datatables/space/ship_chassis_ywing_tier3.iff differ
diff --git a/datatables/space/ship_chassis_ywing_tier4.iff b/datatables/space/ship_chassis_ywing_tier4.iff
new file mode 100644
index 00000000..9386539b
Binary files /dev/null and b/datatables/space/ship_chassis_ywing_tier4.iff differ
diff --git a/datatables/space/ship_chassis_ywing_tier5.iff b/datatables/space/ship_chassis_ywing_tier5.iff
new file mode 100644
index 00000000..9386539b
Binary files /dev/null and b/datatables/space/ship_chassis_ywing_tier5.iff differ
diff --git a/datatables/space/ship_chassis_ywing_tier6.iff b/datatables/space/ship_chassis_ywing_tier6.iff
new file mode 100644
index 00000000..9386539b
Binary files /dev/null and b/datatables/space/ship_chassis_ywing_tier6.iff differ
diff --git a/datatables/space/ship_chassis_ywing_tier7.iff b/datatables/space/ship_chassis_ywing_tier7.iff
new file mode 100644
index 00000000..9386539b
Binary files /dev/null and b/datatables/space/ship_chassis_ywing_tier7.iff differ
diff --git a/datatables/space/ship_chassis_ywing_tier8.iff b/datatables/space/ship_chassis_ywing_tier8.iff
new file mode 100644
index 00000000..9386539b
Binary files /dev/null and b/datatables/space/ship_chassis_ywing_tier8.iff differ
diff --git a/datatables/space/ship_chassis_ywing_tier9.iff b/datatables/space/ship_chassis_ywing_tier9.iff
new file mode 100644
index 00000000..9386539b
Binary files /dev/null and b/datatables/space/ship_chassis_ywing_tier9.iff differ
diff --git a/datatables/space/ship_components.iff b/datatables/space/ship_components.iff
new file mode 100644
index 00000000..6bcc8afa
Binary files /dev/null and b/datatables/space/ship_components.iff differ
diff --git a/datatables/space/ship_droid_appearance_override.iff b/datatables/space/ship_droid_appearance_override.iff
new file mode 100644
index 00000000..62469aed
Binary files /dev/null and b/datatables/space/ship_droid_appearance_override.iff differ
diff --git a/datatables/space/ship_hit_effects.iff b/datatables/space/ship_hit_effects.iff
new file mode 100644
index 00000000..9375fe97
Binary files /dev/null and b/datatables/space/ship_hit_effects.iff differ
diff --git a/datatables/space/ship_hit_sounds.iff b/datatables/space/ship_hit_sounds.iff
new file mode 100644
index 00000000..8c9b6db2
Binary files /dev/null and b/datatables/space/ship_hit_sounds.iff differ
diff --git a/datatables/space/ship_power_sounds.iff b/datatables/space/ship_power_sounds.iff
new file mode 100644
index 00000000..29844e70
Binary files /dev/null and b/datatables/space/ship_power_sounds.iff differ
diff --git a/datatables/space/ship_station_hud_elements.iff b/datatables/space/ship_station_hud_elements.iff
new file mode 100644
index 00000000..89ca9169
Binary files /dev/null and b/datatables/space/ship_station_hud_elements.iff differ
diff --git a/datatables/space/ship_turret.iff b/datatables/space/ship_turret.iff
new file mode 100644
index 00000000..2ec52b44
Binary files /dev/null and b/datatables/space/ship_turret.iff differ
diff --git a/datatables/space/ship_weapon_components.iff b/datatables/space/ship_weapon_components.iff
new file mode 100644
index 00000000..de5c5507
Binary files /dev/null and b/datatables/space/ship_weapon_components.iff differ
diff --git a/misc/object_template_crc_string_table.iff b/misc/object_template_crc_string_table.iff
new file mode 100644
index 00000000..96467eb1
Binary files /dev/null and b/misc/object_template_crc_string_table.iff differ
diff --git a/object/building/corellia/shared_ply_corl_house_m_s02_fp1.iff b/object/building/corellia/shared_ply_corl_house_m_s02_fp1.iff
new file mode 100644
index 00000000..6fbe64a9
Binary files /dev/null and b/object/building/corellia/shared_ply_corl_house_m_s02_fp1.iff differ
diff --git a/object/draft_schematic/clothing/shared_clothing_jacket_imp_ace.iff b/object/draft_schematic/clothing/shared_clothing_jacket_imp_ace.iff
new file mode 100644
index 00000000..be18ef13
Binary files /dev/null and b/object/draft_schematic/clothing/shared_clothing_jacket_imp_ace.iff differ
diff --git a/object/draft_schematic/clothing/shared_clothing_jacket_neut_ace.iff b/object/draft_schematic/clothing/shared_clothing_jacket_neut_ace.iff
new file mode 100644
index 00000000..733859ed
Binary files /dev/null and b/object/draft_schematic/clothing/shared_clothing_jacket_neut_ace.iff differ
diff --git a/object/draft_schematic/clothing/shared_clothing_jacket_reb_ace.iff b/object/draft_schematic/clothing/shared_clothing_jacket_reb_ace.iff
new file mode 100644
index 00000000..38e76c3d
Binary files /dev/null and b/object/draft_schematic/clothing/shared_clothing_jacket_reb_ace.iff differ
diff --git a/object/draft_schematic/structure/shared_corellia_house_player_medium_style_02.iff b/object/draft_schematic/structure/shared_corellia_house_player_medium_style_02.iff
new file mode 100644
index 00000000..8e2be467
Binary files /dev/null and b/object/draft_schematic/structure/shared_corellia_house_player_medium_style_02.iff differ
diff --git a/object/draft_schematic/structure/shared_kashyyyk_treehouse.iff b/object/draft_schematic/structure/shared_kashyyyk_treehouse.iff
new file mode 100644
index 00000000..38776ae0
Binary files /dev/null and b/object/draft_schematic/structure/shared_kashyyyk_treehouse.iff differ
diff --git a/object/draft_schematic/structure/shared_yt1300_house.iff b/object/draft_schematic/structure/shared_yt1300_house.iff
new file mode 100644
index 00000000..a62c3161
Binary files /dev/null and b/object/draft_schematic/structure/shared_yt1300_house.iff differ
diff --git a/object/intangible/pet/shared_snow_speeder_familiar_pcd.iff b/object/intangible/pet/shared_snow_speeder_familiar_pcd.iff
new file mode 100644
index 00000000..3bdd5b00
Binary files /dev/null and b/object/intangible/pet/shared_snow_speeder_familiar_pcd.iff differ
diff --git a/object/intangible/ship/shared_blacksun_vaksai_s02_pcd.iff b/object/intangible/ship/shared_blacksun_vaksai_s02_pcd.iff
new file mode 100644
index 00000000..7d7a4c2f
Binary files /dev/null and b/object/intangible/ship/shared_blacksun_vaksai_s02_pcd.iff differ
diff --git a/object/intangible/ship/shared_havoc_pcd.iff b/object/intangible/ship/shared_havoc_pcd.iff
new file mode 100644
index 00000000..7643e46b
Binary files /dev/null and b/object/intangible/ship/shared_havoc_pcd.iff differ
diff --git a/object/intangible/ship/shared_tiedefender_pcd.iff b/object/intangible/ship/shared_tiedefender_pcd.iff
new file mode 100644
index 00000000..42e0112d
Binary files /dev/null and b/object/intangible/ship/shared_tiedefender_pcd.iff differ
diff --git a/object/intangible/ship/shared_twing_pcd.iff b/object/intangible/ship/shared_twing_pcd.iff
new file mode 100644
index 00000000..59380b67
Binary files /dev/null and b/object/intangible/ship/shared_twing_pcd.iff differ
diff --git a/object/mobile/shared_snow_speeder_toy.iff b/object/mobile/shared_snow_speeder_toy.iff
new file mode 100644
index 00000000..bee6753d
Binary files /dev/null and b/object/mobile/shared_snow_speeder_toy.iff differ
diff --git a/object/ship/player/shared_player_blacksun_vaksai_s02.iff b/object/ship/player/shared_player_blacksun_vaksai_s02.iff
new file mode 100644
index 00000000..bde01dc2
Binary files /dev/null and b/object/ship/player/shared_player_blacksun_vaksai_s02.iff differ
diff --git a/object/ship/player/shared_player_havoc.iff b/object/ship/player/shared_player_havoc.iff
new file mode 100644
index 00000000..0007a9ec
Binary files /dev/null and b/object/ship/player/shared_player_havoc.iff differ
diff --git a/object/ship/player/shared_player_tie_defender.iff b/object/ship/player/shared_player_tie_defender.iff
new file mode 100644
index 00000000..60cbbeb2
Binary files /dev/null and b/object/ship/player/shared_player_tie_defender.iff differ
diff --git a/object/ship/player/shared_player_tiedefender.iff b/object/ship/player/shared_player_tiedefender.iff
new file mode 100644
index 00000000..eb6ef503
Binary files /dev/null and b/object/ship/player/shared_player_tiedefender.iff differ
diff --git a/object/ship/player/shared_player_twing.iff b/object/ship/player/shared_player_twing.iff
new file mode 100644
index 00000000..73d9ee9f
Binary files /dev/null and b/object/ship/player/shared_player_twing.iff differ
diff --git a/object/ship/shared_havoc.iff b/object/ship/shared_havoc.iff
new file mode 100644
index 00000000..cad52d49
Binary files /dev/null and b/object/ship/shared_havoc.iff differ
diff --git a/object/ship/shared_imperial_lancer.iff b/object/ship/shared_imperial_lancer.iff
new file mode 100644
index 00000000..e0ce74ef
Binary files /dev/null and b/object/ship/shared_imperial_lancer.iff differ
diff --git a/object/ship/shared_nebulon_frigate.iff b/object/ship/shared_nebulon_frigate.iff
new file mode 100644
index 00000000..06961764
Binary files /dev/null and b/object/ship/shared_nebulon_frigate.iff differ
diff --git a/object/ship/shared_tiedefender.iff b/object/ship/shared_tiedefender.iff
new file mode 100644
index 00000000..a280478e
Binary files /dev/null and b/object/ship/shared_tiedefender.iff differ
diff --git a/object/ship/shared_twing.iff b/object/ship/shared_twing.iff
new file mode 100644
index 00000000..9b354c91
Binary files /dev/null and b/object/ship/shared_twing.iff differ
diff --git a/object/tangible/deed/guild_deed/shared_tatooine_guild_deed.iff b/object/tangible/deed/guild_deed/shared_tatooine_guild_deed.iff
new file mode 100644
index 00000000..c8a7e8e0
Binary files /dev/null and b/object/tangible/deed/guild_deed/shared_tatooine_guild_deed.iff differ
diff --git a/object/tangible/deed/player_house_deed/shared_corellia_house_medium_style_02_deed.iff b/object/tangible/deed/player_house_deed/shared_corellia_house_medium_style_02_deed.iff
new file mode 100644
index 00000000..110295c4
Binary files /dev/null and b/object/tangible/deed/player_house_deed/shared_corellia_house_medium_style_02_deed.iff differ
diff --git a/object/tangible/deed/player_house_deed/shared_yt1300_house_deed.iff b/object/tangible/deed/player_house_deed/shared_yt1300_house_deed.iff
new file mode 100644
index 00000000..7ff32989
Binary files /dev/null and b/object/tangible/deed/player_house_deed/shared_yt1300_house_deed.iff differ
diff --git a/object/tangible/deed/vehicle_deed/shared_instant_travel_terminal_snowspeeder.iff b/object/tangible/deed/vehicle_deed/shared_instant_travel_terminal_snowspeeder.iff
new file mode 100644
index 00000000..ef184319
Binary files /dev/null and b/object/tangible/deed/vehicle_deed/shared_instant_travel_terminal_snowspeeder.iff differ
diff --git a/object/tangible/item/shared_rare_loot_chest_1.iff b/object/tangible/item/shared_rare_loot_chest_1.iff
new file mode 100644
index 00000000..f88f4b00
Binary files /dev/null and b/object/tangible/item/shared_rare_loot_chest_1.iff differ
diff --git a/object/tangible/item/shared_rare_loot_chest_2.iff b/object/tangible/item/shared_rare_loot_chest_2.iff
new file mode 100644
index 00000000..1775c7b0
Binary files /dev/null and b/object/tangible/item/shared_rare_loot_chest_2.iff differ
diff --git a/object/tangible/item/shared_rare_loot_chest_3.iff b/object/tangible/item/shared_rare_loot_chest_3.iff
new file mode 100644
index 00000000..affa4c1f
Binary files /dev/null and b/object/tangible/item/shared_rare_loot_chest_3.iff differ
diff --git a/object/tangible/loot/loot_schematic/shared_yt1300_house_schematic.iff b/object/tangible/loot/loot_schematic/shared_yt1300_house_schematic.iff
new file mode 100644
index 00000000..ca414f79
Binary files /dev/null and b/object/tangible/loot/loot_schematic/shared_yt1300_house_schematic.iff differ
diff --git a/object/tangible/painting/shared_painting_posters_aoc.iff b/object/tangible/painting/shared_painting_posters_aoc.iff
new file mode 100644
index 00000000..e5b1bd20
Binary files /dev/null and b/object/tangible/painting/shared_painting_posters_aoc.iff differ
diff --git a/object/tangible/painting/shared_painting_posters_cwm.iff b/object/tangible/painting/shared_painting_posters_cwm.iff
new file mode 100644
index 00000000..fdc8879a
Binary files /dev/null and b/object/tangible/painting/shared_painting_posters_cwm.iff differ
diff --git a/object/tangible/painting/shared_painting_posters_cws.iff b/object/tangible/painting/shared_painting_posters_cws.iff
new file mode 100644
index 00000000..68529ae7
Binary files /dev/null and b/object/tangible/painting/shared_painting_posters_cws.iff differ
diff --git a/object/tangible/painting/shared_painting_posters_djj.iff b/object/tangible/painting/shared_painting_posters_djj.iff
new file mode 100644
index 00000000..14e80761
Binary files /dev/null and b/object/tangible/painting/shared_painting_posters_djj.iff differ
diff --git a/object/tangible/painting/shared_painting_posters_ew1.iff b/object/tangible/painting/shared_painting_posters_ew1.iff
new file mode 100644
index 00000000..b43c8036
Binary files /dev/null and b/object/tangible/painting/shared_painting_posters_ew1.iff differ
diff --git a/object/tangible/painting/shared_painting_posters_ew2.iff b/object/tangible/painting/shared_painting_posters_ew2.iff
new file mode 100644
index 00000000..70a83be5
Binary files /dev/null and b/object/tangible/painting/shared_painting_posters_ew2.iff differ
diff --git a/object/tangible/painting/shared_painting_posters_rebels.iff b/object/tangible/painting/shared_painting_posters_rebels.iff
new file mode 100644
index 00000000..492424c3
Binary files /dev/null and b/object/tangible/painting/shared_painting_posters_rebels.iff differ
diff --git a/object/tangible/painting/shared_painting_posters_ro.iff b/object/tangible/painting/shared_painting_posters_ro.iff
new file mode 100644
index 00000000..b6a756eb
Binary files /dev/null and b/object/tangible/painting/shared_painting_posters_ro.iff differ
diff --git a/object/tangible/painting/shared_painting_posters_ros.iff b/object/tangible/painting/shared_painting_posters_ros.iff
new file mode 100644
index 00000000..b271cf88
Binary files /dev/null and b/object/tangible/painting/shared_painting_posters_ros.iff differ
diff --git a/object/tangible/painting/shared_painting_posters_tfa.iff b/object/tangible/painting/shared_painting_posters_tfa.iff
new file mode 100644
index 00000000..f170350b
Binary files /dev/null and b/object/tangible/painting/shared_painting_posters_tfa.iff differ
diff --git a/object/tangible/painting/shared_painting_posters_tlj.iff b/object/tangible/painting/shared_painting_posters_tlj.iff
new file mode 100644
index 00000000..979b0c7c
Binary files /dev/null and b/object/tangible/painting/shared_painting_posters_tlj.iff differ
diff --git a/object/tangible/painting/shared_painting_posters_tpm.iff b/object/tangible/painting/shared_painting_posters_tpm.iff
new file mode 100644
index 00000000..52d8a486
Binary files /dev/null and b/object/tangible/painting/shared_painting_posters_tpm.iff differ
diff --git a/object/tangible/ship/crafted/chassis/shared_texture_kit_hutt_heavy_s01_s07.iff b/object/tangible/ship/crafted/chassis/shared_texture_kit_hutt_heavy_s01_s07.iff
new file mode 100644
index 00000000..7b10538a
Binary files /dev/null and b/object/tangible/ship/crafted/chassis/shared_texture_kit_hutt_heavy_s01_s07.iff differ
diff --git a/object/tangible/tcg/series8/shared_familiar_deed_snow_speeder.iff b/object/tangible/tcg/series8/shared_familiar_deed_snow_speeder.iff
new file mode 100644
index 00000000..fcf4a7b9
Binary files /dev/null and b/object/tangible/tcg/series8/shared_familiar_deed_snow_speeder.iff differ
diff --git a/object/tangible/terminal/shared_terminal_travel_instant_snowspeeder.iff b/object/tangible/terminal/shared_terminal_travel_instant_snowspeeder.iff
new file mode 100644
index 00000000..277b755e
Binary files /dev/null and b/object/tangible/terminal/shared_terminal_travel_instant_snowspeeder.iff differ
diff --git a/object/tangible/terminal/shared_terminal_travel_instant_tcg_slave_1.iff b/object/tangible/terminal/shared_terminal_travel_instant_tcg_slave_1.iff
new file mode 100644
index 00000000..6f3a995a
Binary files /dev/null and b/object/tangible/terminal/shared_terminal_travel_instant_tcg_slave_1.iff differ
diff --git a/object/tangible/wearables/jacket/shared_jacket_ace_imperial_craft.iff b/object/tangible/wearables/jacket/shared_jacket_ace_imperial_craft.iff
new file mode 100644
index 00000000..628379e2
Binary files /dev/null and b/object/tangible/wearables/jacket/shared_jacket_ace_imperial_craft.iff differ
diff --git a/object/tangible/wearables/jacket/shared_jacket_ace_privateer_craft.iff b/object/tangible/wearables/jacket/shared_jacket_ace_privateer_craft.iff
new file mode 100644
index 00000000..8d7806e2
Binary files /dev/null and b/object/tangible/wearables/jacket/shared_jacket_ace_privateer_craft.iff differ
diff --git a/object/tangible/wearables/jacket/shared_jacket_ace_rebel_craft.iff b/object/tangible/wearables/jacket/shared_jacket_ace_rebel_craft.iff
new file mode 100644
index 00000000..9d8e64b2
Binary files /dev/null and b/object/tangible/wearables/jacket/shared_jacket_ace_rebel_craft.iff differ
diff --git a/shader/frn_all_painting_posters_aoc_as8.sht b/shader/frn_all_painting_posters_aoc_as8.sht
new file mode 100644
index 00000000..bfbda216
Binary files /dev/null and b/shader/frn_all_painting_posters_aoc_as8.sht differ
diff --git a/shader/frn_all_painting_posters_cwm_as8.sht b/shader/frn_all_painting_posters_cwm_as8.sht
new file mode 100644
index 00000000..640bc427
Binary files /dev/null and b/shader/frn_all_painting_posters_cwm_as8.sht differ
diff --git a/shader/frn_all_painting_posters_cws_as8.sht b/shader/frn_all_painting_posters_cws_as8.sht
new file mode 100644
index 00000000..e5d9ac59
Binary files /dev/null and b/shader/frn_all_painting_posters_cws_as8.sht differ
diff --git a/shader/frn_all_painting_posters_djj_as8.sht b/shader/frn_all_painting_posters_djj_as8.sht
new file mode 100644
index 00000000..886928db
Binary files /dev/null and b/shader/frn_all_painting_posters_djj_as8.sht differ
diff --git a/shader/frn_all_painting_posters_ew1_as8.sht b/shader/frn_all_painting_posters_ew1_as8.sht
new file mode 100644
index 00000000..ca05fd4d
Binary files /dev/null and b/shader/frn_all_painting_posters_ew1_as8.sht differ
diff --git a/shader/frn_all_painting_posters_ew2_as8.sht b/shader/frn_all_painting_posters_ew2_as8.sht
new file mode 100644
index 00000000..21927b16
Binary files /dev/null and b/shader/frn_all_painting_posters_ew2_as8.sht differ
diff --git a/shader/frn_all_painting_posters_rebels_as8.sht b/shader/frn_all_painting_posters_rebels_as8.sht
new file mode 100644
index 00000000..a6392570
Binary files /dev/null and b/shader/frn_all_painting_posters_rebels_as8.sht differ
diff --git a/shader/frn_all_painting_posters_ro_as8.sht b/shader/frn_all_painting_posters_ro_as8.sht
new file mode 100644
index 00000000..12137df8
Binary files /dev/null and b/shader/frn_all_painting_posters_ro_as8.sht differ
diff --git a/shader/frn_all_painting_posters_ros_as8.sht b/shader/frn_all_painting_posters_ros_as8.sht
new file mode 100644
index 00000000..8cdd94c7
Binary files /dev/null and b/shader/frn_all_painting_posters_ros_as8.sht differ
diff --git a/shader/frn_all_painting_posters_tfa_as8.sht b/shader/frn_all_painting_posters_tfa_as8.sht
new file mode 100644
index 00000000..f463c226
Binary files /dev/null and b/shader/frn_all_painting_posters_tfa_as8.sht differ
diff --git a/shader/frn_all_painting_posters_tlj_as8.sht b/shader/frn_all_painting_posters_tlj_as8.sht
new file mode 100644
index 00000000..c007c906
Binary files /dev/null and b/shader/frn_all_painting_posters_tlj_as8.sht differ
diff --git a/shader/frn_all_painting_posters_tpm_as8.sht b/shader/frn_all_painting_posters_tpm_as8.sht
new file mode 100644
index 00000000..6c55dcc6
Binary files /dev/null and b/shader/frn_all_painting_posters_tpm_as8.sht differ
diff --git a/string/en/base_player.stf b/string/en/base_player.stf
new file mode 100644
index 00000000..06712706
Binary files /dev/null and b/string/en/base_player.stf differ
diff --git a/string/en/building_detail.stf b/string/en/building_detail.stf
new file mode 100644
index 00000000..4aa6c011
Binary files /dev/null and b/string/en/building_detail.stf differ
diff --git a/string/en/building_name.stf b/string/en/building_name.stf
new file mode 100644
index 00000000..185a22f0
Binary files /dev/null and b/string/en/building_name.stf differ
diff --git a/string/en/chat_emoticon_socials.stf b/string/en/chat_emoticon_socials.stf
new file mode 100644
index 00000000..0090a093
Binary files /dev/null and b/string/en/chat_emoticon_socials.stf differ
diff --git a/string/en/clientpoi_d.stf b/string/en/clientpoi_d.stf
new file mode 100644
index 00000000..375b6c65
Binary files /dev/null and b/string/en/clientpoi_d.stf differ
diff --git a/string/en/clientpoi_n.stf b/string/en/clientpoi_n.stf
new file mode 100644
index 00000000..3976c7f4
Binary files /dev/null and b/string/en/clientpoi_n.stf differ
diff --git a/string/en/collection.stf b/string/en/collection.stf
new file mode 100644
index 00000000..1bdfab25
Binary files /dev/null and b/string/en/collection.stf differ
diff --git a/string/en/collection_d.stf b/string/en/collection_d.stf
new file mode 100644
index 00000000..f8834bb3
Binary files /dev/null and b/string/en/collection_d.stf differ
diff --git a/string/en/collection_n.stf b/string/en/collection_n.stf
new file mode 100644
index 00000000..8cb33938
Binary files /dev/null and b/string/en/collection_n.stf differ
diff --git a/string/en/collection_reward.stf b/string/en/collection_reward.stf
new file mode 100644
index 00000000..ce3d904c
Binary files /dev/null and b/string/en/collection_reward.stf differ
diff --git a/string/en/collection_title.stf b/string/en/collection_title.stf
new file mode 100644
index 00000000..1fce0986
Binary files /dev/null and b/string/en/collection_title.stf differ
diff --git a/string/en/conversation/imperial_gcw2_vendor.stf b/string/en/conversation/imperial_gcw2_vendor.stf
new file mode 100644
index 00000000..9ce585d6
Binary files /dev/null and b/string/en/conversation/imperial_gcw2_vendor.stf differ
diff --git a/string/en/conversation/rebel2_gcw2_vendor.stf b/string/en/conversation/rebel2_gcw2_vendor.stf
new file mode 100644
index 00000000..0c1710ce
Binary files /dev/null and b/string/en/conversation/rebel2_gcw2_vendor.stf differ
diff --git a/string/en/conversation/sample.stf b/string/en/conversation/sample.stf
new file mode 100644
index 00000000..c0896262
Binary files /dev/null and b/string/en/conversation/sample.stf differ
diff --git a/string/en/craft_droid_ingredients_n.stf b/string/en/craft_droid_ingredients_n.stf
new file mode 100644
index 00000000..504729b7
Binary files /dev/null and b/string/en/craft_droid_ingredients_n.stf differ
diff --git a/string/en/craft_structure_ingredients_n.stf b/string/en/craft_structure_ingredients_n.stf
new file mode 100644
index 00000000..e76d2e58
Binary files /dev/null and b/string/en/craft_structure_ingredients_n.stf differ
diff --git a/string/en/craft_weapon_ingredients_d.stf b/string/en/craft_weapon_ingredients_d.stf
new file mode 100644
index 00000000..b610bbbf
Binary files /dev/null and b/string/en/craft_weapon_ingredients_d.stf differ
diff --git a/string/en/craft_weapon_ingredients_n.stf b/string/en/craft_weapon_ingredients_n.stf
new file mode 100644
index 00000000..39cf5d65
Binary files /dev/null and b/string/en/craft_weapon_ingredients_n.stf differ
diff --git a/string/en/deed.stf b/string/en/deed.stf
new file mode 100644
index 00000000..6f3a8fc2
Binary files /dev/null and b/string/en/deed.stf differ
diff --git a/string/en/deed_detail.stf b/string/en/deed_detail.stf
new file mode 100644
index 00000000..ad510c15
Binary files /dev/null and b/string/en/deed_detail.stf differ
diff --git a/string/en/engine.stf b/string/en/engine.stf
new file mode 100644
index 00000000..204f2bba
Binary files /dev/null and b/string/en/engine.stf differ
diff --git a/string/en/fish_elusive_n.stf b/string/en/fish_elusive_n.stf
new file mode 100644
index 00000000..a7e0db83
Binary files /dev/null and b/string/en/fish_elusive_n.stf differ
diff --git a/string/en/fish_record_n.stf b/string/en/fish_record_n.stf
new file mode 100644
index 00000000..a1fd0976
Binary files /dev/null and b/string/en/fish_record_n.stf differ
diff --git a/string/en/frn_d.stf b/string/en/frn_d.stf
new file mode 100644
index 00000000..d5c68c74
Binary files /dev/null and b/string/en/frn_d.stf differ
diff --git a/string/en/frn_n.stf b/string/en/frn_n.stf
new file mode 100644
index 00000000..9352f1db
Binary files /dev/null and b/string/en/frn_n.stf differ
diff --git a/string/en/item_d.stf b/string/en/item_d.stf
new file mode 100644
index 00000000..3a919236
Binary files /dev/null and b/string/en/item_d.stf differ
diff --git a/string/en/item_n.stf b/string/en/item_n.stf
new file mode 100644
index 00000000..2e200253
Binary files /dev/null and b/string/en/item_n.stf differ
diff --git a/string/en/jedi_spam.stf b/string/en/jedi_spam.stf
new file mode 100644
index 00000000..9b3eeece
Binary files /dev/null and b/string/en/jedi_spam.stf differ
diff --git a/string/en/live_motd.stf b/string/en/live_motd.stf
new file mode 100644
index 00000000..be813d9c
Binary files /dev/null and b/string/en/live_motd.stf differ
diff --git a/string/en/loot_n.stf b/string/en/loot_n.stf
new file mode 100644
index 00000000..8afe79e9
Binary files /dev/null and b/string/en/loot_n.stf differ
diff --git a/string/en/mob/creature_names.stf b/string/en/mob/creature_names.stf
new file mode 100644
index 00000000..2a94df2f
Binary files /dev/null and b/string/en/mob/creature_names.stf differ
diff --git a/string/en/monster_detail.stf b/string/en/monster_detail.stf
new file mode 100644
index 00000000..9dd91bb1
Binary files /dev/null and b/string/en/monster_detail.stf differ
diff --git a/string/en/monster_name.stf b/string/en/monster_name.stf
new file mode 100644
index 00000000..eb225ea5
Binary files /dev/null and b/string/en/monster_name.stf differ
diff --git a/string/en/mood_types.stf b/string/en/mood_types.stf
new file mode 100644
index 00000000..a2416464
Binary files /dev/null and b/string/en/mood_types.stf differ
diff --git a/string/en/obj_attr_n.stf b/string/en/obj_attr_n.stf
new file mode 100644
index 00000000..f391b29e
Binary files /dev/null and b/string/en/obj_attr_n.stf differ
diff --git a/string/en/object_usability.stf b/string/en/object_usability.stf
new file mode 100644
index 00000000..6b3d1f7c
Binary files /dev/null and b/string/en/object_usability.stf differ
diff --git a/string/en/personality_holocron.stf b/string/en/personality_holocron.stf
new file mode 100644
index 00000000..bb31e2c7
Binary files /dev/null and b/string/en/personality_holocron.stf differ
diff --git a/string/en/pet_deed.stf b/string/en/pet_deed.stf
new file mode 100644
index 00000000..ade40f27
Binary files /dev/null and b/string/en/pet_deed.stf differ
diff --git a/string/en/player/player_utility.stf b/string/en/player/player_utility.stf
new file mode 100644
index 00000000..a3bde498
Binary files /dev/null and b/string/en/player/player_utility.stf differ
diff --git a/string/en/player_structure.stf b/string/en/player_structure.stf
new file mode 100644
index 00000000..6e26ec5f
Binary files /dev/null and b/string/en/player_structure.stf differ
diff --git a/string/en/skl_d.stf b/string/en/skl_d.stf
new file mode 100644
index 00000000..d1e07d28
Binary files /dev/null and b/string/en/skl_d.stf differ
diff --git a/string/en/skl_n.stf b/string/en/skl_n.stf
new file mode 100644
index 00000000..f33a3e9d
Binary files /dev/null and b/string/en/skl_n.stf differ
diff --git a/string/en/skl_t.stf b/string/en/skl_t.stf
new file mode 100644
index 00000000..62c0c41f
Binary files /dev/null and b/string/en/skl_t.stf differ
diff --git a/string/en/socials.stf b/string/en/socials.stf
new file mode 100644
index 00000000..f2474ac3
Binary files /dev/null and b/string/en/socials.stf differ
diff --git a/string/en/space/taunts/ace_imp_generic2.stf b/string/en/space/taunts/ace_imp_generic2.stf
new file mode 100644
index 00000000..2017a376
Binary files /dev/null and b/string/en/space/taunts/ace_imp_generic2.stf differ
diff --git a/string/en/space/taunts/ace_imp_vader.stf b/string/en/space/taunts/ace_imp_vader.stf
new file mode 100644
index 00000000..d50cead1
Binary files /dev/null and b/string/en/space/taunts/ace_imp_vader.stf differ
diff --git a/string/en/space/taunts/ace_neutral_boba.stf b/string/en/space/taunts/ace_neutral_boba.stf
new file mode 100644
index 00000000..a38288f1
Binary files /dev/null and b/string/en/space/taunts/ace_neutral_boba.stf differ
diff --git a/string/en/space/taunts/ace_neutral_generic.stf b/string/en/space/taunts/ace_neutral_generic.stf
new file mode 100644
index 00000000..20bc9b41
Binary files /dev/null and b/string/en/space/taunts/ace_neutral_generic.stf differ
diff --git a/string/en/space/taunts/ace_neutral_generic2.stf b/string/en/space/taunts/ace_neutral_generic2.stf
new file mode 100644
index 00000000..05e90b99
Binary files /dev/null and b/string/en/space/taunts/ace_neutral_generic2.stf differ
diff --git a/string/en/space/taunts/ace_neutral_lando.stf b/string/en/space/taunts/ace_neutral_lando.stf
new file mode 100644
index 00000000..86dbaac1
Binary files /dev/null and b/string/en/space/taunts/ace_neutral_lando.stf differ
diff --git a/string/en/space/taunts/ace_reb_generic.stf b/string/en/space/taunts/ace_reb_generic.stf
new file mode 100644
index 00000000..8cc6e712
Binary files /dev/null and b/string/en/space/taunts/ace_reb_generic.stf differ
diff --git a/string/en/space/taunts/ace_reb_generic2.stf b/string/en/space/taunts/ace_reb_generic2.stf
new file mode 100644
index 00000000..c3b1c1cd
Binary files /dev/null and b/string/en/space/taunts/ace_reb_generic2.stf differ
diff --git a/string/en/space/taunts/generic.stf b/string/en/space/taunts/generic.stf
new file mode 100644
index 00000000..2abd7ca6
Binary files /dev/null and b/string/en/space/taunts/generic.stf differ
diff --git a/string/en/space_crafting_d.stf b/string/en/space_crafting_d.stf
new file mode 100644
index 00000000..18e982e0
Binary files /dev/null and b/string/en/space_crafting_d.stf differ
diff --git a/string/en/space_crafting_n.stf b/string/en/space_crafting_n.stf
new file mode 100644
index 00000000..06f863b6
Binary files /dev/null and b/string/en/space_crafting_n.stf differ
diff --git a/string/en/space_item_d.stf b/string/en/space_item_d.stf
new file mode 100644
index 00000000..07960e14
Binary files /dev/null and b/string/en/space_item_d.stf differ
diff --git a/string/en/space_item_n.stf b/string/en/space_item_n.stf
new file mode 100644
index 00000000..82da3ed9
Binary files /dev/null and b/string/en/space_item_n.stf differ
diff --git a/string/en/space_ship.stf b/string/en/space_ship.stf
new file mode 100644
index 00000000..e6653796
Binary files /dev/null and b/string/en/space_ship.stf differ
diff --git a/string/en/spam.stf b/string/en/spam.stf
new file mode 100644
index 00000000..11990585
Binary files /dev/null and b/string/en/spam.stf differ
diff --git a/string/en/static_item_d.stf b/string/en/static_item_d.stf
new file mode 100644
index 00000000..fb0e7116
Binary files /dev/null and b/string/en/static_item_d.stf differ
diff --git a/string/en/static_item_n.stf b/string/en/static_item_n.stf
new file mode 100644
index 00000000..576ef062
Binary files /dev/null and b/string/en/static_item_n.stf differ
diff --git a/string/en/sui.stf b/string/en/sui.stf
new file mode 100644
index 00000000..34cf2f55
Binary files /dev/null and b/string/en/sui.stf differ
diff --git a/string/en/target_dummy.stf b/string/en/target_dummy.stf
new file mode 100644
index 00000000..fbfe9ac9
Binary files /dev/null and b/string/en/target_dummy.stf differ
diff --git a/string/en/tcg.stf b/string/en/tcg.stf
new file mode 100644
index 00000000..4e8b3a18
Binary files /dev/null and b/string/en/tcg.stf differ
diff --git a/string/en/terminal_detail.stf b/string/en/terminal_detail.stf
new file mode 100644
index 00000000..26ef7c34
Binary files /dev/null and b/string/en/terminal_detail.stf differ
diff --git a/string/en/terminal_lookat.stf b/string/en/terminal_lookat.stf
new file mode 100644
index 00000000..ac622fea
Binary files /dev/null and b/string/en/terminal_lookat.stf differ
diff --git a/string/en/terminal_name.stf b/string/en/terminal_name.stf
new file mode 100644
index 00000000..abbe53db
Binary files /dev/null and b/string/en/terminal_name.stf differ
diff --git a/string/en/theme_park_detail.stf b/string/en/theme_park_detail.stf
new file mode 100644
index 00000000..13eabe8b
Binary files /dev/null and b/string/en/theme_park_detail.stf differ
diff --git a/string/en/theme_park_lookat.stf b/string/en/theme_park_lookat.stf
new file mode 100644
index 00000000..9279f0cf
Binary files /dev/null and b/string/en/theme_park_lookat.stf differ
diff --git a/string/en/theme_park_name.stf b/string/en/theme_park_name.stf
new file mode 100644
index 00000000..fdba18e4
Binary files /dev/null and b/string/en/theme_park_name.stf differ
diff --git a/string/en/ui.stf b/string/en/ui.stf
new file mode 100644
index 00000000..a37f8b70
Binary files /dev/null and b/string/en/ui.stf differ
diff --git a/string/en/ui_buff.stf b/string/en/ui_buff.stf
new file mode 100644
index 00000000..9f39ba88
Binary files /dev/null and b/string/en/ui_buff.stf differ
diff --git a/string/en/ui_charsheet.stf b/string/en/ui_charsheet.stf
new file mode 100644
index 00000000..20c731f0
Binary files /dev/null and b/string/en/ui_charsheet.stf differ
diff --git a/string/en/ui_chatroom.stf b/string/en/ui_chatroom.stf
new file mode 100644
index 00000000..301e2687
Binary files /dev/null and b/string/en/ui_chatroom.stf differ
diff --git a/string/en/ui_pm.stf b/string/en/ui_pm.stf
new file mode 100644
index 00000000..85852eac
Binary files /dev/null and b/string/en/ui_pm.stf differ
diff --git a/string/en/ui_who.stf b/string/en/ui_who.stf
new file mode 100644
index 00000000..771266e9
Binary files /dev/null and b/string/en/ui_who.stf differ
diff --git a/string/en/weapon_detail.stf b/string/en/weapon_detail.stf
new file mode 100644
index 00000000..38feb321
Binary files /dev/null and b/string/en/weapon_detail.stf differ
diff --git a/string/en/weapon_name.stf b/string/en/weapon_name.stf
new file mode 100644
index 00000000..ac665d6a
Binary files /dev/null and b/string/en/weapon_name.stf differ
diff --git a/texture/frn_all_painting_posters_aoc.dds b/texture/frn_all_painting_posters_aoc.dds
new file mode 100644
index 00000000..fece1e9c
Binary files /dev/null and b/texture/frn_all_painting_posters_aoc.dds differ
diff --git a/texture/frn_all_painting_posters_cwm.dds b/texture/frn_all_painting_posters_cwm.dds
new file mode 100644
index 00000000..c174c5f0
Binary files /dev/null and b/texture/frn_all_painting_posters_cwm.dds differ
diff --git a/texture/frn_all_painting_posters_cws.dds b/texture/frn_all_painting_posters_cws.dds
new file mode 100644
index 00000000..2edad83a
Binary files /dev/null and b/texture/frn_all_painting_posters_cws.dds differ
diff --git a/texture/frn_all_painting_posters_djj.dds b/texture/frn_all_painting_posters_djj.dds
new file mode 100644
index 00000000..36341d3c
Binary files /dev/null and b/texture/frn_all_painting_posters_djj.dds differ
diff --git a/texture/frn_all_painting_posters_ew1.dds b/texture/frn_all_painting_posters_ew1.dds
new file mode 100644
index 00000000..ca324916
Binary files /dev/null and b/texture/frn_all_painting_posters_ew1.dds differ
diff --git a/texture/frn_all_painting_posters_ew2.dds b/texture/frn_all_painting_posters_ew2.dds
new file mode 100644
index 00000000..f79fc5b4
Binary files /dev/null and b/texture/frn_all_painting_posters_ew2.dds differ
diff --git a/texture/frn_all_painting_posters_rebels.dds b/texture/frn_all_painting_posters_rebels.dds
new file mode 100644
index 00000000..2cc0a4e8
Binary files /dev/null and b/texture/frn_all_painting_posters_rebels.dds differ
diff --git a/texture/frn_all_painting_posters_ro.dds b/texture/frn_all_painting_posters_ro.dds
new file mode 100644
index 00000000..0784553a
Binary files /dev/null and b/texture/frn_all_painting_posters_ro.dds differ
diff --git a/texture/frn_all_painting_posters_ros.dds b/texture/frn_all_painting_posters_ros.dds
new file mode 100644
index 00000000..4b487334
Binary files /dev/null and b/texture/frn_all_painting_posters_ros.dds differ
diff --git a/texture/frn_all_painting_posters_tfa.dds b/texture/frn_all_painting_posters_tfa.dds
new file mode 100644
index 00000000..8989e337
Binary files /dev/null and b/texture/frn_all_painting_posters_tfa.dds differ
diff --git a/texture/frn_all_painting_posters_tlj.dds b/texture/frn_all_painting_posters_tlj.dds
new file mode 100644
index 00000000..e206cf58
Binary files /dev/null and b/texture/frn_all_painting_posters_tlj.dds differ
diff --git a/texture/frn_all_painting_posters_tpm.dds b/texture/frn_all_painting_posters_tpm.dds
new file mode 100644
index 00000000..76f5142c
Binary files /dev/null and b/texture/frn_all_painting_posters_tpm.dds differ
diff --git a/texture/ui_background_arrow.dds b/texture/ui_background_arrow.dds
new file mode 100644
index 00000000..978095c7
Binary files /dev/null and b/texture/ui_background_arrow.dds differ
diff --git a/ui/ui_backdrop_default.inc b/ui/ui_backdrop_default.inc
new file mode 100644
index 00000000..dee2efba
--- /dev/null
+++ b/ui/ui_backdrop_default.inc
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_ground_hud_space_radar.inc b/ui/ui_ground_hud_space_radar.inc
new file mode 100644
index 00000000..e6f1b204
--- /dev/null
+++ b/ui/ui_ground_hud_space_radar.inc
@@ -0,0 +1,557 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @radar_range
+
+
+
+
+
+
+ xxx,xxx\"
+
+
+ xxx,xxx\"
+
+
+ xxx,xxx\"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_hud_space.inc b/ui/ui_hud_space.inc
new file mode 100644
index 00000000..0c0c58c5
--- /dev/null
+++ b/ui/ui_hud_space.inc
@@ -0,0 +1,6412 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @show_notifications
+
+
+ @continue
+
+ Move your character using the \\#pcontrast1 W,A,S,D\\#. keys, and holding down the right mouse button.
+
+
+
+
+
+
+
+
+
+
+
+ @button_bar_big_menu
+
+
+
+
+
+
+
+ @button_bar_ship_details
+
+
+
+ @button_bar_gcw
+
+
+
+ @button_bar_zone_map
+
+
+
+ @button_bar_roadmap
+ @button_bar_quest_journal
+
+
+ @button_bar_quest_journal
+ @button_bar_quest_journal
+
+
+ @button_bar_expertise
+
+
+
+ @button_bar_appearance
+
+
+
+ @button_bar_inventory
+
+
+
+ @button_bar_datapad
+
+
+
+ @button_bar_character
+
+
+
+ @button_bar_questbuilder
+
+
+
+ @button_bar_skills
+
+
+
+ @button_bar_mail
+
+
+
+ @button_bar_options
+
+
+
+ @button_bar_community
+
+
+
+ @button_bar_commands
+
+
+
+ @button_bar_my_collections
+
+
+
+ @button_bar_tcg
+
+
+
+ @button_bar_home_port
+
+
+
+ @button_bar_service
+
+
+
+ @button_bar_menu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 10000/10000
+
+
+
+
+ m4:
+ xxx
+
+
+ m3:
+ xxx
+
+
+ m2:
+ xxx
+
+
+ m1:
+ xxx
+
+
+ cm1:
+ xxx
+
+
+ cm2:
+ xxx
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @ui_spacehud:incoming_missile
+
+
+
+
+
+
+
+ @ui_spacehud:eject
+ @ui_spacehud:activate_trainer
+ @ui_spacehud:exit_station
+
+
+
+
+
+
+ xxx component name
+
+
+
+ xxx%
+ xxx status info
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xxx target name with long text
+ xxx ship type with long text
+ xxx ship difficulty with long text
+
+
+ xxx component name 100%
+
+
+ @ui_spacehud:shield
+ xxx %
+
+
+ @ui_spacehud:armor
+ xxx %
+
+
+ @ui_spacehud:system
+ xxx %
+
+
+ @ui_spacehud:chassis
+ xxx %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ui_hud_space_ship_reticle.inc
+ ui_hud_space_radar.inc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ui_hud_space_incap.inc
+
+
+ System Messages Go here from the server. \\#ff0000 Hit!! \\#ffffff
+
+ System Messages Go here from the server. \\#ff0000 Hit!! \\#ffffff
+ System Messages Go here from the server. \\#ff0000 Hit!! \\#ffffff
+ System Messages Go here from the server. \\#ff0000 Hit!! \\#ffffff
+ System Messages Go here from the server. \\#ff0000 Hit!! \\#ffffff
+ System Messages Go here from the server. \\#ff0000 Hit!! \\#ffffff
+
+
+
+
+
+ System Messages Go here from the server. \\#ff0000 Hit!! \\#ffffff
+
+ System Messages Go here from the server. \\#ff0000 Hit!! \\#ffffff
+ System Messages Go here from the server. \\#ff0000 Hit!! \\#ffffff
+ System Messages Go here from the server. \\#ff0000 Hit!! \\#ffffff
+ System Messages Go here from the server. \\#ff0000 Hit!! \\#ffffff
+ System Messages Go here from the server. \\#ff0000 Hit!! \\#ffffff
+
+
+
+
+ ui_hud_space_chat_window.inc
+ ui_hud_space_toolbar.inc
+ ui_hud_space_toolbar.inc
+ ui_hud_space_combat_queue.inc
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ui_hud_space_quest_helper.inc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xxxm
+
+
+ 8000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 100
+
+
+
+
+
+
+ (AFK)
+ Master Jedi
+ Target Name
+ 696m
+ Rebel Peon
+ \
+ setjmp((void*)(rand() * rand()));
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xxx 77%
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xxx name
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xxx name
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xxx name
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xxx name
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_hud_space_buttonbar.inc b/ui/ui_hud_space_buttonbar.inc
new file mode 100644
index 00000000..d8625b0f
--- /dev/null
+++ b/ui/ui_hud_space_buttonbar.inc
@@ -0,0 +1,319 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_hud_space_chat_window.inc b/ui/ui_hud_space_chat_window.inc
new file mode 100644
index 00000000..eacb0871
--- /dev/null
+++ b/ui/ui_hud_space_chat_window.inc
@@ -0,0 +1,12981 @@
+
+
+
+
+
+
+
+
+
+
+ CHANNEL
+ sdfsdfsdfsdfs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.John is a freak
+
+
+
+
+2onasdf
+
+
+
+
+3l;kjasdf;lkds
+
+
+
+
+4onasdf
+
+
+
+
+5l;kjasdf;lkds
+
+
+
+
+6onasdf
+
+
+
+
+7l;kjasdf;lkds
+
+
+
+
+8onasdf
+
+
+
+
+9l;kjasdf;lkds
+
+
+
+
+0onasdf
+
+
+
+
+1l;kjasdf;lkds
+
+
+
+
+2onasdf
+
+
+
+
+3l;kjasdf;lkds
+
+
+
+
+4onasdf
+
+
+
+
+5l;kjasdf;lkds
+
+
+
+
+6l;kjasdf;lkds
+
+
+
+
+1.John is a freak
+
+
+
+
+2onasdf
+
+
+
+
+3l;kjasdf;lkds
+
+
+
+
+4onasdf
+
+
+
+
+5l;kjasdf;lkds
+
+
+
+
+6onasdf
+
+
+
+
+7l;kjasdf;lkds
+
+
+
+
+8onasdf
+
+
+
+
+9l;kjasdf;lkds
+
+
+
+
+0onasdf
+
+
+
+
+1l;kjasdf;lkds
+
+
+
+
+2onasdf
+
+
+
+
+3l;kjasdf;lkds
+
+
+
+
+4onasdf
+
+
+
+
+5l;kjasdf;lkds
+
+
+
+
+6l;kjasdf;lkds
+
+
+
+
+1.John is a freak
+
+
+
+
+2onasdf
+
+
+
+
+3l;kjasdf;lkds
+
+
+
+
+4onasdf
+
+
+
+
+5l;kjasdf;lkds
+
+
+
+
+6onasdf
+
+
+
+
+7l;kjasdf;lkds
+
+
+
+
+8onasdf
+
+
+
+
+9l;kjasdf;lkds
+
+
+
+
+0onasdf
+
+
+
+
+1l;kjasdf;lkds
+
+
+
+
+2onasdf
+
+
+
+
+3l;kjasdf;lkds
+
+
+
+
+4onasdf
+
+
+
+
+5l;kjasdf;lkds
+
+
+
+
+6l;kjasdf;lkds
+
+
+
+
+1.John is a freak
+
+
+
+
+2onasdf
+
+
+
+
+3l;kjasdf;lkds
+
+
+
+
+4onasdf
+
+
+
+
+5l;kjasdf;lkds
+
+
+
+
+6onasdf
+
+
+
+
+7l;kjasdf;lkds
+
+
+
+
+8onasdf
+
+
+
+
+9l;kjasdf;lkds
+
+
+
+
+0onasdf
+
+
+
+
+1l;kjasdf;lkds
+
+
+
+
+2onasdf
+
+
+
+
+3l;kjasdf;lkds
+
+
+
+
+4onasdf
+
+
+
+
+5l;kjasdf;lkds
+
+
+
+
+6l;kjasdf;lkds
+
+
+
+
+1.John is a freak
+
+
+
+
+2onasdf
+
+
+
+
+3l;kjasdf;lkds
+
+
+
+
+4onasdf
+
+
+
+
+5l;kjasdf;lkds
+
+
+
+
+6onasdf
+
+
+
+
+7l;kjasdf;lkds
+
+
+
+
+8onasdf
+
+
+
+
+9l;kjasdf;lkds
+
+
+
+
+0onasdf
+
+
+
+
+1l;kjasdf;lkds
+
+
+
+
+2onasdf
+
+
+
+
+3l;kjasdf;lkds
+
+
+
+
+4onasdf
+
+
+
+
+5l;kjasdf;lkds
+
+
+
+
+6l;kjasdf;lkds
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_hud_space_combat_queue.inc b/ui/ui_hud_space_combat_queue.inc
new file mode 100644
index 00000000..f0d2ea91
--- /dev/null
+++ b/ui/ui_hud_space_combat_queue.inc
@@ -0,0 +1,268 @@
+
+
+ @combat_queue_clear
+ xxx Enemy Name
+ @combat_peace
+
+
+ xxx action name
+
+
+
+
+ xxx action name
+
+
+
+ xxx action name
+
+
+
+ xxx action name
+
+
+
+
+
+
diff --git a/ui/ui_hud_space_incap.inc b/ui/ui_hud_space_incap.inc
new file mode 100644
index 00000000..7fb2dd23
--- /dev/null
+++ b/ui/ui_hud_space_incap.inc
@@ -0,0 +1,74 @@
+
+
+ xxx incapacitation time: 666
+
+
+
+
+
diff --git a/ui/ui_hud_space_quest_helper.inc b/ui/ui_hud_space_quest_helper.inc
new file mode 100644
index 00000000..db875c35
--- /dev/null
+++ b/ui/ui_hud_space_quest_helper.inc
@@ -0,0 +1,335 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ The Task Title
+ Progress
+ 16384
+
+
+ The Quest Title
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_hud_space_radar.inc b/ui/ui_hud_space_radar.inc
new file mode 100644
index 00000000..e07e5327
--- /dev/null
+++ b/ui/ui_hud_space_radar.inc
@@ -0,0 +1,2877 @@
+
+
+
+ xxx radar range
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xxx,xxx\"
+
+
+ xxx,xxx\"
+
+
+ xxx,xxx\"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_hud_space_radar_spherical.inc b/ui/ui_hud_space_radar_spherical.inc
new file mode 100644
index 00000000..f17eebe2
--- /dev/null
+++ b/ui/ui_hud_space_radar_spherical.inc
@@ -0,0 +1,289 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_hud_space_ship_reticle.inc b/ui/ui_hud_space_ship_reticle.inc
new file mode 100644
index 00000000..8f24788d
--- /dev/null
+++ b/ui/ui_hud_space_ship_reticle.inc
@@ -0,0 +1,567 @@
+
+
+
+
+ 100
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_hud_space_toolbar.inc b/ui/ui_hud_space_toolbar.inc
new file mode 100644
index 00000000..3c0146b8
--- /dev/null
+++ b/ui/ui_hud_space_toolbar.inc
@@ -0,0 +1,2001 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ F2
+ F2
+ F2
+ F2
+ F2
+ F2
+ F2
+ F2
+ F2
+ F2
+ F2
+ F2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ F2
+ F2
+ F2
+ F2
+ F2
+ F2
+ F2
+ F2
+ F2
+ F2
+ F2
+ F2
+
+
diff --git a/ui/ui_largeloading.inc b/ui/ui_largeloading.inc
new file mode 100644
index 00000000..b741eebc
--- /dev/null
+++ b/ui/ui_largeloading.inc
@@ -0,0 +1,390 @@
+
+
+
+
+
+
+ @exit
+
+ xxx ScreenShot Name
+ Description of this attribute
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Back
+
+
+
diff --git a/ui/ui_loginscreen.inc b/ui/ui_loginscreen.inc
new file mode 100644
index 00000000..79f19084
--- /dev/null
+++ b/ui/ui_loginscreen.inc
@@ -0,0 +1,811 @@
+
+
+
+
+ @quit
+ @try_again
+
+ @msg_login_fail
+
+
+
+
+
+
+
+ @cpt_login_fail
+
+
+
+
+
+
+
+
+
+
+
+
+ @username
+
+ @password
+
+
+
+
+
+
+
+
+ @load_scene
+
+
+ @cpt_login
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @next
+
+
+
+
+
+
+
+
+
+
+
+ @back
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_pda_char_sheet.inc b/ui/ui_pda_char_sheet.inc
new file mode 100644
index 00000000..e9665360
--- /dev/null
+++ b/ui/ui_pda_char_sheet.inc
@@ -0,0 +1,3959 @@
+
+
+ @ui_charsheet:cybernetics
+
+
+
+
+
+
+
+
+
+
+
+
+ @ui_charsheet:char_sheet_gcw
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @ui_charsheet:gcw_rank
+ @ui_charsheet:gcw_progress
+ @ui_charsheet:gcw_points
+ @ui_charsheet:gcw_pvp_kills
+ @ui_charsheet:gcw_lifetime
+ @ui_charsheet:gcw_pvp_lifetime
+ @ui_charsheet:gcw_high_rank_reb
+ @ui_charsheet:gcw_high_rank_imp
+
+
+
+
+
+
+
+ @ui_charsheet:gcw_percent_sign
+ @ui_charsheet:gcw_rank1
+ @ui_charsheet:gcw_timer
+ @ui_charsheet:gcw_timer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pvp_status
+
+
+
+
+
+
+ @cs_reportbug
+ @cs_help
+
+
+
+
+
+ xxx character name here
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @ui_charsheet:attributes
+
+
+ Level 7
+
+ @ui_charsheet:attr_health
+ @ui_charsheet:attr_action
+ @ui_charsheet:attr_mind
+ @ui_charsheet:attr_strength
+ @ui_charsheet:attr_constitution
+ @ui_charsheet:attr_stamina
+ @ui_charsheet:attr_precision
+ @ui_charsheet:attr_agility
+ @ui_charsheet:attr_luck
+ @ui_charsheet:attr_kinetic
+ @ui_charsheet:attr_energy
+ @ui_charsheet:attr_heat
+ @ui_charsheet:attr_cold
+ @ui_charsheet:attr_acid
+ @ui_charsheet:attr_electricity
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DESCRIPTION OF THIS ATTRIBUTE
+
+
+
+
+ @cs_reportbug
+ @cs_help
+
+
+
+
+
+ xxx title
+ xxx guild
+ xxx abbreviation
+
+ xxx bindLocation
+ @ui_charsheet:chronicle_update
+ xxx bindLocation
+ @ui_charsheet:chronicle_rating
+ xxx bindLocation
+ @ui_charsheet:bindlabel
+ xxx married
+ @ui_charsheet:marriedlabel
+ xxx lots
+ @ui_charsheet:lotslabel
+ xxx home
+ @ui_charsheet:homelabel
+ xxx played
+ @ui_charsheet:playedlabel
+ xxx species
+ @ui_charsheet:specieslabel
+ xxx borndate
+ @ui_charsheet:bornlabel
+
+
+
+
+
+ @ui:show_collections
+
+
+
+ @ui_charsheet:badgeslabel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xxx pvp_status here
+
+
+ 0
+ 0
+ @ui_charsheet:criminalfaction
+ @ui_charsheet:imperialfaction
+ @ui_charsheet:rebelfaction
+ @ui_charsheet:factionstanding
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @ui_charsheet:factions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @char_sheet_skills
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xxx character name
+ xxx rank
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_pda_data_storage.inc b/ui/ui_pda_data_storage.inc
new file mode 100644
index 00000000..d11aba33
--- /dev/null
+++ b/ui/ui_pda_data_storage.inc
@@ -0,0 +1,2006 @@
+
+
+
+
+
+
+ @datapad_new_waypoint
+
+ xxx data_obj_name
+
+ @object_usability:no_trade
+ @object_usability:tier_unknown
+ @object_usability:unique
+
+
+
+
+
+
+
+
+
+
+ xxx attrib 1: info here
+xxx attrib 2: info here
+xxx attrib 3: info here
+xxx attrib 4: info here
+xxx attrib 5: info here
+xxx attrib 6: info here
+xxx attrib 7: info here
+xxx attrib 8: info here
+
+ xxx Description goes into this field with all the other text ok you can stop now.
+
+
+
+
+
+
+
+
+
+
+ xxx unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @datapad_wp_current_planet_only
+ @datapad_wp_single_mode
+ @datapad_wp_show_indicators
+ @datapad_guild_waypoint
+ @datapad_city_waypoint
+
+ @datapad_capacity
+ xxx%
+
+
+
+
+
+ @datapad_change_view
+
+
+
+
+ @datapad_capacity
+ xxx%
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @datapad_change_view
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @datapad_change_view
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @datapad_change_view
+
+
+
+
+
+
+
+
+
+
+
+
+ @datapad_title
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_pda_examine.inc b/ui/ui_pda_examine.inc
new file mode 100644
index 00000000..4f66c044
--- /dev/null
+++ b/ui/ui_pda_examine.inc
@@ -0,0 +1,736 @@
+
+
+
+
+
+
+
+
+
+
+
+ @object_usability:tier_unknown
+ @object_usability:unique
+ @object_usability:no_trade
+
+
+ xxx attrib 1: info here
+xxx attrib 2: info here
+xxx attrib 3: info here
+xxx attrib 4: info here
+xxx attrib 5: info here
+xxx attrib 6: info here
+xxx attrib 7: info here
+xxx attrib 8: info here
+
+
+ @ui:show_collections
+
+ xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+xxx Description goes into this field with all the other text ok you can stop now.
+
+
+
+
+
+
+
+
+
+
+
+
+ @ui_appearance:check_hide_appearance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xxx item name
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_pda_imespace.inc b/ui/ui_pda_imespace.inc
new file mode 100644
index 00000000..b8b2fe1a
--- /dev/null
+++ b/ui/ui_pda_imespace.inc
@@ -0,0 +1,41 @@
+
+
+
+
diff --git a/ui/ui_pda_inventory.inc b/ui/ui_pda_inventory.inc
new file mode 100644
index 00000000..576f9a11
--- /dev/null
+++ b/ui/ui_pda_inventory.inc
@@ -0,0 +1,2867 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Manufactured
+ @object_usability:unique
+ @object_usability:no_trade
+
+
+ xxx attrib 1: info here
+xxx attrib 2: info here
+xxx attrib 3: info here
+xxx attrib 4: info here
+xxx attrib 5: info here
+xxx attrib 6: info here
+xxx attrib 7: info here
+xxx attrib 8: info here
+
+ xxx Description goes into this field with all the other text ok you can stop now.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cash:
+ xxx value
+
+
+ Bank:
+ xxx value
+
+
+ Change View
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ X
+ X
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @container_capacity
+ xxx%
+
+
+
+
+
+
+
+
+
+ @inventory_loot_all
+ Use
+
+
+
+
+
+
+
+
+ xxx character name here
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xxx container name here
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_root.ui b/ui/ui_root.ui
new file mode 100644
index 00000000..f929dd98
--- /dev/null
+++ b/ui/ui_root.ui
@@ -0,0 +1,194 @@
+
+ ui_voice.inc
+ ui_avatar_profession_template_select.inc
+ ui_avatar_simple.inc
+ ui_textstylemanager.inc
+
+ x
+
+
+
+
+ ui_debuginfo.inc
+ ui_console.inc
+ ui_credits.inc
+ ui_planet_map.inc
+ ui_matchmaking.inc
+ ui_ticketpurchase.inc
+ ui_auction.inc
+ ui_e3_prefabs.inc
+ ui_craft.inc
+ ui_skill.inc
+ ui_resource.inc
+ ui_mission.inc
+ ui_confirm.inc
+ ui_game_menu.inc
+ ui_options.inc
+ ui_menu_locations.inc
+ ui_controls_menu.inc
+ ui_loading2.inc
+ ui_load_mustafar.inc
+ ui_load_hoth.inc
+ ui_spaceloading.inc
+ ui_largeloading.inc
+ ui_structure_placement.inc
+ ui_pda.inc
+ ui_space.inc
+ ui_hud_space.inc
+ ui_ground_hud.inc
+ ui_transition.inc
+ ui_loginscreen.inc
+ ui_cluster_selection.inc
+ ui_scene_selection.inc
+ ui_avatar_setup_prof.inc
+ ui_avatar_summary.inc
+ ui_avatar_location2.inc
+ ui_avatar_selection.inc
+ ui_avatar_creation.inc
+ ui_avatar_customize.inc
+ ui_splash_screen.inc
+ ui_conversation.inc
+ ui_scripted.inc
+ ui_messagebox.inc
+ ui_backdrop_default.inc
+ ui_start.inc
+ ui_grid_style.inc
+ ui_effectors.inc
+
+ ui_avatardata.inc
+
+
+
+
+
+
+
+
+ ui_styles.inc
+
diff --git a/ui/ui_space.inc b/ui/ui_space.inc
new file mode 100644
index 00000000..ad810690
--- /dev/null
+++ b/ui/ui_space.inc
@@ -0,0 +1,1804 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The conversation text goes here.
+
+asdf
+sadf
+asdf
+sadf
+asf
+sadf
+asdf
+sadf
+asdf
+asdf
+sdf
+asdf
+asdf
+asdf
+asdf
+asdf
+asdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ui_space_mining_sale.inc
+
+ @ui_group_launch:invite_rule_multi
+
+ @cancel
+ @ok
+
+ xxx name
+
+
+
+
+ @ui_group_launch:invite
+ @ui_group_launch:kick
+ @ui_group_launch:reinvite
+ @ui_group_launch:waiting
+
+
+
+
+ xxx name
+
+
+
+ @ui_group_launch:invite
+ @ui_group_launch:kick
+ @ui_group_launch:reinvite
+ @ui_group_launch:waiting
+
+
+ xxx name
+
+
+
+ @ui_group_launch:invite
+ @ui_group_launch:kick
+ @ui_group_launch:reinvite
+ @ui_group_launch:waiting
+
+
+ xxx name
+
+
+
+ @ui_group_launch:invite
+ @ui_group_launch:kick
+ @ui_group_launch:reinvite
+ @ui_group_launch:waiting
+
+
+ xxx name
+
+
+
+ @ui_group_launch:invite
+ @ui_group_launch:kick
+ @ui_group_launch:reinvite
+ @ui_group_launch:waiting
+
+
+
+
+
+
+
+
+
+
+
+
+ Launch Group
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ui_space_shipcomponent.inc
+ ui_space_shipchoose.inc
+ ui_space_shipview.inc
+ ui_space_status.inc
+ ui_space_zonemap.inc
+ ui_space_formation.inc
+ ui_space_hyperspacemap.inc
+ ui_space_componentdetail.inc
+ ui_space_convo.inc
+ ui_space_weaponggroupassignment.inc
+
diff --git a/ui/ui_space_componentdetail.inc b/ui/ui_space_componentdetail.inc
new file mode 100644
index 00000000..5713f93b
--- /dev/null
+++ b/ui/ui_space_componentdetail.inc
@@ -0,0 +1,1328 @@
+
+
+
+
+
+
+
+
+ xxx text
+
+
+
+
+
+
+
+ xxx slot name
+
+
+
+
+
+
+ xxx slot name
+
+
+
+
+
+ xxx slot name
+
+
+
+
+
+ xxx slot name
+
+
+
+
+
+ xxx slot name
+
+
+
+
+
+ xxx slot name
+
+
+
+
+
+ xxx slot name
+
+
+
+
+
+ xxx slot name
+
+
+
+
+
+
+
+
+
+
+ Marco Polo
+ CAPT
+
+
+
+
+ dmg
+
+ xxx component
+
+ xxx description
+
+
+
+
+
+ infoLine3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @ui_shipdetails:cpt_shipdetails
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_space_convo.inc b/ui/ui_space_convo.inc
new file mode 100644
index 00000000..32a954a6
--- /dev/null
+++ b/ui/ui_space_convo.inc
@@ -0,0 +1,634 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The conversation text goes here.
+
+asdf
+sadf
+asdf
+sadf
+asf
+sadf
+asdf
+sadf
+asdf
+asdf
+sdf
+asdf
+asdf
+asdf
+asdf
+asdf
+asdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_space_formation.inc b/ui/ui_space_formation.inc
new file mode 100644
index 00000000..71433b1b
--- /dev/null
+++ b/ui/ui_space_formation.inc
@@ -0,0 +1,1065 @@
+
+
+
+
+
+
+
+
+
+ @ui_formation:cpt_formation
+
+
+
+
+ xxx slot name
+ xxx slot name
+ xxx slot name
+ xxx slot name
+ xxx slot name
+ xxx slot name
+ xxx slot name
+ xxx slot name
+ xxx slot name
+ xxx slot name
+ xxx slot name
+ xxx slot name
+ xxx slot name
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xxx player name
+
+
+
+
+
+
+ xxx player name
+
+
+ xxx player name
+
+
+ xxx player name
+
+
+ xxx player name
+
+
+ xxx player name
+
+
+ xxx player name
+
+
+ xxx player name
+
+
+
+
+
+ Done
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_space_hyperspacemap.inc b/ui/ui_space_hyperspacemap.inc
new file mode 100644
index 00000000..d3163fd2
--- /dev/null
+++ b/ui/ui_space_hyperspacemap.inc
@@ -0,0 +1,1804 @@
+
+
+
+
+
+ @cancel
+ @ui_hyperspace:hyperspace
+
+
+ @ui_travel:label_city
+ xxx city
+
+
+ @ui_travel:label_planet
+ xxx planet
+
+
+
+ @ui_hyperspace:loading
+
+
+
+
+
+
+
+
+
+
+
+
+ xxx received: tatooine
+
+
+
+
+
+
+ @planet_n:ordmantell
+ @planet_n:mustafar
+ @planet_n:corellia_and_talus
+ @planet_n:dantooine
+ @planet_n:dathomir
+ @planet_n:endor
+ @planet_n:lok
+ @planet_n:naboo_and_rori
+ @planet_n:rori
+ @planet_n:talus
+ @planet_n:tatooine
+ @planet_n:yavin4
+ @planet_n:kashyyyk
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @ui_hyperspace:travel_to
+ @ui_hyperspace:selected_point
+ xxx selected hyperspace point
+ xxx tatooine system (-1000, -5000, -8000)
+ xxx This is a really long text string so we can test that the really long text string will scroll and otherwise work correctly when designers go and write a book for each hyperspace location.
+
+
+
+
+
+
+ @ui_hyperspace:cpt_hyperspace
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_space_mining_sale.inc b/ui/ui_space_mining_sale.inc
new file mode 100644
index 00000000..e1a9747e
--- /dev/null
+++ b/ui/ui_space_mining_sale.inc
@@ -0,0 +1,801 @@
+
+
+
+
+ Space Mining Sales - Tatooine Mining Station
+
+
+
+ @ui_weapongroupassignment:reset_defaults
+ @ui_weapongroupassignment:reset_defaults
+
+
+ This station wants to purchase:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sell units of Space Iron
+ 500 credits
+ 500 units
+
+
+ Sell
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This station will not purchase:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_space_shipchoose.inc b/ui/ui_space_shipchoose.inc
new file mode 100644
index 00000000..e45c023b
--- /dev/null
+++ b/ui/ui_space_shipchoose.inc
@@ -0,0 +1,1243 @@
+
+
+
+
+
+ @ui_shipcomponent:view
+
+
+
+
+
+ XXX
+
+
+
+
+
+ XXX
+
+
+ @ui_shipchoose:condition
+ XXX
+
+
+ @ui_shipchoose:parkinglocation
+ XXX
+
+
+ @ui_shipchoose:select
+ @ui_shipcomponent:launch
+
+
+
+
+ @close
+
+
+
+
+
+
+ @ui_shipcomponent:view
+
+
+
+
+
+ XXX
+
+
+
+
+
+ XXX
+
+
+ @ui_shipchoose:condition
+ XXX
+
+
+ @ui_shipchoose:parkinglocation
+ XXX
+
+
+ @ui_shipchoose:select
+ @ui_shipcomponent:launch
+
+
+
+
+
+
+ @ui_shipcomponent:view
+
+
+
+
+
+ XXX
+
+
+
+
+
+ XXX
+
+
+ @ui_shipchoose:condition
+ XXX
+
+
+ @ui_shipchoose:parkinglocation
+ XXX
+
+
+ @ui_shipchoose:select
+ @ui_shipcomponent:launch
+
+
+
+
+
+
+
+
+
+
+ @ui_shipchoose:cpt
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_space_shipcomponent.inc b/ui/ui_space_shipcomponent.inc
new file mode 100644
index 00000000..c064e991
--- /dev/null
+++ b/ui/ui_space_shipcomponent.inc
@@ -0,0 +1,1334 @@
+
+
+
+ @done
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @ui_shipcomponents:selectedcomponent
+
+ xxx component
+
+ xxx attrib 1: info here
+xxx attrib 2: info here
+xxx attrib 3: info here
+xxx attrib 4: info here
+xxx attrib 5: info here
+xxx attrib 6: info here
+xxx attrib 7: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+
+
+
+
+
+
+
+
+ @ui_shipcomponents:load
+
+
+
+
+
+ @ui_shipcomponents:installedcomponent
+
+ xxx component name
+
+ xxx attrib 1: info here
+xxx attrib 2: info here
+xxx attrib 3: info here
+xxx attrib 4: info here
+xxx attrib 5: info here
+xxx attrib 6: info here
+xxx attrib 7: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+
+
+
+
+
+
+
+
+ @ui_shipcomponents:unload
+ @ui_shipcomponents:repair
+
+
+
+
+
+ @ui_shipcomponents:not_near_terminal
+
+
+ @ui_shipcomponents:repair_chassis
+ @ui_shipcomponents:notcertifiedforship
+
+ @ui_shipcomponents:mass
+ @ui_shipcomponents:energy
+ @ui_shipcomponents:power
+ @ui_shipcomponents:chassis
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @ui_shipcomponents:cpt_shipcomponent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_space_shipview.inc b/ui/ui_space_shipview.inc
new file mode 100644
index 00000000..dd4a6988
--- /dev/null
+++ b/ui/ui_space_shipview.inc
@@ -0,0 +1,618 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ XXX
+
+
+
+ xxx attrib 1: info here
+xxx attrib 2: info here
+xxx attrib 3: info here
+xxx attrib 4: info here
+xxx attrib 5: info here
+xxx attrib 6: info here
+xxx attrib 7: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+
+
+
+ 100%
+100%
+100%
+100%
+100%
+100%
+100%
+100%
+100%
+100%
+100%
+100%
+100%
+100%
+100%
+100%
+
+
+
+
+
+
+
+
+
+
+
+ @ui_shipview:manage
+ @ui_shipview:group
+ @ui_shipview:launch
+ @ui_shipview:travel
+
+
+
+
+
+
+
+
+ @ui_shipview:cpt
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_space_status.inc b/ui/ui_space_status.inc
new file mode 100644
index 00000000..ac87720b
--- /dev/null
+++ b/ui/ui_space_status.inc
@@ -0,0 +1,584 @@
+
+
+
+ xxx target name
+ @ui_spacehud:type
+
+
+ @ui_spacehud:component
+ xxx %
+
+
+
+
+ @ui_spacehud:component
+ xxx %
+
+
+ @ui_spacehud:component
+ xxx %
+
+
+ @ui_spacehud:component
+ xxx %
+
+
+ @ui_spacehud:component
+ xxx %
+
+
+ @ui_spacehud:component
+ xxx %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_space_weaponggroupassignment.inc b/ui/ui_space_weaponggroupassignment.inc
new file mode 100644
index 00000000..79b63215
--- /dev/null
+++ b/ui/ui_space_weaponggroupassignment.inc
@@ -0,0 +1,931 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @ui_weapongroupassignment:caption
+
+
+ @ui_weapongroupassignment:weapon_groups_available
+
+
+
+
+
+
+
+
+
+
+ @ui_weapongroupassignment:reset_defaults
+
+
+
+
+
+ @ui_weapongroupassignment:all_weapons
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xxx attrib 1: info here
+xxx attrib 2: info here
+xxx attrib 3: info here
+xxx attrib 4: info here
+xxx attrib 5: info here
+xxx attrib 6: info here
+xxx attrib 7: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @ui_weapongroupassignment:selected_group
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xxx attrib 1: info here
+xxx attrib 2: info here
+xxx attrib 3: info here
+xxx attrib 4: info here
+xxx attrib 5: info here
+xxx attrib 6: info here
+xxx attrib 7: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+xxx attrib 8: info here
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_space_zonemap.inc b/ui/ui_space_zonemap.inc
new file mode 100644
index 00000000..d7b4143d
--- /dev/null
+++ b/ui/ui_space_zonemap.inc
@@ -0,0 +1,906 @@
+
+
+
+
+
+
+
+
+ xxx planet name here
+
+ @ui_zone_map:controls
+
+
+
+
+
+
+
+
+
+ @ui_zone_map:refresh
+
+
+
+
+
+
+
+
+ @ui_zone_map:show_asteroids
+ @ui_zone_map:show_nebulas
+ @ui_zone_map:show_hyperspace_points
+ @ui_zone_map:show_space_stations
+
+
+ @ui_zone_map:show_waypoints
+ @ui_zone_map:show_mission_critical
+ @ui_zone_map:show_player_location
+ @ui_zone_map:show_names
+
+
+
+
+
+
+
+
+
+
+ @ui_zone_map:exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_spaceloading.inc b/ui/ui_spaceloading.inc
new file mode 100644
index 00000000..8a7fc036
--- /dev/null
+++ b/ui/ui_spaceloading.inc
@@ -0,0 +1,423 @@
+
+
+
+
+
+
+ @exit
+
+ xxx ScreenShot Name
+ Description of this attribute
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Back
+
+
+
diff --git a/ui/ui_styles.inc b/ui/ui_styles.inc
new file mode 100644
index 00000000..bf259fa7
--- /dev/null
+++ b/ui/ui_styles.inc
@@ -0,0 +1,72255 @@
+
+ ui_styles_collection.inc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/ui_styles_collection.inc b/ui/ui_styles_collection.inc
new file mode 100644
index 00000000..415a4a14
--- /dev/null
+++ b/ui/ui_styles_collection.inc
@@ -0,0 +1,22056 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+