// first version by unknown
// additional edit by jcfgonc @ 2016-07-03
//TODO at least one fdops should be in axis
global InitializeRoutes = function() {
	MapRoutes =
	{
		ATTACK_Intersection = {
			ROUTE_allied_garage_spawn_high = {
				ROUTE_612 = {
					ROUTE_13 = {
						ROUTE_251 = {
							ROUTE_594 = {
							},
							ROUTE_1310 = {
								ROUTE_1036 = {
								},
							},
							ROUTE_604 = {
								ROUTE_1036 = {
								},
								ROUTE_162 = {
									ROUTE_83 = {
									},
									ROUTE_425 = {
									},
									ROUTE_787 = {
									},
									ROUTE_409 = {
										ROUTE_408 = {
										},
									},
								},
							},
						},
						ROUTE_1084 = {
							ROUTE_1310 = {
								ROUTE_1036 = {
								},
							},
							ROUTE_604 = {
								ROUTE_1036 = {
								},
								ROUTE_162 = {
									ROUTE_83 = {
									},
									ROUTE_425 = {
									},
									ROUTE_787 = {
									},
									ROUTE_409 = {
										ROUTE_408 = {
										},
									},
								},
							},
						},
					},
					ROUTE_231 = {
						ROUTE_1760 = {
							ROUTE_604 = {
								ROUTE_1036 = {
								},
								ROUTE_162 = {
									ROUTE_83 = {
									},
									ROUTE_425 = {
									},
									ROUTE_787 = {
									},
									ROUTE_409 = {
										ROUTE_408 = {
										},
									},
								},
							},
						},
						ROUTE_101 = {
							ROUTE_1310 = {
								ROUTE_1036 = {
								},
							},
							ROUTE_604 = {
								ROUTE_1036 = {
								},
								ROUTE_162 = {
									ROUTE_83 = {
									},
									ROUTE_425 = {
									},
									ROUTE_787 = {
									},
									ROUTE_409 = {
										ROUTE_408 = {
										},
									},
								},
							},
						},
					},
				},
				ROUTE_628_high = {
					ROUTE_251 = {
						ROUTE_594 = {
						},
						ROUTE_1310 = {
							ROUTE_1036 = {
							},
						},
						ROUTE_604 = {
							ROUTE_1036 = {
							},
							ROUTE_162 = {
								ROUTE_83 = {
								},
								ROUTE_425 = {
								},
								ROUTE_787 = {
								},
								ROUTE_409 = {
									ROUTE_408 = {
									},
								},
							},
						},
					},
					ROUTE_1084 = {
						ROUTE_1310 = {
							ROUTE_1036 = {
							},
						},
						ROUTE_604 = {
							ROUTE_1036 = {
							},
							ROUTE_162 = {
								ROUTE_83 = {
								},
								ROUTE_425 = {
								},
								ROUTE_787 = {
								},
								ROUTE_409 = {
									ROUTE_408 = {
									},
								},
							},
						},
					},
					ROUTE_256 = {
						ROUTE_16 = {
							ROUTE_18 = {
								ROUTE_594 = {
								},
								ROUTE_1310 = {
									ROUTE_1036 = {
									},
								},
								ROUTE_1036 = {
								},
								ROUTE_43 = {
									ROUTE_552_high = {
									},
									ROUTE_1125 = {
										ROUTE_1317 = {
										},
										ROUTE_42 = {
											ROUTE_523 = {
												ROUTE_846 = {
												},
												ROUTE_44 = {
													ROUTE_1048 = {
													},
												},
												ROUTE_859 = {
													ROUTE_46 = {
														ROUTE_47 = {
														},
														ROUTE_761 = {
														},
													},
												},
											},
										},
									},
								},
							},
							ROUTE_17 = {
								ROUTE_251 = {
									ROUTE_594 = {
									},
									ROUTE_1310 = {
										ROUTE_1036 = {
										},
									},
									ROUTE_604 = {
										ROUTE_1036 = {
										},
										ROUTE_162 = {
											ROUTE_83 = {
											},
											ROUTE_425 = {
											},
											ROUTE_787 = {
											},
											ROUTE_409 = {
												ROUTE_408 = {
												},
											},
										},
									},
								},
							},
						},
					},
					ROUTE_101 = {
						ROUTE_1310 = {
							ROUTE_1036 = {
							},
						},
						ROUTE_604 = {
							ROUTE_1036 = {
							},
							ROUTE_162 = {
								ROUTE_83 = {
								},
								ROUTE_425 = {
								},
								ROUTE_787 = {
								},
								ROUTE_409 = {
									ROUTE_408 = {
									},
								},
							},
						},
					},
				},
				ROUTE_423_high = {
					ROUTE_18 = {
						ROUTE_594 = {
						},
						ROUTE_1310 = {
							ROUTE_1036 = {
							},
						},
						ROUTE_1036 = {
						},
						ROUTE_43 = {
							ROUTE_552_high = {
							},
							ROUTE_1125 = {
								ROUTE_1317 = {
								},
								ROUTE_42 = {
									ROUTE_523 = {
										ROUTE_846 = {
										},
										ROUTE_44 = {
											ROUTE_1048 = {
											},
										},
										ROUTE_859 = {
											ROUTE_46 = {
												ROUTE_47 = {
												},
												ROUTE_761 = {
												},
											},
										},
									},
								},
							},
						},
					},
				},
			},
			ROUTE_allied_shack_spawn = {
				ROUTE_441 = {
					ROUTE_437 = {
						ROUTE_251 = {
							ROUTE_594 = {
							},
							ROUTE_1310 = {
								ROUTE_1036 = {
								},
							},
							ROUTE_604 = {
								ROUTE_1036 = {
								},
								ROUTE_162 = {
									ROUTE_83 = {
									},
									ROUTE_425 = {
									},
									ROUTE_787 = {
									},
									ROUTE_409 = {
										ROUTE_408 = {
										},
									},
								},
							},
						},
					},
				},
				ROUTE_114 = {
					ROUTE_135 = {
						ROUTE_1760 = {
							ROUTE_604 = {
								ROUTE_1036 = {
								},
								ROUTE_162 = {
									ROUTE_83 = {
									},
									ROUTE_425 = {
									},
									ROUTE_787 = {
									},
									ROUTE_409 = {
										ROUTE_408 = {
										},
									},
								},
							},
						},
					},
					ROUTE_140_high = {
						ROUTE_835_high = {
						},
						ROUTE_552_high = {
						},
						ROUTE_182_high = {
							ROUTE_1141 = {
								ROUTE_1134 = {
								},
								ROUTE_1131 = {
								},
								ROUTE_737 = {
									ROUTE_1127 = {
									},
								},
							},
							ROUTE_1142 = {
							},
						},
					},
					ROUTE_404 = {
						ROUTE_101 = {
							ROUTE_1310 = {
								ROUTE_1036 = {
								},
							},
							ROUTE_604 = {
								ROUTE_1036 = {
								},
								ROUTE_162 = {
									ROUTE_83 = {
									},
									ROUTE_425 = {
									},
									ROUTE_787 = {
									},
									ROUTE_409 = {
										ROUTE_408 = {
										},
									},
								},
							},
						},
					},
					ROUTE_1765 = {
						ROUTE_1107 = {
							ROUTE_1084 = {
								ROUTE_1310 = {
									ROUTE_1036 = {
									},
								},
								ROUTE_604 = {
									ROUTE_1036 = {
									},
									ROUTE_162 = {
										ROUTE_83 = {
										},
										ROUTE_425 = {
										},
										ROUTE_787 = {
										},
										ROUTE_409 = {
											ROUTE_408 = {
											},
										},
									},
								},
							},
						},
					},
				},
			},
		},
		ATTACK_tb1 = {
			ROUTE_allied_garage_spawn_high = {
				ROUTE_612 = {
					ROUTE_13 = {
						ROUTE_18 = {
							ROUTE_594 = {
							},
							ROUTE_43 = {
								ROUTE_552_high = {
								},
								ROUTE_1125 = {
									ROUTE_1317 = {
									},
									ROUTE_42 = {
										ROUTE_523 = {
											ROUTE_984 = {
											},
											ROUTE_846 = {
											},
										},
									},
								},
							},
						},
						ROUTE_17 = {
						},
						ROUTE_251 = {
						},
						ROUTE_243 = {
						},
						ROUTE_1084 = {
						},
						ROUTE_1760 = {
						},
						ROUTE_253 = {
						},
						ROUTE_256 = {
							ROUTE_18 = {
								ROUTE_594 = {
								},
								ROUTE_43 = {
									ROUTE_552_high = {
									},
									ROUTE_1125 = {
										ROUTE_1317 = {
										},
										ROUTE_42 = {
											ROUTE_523 = {
												ROUTE_984 = {
												},
												ROUTE_846 = {
												},
											},
										},
									},
								},
							},
						},
						ROUTE_245 = {
						},
						ROUTE_1056 = {
						},
						ROUTE_244 = {
						},
						ROUTE_101 = {
						},
						ROUTE_1004 = {
						},
						ROUTE_1059 = {
						},
					},
					ROUTE_231 = {
						ROUTE_251 = {
						},
						ROUTE_243 = {
						},
						ROUTE_1084 = {
						},
						ROUTE_1760 = {
						},
						ROUTE_253 = {
						},
						ROUTE_256 = {
							ROUTE_18 = {
								ROUTE_594 = {
								},
								ROUTE_43 = {
									ROUTE_552_high = {
									},
									ROUTE_1125 = {
										ROUTE_1317 = {
										},
										ROUTE_42 = {
											ROUTE_523 = {
												ROUTE_984 = {
												},
												ROUTE_846 = {
												},
											},
										},
									},
								},
							},
						},
						ROUTE_18 = {
							ROUTE_594 = {
							},
							ROUTE_43 = {
								ROUTE_552_high = {
								},
								ROUTE_1125 = {
									ROUTE_1317 = {
									},
									ROUTE_42 = {
										ROUTE_523 = {
											ROUTE_984 = {
											},
											ROUTE_846 = {
											},
										},
									},
								},
							},
						},
						ROUTE_245 = {
						},
						ROUTE_244 = {
						},
						ROUTE_101 = {
						},
						ROUTE_1004 = {
						},
						ROUTE_1059 = {
						},
					},
				},
				ROUTE_628_high = {
					ROUTE_16 = {
					},
					ROUTE_18 = {
						ROUTE_594 = {
						},
						ROUTE_43 = {
							ROUTE_552_high = {
							},
							ROUTE_1125 = {
								ROUTE_1317 = {
								},
								ROUTE_42 = {
									ROUTE_523 = {
										ROUTE_984 = {
										},
										ROUTE_846 = {
										},
									},
								},
							},
						},
					},
					ROUTE_256 = {
						ROUTE_18 = {
							ROUTE_594 = {
							},
							ROUTE_43 = {
								ROUTE_552_high = {
								},
								ROUTE_1125 = {
									ROUTE_1317 = {
									},
									ROUTE_42 = {
										ROUTE_523 = {
											ROUTE_984 = {
											},
											ROUTE_846 = {
											},
										},
									},
								},
							},
						},
					},
					ROUTE_17 = {
					},
				},
				ROUTE_423_high = {
					ROUTE_18 = {
						ROUTE_594 = {
						},
						ROUTE_43 = {
							ROUTE_552_high = {
							},
							ROUTE_1125 = {
								ROUTE_1317 = {
								},
								ROUTE_42 = {
									ROUTE_523 = {
										ROUTE_984 = {
										},
										ROUTE_846 = {
										},
									},
								},
							},
						},
					},
				},
			},
			ROUTE_allied_shack_spawn = {
				ROUTE_120 = {
					ROUTE_256 = {
						ROUTE_18 = {
							ROUTE_594 = {
							},
							ROUTE_43 = {
								ROUTE_552_high = {
								},
								ROUTE_1125 = {
									ROUTE_1317 = {
									},
									ROUTE_42 = {
										ROUTE_523 = {
											ROUTE_984 = {
											},
											ROUTE_846 = {
											},
										},
									},
								},
							},
						},
					},
				},
				ROUTE_243 = {
				},
				ROUTE_441 = {
					ROUTE_243 = {
					},
					ROUTE_1077 = {
						ROUTE_243 = {
						},
						ROUTE_256 = {
							ROUTE_18 = {
								ROUTE_594 = {
								},
								ROUTE_43 = {
									ROUTE_552_high = {
									},
									ROUTE_1125 = {
										ROUTE_1317 = {
										},
										ROUTE_42 = {
											ROUTE_523 = {
												ROUTE_984 = {
												},
												ROUTE_846 = {
												},
											},
										},
									},
								},
							},
						},
					},
					ROUTE_437 = {
						ROUTE_251 = {
						},
						ROUTE_1760 = {
						},
						ROUTE_1084 = {
						},
						ROUTE_18 = {
							ROUTE_594 = {
							},
							ROUTE_43 = {
								ROUTE_552_high = {
								},
								ROUTE_1125 = {
									ROUTE_1317 = {
									},
									ROUTE_42 = {
										ROUTE_523 = {
											ROUTE_984 = {
											},
											ROUTE_846 = {
											},
										},
									},
								},
							},
						},
						ROUTE_101 = {
						},
						ROUTE_17 = {
						},
					},
				},
				ROUTE_114 = {
					ROUTE_140_high = {
						ROUTE_155_high = {
							ROUTE_43 = {
								ROUTE_552_high = {
								},
								ROUTE_1125 = {
									ROUTE_1317 = {
									},
									ROUTE_42 = {
										ROUTE_523 = {
											ROUTE_984 = {
											},
											ROUTE_846 = {
											},
										},
									},
								},
							},
						},
						ROUTE_182_high = {
							ROUTE_1142 = {
							},
						},
						ROUTE_389_high = {
							ROUTE_452 = {
							},
						},
					},
					ROUTE_404 = {
						ROUTE_1760 = {
						},
						ROUTE_135 = {
						},
					},
					ROUTE_1765 = {
						ROUTE_251 = {
						},
						ROUTE_1760 = {
						},
						ROUTE_18 = {
							ROUTE_594 = {
							},
							ROUTE_43 = {
								ROUTE_552_high = {
								},
								ROUTE_1125 = {
									ROUTE_1317 = {
									},
									ROUTE_42 = {
										ROUTE_523 = {
											ROUTE_984 = {
											},
											ROUTE_846 = {
											},
										},
									},
								},
							},
						},
						ROUTE_1107 = {
							ROUTE_251 = {
							},
							ROUTE_1760 = {
							},
							ROUTE_18 = {
								ROUTE_594 = {
								},
								ROUTE_43 = {
									ROUTE_552_high = {
									},
									ROUTE_1125 = {
										ROUTE_1317 = {
										},
										ROUTE_42 = {
											ROUTE_523 = {
												ROUTE_984 = {
												},
												ROUTE_846 = {
												},
											},
										},
									},
								},
							},
						},
					},
				},
				ROUTE_437 = {
					ROUTE_251 = {
					},
					ROUTE_1760 = {
					},
					ROUTE_1084 = {
					},
					ROUTE_18 = {
						ROUTE_594 = {
						},
						ROUTE_43 = {
							ROUTE_552_high = {
							},
							ROUTE_1125 = {
								ROUTE_1317 = {
								},
								ROUTE_42 = {
									ROUTE_523 = {
										ROUTE_984 = {
										},
										ROUTE_846 = {
										},
									},
								},
							},
						},
					},
					ROUTE_101 = {
					},
					ROUTE_17 = {
					},
				},
			},
			ROUTE_604 = {
				ROUTE_162 = {
					ROUTE_1023 = {
						ROUTE_83 = {
							ROUTE_780 = {
							},
							ROUTE_772 = {
							},
							ROUTE_1634 = {
							},
						},
						ROUTE_425 = {
							ROUTE_84 = {
							},
							ROUTE_1036 = {
							},
						},
					},
					ROUTE_788 = {
						ROUTE_787 = {
							ROUTE_282 = {
							},
						},
						ROUTE_409 = {
							ROUTE_408 = {
							},
						},
					},
				},
			},
		},
		DEFEND_crypt_to_tb2 = {
			ROUTE_axis_church_spawn = {
				ROUTE_890 = {
				},
				ROUTE_464 = {
					ROUTE_1131 = {
						ROUTE_1134 = {
						},
						ROUTE_1138 = {
						},
					},
					ROUTE_1127 = {
						ROUTE_1134 = {
						},
					},
				},
				ROUTE_1138 = {
				},
				ROUTE_1724 = {
				},
				ROUTE_1179_high = {
				},
				ROUTE_84 = {
				},
				ROUTE_737 = {
				},
				ROUTE_67 = {
				},
				ROUTE_739 = {
				},
			},
			ROUTE_axis_bank_spawn = {
				ROUTE_335 = {
					ROUTE_1127 = {
						ROUTE_1134 = {
						},
					},
					ROUTE_67 = {
					},
				},
				ROUTE_1044 = {
				},
				ROUTE_559_high = {
					ROUTE_69 = {
						ROUTE_67 = {
						},
					},
					ROUTE_282 = {
						ROUTE_780 = {
							ROUTE_185 = {
								ROUTE_731 = {
								},
							},
						},
						ROUTE_83 = {
						},
					},
				},
				ROUTE_523 = {
					ROUTE_46 = {
					},
					ROUTE_1127 = {
						ROUTE_1134 = {
						},
					},
					ROUTE_42 = {
						ROUTE_1317 = {
							ROUTE_84 = {
							},
							ROUTE_1036 = {
								ROUTE_69 = {
									ROUTE_67 = {
									},
								},
							},
							ROUTE_408 = {
								ROUTE_780 = {
									ROUTE_185 = {
										ROUTE_731 = {
										},
									},
								},
							},
						},
					},
					ROUTE_67 = {
					},
				},
			},
		},
		DEFEND_axis_spawn_back = {
			ROUTE_axis_church_spawn = {
				ROUTE_464 = {
					ROUTE_1044 = {
					},
					ROUTE_1131 = {
					},
					ROUTE_1127 = {
					},
					ROUTE_72 = {
					},
					ROUTE_737 = {
						ROUTE_1131 = {
						},
					},
					ROUTE_739 = {
						ROUTE_1134 = {
							ROUTE_1131 = {
							},
							ROUTE_54 = {
								ROUTE_1560 = {
								},
								ROUTE_1559 = {
								},
								ROUTE_51 = {
								},
								ROUTE_1785 = {
									ROUTE_1560 = {
									},
								},
							},
						},
						ROUTE_1138 = {
							ROUTE_890 = {
								ROUTE_887 = {
									ROUTE_1724 = {
									},
									ROUTE_54 = {
										ROUTE_1560 = {
										},
										ROUTE_1559 = {
										},
										ROUTE_51 = {
										},
										ROUTE_1785 = {
											ROUTE_1560 = {
											},
										},
									},
								},
							},
							ROUTE_1134 = {
								ROUTE_1131 = {
								},
								ROUTE_54 = {
									ROUTE_1560 = {
									},
									ROUTE_1559 = {
									},
									ROUTE_51 = {
									},
									ROUTE_1785 = {
										ROUTE_1560 = {
										},
									},
								},
							},
						},
					},
				},
				ROUTE_1138 = {
					ROUTE_890 = {
						ROUTE_887 = {
							ROUTE_1724 = {
							},
							ROUTE_54 = {
								ROUTE_1560 = {
								},
								ROUTE_1559 = {
								},
								ROUTE_51 = {
								},
								ROUTE_1785 = {
									ROUTE_1560 = {
									},
								},
							},
						},
					},
					ROUTE_1134 = {
						ROUTE_1131 = {
						},
						ROUTE_54 = {
							ROUTE_1560 = {
							},
							ROUTE_1559 = {
							},
							ROUTE_51 = {
							},
							ROUTE_1785 = {
								ROUTE_1560 = {
								},
							},
						},
					},
				},
				ROUTE_737 = {
					ROUTE_1131 = {
					},
				},
				ROUTE_67 = {
					ROUTE_69 = {
						ROUTE_984 = {
						},
					},
					ROUTE_185 = {
						ROUTE_731 = {
							ROUTE_737 = {
								ROUTE_1131 = {
								},
							},
							ROUTE_739 = {
								ROUTE_1134 = {
									ROUTE_1131 = {
									},
									ROUTE_54 = {
										ROUTE_1560 = {
										},
										ROUTE_1559 = {
										},
										ROUTE_51 = {
										},
										ROUTE_1785 = {
											ROUTE_1560 = {
											},
										},
									},
								},
								ROUTE_1138 = {
									ROUTE_890 = {
										ROUTE_887 = {
											ROUTE_1724 = {
											},
											ROUTE_54 = {
												ROUTE_1560 = {
												},
												ROUTE_1559 = {
												},
												ROUTE_51 = {
												},
												ROUTE_1785 = {
													ROUTE_1560 = {
													},
												},
											},
										},
									},
									ROUTE_1134 = {
										ROUTE_1131 = {
										},
										ROUTE_54 = {
											ROUTE_1560 = {
											},
											ROUTE_1559 = {
											},
											ROUTE_51 = {
											},
											ROUTE_1785 = {
												ROUTE_1560 = {
												},
											},
										},
									},
								},
							},
						},
						ROUTE_1138 = {
							ROUTE_890 = {
								ROUTE_887 = {
									ROUTE_1724 = {
									},
									ROUTE_54 = {
										ROUTE_1560 = {
										},
										ROUTE_1559 = {
										},
										ROUTE_51 = {
										},
										ROUTE_1785 = {
											ROUTE_1560 = {
											},
										},
									},
								},
							},
							ROUTE_1134 = {
								ROUTE_1131 = {
								},
								ROUTE_54 = {
									ROUTE_1560 = {
									},
									ROUTE_1559 = {
									},
									ROUTE_51 = {
									},
									ROUTE_1785 = {
										ROUTE_1560 = {
										},
									},
								},
							},
						},
					},
					ROUTE_72 = {
					},
					ROUTE_737 = {
						ROUTE_1131 = {
						},
					},
				},
			},
			ROUTE_axis_bank_spawn = {
				ROUTE_335 = {
				},
				ROUTE_984 = {
				},
				ROUTE_559_high = {
				},
				ROUTE_523 = {
					ROUTE_42 = {
						ROUTE_1036 = {
						},
					},
					ROUTE_44 = {
						ROUTE_859 = {
							ROUTE_47 = {
								ROUTE_761 = {
								},
							},
							ROUTE_46 = {
								ROUTE_47 = {
									ROUTE_761 = {
									},
								},
							},
						},
					},
				},
				ROUTE_846 = {
					ROUTE_1048 = {
						ROUTE_1044 = {
						},
						ROUTE_72 = {
						},
						ROUTE_1127 = {
						},
					},
					ROUTE_859 = {
						ROUTE_47 = {
							ROUTE_761 = {
							},
						},
						ROUTE_46 = {
							ROUTE_47 = {
								ROUTE_761 = {
								},
							},
						},
					},
				},
			},
		},
		DEFEND_intersection = {
			ROUTE_axis_church_spawn = {
				ROUTE_69 = {
				},
				ROUTE_464 = {
					ROUTE_1131 = {
						ROUTE_1138 = {
							ROUTE_1024 = {
							},
						},
					},
					ROUTE_1127 = {
						ROUTE_731 = {
							ROUTE_185 = {
								ROUTE_84 = {
								},
							},
						},
					},
					ROUTE_72 = {
						ROUTE_984 = {
						},
						ROUTE_1048 = {
						},
					},
					ROUTE_737 = {
						ROUTE_1134 = {
							ROUTE_1138 = {
								ROUTE_1024 = {
								},
							},
						},
					},
				},
				ROUTE_1179_high = {
				},
				ROUTE_67 = {
				},
				ROUTE_739 = {
					ROUTE_1138 = {
						ROUTE_1024 = {
						},
					},
				},
			},
			ROUTE_axis_bank_spawn = {
				ROUTE_335 = {
				},
				ROUTE_984 = {
				},
				ROUTE_559_high = {
				},
				ROUTE_1127 = {
					ROUTE_731 = {
						ROUTE_185 = {
							ROUTE_84 = {
							},
						},
					},
				},
				ROUTE_523 = {
					ROUTE_42 = {
						ROUTE_1125 = {
							ROUTE_552_high = {
							},
							ROUTE_43 = {
								ROUTE_1310 = {
								},
							},
						},
					},
					ROUTE_44 = {
						ROUTE_46 = {
							ROUTE_47 = {
								ROUTE_761 = {
								},
								ROUTE_1044 = {
									ROUTE_1176_high = {
									},
								},
							},
							ROUTE_761 = {
							},
						},
					},
				},
				ROUTE_1036 = {
				},
				ROUTE_846 = {
				},
			},
		},
		DEFEND_end = {
			ROUTE_axis_church_spawn = {
				ROUTE_835_high = {
					ROUTE_155_high = {
					},
				},
				ROUTE_731 = {
					ROUTE_1142 = {
						ROUTE_182_high = {
						},
					},
				},
				ROUTE_1142 = {
					ROUTE_182_high = {
					},
				},
				ROUTE_1138 = {
					ROUTE_1142 = {
						ROUTE_182_high = {
						},
					},
				},
				ROUTE_1179_high = {
					ROUTE_155_high = {
					},
				},
			},
			ROUTE_axis_bank_spawn = {
				ROUTE_335 = {
					ROUTE_552_high = {
					},
				},
				ROUTE_984 = {
					ROUTE_552_high = {
					},
				},
				ROUTE_523 = {
					ROUTE_552_high = {
					},
				},
				ROUTE_846 = {
					ROUTE_552_high = {
					},
				},
			},
		},
		CHECKPOINT_bank_flag = {
			ROUTE_axis_church_spawn = {
				ROUTE_464 = {
					ROUTE_72 = {
					},
					ROUTE_1127 = {
						ROUTE_46 = {
							ROUTE_859 = {
							},
							ROUTE_44 = {
							},
						},
						ROUTE_1044 = {
						},
					},
					ROUTE_1048 = {
					},
				},
				ROUTE_737 = {
					ROUTE_1131 = {
						ROUTE_72 = {
						},
						ROUTE_1127 = {
							ROUTE_46 = {
								ROUTE_859 = {
								},
								ROUTE_44 = {
								},
							},
							ROUTE_1044 = {
							},
						},
					},
				},
				ROUTE_739 = {
					ROUTE_1134 = {
						ROUTE_1131 = {
							ROUTE_72 = {
							},
							ROUTE_1127 = {
								ROUTE_46 = {
									ROUTE_859 = {
									},
									ROUTE_44 = {
									},
								},
								ROUTE_1044 = {
								},
							},
						},
					},
				},
				ROUTE_67 = {
					ROUTE_69 = {
						ROUTE_984 = {
							ROUTE_1048 = {
							},
							ROUTE_846 = {
							},
						},
						ROUTE_846 = {
						},
						ROUTE_1317 = {
							ROUTE_42 = {
								ROUTE_523 = {
								},
							},
						},
					},
					ROUTE_185 = {
						ROUTE_1138 = {
							ROUTE_1134 = {
								ROUTE_1131 = {
									ROUTE_72 = {
									},
									ROUTE_1127 = {
										ROUTE_46 = {
											ROUTE_859 = {
											},
											ROUTE_44 = {
											},
										},
										ROUTE_1044 = {
										},
									},
								},
							},
						},
						ROUTE_737 = {
							ROUTE_1131 = {
								ROUTE_72 = {
								},
								ROUTE_1127 = {
									ROUTE_46 = {
										ROUTE_859 = {
										},
										ROUTE_44 = {
										},
									},
									ROUTE_1044 = {
									},
								},
							},
						},
						ROUTE_739 = {
							ROUTE_1134 = {
								ROUTE_1131 = {
									ROUTE_72 = {
									},
									ROUTE_1127 = {
										ROUTE_46 = {
											ROUTE_859 = {
											},
											ROUTE_44 = {
											},
										},
										ROUTE_1044 = {
										},
									},
								},
							},
						},
					},
				},
			},
			ROUTE_axis_bank_spawn = {
				ROUTE_335 = {
					ROUTE_846 = {
					},
				},
				ROUTE_523 = {
				},
				ROUTE_846 = {
				},
				ROUTE_1317 = {
					ROUTE_42 = {
						ROUTE_523 = {
						},
					},
				},
			},
		},
		MOBILEMG42_axis_towards_bridge_3 = {
			ROUTE_axis_church_spawn = {
				ROUTE_464 = {
					ROUTE_1044 = {
					},
					ROUTE_1127 = {
					},
					ROUTE_72 = {
					},
				},
				ROUTE_737 = {
					ROUTE_1131 = {
					},
				},
				ROUTE_67 = {
					ROUTE_69 = {
						ROUTE_984 = {
						},
						ROUTE_1048 = {
						},
					},
				},
				ROUTE_739 = {
					ROUTE_1134 = {
						ROUTE_761 = {
						},
						ROUTE_1559 = {
						},
						ROUTE_51 = {
						},
					},
				},
			},
			ROUTE_axis_bank_spawn = {
				ROUTE_46 = {
				},
				ROUTE_335 = {
					ROUTE_1048 = {
					},
				},
				ROUTE_523 = {
					ROUTE_846 = {
					},
					ROUTE_859 = {
						ROUTE_47 = {
						},
						ROUTE_46 = {
						},
					},
					ROUTE_44 = {
					},
				},
				ROUTE_1048 = {
				},
				ROUTE_846 = {
				},
				ROUTE_1317 = {
					ROUTE_42 = {
						ROUTE_523 = {
							ROUTE_846 = {
							},
							ROUTE_859 = {
								ROUTE_47 = {
								},
								ROUTE_46 = {
								},
							},
							ROUTE_44 = {
							},
						},
					},
				},
			},
		},
		BUILD_Tank_Barrier_2 = {
			ROUTE_axis_church_spawn = {
				ROUTE_185 = {
					ROUTE_1142 = {
					},
				},
				ROUTE_464 = {
					ROUTE_1131 = {
						ROUTE_1138 = {
							ROUTE_1142 = {
							},
						},
					},
				},
				ROUTE_1138 = {
					ROUTE_1142 = {
					},
				},
				ROUTE_67 = {
					ROUTE_1142 = {
					},
				},
			},
			ROUTE_axis_bank_spawn = {
				ROUTE_523 = {
					ROUTE_42 = {
						ROUTE_1317 = {
							ROUTE_1036 = {
								ROUTE_1142 = {
								},
								ROUTE_604 = {
									ROUTE_162 = {
										ROUTE_1142 = {
										},
									},
								},
							},
						},
					},
					ROUTE_846 = {
						ROUTE_1131 = {
							ROUTE_1138 = {
								ROUTE_1142 = {
								},
							},
						},
						ROUTE_67 = {
							ROUTE_1142 = {
							},
						},
					},
				},
				ROUTE_1036 = {
					ROUTE_1142 = {
					},
					ROUTE_604 = {
						ROUTE_162 = {
							ROUTE_1142 = {
							},
						},
					},
				},
				ROUTE_67 = {
					ROUTE_1142 = {
					},
				},
			},
		},
		BUILD_tunnel_door = {
			ROUTE_axis_church_spawn = {
				ROUTE_594 = {
				},
				ROUTE_731 = {
					ROUTE_1024 = {
						ROUTE_162 = {
							ROUTE_594 = {
							},
						},
					},
				},
				ROUTE_67 = {
					ROUTE_83 = {
						ROUTE_1023 = {
							ROUTE_162 = {
								ROUTE_594 = {
								},
							},
						},
						ROUTE_162 = {
							ROUTE_594 = {
							},
						},
					},
					ROUTE_408 = {
						ROUTE_594 = {
						},
					},
				},
			},
			ROUTE_axis_bank_spawn = {
				ROUTE_523 = {
					ROUTE_43 = {
					},
				},
				ROUTE_1317 = {
					ROUTE_594 = {
					},
				},
			},
		},
		BUILD_Tank_Barrier_1 = {
			ROUTE_axis_church_spawn = {
				ROUTE_464 = {
					ROUTE_1048 = {
						ROUTE_1036 = {
							ROUTE_604 = {
							},
						},
					},
					ROUTE_737 = {
						ROUTE_1138 = {
							ROUTE_1141 = {
								ROUTE_1142 = {
									ROUTE_1023 = {
										ROUTE_162 = {
										},
									},
								},
							},
						},
					},
					ROUTE_846 = {
						ROUTE_523 = {
							ROUTE_1125 = {
								ROUTE_43 = {
								},
							},
						},
					},
				},
				ROUTE_731 = {
					ROUTE_185 = {
						ROUTE_395 = {
							ROUTE_162 = {
							},
						},
						ROUTE_425 = {
							ROUTE_162 = {
							},
						},
					},
				},
				ROUTE_67 = {
					ROUTE_772 = {
						ROUTE_1125 = {
							ROUTE_43 = {
							},
						},
						ROUTE_604 = {
						},
					},
					ROUTE_83 = {
						ROUTE_1023 = {
							ROUTE_162 = {
							},
						},
						ROUTE_162 = {
						},
					},
					ROUTE_408 = {
					},
				},
			},
			ROUTE_axis_bank_spawn = {
				ROUTE_523 = {
					ROUTE_1125 = {
						ROUTE_43 = {
						},
					},
				},
				ROUTE_1036 = {
					ROUTE_604 = {
					},
				},
			},
		},
		BUILD_Embankment_Assault_Ramp = {
			ROUTE_allied_garage_spawn_high = {
				ROUTE_612 = {
					ROUTE_231 = {
						ROUTE_1074 = {
							ROUTE_1077 = {
								ROUTE_441 = {
									ROUTE_114 = {
										ROUTE_491 = {
										},
									},
									ROUTE_491 = {
									},
								},
							},
						},
						ROUTE_1077 = {
							ROUTE_441 = {
								ROUTE_114 = {
									ROUTE_491 = {
									},
								},
								ROUTE_491 = {
								},
							},
						},
					},
				},
				ROUTE_628_high = {
				},
				ROUTE_423_high = {
				},
			},
			ROUTE_allied_shack_spawn = {
				ROUTE_114 = {
					ROUTE_491 = {
					},
				},
			},
			ROUTE_84 = {},
		},
		MOBILEMG42_allies_nicespot_above_tank = {
			ROUTE_allied_garage_spawn_high = {
				ROUTE_612 = {
					ROUTE_13 = {
						ROUTE_256 = {
							ROUTE_16 = {
								ROUTE_251 = {
								},
							},
						},
						ROUTE_1059 = {
							ROUTE_253 = {
								ROUTE_1004 = {
									ROUTE_251 = {
									},
									ROUTE_101 = {
									},
								},
							},
							ROUTE_1056 = {
								ROUTE_251 = {
								},
								ROUTE_1760 = {
									ROUTE_101 = {
									},
								},
							},
						},
					},
					ROUTE_231 = {
						ROUTE_1074 = {
							ROUTE_1077 = {
								ROUTE_441 = {
									ROUTE_114 = {
										ROUTE_404 = {
											ROUTE_135 = {
												ROUTE_1826 = {
													ROUTE_1760 = {
														ROUTE_101 = {
														},
													},
												},
											},
										},
										ROUTE_1765 = {
											ROUTE_1107 = {
												ROUTE_1760 = {
													ROUTE_101 = {
													},
												},
											},
										},
									},
								},
								ROUTE_437 = {
									ROUTE_101 = {
									},
								},
							},
						},
						ROUTE_243 = {
							ROUTE_244 = {
								ROUTE_251 = {
								},
								ROUTE_245 = {
									ROUTE_1084 = {
									},
									ROUTE_101 = {
									},
								},
							},
							ROUTE_437 = {
								ROUTE_101 = {
								},
							},
						},
						ROUTE_1077 = {
							ROUTE_441 = {
								ROUTE_114 = {
									ROUTE_404 = {
										ROUTE_135 = {
											ROUTE_1826 = {
												ROUTE_1760 = {
													ROUTE_101 = {
													},
												},
											},
										},
									},
									ROUTE_1765 = {
										ROUTE_1107 = {
											ROUTE_1760 = {
												ROUTE_101 = {
												},
											},
										},
									},
								},
							},
							ROUTE_437 = {
								ROUTE_101 = {
								},
							},
						},
						ROUTE_1059 = {
							ROUTE_253 = {
								ROUTE_1004 = {
									ROUTE_251 = {
									},
									ROUTE_101 = {
									},
								},
							},
							ROUTE_1056 = {
								ROUTE_251 = {
								},
								ROUTE_1760 = {
									ROUTE_101 = {
									},
								},
							},
						},
					},
				},
				ROUTE_628_high = {
					ROUTE_256 = {
						ROUTE_16 = {
							ROUTE_251 = {
							},
						},
					},
					ROUTE_1059 = {
						ROUTE_253 = {
							ROUTE_1004 = {
								ROUTE_251 = {
								},
								ROUTE_101 = {
								},
							},
						},
						ROUTE_1056 = {
							ROUTE_251 = {
							},
							ROUTE_1760 = {
								ROUTE_101 = {
								},
							},
						},
					},
				},
				ROUTE_423_high = {
					ROUTE_16 = {
						ROUTE_251 = {
						},
					},
				},
			},
			ROUTE_allied_shack_spawn = {
				ROUTE_114 = {
					ROUTE_404 = {
						ROUTE_135 = {
							ROUTE_1826 = {
								ROUTE_1760 = {
									ROUTE_101 = {
									},
								},
							},
						},
					},
					ROUTE_1765 = {
						ROUTE_1107 = {
							ROUTE_1760 = {
								ROUTE_101 = {
								},
							},
						},
					},
				},
			},
			ROUTE_84 = {},
		},
		PLANT_Axis_Command_Post = {
			ROUTE_allied_garage_spawn_high = {
				ROUTE_612 = {
					ROUTE_13 = {
						ROUTE_256 = {
							ROUTE_16 = {
								ROUTE_18 = {
									ROUTE_43 = {
										ROUTE_1125 = {
											ROUTE_42 = {
												ROUTE_523 = {
													ROUTE_44 = {
														ROUTE_859 = {
															ROUTE_46 = {
																ROUTE_761 = {
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
						},
						ROUTE_1059 = {
							ROUTE_253 = {
								ROUTE_1004 = {
									ROUTE_17 = {
										ROUTE_18 = {
											ROUTE_43 = {
												ROUTE_1125 = {
													ROUTE_42 = {
														ROUTE_523 = {
															ROUTE_44 = {
																ROUTE_859 = {
																	ROUTE_46 = {
																		ROUTE_761 = {
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
									ROUTE_101 = {
										ROUTE_604 = {
											ROUTE_162 = {
												ROUTE_395 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_425 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_1023 = {
													ROUTE_425 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
							ROUTE_1056 = {
								ROUTE_1760 = {
									ROUTE_101 = {
										ROUTE_604 = {
											ROUTE_162 = {
												ROUTE_395 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_425 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_1023 = {
													ROUTE_425 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
						},
					},
					ROUTE_231 = {
						ROUTE_1074 = {
							ROUTE_1077 = {
								ROUTE_441 = {
									ROUTE_114 = {
										ROUTE_404 = {
											ROUTE_135 = {
												ROUTE_1826 = {
													ROUTE_1760 = {
														ROUTE_101 = {
															ROUTE_604 = {
																ROUTE_162 = {
																	ROUTE_395 = {
																		ROUTE_1141 = {
																			ROUTE_1138 = {
																				ROUTE_1134 = {
																					ROUTE_54 = {
																						ROUTE_51 = {
																							ROUTE_1559 = {
																								ROUTE_761 = {
																								},
																							},
																						},
																					},
																				},
																			},
																		},
																		ROUTE_425 = {
																			ROUTE_1141 = {
																				ROUTE_1138 = {
																					ROUTE_1134 = {
																						ROUTE_54 = {
																							ROUTE_51 = {
																								ROUTE_1559 = {
																									ROUTE_761 = {
																									},
																								},
																							},
																						},
																					},
																				},
																			},
																		},
																	},
																	ROUTE_1023 = {
																		ROUTE_425 = {
																			ROUTE_1141 = {
																				ROUTE_1138 = {
																					ROUTE_1134 = {
																						ROUTE_54 = {
																							ROUTE_51 = {
																								ROUTE_1559 = {
																									ROUTE_761 = {
																									},
																								},
																							},
																						},
																					},
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
											ROUTE_140_high = {
												ROUTE_182_high = {
													ROUTE_395 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
														ROUTE_425 = {
															ROUTE_1141 = {
																ROUTE_1138 = {
																	ROUTE_1134 = {
																		ROUTE_54 = {
																			ROUTE_51 = {
																				ROUTE_1559 = {
																					ROUTE_761 = {
																					},
																				},
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_586 = {
														ROUTE_893 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_389_high = {
													ROUTE_382 = {
														ROUTE_584 = {
															ROUTE_893 = {
																ROUTE_1138 = {
																	ROUTE_1134 = {
																		ROUTE_54 = {
																			ROUTE_51 = {
																				ROUTE_1559 = {
																					ROUTE_761 = {
																					},
																				},
																			},
																		},
																	},
																},
															},
														},
														ROUTE_921 = {
															ROUTE_1141 = {
																ROUTE_1138 = {
																	ROUTE_1134 = {
																		ROUTE_54 = {
																			ROUTE_51 = {
																				ROUTE_1559 = {
																					ROUTE_761 = {
																					},
																				},
																			},
																		},
																	},
																},
															},
															ROUTE_893 = {
																ROUTE_1138 = {
																	ROUTE_1134 = {
																		ROUTE_54 = {
																			ROUTE_51 = {
																				ROUTE_1559 = {
																					ROUTE_761 = {
																					},
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_454_high = {
													ROUTE_452 = {
														ROUTE_584 = {
															ROUTE_893 = {
																ROUTE_1138 = {
																	ROUTE_1134 = {
																		ROUTE_54 = {
																			ROUTE_51 = {
																				ROUTE_1559 = {
																					ROUTE_761 = {
																					},
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
										ROUTE_491 = {
											ROUTE_140_high = {
												ROUTE_182_high = {
													ROUTE_395 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
														ROUTE_425 = {
															ROUTE_1141 = {
																ROUTE_1138 = {
																	ROUTE_1134 = {
																		ROUTE_54 = {
																			ROUTE_51 = {
																				ROUTE_1559 = {
																					ROUTE_761 = {
																					},
																				},
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_586 = {
														ROUTE_893 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_389_high = {
													ROUTE_382 = {
														ROUTE_584 = {
															ROUTE_893 = {
																ROUTE_1138 = {
																	ROUTE_1134 = {
																		ROUTE_54 = {
																			ROUTE_51 = {
																				ROUTE_1559 = {
																					ROUTE_761 = {
																					},
																				},
																			},
																		},
																	},
																},
															},
														},
														ROUTE_921 = {
															ROUTE_1141 = {
																ROUTE_1138 = {
																	ROUTE_1134 = {
																		ROUTE_54 = {
																			ROUTE_51 = {
																				ROUTE_1559 = {
																					ROUTE_761 = {
																					},
																				},
																			},
																		},
																	},
																},
															},
															ROUTE_893 = {
																ROUTE_1138 = {
																	ROUTE_1134 = {
																		ROUTE_54 = {
																			ROUTE_51 = {
																				ROUTE_1559 = {
																					ROUTE_761 = {
																					},
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_454_high = {
													ROUTE_452 = {
														ROUTE_584 = {
															ROUTE_893 = {
																ROUTE_1138 = {
																	ROUTE_1134 = {
																		ROUTE_54 = {
																			ROUTE_51 = {
																				ROUTE_1559 = {
																					ROUTE_761 = {
																					},
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
										ROUTE_1765 = {
											ROUTE_1107 = {
												ROUTE_1760 = {
													ROUTE_101 = {
														ROUTE_604 = {
															ROUTE_162 = {
																ROUTE_395 = {
																	ROUTE_1141 = {
																		ROUTE_1138 = {
																			ROUTE_1134 = {
																				ROUTE_54 = {
																					ROUTE_51 = {
																						ROUTE_1559 = {
																							ROUTE_761 = {
																							},
																						},
																					},
																				},
																			},
																		},
																	},
																	ROUTE_425 = {
																		ROUTE_1141 = {
																			ROUTE_1138 = {
																				ROUTE_1134 = {
																					ROUTE_54 = {
																						ROUTE_51 = {
																							ROUTE_1559 = {
																								ROUTE_761 = {
																								},
																							},
																						},
																					},
																				},
																			},
																		},
																	},
																},
																ROUTE_1023 = {
																	ROUTE_425 = {
																		ROUTE_1141 = {
																			ROUTE_1138 = {
																				ROUTE_1134 = {
																					ROUTE_54 = {
																						ROUTE_51 = {
																							ROUTE_1559 = {
																								ROUTE_761 = {
																								},
																							},
																						},
																					},
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
									ROUTE_491 = {
										ROUTE_140_high = {
											ROUTE_182_high = {
												ROUTE_395 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_425 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_1141 = {
													ROUTE_1138 = {
														ROUTE_1134 = {
															ROUTE_54 = {
																ROUTE_51 = {
																	ROUTE_1559 = {
																		ROUTE_761 = {
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_586 = {
													ROUTE_893 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
											ROUTE_389_high = {
												ROUTE_382 = {
													ROUTE_584 = {
														ROUTE_893 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_921 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
														ROUTE_893 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
											ROUTE_454_high = {
												ROUTE_452 = {
													ROUTE_584 = {
														ROUTE_893 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
								},
								ROUTE_437 = {
									ROUTE_101 = {
										ROUTE_604 = {
											ROUTE_162 = {
												ROUTE_395 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_425 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_1023 = {
													ROUTE_425 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
						},
						ROUTE_243 = {
							ROUTE_244 = {
								ROUTE_245 = {
									ROUTE_101 = {
										ROUTE_604 = {
											ROUTE_162 = {
												ROUTE_395 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_425 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_1023 = {
													ROUTE_425 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
							ROUTE_437 = {
								ROUTE_101 = {
									ROUTE_604 = {
										ROUTE_162 = {
											ROUTE_395 = {
												ROUTE_1141 = {
													ROUTE_1138 = {
														ROUTE_1134 = {
															ROUTE_54 = {
																ROUTE_51 = {
																	ROUTE_1559 = {
																		ROUTE_761 = {
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_425 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
											ROUTE_1023 = {
												ROUTE_425 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
						},
						ROUTE_1077 = {
							ROUTE_441 = {
								ROUTE_114 = {
									ROUTE_404 = {
										ROUTE_135 = {
											ROUTE_1826 = {
												ROUTE_1760 = {
													ROUTE_101 = {
														ROUTE_604 = {
															ROUTE_162 = {
																ROUTE_395 = {
																	ROUTE_1141 = {
																		ROUTE_1138 = {
																			ROUTE_1134 = {
																				ROUTE_54 = {
																					ROUTE_51 = {
																						ROUTE_1559 = {
																							ROUTE_761 = {
																							},
																						},
																					},
																				},
																			},
																		},
																	},
																	ROUTE_425 = {
																		ROUTE_1141 = {
																			ROUTE_1138 = {
																				ROUTE_1134 = {
																					ROUTE_54 = {
																						ROUTE_51 = {
																							ROUTE_1559 = {
																								ROUTE_761 = {
																								},
																							},
																						},
																					},
																				},
																			},
																		},
																	},
																},
																ROUTE_1023 = {
																	ROUTE_425 = {
																		ROUTE_1141 = {
																			ROUTE_1138 = {
																				ROUTE_1134 = {
																					ROUTE_54 = {
																						ROUTE_51 = {
																							ROUTE_1559 = {
																								ROUTE_761 = {
																								},
																							},
																						},
																					},
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
										ROUTE_140_high = {
											ROUTE_182_high = {
												ROUTE_395 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_425 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_1141 = {
													ROUTE_1138 = {
														ROUTE_1134 = {
															ROUTE_54 = {
																ROUTE_51 = {
																	ROUTE_1559 = {
																		ROUTE_761 = {
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_586 = {
													ROUTE_893 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
											ROUTE_389_high = {
												ROUTE_382 = {
													ROUTE_584 = {
														ROUTE_893 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_921 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
														ROUTE_893 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
											ROUTE_454_high = {
												ROUTE_452 = {
													ROUTE_584 = {
														ROUTE_893 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
									ROUTE_491 = {
										ROUTE_140_high = {
											ROUTE_182_high = {
												ROUTE_395 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_425 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_1141 = {
													ROUTE_1138 = {
														ROUTE_1134 = {
															ROUTE_54 = {
																ROUTE_51 = {
																	ROUTE_1559 = {
																		ROUTE_761 = {
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_586 = {
													ROUTE_893 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
											ROUTE_389_high = {
												ROUTE_382 = {
													ROUTE_584 = {
														ROUTE_893 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_921 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
														ROUTE_893 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
											ROUTE_454_high = {
												ROUTE_452 = {
													ROUTE_584 = {
														ROUTE_893 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
									ROUTE_1765 = {
										ROUTE_1107 = {
											ROUTE_1760 = {
												ROUTE_101 = {
													ROUTE_604 = {
														ROUTE_162 = {
															ROUTE_395 = {
																ROUTE_1141 = {
																	ROUTE_1138 = {
																		ROUTE_1134 = {
																			ROUTE_54 = {
																				ROUTE_51 = {
																					ROUTE_1559 = {
																						ROUTE_761 = {
																						},
																					},
																				},
																			},
																		},
																	},
																},
																ROUTE_425 = {
																	ROUTE_1141 = {
																		ROUTE_1138 = {
																			ROUTE_1134 = {
																				ROUTE_54 = {
																					ROUTE_51 = {
																						ROUTE_1559 = {
																							ROUTE_761 = {
																							},
																						},
																					},
																				},
																			},
																		},
																	},
																},
															},
															ROUTE_1023 = {
																ROUTE_425 = {
																	ROUTE_1141 = {
																		ROUTE_1138 = {
																			ROUTE_1134 = {
																				ROUTE_54 = {
																					ROUTE_51 = {
																						ROUTE_1559 = {
																							ROUTE_761 = {
																							},
																						},
																					},
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
								},
								ROUTE_491 = {
									ROUTE_140_high = {
										ROUTE_182_high = {
											ROUTE_395 = {
												ROUTE_1141 = {
													ROUTE_1138 = {
														ROUTE_1134 = {
															ROUTE_54 = {
																ROUTE_51 = {
																	ROUTE_1559 = {
																		ROUTE_761 = {
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_425 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
											ROUTE_1141 = {
												ROUTE_1138 = {
													ROUTE_1134 = {
														ROUTE_54 = {
															ROUTE_51 = {
																ROUTE_1559 = {
																	ROUTE_761 = {
																	},
																},
															},
														},
													},
												},
											},
											ROUTE_586 = {
												ROUTE_893 = {
													ROUTE_1138 = {
														ROUTE_1134 = {
															ROUTE_54 = {
																ROUTE_51 = {
																	ROUTE_1559 = {
																		ROUTE_761 = {
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
										ROUTE_389_high = {
											ROUTE_382 = {
												ROUTE_584 = {
													ROUTE_893 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_921 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_893 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
										ROUTE_454_high = {
											ROUTE_452 = {
												ROUTE_584 = {
													ROUTE_893 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
							ROUTE_437 = {
								ROUTE_101 = {
									ROUTE_604 = {
										ROUTE_162 = {
											ROUTE_395 = {
												ROUTE_1141 = {
													ROUTE_1138 = {
														ROUTE_1134 = {
															ROUTE_54 = {
																ROUTE_51 = {
																	ROUTE_1559 = {
																		ROUTE_761 = {
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_425 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
											ROUTE_1023 = {
												ROUTE_425 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
						},
						ROUTE_1059 = {
							ROUTE_253 = {
								ROUTE_1004 = {
									ROUTE_17 = {
										ROUTE_18 = {
											ROUTE_43 = {
												ROUTE_1125 = {
													ROUTE_42 = {
														ROUTE_523 = {
															ROUTE_44 = {
																ROUTE_859 = {
																	ROUTE_46 = {
																		ROUTE_761 = {
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
									ROUTE_101 = {
										ROUTE_604 = {
											ROUTE_162 = {
												ROUTE_395 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_425 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_1023 = {
													ROUTE_425 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
							ROUTE_1056 = {
								ROUTE_1760 = {
									ROUTE_101 = {
										ROUTE_604 = {
											ROUTE_162 = {
												ROUTE_395 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_425 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_1023 = {
													ROUTE_425 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
						},
					},
				},
				ROUTE_628_high = {
					ROUTE_256 = {
						ROUTE_16 = {
							ROUTE_18 = {
								ROUTE_43 = {
									ROUTE_1125 = {
										ROUTE_42 = {
											ROUTE_523 = {
												ROUTE_44 = {
													ROUTE_859 = {
														ROUTE_46 = {
															ROUTE_761 = {
															},
														},
													},
												},
											},
										},
									},
								},
							},
						},
					},
					ROUTE_1059 = {
						ROUTE_253 = {
							ROUTE_1004 = {
								ROUTE_17 = {
									ROUTE_18 = {
										ROUTE_43 = {
											ROUTE_1125 = {
												ROUTE_42 = {
													ROUTE_523 = {
														ROUTE_44 = {
															ROUTE_859 = {
																ROUTE_46 = {
																	ROUTE_761 = {
																	},
																},
															},
														},
													},
												},
											},
										},
									},
								},
								ROUTE_101 = {
									ROUTE_604 = {
										ROUTE_162 = {
											ROUTE_395 = {
												ROUTE_1141 = {
													ROUTE_1138 = {
														ROUTE_1134 = {
															ROUTE_54 = {
																ROUTE_51 = {
																	ROUTE_1559 = {
																		ROUTE_761 = {
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_425 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
											ROUTE_1023 = {
												ROUTE_425 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
						},
						ROUTE_1056 = {
							ROUTE_1760 = {
								ROUTE_101 = {
									ROUTE_604 = {
										ROUTE_162 = {
											ROUTE_395 = {
												ROUTE_1141 = {
													ROUTE_1138 = {
														ROUTE_1134 = {
															ROUTE_54 = {
																ROUTE_51 = {
																	ROUTE_1559 = {
																		ROUTE_761 = {
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_425 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
											ROUTE_1023 = {
												ROUTE_425 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
						},
					},
				},
				ROUTE_423_high = {
					ROUTE_16 = {
						ROUTE_18 = {
							ROUTE_43 = {
								ROUTE_1125 = {
									ROUTE_42 = {
										ROUTE_523 = {
											ROUTE_44 = {
												ROUTE_859 = {
													ROUTE_46 = {
														ROUTE_761 = {
														},
													},
												},
											},
										},
									},
								},
							},
						},
					},
				},
			},
			ROUTE_allied_shack_spawn = {
				ROUTE_114 = {
					ROUTE_404 = {
						ROUTE_135 = {
							ROUTE_1826 = {
								ROUTE_1760 = {
									ROUTE_101 = {
										ROUTE_604 = {
											ROUTE_162 = {
												ROUTE_395 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
													ROUTE_425 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_1023 = {
													ROUTE_425 = {
														ROUTE_1141 = {
															ROUTE_1138 = {
																ROUTE_1134 = {
																	ROUTE_54 = {
																		ROUTE_51 = {
																			ROUTE_1559 = {
																				ROUTE_761 = {
																				},
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
						},
						ROUTE_140_high = {
							ROUTE_182_high = {
								ROUTE_395 = {
									ROUTE_1141 = {
										ROUTE_1138 = {
											ROUTE_1134 = {
												ROUTE_54 = {
													ROUTE_51 = {
														ROUTE_1559 = {
															ROUTE_761 = {
															},
														},
													},
												},
											},
										},
									},
									ROUTE_425 = {
										ROUTE_1141 = {
											ROUTE_1138 = {
												ROUTE_1134 = {
													ROUTE_54 = {
														ROUTE_51 = {
															ROUTE_1559 = {
																ROUTE_761 = {
																},
															},
														},
													},
												},
											},
										},
									},
								},
								ROUTE_1141 = {
									ROUTE_1138 = {
										ROUTE_1134 = {
											ROUTE_54 = {
												ROUTE_51 = {
													ROUTE_1559 = {
														ROUTE_761 = {
														},
													},
												},
											},
										},
									},
								},
								ROUTE_586 = {
									ROUTE_893 = {
										ROUTE_1138 = {
											ROUTE_1134 = {
												ROUTE_54 = {
													ROUTE_51 = {
														ROUTE_1559 = {
															ROUTE_761 = {
															},
														},
													},
												},
											},
										},
									},
								},
							},
							ROUTE_389_high = {
								ROUTE_382 = {
									ROUTE_584 = {
										ROUTE_893 = {
											ROUTE_1138 = {
												ROUTE_1134 = {
													ROUTE_54 = {
														ROUTE_51 = {
															ROUTE_1559 = {
																ROUTE_761 = {
																},
															},
														},
													},
												},
											},
										},
									},
									ROUTE_921 = {
										ROUTE_1141 = {
											ROUTE_1138 = {
												ROUTE_1134 = {
													ROUTE_54 = {
														ROUTE_51 = {
															ROUTE_1559 = {
																ROUTE_761 = {
																},
															},
														},
													},
												},
											},
										},
										ROUTE_893 = {
											ROUTE_1138 = {
												ROUTE_1134 = {
													ROUTE_54 = {
														ROUTE_51 = {
															ROUTE_1559 = {
																ROUTE_761 = {
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
							ROUTE_454_high = {
								ROUTE_452 = {
									ROUTE_584 = {
										ROUTE_893 = {
											ROUTE_1138 = {
												ROUTE_1134 = {
													ROUTE_54 = {
														ROUTE_51 = {
															ROUTE_1559 = {
																ROUTE_761 = {
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
						},
					},
					ROUTE_491 = {
						ROUTE_140_high = {
							ROUTE_182_high = {
								ROUTE_395 = {
									ROUTE_1141 = {
										ROUTE_1138 = {
											ROUTE_1134 = {
												ROUTE_54 = {
													ROUTE_51 = {
														ROUTE_1559 = {
															ROUTE_761 = {
															},
														},
													},
												},
											},
										},
									},
									ROUTE_425 = {
										ROUTE_1141 = {
											ROUTE_1138 = {
												ROUTE_1134 = {
													ROUTE_54 = {
														ROUTE_51 = {
															ROUTE_1559 = {
																ROUTE_761 = {
																},
															},
														},
													},
												},
											},
										},
									},
								},
								ROUTE_1141 = {
									ROUTE_1138 = {
										ROUTE_1134 = {
											ROUTE_54 = {
												ROUTE_51 = {
													ROUTE_1559 = {
														ROUTE_761 = {
														},
													},
												},
											},
										},
									},
								},
								ROUTE_586 = {
									ROUTE_893 = {
										ROUTE_1138 = {
											ROUTE_1134 = {
												ROUTE_54 = {
													ROUTE_51 = {
														ROUTE_1559 = {
															ROUTE_761 = {
															},
														},
													},
												},
											},
										},
									},
								},
							},
							ROUTE_389_high = {
								ROUTE_382 = {
									ROUTE_584 = {
										ROUTE_893 = {
											ROUTE_1138 = {
												ROUTE_1134 = {
													ROUTE_54 = {
														ROUTE_51 = {
															ROUTE_1559 = {
																ROUTE_761 = {
																},
															},
														},
													},
												},
											},
										},
									},
									ROUTE_921 = {
										ROUTE_1141 = {
											ROUTE_1138 = {
												ROUTE_1134 = {
													ROUTE_54 = {
														ROUTE_51 = {
															ROUTE_1559 = {
																ROUTE_761 = {
																},
															},
														},
													},
												},
											},
										},
										ROUTE_893 = {
											ROUTE_1138 = {
												ROUTE_1134 = {
													ROUTE_54 = {
														ROUTE_51 = {
															ROUTE_1559 = {
																ROUTE_761 = {
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
							ROUTE_454_high = {
								ROUTE_452 = {
									ROUTE_584 = {
										ROUTE_893 = {
											ROUTE_1138 = {
												ROUTE_1134 = {
													ROUTE_54 = {
														ROUTE_51 = {
															ROUTE_1559 = {
																ROUTE_761 = {
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
						},
					},
					ROUTE_1765 = {
						ROUTE_1107 = {
							ROUTE_1760 = {
								ROUTE_101 = {
									ROUTE_604 = {
										ROUTE_162 = {
											ROUTE_395 = {
												ROUTE_1141 = {
													ROUTE_1138 = {
														ROUTE_1134 = {
															ROUTE_54 = {
																ROUTE_51 = {
																	ROUTE_1559 = {
																		ROUTE_761 = {
																		},
																	},
																},
															},
														},
													},
												},
												ROUTE_425 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
											ROUTE_1023 = {
												ROUTE_425 = {
													ROUTE_1141 = {
														ROUTE_1138 = {
															ROUTE_1134 = {
																ROUTE_54 = {
																	ROUTE_51 = {
																		ROUTE_1559 = {
																			ROUTE_761 = {
																			},
																		},
																	},
																},
															},
														},
													},
												},
											},
										},
									},
								},
							},
						},
					},
				},
			},
			ROUTE_84 = {},
		},
		PLANT_Tank_Barrier_1 = {
			ROUTE_allied_garage_spawn_high = {
				ROUTE_13 = {
				},
				ROUTE_1074 = {
					ROUTE_243 = {
						ROUTE_1056 = {
						},
					},
					ROUTE_437 = {
						ROUTE_1760 = {
						},
					},
				},
				ROUTE_231 = {
					ROUTE_437 = {
						ROUTE_1760 = {
						},
					},
				},
				ROUTE_253 = {
				},
				ROUTE_18 = {
					ROUTE_594 = {
					},
				},
				ROUTE_256 = {
					ROUTE_16 = {
						ROUTE_18 = {
							ROUTE_594 = {
							},
						},
					},
				},
				ROUTE_1056 = {
				},
				ROUTE_1077 = {
					ROUTE_244 = {
					},
					ROUTE_101 = {
					},
				},
				ROUTE_628_high = {
				},
				ROUTE_423_high = {
				},
				ROUTE_1004 = {
					ROUTE_17 = {
						ROUTE_18 = {
							ROUTE_594 = {
							},
						},
					},
				},
				ROUTE_1059 = {
				},
			},
			ROUTE_allied_shack_spawn = {
				ROUTE_120 = {
					ROUTE_123 = {
						ROUTE_1077 = {
							ROUTE_244 = {
							},
							ROUTE_101 = {
							},
						},
					},
				},
				ROUTE_441 = {
					ROUTE_437 = {
						ROUTE_1760 = {
						},
					},
				},
				ROUTE_114 = {
					ROUTE_135 = {
						ROUTE_1760 = {
						},
					},
					ROUTE_491 = {
						ROUTE_135 = {
							ROUTE_1760 = {
							},
						},
						ROUTE_140_high = {
							ROUTE_182_high = {
								ROUTE_395 = {
									ROUTE_788 = {
										ROUTE_162 = {
										},
									},
									ROUTE_162 = {
									},
								},
								ROUTE_1024 = {
									ROUTE_788 = {
										ROUTE_162 = {
										},
									},
								},
								ROUTE_1023 = {
								},
								ROUTE_1142 = {
									ROUTE_408 = {
									},
								},
							},
						},
					},
				},
			},
		},
		PLANT_tunnel_door = {
			ROUTE_allied_garage_spawn_high = {
				ROUTE_612 = {
					ROUTE_13 = {
						ROUTE_256 = {
							ROUTE_16 = {
								ROUTE_18 = {
								},
							},
						},
						ROUTE_1059 = {
							ROUTE_253 = {
								ROUTE_1004 = {
									ROUTE_17 = {
										ROUTE_18 = {
										},
									},
								},
							},
						},
					},
					ROUTE_231 = {
						ROUTE_1059 = {
							ROUTE_253 = {
								ROUTE_1004 = {
									ROUTE_17 = {
										ROUTE_18 = {
										},
									},
								},
							},
						},
					},
				},
				ROUTE_628_high = {
					ROUTE_256 = {
						ROUTE_16 = {
							ROUTE_18 = {
							},
						},
					},
					ROUTE_1059 = {
						ROUTE_253 = {
							ROUTE_1004 = {
								ROUTE_17 = {
									ROUTE_18 = {
									},
								},
							},
						},
					},
				},
				ROUTE_423_high = {
					ROUTE_16 = {
						ROUTE_18 = {
						},
					},
				},
			},
			ROUTE_allied_shack_spawn = {},
			ROUTE_84 = {},
		},
		CHECKPOINT_shack_flag = {
			ROUTE_allied_garage_spawn_high = {
				ROUTE_612 = {
					ROUTE_231 = {
						ROUTE_1074 = {
							ROUTE_123 = {
								ROUTE_120 = {
								},
							},
						},
					},
				},
				ROUTE_628_high = {
				},
				ROUTE_423_high = {
				},
			},
			ROUTE_allied_shack_spawn = {
				ROUTE_120 = {
				},
			},
			ROUTE_84 = {},
		},
	};

	MapRoutes["DEFEND_tb1.*"] = MapRoutes.BUILD_Tank_Barrier_1;
	MapRoutes["DEFEND_intersection.*"] = MapRoutes.DEFEND_intersection;
	MapRoutes["DEFEND_axis_spawn_back.*"] = MapRoutes.DEFEND_axis_spawn_back;
	MapRoutes["DEFEND_crypt_to_tb2.*"] = MapRoutes.DEFEND_crypt_to_tb2;
	MapRoutes["DEFEND_end.*"] = MapRoutes.DEFEND_end;
	MapRoutes["MOBILEMG42_axis_towards_bridge.*"] = MapRoutes.MOBILEMG42_axis_towards_bridge_3;

	MapRoutes["ATTACK_tb1.*"] = MapRoutes.ATTACK_tb1;
	MapRoutes["ATTACK_Intersection.*"] = MapRoutes.ATTACK_Intersection;
	MapRoutes["ATTACK_Axis_Spawn_Back.*"] = MapRoutes.ATTACK_Intersection;
	MapRoutes["ATTACK_tb2.*"] = MapRoutes.ATTACK_Intersection;
	MapRoutes.BUILD_Allied_Command_Post = MapRoutes.PLANT_Tank_Barrier_1;
	MapRoutes.ATTACK_tb1_4 = MapRoutes.ATTACK_tb1_2;
	
	Util.Routes(MapRoutes);

	Util.MapDebugPrint( "InitializeRoutes" );
};

global Map =
{
	PlayersTable = {},
	DefaultTargetBreakableDist = 150.0,

	Debug = false,

	Ammo_Cabinet_south_ammocabinet = "AMMOCAB_south_ammocabinet",
	Health_Cabinet_south_healthcabinet = "HEALTHCAB_south_healthcabinet",
	Checkpoint_bank_flag = "CHECKPOINT_bank_flag",
	Checkpoint_shack_flag = "CHECKPOINT_shack_flag",
	Build_Allied_Command_Post = "BUILD_Allied_Command_Post",
	Build_Axis_Command_Post = "BUILD_Axis_Command_Post",
	Build_Embankment_Assault_Ramp = "BUILD_Embankment_Assault_Ramp",
	Build_Tank_Barrier_1 = "BUILD_Tank_Barrier_1",
	Build_Tank_Barrier_2 = "BUILD_Tank_Barrier_2",
	Build_Tiger_Tank = "BUILD_Tiger_Tank",
	Build_Unexploded_Bomb = "BUILD_Unexploded_Bomb",
	Build_Unexploded_Bomb_1 = "BUILD_Unexploded_Bomb_1",
	Build_bunker_MG42 = "BUILD_bunker_MG42",
	Build_crypt_door = "BUILD_crypt_door",
	Build_tunnel_door = "BUILD_tunnel_door",
	Plant_Allied_Command_Post = "PLANT_Allied_Command_Post",
	Plant_Axis_Command_Post = "PLANT_Axis_Command_Post",
	Plant_Embankment_Assault_Ramp = "PLANT_Embankment_Assault_Ramp",
	Plant_Tank_Barrier_1 = "PLANT_Tank_Barrier_1",
	Plant_Tank_Barrier_2 = "PLANT_Tank_Barrier_2",
	Plant_Unexploded_Bomb = "PLANT_Unexploded_Bomb",
	Plant_bunker_MG42 = "PLANT_bunker_MG42",
	Plant_crypt_door = "PLANT_crypt_door",
	Plant_tunnel_door = "PLANT_tunnel_door",
	Explode_Unexploded_Bomb = "EXPLODE_Unexploded_Bomb",
	Mount_361 = "MOUNTMG42_361",
	Mount_432 = "MOUNTMG42_432",
	Mount_bunker_MG42 = "MOUNTMG42_bunker_MG42",
	Repair_361 = "REPAIRMG42_361",
	Repair_432 = "REPAIRMG42_432",
	Repair_bunker_MG42 = "REPAIRMG42_bunker_MG42",
	Mobile_MG42_78 = "MOBILEMG42_78",
	Snipe_338 = "SNIPE_338",
	Snipe_78 = "SNIPE_78",
	Snipe_98 = "SNIPE_98",
	Mover_tank = "MOVER_tank",

	BreakableAxisMGRoof_Destroyed = false,
	BreakableAxisMGRoof_Info = null,
	BreakableFence1_Destroyed = false,
	BreakableFence1_Info = null,
	BreakableFence2_Destroyed = false,
	BreakableFence2_Info = null,
	BreakableLadder1_Destroyed = false,
	BreakableLadder2_Destroyed = false,
	BreakableFlagDoor_Destroyed = false,
	BreakableFlagDoor_Info = null,
	BreakableFlagDoor_1_Info = null,
	BreakableWindow_Destroyed = false,
	BreakableWindow_Info = null,
	Breakable_Window_Back_Destroyed = false,
	Breakable_Window_Back_Info = null,
	Breakable_Side_Window_Back_Destroyed = false,
	Breakable_Side_Window_Back_Info = null,
	Breakable_Side_Window_Front_Destroyed = false,
	Breakable_Side_Window_Front_Info = null,
	Lift_Info = null,
	
	setRandomSpawn = function()	{
		while(1) {
			foreach(bot in BotTable) {
				//axis is 1/3
				//allies is 2/4
				spawnPos = -1;
				rint = RandInt(0, 1); //0 or 1
				if (bot.GetTeam() == TEAM.ALLIES) {
					if(rint==0) {
						spawnPos=2;
					}
					else {
						spawnPos=4;
					}
				} else {
					if(rint==0) {
						spawnPos=1;
					}
					else {
						spawnPos=3;
					}
				}
				bot.ChangeSpawnPoint(spawnPos);
			}
			sleep(20000);
		}
	},

	check_lift = function()
	{
		Util.MapDebugPrint( "thread check_lift started", true );
		wpOne = Util.WpNameInfo("lift_left");
		wpTwo = Util.WpNameInfo("lift_right");

		while( 1 )
		{
			tr = TraceLine( wpOne.position, wpTwo.position, null, TRACE.SHOT, 0, false );

			if ( tr.fraction < 1 )
			{
				if ( Map.Debug )
				{ DrawDebugLine(wpOne.position, wpTwo.position, COLOR.RED, 0.25); }

				Wp.SetWaypointFlag("liftpt", "closed", false);
			}
			else
			{
				if ( Map.Debug )
				{ DrawDebugLine(wpOne.position, wpTwo.position, COLOR.GREEN, 0.25); }

				Wp.SetWaypointFlag("liftpt", "closed", true);
			}

			sleep(0.333);
		}
	},

	check_axis_mg_roof = function()
	{
		Util.MapDebugPrint( "thread check_axis_mg_roof started", true );
		wpOne = Util.WpNameInfo("axis_mg_roof_1");	//top
		wpTwo = Util.WpNameInfo("axis_mg_roof_2");	//bottom
		startoffset = Vector3(0,0,0);
		endoffset = Vector3(0,0,0);

		while( !Map.BreakableAxisMGRoof_Destroyed ) {
			tr = TraceLine( wpOne.position + startoffset, wpTwo.position + endoffset, null, TRACE.SHOT, 0, false );
			//			Util.MapDebugPrint( "tr: " + tr.fraction, true );

			if ( tr.fraction < 0.9 ) {	//more than enough
				SetAvailableMapGoals( TEAM.ALLIES, true, "ATTACK_Axis_Spawn_Back.*" );	//jcfgonc I don't see why not all the time
				if ( Map.Debug )
				{ DrawDebugLine(wpOne.position + startoffset, wpTwo.position + endoffset, COLOR.RED, 0.25); }
			}
			else  {
				if ( Map.Debug )
				{ DrawDebugLine(wpOne.position + startoffset, wpTwo.position + endoffset, COLOR.GREEN, 0.25); }
				Map.BreakableAxisMGRoof_Destroyed = true;

				SetAvailableMapGoals( TEAM.ALLIES, false, "ATTACK_Axis_Spawn_Back.*" );
				//	Wp.SetWaypointFlag("axis_mg_roof_1", "closed", true);
				//	Wp.SetWaypointFlag("axis_mg_roof_2", "closed", true);

				Util.MapDebugPrint( "thread check_axis_mg_roof ended", true );
			}

			sleep(1);
		}

	},

	Navigation =
	{
		lift =
		{
			navigate = function(_this) {
				if ( !Map.Lift_Info ) {
					Map.Lift_Info = Util.WpNameInfo("liftpt");
				}
				if ( _this.Goto(Map.Lift_Info.position) == EVENT.PATH_SUCCESS ) {
					_this.AddAimRequest(Priority.High, "facing", Map.Lift_Info.facing);
					_this.Bot.HoldButton(BTN.FORWARD, 0.5);
					sleep(4);
				}
			},
		},
	},

	Allied_Command_Post_Built = function( trigger )
	{
		Util.MapDebugPrint( "Allied_Command_Post_Built" );
	},

	Axis_Command_Post_Built = function( trigger )
	{
		Util.MapDebugPrint( "Axis_Command_Post_Built" );
	},

	Allies_Steal_Tank = function( trigger )
	{

		Util.MapDebugPrint( "Allies_Steal_Tank" );
	},

	Tank_Barrier_1_Built = function( trigger )
	{
		Util.MapDebugPrint( "Tank_Barrier_1_Built" );
	},

	Tank_Barrier_2_Built = function( trigger )
	{
		Util.MapDebugPrint( "Tank_Barrier_2_Built" );
	},

	Tiger_Tank_Built = function( trigger )	{
		SetGoalPriority( "AIRSTRIKE_axis_stop_tank.*", 1.0);	//jcfgonc
		Util.MapDebugPrint( "Tiger_Tank_Built" );
	},
	
	Tiger_Tank_Damaged = function( trigger )	{
		SetGoalPriority( "AIRSTRIKE_axis_stop_tank.*", 0.7);	//jcfgonc
		Util.MapDebugPrint( "Tiger_Tank_Damaged" );
	},
	
	Unexploded_Bomb_Built = function( trigger )
	{
		Util.MapDebugPrint( "Unexploded_Bomb_Built" );
	},

	Unexploded_Bomb_1_Built = function( trigger )
	{
		Util.MapDebugPrint( "Unexploded_Bomb_1_Built" );
	},

	bunker_MG42_Built = function( trigger )
	{
		Util.MapDebugPrint( "bunker_MG42_Built" );
	},

	crypt_door_Built = function( trigger )
	{
		Util.MapDebugPrint( "crypt_door_Built" );
	},

	Allied_Command_Post_Destroyed = function( trigger )
	{
		Util.MapDebugPrint( "Allied_Command_Post_Destroyed" );
	},

	Axis_Command_Post_Planted = function( trigger )	{
		Util.MapDebugPrint( "Axis_Command_Post_Planted" );
	},

	Axis_Command_Post_Destroyed = function( trigger )
	{
		Util.MapDebugPrint( "Axis_Command_Post_Destroyed" );
	},

	Embankment_Assault_Ramp_Built = function( trigger )
	{
		Util.MapDebugPrint( "Embankment_Assault_Ramp_Built" );
		SetAvailableMapGoals( TEAM.AXIS, true, "ARTILLERY_S_allies_ramp_top.*" );
		
		SetAvailableMapGoals( TEAM.ALLIES, true, "ROUTE_140_high" );
		SetAvailableMapGoals( TEAM.ALLIES, true, "ROUTE_491" );
	},

	Embankment_Assault_Ramp_Destroyed = function( trigger )
	{
		Util.MapDebugPrint( "Embankment_Assault_Ramp_Destroyed" );
		SetAvailableMapGoals( TEAM.AXIS, false, "ARTILLERY_S_allies_ramp_top.*" );
		
		SetAvailableMapGoals( TEAM.ALLIES, false, "ROUTE_140_high" );
		SetAvailableMapGoals( TEAM.ALLIES, false, "ROUTE_491" );
	},

	Tank_Barrier_1_Planted = function( trigger )
	{
		Util.MapDebugPrint( "Tank_Barrier_1_Planted" );
	},

	Tank_Barrier_1_Defused = function( trigger )
	{
		Util.MapDebugPrint( "Tank_Barrier_1_Defused" );
	},

	Tank_Barrier_1_Destroyed = function( trigger )
	{
		Util.MapDebugPrint( "Tank_Barrier_1_Destroyed" );
	},

	Tank_Barrier_2_Planted = function( trigger )
	{
		Util.MapDebugPrint( "Tank_Barrier_2_Planted" );
	},

	Tank_Barrier_2_Defused = function( trigger )
	{
		Util.MapDebugPrint( "Tank_Barrier_2_Defused" );
	},

	Tank_Barrier_2_Destroyed = function( trigger )
	{
		Util.MapDebugPrint( "Tank_Barrier_2_Destroyed" );
	},

	Unexploded_Bomb_Destroyed = function( trigger )
	{
		Util.MapDebugPrint( "Unexploded_Bomb_Destroyed" );
	},

	bunker_MG42_Destroyed = function( trigger )
	{
		Util.MapDebugPrint( "bunker_MG42_Destroyed" );
	},

	crypt_door_Planted = function( trigger ) {
		Util.MapDebugPrint( "crypt_door_Planted" );
	},

	crypt_door_Destroyed = function( trigger )
	{
		Util.MapDebugPrint( "crypt_door_Destroyed" );
	},

	tunnel_door_Built = function( trigger )
	{
		Wp.SetWaypointFlag("tunnel_door", "axis", true);
		Wp.SetWaypointFlag("tunnel_door", "team1", true);
		SetAvailableMapGoals( TEAM.ALLIES, false, "ROUTE_18");
		Util.MapDebugPrint( "tunnel_door_Built" );
	},

	tunnel_door_Destroyed = function( trigger )
	{
		Wp.SetWaypointFlag("tunnel_door", "axis", false);
		Wp.SetWaypointFlag("tunnel_door", "team1", false);
		SetAvailableMapGoals( TEAM.ALLIES, true, "ROUTE_18");
		Util.MapDebugPrint( "tunnel_door_Destroyed" );
	},

	bank_flag_Axis_Captured = function( trigger )
	{
		Util.MapDebugPrint( "bank_flag_Axis_Captured" );
	},

	bank_flag_Allies_Captured = function( trigger )
	{
		Util.MapDebugPrint( "bank_flag_Allies_Captured" );
	},

	shack_flag_Axis_Captured = function( trigger )
	{

		//	SetAvailableMapGoals( TEAM.ALLIES, true, "CHECKPOINT_bank_flag" );
		//	SetAvailableMapGoals( TEAM.AXIS, false, "CHECKPOINT_bank_flag" );

		Util.MapDebugPrint( "shack_flag_Axis_Captured" );
	},

	shack_flag_Allies_Captured = function( trigger )
	{
		//	SetAvailableMapGoals( TEAM.ALLIES, false, "CHECKPOINT_bank_flag" );
		//	SetAvailableMapGoals( TEAM.AXIS, true, "CHECKPOINT_bank_flag" );

		Util.MapDebugPrint( "shack_flag_Allies_Captured" );
	},

	Tank_Passed_Barrier1 = function( trigger ) {
		SetAvailableMapGoals( TEAM.ALLIES, false, {
			"ATTACK_tb1.*",
			"MOBILEMG42_allies_nicespot_above_tank",
		});
		SetAvailableMapGoals( TEAM.ALLIES, true, {
			"ATTACK_Intersection.*",
			"CHECKPOINT_shack_flag",
			"PLANT_Tank_Barrier_2",
			"PLANT_crypt_door",
		});
		SetGoalPriority("CHECKPOINT_shack_flag", 0.83);
		//		SetGoalPriority( "BUILD_Embankment_Assault_Ramp", 0.88 );	//jcfgonc

		SetAvailableMapGoals( TEAM.AXIS, false, {
			"DEFEND_tb1.*",
			//			"PLANTMINE_tb1.*",
		});
		SetAvailableMapGoals( TEAM.AXIS, true, {
			"CHECKPOINT_bank_flag",
			"DEFEND_intersection.*",
			"ARTILLERY_S_above_tb1.*",
		});

		SetGoalPriority( "ARTILLERY_S_above_tb1.*", 0.85 );
		Util.MapDebugPrint( "Tank_Passed_Barrier1" );
	},

	tank_at_location = function( trigger )	{
		// clear all axis tank airstrikes
		SetAvailableMapGoals( TEAM.AXIS, false, {
			"AIRSTRIKE_axis_stop_tank.*",
			"PLANTMINE_.*",
		});
		
		switch(Map.VehicleLocation) {
		
		case 1: // tank out of the garage, going down the garage ramp
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_depot_ramp",

					// plantmines after tb1
					"PLANTMINE_1517",
					"PLANTMINE_1032_1",
					"PLANTMINE_1032",
					"PLANTMINE_202",
					"PLANTMINE_1032_3",
					"PLANTMINE_1032_2",
				});
			}
			
		case 2: //tank at bottom garage ramp
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_between_trees", //or AIRSTRIKE_axis_stop_tank_between_trees_1

					// plantmines after tb1
					"PLANTMINE_1517",
					"PLANTMINE_1032_1",
					"PLANTMINE_1032",
					"PLANTMINE_202",
					"PLANTMINE_1032_3",
					"PLANTMINE_1032_2",
				});
			}
			
		case 3: //tank between two first trees outside garage
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_nearby_signal",

					// plantmines after tb1
					"PLANTMINE_1517",
					"PLANTMINE_1032_1",
					"PLANTMINE_1032",
					"PLANTMINE_202",
					"PLANTMINE_1032_3",
					"PLANTMINE_1032_2",
				});
			}
			
		case 4: //tank front between last tree and warning sign
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_tunnel_door",

					// plantmines after tb1
					"PLANTMINE_1517",
					"PLANTMINE_1032_1",
					"PLANTMINE_1032",
					"PLANTMINE_202",
					"PLANTMINE_1032_3",
					"PLANTMINE_1032_2",
				});
			}
			
		case 5: // between tunnel entrance and inside
			{				
				SetAvailableMapGoals( TEAM.ALLIES, true, "PLANT_Tank_Barrier_1");
				SetAvailableMapGoals( TEAM.ALLIES, true, "MOBILEMG42_allies_nicespot_above_tank");
				
				SetAvailableMapGoals( TEAM.ALLIES, false, "MOUNTMG42_bunker_MG42");	//jcfgonc no axis view
				SetGoalPriority( "MOUNTMG42_bunker_MG42", 0.75);	//jcfgonc
				
				SetGoalPriority( "PLANT_Tank_Barrier_1", 0.89);	//jcfgonc
				SetGoalPriority( "MOBILEMG42_allies_nicespot_above_tank", 1.1);	//jcfgonc
				SetGoalPriority( "BUILD_Tiger_Tank", 0.87, 0, 0 );	//jcfgonc
				
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_tunnel_door",

					// plantmines after tb1
					"PLANTMINE_1517",
					"PLANTMINE_1032_1",
					"PLANTMINE_1032",
					"PLANTMINE_202",
					"PLANTMINE_1032_3",
					"PLANTMINE_1032_2",
				});
			}
			
			//5-6 tank passes the barrier
			
		case 6: // most of the tank outside the tunnel
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_tunnel_exit",
					"AIRSTRIKE_axis_stop_tank_tunnel_exit_1",

					// plantmines after tb1
					"PLANTMINE_1517",
					"PLANTMINE_1032_1",
					"PLANTMINE_1032",
					"PLANTMINE_202",
					"PLANTMINE_1032_3",
					"PLANTMINE_1032_2",
				});
			}
			
		case 7: //tank fully outside the tunnel
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
//					"AIRSTRIKE_axis_stop_tank_tunnel_exit",
					"AIRSTRIKE_axis_stop_tank_nearby_bomb",
					
"PLANTMINE_1269",
"PLANTMINE_1034_1",

"PLANTMINE_681",
"PLANTMINE_1516",
					
					"PLANTMINE_22",
					"PLANTMINE_1034",
				});
			}
			
		case 8: //tank before passing the bomb
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_nearby_bomb",

					"PLANTMINE_1036_2",
					"PLANTMINE_1036",

					"PLANTMINE_985",
					"PLANTMINE_1036_1",
					
					"PLANTMINE_1037_1",
					"PLANTMINE_1037",
					//"PLANTMINE_983_1",
				});
			}
			
		case 9: //tank passing the bomb
			{

				SetAvailableMapGoals( TEAM.ALLIES, true, "REPAIRMG42_bunker_MG42");	//jcfgonc
				SetAvailableMapGoals( TEAM.ALLIES, true, "MOUNTMG42_bunker_MG42");	//jcfgonc
				SetGoalPriority( "REPAIRMG42_bunker_MG42", 0.75);	//jcfgonc
				SetGoalPriority( "MOUNTMG42_bunker_MG42", 0.75);	//jcfgonc

				SetAvailableMapGoals( TEAM.ALLIES, false, "ATTACK_Intersection.*" );
				//	SetAvailableMapGoals( TEAM.ALLIES, true, "ATTACK_Axis_Spawn_Back.*" );

				if ( Map.BreakableAxisMGRoof_Destroyed ) {
					SetAvailableMapGoals( TEAM.ALLIES, false, "ATTACK_Axis_Spawn_Back.*" );
				}

				SetAvailableMapGoals( TEAM.AXIS, true, {
					"DEFEND_intersection.*",
					
					"MOBILEMG42_axis_above_crypt", //jcfgonc
					"MOBILEMG42_axis_before_end", //jcfgonc
					"MOBILEMG42_axis_towards_bridge.*", //jcfgonc
					//					"MOBILEMG42_axis_towards_bridge_1", //jcfgonc
					//					"MOBILEMG42_axis_towards_bridge_2", //jcfgonc
					//					"MOBILEMG42_axis_towards_bridge_3", //jcfgonc
					"MOBILEMG42_axis_towards_tb2.*", //jcfgonc
					//					"MOBILEMG42_axis_towards_tb2_1", //jcfgonc
					//					"MOBILEMG42_axis_towards_tb2_78", //jcfgonc
					
				});

				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_intersection",
					"AIRSTRIKE_axis_stop_tank_nearby_bomb_1",
					
					"PLANTMINE_983",

					"PLANTMINE_306",
					"PLANTMINE_1038_1",
					"PLANTMINE_306_1",
					"PLANTMINE_70_1",

					"PLANTMINE_1039",
				});
			}
			
		case 10: //tank at intersection bank/church
			{
				SetAvailableMapGoals( TEAM.ALLIES, true, {
					"MOBILEMG42_allies_inside_crypt",
					"ATTACK_tb2_Hill.*",
				});
				
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_bank",
					"AIRSTRIKE_axis_stop_tank_bank_1",
					
					"PLANTMINE_1040",
					"PLANTMINE_1040_1",
					"PLANTMINE_984",

					"PLANTMINE_1041_3",
					"PLANTMINE_1041",
					"PLANTMINE_1453",
				});
			}
			
		case 11:
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_bank_1",
					
					"PLANTMINE_1042_3",
					"PLANTMINE_1042_1",
					"PLANTMINE_1051",
					
					"PLANTMINE_1043_2",
					"PLANTMINE_1043",
					"PLANTMINE_1051_1",
				});
			}
			
		case 12: //tank nearby the bank lift
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
				//	"AIRSTRIKE_axis_stop_tank_bank_1",
					"AIRSTRIKE_axis_stop_tank_bank_2",
				//	"AIRSTRIKE_axis_stop_tank_mghouse",

					"PLANTMINE_72_1",

					"PLANTMINE_72_2",
					"PLANTMINE_1044_3",
					"PLANTMINE_1044_2",
					
					"PLANTMINE_1045_1",
					"PLANTMINE_1045",
				});
			}
			
		case 13:
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_mghouse",
					"AIRSTRIKE_axis_stop_tank_behind_church",
					
					"PLANTMINE_1045",
					"PLANTMINE_1045_1",

					"PLANTMINE_1966",
					"PLANTMINE_1045_2",

					"PLANTMINE_535", //last spot after the church curve
				});
			}
			
		case 14: //tank entering the church curve
			{
				SetAvailableMapGoals( TEAM.AXIS, false, {
					"MOBILEMG42_axis_towards_bridge_2",	//because of visibility
					"MOBILEMG42_axis_towards_bridge_3",
					"MOBILEMG42_axis_towards_bridge",

					"DEFEND_intersection.*",
				});
				
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_mghouse",
					"AIRSTRIKE_axis_stop_tank_behind_church",
					
					"DEFEND_axis_spawn_back.*",
					
					"PLANTMINE_1966",
					"PLANTMINE_1045_2",
					"PLANTMINE_1045_3",
					"PLANTMINE_72_1",
					
					"PLANTMINE_1044",

					"PLANTMINE_535", //last spot after the church curve
				});
			}
			
		case 15: //tank exited the church curve
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"MOBILEMG42_axis_towards_bridge_2",
					"MOBILEMG42_axis_towards_bridge_3",
					"MOBILEMG42_axis_towards_bridge_5",
					"MOBILEMG42_axis_towards_bridge_6",
					"MOBILEMG42_axis_towards_bridge_7",
					"MOBILEMG42_axis_towards_bridge_8",
				});

				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_behind_church",
					"AIRSTRIKE_axis_stop_tank_behind_church_1",

					"PLANTMINE_1044_1",
					"PLANTMINE_1044",
					"PLANTMINE_72_1",

					"PLANTMINE_1044_3",
					"PLANTMINE_1044_2",
					"PLANTMINE_1045_1",
				});
			}
			
		case 16: //tank behind church back window
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_behind_church_alley",

					"PLANTMINE_1138",

					"PLANTMINE_62",

					"PLANTMINE_1137",
					"PLANTMINE_1137_1",

					"PLANTMINE_1139_1",
					"PLANTMINE_1139",
				});
			}
			
		case 17:
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_behind_church_alley",

					"PLANTMINE_1138",

					"PLANTMINE_62",

					"PLANTMINE_1137",
					"PLANTMINE_1137_1",

					"PLANTMINE_1139_1",
					"PLANTMINE_1139",
				});
			}
			
		case 18: //narrower road section behind the church
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_church_garden",
					
					//switch mines
					"PLANTMINE_1138",

					"PLANTMINE_62",

					"PLANTMINE_1137",
					"PLANTMINE_1137_1",

					"PLANTMINE_1139_1",
					"PLANTMINE_1139",
				});
			}
			
		case 19: //turrent entering the crypts curve
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_church_garden",

					"PLANTMINE_1138",

					"PLANTMINE_62",

					"PLANTMINE_1137",
					"PLANTMINE_1137_1",

					"PLANTMINE_1139_1",
					"PLANTMINE_1139",
				});
			}
			
		case 20: //tank doing the crypt's road curve 
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_church_garden_1",
					
					"PLANTMINE_1138",

					"PLANTMINE_62",

					"PLANTMINE_1137",
					"PLANTMINE_1137_1",

					"PLANTMINE_1139_1",
					"PLANTMINE_1139",
				});
			}
			
		case 21: //tank about to complete the crypt's curve
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_church_garden_1",
					
					"PLANTMINE_1139_5",

					"PLANTMINE_1139_4",
					"PLANTMINE_1417",

					"PLANTMINE_1140_2",

					"PLANTMINE_1417_1",
					"PLANTMINE_1140",
				});
			}
			
		case 22:  //tank exited the crypt's road curve, at the garden's side entrance
			{
				SetAvailableMapGoals( TEAM.ALLIES, true, {
					"ATTACK_tb2.*",
				} );
				SetAvailableMapGoals( TEAM.ALLIES, false, {
					"ATTACK_tb2_Hill.*",
					"MOBILEMG42_allies_inside_crypt",
				} );

				SetAvailableMapGoals( TEAM.AXIS, false, {
					"DEFEND_axis_spawn_back.*",
				});
				
				SetGoalPriority("BUILD_Tank_Barrier_2", 1.0);
				SetGoalPriority( "BUILD_Embankment_Assault_Ramp", 0.9 );	//jcfgonc

				SetAvailableMapGoals( TEAM.AXIS, true, {
					"DEFEND_crypt_to_tb2.*",

					"AIRSTRIKE_axis_stop_tank_church_garden_2",
					"AIRSTRIKE_axis_stop_tank_church_garden_1",
					
					"PLANTMINE_1139_1",
					"PLANTMINE_1139",
					"PLANTMINE_1139_3",
					"PLANTMINE_1139_2",
					"PLANTMINE_1139_4",
					"PLANTMINE_1139_5",
					"PLANTMINE_1140",
					"PLANTMINE_1140_2",
					"PLANTMINE_1417",
					"PLANTMINE_1417_1",
				});
			}
			
		case 23:
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_church_garden_2",
					"AIRSTRIKE_axis_stop_tank_garden_ramp",
					
					"PLANTMINE_64",
					"PLANTMINE_64_2",
					"PLANTMINE_64_1",

					"PLANTMINE_1145",
					"PLANTMINE_1141",
					"PLANTMINE_1141_2",
				});
			}
			
		case 24: //at bottom ramp
			{
				SetAvailableMapGoals(TEAM.AXIS, true, "ARTILLERY_S_above_tb2.*");
				SetGoalPriority("ARTILLERY_S_above_tb2.*", 0.89);

				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_garden_ramp",
				//	"AIRSTRIKE_axis_stop_tank_ramp_start",
					
					"PLANTMINE_1142_2",
					"PLANTMINE_1142_3",
					"PLANTMINE_1141",

					"PLANTMINE_1143_1",
					"PLANTMINE_1143_3",
					"PLANTMINE_35",
				});
			}
			
		case 25: //started going up the ramp
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_ramp_start_1",
					"AIRSTRIKE_axis_stop_tank_ramp_start_2",
					
					"PLANTMINE_1144",
					"PLANTMINE_1144_3",
					"PLANTMINE_1144_2",

					"PLANTMINE_1144_1",
					"PLANTMINE_1146_1",
					"PLANTMINE_36",
				});
			}
		case 26:
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_ramp_start_2",
					"AIRSTRIKE_axis_stop_tank_ramp_middle",

					"PLANTMINE_1146",
					"PLANTMINE_289_1",
					"PLANTMINE_1146_2",

					"PLANTMINE_289",
					"PLANTMINE_173",
					"PLANTMINE_289_2",
				});
			}
		case 27:
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_ramp_middle",
					
					"PLANTMINE_172",
					"PLANTMINE_1148_2",
					"PLANTMINE_1148",
					"PLANTMINE_1147_1",

					"PLANTMINE_1744",
					"PLANTMINE_1149",
				});
			}
		case 28: //tank stopped at the second tank barrier
			{
				SetGoalPriority( "PLANT_Tank_Barrier_2", 0.89 );	//jcfgonc
				SetGoalPriority( "BUILD_Tiger_Tank", 0.88, 0, 0 );	//jcfgonc

				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_ramp_middle_1",
					
					"PLANTMINE_1744",

					"PLANTMINE_288",
					"PLANTMINE_1149_2",
					"PLANTMINE_1149_1",

					"PLANTMINE_181",
					"PLANTMINE_181_1",
					"PLANTMINE_288_1",

					"PLANTMINE_181_2",
					"PLANTMINE_181_3",
					"PLANTMINE_182",
					"PLANTMINE_38",
				
					"PLANTMINE_181_4",		
				});
			}
		case 29: //tank inside the second tank barrier
			//TODO: correct airstrikes here
			{
				SetAvailableMapGoals( TEAM.AXIS, false, {
					"DEFEND_.*",
				});

				SetAvailableMapGoals( TEAM.AXIS, true, {
					"DEFEND_end.*",
				});

				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_nearby_tb2", //this one preferred
					"AIRSTRIKE_axis_stop_tank_tb2",

					"PLANTMINE_181_2",
					"PLANTMINE_181_3",
					"PLANTMINE_182",
					"PLANTMINE_38",

					"PLANTMINE_181_4",
				});
			}
		case 30:
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_nearby_tb2",
					"AIRSTRIKE_axis_stop_tank_tb2",
					"AIRSTRIKE_axis_stop_tank_after_tb2",
				});
			}
		case 31:
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_nearby_tb2",
					"AIRSTRIKE_axis_stop_tank_tb2",
					"AIRSTRIKE_axis_stop_tank_after_tb2",
				});
			}
		case 32: //tank passed the second barrier
			{
				SetAvailableMapGoals( TEAM.AXIS, false, {
					"BUILD.*",
					"PLANT_.*",
					"PLANTMINE.*",
					"MOBILEMG42.*",
					"SNIPE.*",
					"ARTILLERY_S_above_tb1.*",
				});
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_bridge_start",
					"AIRSTRIKE_axis_stop_tank_after_tb2",

					"MOBILEMG42_axis_before_end.*",
				});

				SetGoalPriority( "DEFUSE.*", 0.50, TEAM.AXIS, CLASS.ENGINEER, true);
				SetGoalPriority( "DEFEND.*", 0.90, TEAM.AXIS );
			}
		case 33:
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_bridge_start",
				});
			}
		case 34:
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_bridge",
				});
			}
		case 35:
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_bridge",
				});
			}
		case 36:
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_bridge",
					//					"AIRSTRIKE_axis_stop_tank_67",
				});
			}
		case 37: //tank on top of the tunnel
			{
				SetAvailableMapGoals( TEAM.AXIS, false, {
					"SNIPE.*",
					"PLANT.*",
					"BUILD.*",
					"DEFEND_end_30",
					"DEFEND_end_31",
					"DEFEND_end_32",
					"DEFEND_end_33",
					"DEFEND_end_34",
					"DEFEND_end_35",
				});
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_bridge_2",
				});
			}
		case 38:
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_bridge_end",
				});
			}
		case 39: //last tank path position before ending the map
			{
				SetAvailableMapGoals( TEAM.AXIS, true, {
					"AIRSTRIKE_axis_stop_tank_bridge_end",
				});
			}
		}
		
		if(Map.VehicleLocation>=10) { //tank has passed the intersection / bomb
			SetAvailableMapGoals( TEAM.ALLIES, true, {
				"MOBILEMG42_allies_inside_tunnel"
			});
		
		}
		SetGoalPriority( "PLANTMINE.*", 0.91 );	//for mines set above, they are important to stop the tank
		
		// plant 4 mines nearby tb2, always
		SetAvailableMapGoals( TEAM.AXIS, true, {
			"PLANTMINE_181_4",
			"PLANTMINE_1149_1",
			"PLANTMINE_38",
			"PLANTMINE_288",
		});
		SetGoalPriority( "PLANTMINE_181.*", 0.8 );	//for mines set above, they are important to stop the tank
		SetGoalPriority( "PLANTMINE_1149_1.*", 0.8 );	//for mines set above, they are important to stop the tank
		SetGoalPriority( "PLANTMINE_1149_2.*", 0.8 );	//for mines set above, they are important to stop the tank
		SetGoalPriority( "PLANTMINE_288.*", 0.8 );	//for mines set above, they are important to stop the tank
		Util.MapDebugPrint("tank at location " + Map.VehicleLocation, true);
	},
	
	Tank_Passed_Barrier2 = function( trigger )	{
		SetAvailableMapGoals( TEAM.AXIS, false, {
			"PLANTMINE.*",
			"DEFEND_crypt_to_tb2.*",
			"MOBILEMG42_axis_towards_bridge.*",
			"MOBILEMG42_axis_towards_tb.*",
			"BUILD_Tank_Barrier_1",
			"BUILD_Tank_Barrier_2",
			"BUILD_tunnel_door",
		});
		SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_end.*" );

		Util.MapDebugPrint( "Tank_Passed_Barrier2" );
	},
	
	RailClimbing =
	{
		Name="RailClimbing",
		TriggerOnClass = CLASS.ANYPLAYER,
		
		OnEnter = function(ent) {
			Util.MapDebugPrint(GetEntName(ent) + " entered RailClimbing trigger");
			b = Util.IsBot(ent);
			if (b) 	{
				b.TargetBreakableDist = 0;
				
				b.GetAllEnemy(CAT.PLAYER, 0, Map.PlayersTable);
				foreach ( enemy in Map.PlayersTable ) {
					b.IgnoreTarget(enemy, 2.5);
				}
				
				//they may be killed while climbing and not restore target ignore - jcfgonc
				//	thread(Map.RailClimbing.Timeout, ent);
			}
		},
		
		OnExit = function(ent) {
			return;
			
			b = Util.IsBot(ent);
			if (b) 	{
				b.TargetBreakableDist = Map.DefaultTargetBreakableDist;
				
				b.GetAllEnemy(CAT.PLAYER, 0, Map.PlayersTable);
				foreach ( enemy in Map.PlayersTable ) {
					b.IgnoreTarget(enemy, 0.1);
				}
				
			}
			Util.MapDebugPrint(GetEntName(ent) + " exited RailClimbing trigger");
			
			Util.MapDebugPrint("^1 -2- " + GetEntName(ent) + " ---------------- entered RailClimbing Timeout");
		},
		
		Timeout = function(ent) {
			Util.MapDebugPrint("^1 -1- " + GetEntName(ent) + " ---------------- entered RailClimbing Timeout");
			sleep(3);
			Map.RailClimbing.OnExit(ent);
		}
	},
	
};

global saveRoutesGML = function(){ //jcfgonc most recent version
	
	// write it out to file for easy copy / paste
	gmfile = File();
	fileName = GetMapName() + "_route_positions.gml";

	if ( !System.FileExists(fileName) ) {
		gmfile.Open(fileName, "text", false);
	}
	else {
		gmfile.Open(fileName, "text", false, false);
	}
	
	gmfile.Write("graph [");
	gmfile.Write(System.NewLine);
	gmfile.Write("	directed	1");
	gmfile.Write(System.NewLine);
	
	id = 0;
	goals = Util.GoalTable();
	//goals = {}; GetGoals(goals, TEAM.AXIS, ".*", { Sort="name" });
	foreach( goal in goals ) {
		// properties
		goalPosition = goal.GetPosition();
		x = -goalPosition.x; //because of mirroring
		y = goalPosition.y;
		z = goalPosition.z;
		radius = goal.GetRadius();
		if(radius < 10 ) {
			radius = 10;
		}
		name = goal.GetName();
		//	Util.MapDebugPrint( name );
		
		// ---------------------------------------------
		gmfile.Write("	node [");
		gmfile.Write(System.NewLine);
		
		gmfile.Write("		id ", id);
		gmfile.Write(System.NewLine);
		gmfile.Write("		label \"", name, "\"");
		gmfile.Write(System.NewLine);
		// ---------------------------------------------
		gmfile.Write("		graphics [");
		gmfile.Write(System.NewLine);
		gmfile.Write("			x	", x);
		gmfile.Write(System.NewLine);
		gmfile.Write("			y	", y);
		gmfile.Write(System.NewLine);
		gmfile.Write("			w	", radius);
		gmfile.Write(System.NewLine);
		gmfile.Write("			h	", radius);
		gmfile.Write(System.NewLine);
		gmfile.Write("			type	\"ellipse\"");
		gmfile.Write(System.NewLine);
		if(name.Find("ROUTE") != -1) {
			gmfile.Write("			fill	\"#00FF00\"");
		} else
		if(name.Find("ATTACK") != -1) {
			gmfile.Write("			fill	\"#FF0000\"");
		} else
		if(name.Find("DEFEND") != -1) {
			gmfile.Write("			fill	\"#0000FF\"");
		} else
		if(name.Find("CAPPOINT") != -1) {
			gmfile.Write("			fill	\"#FFFF00\"");
		} else {
			gmfile.Write("			fill	\"#FF00FF\"");
		}
		gmfile.Write(System.NewLine);
		gmfile.Write("		]");
		gmfile.Write(System.NewLine);
		
		// ---------------------------------------------
		gmfile.Write("		LabelGraphics [");
		gmfile.Write(System.NewLine);
		gmfile.Write("			text	\"", name, "\"");
		gmfile.Write(System.NewLine);
		gmfile.Write("			fontSize	12");
		gmfile.Write(System.NewLine);
		gmfile.Write("			fontName	\"Dialog\"");
		gmfile.Write(System.NewLine);
		gmfile.Write("			model	\"null\"");
		gmfile.Write(System.NewLine);
		gmfile.Write("		]");
		gmfile.Write(System.NewLine);
		// ---------------------------------------------
		gmfile.Write("	]");
		gmfile.Write(System.NewLine);
		
		id = id+1;
	}

	gmfile.Write("]");
	gmfile.Write(System.NewLine);
	gmfile.Close();
	
	Util.MapDebugPrint( "saveRoutesGML" );
};


global OnMapLoad = function() {
	//	saveRoutesGML();

	OnTrigger( "Allied Command Post constructed. Charge speed increased!`", Map.Allied_Command_Post_Built );
	OnTrigger( "Allied team has stolen the Tank!", Map.Allies_Steal_Tank );
	OnTrigger( "Allies have destroyed the Axis Command Post! ^3Axis respawn time now 25 secs!", Map.Axis_Command_Post_Destroyed );
	OnTrigger( "Axis Command Post constructed. Charge speed increased!", Map.Axis_Command_Post_Built );
	OnTrigger( "Axis have destroyed the Allied Command Post! ^3Allied respawn time now 20 secs!", Map.Allied_Command_Post_Destroyed );
	OnTrigger( "Defused at Tank Barrier #1.", Map.Tank_Barrier_1_Defused );
	OnTrigger( "Defused at Tank Barrier #2.", Map.Tank_Barrier_2_Defused );
	OnTrigger( "goldrush_allies_tank_barrier1", Map.Tank_Passed_Barrier1 );
	OnTrigger( "goldrush_allies_tank_barrier2", Map.Tank_Passed_Barrier2 );
	OnTrigger( "Planted at Tank Barrier #1.", Map.Tank_Barrier_1_Planted );
	OnTrigger( "Planted at Tank Barrier #2.", Map.Tank_Barrier_2_Planted );
	OnTrigger( "Planted at the Axis Command Post.", Map.Axis_Command_Post_Planted );
	OnTrigger( "Planted at the crypt door.", Map.crypt_door_Planted );
	OnTrigger( "tank at location", Map.tank_at_location );
	OnTrigger( "Tank Barrier #1 has been constructed.", Map.Tank_Barrier_1_Built );
	OnTrigger( "Tank Barrier #1 has been destroyed.", Map.Tank_Barrier_1_Destroyed );
	OnTrigger( "Tank Barrier #2 has been constructed.", Map.Tank_Barrier_2_Built );
	OnTrigger( "Tank Barrier #2 has been destroyed.", Map.Tank_Barrier_2_Destroyed );
	OnTrigger( "The Tiger has been repaired!", Map.Tiger_Tank_Built );
	OnTrigger( "The Tank has been damaged!", Map.Tiger_Tank_Damaged );
	OnTrigger( "^3Allies have built the bunker MG42!", Map.bunker_MG42_Built );
	OnTrigger( "^3Allies have built the Embankment Assault Ramp!", Map.Embankment_Assault_Ramp_Built );
	OnTrigger( "^3Allies have captured the Shack!", Map.shack_flag_Allies_Captured );
	OnTrigger( "^3Allies have destroyed the crypt door!", Map.crypt_door_Destroyed );
	OnTrigger( "^3Allies have destroyed the foot tunnel door!", Map.tunnel_door_Destroyed );
	OnTrigger( "^3Allies have taken the Bank!", Map.bank_flag_Allies_Captured );
	OnTrigger( "^3Axis have built the crypt door!", Map.crypt_door_Built );
	OnTrigger( "^3Axis have built the foot tunnel door!", Map.tunnel_door_Built );
	OnTrigger( "^3Axis have captured the Bank!", Map.bank_flag_Axis_Captured );
	OnTrigger( "^3Axis have destroyed the bunker MG42!", Map.bunker_MG42_Destroyed );
	OnTrigger( "^3Axis have destroyed the Embankment Assault Ramp!", Map.Embankment_Assault_Ramp_Destroyed );
	OnTrigger( "^3Axis have taken the Shack!", Map.shack_flag_Axis_Captured );


	// tank positions
	OnTriggerRegion(Vector3(2994.841, 5149.566, 84.180), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2842.782, 4929.268, 22.147), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2740.145, 4631.693, 50.257), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2687.488, 4351.438, 73.719), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2612.944, 4176.322, 49.728), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2549.159, 3534.793, 51.683), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2547.072, 3205.352, 24.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2618.598, 2884.417, 24.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2565.558, 2469.214, 24.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2565.308, 2212.125, 24.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2547.045, 1972.710, 24.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2565.823, 1702.568, 24.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2603.836, 1427.541, 24.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2562.348, 1160.125, 24.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2349.485, 1075.585, 24.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2060.896, 1115.197, 24.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(1822.792, 1143.206, 26.230), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(1658.010, 1151.300, 24.918), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(1513.728, 1128.962, 24.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(1187.160, 1107.303, 24.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(1108.109, 1296.513, 24.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(1071.398, 1555.395, 24.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(1100.231, 1770.758, 24.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(1152.307, 2062.770, 24.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(1250.221, 2465.440, 103.107), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(1259.163, 2721.039, 195.315), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(1277.135, 2884.124, 228.418), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(1253.379, 3131.207, 289.595), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(1250.209, 3354.030, 323.494), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(1248.817, 3565.047, 336.125), 150, RegionTrigger.VehicleTrigger);

	//Tank_Passed_Barrier2

	OnTriggerRegion(Vector3(1343.862, 3721.668, 340.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(1506.220, 3783.223, 352.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(1726.164, 3832.962, 336.269), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(1928.015, 3833.973, 340.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2080.938, 3839.281, 340.125), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2303.118, 3832.321, 344.251), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2557.018, 3841.640, 344.251), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2892.423, 3828.996, 344.190), 150, RegionTrigger.VehicleTrigger);
	OnTriggerRegion(Vector3(2949.840, 3831.036, 336.125), 150, RegionTrigger.VehicleTrigger);
	
	// bot problematic movement at rails
	OnTriggerRegion(AABB(2002.859,1926.518,505.125,2129.591,2065.321,915.592), Map.RailClimbing);
	OnTriggerRegion(AABB(2092.232,2160.462,358.990,2202.320,2760.895,579.140), Map.RailClimbing);
	OnTriggerRegion(AABB(2694.549,1114.306,9.125,2787.944,1237.466,372.181), Map.RailClimbing);
	OnTriggerRegion(AABB(2695.018,3031.968,1.125,2763.129,3133.125,355.125), Map.RailClimbing);
	OnTriggerRegion(AABB(2697.600,2742.283,1.125,2760.875,2837.125,349.125), Map.RailClimbing);
	OnTriggerRegion(AABB(2697.620,3334.831,1.125,2777.722,3429.989,349.125), Map.RailClimbing);
	OnTriggerRegion(AABB(3140.535,3074.875,1.125,3206.066,3167.305,355.125), Map.RailClimbing);
	OnTriggerRegion(AABB(3143.125,2498.875,1.125,3199.050,2597.161,347.125), Map.RailClimbing);

	Util.DisableGoal(".*");

	SetAvailableMapGoals( TEAM.ALLIES, true, {
		"AMMOCAB_.*", //jcfgonc
		"ARTILLERY_S_axis_bank_spawn.*",	//jcfgonc
		"ARTILLERY_S_axis_church_spawn.*",	//jcfgonc
		"ATTACK_tb1.*",
		"BUILD_Allied_Command_Post",
		"BUILD_bunker_MG42",	//jcfgonc
		"BUILD_Embankment_Assault_Ramp",	//jcfgonc imo should be from the start, provides additional routes and variation
		"BUILD_Tiger_Tank",
		"CALLARTILLERY.*",
		"CHECKPOINT_shack_flag", //jcfgonc
		"HEALTHCAB.*", //jcfgonc
		"MOBILEMG42_allies_overtunnel_towards_axis_spawns.*",	//jcfgonc
		"MOBILEMG42_allies_right_of_ramp",		//jcfgonc
		"MOUNTMG42_bunker_MG42",	//jcfgonc
		"MOUNT_tank",
		"MOVER_tank",
		"Plant_Axis_Command_Post",			//jcfgonc why not?
		"PLANT_crypt_door",					//jcfgonc why not?
		"PLANT_Tank_Barrier_1",
		"PLANT_tunnel_door",				//jcfgonc - without that door it's more complicated
		"SNIPE_allies_garage_towards_axis_spawns",
		"SNIPE_allies_garage_towards_axis_spawns_1",
		"SNIPE_allies_heheh_towards_axis_spawns",
		"SNIPE_allies_heheh_towards_axis_spawns_1",
		"SNIPE_allies_tb2_towards_axis_spawns",
		"SNIPE_allies_tb2_towards_axis_spawns_1",
		"SNIPE_allies_tb2_towards_axis_spawns_2",
	});

	SetAvailableMapGoals( TEAM.AXIS, true, {
		"AMMOCAB_.*", //jcfgonc
		"ARTILLERY_S_allies_ramp_top.*", //jcfgonc
		"ARTILLERY_S_before_1st_bridge.*", //jcfgonc
		"BUILD_Axis_Command_Post",
		"BUILD_Tank_Barrier_1",
		"BUILD_Tank_Barrier_2",
		"BUILD_tunnel_door",
		"CALLARTILLERY.*", //jcfgonc
		"CHECKPOINT_bank_flag",
		"DEFEND_tb1.*",
		"HEALTHCAB.*", //jcfgonc
		"MOBILEMG42_axis_towards.*", //jcfgonc
		"MOBILEMG42_axis_towards_bridge", //jcfgonc
		"MOBILEMG42_axis_towards_bridge_1", //jcfgonc
		"MOBILEMG42_axis_towards_bridge_2", //jcfgonc
		"MOBILEMG42_axis_towards_bridge_3", //jcfgonc
		"PLANT_Allied_Command_Post", //jcfgonc - promoting variation
		"PLANT_Embankment_Assault_Ramp",
		"SNIPE_axis_towards_tb2", //jcfgonc
		"SNIPE_axis_towards_tb2_1", //jcfgonc
		"SNIPE_axis_towards_tb2_2", //jcfgonc
		"SNIPE_axis_towards_tb2_3", //jcfgonc
		"SNIPE_axis_towards_tb2_4", //jcfgonc
		"SNIPE_axis_towards_tunnel", //jcfgonc
		"SNIPE_axis_towards_tunnel_1", //jcfgonc
		"SNIPE_axis_towards_tunnel_2", //jcfgonc
		//		"MOBILEMG42_axis_above_crypt", //jcfgonc
		//		"MOBILEMG42_axis_before_end", //jcfgonc
		//		"MOBILEMG42_axis_towards_tb2", //jcfgonc
		//		"MOBILEMG42_axis_towards_tb2_78", //jcfgonc
		//		"PLANTMINE_tb1.*",
		//	"BUILD_crypt_door",		//jcfgonc when opened, it is useful
	});
	
	Map.Embankment_Assault_Ramp_Destroyed();
	Map.tunnel_door_Destroyed();
	Map.tank_at_location(1);

	SetAvailableMapGoals( TEAM.AXIS, false, "CALLARTILLERY_garage_mg");

	SetMapGoalProperties( "ATTACK.*", {MinCampTime=20, MaxCampTime=45});
	SetMapGoalProperties( "DEFEND.*", {MinCampTime=20, MaxCampTime=45});

	SetMapGoalProperties( "SNIPE.*", {MinCampTime=180, MaxCampTime=600});
	SetMapGoalProperties( "MOBILEMG42.*", {MinCampTime=180, MaxCampTime=600});

//	SetGoalPriority( "AMMO.*", 0.85, 0, 0, true);	//jcfgonc
//	SetGoalPriority( "HEALTH.*", 0.85, 0, 0, true );	//jcfgonc
//	SetGoalPriority( "HEAL.*", 2.0, 0, 0, true );	//jcfgonc
//	SetGoalPriority( "REVIVE.*", 2.0, 0, 0, true );	//jcfgonc

	SetGoalPriority( "ARTILLERY_S_axis_bank_spawn", 0.89 );
	SetGoalPriority( "ARTILLERY_S_axis_church_spawn", 0.88 );
	SetGoalPriority( "ARTILLERY_S_before_1st_bridge", 0.89 );
	
	SetGoalPriority("CHECKPOINT.*", 0.80);
	
	SetGoalPriority( "MOUNTMG42_bunker_MG42", 0.75);	//jcfgonc

	//axis
	SetGoalPriority( "BUILD_Axis_Command_Post", 0.87 );
	SetGoalPriority( "PLANT_Allied_Command_Post", 0.86 );
//	SetGoalPriority( "BUILD_crypt_door", 0.86 );
	SetGoalPriority( "BUILD_Tank_Barrier_1", 0.90 );
	SetGoalPriority( "BUILD_Tank_Barrier_2", 0.81 );
	SetGoalPriority( "BUILD_tunnel_door", 0.88 );
	SetGoalPriority( "PLANT_bunker_MG42", 0.5 );	//jcfgonc
	SetGoalPriority( "DEFUSE_tunnel_door.*", 0.65, TEAM.AXIS, CLASS.ENGINEER, true  );	//not critical - jcfgonc
	SetGoalPriority( "DEFUSE_Axis_Command_Post.*", 0.65, TEAM.AXIS, CLASS.ENGINEER, true  );	//not critical - jcfgonc
	SetGoalPriority( "DEFUSE_Allied_Command_Post.*", 0.55, TEAM.ALLIES, CLASS.ENGINEER, true  );	//not critical - jcfgonc
	SetGoalPriority( "PLANT_Embankment_Assault_Ramp.*", 0.65, TEAM.AXIS, CLASS.ENGINEER, true  );	//not critical - jcfgonc

//	SetGoalPriority( "DEFUSE_Tank_Barrier_1", 0.85, TEAM.AXIS, CLASS.ENGINEER, true );
//	SetGoalPriority( "DEFUSE_Tank_Barrier_2", 0.85, TEAM.AXIS, CLASS.ENGINEER, true );
//	SetGoalPriority( "DEFUSE_tunnel_door.*", 0.8, TEAM.AXIS, CLASS.ENGINEER, true);	//jcfgonc
	
	SetGoalPriority( "AIRSTRIKE_axis_stop_tank.*", 1.0);	//jcfgonc

	//allies
	SetGoalPriority( "BUILD_Allied_Command_Post", 0.82 );
	SetGoalPriority( "BUILD_Embankment_Assault_Ramp", 0.88 );	//jcfgonc
	SetGoalPriority( "BUILD_Tiger_Tank", 0.85);	//jcfgonc
	SetGoalPriority( "PLANT_Tank_Barrier_1", 0.86 );	//jcfgonc
	SetGoalPriority( "PLANT_Tank_Barrier_2", 0.86 );	//jcfgonc
	SetGoalPriority( "PLANT_tunnel_door", 0.83 );	//jcfgonc
	SetGoalPriority( "PLANT_crypt_door", 0.82 );	//jcfgonc
	SetGoalPriority( "PLANT_Axis_Command_Post", 0.81 );	//jcfgonc
//	SetGoalPriority( "MOBILEMG42_allies_overtunnel_towards_axis_spawns.*", 0.91 );	//jcfgonc
//	SetGoalPriority( "MOVER_tank.*", 1.5 );	//jcfgonc
	
	SetGoalPriority("CHECKPOINT_shack_flag", 1.83);

	Util.SetMaxUsers( 1, "DEFEND.*" );
	Util.SetMaxUsers( 1, "ATTACK.*" );
	Util.SetMaxUsers( 1, "HEAL.*" );

	Util.SetMaxUsers( 1, "CHECKPOINT_bank_flag" );
	Util.SetMaxUsers( 1, "CHECKPOINT_shack_flag" );
	Util.SetMaxUsers( 1, "MOUNTMG42.*" );
	Util.SetMaxUsers( 1, "MOBILEMG42.*" );

	Util.SetMaxUsers( 1, "BUILD.*" );
	Util.SetMaxUsers( 1, "PLANT.*" );
	Util.SetMaxUsers( 2, "PLANT_Tank_Barrier.*" );
//	Util.SetMaxUsers( 1, "MOVER_tank.*" );
	
	Util.SetMaxUsers( 1, "PLANT_tunnel_door" );	//jcfgonc

	Util.AddUsePoint("PLANT_Tank_Barrier_1",
	{	Vec3(2670.327, 3693.955, 30.997),
		Vec3(2431.247, 3761.908, 30.194),
		Vec3(2586.183, 3681.507, 32.127),
		Vec3(2672.742, 3763.210, 30.191),
		Vec3(2431.259, 3680.929, 30.198)});	
	
	//	Util.SetGoalPosition( 1236.304, 3773.758, 352.125, "PLANT_Tank_Barrier_2");
	Util.SetGoalPosition( 1205.565, 3750.383, 352.125, "PLANT_Tank_Barrier_2");
	Util.AddUsePoint( "PLANT_Embankment_Assault_Ramp", {
		Vec3( 699.318, 4121.474, 348.125),
		Vec3(1306.493, 4094.766, 41.137) } ); //jcfgonc
	
	Util.SetGoalPosition( 1044.778, 3479.928, 332.882, "BUILD_Tank_Barrier_2");	//jcfgonc
	Util.AddUsePoint( "PLANT_tunnel_door", Vec3( 3218.474, 3846.338, 8.064));
	Util.SetGoalPosition( 831.457, 1257.125, 72.125, "PLANT_crypt_door");	//jcfgonc
	Util.SetGoalPosition( 350, 1260, 72, "PLANT_Axis_Command_Post");	//jcfgonc
	//	Util.SetGoalPosition( 2767.795, 5426.125, 72.125, "MOUNTMG42_bunker_MG42");	//jcfgonc
	Util.SetGoalPosition( 2767.647, 5400.0, 60.687, "MOUNTMG42_bunker_MG42");	//jcfgonc

//	Server.MinClassCount[TEAM.AXIS][CLASS.SOLDIER] = 0;
//	Server.MinClassCount[TEAM.AXIS][CLASS.MEDIC] = 0;
//	Server.MinClassCount[TEAM.AXIS][CLASS.ENGINEER] = 1;
//	Server.MinClassCount[TEAM.AXIS][CLASS.FIELDOPS] = 1;
//	Server.MinClassCount[TEAM.AXIS][CLASS.COVERTOPS] = 0;

//	Server.MinClassCount[TEAM.ALLIES][CLASS.SOLDIER] = 0;
//	Server.MinClassCount[TEAM.ALLIES][CLASS.MEDIC] = 0;
//	Server.MinClassCount[TEAM.ALLIES][CLASS.ENGINEER] = 1;
//	Server.MinClassCount[TEAM.ALLIES][CLASS.FIELDOPS] = 0;
//	Server.MinClassCount[TEAM.ALLIES][CLASS.COVERTOPS] = 0;

		//	thread(Map.check_flagDoor);
	thread(Map.check_lift);
	thread(Map.check_axis_mg_roof);
	thread(Map.setRandomSpawn);

	Util.EnableGoal("ROUTE.*"); //enable routing for both teams
	
	Util.MapDebugPrint( "OnMapLoad" );
	
};

global OnBotJoin = function( bot ) {
	//jcfgonc destroy breakables
	bot.TargetBreakableDist = Map.DefaultTargetBreakableDist;
	weaps = { WEAPON.THOMPSON, WEAPON.MP40, WEAPON.SHOTGUN, WEAPON.M97,
		WEAPON.M7, WEAPON.GARAND, WEAPON.K43, WEAPON.BAR, WEAPON.STEN,
		WEAPON.MP34, WEAPON.BAR, WEAPON.STG44, WEAPON.FG42,		
		WEAPON.MOBILE_MG42,	WEAPON.MOBILE_MG42_SET,	WEAPON.MOUNTABLE_MG42,

		WEAPON.SHOTGUN,
		WEAPON.STG44,
		WEAPON.BAR,
		WEAPON.MP34,
		WEAPON.VENOM,

		WEAPON.M97,
		WEAPON.PPSH,

		WEAPON.LAW,
		WEAPON.M79,
		WEAPON.ITHACA,
		WEAPON.RPD,
		WEAPON.M3A1,
		WEAPON.SAK47,
		WEAPON.REVOLVER,
		WEAPON.AKIMBO_MAC10
		
	};

	foreach( id and weap in weaps ) {
		w = bot.GetWeapon(weap);
		w.PrimaryFire.SetTargetBias(CLASS.BREAKABLE, 1.2);
		//	w.PrimaryFire.SetDesirabilityRange(0, 300, 1.0);
	}

	w = bot.GetWeapon(WEAPON.KNIFE);
	w.PrimaryFire.SetTargetBias(CLASS.BREAKABLE, 0.5);
	w.PrimaryFire.SetDesirabilityRange(0, 15, 0.8);
	
	toIgnore = {100, 101, 102, 103, 105, 111, 112, 113, 114, 115, 116, 117, 118, 119, 121, 192, 193, 194, 229, 231, 232, 233, 235,
		//	237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, //these are the bridge wood fences
		250, 252, 391, 393, 394, 408, 413, 418, 426, 427, 428, 429, 441, 457, 458, 459, 460, 461, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 95, 96, 97, 98, 99};
	
	foreach( entityid in toIgnore ) {
		bot.IgnoreTarget(entityid, 32767);
		Util.MapDebugPrint( "IgnoreTarget: "+entityid );
	}
	
				if ( bot.GetClass() == CLASS.COVERTOPS  && bot.HasWeapon(WEAPON.FG42) )
			{
				bot.PickNewPrimaryWeapon( WEAPON.STEN );
			}


	bot.MaxViewDistance = 65535;

};



global OnExit = function()
{
	threadKillAll();
};
