aboutsummaryrefslogtreecommitdiffstats
path: root/fdio.infra.ansible
diff options
context:
space:
mode:
authorpmikus <pmikus@cisco.com>2021-06-01 12:00:08 +0000
committerPeter Mikus <pmikus@cisco.com>2021-08-04 09:06:38 +0000
commit2112f4e1edf3f6c431c73cdd2871a1644c38ece6 (patch)
tree04af52a29b4451a8bdd76ced100ef7dd2a423db3 /fdio.infra.ansible
parent2e021b4853ced07e820a933ca9062d9c325a8a7f (diff)
Infra: Decommission 3n-hsw - pxe/ansible
Signed-off-by: pmikus <pmikus@cisco.com> Change-Id: Ie3ddec5487192217d0921f892098384da73a1ef2
Diffstat (limited to 'fdio.infra.ansible')
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.16.yaml29
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.17.yaml29
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.18.yaml29
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.20.yaml29
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.21.yaml29
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.22.yaml78
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.24.yaml78
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.25.yaml78
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.26.yaml78
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.28.yaml10
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.29.yaml9
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.32.yaml63
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.33.yaml63
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.34.yaml60
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.35.yaml60
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.14.yaml28
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.15.yaml28
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.16.yaml30
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.17.yaml30
-rw-r--r--fdio.infra.ansible/inventories/lf_inventory/hosts17
-rw-r--r--fdio.infra.ansible/nomad_vault.yml1525
21 files changed, 1101 insertions, 1279 deletions
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.16.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.16.yaml
deleted file mode 100644
index 660e33ee53..0000000000
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.16.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
----
-# file: host_vars/10.30.51.16.yaml
-
-hostname: "t1-tg1"
-grub:
- audit: "0"
- hpet: "disable"
- intel_idle.max_cstate: "1"
- intel_iommu: "on"
- intel_pstate: "disable"
- iommu: "pt"
- isolcpus: "1-17,19-35"
- mce: "off"
- nmi_watchdog: "0"
- nohz_full: "1-17,19-35"
- nosoftlockup: True
- numa_balancing: "disable"
- processor.max_cstate: "1"
- rcu_nocbs: "1-17,19-35"
- tsc: "reliable"
-sysctl:
- kernel:
- watchdog_cpumask: "0,18"
- vm:
- nr_hugepages: 8192
- max_map_count: 20000
-
-inventory_cimc_hostname: '10.30.50.16'
-cpu_microarchitecture: "haswell"
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.17.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.17.yaml
deleted file mode 100644
index 48e5083332..0000000000
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.17.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
----
-# file: host_vars/10.30.51.17.yaml
-
-hostname: "t1-sut1"
-grub:
- audit: "0"
- hpet: "disable"
- intel_idle.max_cstate: "1"
- intel_iommu: "on"
- intel_pstate: "disable"
- iommu: "pt"
- isolcpus: "1-17,19-35"
- mce: "off"
- nmi_watchdog: "0"
- nohz_full: "1-17,19-35"
- nosoftlockup: True
- numa_balancing: "disable"
- processor.max_cstate: "1"
- rcu_nocbs: "1-17,19-35"
- tsc: "reliable"
-sysctl:
- kernel:
- watchdog_cpumask: "0,18"
- vm:
- nr_hugepages: 36864
- max_map_count: 20000
-
-inventory_cimc_hostname: '10.30.50.17'
-cpu_microarchitecture: "haswell"
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.18.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.18.yaml
deleted file mode 100644
index f823ed6406..0000000000
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.18.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
----
-# file: host_vars/10.30.51.18.yaml
-
-hostname: "t1-sut2"
-grub:
- audit: "0"
- hpet: "disable"
- intel_idle.max_cstate: "1"
- intel_iommu: "on"
- intel_pstate: "disable"
- iommu: "pt"
- isolcpus: "1-17,19-35"
- mce: "off"
- nmi_watchdog: "0"
- nohz_full: "1-17,19-35"
- nosoftlockup: True
- numa_balancing: "disable"
- processor.max_cstate: "1"
- rcu_nocbs: "1-17,19-35"
- tsc: "reliable"
-sysctl:
- kernel:
- watchdog_cpumask: "0,18"
- vm:
- nr_hugepages: 36864
- max_map_count: 20000
-
-inventory_cimc_hostname: '10.30.50.18'
-cpu_microarchitecture: "haswell"
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.20.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.20.yaml
deleted file mode 100644
index 68af6e81f7..0000000000
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.20.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
----
-# file: host_vars/10.30.51.20.yaml
-
-hostname: "t2-tg1"
-grub:
- audit: "0"
- hpet: "disable"
- intel_idle.max_cstate: "1"
- intel_iommu: "on"
- intel_pstate: "disable"
- iommu: "pt"
- isolcpus: "1-17,19-35"
- mce: "off"
- nmi_watchdog: "0"
- nohz_full: "1-17,19-35"
- nosoftlockup: True
- numa_balancing: "disable"
- processor.max_cstate: "1"
- rcu_nocbs: "1-17,19-35"
- tsc: "reliable"
-sysctl:
- kernel:
- watchdog_cpumask: "0,18"
- vm:
- nr_hugepages: 8192
- max_map_count: 20000
-
-inventory_cimc_hostname: '10.30.50.20'
-cpu_microarchitecture: "haswell"
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.21.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.21.yaml
deleted file mode 100644
index 0d43874ae3..0000000000
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.21.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
----
-# file: host_vars/10.30.51.21.yaml
-
-hostname: "t2-sut1"
-grub:
- audit: "0"
- hpet: "disable"
- intel_idle.max_cstate: "1"
- intel_iommu: "on"
- intel_pstate: "disable"
- iommu: "pt"
- isolcpus: "1-17,19-35"
- mce: "off"
- nmi_watchdog: "0"
- nohz_full: "1-17,19-35"
- nosoftlockup: True
- numa_balancing: "disable"
- processor.max_cstate: "1"
- rcu_nocbs: "1-17,19-35"
- tsc: "reliable"
-sysctl:
- kernel:
- watchdog_cpumask: "0,18"
- vm:
- nr_hugepages: 36864
- max_map_count: 20000
-
-inventory_cimc_hostname: '10.30.50.21'
-cpu_microarchitecture: "haswell"
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.22.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.22.yaml
index 797606a353..e01be5072c 100644
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.22.yaml
+++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.22.yaml
@@ -1,29 +1,57 @@
---
# file: host_vars/10.30.51.22.yaml
-hostname: "t2-sut2"
-grub:
- audit: "0"
- hpet: "disable"
- intel_idle.max_cstate: "1"
- intel_iommu: "on"
- intel_pstate: "disable"
- iommu: "pt"
- isolcpus: "1-17,19-35"
- mce: "off"
- nmi_watchdog: "0"
- nohz_full: "1-17,19-35"
- nosoftlockup: True
- numa_balancing: "disable"
- processor.max_cstate: "1"
- rcu_nocbs: "1-17,19-35"
- tsc: "reliable"
-sysctl:
- kernel:
- watchdog_cpumask: "0,18"
- vm:
- nr_hugepages: 36864
- max_map_count: 20000
+hostname: "s42-nomad"
+inventory_cimc_hostname: "10.30.50.22"
-inventory_cimc_hostname: '10.30.50.22'
-cpu_microarchitecture: "haswell"
+# User management.
+users:
+ - username: localadmin
+ groups: [adm, sudo]
+ password: "$6$FIsbVDQR$5D0wgufOd2FtnmOiRNsGlgg6Loh.0x3dWSj72DSQnqisSyE9DROfgSgA6s0yxDwz4Jd5SRTXiTKuRYuSQ5POI1"
+ ssh_key:
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAgObJFDIMmPwQhhkjAynvlbwpM5yeSewyaE7vTLaFf4uFz4vmsE2hFf6B2xXHUGLVwoVfk91UeK7LOGrdDpoDDHzvPZXj5NmZI+WiWax5y2pQZNkcSZws0ENCeEc4hPwc4veJ1JmhokF4Bsmu14HyFMaFUhM8897jtJwsh+9fLA/no0iPGaQqEtRUQhkV+P4jCEPoY0qdRZAzVw/rY4EGAMhsJe3EJmyj63OfrrkG3+hvSLFo5pDxHQr3pZd/c6ukI7xMef48PosAvGCm3oxzb/Gu9PZIGuHLczY+tCnzCkY7MO7E+IWgjXrUAfYwSWz8XmFmA9LLe26DT5jkcK8hGQ== pmikus@cisco.com"
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCG7Shfr7ASXXwpazYDGFzChGl7i4HgY9n81GTwc17B/O19IiJdrxFcBQH19HMuTFtWU4d9bQ6xgzz2pojBN13L3pEsStCHovDlEYbvfRxI2l2hcAAop1j1E4izHAS9IvCoy1AgWqBg6tsfP5mzOwGbSbcdI9ADRKIHgDTVbHg9SqKed27bNOLU0u3/5ra2Oar/tVIW37geEqFV/nHIBZ03Y/mszvXP/t/hP5bgJIGJKkzTjLd1aqEcuGmubW+wTQnVnrhFB87dw91gPj6BVyV0+7Vt1wrvPKqP2sGJhojAMSrBQBySnlrYgEg00bwDgNGFevatfG9+nTId+nhoKBkXya3MjSp4HwrGqGcij3/h7ovlau3/iRhkqlSeqenaNm4zKTAXRTnb60j2WKa6im0zdqJX98anp4mhjE8xHhmmfZV3vRT8mtY4hF/lg79miXFHpWH97bZV6r/D9qj1HWI/laJfOC5MOJdRcLETwtsUNMHeHtVnY3yu0XFYNcl2Xwajtnz3waF7vn1QHvAM9p878+JrO/IEUqEc0yZWVvlhZ7Krx1pS+APoMy8097MYDGFzFTkYSstKLGbgm/S7dEiWuSVxmMUxW7JYO3gHrQ3f1EvAYh2UFdWy76Dzr5II9UpVwOwF+HL/Oy8Sk77bPaK+tn7Kh4Tx7WWE0+EOAgElQ== ayourtch@ayourtch-lnx"
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXUbbhesOpvPF+KI8nq4TXvEO/Un1aU/ehZ9clCyw9C40xjDkX2BlcX8WeHxFHe7fjFaCd07Vg73rn/3M9uNDnDxvjH1GQ0twvi3iBTO4PkHBBfGF9qnE8MYzno6FvlsVKLuUuPbfm8kbOQ+ZDfdXq6gdtXh0hSYYkqC1heNPCNsqaakkB99Edyle+Ot0V7cpW+Yo2wo98KuX/cgUEhVoA8QnNVE7zaWcjSXBZEteoA4gLpAbV6p67/d6H/2ykHTidBViYTEsHco56tJoA4nTPuAupDOLBcWXgF5TAN6z1aCn2JA1DDfniLakgrZ5oVj2qHhUmbxQAtnKQfHADjqzV jlinkes@jlinkes"
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD0GXoSGDZ95TE/TT3kf4ZS3Tiso0UO3MVhqAqZ/F6LOvLyqnMPfhxPz1XpHsDikxvKgwhZvdBm1dWbKkPsD7jtw0PGphQO8QuEwBd2ZMvxZ4Qg6lNDUl5x3zRO2nkbKpcqnOugGLTtXP+yfw/wfQ2HNFLDP9gE90xegsPT83PmRUntQlhbS3ByHcCSUScC+Y1heZXuoKNyrmUY46lxkKsNfhx8sQKo0YhB21atV/mcAQbAaO2LggmaQYGtWizqPNGWIRsi9W8ZYnKva67c3Pbv/TTfaqmrNCwOXJ8G9oL+/3MlKbl3b5mYlTs2a/e9yVgMNwUZVX7aiHpgPgaVjL6j swdev@BradyBunch-MacMini.local"
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmo2YP4t/f58AAYH72rOe5VjYjk3wb/GY3aJEd5s9WspLhnsY0xBL67C+4kMq6VmQQvg0cUB8RJSFX1tUXMHCorVWnXNHkYomx0MCPcPUpVHuRyEqczYJ2pzgZsPzoEfw9E5hTrAiGzYFNAS/NOSavapVMDZxa1zsX7+sWQvJfmVtJWpcTQb0TkoWXRsy0YM3PYfUbYvK7lR3lGwyhwCcJn0WwWGreFB7bIok0poqqX5BgJ/okZuvC8II+UfuGoBHNhg49oqST1JlNi9gRqDNmLWkHRaneWZiF+Y2hdN3PRCdkt1x3eU0R+cdi5kPKslb6P0lsjOEA7fDLlq1+T2z1"
+sshd_disable_password_login: true
+
+# Nomad settings.
+nomad_certificates:
+ - src: "{{ file_nomad_ca_pem }}"
+ dest: "{{ nomad_ca_file }}"
+ - src: "{{ file_nomad_client_pem }}"
+ dest: "{{ nomad_cert_file }}"
+ - src: "{{ file_nomad_client_key_pem }}"
+ dest: "{{ nomad_key_file }}"
+nomad_datacenter: "yul1"
+nomad_name: "{{ hostname }}-{{ ansible_architecture }}"
+nomad_node_role: "client"
+nomad_node_class: "builder"
+nomad_options:
+ driver.raw_exec.enable: 1
+ docker.cleanup.image: false
+ docker.privileged.enabled: true
+ docker.volumes.enabled: true
+ driver.whitelist: "docker,raw_exec,exec"
+nomad_servers:
+ - "10.30.51.30:4647"
+
+# Consul settigs.
+consul_nomad_integration: true
+consul_certificates:
+ - src: "{{ file_consul_ca_pem }}"
+ dest: "{{ consul_ca_file }}"
+consul_datacenter: "yul1"
+consul_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
+consul_node_name: "{{ hostname }}"
+consul_node_role: "client"
+consul_retry_servers:
+ - "10.30.51.30"
+
+# Docker daemon settings.
+docker_daemon:
+ dns: [ "172.17.0.1" ]
+ dns-opts: []
+ dns-search: [ "{{ansible_hostname}}" ]
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.24.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.24.yaml
index 25bb536f81..14659959bc 100644
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.24.yaml
+++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.24.yaml
@@ -1,29 +1,57 @@
---
# file: host_vars/10.30.51.24.yaml
-hostname: "t3-tg1"
-grub:
- audit: "0"
- hpet: "disable"
- intel_idle.max_cstate: "1"
- intel_iommu: "on"
- intel_pstate: "disable"
- iommu: "pt"
- isolcpus: "1-17,19-35"
- mce: "off"
- nmi_watchdog: "0"
- nohz_full: "1-17,19-35"
- nosoftlockup: True
- numa_balancing: "disable"
- processor.max_cstate: "1"
- rcu_nocbs: "1-17,19-35"
- tsc: "reliable"
-sysctl:
- kernel:
- watchdog_cpumask: "0,18"
- vm:
- nr_hugepages: 8192
- max_map_count: 20000
+hostname: "s43-nomad"
+inventory_cimc_hostname: "10.30.50.24"
-inventory_cimc_hostname: '10.30.50.24'
-cpu_microarchitecture: "haswell"
+# User management.
+users:
+ - username: localadmin
+ groups: [adm, sudo]
+ password: "$6$FIsbVDQR$5D0wgufOd2FtnmOiRNsGlgg6Loh.0x3dWSj72DSQnqisSyE9DROfgSgA6s0yxDwz4Jd5SRTXiTKuRYuSQ5POI1"
+ ssh_key:
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAgObJFDIMmPwQhhkjAynvlbwpM5yeSewyaE7vTLaFf4uFz4vmsE2hFf6B2xXHUGLVwoVfk91UeK7LOGrdDpoDDHzvPZXj5NmZI+WiWax5y2pQZNkcSZws0ENCeEc4hPwc4veJ1JmhokF4Bsmu14HyFMaFUhM8897jtJwsh+9fLA/no0iPGaQqEtRUQhkV+P4jCEPoY0qdRZAzVw/rY4EGAMhsJe3EJmyj63OfrrkG3+hvSLFo5pDxHQr3pZd/c6ukI7xMef48PosAvGCm3oxzb/Gu9PZIGuHLczY+tCnzCkY7MO7E+IWgjXrUAfYwSWz8XmFmA9LLe26DT5jkcK8hGQ== pmikus@cisco.com"
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCG7Shfr7ASXXwpazYDGFzChGl7i4HgY9n81GTwc17B/O19IiJdrxFcBQH19HMuTFtWU4d9bQ6xgzz2pojBN13L3pEsStCHovDlEYbvfRxI2l2hcAAop1j1E4izHAS9IvCoy1AgWqBg6tsfP5mzOwGbSbcdI9ADRKIHgDTVbHg9SqKed27bNOLU0u3/5ra2Oar/tVIW37geEqFV/nHIBZ03Y/mszvXP/t/hP5bgJIGJKkzTjLd1aqEcuGmubW+wTQnVnrhFB87dw91gPj6BVyV0+7Vt1wrvPKqP2sGJhojAMSrBQBySnlrYgEg00bwDgNGFevatfG9+nTId+nhoKBkXya3MjSp4HwrGqGcij3/h7ovlau3/iRhkqlSeqenaNm4zKTAXRTnb60j2WKa6im0zdqJX98anp4mhjE8xHhmmfZV3vRT8mtY4hF/lg79miXFHpWH97bZV6r/D9qj1HWI/laJfOC5MOJdRcLETwtsUNMHeHtVnY3yu0XFYNcl2Xwajtnz3waF7vn1QHvAM9p878+JrO/IEUqEc0yZWVvlhZ7Krx1pS+APoMy8097MYDGFzFTkYSstKLGbgm/S7dEiWuSVxmMUxW7JYO3gHrQ3f1EvAYh2UFdWy76Dzr5II9UpVwOwF+HL/Oy8Sk77bPaK+tn7Kh4Tx7WWE0+EOAgElQ== ayourtch@ayourtch-lnx"
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXUbbhesOpvPF+KI8nq4TXvEO/Un1aU/ehZ9clCyw9C40xjDkX2BlcX8WeHxFHe7fjFaCd07Vg73rn/3M9uNDnDxvjH1GQ0twvi3iBTO4PkHBBfGF9qnE8MYzno6FvlsVKLuUuPbfm8kbOQ+ZDfdXq6gdtXh0hSYYkqC1heNPCNsqaakkB99Edyle+Ot0V7cpW+Yo2wo98KuX/cgUEhVoA8QnNVE7zaWcjSXBZEteoA4gLpAbV6p67/d6H/2ykHTidBViYTEsHco56tJoA4nTPuAupDOLBcWXgF5TAN6z1aCn2JA1DDfniLakgrZ5oVj2qHhUmbxQAtnKQfHADjqzV jlinkes@jlinkes"
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD0GXoSGDZ95TE/TT3kf4ZS3Tiso0UO3MVhqAqZ/F6LOvLyqnMPfhxPz1XpHsDikxvKgwhZvdBm1dWbKkPsD7jtw0PGphQO8QuEwBd2ZMvxZ4Qg6lNDUl5x3zRO2nkbKpcqnOugGLTtXP+yfw/wfQ2HNFLDP9gE90xegsPT83PmRUntQlhbS3ByHcCSUScC+Y1heZXuoKNyrmUY46lxkKsNfhx8sQKo0YhB21atV/mcAQbAaO2LggmaQYGtWizqPNGWIRsi9W8ZYnKva67c3Pbv/TTfaqmrNCwOXJ8G9oL+/3MlKbl3b5mYlTs2a/e9yVgMNwUZVX7aiHpgPgaVjL6j swdev@BradyBunch-MacMini.local"
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmo2YP4t/f58AAYH72rOe5VjYjk3wb/GY3aJEd5s9WspLhnsY0xBL67C+4kMq6VmQQvg0cUB8RJSFX1tUXMHCorVWnXNHkYomx0MCPcPUpVHuRyEqczYJ2pzgZsPzoEfw9E5hTrAiGzYFNAS/NOSavapVMDZxa1zsX7+sWQvJfmVtJWpcTQb0TkoWXRsy0YM3PYfUbYvK7lR3lGwyhwCcJn0WwWGreFB7bIok0poqqX5BgJ/okZuvC8II+UfuGoBHNhg49oqST1JlNi9gRqDNmLWkHRaneWZiF+Y2hdN3PRCdkt1x3eU0R+cdi5kPKslb6P0lsjOEA7fDLlq1+T2z1"
+sshd_disable_password_login: true
+
+# Nomad settings.
+nomad_certificates:
+ - src: "{{ file_nomad_ca_pem }}"
+ dest: "{{ nomad_ca_file }}"
+ - src: "{{ file_nomad_client_pem }}"
+ dest: "{{ nomad_cert_file }}"
+ - src: "{{ file_nomad_client_key_pem }}"
+ dest: "{{ nomad_key_file }}"
+nomad_datacenter: "yul1"
+nomad_name: "{{ hostname }}-{{ ansible_architecture }}"
+nomad_node_role: "client"
+nomad_node_class: "builder"
+nomad_options:
+ driver.raw_exec.enable: 1
+ docker.cleanup.image: false
+ docker.privileged.enabled: true
+ docker.volumes.enabled: true
+ driver.whitelist: "docker,raw_exec,exec"
+nomad_servers:
+ - "10.30.51.30:4647"
+
+# Consul settigs.
+consul_nomad_integration: true
+consul_certificates:
+ - src: "{{ file_consul_ca_pem }}"
+ dest: "{{ consul_ca_file }}"
+consul_datacenter: "yul1"
+consul_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
+consul_node_name: "{{ hostname }}"
+consul_node_role: "client"
+consul_retry_servers:
+ - "10.30.51.30"
+
+# Docker daemon settings.
+docker_daemon:
+ dns: [ "172.17.0.1" ]
+ dns-opts: []
+ dns-search: [ "{{ansible_hostname}}" ] \ No newline at end of file
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.25.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.25.yaml
index db02aa7816..4755a75332 100644
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.25.yaml
+++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.25.yaml
@@ -1,29 +1,57 @@
---
# file: host_vars/10.30.51.25.yaml
-hostname: "t3-sut1"
-grub:
- audit: "0"
- hpet: "disable"
- intel_idle.max_cstate: "1"
- intel_iommu: "on"
- intel_pstate: "disable"
- iommu: "pt"
- isolcpus: "1-17,19-35"
- mce: "off"
- nmi_watchdog: "0"
- nohz_full: "1-17,19-35"
- nosoftlockup: True
- numa_balancing: "disable"
- processor.max_cstate: "1"
- rcu_nocbs: "1-17,19-35"
- tsc: "reliable"
-sysctl:
- kernel:
- watchdog_cpumask: "0,18"
- vm:
- nr_hugepages: 36864
- max_map_count: 20000
+hostname: "s44-nomad"
+inventory_cimc_hostname: "10.30.50.25"
-inventory_cimc_hostname: '10.30.50.25'
-cpu_microarchitecture: "haswell"
+# User management.
+users:
+ - username: localadmin
+ groups: [adm, sudo]
+ password: "$6$FIsbVDQR$5D0wgufOd2FtnmOiRNsGlgg6Loh.0x3dWSj72DSQnqisSyE9DROfgSgA6s0yxDwz4Jd5SRTXiTKuRYuSQ5POI1"
+ ssh_key:
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAgObJFDIMmPwQhhkjAynvlbwpM5yeSewyaE7vTLaFf4uFz4vmsE2hFf6B2xXHUGLVwoVfk91UeK7LOGrdDpoDDHzvPZXj5NmZI+WiWax5y2pQZNkcSZws0ENCeEc4hPwc4veJ1JmhokF4Bsmu14HyFMaFUhM8897jtJwsh+9fLA/no0iPGaQqEtRUQhkV+P4jCEPoY0qdRZAzVw/rY4EGAMhsJe3EJmyj63OfrrkG3+hvSLFo5pDxHQr3pZd/c6ukI7xMef48PosAvGCm3oxzb/Gu9PZIGuHLczY+tCnzCkY7MO7E+IWgjXrUAfYwSWz8XmFmA9LLe26DT5jkcK8hGQ== pmikus@cisco.com"
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCG7Shfr7ASXXwpazYDGFzChGl7i4HgY9n81GTwc17B/O19IiJdrxFcBQH19HMuTFtWU4d9bQ6xgzz2pojBN13L3pEsStCHovDlEYbvfRxI2l2hcAAop1j1E4izHAS9IvCoy1AgWqBg6tsfP5mzOwGbSbcdI9ADRKIHgDTVbHg9SqKed27bNOLU0u3/5ra2Oar/tVIW37geEqFV/nHIBZ03Y/mszvXP/t/hP5bgJIGJKkzTjLd1aqEcuGmubW+wTQnVnrhFB87dw91gPj6BVyV0+7Vt1wrvPKqP2sGJhojAMSrBQBySnlrYgEg00bwDgNGFevatfG9+nTId+nhoKBkXya3MjSp4HwrGqGcij3/h7ovlau3/iRhkqlSeqenaNm4zKTAXRTnb60j2WKa6im0zdqJX98anp4mhjE8xHhmmfZV3vRT8mtY4hF/lg79miXFHpWH97bZV6r/D9qj1HWI/laJfOC5MOJdRcLETwtsUNMHeHtVnY3yu0XFYNcl2Xwajtnz3waF7vn1QHvAM9p878+JrO/IEUqEc0yZWVvlhZ7Krx1pS+APoMy8097MYDGFzFTkYSstKLGbgm/S7dEiWuSVxmMUxW7JYO3gHrQ3f1EvAYh2UFdWy76Dzr5II9UpVwOwF+HL/Oy8Sk77bPaK+tn7Kh4Tx7WWE0+EOAgElQ== ayourtch@ayourtch-lnx"
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXUbbhesOpvPF+KI8nq4TXvEO/Un1aU/ehZ9clCyw9C40xjDkX2BlcX8WeHxFHe7fjFaCd07Vg73rn/3M9uNDnDxvjH1GQ0twvi3iBTO4PkHBBfGF9qnE8MYzno6FvlsVKLuUuPbfm8kbOQ+ZDfdXq6gdtXh0hSYYkqC1heNPCNsqaakkB99Edyle+Ot0V7cpW+Yo2wo98KuX/cgUEhVoA8QnNVE7zaWcjSXBZEteoA4gLpAbV6p67/d6H/2ykHTidBViYTEsHco56tJoA4nTPuAupDOLBcWXgF5TAN6z1aCn2JA1DDfniLakgrZ5oVj2qHhUmbxQAtnKQfHADjqzV jlinkes@jlinkes"
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD0GXoSGDZ95TE/TT3kf4ZS3Tiso0UO3MVhqAqZ/F6LOvLyqnMPfhxPz1XpHsDikxvKgwhZvdBm1dWbKkPsD7jtw0PGphQO8QuEwBd2ZMvxZ4Qg6lNDUl5x3zRO2nkbKpcqnOugGLTtXP+yfw/wfQ2HNFLDP9gE90xegsPT83PmRUntQlhbS3ByHcCSUScC+Y1heZXuoKNyrmUY46lxkKsNfhx8sQKo0YhB21atV/mcAQbAaO2LggmaQYGtWizqPNGWIRsi9W8ZYnKva67c3Pbv/TTfaqmrNCwOXJ8G9oL+/3MlKbl3b5mYlTs2a/e9yVgMNwUZVX7aiHpgPgaVjL6j swdev@BradyBunch-MacMini.local"
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmo2YP4t/f58AAYH72rOe5VjYjk3wb/GY3aJEd5s9WspLhnsY0xBL67C+4kMq6VmQQvg0cUB8RJSFX1tUXMHCorVWnXNHkYomx0MCPcPUpVHuRyEqczYJ2pzgZsPzoEfw9E5hTrAiGzYFNAS/NOSavapVMDZxa1zsX7+sWQvJfmVtJWpcTQb0TkoWXRsy0YM3PYfUbYvK7lR3lGwyhwCcJn0WwWGreFB7bIok0poqqX5BgJ/okZuvC8II+UfuGoBHNhg49oqST1JlNi9gRqDNmLWkHRaneWZiF+Y2hdN3PRCdkt1x3eU0R+cdi5kPKslb6P0lsjOEA7fDLlq1+T2z1"
+sshd_disable_password_login: true
+
+# Nomad settings.
+nomad_certificates:
+ - src: "{{ file_nomad_ca_pem }}"
+ dest: "{{ nomad_ca_file }}"
+ - src: "{{ file_nomad_client_pem }}"
+ dest: "{{ nomad_cert_file }}"
+ - src: "{{ file_nomad_client_key_pem }}"
+ dest: "{{ nomad_key_file }}"
+nomad_datacenter: "yul1"
+nomad_name: "{{ hostname }}-{{ ansible_architecture }}"
+nomad_node_role: "client"
+nomad_node_class: "builder"
+nomad_options:
+ driver.raw_exec.enable: 1
+ docker.cleanup.image: false
+ docker.privileged.enabled: true
+ docker.volumes.enabled: true
+ driver.whitelist: "docker,raw_exec,exec"
+nomad_servers:
+ - "10.30.51.30:4647"
+
+# Consul settigs.
+consul_nomad_integration: true
+consul_certificates:
+ - src: "{{ file_consul_ca_pem }}"
+ dest: "{{ consul_ca_file }}"
+consul_datacenter: "yul1"
+consul_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
+consul_node_name: "{{ hostname }}"
+consul_node_role: "client"
+consul_retry_servers:
+ - "10.30.51.30"
+
+# Docker daemon settings.
+docker_daemon:
+ dns: [ "172.17.0.1" ]
+ dns-opts: []
+ dns-search: [ "{{ansible_hostname}}" ]
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.26.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.26.yaml
index 0e97bd0fd2..850c2f7a2b 100644
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.26.yaml
+++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.26.yaml
@@ -1,29 +1,57 @@
---
# file: host_vars/10.30.51.26.yaml
-hostname: "t3-sut2"
-grub:
- audit: "0"
- hpet: "disable"
- intel_idle.max_cstate: "1"
- intel_iommu: "on"
- intel_pstate: "disable"
- iommu: "pt"
- isolcpus: "1-17,19-35"
- mce: "off"
- nmi_watchdog: "0"
- nohz_full: "1-17,19-35"
- nosoftlockup: True
- numa_balancing: "disable"
- processor.max_cstate: "1"
- rcu_nocbs: "1-17,19-35"
- tsc: "reliable"
-sysctl:
- kernel:
- watchdog_cpumask: "0,18"
- vm:
- nr_hugepages: 36864
- max_map_count: 20000
+hostname: "s45-nomad"
+inventory_cimc_hostname: "10.30.50.26"
-inventory_cimc_hostname: '10.30.50.26'
-cpu_microarchitecture: "haswell"
+# User management.
+users:
+ - username: localadmin
+ groups: [adm, sudo]
+ password: "$6$FIsbVDQR$5D0wgufOd2FtnmOiRNsGlgg6Loh.0x3dWSj72DSQnqisSyE9DROfgSgA6s0yxDwz4Jd5SRTXiTKuRYuSQ5POI1"
+ ssh_key:
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAgObJFDIMmPwQhhkjAynvlbwpM5yeSewyaE7vTLaFf4uFz4vmsE2hFf6B2xXHUGLVwoVfk91UeK7LOGrdDpoDDHzvPZXj5NmZI+WiWax5y2pQZNkcSZws0ENCeEc4hPwc4veJ1JmhokF4Bsmu14HyFMaFUhM8897jtJwsh+9fLA/no0iPGaQqEtRUQhkV+P4jCEPoY0qdRZAzVw/rY4EGAMhsJe3EJmyj63OfrrkG3+hvSLFo5pDxHQr3pZd/c6ukI7xMef48PosAvGCm3oxzb/Gu9PZIGuHLczY+tCnzCkY7MO7E+IWgjXrUAfYwSWz8XmFmA9LLe26DT5jkcK8hGQ== pmikus@cisco.com"
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCG7Shfr7ASXXwpazYDGFzChGl7i4HgY9n81GTwc17B/O19IiJdrxFcBQH19HMuTFtWU4d9bQ6xgzz2pojBN13L3pEsStCHovDlEYbvfRxI2l2hcAAop1j1E4izHAS9IvCoy1AgWqBg6tsfP5mzOwGbSbcdI9ADRKIHgDTVbHg9SqKed27bNOLU0u3/5ra2Oar/tVIW37geEqFV/nHIBZ03Y/mszvXP/t/hP5bgJIGJKkzTjLd1aqEcuGmubW+wTQnVnrhFB87dw91gPj6BVyV0+7Vt1wrvPKqP2sGJhojAMSrBQBySnlrYgEg00bwDgNGFevatfG9+nTId+nhoKBkXya3MjSp4HwrGqGcij3/h7ovlau3/iRhkqlSeqenaNm4zKTAXRTnb60j2WKa6im0zdqJX98anp4mhjE8xHhmmfZV3vRT8mtY4hF/lg79miXFHpWH97bZV6r/D9qj1HWI/laJfOC5MOJdRcLETwtsUNMHeHtVnY3yu0XFYNcl2Xwajtnz3waF7vn1QHvAM9p878+JrO/IEUqEc0yZWVvlhZ7Krx1pS+APoMy8097MYDGFzFTkYSstKLGbgm/S7dEiWuSVxmMUxW7JYO3gHrQ3f1EvAYh2UFdWy76Dzr5II9UpVwOwF+HL/Oy8Sk77bPaK+tn7Kh4Tx7WWE0+EOAgElQ== ayourtch@ayourtch-lnx"
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXUbbhesOpvPF+KI8nq4TXvEO/Un1aU/ehZ9clCyw9C40xjDkX2BlcX8WeHxFHe7fjFaCd07Vg73rn/3M9uNDnDxvjH1GQ0twvi3iBTO4PkHBBfGF9qnE8MYzno6FvlsVKLuUuPbfm8kbOQ+ZDfdXq6gdtXh0hSYYkqC1heNPCNsqaakkB99Edyle+Ot0V7cpW+Yo2wo98KuX/cgUEhVoA8QnNVE7zaWcjSXBZEteoA4gLpAbV6p67/d6H/2ykHTidBViYTEsHco56tJoA4nTPuAupDOLBcWXgF5TAN6z1aCn2JA1DDfniLakgrZ5oVj2qHhUmbxQAtnKQfHADjqzV jlinkes@jlinkes"
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD0GXoSGDZ95TE/TT3kf4ZS3Tiso0UO3MVhqAqZ/F6LOvLyqnMPfhxPz1XpHsDikxvKgwhZvdBm1dWbKkPsD7jtw0PGphQO8QuEwBd2ZMvxZ4Qg6lNDUl5x3zRO2nkbKpcqnOugGLTtXP+yfw/wfQ2HNFLDP9gE90xegsPT83PmRUntQlhbS3ByHcCSUScC+Y1heZXuoKNyrmUY46lxkKsNfhx8sQKo0YhB21atV/mcAQbAaO2LggmaQYGtWizqPNGWIRsi9W8ZYnKva67c3Pbv/TTfaqmrNCwOXJ8G9oL+/3MlKbl3b5mYlTs2a/e9yVgMNwUZVX7aiHpgPgaVjL6j swdev@BradyBunch-MacMini.local"
+ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmo2YP4t/f58AAYH72rOe5VjYjk3wb/GY3aJEd5s9WspLhnsY0xBL67C+4kMq6VmQQvg0cUB8RJSFX1tUXMHCorVWnXNHkYomx0MCPcPUpVHuRyEqczYJ2pzgZsPzoEfw9E5hTrAiGzYFNAS/NOSavapVMDZxa1zsX7+sWQvJfmVtJWpcTQb0TkoWXRsy0YM3PYfUbYvK7lR3lGwyhwCcJn0WwWGreFB7bIok0poqqX5BgJ/okZuvC8II+UfuGoBHNhg49oqST1JlNi9gRqDNmLWkHRaneWZiF+Y2hdN3PRCdkt1x3eU0R+cdi5kPKslb6P0lsjOEA7fDLlq1+T2z1"
+sshd_disable_password_login: true
+
+# Nomad settings.
+nomad_certificates:
+ - src: "{{ file_nomad_ca_pem }}"
+ dest: "{{ nomad_ca_file }}"
+ - src: "{{ file_nomad_client_pem }}"
+ dest: "{{ nomad_cert_file }}"
+ - src: "{{ file_nomad_client_key_pem }}"
+ dest: "{{ nomad_key_file }}"
+nomad_datacenter: "yul1"
+nomad_name: "{{ hostname }}-{{ ansible_architecture }}"
+nomad_node_role: "client"
+nomad_node_class: "builder"
+nomad_options:
+ driver.raw_exec.enable: 1
+ docker.cleanup.image: false
+ docker.privileged.enabled: true
+ docker.volumes.enabled: true
+ driver.whitelist: "docker,raw_exec,exec"
+nomad_servers:
+ - "10.30.51.30:4647"
+
+# Consul settigs.
+consul_nomad_integration: true
+consul_certificates:
+ - src: "{{ file_consul_ca_pem }}"
+ dest: "{{ consul_ca_file }}"
+consul_datacenter: "yul1"
+consul_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
+consul_node_name: "{{ hostname }}"
+consul_node_role: "client"
+consul_retry_servers:
+ - "10.30.51.30"
+
+# Docker daemon settings.
+docker_daemon:
+ dns: [ "172.17.0.1" ]
+ dns-opts: []
+ dns-search: [ "{{ansible_hostname}}" ]
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.28.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.28.yaml
index 2ddd840807..c279cf163f 100644
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.28.yaml
+++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.28.yaml
@@ -35,8 +35,10 @@ nomad_options:
docker.privileged.enabled: true
docker.volumes.enabled: true
driver.whitelist: "docker,raw_exec,exec"
- fingerprint.network.disallow_link_local: true
-nomad_servers: [ "10.30.51.30:4647", "10.30.51.32:4647", "10.30.51.33:4647" ]
+nomad_servers:
+ - "10.30.51.28:4647"
+ - "10.30.51.29:4647"
+ - "10.30.51.30:4647"
# Consul settigs.
consul_nomad_integration: true
@@ -48,9 +50,9 @@ consul_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
consul_node_name: "{{ hostname }}"
consul_node_role: "client"
consul_retry_servers:
+ - "10.30.51.28"
+ - "10.30.51.29"
- "10.30.51.30"
- - "10.30.51.32"
- - "10.30.51.33"
# Docker daemon settings.
docker_daemon:
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.29.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.29.yaml
index c6ab1c8e20..8bcc6ffe28 100644
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.29.yaml
+++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.29.yaml
@@ -35,7 +35,10 @@ nomad_options:
docker.privileged.enabled: true
docker.volumes.enabled: true
driver.whitelist: "docker,raw_exec,exec"
-nomad_servers: [ "10.30.51.30:4647", "10.30.51.32:4647", "10.30.51.33:4647" ]
+nomad_servers:
+ - "10.30.51.28:4647"
+ - "10.30.51.29:4647"
+ - "10.30.51.30:4647"
# Consul settigs.
consul_nomad_integration: true
@@ -47,9 +50,9 @@ consul_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
consul_node_name: "{{ hostname }}"
consul_node_role: "client"
consul_retry_servers:
+ - "10.30.51.28"
+ - "10.30.51.29"
- "10.30.51.30"
- - "10.30.51.32"
- - "10.30.51.33"
# Docker daemon settings.
docker_daemon:
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.32.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.32.yaml
deleted file mode 100644
index 03d940f0b9..0000000000
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.32.yaml
+++ /dev/null
@@ -1,63 +0,0 @@
----
-# file: host_vars/10.30.51.32.yaml
-
-hostname: "s42-nomad"
-inventory_cimc_hostname: "10.30.50.32"
-
-# User management.
-users:
- - username: localadmin
- groups: [adm, sudo]
- password: "$6$FIsbVDQR$5D0wgufOd2FtnmOiRNsGlgg6Loh.0x3dWSj72DSQnqisSyE9DROfgSgA6s0yxDwz4Jd5SRTXiTKuRYuSQ5POI1"
- ssh_key:
- - "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAgObJFDIMmPwQhhkjAynvlbwpM5yeSewyaE7vTLaFf4uFz4vmsE2hFf6B2xXHUGLVwoVfk91UeK7LOGrdDpoDDHzvPZXj5NmZI+WiWax5y2pQZNkcSZws0ENCeEc4hPwc4veJ1JmhokF4Bsmu14HyFMaFUhM8897jtJwsh+9fLA/no0iPGaQqEtRUQhkV+P4jCEPoY0qdRZAzVw/rY4EGAMhsJe3EJmyj63OfrrkG3+hvSLFo5pDxHQr3pZd/c6ukI7xMef48PosAvGCm3oxzb/Gu9PZIGuHLczY+tCnzCkY7MO7E+IWgjXrUAfYwSWz8XmFmA9LLe26DT5jkcK8hGQ== pmikus@cisco.com"
- - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCG7Shfr7ASXXwpazYDGFzChGl7i4HgY9n81GTwc17B/O19IiJdrxFcBQH19HMuTFtWU4d9bQ6xgzz2pojBN13L3pEsStCHovDlEYbvfRxI2l2hcAAop1j1E4izHAS9IvCoy1AgWqBg6tsfP5mzOwGbSbcdI9ADRKIHgDTVbHg9SqKed27bNOLU0u3/5ra2Oar/tVIW37geEqFV/nHIBZ03Y/mszvXP/t/hP5bgJIGJKkzTjLd1aqEcuGmubW+wTQnVnrhFB87dw91gPj6BVyV0+7Vt1wrvPKqP2sGJhojAMSrBQBySnlrYgEg00bwDgNGFevatfG9+nTId+nhoKBkXya3MjSp4HwrGqGcij3/h7ovlau3/iRhkqlSeqenaNm4zKTAXRTnb60j2WKa6im0zdqJX98anp4mhjE8xHhmmfZV3vRT8mtY4hF/lg79miXFHpWH97bZV6r/D9qj1HWI/laJfOC5MOJdRcLETwtsUNMHeHtVnY3yu0XFYNcl2Xwajtnz3waF7vn1QHvAM9p878+JrO/IEUqEc0yZWVvlhZ7Krx1pS+APoMy8097MYDGFzFTkYSstKLGbgm/S7dEiWuSVxmMUxW7JYO3gHrQ3f1EvAYh2UFdWy76Dzr5II9UpVwOwF+HL/Oy8Sk77bPaK+tn7Kh4Tx7WWE0+EOAgElQ== ayourtch@ayourtch-lnx"
- - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXUbbhesOpvPF+KI8nq4TXvEO/Un1aU/ehZ9clCyw9C40xjDkX2BlcX8WeHxFHe7fjFaCd07Vg73rn/3M9uNDnDxvjH1GQ0twvi3iBTO4PkHBBfGF9qnE8MYzno6FvlsVKLuUuPbfm8kbOQ+ZDfdXq6gdtXh0hSYYkqC1heNPCNsqaakkB99Edyle+Ot0V7cpW+Yo2wo98KuX/cgUEhVoA8QnNVE7zaWcjSXBZEteoA4gLpAbV6p67/d6H/2ykHTidBViYTEsHco56tJoA4nTPuAupDOLBcWXgF5TAN6z1aCn2JA1DDfniLakgrZ5oVj2qHhUmbxQAtnKQfHADjqzV jlinkes@jlinkes"
- - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD0GXoSGDZ95TE/TT3kf4ZS3Tiso0UO3MVhqAqZ/F6LOvLyqnMPfhxPz1XpHsDikxvKgwhZvdBm1dWbKkPsD7jtw0PGphQO8QuEwBd2ZMvxZ4Qg6lNDUl5x3zRO2nkbKpcqnOugGLTtXP+yfw/wfQ2HNFLDP9gE90xegsPT83PmRUntQlhbS3ByHcCSUScC+Y1heZXuoKNyrmUY46lxkKsNfhx8sQKo0YhB21atV/mcAQbAaO2LggmaQYGtWizqPNGWIRsi9W8ZYnKva67c3Pbv/TTfaqmrNCwOXJ8G9oL+/3MlKbl3b5mYlTs2a/e9yVgMNwUZVX7aiHpgPgaVjL6j swdev@BradyBunch-MacMini.local"
- - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmo2YP4t/f58AAYH72rOe5VjYjk3wb/GY3aJEd5s9WspLhnsY0xBL67C+4kMq6VmQQvg0cUB8RJSFX1tUXMHCorVWnXNHkYomx0MCPcPUpVHuRyEqczYJ2pzgZsPzoEfw9E5hTrAiGzYFNAS/NOSavapVMDZxa1zsX7+sWQvJfmVtJWpcTQb0TkoWXRsy0YM3PYfUbYvK7lR3lGwyhwCcJn0WwWGreFB7bIok0poqqX5BgJ/okZuvC8II+UfuGoBHNhg49oqST1JlNi9gRqDNmLWkHRaneWZiF+Y2hdN3PRCdkt1x3eU0R+cdi5kPKslb6P0lsjOEA7fDLlq1+T2z1"
-sshd_disable_password_login: true
-
-# Nomad settings.
-nomad_certificates:
- - src: "{{ file_nomad_ca_pem }}"
- dest: "{{ nomad_ca_file }}"
- - src: "{{ file_nomad_server_pem }}"
- dest: "{{ nomad_cert_file }}"
- - src: "{{ file_nomad_server_key_pem }}"
- dest: "{{ nomad_key_file }}"
-nomad_datacenter: "yul1"
-nomad_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
-nomad_name: "{{ hostname }}-{{ ansible_architecture }}"
-nomad_node_role: "both"
-nomad_node_class: "builder"
-nomad_options:
- driver.raw_exec.enable: 1
- docker.cleanup.image: false
- docker.privileged.enabled: true
- docker.volumes.enabled: true
- driver.whitelist: "docker,raw_exec,exec"
-nomad_retry_servers: [ "10.30.51.33", "10.30.51.30" ]
-nomad_servers: [ "10.30.51.30:4647", "10.30.51.33:4647" ]
-
-# Consul settigs.
-consul_nomad_integration: true
-consul_certificates:
- - src: "{{ file_consul_ca_pem }}"
- dest: "{{ consul_ca_file }}"
- - src: "{{ file_consul_server_1_pem }}"
- dest: "{{ consul_cert_file }}"
- - src: "{{ file_consul_server_1_key_pem }}"
- dest: "{{ consul_key_file }}"
-consul_datacenter: "yul1"
-consul_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
-consul_node_name: "{{ hostname }}"
-consul_node_role: "both"
-consul_retry_servers:
- - "10.30.51.30"
- - "10.30.51.33"
-
-# Docker daemon settings.
-docker_daemon:
- dns: [ "172.17.0.1" ]
- dns-opts: []
- dns-search: [ "{{ansible_hostname}}" ]
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.33.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.33.yaml
deleted file mode 100644
index 646be7a77f..0000000000
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.33.yaml
+++ /dev/null
@@ -1,63 +0,0 @@
----
-# file: host_vars/10.30.51.33.yaml
-
-hostname: "s43-nomad"
-inventory_cimc_hostname: "10.30.50.33"
-
-# User management.
-users:
- - username: localadmin
- groups: [adm, sudo]
- password: "$6$FIsbVDQR$5D0wgufOd2FtnmOiRNsGlgg6Loh.0x3dWSj72DSQnqisSyE9DROfgSgA6s0yxDwz4Jd5SRTXiTKuRYuSQ5POI1"
- ssh_key:
- - "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAgObJFDIMmPwQhhkjAynvlbwpM5yeSewyaE7vTLaFf4uFz4vmsE2hFf6B2xXHUGLVwoVfk91UeK7LOGrdDpoDDHzvPZXj5NmZI+WiWax5y2pQZNkcSZws0ENCeEc4hPwc4veJ1JmhokF4Bsmu14HyFMaFUhM8897jtJwsh+9fLA/no0iPGaQqEtRUQhkV+P4jCEPoY0qdRZAzVw/rY4EGAMhsJe3EJmyj63OfrrkG3+hvSLFo5pDxHQr3pZd/c6ukI7xMef48PosAvGCm3oxzb/Gu9PZIGuHLczY+tCnzCkY7MO7E+IWgjXrUAfYwSWz8XmFmA9LLe26DT5jkcK8hGQ== pmikus@cisco.com"
- - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCG7Shfr7ASXXwpazYDGFzChGl7i4HgY9n81GTwc17B/O19IiJdrxFcBQH19HMuTFtWU4d9bQ6xgzz2pojBN13L3pEsStCHovDlEYbvfRxI2l2hcAAop1j1E4izHAS9IvCoy1AgWqBg6tsfP5mzOwGbSbcdI9ADRKIHgDTVbHg9SqKed27bNOLU0u3/5ra2Oar/tVIW37geEqFV/nHIBZ03Y/mszvXP/t/hP5bgJIGJKkzTjLd1aqEcuGmubW+wTQnVnrhFB87dw91gPj6BVyV0+7Vt1wrvPKqP2sGJhojAMSrBQBySnlrYgEg00bwDgNGFevatfG9+nTId+nhoKBkXya3MjSp4HwrGqGcij3/h7ovlau3/iRhkqlSeqenaNm4zKTAXRTnb60j2WKa6im0zdqJX98anp4mhjE8xHhmmfZV3vRT8mtY4hF/lg79miXFHpWH97bZV6r/D9qj1HWI/laJfOC5MOJdRcLETwtsUNMHeHtVnY3yu0XFYNcl2Xwajtnz3waF7vn1QHvAM9p878+JrO/IEUqEc0yZWVvlhZ7Krx1pS+APoMy8097MYDGFzFTkYSstKLGbgm/S7dEiWuSVxmMUxW7JYO3gHrQ3f1EvAYh2UFdWy76Dzr5II9UpVwOwF+HL/Oy8Sk77bPaK+tn7Kh4Tx7WWE0+EOAgElQ== ayourtch@ayourtch-lnx"
- - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXUbbhesOpvPF+KI8nq4TXvEO/Un1aU/ehZ9clCyw9C40xjDkX2BlcX8WeHxFHe7fjFaCd07Vg73rn/3M9uNDnDxvjH1GQ0twvi3iBTO4PkHBBfGF9qnE8MYzno6FvlsVKLuUuPbfm8kbOQ+ZDfdXq6gdtXh0hSYYkqC1heNPCNsqaakkB99Edyle+Ot0V7cpW+Yo2wo98KuX/cgUEhVoA8QnNVE7zaWcjSXBZEteoA4gLpAbV6p67/d6H/2ykHTidBViYTEsHco56tJoA4nTPuAupDOLBcWXgF5TAN6z1aCn2JA1DDfniLakgrZ5oVj2qHhUmbxQAtnKQfHADjqzV jlinkes@jlinkes"
- - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD0GXoSGDZ95TE/TT3kf4ZS3Tiso0UO3MVhqAqZ/F6LOvLyqnMPfhxPz1XpHsDikxvKgwhZvdBm1dWbKkPsD7jtw0PGphQO8QuEwBd2ZMvxZ4Qg6lNDUl5x3zRO2nkbKpcqnOugGLTtXP+yfw/wfQ2HNFLDP9gE90xegsPT83PmRUntQlhbS3ByHcCSUScC+Y1heZXuoKNyrmUY46lxkKsNfhx8sQKo0YhB21atV/mcAQbAaO2LggmaQYGtWizqPNGWIRsi9W8ZYnKva67c3Pbv/TTfaqmrNCwOXJ8G9oL+/3MlKbl3b5mYlTs2a/e9yVgMNwUZVX7aiHpgPgaVjL6j swdev@BradyBunch-MacMini.local"
- - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmo2YP4t/f58AAYH72rOe5VjYjk3wb/GY3aJEd5s9WspLhnsY0xBL67C+4kMq6VmQQvg0cUB8RJSFX1tUXMHCorVWnXNHkYomx0MCPcPUpVHuRyEqczYJ2pzgZsPzoEfw9E5hTrAiGzYFNAS/NOSavapVMDZxa1zsX7+sWQvJfmVtJWpcTQb0TkoWXRsy0YM3PYfUbYvK7lR3lGwyhwCcJn0WwWGreFB7bIok0poqqX5BgJ/okZuvC8II+UfuGoBHNhg49oqST1JlNi9gRqDNmLWkHRaneWZiF+Y2hdN3PRCdkt1x3eU0R+cdi5kPKslb6P0lsjOEA7fDLlq1+T2z1"
-sshd_disable_password_login: true
-
-# Nomad settings.
-nomad_certificates:
- - src: "{{ file_nomad_ca_pem }}"
- dest: "{{ nomad_ca_file }}"
- - src: "{{ file_nomad_server_pem }}"
- dest: "{{ nomad_cert_file }}"
- - src: "{{ file_nomad_server_key_pem }}"
- dest: "{{ nomad_key_file }}"
-nomad_datacenter: "yul1"
-nomad_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
-nomad_name: "{{ hostname }}-{{ ansible_architecture }}"
-nomad_node_role: "both"
-nomad_node_class: "builder"
-nomad_options:
- driver.raw_exec.enable: 1
- docker.cleanup.image: false
- docker.privileged.enabled: true
- docker.volumes.enabled: true
- driver.whitelist: "docker,raw_exec,exec"
-nomad_retry_servers: [ "10.30.51.32", "10.30.51.30" ]
-nomad_servers: [ "10.30.51.30:4647", "10.30.51.32:4647" ]
-
-# Consul settigs.
-consul_nomad_integration: true
-consul_certificates:
- - src: "{{ vault_consul_v1_ca_file }}"
- dest: "{{ consul_ca_file }}"
- - src: "{{ vault_consul_v1_cert_file }}"
- dest: "{{ consul_cert_file }}"
- - src: "{{ vault_consul_v1_key_file }}"
- dest: "{{ consul_key_file }}"
-consul_datacenter: "yul1"
-consul_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
-consul_node_name: "{{ hostname }}"
-consul_node_role: "both"
-consul_retry_servers:
- - "10.30.51.30"
- - "10.30.51.32"
-
-# Docker daemon settings.
-docker_daemon:
- dns: [ "172.17.0.1" ]
- dns-opts: []
- dns-search: [ "{{ansible_hostname}}" ] \ No newline at end of file
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.34.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.34.yaml
deleted file mode 100644
index 6a2b8e4410..0000000000
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.34.yaml
+++ /dev/null
@@ -1,60 +0,0 @@
----
-# file: host_vars/10.30.51.34.yaml
-
-hostname: "s44-nomad"
-inventory_cimc_hostname: "10.30.50.34"
-
-# User management.
-users:
- - username: localadmin
- groups: [adm, sudo]
- password: "$6$FIsbVDQR$5D0wgufOd2FtnmOiRNsGlgg6Loh.0x3dWSj72DSQnqisSyE9DROfgSgA6s0yxDwz4Jd5SRTXiTKuRYuSQ5POI1"
- ssh_key:
- - "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAgObJFDIMmPwQhhkjAynvlbwpM5yeSewyaE7vTLaFf4uFz4vmsE2hFf6B2xXHUGLVwoVfk91UeK7LOGrdDpoDDHzvPZXj5NmZI+WiWax5y2pQZNkcSZws0ENCeEc4hPwc4veJ1JmhokF4Bsmu14HyFMaFUhM8897jtJwsh+9fLA/no0iPGaQqEtRUQhkV+P4jCEPoY0qdRZAzVw/rY4EGAMhsJe3EJmyj63OfrrkG3+hvSLFo5pDxHQr3pZd/c6ukI7xMef48PosAvGCm3oxzb/Gu9PZIGuHLczY+tCnzCkY7MO7E+IWgjXrUAfYwSWz8XmFmA9LLe26DT5jkcK8hGQ== pmikus@cisco.com"
- - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCG7Shfr7ASXXwpazYDGFzChGl7i4HgY9n81GTwc17B/O19IiJdrxFcBQH19HMuTFtWU4d9bQ6xgzz2pojBN13L3pEsStCHovDlEYbvfRxI2l2hcAAop1j1E4izHAS9IvCoy1AgWqBg6tsfP5mzOwGbSbcdI9ADRKIHgDTVbHg9SqKed27bNOLU0u3/5ra2Oar/tVIW37geEqFV/nHIBZ03Y/mszvXP/t/hP5bgJIGJKkzTjLd1aqEcuGmubW+wTQnVnrhFB87dw91gPj6BVyV0+7Vt1wrvPKqP2sGJhojAMSrBQBySnlrYgEg00bwDgNGFevatfG9+nTId+nhoKBkXya3MjSp4HwrGqGcij3/h7ovlau3/iRhkqlSeqenaNm4zKTAXRTnb60j2WKa6im0zdqJX98anp4mhjE8xHhmmfZV3vRT8mtY4hF/lg79miXFHpWH97bZV6r/D9qj1HWI/laJfOC5MOJdRcLETwtsUNMHeHtVnY3yu0XFYNcl2Xwajtnz3waF7vn1QHvAM9p878+JrO/IEUqEc0yZWVvlhZ7Krx1pS+APoMy8097MYDGFzFTkYSstKLGbgm/S7dEiWuSVxmMUxW7JYO3gHrQ3f1EvAYh2UFdWy76Dzr5II9UpVwOwF+HL/Oy8Sk77bPaK+tn7Kh4Tx7WWE0+EOAgElQ== ayourtch@ayourtch-lnx"
- - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXUbbhesOpvPF+KI8nq4TXvEO/Un1aU/ehZ9clCyw9C40xjDkX2BlcX8WeHxFHe7fjFaCd07Vg73rn/3M9uNDnDxvjH1GQ0twvi3iBTO4PkHBBfGF9qnE8MYzno6FvlsVKLuUuPbfm8kbOQ+ZDfdXq6gdtXh0hSYYkqC1heNPCNsqaakkB99Edyle+Ot0V7cpW+Yo2wo98KuX/cgUEhVoA8QnNVE7zaWcjSXBZEteoA4gLpAbV6p67/d6H/2ykHTidBViYTEsHco56tJoA4nTPuAupDOLBcWXgF5TAN6z1aCn2JA1DDfniLakgrZ5oVj2qHhUmbxQAtnKQfHADjqzV jlinkes@jlinkes"
- - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD0GXoSGDZ95TE/TT3kf4ZS3Tiso0UO3MVhqAqZ/F6LOvLyqnMPfhxPz1XpHsDikxvKgwhZvdBm1dWbKkPsD7jtw0PGphQO8QuEwBd2ZMvxZ4Qg6lNDUl5x3zRO2nkbKpcqnOugGLTtXP+yfw/wfQ2HNFLDP9gE90xegsPT83PmRUntQlhbS3ByHcCSUScC+Y1heZXuoKNyrmUY46lxkKsNfhx8sQKo0YhB21atV/mcAQbAaO2LggmaQYGtWizqPNGWIRsi9W8ZYnKva67c3Pbv/TTfaqmrNCwOXJ8G9oL+/3MlKbl3b5mYlTs2a/e9yVgMNwUZVX7aiHpgPgaVjL6j swdev@BradyBunch-MacMini.local"
- - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmo2YP4t/f58AAYH72rOe5VjYjk3wb/GY3aJEd5s9WspLhnsY0xBL67C+4kMq6VmQQvg0cUB8RJSFX1tUXMHCorVWnXNHkYomx0MCPcPUpVHuRyEqczYJ2pzgZsPzoEfw9E5hTrAiGzYFNAS/NOSavapVMDZxa1zsX7+sWQvJfmVtJWpcTQb0TkoWXRsy0YM3PYfUbYvK7lR3lGwyhwCcJn0WwWGreFB7bIok0poqqX5BgJ/okZuvC8II+UfuGoBHNhg49oqST1JlNi9gRqDNmLWkHRaneWZiF+Y2hdN3PRCdkt1x3eU0R+cdi5kPKslb6P0lsjOEA7fDLlq1+T2z1"
-sshd_disable_password_login: true
-
-# Nomad settings.
-nomad_certificates:
- - src: "{{ file_nomad_ca_pem }}"
- dest: "{{ nomad_ca_file }}"
- - src: "{{ file_nomad_client_pem }}"
- dest: "{{ nomad_cert_file }}"
- - src: "{{ file_nomad_client_key_pem }}"
- dest: "{{ nomad_key_file }}"
-nomad_datacenter: "yul1"
-nomad_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
-nomad_name: "{{ hostname }}-{{ ansible_architecture }}"
-nomad_node_role: "client"
-nomad_node_class: "builder"
-nomad_options:
- driver.raw_exec.enable: 1
- docker.cleanup.image: false
- docker.privileged.enabled: true
- docker.volumes.enabled: true
- driver.whitelist: "docker,raw_exec,exec"
-nomad_retry_servers: [ "10.30.51.30", "10.30.51.32", "10.30.51.33" ]
-nomad_servers: [ "10.30.51.30:4647", "10.30.51.32:4647", "10.30.51.33:4647" ]
-
-# Consul settigs.
-consul_nomad_integration: true
-consul_certificates:
- - src: "{{ file_consul_ca_pem }}"
- dest: "{{ consul_ca_file }}"
-consul_datacenter: "yul1"
-consul_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
-consul_node_name: "{{ hostname }}"
-consul_node_role: "client"
-consul_retry_servers:
- - "10.30.51.30"
- - "10.30.51.32"
- - "10.30.51.33"
-
-# Docker daemon settings.
-docker_daemon:
- dns: [ "172.17.0.1" ]
- dns-opts: []
- dns-search: [ "{{ansible_hostname}}" ] \ No newline at end of file
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.35.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.35.yaml
deleted file mode 100644
index f2b82bd52d..0000000000
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.30.51.35.yaml
+++ /dev/null
@@ -1,60 +0,0 @@
----
-# file: host_vars/10.30.51.35.yaml
-
-hostname: "s45-nomad"
-inventory_cimc_hostname: "10.30.50.35"
-
-# User management.
-users:
- - username: localadmin
- groups: [adm, sudo]
- password: "$6$FIsbVDQR$5D0wgufOd2FtnmOiRNsGlgg6Loh.0x3dWSj72DSQnqisSyE9DROfgSgA6s0yxDwz4Jd5SRTXiTKuRYuSQ5POI1"
- ssh_key:
- - "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAgObJFDIMmPwQhhkjAynvlbwpM5yeSewyaE7vTLaFf4uFz4vmsE2hFf6B2xXHUGLVwoVfk91UeK7LOGrdDpoDDHzvPZXj5NmZI+WiWax5y2pQZNkcSZws0ENCeEc4hPwc4veJ1JmhokF4Bsmu14HyFMaFUhM8897jtJwsh+9fLA/no0iPGaQqEtRUQhkV+P4jCEPoY0qdRZAzVw/rY4EGAMhsJe3EJmyj63OfrrkG3+hvSLFo5pDxHQr3pZd/c6ukI7xMef48PosAvGCm3oxzb/Gu9PZIGuHLczY+tCnzCkY7MO7E+IWgjXrUAfYwSWz8XmFmA9LLe26DT5jkcK8hGQ== pmikus@cisco.com"
- - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCG7Shfr7ASXXwpazYDGFzChGl7i4HgY9n81GTwc17B/O19IiJdrxFcBQH19HMuTFtWU4d9bQ6xgzz2pojBN13L3pEsStCHovDlEYbvfRxI2l2hcAAop1j1E4izHAS9IvCoy1AgWqBg6tsfP5mzOwGbSbcdI9ADRKIHgDTVbHg9SqKed27bNOLU0u3/5ra2Oar/tVIW37geEqFV/nHIBZ03Y/mszvXP/t/hP5bgJIGJKkzTjLd1aqEcuGmubW+wTQnVnrhFB87dw91gPj6BVyV0+7Vt1wrvPKqP2sGJhojAMSrBQBySnlrYgEg00bwDgNGFevatfG9+nTId+nhoKBkXya3MjSp4HwrGqGcij3/h7ovlau3/iRhkqlSeqenaNm4zKTAXRTnb60j2WKa6im0zdqJX98anp4mhjE8xHhmmfZV3vRT8mtY4hF/lg79miXFHpWH97bZV6r/D9qj1HWI/laJfOC5MOJdRcLETwtsUNMHeHtVnY3yu0XFYNcl2Xwajtnz3waF7vn1QHvAM9p878+JrO/IEUqEc0yZWVvlhZ7Krx1pS+APoMy8097MYDGFzFTkYSstKLGbgm/S7dEiWuSVxmMUxW7JYO3gHrQ3f1EvAYh2UFdWy76Dzr5II9UpVwOwF+HL/Oy8Sk77bPaK+tn7Kh4Tx7WWE0+EOAgElQ== ayourtch@ayourtch-lnx"
- - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXUbbhesOpvPF+KI8nq4TXvEO/Un1aU/ehZ9clCyw9C40xjDkX2BlcX8WeHxFHe7fjFaCd07Vg73rn/3M9uNDnDxvjH1GQ0twvi3iBTO4PkHBBfGF9qnE8MYzno6FvlsVKLuUuPbfm8kbOQ+ZDfdXq6gdtXh0hSYYkqC1heNPCNsqaakkB99Edyle+Ot0V7cpW+Yo2wo98KuX/cgUEhVoA8QnNVE7zaWcjSXBZEteoA4gLpAbV6p67/d6H/2ykHTidBViYTEsHco56tJoA4nTPuAupDOLBcWXgF5TAN6z1aCn2JA1DDfniLakgrZ5oVj2qHhUmbxQAtnKQfHADjqzV jlinkes@jlinkes"
- - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD0GXoSGDZ95TE/TT3kf4ZS3Tiso0UO3MVhqAqZ/F6LOvLyqnMPfhxPz1XpHsDikxvKgwhZvdBm1dWbKkPsD7jtw0PGphQO8QuEwBd2ZMvxZ4Qg6lNDUl5x3zRO2nkbKpcqnOugGLTtXP+yfw/wfQ2HNFLDP9gE90xegsPT83PmRUntQlhbS3ByHcCSUScC+Y1heZXuoKNyrmUY46lxkKsNfhx8sQKo0YhB21atV/mcAQbAaO2LggmaQYGtWizqPNGWIRsi9W8ZYnKva67c3Pbv/TTfaqmrNCwOXJ8G9oL+/3MlKbl3b5mYlTs2a/e9yVgMNwUZVX7aiHpgPgaVjL6j swdev@BradyBunch-MacMini.local"
- - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmo2YP4t/f58AAYH72rOe5VjYjk3wb/GY3aJEd5s9WspLhnsY0xBL67C+4kMq6VmQQvg0cUB8RJSFX1tUXMHCorVWnXNHkYomx0MCPcPUpVHuRyEqczYJ2pzgZsPzoEfw9E5hTrAiGzYFNAS/NOSavapVMDZxa1zsX7+sWQvJfmVtJWpcTQb0TkoWXRsy0YM3PYfUbYvK7lR3lGwyhwCcJn0WwWGreFB7bIok0poqqX5BgJ/okZuvC8II+UfuGoBHNhg49oqST1JlNi9gRqDNmLWkHRaneWZiF+Y2hdN3PRCdkt1x3eU0R+cdi5kPKslb6P0lsjOEA7fDLlq1+T2z1"
-sshd_disable_password_login: true
-
-# Nomad settings.
-nomad_certificates:
- - src: "{{ file_nomad_ca_pem }}"
- dest: "{{ nomad_ca_file }}"
- - src: "{{ file_nomad_client_pem }}"
- dest: "{{ nomad_cert_file }}"
- - src: "{{ file_nomad_client_key_pem }}"
- dest: "{{ nomad_key_file }}"
-nomad_datacenter: "yul1"
-nomad_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
-nomad_name: "{{ hostname }}-{{ ansible_architecture }}"
-nomad_node_role: "client"
-nomad_node_class: "builder"
-nomad_options:
- driver.raw_exec.enable: 1
- docker.cleanup.image: false
- docker.privileged.enabled: true
- docker.volumes.enabled: true
- driver.whitelist: "docker,raw_exec,exec"
-nomad_retry_servers: [ "10.30.51.30", "10.30.51.32", "10.30.51.33" ]
-nomad_servers: [ "10.30.51.30:4647", "10.30.51.32:4647", "10.30.51.33:4647" ]
-
-# Consul settigs.
-consul_nomad_integration: true
-consul_certificates:
- - src: "{{ file_consul_ca_pem }}"
- dest: "{{ consul_ca_file }}"
-consul_datacenter: "yul1"
-consul_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
-consul_node_name: "{{ hostname }}"
-consul_node_role: "client"
-consul_retry_servers:
- - "10.30.51.30"
- - "10.30.51.32"
- - "10.30.51.33"
-
-# Docker daemon settings.
-docker_daemon:
- dns: [ "172.17.0.1" ]
- dns-opts: []
- dns-search: [ "{{ansible_hostname}}" ] \ No newline at end of file
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.14.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.14.yaml
index 4204115a75..aef352825c 100644
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.14.yaml
+++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.14.yaml
@@ -21,14 +21,14 @@ sshd_disable_password_login: true
nomad_certificates:
- src: "{{ file_nomad_ca_pem }}"
dest: "{{ nomad_ca_file }}"
- - src: "{{ file_nomad_client_pem }}"
+ - src: "{{ file_nomad_server_pem }}"
dest: "{{ nomad_cert_file }}"
- - src: "{{ file_nomad_client_key_pem }}"
+ - src: "{{ file_nomad_server_key_pem }}"
dest: "{{ nomad_key_file }}"
nomad_datacenter: "yul1"
nomad_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
nomad_name: "{{ hostname }}-{{ ansible_architecture }}"
-nomad_node_role: "client"
+nomad_node_role: "both"
nomad_node_class: "builder"
nomad_options:
driver.raw_exec.enable: 1
@@ -37,8 +37,14 @@ nomad_options:
docker.volumes.enabled: true
driver.whitelist: "docker,raw_exec,exec"
fingerprint.network.disallow_link_local: true
-nomad_retry_servers: [ "10.30.51.30", "10.30.51.32", "10.30.51.33" ]
-nomad_servers: [ "10.30.51.30:4647", "10.30.51.32:4647", "10.30.51.33:4647" ]
+nomad_retry_servers:
+ - "10.32.8.15"
+ - "10.32.8.16"
+ - "10.32.8.17"
+nomad_servers:
+ - "10.32.8.15:4647"
+ - "10.32.8.16:4647"
+ - "10.32.8.17:4647"
nomad_volumes:
- name: "prod-volume-data1-1"
path: "/data"
@@ -49,14 +55,18 @@ consul_nomad_integration: true
consul_certificates:
- src: "{{ file_consul_ca_pem }}"
dest: "{{ consul_ca_file }}"
+ - src: "{{ file_consul_server_0_pem }}"
+ dest: "{{ consul_cert_file }}"
+ - src: "{{ file_consul_server_0_key_pem }}"
+ dest: "{{ consul_key_file }}"
consul_datacenter: "yul1"
consul_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
consul_node_name: "{{ hostname }}"
-consul_node_role: "client"
+consul_node_role: "both"
consul_retry_servers:
- - "10.30.51.30"
- - "10.30.51.32"
- - "10.30.51.33"
+ - "10.32.8.15"
+ - "10.32.8.16"
+ - "10.32.8.17"
# Docker daemon settings.
docker_daemon:
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.15.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.15.yaml
index 3aeb879a73..0711a0c8e0 100644
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.15.yaml
+++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.15.yaml
@@ -21,14 +21,14 @@ sshd_disable_password_login: true
nomad_certificates:
- src: "{{ file_nomad_ca_pem }}"
dest: "{{ nomad_ca_file }}"
- - src: "{{ file_nomad_client_pem }}"
+ - src: "{{ file_nomad_server_pem }}"
dest: "{{ nomad_cert_file }}"
- - src: "{{ file_nomad_client_key_pem }}"
+ - src: "{{ file_nomad_server_key_pem }}"
dest: "{{ nomad_key_file }}"
nomad_datacenter: "yul1"
nomad_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
nomad_name: "{{ hostname }}-{{ ansible_architecture }}"
-nomad_node_role: "client"
+nomad_node_role: "both"
nomad_node_class: "builder"
nomad_options:
driver.raw_exec.enable: 1
@@ -37,8 +37,14 @@ nomad_options:
docker.volumes.enabled: true
driver.whitelist: "docker,raw_exec,exec"
fingerprint.network.disallow_link_local: true
-nomad_retry_servers: [ "10.30.51.30", "10.30.51.32", "10.30.51.33" ]
-nomad_servers: [ "10.30.51.30:4647", "10.30.51.32:4647", "10.30.51.33:4647" ]
+nomad_retry_servers:
+ - "10.32.8.14"
+ - "10.32.8.16"
+ - "10.32.8.17"
+nomad_servers:
+ - "10.32.8.14:4647"
+ - "10.32.8.16:4647"
+ - "10.32.8.17:4647"
nomad_volumes:
- name: "prod-volume-data1-1"
path: "/data"
@@ -49,14 +55,18 @@ consul_nomad_integration: true
consul_certificates:
- src: "{{ file_consul_ca_pem }}"
dest: "{{ consul_ca_file }}"
+ - src: "{{ file_consul_server_1_pem }}"
+ dest: "{{ consul_cert_file }}"
+ - src: "{{ file_consul_server_1_key_pem }}"
+ dest: "{{ consul_key_file }}"
consul_datacenter: "yul1"
consul_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
consul_node_name: "{{ hostname }}"
-consul_node_role: "client"
+consul_node_role: "both"
consul_retry_servers:
- - "10.30.51.30"
- - "10.30.51.32"
- - "10.30.51.33"
+ - "10.32.8.14"
+ - "10.32.8.16"
+ - "10.32.8.17"
# Docker daemon settings.
docker_daemon:
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.16.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.16.yaml
index ccec410c78..e73da2bdac 100644
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.16.yaml
+++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.16.yaml
@@ -21,14 +21,14 @@ sshd_disable_password_login: true
nomad_certificates:
- src: "{{ file_nomad_ca_pem }}"
dest: "{{ nomad_ca_file }}"
- - src: "{{ file_nomad_client_pem }}"
+ - src: "{{ file_nomad_server_pem }}"
dest: "{{ nomad_cert_file }}"
- - src: "{{ file_nomad_client_key_pem }}"
+ - src: "{{ file_nomad_server_key_pem }}"
dest: "{{ nomad_key_file }}"
nomad_datacenter: "yul1"
nomad_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
nomad_name: "{{ hostname }}-{{ ansible_architecture }}"
-nomad_node_role: "client"
+nomad_node_role: "both"
nomad_node_class: "builder"
nomad_options:
driver.raw_exec.enable: 1
@@ -37,8 +37,14 @@ nomad_options:
docker.volumes.enabled: true
driver.whitelist: "docker,raw_exec,exec"
fingerprint.network.disallow_link_local: true
-nomad_retry_servers: [ "10.30.51.30", "10.30.51.32", "10.30.51.33" ]
-nomad_servers: [ "10.30.51.30:4647", "10.30.51.32:4647", "10.30.51.33:4647" ]
+nomad_retry_servers:
+ - "10.32.8.14"
+ - "10.32.8.15"
+ - "10.32.8.17"
+nomad_servers:
+ - "10.32.8.14:4647"
+ - "10.32.8.15:4647"
+ - "10.32.8.17:4647"
nomad_volumes:
- name: "prod-volume-data1-1"
path: "/data"
@@ -49,17 +55,21 @@ consul_nomad_integration: true
consul_certificates:
- src: "{{ file_consul_ca_pem }}"
dest: "{{ consul_ca_file }}"
+ - src: "{{ file_consul_server_2_pem }}"
+ dest: "{{ consul_cert_file }}"
+ - src: "{{ file_consul_server_2_key_pem }}"
+ dest: "{{ consul_key_file }}"
consul_datacenter: "yul1"
consul_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
consul_node_name: "{{ hostname }}"
-consul_node_role: "client"
+consul_node_role: "both"
consul_retry_servers:
- - "10.30.51.30"
- - "10.30.51.32"
- - "10.30.51.33"
+ - "10.32.8.14"
+ - "10.32.8.15"
+ - "10.32.8.17"
# Docker daemon settings.
docker_daemon:
dns: [ "172.17.0.1" ]
dns-opts: []
- dns-search: [ "{{ansible_hostname}}" ] \ No newline at end of file
+ dns-search: [ "{{ansible_hostname}}" ]
diff --git a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.17.yaml b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.17.yaml
index ca7d8d188d..866601d760 100644
--- a/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.17.yaml
+++ b/fdio.infra.ansible/inventories/lf_inventory/host_vars/10.32.8.17.yaml
@@ -21,14 +21,14 @@ sshd_disable_password_login: true
nomad_certificates:
- src: "{{ file_nomad_ca_pem }}"
dest: "{{ nomad_ca_file }}"
- - src: "{{ file_nomad_client_pem }}"
+ - src: "{{ file_nomad_server_pem }}"
dest: "{{ nomad_cert_file }}"
- - src: "{{ file_nomad_client_key_pem }}"
+ - src: "{{ file_nomad_server_key_pem }}"
dest: "{{ nomad_key_file }}"
nomad_datacenter: "yul1"
nomad_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
nomad_name: "{{ hostname }}-{{ ansible_architecture }}"
-nomad_node_role: "client"
+nomad_node_role: "both"
nomad_node_class: "builder"
nomad_options:
driver.raw_exec.enable: 1
@@ -37,8 +37,14 @@ nomad_options:
docker.volumes.enabled: true
driver.whitelist: "docker,raw_exec,exec"
fingerprint.network.disallow_link_local: true
-nomad_retry_servers: [ "10.30.51.30", "10.30.51.32", "10.30.51.33" ]
-nomad_servers: [ "10.30.51.30:4647", "10.30.51.32:4647", "10.30.51.33:4647" ]
+nomad_retry_servers:
+ - "10.32.8.14"
+ - "10.32.8.15"
+ - "10.32.8.16"
+nomad_servers:
+ - "10.32.8.14:4647"
+ - "10.32.8.15:4647"
+ - "10.32.8.16:4647"
nomad_volumes:
- name: "prod-volume-data1-1"
path: "/data"
@@ -49,17 +55,21 @@ consul_nomad_integration: true
consul_certificates:
- src: "{{ file_consul_ca_pem }}"
dest: "{{ consul_ca_file }}"
+ - src: "{{ file_consul_server_3_pem }}"
+ dest: "{{ consul_cert_file }}"
+ - src: "{{ file_consul_server_3_key_pem }}"
+ dest: "{{ consul_key_file }}"
consul_datacenter: "yul1"
consul_encrypt: "Y4T+5JGx1C3l2NFBBvkTWQ=="
consul_node_name: "{{ hostname }}"
-consul_node_role: "client"
+consul_node_role: "both"
consul_retry_servers:
- - "10.30.51.30"
- - "10.30.51.32"
- - "10.30.51.33"
+ - "10.32.8.14"
+ - "10.32.8.15"
+ - "10.32.8.16"
# Docker daemon settings.
docker_daemon:
dns: [ "172.17.0.1" ]
dns-opts: []
- dns-search: [ "{{ansible_hostname}}" ] \ No newline at end of file
+ dns-search: [ "{{ansible_hostname}}" ]
diff --git a/fdio.infra.ansible/inventories/lf_inventory/hosts b/fdio.infra.ansible/inventories/lf_inventory/hosts
index cc0e0b3986..d38db4e158 100644
--- a/fdio.infra.ansible/inventories/lf_inventory/hosts
+++ b/fdio.infra.ansible/inventories/lf_inventory/hosts
@@ -2,9 +2,6 @@ all:
children:
tg:
hosts:
- 10.30.51.16: #t1-tg1 - haswell
- 10.30.51.20: #t2-tg1 - haswell
- 10.30.51.24: #t3-tg1 - haswell
10.30.51.45: #s4-t21-tg1 - skylake
10.30.51.48: #s13-t31-tg1 - skylake
10.30.51.49: #s19-t33t34-tg1 - skylake
@@ -19,12 +16,6 @@ all:
10.32.8.25: #s61-t210-tg1 - epyc
sut:
hosts:
- 10.30.51.17: #t1-sut1 - haswell
- 10.30.51.18: #t1-sut2 - haswell
- 10.30.51.21: #t2-sut1 - haswell
- 10.30.51.22: #t2-sut2 - haswell
- 10.30.51.25: #t3-sut1 - haswell
- 10.30.51.26: #t3-sut2 - haswell
10.30.51.36: #s17-t33-sut1 - taishan
10.30.51.37: #s18-t33-sut2 - taishan
10.30.51.44: #s3-t21-sut1 - skylake
@@ -52,13 +43,13 @@ all:
10.30.51.71: #s56-t37-sut1 - thunderx2 9980
nomad:
hosts:
+ 10.30.51.22: #s42-nomad - haswell
+ 10.30.51.24: #s43-nomad - haswell
+ 10.30.51.25: #s44-nomad - haswell
+ 10.30.51.26: #s45-nomad - haswell
10.30.51.28: #s41-nomad - haswell
10.30.51.29: #s39-nomad - haswell
10.30.51.30: #s40-nomad - haswell
- 10.30.51.32: #s42-nomad - ivy bridge
- 10.30.51.33: #s43-nomad - ivy bridge
- 10.30.51.34: #s44-nomad - ivy bridge
- 10.30.51.35: #s45-nomad - ivy bridge
10.32.8.14: #s46-nomad - skylake
10.32.8.15: #s47-nomad - skylake
10.32.8.16: #s48-nomad - skylake
diff --git a/fdio.infra.ansible/nomad_vault.yml b/fdio.infra.ansible/nomad_vault.yml
index d57902dba1..a9e8fde783 100644
--- a/fdio.infra.ansible/nomad_vault.yml
+++ b/fdio.infra.ansible/nomad_vault.yml
@@ -1,731 +1,796 @@
$ANSIBLE_VAULT;1.1;AES256
-61653635633962363639653162663162666533323961356332383036386535343661353631306333
-6133333861393331313434336435646562306237376137390a313731613736323566333234386264
-36366266646537313763633563663865613962333162336230323334333566646363393437393138
-6132356339373435320a353362663761623237623363373736396531653862356666336237646166
-36616436663334343363653930646434376331313662613264393164656236666630663039623937
-35366439616534646131623837333434653461636565313563313065353634326631346236363136
-37353136323235646230626235326334633266303835326430613765333366636235336335363333
-37623766386362376662393330313861383435393632636636626333646339326663653330336436
-38353131623466303833323062363532356537623661306134376532353762656562333136633633
-65626132376562373437313735346563336333663462336365623236333033646631316239663633
-65313832326137326361643363303866663432343639386235653865616132663365373033383964
-32303631613662383538656338333739643362353561346238613531316435323565303737306633
-39326132303064646665396464666135333933323838666161633937393961383334663038366433
-39383466616234343731663666636338646134373833633434626330663263373133613236323938
-61336166306566626636646361633966663538653964663464393335666666616536643335386435
-32376339326661636366386465653631303333656137613564626338643765636463316463353462
-37313736653130393036396362656430346631623439333937323264616234313461303566353964
-63393963353331613766343464346262313164306465623364306634626231333435646139643562
-30346463366130343466306533346434346431616361626366666262616565626431633130633732
-35333266373666353634343038346565333865366437643066333835623236666335393531376339
-66393563353965653035613464646334313534336663356532663863326637366136626162376264
-32333961326336653531333938386261333631343833333566656562383963656362643861626464
-64343437333633663132313431613865353136663261613437386130383238353833303438646633
-32336362383563653266373437373833346564363136333731646164366263633261353032343535
-34356561633038383638363264316530313264663961363562393661616164323561373964656133
-66343630373137326665623265336238303763396364616161323063356433313863653830396236
-64393731643035333161623237353632346536396334666239313563663233393265623438303663
-65396437396333653438656230363665333564633031666163613364626434306161626139666630
-39636532353736396338636234303135333234323237653632666635336336366535366239316630
-65303433626265336264366539666339643961313966346661396439393465306434646530396239
-62623837383964356235653936346634363138356534626131306232356533393466343137396663
-66643264616435323830636532393139346564363131326338356436343832633537343439343863
-37376666613237613839323036653139326332316666633936383734376263643037336334313263
-64623365353937613762303432333065653935383238323231386162663764303038613363393936
-37313537646130646661636433626462303936343233633336353239653637393430326239653532
-62396436376632383634376136373261343063333636386231386231366464393565663562613036
-39376437373436653231323063633931356164633533336237636264666131653332326265326233
-33396563613662346530393462393632326237366234623866316432646532366239356433333638
-39346531353534623836643537363464373230343466633335616235383233343764616131363032
-38343938386338323230623062393333343262653331653238636435373634386139303237306336
-33386334346437633830636233616132656361383966356132313732393932643862656434393163
-65646430393063313761623639376436323036656533623334303066626665363763646337666663
-37353664323861306465356237666665356632363733363937643037613461636362313861613034
-39346531396130313063633132303932313230373262376134656634383737663835373939626161
-66646434326639656163366262316430373830363736313432643137666165303433363563346239
-35313661373234346130373164396633333832383465643130353933396333613231303331653738
-64613834346563343834363331393932346561383537373563346138373231393364653735303131
-63323737313733306564326439363138396637356231653863663634313439373630633662656261
-32636435303437396432363231343835616336636264393139346165343764616235326661646539
-31373836326164343138396365323636396566313066353364346237316333656665386437646662
-38323961653133666162623732326537656530636532396333386263303539663431646138613933
-61343131353435656531306661656531623362633066623764626465623163636237663932613963
-66313538653338626633393231303039353664376439656236373535386134303533643539616533
-37383536613539333436643332623634623964323666386535376464336238313039366239343333
-32306235323364313838616539333230366136663837613066353865333562636161396532316538
-34353337613362336666376536316362633930376538343161613435633961363337393635656233
-38656439396161356234633964306138653733366562383064623132323933656533663466616538
-39356365656536373130623430303065643362623963326661653764323237613835316632353738
-64363865646230323336356438356163646263643162356161306533333463663331646565356537
-36336435313933666137353431366366363632613138306666366461666334356638313138376638
-37616363343264313730636634663165373836636631366566326436393565663731383432646366
-37613737396263363633356563326363656334656534643563336330313366613061653139393064
-32643662623031353237616432366565373939313363663134616438313164626438383735633562
-34623737333636363035623437353630363361613265366166656137336334613730656134326339
-33323031313764666333653739646564343263646665663564363465613732363338666236653033
-30343433393838613937353730303731633063363766643433353530663664383630643366316563
-38383936386636303861313361313738663639643132326564336432363233373631663337363862
-33366661623436653130383864613165356538363734303163373663313066393365303665386661
-64366136323030313466323737653933373061663666323138666635383037333638316632316162
-65623662326634323963663763636131633836366362626139323165386234666530623063393864
-36656263646233663761663263626439373335383637353638653434336566643433663666656533
-66366337313830326330383163353433656162623734323865363930333139656636363534366530
-32313331666139346562636565336362356637623765653664376465363836666339666138313131
-30663935646333623439626535623162336439663432656135343734393731636161383665623430
-33353062336232623333313135663562323862393962316234343231343431373365326137643633
-65643965356363613636616134303230386431393832313461313763636239313930343531643763
-39313466663431643265616336353530303465636539373030386439646534636635336236313065
-62353263656163323262373137376165633930333836376531393633633466396437306566646339
-62613538623762386561373561336534313362663932643764333638316161623834313431363538
-34396538613039346339636539336464656538333635366339643536386366373638366131373539
-65353665346464343339383461353961613230313039653535363237313861356336363133636234
-34323030363639303464353632303436653764343231633534633936303136366364623262366331
-63616339343231613966373739316364393133616238646530346138356164366630346230646536
-38393163386233623766623432373930616636303936636431373330633965636132353739663661
-33306132393763353538313965316631616131643563663365383831366333313535356430616134
-30616265323332346465653238646266656332313166363065643737326261646336653939613031
-37376365303964353064646435366265616534623535373563383032653030616238613764656666
-30623434383061323830653639303335313662383139653733353333366334663366646332366461
-36356537646263343133393863663139316337326561316236363434373366343631383835343638
-65613930623762353234333462323435626662653632633834613664656538336531343466366635
-61366632623236333762613763376231336366666232323665663061333136383930623564316433
-34393066646539353633356161396265613433633537363664303735333463393732386334646463
-35313130623333323438333539323265653664623332666464323565396635633930393232636366
-30336366666236326631656234643563363938646265663531343636393464656166303131633231
-34383938636339373864336231306235343565613631626232653035333961333237393732323136
-35383737356365383439313264613965633232376439396236306236623164653231643265616262
-31333263643434643066643863336433303039393864366433653861633761366666653261643530
-32356666383230356534306230363336316365346462353738646132613238313038323265343938
-65363733663966333031656565633165653730353438366166643339353065656261643732663863
-64623239366132343430626161303034383339653436613839393337376136393239326264663666
-35663835663039636466393530303161363133306665373131356434343561326265393939663334
-35663132306231666230303636313165303034333133393339623538623134363736346233383563
-34623036383064366538653162656535383830373337323563346631306536613931316364323465
-61313662663335343566373639623431313536393839613833643731333037336165336539386362
-33306638636535396538663830396137343966356166376563316265646339663130623231366430
-66336431343765666266653938313932396563313539623338333730303935623930356133663130
-61396263613731623564343766366630663032366434633266626431373133663436306238656263
-39346562353531616431323938373665663666616561626137623233396136363262336466313137
-62623761653564333136643739653664303637656339623137633537653866623737326333303635
-62656235353831353535356639303865656333393261326666323236376431643037643462383536
-37366636656563373165626531663866646430613365393665316466313834633934353764643435
-34386239343536306635636531653434656632623166343132616264396433306663303837373734
-34663039666564656562613562383839643538633132616264323737626235383362326134623739
-64326134393535663332663162653736346630623537626230643230663865383832643334333463
-65646662623535383566646466333065346161383664383062376438353663373637333735333238
-39646166396664396164343565623532313538383636623434363233636538636236303337363535
-31353766623238306461386132393763633134303965336334383434356238323432356561616130
-62663530636634353538653432346266373034333439613465373565636663643736643966643066
-34363863343031323838633661633439376266353830656465356665376436663535356535396230
-62393530363231323431653639313536373737656237646138663062623362626432393736313364
-61326235336536366538313633663634613038346465366431643136323131356533363332386530
-66666262346430393762376164653437363139393139646337663335323331343237636637616162
-34336335346237376533336666633263323630663538346135356465646236623835396565373634
-65386231613636336439303737626537383438353165383634343362356563316631383062333463
-37656163306436313136343436633137336666663236313863313566356661393535616630373866
-65393735326438663662616262666131333532333130356133663537646261666335656331353165
-33653639303166366165366638653530633631656363386530306662363136313135396131373762
-33626261393531616466356237333361373461393036393535303939623030656439343531356536
-32353563303332393161386661393562393761313737616663386437303863373932646634663830
-38616434646634666239303535646635353532326434393161366361343834613065616133306138
-32313533346133646435613930333936363435666662653837333061653737623565633862316538
-64313036653930623733316266373339626365353035333431623835313531646330373731633361
-61356262343038346565343537636631623837623638373632663764653764343232643430353436
-30623337333632383032323865333131643337613761663565383263636437323635306665373862
-39346163616632336364376139656137383333383532643737353131626331363132346339643936
-32643362313239633466643337366630633661666331306164313361633635363931343630393735
-64363933613839643736356638383933373735333830333035313766643337343563366233336266
-37386364613836343165363434323830646538623133336532356639376337363561373361666531
-30343333303661653262306135373032626531616462313937326431346439333664636131306566
-37386665313362666464366138363239666638396330393464376639393765636537323066313438
-64316364663163383331303831393861396461623738656136613265613936653234336333333934
-32393463306630666337653834613335383138653330326638373762316136366666316636303233
-34626566663062653434343363363036336333313930636335353861666235626164356263303535
-34313436623461376231643236373631666532363831343730626363633865653862363835346539
-66616330303265643362366130356165396137323064656263393831626464656334643030346132
-32383831653235333234393136343936633434313433326433656662666665396334386164306637
-35663532383534623531393866333837343865356339373035396436383336393330386439653037
-62663835643932376263633062383765393764633633313531396462343439373461626531333763
-33623734616131656530363064323263623939643433363863626561323361616164366637636235
-65353438386139336562386264383831613039643834663831323461333130376339643862643133
-34373837666531363236303831343936303431666565353132383231303865323465353664356536
-36303764343236383664326131643837616434656632323766656536346633333233306662666461
-36303137626464396131376538393638303938316135623930373734343666343161646366636666
-64366161316665313336663664333662353965393639323830376137613766663131313535336138
-36646332343762386638343939353938383833643230336462646234623732326539623431613962
-35323032316130386262636461326465313861343730393435303935613537316266636263366333
-32343765363562343734323465353661623262613631653033656137353937663637633339336630
-63346531336537656563313461613730343765646231346566343061313162663562356439303433
-31633438636264343738336165396164653435363264653963666134653634626434663337646535
-33383530616135313737386562383161326664356134313637633764363935323137346337353263
-36306333666235663539313763366531383338376530323536613664636562336563653365623135
-35363133383138363063343935363831336432663431363332636230353430353034323131653934
-66666134626564313665356433333062663036316438636161653038616461636265333166383766
-66313032616539393731653265383765666465383835663064383133646335383165393235663032
-38326337623261313638376165623864323631303832346634323433616363656562343534656235
-32623232653334373439633539663637633661636330393133313762356233656633333036326438
-32626461313636343039353262336132326437326364346631343238306639303561633738386431
-33323932306239643830633934663931646466643364303863326563313563383332336239346263
-61366563636533326166353761653963636464366534343232323331623932626335316166343766
-37373866313835396332643864326139363533373435346165353461346338373331393339373934
-65353938316264386436386261646436343131636237633535643461366134386435343932373662
-35366236656364623630313034333134393432663063653835396565313934643833383838373335
-33623536646135393739303739356631663333626537366431393230653866633231303338386663
-36393233356666613537336536363235363865306566646337623530346630366339656533333438
-33613164393862623437623437373739373132383839643965373566646431353865623637316231
-35316530646664646634323233633439353433653566653932386339613664383366646663653564
-34393532616365363763396639663631396265346232366366336435646333323666643662623137
-65303739656135356566326363363931383031346333633237343936636664346432336235636462
-62396231633163353466653366346666613031363336336434333339326362656665663463306162
-34343539656239356565316665613536356565613732663034316461336132326430623865323461
-62333338363165653463613331656133386563636165373332643965393862653430333766626136
-35336265336562663232656162613764636366663461653734363432366437656362363830333365
-61643239393866303630353839616235303461653261383839356230336363613731663566623130
-63316539633965656634653066383564386535666161393834316563313336393833343262356162
-64363435373734336638333230343865646461626462666565333166346131313636373731306462
-34333162303964653365333631323765333038646166353163633739646233653531393835363462
-38393731323131363436633066363831333864393738373964643963613933623661346461376662
-37666364613538323634616664646231663333383235633432633835323461636331626163383638
-37656434356666376539393831316232646139633737633639626133333530313137653564393361
-62623037333066383533373133663830376466353066323265653562346264333235393837653466
-39383637626662323230653137346231623630353232326661643132663239393638663036353962
-39353937353766396338373630316432393863653333393666356637376665326532656533663362
-66333338323133323636633263643136306561666162636663393765653866363734653664356465
-63633434393530616166383938613661356161666330373464643433396638663331353839303836
-34653261383838346636646566626437393561626235393733366533613732303061646231343137
-35326634633665643864303464353536383534343032616539373562313861333531323634316131
-37323235316238613263363364633133643163343436383133333531343132613039316433613136
-37623765626230313031306337376637616338633063313731373538646266623132646630346665
-33373838366462656162383931343232306465643562396130383736366133333863613938346566
-33646662386533633738396463313730653839373061313963396561333330663064343365643035
-34326138336564383432386138386530313562346262376262373962383036323330303464353464
-39373334396435376631383964393633373135633734326335306164613432623762363161643330
-66663930623333303431333038626330663532633664306133393832366138343733373264343061
-37653032356236316533356132386266376539323036326239326338616339616130313436393037
-61396339306135633436636462656334653630313937303334383263613564316638376431323336
-64366338643636613165306139613736623633653830656338393537373435333061393935343463
-30393034613638373635653732636635326666343032333836613334383163316432393238643035
-61653637313264326434343338653035363933366437306664333364623665393934363965393132
-30613033393439383037353936323937636661346161326632373663373538393332316233633864
-34373035356530653263363234303366393030633333363863356235383265373365633763353535
-63646436383262336332383539633365646130336666376431383135653664333135333562613736
-35653537313831646236623230613163323837316263346564373964646463353261626639336536
-63306263653235333631373766306462653762393436653164313531393634383564333831313664
-62643765346139366331386264326461316431646135383062326239666635623761393536616234
-36333866663664366165356532636339323235666663336635393731353636323665393232343933
-36363464366566396338313036376665303032396631316332353334396530646634333937666332
-66393231643737656262303064383231663434633432363639346466303435616663373161306661
-33363462653035336230303539653339313865323834613266316333656664616535623538643362
-38623061373465303137326530306562383438323033383731333237396364363563313461393933
-34353362343365643637666566646435346630623864383639633338643963656137643939376539
-34306535326536373730303834666537653831366164633737666465663039666234656566613064
-63396463376462323732336131313466313836343231343630303631623437663665353434303364
-36393237376233616533396637333039356363623634373430343335303939626265306561396464
-64656534396139616438393733373936336563666666393339653531343463653932363362663837
-38313135383837386134366535343836663462616131653335396166353339373736643530366639
-33336634386431376536303261306436333836646132616337666564313739376561653361626232
-37386331396662653936363937373637623761356362383564303463623932323234373165303063
-63626434373166626665313235346434633537623836393565636536396461616636666533366438
-64643836346535336665306163303235626466646130393236373362393932613235313364653336
-61343732373337663437373336616530393466653336363463363533396230353666326232313233
-64636365383435343731326134623732303163343962633239333462313132363464323761653034
-61356235393961623234366138313566663432613039323461383231323333653737316239346563
-65313762646337363064323435386533353334636239363366316131643338366536643134346532
-32343165646461613539303834636437323631346430353039303763333462356530656630363533
-37353364663863353334636638323334313539616636303233363333663734633235343463343138
-64373034363166336165316465333361363063386362313935313137313835663639323836313631
-31313861393533363935306365333138383865323366666366613266373738333532336234303039
-39363936613534313762303434333938656335663637623564343134663566323062356363646532
-62643433316166636162383232373437643338336664303433376335653332353766663832396561
-31343533346534643761333862656330356136313764626636373732613738366632363061613339
-36636462653839356432633235373862333330623531373465613831316539373765313232386661
-38653433613438386261303735353639383162343737386461323938613566306261363430666236
-38666466623534343962373863393661373131366232366133663264346538373261666337353830
-35393930643963663531623739663136353263366636393561633336643461626430336162396264
-61663864633134633732363835663834616466373163326631396136306132396233333536306634
-35316631376534386438353636326263613830306265623063626165656638363761666332653430
-35386562333862623066653362613065326265316330363331343364636562336366313632393061
-63386637646535356162383238346364633766333464353436633630393135613731353364613263
-37333038306631383863663961663430393566366439333865636532666639313530613463376432
-64353963653135316433366430383138393562636361396664656634613438663466646434636536
-32633431653565356266633134383562656266343234363362333238656336663364623566666637
-36326530326364613234623362363933383962353036653666633063333935326266656230623230
-33326165613133323563646137643232383631656366663631643237376436396439613630303933
-62323434663863316463663439366435373961353030383366663163353336343864333031373533
-34303339363039303333633138306436376333393033613031393534326630643630666165643463
-65313539323330613834646238393136626336383964663462376464613664343338333764303131
-61663561396265383237343337643664666538333831333965613539303530393263616631653537
-64333937383631616136613537306461303433636365386537373132393864633963666364323239
-36396636393237323135636463303737323130323730626163323332623539653233346166303037
-36383630643966363039346236326564306632643866636536393263303531663938396131376130
-39373734373337366337333561616662363566363130643166663331373563613231313038333961
-36333361373534646237646132373436313461353435383662333933313732613639396561343365
-30613639313633383430653265636438316239363238353432643234316132346462643863366337
-64336364623534666137336465326566666438653031356261663337316663336363393934653131
-37663937663266343032313365666230336338313031653132623165626437306236643738383562
-31313735316236663635613737323862623933396462313633643566343736356133666436393238
-61396465393363343463303763613063656232353863316661393763656232653535636331656435
-65323136356635393332666663366230643765393430303466363234343632343834663430653663
-36306330363631326335613863366164613461353539666438356162366138386632373066363236
-61656136353033663061393332646631323836666661623662613239663964613263333664613461
-31306637626638366662623236366266653362316463613239306337316437343964303638313237
-62316263356430666161643237333161396666383138396335393965633366333133613665316432
-33343039346331646161316263346134363436326539333533633561356562656161383438393331
-38656238363237386630323964613637333031366564316563343339313862363565626465343434
-61383738353834306338323435636361623031636138333965373731376537623566343361313239
-66363563626337316136313137393231633338396632653263346163313338656136373666656136
-32316361663539373864346134313235363531643935633264393361333131623566633835633765
-61383837363033623230643865373039336362666533313663313861353331363333626264356565
-36316437393265396236316362303236366265383735356233313363376563333464383361393139
-61343763306165653035653335303736666266616433326531353737646239323463626664366332
-64303163623664336266663331356535346337613130656461393663346337663439346333323339
-31393366316265613464633762313034306236633031396530616335303638333832386566656531
-37343133316566653935386634386266616430396436366361636637393435323532353133613131
-61643863393561303464366237353066396432666339336264633163363338383936366262373063
-34386233303463626164663835373662366461626230626636343735303265613034646465616266
-62366565303433653031623662613163346136663963363863353939656135316633623437623764
-62623034386261333731313930653964396662626163383638633433363236336261393834383465
-35373834346166333461636565343331623830343665343832633635373938623336396564656466
-36376236626437633162616235393663636665316265666437323433633937656165346562326230
-34386566376662303736376437303263356464363536663438333364643536636334313165636161
-37393337393561356533376238363338323432646131393533336637343037386530636363656130
-64316139653734323437353432343130316566323337623733636661663736353232306336326564
-63666430613131666666346264623238383764303431646363356462633635633533373731613764
-35633664626138623362633361346563623433323764313963323162336265623163303932336532
-61303737303331353766363633393836303262616436316531656338643934393765646265346465
-39663832623331303235393035363539396464333938613961383539343336306138333431656363
-33353836666339363139383232643465343230373632333032633638653630333530663865323332
-38346565373261313961366631616230666237306563383438623132613264353431653265666561
-34333532636162616262386238306332653833653765666139643131626630336339643662643539
-33643562313066653433386431303831333565643462646134396665386163653631326237326232
-38613461356437343534393334623137323964396237653238366437316639623236353866636232
-34303636376264356232326633616662346462313435363039323038333639393539383733373239
-37333433653132646433633665373134323230383065386335653266383764376430373731623437
-34336339636434353164346431303032326432323138303463636432333436346163656237386462
-39373131633238333932336637356663336634613431336364356131333862396235343533386563
-31393631303035366161633266343132646430373537316636326165646339616533393139643135
-31373230303238313964623432306661626161636435323535613862383163366334623761623761
-38333463626664633033373863333466306530646164666634643538363330656561626239306437
-32396261633134326236653934396233653065633433333937633864393838303139306638636436
-34623465376663353835366162353664313038663732346133633633363630303635346238326263
-39656337636462663437376362343133306663323763663737343230613761396536643136643238
-65656338373565646331323031663163323930383536376338656633386334643733656136663365
-37303935333962323834353734346338646538313031393833373438303030613039366462363634
-32346430626636393363373035386139656434313432653831383236303065636265626534643363
-30656634386663636632383031616339666639356130636330363566383061316539663564323739
-39373830353565666432336532643433363666616233346632366261646636366665653561616461
-65313131323761333431633535616133383464623734333039383265663365663361366630303138
-36303937636539613463396563396438636366643738376666613965373166353937336132643135
-31646135626439366634353531353066623937306136613762626362366634353564383431313462
-36373930323161353062343330306434653763353635303866336236383936313731353532396633
-31613836376535346466383234613134326433313561366337633132616231616365656162326566
-35353262303734356361373834386135373031653435373364343933373861383831303362333132
-33326462616134613865353338653939366161386365643162313038613335343531343833633236
-31353732663763383239643562323262383839613535666339616262663433613361653364333435
-32636536646435646236393262613639336334336336383433363237643738343563623830333432
-66316665653334643266663666373166376337656133666262363434666530653232643764643263
-37666466643837623363306436643866393162613434353730346466333537383337356562663065
-39616365323138393731393265393233386236383338616364303833613362316134326137313938
-33353066613662303733623462656635383038393238616234336632643461353763323639383536
-62666132376233653533373137376131343165643139346262313466393639623765633863633130
-31303730336333623465396365346133653063366633393064303639613938366461373938613133
-66623261336161653932366439323639333636613465643061373135363439393330643430663636
-30663435656236333231356164343666366132333466366132346463333735366538393461663163
-64393262383936656365626666303638353339383465383931323663363234663133396538303462
-34323835316139363133363539323161306239633134623636643939396135636464313063376164
-35656463656635346339373765653331323032386336653836353533633332643135643865303765
-63363338386331323933653464323131613136613665343837336230323263663265633139333737
-38643033323432393736306235376437633463646165643463653634633562653566386662396539
-64343665306537653733316330633231386238343633613761633632643066393530336431626662
-64646435306666633431666561653564613530663261313737373030663034613265363032393937
-31376233313965343263323762633131303331356333386439366663626165396666336431363637
-34303739333862636137383930376335383233376536373661386330336635656631333631353162
-35323462323766383434316231633733663236303935636366363266613963353863636439303361
-38303634386261376334646134643235326661616366656338643230393730383464343232393335
-61353261653333373766386362353730303361333630373530646531656433313364343735313636
-32396538636137623231643366643365663936393137616634343065666234646532643135303634
-63346434366262623935623036343936613064633839353932616463643465636234363531323565
-62306239666132343230316336393239383332636537303262366161366163326533333836643861
-32373733653836666565616561663033623563623565633737326364613731656536373361363337
-64393764366663346336616363376464616134386166323139363537353963303566346264323436
-64353739346564623861346534356563616335623637396263663863633835633835343539386233
-64626632356562323162343735616639343162323664353566346538303866646666373761633061
-62363838353239373032636266653165393262616365616262613166343736653832343464643537
-66613134343133356266326361343735623061366366646138353232326362376633626462303436
-30616462306438306664373061643931343565386337353338653065336531653331326638386334
-37633633623132313132623962363539313034376665323333373138643063666638393332363733
-32666538363335326461373733623434626339666536323762646564626661393035316564363731
-64643437323536643539366462616333656231656661323833303738313135386239616438666564
-63666366633036313635313738653732323965383732323936646136323637313564343036333337
-32636665656539376639353766396363656536376432313835646139373636616632373032646137
-61356261363932636139393533323461313234343861613932333562656636383436373335666565
-66613566353337653237363036333531346636653063646364343630396538636161616438353030
-33353633313761393766396630643938323733363930646534623135316134313238303436663234
-64646562343333623666396135646565353137636133393062396639633530616638316564383439
-63623131306236616263663661663932663632613238336131636137313530336330313962623563
-30316434373463303432376631396232386534323361306664633334306631386261303763663635
-38656232336135346663623435613062346132333561356139623539343532373766323637383066
-32363434376634373562393838613161626638623430326462353738313562613466396263626665
-31636435373335313061333733653239326638346336316361343333383133396538353139626132
-62303463396438356638353638396163343038336536613666333162363439653861366266623435
-61373564663235383837326133376239303261343334376534626332346532353936303338326261
-62363364333231333336616533363736323333393134623336306633616535613532613937313565
-39623735396231623335313334306663316563613663643035353464656638623864323665373163
-39373563613064326535333564623135346538313663393634623461376466306563363566656135
-32346162623466343238343139353566353134633136326539323030353438646465323231643630
-64653135323937333436643536393865356566343361366237653137666563316664363730366432
-65386533376163363230643063353638376363343264373464356432346432346466613463643865
-33633339633338376331336331336261363464663331626463643064323734646635623934616635
-63356339663662613166356137303433633437623762626438623165343536356165623737663337
-32336463343562626235396338323766393934383636366531396161643033656362333961363836
-36623139653837356336616338613335343565313238306165373963663631303535313762373333
-64616134346234363038366164383566643032653237666239623338316335373137623437353764
-66346233623039376137326637393139363334343365393935656139643739336531666665306465
-35616236633262323934316566353239333862363534316138363530316161333765373066393261
-64626238396130306663646463353266353966396431623462623164316336353734623164313538
-32366465303763346466393831333034363261356132656234333764616538396230373933663836
-35623735633263333465373930613330653634303165356339363432306266353333636438333062
-35326237396132333230343864303962313435656361623834656336633936333465616263376662
-66666532623838646230613961393035383361633132616435666135396365396663326665666161
-62616634663631313234303734626430343662326463363333386564373762363466393231646636
-30656139343936613432346137633964376538666630666464656635333361663534376666353636
-32636136353033323762356638383862643239643562363465663631356633313039356163343161
-64633965383830613661323562636634393632636237636531616537306262396666646434656661
-65316632303135666336343232623664633634323937626339326134366262626531333161636262
-61313438653134373161333839363861353434333666326536633031626661613634323764366362
-61346334336365363461383161613532373465363665356264323932303530653535376236373333
-35393131653965323936396633343366336231663035656331333961363039373137326233373165
-30353363343635353963623664393236636637353063326165363363306136323837373334643464
-63323637373665316337323961386131393336646235313332313862653163656262393866623366
-31356139333133363363653762356336343934643735393837363934336165313935383164316234
-32613765393963623830623732313533613036643630626437643262376261343733393264333231
-32616165653366643831613261653839636365333533363433326533643238353961393562366437
-31356263303930353565383662303930346163663564316665623163336535656565306564363832
-63396232643230343661323864303736353332323831323239336338356666656430633061386636
-62633533366139383936633534643836393832353733316631636136383333633437636436633637
-38653033646230323339666134333736326434656236613639613232386462383866366630656237
-33363038326430383638373335363661313639366238663464643936663333333030643266363661
-61393065376533646538333363346265323132633831363935613830393361363633303839373436
-30616431356138343361373734663436353963343335383231346563393438393537346462663662
-34303638353065636439393435613965313761653433643038393735393330643861626461366665
-33646461313232376435396530386330353932656430393738653261393035333537393261323463
-38313263303630623538333561616136363334353737323565626665363766376664336463376533
-32326130366435666131376539613934656632316639376430636133303265343438666461363038
-33323564396665663166346364306161613663623839326466326432373566346136626238386363
-36393562396135393435333164373832396138373933663962386264323534346631313432623466
-34396464353733376233376665343363643233346230343831653438393335623836366531343531
-63663366313331626663616334353539623533666161396532623665626632633936313437663435
-35373036666136363333633638333337633131633832333064616262643133373031323964613561
-61616464656639643663326339663762386138616361643862623132303639343233656462643330
-31666433373733393139346238613533316136386465666465656438333263383166376533393866
-61656362376664333339393030623837306230333065343061653731366538663666616364313030
-62636530376138623233646538653834306535663936313339373064383864623631623434323334
-33653930643936323639663962363936623734333734316162663135316534363362626435346566
-36323865306566353239313462343262303734343663353139626637393461636237316232383437
-39656337653030653932333833666362643734643739376233623563383762616334376666343765
-38326636646637366530626231346232386439373362653337666639396664336666373637366137
-37323161303231363763323236323366356661323639623636613230613363383163326131653530
-35383063666666376337343130353665356633646338616237336331393530633531386633653961
-32306535343764623736666137393666343061323763306162306362636136616262313534633234
-63343331646634353633316331313030663433333064633739396462633635396666643562613164
-64363333393734346563383032313338303161626366383064353839643461336465363137376562
-61656432343733386633616233376366383035633161336238303564366466306639363265613338
-37383633313535313737336637303565356135666562356535353866363934666562613131386337
-36323734333664663661356231643861386530303038306364656566383962383538366565393261
-35643733306361633837323962393537623339343030343665343861356130323262666264663933
-37396330333564353833306361623062386231373335656561323061653062633736346432653830
-33333262383934616232363333356536356433623638663932396463656465613831386465393465
-34383231303135653839653335303565386462313035333935626233643131373233303433363864
-31363234366331333466333933343630646166643637313862623231663334646437613834333630
-63343130383137666634623661346330663534316639333632656438356566613066316663306261
-37613731373839326534653436636530653932383138363333383832303331303939373035336465
-31376261383264336163313033653263613866343034626131383138393431326463663930343062
-65343031373562663838656136633732383633396635633431613837373833636665373935636432
-37316633626161343332343762636134396436616435616465626461633532653831646562343430
-31353130346263386333326633626363343033383238636335346136343132373934346462393364
-63626438643738396636373830363833393361323361373136303836613165356563626430353930
-31663461306139653531663861613034333666336463623261656463663433613231303133613562
-31386135646364356133666133303038633566313038373637666136346163356534616130313932
-64353936393064333330653233353730366365613239326561383662616164646462303337663231
-65643439383536313835386435336538336162633432643836666566376136303763363134353733
-39616435396565353237356430356132323863306264373764316635643439366531396433326530
-32333165333261316237326266656637663432353133623032326232386362356235356439303539
-65636263303266613239643334346433333134643962303033633964386663373135656339303231
-64313631616361623933303237333332323335623039613864393965396462626539356630373032
-31336637313165636263323938623638343236663465393361366639376133383535303561633765
-33383338376266613535343461666136613631386365393535346264316361316634316461333439
-37336164623339373965313064326132336262653664653138303031616537376533616339306434
-61306238626236373232653731343965616533656363313338326439636262613235303539613039
-30353461613462633732343139393735623263396263323861306330323765363433356234383130
-35316431366433346662323364633732313836656433636237326562336562643937653536323637
-36643537316562663636306630383030626463396534366537353336343465396531393837663264
-35313661303038383666343061643465643932383830373865643863616532376532353763396635
-61623066313265636630383933303733323962383066386134663232306265666237616662343565
-33316132336537396332333066353161313962353563396236363065303235316565353531653466
-37616161323338643861336535663537646133393131376433616139643734656461353834316532
-39373031353665316138336139363030636532366366313831373664383931326263323236363861
-61613536663039346239353365363639643639633765333536363733613037303265643161623066
-35666565626332393037306166623331376361346662626364366665343531363735326665383839
-36643666353135353661643838643461376435356666646162653662343031656336663462393733
-66383538396363323138613738623431323563343435393631373739633561393063383339613436
-65316261383436383537633964663564653761356532393331313139306163626537616234616466
-36303932613736386166326463316464666335353530666261636532646463373331316362326636
-66316639323435353166366464313133656364373731623966303236363063396362326430623534
-37343133383165643139653036616537383734663434346131306539653933366335623038353964
-38376164333831353264343462333961643632646430376262306366306136386230393133383063
-66353764333637336664363131656133383765623738353861333136613238333065616164373434
-36616465626462373538323135623733353433363834343934386666636333326530376334643933
-35616138323234353033613830333238333737356533323761633363646438323031363665333265
-63663731353337306632653033353836303232626366393865306633316366633861653663373130
-35643830373733383964626139646363323437373661373934336166386632383534613162663538
-33306263323764656231326139343134313330353832346436306630366438646436313333623537
-66323737383166373533656331356362333164656237313465363666663664373938653536383662
-64613565626162663637656264353464633535356334356138373132623133313934326335353638
-61383066373037383635656262663866356531646136646165643339306630393939636236393636
-35326638633337636339666662326534326332336662316233313839666531666561353336386566
-33363466616133303230313137323936346531303135623632303062323139646665373961643863
-33626633353764613030653430666166383163663136323738373635663561386331323662656361
-36313938303736663236666265633164643663373731366365376239613761326139653135623433
-32343061346430303164616332663636353136633261303632363430616564643939323934303135
-66376462653262326434633139353664656166663138306162313437643864326535376437333566
-37633365666634633933313032613936643036613030336338363062663036383731386636616436
-33356437396665653563623939336662333835346130383534613861303730343130343161343539
-35333365626166653932633136373562333237306130343133323762616261643266343838353462
-64306336393062343365313961616631633335653333333937303936323464316533376636616137
-36396532626639383334373637313239383663386236333762343833353064633538303766653738
-31316130323764336462393937626264396435656530653530313330306266326237386363303161
-65613563376434613331623736386234633133313432643462326562333031346338376434323335
-37363665333539376561666633353061656236323535633663656430366363613866653861363435
-31316530386363343361343430386663353837306438633563663461663330643862353134383737
-63636561613232303935343262643866386130366539356637373334623234306138356464613133
-36363430626137363137613361643763656563306431336266636536643266323061343761386261
-33656132393533663037366563643530313366326465316235643064323132663961346464313361
-39363263643930383261633034313234616639383230353732323030393630626432376163396239
-65363466363662396531313231323530653937636332396461303061336436653931373437313330
-61633033323266363639313761333732393238666664303234633361383465616334383837636434
-61653762363332666462373735393032356231333230386238633262616439303938633132633837
-37646132636261623135353761623366316231363131343232613138656662633331393666653363
-65323230643639323961383236653563616562393937396337333932313562636362383832326339
-61626464656139316365353265303431353835653335663137373632643962333734313431613832
-62383837633337366635336462666435653135643539396230346162626539323430363561393332
-66643239653737383161653061643265663362393863393437393664623963643533353037333363
-64616566343438313236653336646362363463303233666636653631306231363062613766653465
-66666439383132383730663135623530353439613333626632643338353731636433386637633366
-33343231396363313064323335623466633638656234363531336436386261313639623132343431
-30616162383939363062383265623739643737343536353762313033393766323038343864363166
-65376239323163313632663861656566333737346336306261366337653433356465386462393666
-62306638323333666230343531363435626461306530636161646639333238643233653234613261
-30633634333762616231653862366535366164303339613830336662303663356335383363313037
-61316565646461613035613538613337623132313132303162623062643337376439343035623631
-62633031636337343539373132613062363734346564363662616463353765333130663434303035
-38353731356637636161663861303230656330663136643233653131663062333161366437616336
-37656664633037653134393237363833343266393366303531313266366431376261383732393562
-30306339623061303631386334636565663732366233663638323336333139376239626639653362
-30353732306364356365636235383565623462616631636265316161383065316561626635373834
-66653639373831623939316337313134383463633231323834666632383431636633336434313862
-30303434653965343134363634393231386465386364366230356164396336313464306538396461
-34333862663663373039356337353138353861376332333338393439666239386630373839646266
-34386466326562363531393832663331303163303630313863306163653663333834346161323837
-38323433303537376432353636653938626565376438323330343366346131656433636434386665
-38313934643765343132363166346438323063303636303932666532666531393535353434623939
-31353738333361666561643364656535666639333433313764353537643338393732656464366561
-33316137363566623832316430333239373730393238336238353161613438633532313330383033
-65653765336564363064653461393131316262666539623032303236383939376138353437393234
-66613632383762363365313830613666313862323839663337656631633566343835613930333730
-32343735383764353161323266653166303535663262323932613231623131383030353836663933
-63636431633835393739326434326234376134356532313765303433393531393361336535366363
-61656534333932636231616465393362313862343264336439323839323533393135666438393130
-61633066663033633430666338363936346163623831663563393462616238396134333739303730
-62383334326137646461613838316163303039383338323461656535316366313839633634323663
-32323730353038336531353161316364626239313532636664653334323536353561623831383166
-62336561323937623631663330643934373831306231616361386161653561643939313863333263
-30363435353561376362613437336565303033383538396132386535393439363230333534643338
-64333966656633653062383535663531626463343838363139633632396238396333343632326565
-33666264396233303565646430663734376339383361306436623562646266323331303061663234
-65366165656631386464396332666234386637353765653734316336626537643237633735306331
-37653636366230613764313037363732313766303439613337616636353464366263373464613337
-63333763386638663031326437613238336662383733333465343765386238316236383630333237
-38626536343131383061333136376362333636366331376265623137383437383466613466646564
-30633837363933383661336263396530623734633562653739396336313431623139386263626135
-31626462333236663034643139363264366539326135303165656531393036306166346465393434
-65613061663636353866313530313865656365646261373831326239663961336265383764353765
-33366130323863313736343864383962363239346533313238383164323832383635333737393536
-65373633666263623965613861313732363439356538346661333066373236303135333636646334
-30633330666334323031323266613936353864313639316165346637616130353137343861376464
-65356631393638333361353235393261386461656634636463313630616562636662313236376566
-61663465356139656165343965373965326661326161333961313435633933323536323939373064
-64623434383665623163373232393133323361636536383862623965323335656463613265373835
-62323065353635633935633637356662396536653437316632303764346536626366333936346135
-31313034623965623661336163383239653437343433343963393334663465636162663533313232
-35376230343064393361633466626237303761646436613537363637373733306336306135313632
-39386634633036376561376330343434326139303365386131663566636333636632306665383835
-31303034313961383734336331656265353263623437303230373961333631383363353166313230
-38643161396163643031636636323037343037313038356238373130623161353132323339303866
-63633966333735386434366232383865633332626462306430373161346235316466393234316234
-66393631383166343533333365396566383533646464343635636635613530396638373339396437
-35646233363636396664313237383331343234316364643335323334393438656634666336646331
-65616665356339373165653863343439663434373065366535343865393636373065393735363935
-31363733373530623866376430666466366230653033316638303639373762326432313565343431
-33316533663935363263363334313563343166623534356161343763623762353532323939396333
-61653539313965303833306331396232346237396465323066383966353039643464323764636265
-33346563363630353936333563343135393439613864623637396339313430343661353661636263
-30656362353863343966643132623334333466343731313666656266343332356562383361336662
-30383933303737363261613930613738656366383966636363636636616237353637383639353130
-38633232613665663063353739356536666533643762613630353663656338666639343633313839
-64346533386136366630316332306361303262383837323733333336623361316433346532663035
-66356339613463373832386430326266313931393638323538363835396666303331393264653833
-38313466373231316365303535643936303364333961396630303165353232363833303832343761
-39366331636430653537303235623363386538643134646664303034333530383234666366303561
-36646231316538363365613030656532613061356530666634643438363265313630383162326464
-34386465373539333134653966616563373238393664326330326137626430623132356532393665
-36613838653432653565643231656461313331663461616634346637623766383431346238643362
-38646163643537666665666666386435653031356534313564663435393632623335636265343836
-62376539346632333137663632323165353736313930666134636233323531613362653636353265
-36366466356165303763333038313836393835613438346665643664653233643832313837336563
-38343433323130356130313462613263316230356238346163336161633161356532616236313036
-30363565306561636266666237336237333839353338323565313065636465383537623538376437
-37366464346436356462393932386564353039343263313361656638303038376566303562633962
-31396535633264303037356431303239336365636333366565623832613861316432653365613062
-61623063336337376534393236633964633166656237333061306530616231643333643564313966
-30623436353038336165323635383430623835616637323438653032306666366430636265356664
-30346131333331396138626564323261373538383563383131303366383331373863373661633438
-62636230323264353164366538646465383835333836653732396538306433303136333331336234
-61313964333534346161646232376461386132386332356438386130636438353366663465653434
-33656337396638373837363835333233616331343037363939306336373538323863386337653762
-37343833663936353435613437386336363161646663636662393132633037316435373730326134
-36353566663134646632373435643065353331336166353139356463636439353135616565343231
-31633236656639643863396465636262653331346631643961393732396666333464313261343230
-66313430643162623237306337393261326631626631353231313538653830346561663534346632
-61343833636362333666393762323963393466656464393839656238666465356635383936396430
-63366535623763363465663361666133343730353062623266626133396262653464613330373135
-37643166326235636433363364316537356130383365323661636265646266313433366337323361
-65323663643532383833343636366634653462306336313936666235623232623033383139303434
-32616130663561326266613632343163346464386330396636646335396333633732663661373263
-62396666643132633939663033303839383530343939366463333834353831333039636536303833
-31343831333861396532353931346366343937303963356630313334393966656639636161636135
-61323830336137346132396438366639373563616136336664666134376333356138333834393331
-63323666613266333132653464396433303938663563393439323238303135373765373831303365
-39663162666539356166316335376562353165636631356164343638343039616430366135633265
-30363265343139653561623266383530626235313238393139363166343933303231383536376365
-31653232356161643035383138633338313633653732303366386439316132353563663630613837
-38636233663565646138383138336439396533666137336164663764643634613333643364333932
-35306434613138353966346637336665366364336539663533346261626135363430633464323537
-31393166313866323531363237663634326235313465653634376131333436336466363763393635
-62343063326662646238323364356666663363613330616135393034346239663062393331316564
-65353866353233373664613066623032623639393135356131626133323433623165616639396535
-32646466343736306666613931356430653566323737666131333130633366653265656238393466
-39393333353534623439316430316361366634373435306265316238383531313936636533376638
-37323866616433633034346263373034363166316530623634663737633465636638316234353130
-36326434396136306436346631333564393534326131643436353165313466353061616233313965
-39383437623163323739636465663135313435346333653030376338616165663261623532393837
-35623436356536613537303138303965663236356134663765653935653462323662613364363336
-30303537313463633532613138643938646165393732333163313338616633633163623931353537
-32643534663733376631303534363165656133336461616438356663383665616436636462343834
-38333262633364346564343435613836616634633236636235373339343864633634666339353562
-38343333396539663237656665656562396665316331336635316361343162373663306562383339
-33626631336633336662393433393765353037336136313032636662616565633432303833666534
-61633337306166303437373163633130383835303933623235663437363039613164306665393230
-61306135653430316539613433353965396666323366633834376335653432316337623233356533
-35353430663338623230376237383838323432353338633136306330393334613439663238613934
-61656663356136613464353366663531613431303962316131303433303230356335663739373438
-38383735303838616664623434343838343536643336316561323564383862303465396563633536
-37643165623730336664613935356432343838353134643131323735333432613566353962316637
-39653239326139613366623762366138663639313938353137353538613137346634376531313732
-33333530353739666131396465373262363266313838636535643130346465646432333839643731
-39386565323537356639393135343464363536633764326230393133373935353330363133323265
-66346262636163613862353665343339643033323138396463373565653738343134633335343663
-34363939643764633561323733613965353264656535666562303730383766653333316564616565
-35363237303437393061373634353534316430336265343265323365663961656435353764343534
-65346133383836363638353365366562636331656134653636386263343738326261386631336531
-65633134316536383437663966663463363235383161303937303365363861636531623363633833
-66643234346236336430313932373931306337313030663765626236383866653463623632346662
-32383562613433306634343939643434313638663762326662376435613561383165306339303039
-66653239656333656364383561353466623861333332386333623135326638663434396365366565
-62613563393834653466356239363063613935626130623664343765613831613330666435636166
-30633236636566343162616634646334343231613766383830366333626665656634376535646237
-36313336636666613336353066666461383266663336376465326532376663623932393133373230
-32373662363563316264343964373962643036313165306162323062323265326663633837653965
-65373535303961663966656562306339363039333366326230393263306239393631323766613738
-66343433643138373939356639663030653565626537346339626433363332643632393839323337
-62613163306338636237366536633465356364336165666334376463383034343131383835323564
-32643636373938356266393666356362393431323666336363643462633863323633316238386333
-36333934306435633265663333633738656565633531626661393066633636323561643266306636
-34343538623132393538323966323264316363386565666638303230373261343035306636373834
-62623730616232613766326664373563383332623039656534373064363838623633353138636633
-32316638396166353136636365323034313639373232633739363832326264353531353162656438
-30396661373366363636633863653939373262343366346161346531313831376164626231303337
-61316530306337396561326433663866653539303137313062313962663033323262643636393262
-37643930323064313465616434323461313863666639396464663338386130376136636565333635
-62353165333736653931313939343236326535323034663664386330373965646262333365353664
-62616336616463656663633564626232633266353665346231383464386236306634386165646336
-37323730346238626139356636643166626330306363646436636439353465383862643766616430
-66393031393139363063633036616161613438396163383164646131313839386561313262633966
-37313433613331663237383438323736353465383732323337326233383130616634663231616631
-63643461316161626265613233393534386364623365633535393138333933373330393934336462
-63616634623735613865363532366133393838313932643164313965313933643737363530643964
-62303762363164303732383534346239326431353037316437376334356562623334353130356662
-33393162633038373636626365316332386334643564643731383638373464643230613434303635
-66653338653665366536326137623864306666303438616632353062383530623666633764623831
-35313638643538623334343561326138313133373239346634366535613434303737323165396661
-65633033336432633461653632303836336364633433633865386562396464626364663435346533
-65333533336464343331353835323037343839613237666463613639303566636437366639303434
-65393631373664666138646634663630626562386434613539323861363535306665373530333638
-34613637643433396266303761633238303566636531646661346563623639613437633231623636
-62393737306633653532316137633137396333346663353362343638623332303538393465633737
-36326163353538663133383264373437633266303430373764623932633466656338626561656534
-64363361353939393937623432626339633765643636633137613662623066393338383736353934
-64356437396531666639386539313637306235376138386133646538323138313735666333663933
-31656337383238623731643139316434343339313363333739356564306563336431653761623432
-66613538663335626234376462316331336435643964383931636138323164646164646566383161
-31323261623865303465656363653533323061633030396163663065366530633435666565376433
-61616666323838393333363463616534653431343363656261643466643166663639653439656437
-33623035626630313631623162303566303339343461366362356632383866643530383062306435
-35623666303537663633613464376334376361643939613633653639363962333865373833633331
-35393734343332353737396531616438663566373333333162383638333266643161353465623461
-31313234363732346432383034616630383935346138303739336330353939333739356365353836
-31643234653362303837346331346631363037303838343262643038623837323166653565393230
-35316630616632316331306137363266373633336331386631656565363065633061303035353831
-35316264323832303537656331633766656638316164663330326661396162333036376131666430
-37396363656163616638623965633137633238326330663264393532383333646638656334336665
-63653635613339666636616639356266363261616230373834356264313036323936363131343263
-63633134636131323836366637656634633236346264363635383666363664333362336232363937
-32353632376139343464366665663161336364633533613630356232333937333361653630663631
-64303935303361626263376561653831653931333732393133623836633531646464623639303266
-63343563333238646232633730396230393036343839333364326637613337636332636263376539
-36653365653965663034633366323531363830623866613632666162323334653665363430343735
-62626434333865643331643064393763306563386534386632303931383263623239363138303764
-32343332366232653439333437383035646265313438626236616237653632616365653434366431
-61303737623365386463393134323939363130366264396430653730643765393539653664636531
-39656165316162626139353030613632326365356462353432656532666437616130333531653535
-63343362643661663831643636376166343835386565663461306166373939326563663732373365
-39626231653665353837383466613063616230383266326436613937646531633633346130636536
-33363363333935313035616637643235343062643562663735393962633061373535343832343133
-63636166313736396463653763616138666662366163633830313539656537663733666437386364
-30636537653633323061316531376462666235343333346363643165376164326434626564643238
-37363161303233393930363536653665353139326330313738363432353832363131343466356165
-34626639363831633639623161653334323137333433353562343038386134373332323438366338
-30326635396266356637633963666238316439613963653732323262636232393331623631333137
-64336538306364353736383037383164633061343837343931313964393165393136363035366161
-63396239346432346564343136366363346532653261363263353733393932613238653638333365
-30343163376666336361393533623830633263353463613833636565613135363734363035323130
-63343436653066343636323437373462356137643732633634353037646630323361663166376139
-34653462646363373036313438373139653131393130303832613134653931373538376261386534
-33653531356530313730393032616439356238386366653835386235363366396164623965373037
-33623338316133653562323234623365383365383462306664306233663032383136366361623666
-66633933626464336137316639666639363064303461396661626331623634326266323435363736
-61656233336133373230653130326663333136366233373566316362636337396632303063313464
-62396166646166653337623437376630376364326564373565333437333638663935373536613262
-36393535633634343934393762306338343039333338323361616438616562643836373733353837
-63643561623264356464303332646164343736393535623131666139333532663330313363343738
-34376532336638373466323737343463323332356666376262303932326639663935393866313839
-32613564373862363739396431306132383733653163663335383834366632383737346664303439
-37646530636237323766633861643038646436633130626636383938663331626563636161623536
-63643966656462343932303731636139643631313130363263363762343334336335316665383039
-35656535393466303835633162323738333463326661333137646563613264633933636632303666
-66363336613833313562373064656532346233623631633065313634383862333734373736343632
-36653663386366323036336237643439653530616263643732646464326534303534616365366632
-34306663353136336562653363396333663261303936313039333564666433643964626365313834
-36386662663863623739366166666561363035353733373966636138646533366138613732383534
-63326633393230333837636535323461363062323365366662636363333838663536613237643165
-3763373539376337633830646237363064653366313364326637
+33306665326534376332386439383961343830333466353035393561313661636538663936316465
+6666313364613566346361303235313433623235646562660a613861353636623637656331616531
+37303538383839383731616663656230383930363962663033613163666332333032376131306264
+6439363062376361350a643335363334396535326138353635316535366261353761633635333835
+61393763336533363236636265363764323863356365376332393737383636653961323063323061
+34653133656535383366363532363736613765323163313731623465323330666635623535316434
+30643238643238643038353737373736386162623830366335383431333139656539336430656435
+61393365646433633833393166323266306236623761623664303761336463326634373938623235
+31663132643835313430633162643361306135646133333238383834333431643138373435613132
+38613862623766323838613035316564303934396162353032356639343039346462313935663634
+65653535643834363030306638336136323363383935393436656637343438633839326165656430
+38343866623862393364353334653566343338656238646135616266356336363339326662373464
+30656139663864353439316432623235653533303032363930366134313933653738623731336331
+38663566653334303462356138643863373937396666666339303337383533336565383732626461
+35613531643763666563626330636639353566373063303232643936353530373162646162626133
+61666532636461333535373334363764653936323164663639613932613961313930366330383735
+33633430343361326635316632633065333536303031653539366361663033623336656463363436
+30316433633733333735346137373735303030333565336530656261306338646237663163393363
+33323133663663356263633565323161313065303735666566383564613439663336306330343533
+32623931623439323161656430666430313962316334656266336332313239643261316433373463
+34656630313065333866613336663761366530616333386431343864633232336463356134643233
+63373235343438363465396363363032313366393936396334613565303936343166656336376330
+64633561353934653364613739306132623266303563313434346261636462663166383466343437
+61313766613263373230363333636237633861626531666161393435376135343466663638323465
+31633832316262316661653734343965356134346132336563346634343935393735393965383962
+61666262656431376436633336393631613335363835663930396139653262343066613936363761
+64626134366131666133643338333862313366366562323664336361633339366235646639346365
+62343639666363373131343838353836636263313862393165363336656264306361393661373735
+33303435343035616531663434663935346630313731323338656237616638613530316131313131
+62303162326162636230346134323036383134653863343961323166646163316436346131386335
+36653166613231643632653435653733626631303732323337303562396436336639383636643633
+39313365653739343265383533626666623131366164353937363933613866363966616535386135
+38616561613336613037633331303463383830626132343664636433393935623932336464636435
+63633165363031386336633537333235343962373565643964373130373564373830326135633138
+63333366316132373761313561623466323563646364353939633639396138633038316130343638
+37316164353830333333666337383063383834653565366362613465636235623335396438623564
+35613639303333343033623037663337373932313063626364316535663632613761613236656533
+39303937643030373366326664663862313038336566636533326264323562386236373135306463
+63303135363338306365633735323731646533633432353266613535336432313132666631623063
+37616437656132386130383265666330616234653137306564663166666231303762653036373636
+63373961663936353236653334316530623638373133383061383730366633613339616439373738
+30343265326563366231316164396637363331303165663735326139613936643636336232663361
+32343261373730353533383237376661613966633932383930636661656438393934646661663135
+64343838663065363731663332653739643035363032623836323462343532326431656437303237
+37353362656665303337633538306263303163663463613531336165333462346533633038613465
+31353833616238623332373033636632386665306237373833303731653034376334663864633037
+31663035346333623135616139366336666363393638353262666466333164333931643630386531
+33323736396665333631313966326237326235343338313332643863613561393034326161343430
+35643230363237373261616336383535636232656238626232663435636162383165616530346165
+30633033313664313461643639613065303636613861643233613263643939613064356163353339
+62646564626531323333373562633337633038663265613065373566333661643435313536323130
+63646364353630383132346339343262396635636662376339353162346636366663633632653637
+30356532363162613738633662373035636335313331343864356335346363303239326138316662
+30643166313032626332383765386436346131353032613232393034636431333566653830633865
+31336666353735623638386432663431646334663237383362623061333364313533326161306563
+64626465373939353066373233366332646438303064643236373465666363633730643131346336
+62343265643532333138653238326535303039333466363666313564333036313934326662356432
+63356261353564316462356131623464343466393833353232623034623133396134303936613263
+65393434636162353537326433356564616334333635646362643963666230353030626438663364
+30303436663562633635313063663863343734393632333665343635613830383061396636636232
+37336262393363303765663736613039636333336166653433333130386230653135386530616330
+31623639383334303338306236333831653139666565373262383633306437646636333437646132
+63323135336630313864626637623736633537623661363763353630333038353862393863666532
+36626630313835663665633663623533386638326564366336366135333834383032343763383061
+36313936623337396537373434346166313762396262633331303265343831383738363937363863
+34363937343966363134666639616364353032363932333534643463346431343430653634633734
+36393932356634393037643765353064363834373131393265336235366265326264653635383737
+65353832346162656634333264353932343836323961313936356463626232336336383034393166
+66333732356137313166356235353936316233313266336231386130373437303833393163333338
+66333633363136623165363136323931633564656337366462653933373834303132616336306361
+33316633353034303833636665613537643764343862653334366135633037626461636464646437
+36303063643434663061323263313565646265653235613238303335326264623066663934336165
+32386562363263623036653461313132393365323232613663396436396566346234626130393639
+31623039653062386130373439656539616238333531313739356135383632343738643465303333
+38353832323236363835643835303463366538636334393865373038393862616630363238383665
+61613236643135376336323366326339396432326666323531363030623433363330353530613832
+38363431663638633061633862636666666636353638643436653862613263623865643133656638
+38656661316165353230343738613130633765356432376237643832613264373333616461633764
+38653363646235326433333739313263323832353262633835396361396663666335663366633665
+39383666313465643530353230616664356334623465623362646632363935633866613566623465
+65393834633831363031626433313136613162353966366265343436323362323566336564343635
+36353930656130386134313864393964393166666365626531336137363133396238373465663737
+31393332656364353439636538326562316231663262323234333063353832316663336362646332
+38376364313730303662363738646265653930306366363065303263323936643366326463363365
+32376365383461643534336233666364376633663834323664393339356134356431616165633538
+39386362626630333764653735316662663434303963623462396165373963363538366433653932
+61316562663532313034626336656265393663663237656365643830613136383833616364303538
+38346637613466643765386132613461326261363461643932636436666335353630633261653763
+31376132383465386361323730373764313664386531303162343532373937306538386231393961
+33653061383966313161396564396331663362343262633936633262613165663334663562353739
+32633233623366663363336464386232646336613632633866646437326230653866333363356663
+64646338626164643737306166623331323266343266386162643466343432323833313033363837
+32393566303537333733333836636663666230663132643638393137646639633161316331323039
+64306539393131316335376261653364323538633638303330303962313863353434616361373961
+65363065613038333830663533373539333636663766643434343266623437633364653366643038
+39303763353536653232363033613934386630623636656361383430363664363262616539343830
+32353735663630336162646334313234393837343936353830306235653433373863393265386461
+37633630623339663664623661633637346564666532663432346634633639663032373261373937
+32363364396430626138313464356635313933633637643462373032633636376333376563623836
+64336362393565353431653934343863346631346630613734366265636164323966643339366131
+63653865616230356339303863653864386636306365626236356462663364626433313462663466
+31623035373835366131613534646539663963616263343935393937326639646534636136326437
+32333937643736343233333039643232316462663936373664313338343832356438326239353033
+36363133386533306665643833383636343533623537366333373431613865333938353139313963
+31626163643362343735333534373061333539393839396630646437666532363338383162323235
+39666638323761616433623034663063376666383365306565666366663230313231366461333262
+63356166363334626538616438376463626465626163336266633333383338333130366632633934
+34343361383637356335386361616366333636343065306639616462333837646561613532333133
+34333032303634336634353231646533613831663564616636303061613663393963616662303336
+61616238646462613962616138333639336665353961386262346536613664386662346139336266
+38643535666266336661383335383430383564323435636438306132643538613261333737323132
+38396539366365313834393733636339363438396164326635393736633934366534383861376631
+64393832633664396436393666396662323065663932393237343164373863393834643536303833
+36633237363164376635653330653266626165656662656665666461306439383937343266303439
+35666536323961336564393638643130643062333433303431333331336137626661373232626262
+30353666396332323762376532353165663564613836393534663330363864646232643836353233
+30326338306662666365653863393265653431396465306332663463613561386263633536323235
+63633934643532343730616666616661356237616161616462643534383339313230396431653763
+31653337346563666631333436626564653737393266353839636162313330333063623433366566
+35646432356639613936353939643762656435666666373962623336666233363534626161323836
+32643864353639363537346232353762333232643763373331613864363932623530653538353062
+31336639343037643037623938346166323630393232333266323965636437303166653863653730
+64373837346432386139616131383931623563373064316461613461383864626266663566316262
+37366436656536343339643730613732306364326462636232373637613736633436636434653563
+31373563646334366435386339316430646431343763623739366163353063653338656166303534
+65356464343766653565613265633663623539373238633934623266636139383438643261623662
+30333639353431326336343833393766623136303662646162633930353364663662303731343332
+35326432353131336436613564666539646431363833373062343237353235613963356137643430
+64613962623932386462336439653732653733653533663762613561623038656365666237356130
+63383065633462303337323566316364356631653230633864366530373262306330393037633665
+34396163623034366430303030373435323164373461626132366633306539656334303237303864
+35636136383736613232656638313535386161663034636532616631626530363234303130356530
+62656164313464333335663433666437636431363233646564663135343539326263643935633662
+62636336666139633762316439313937396539346436316235363135346138383630303034313035
+63623631306565323264626661626262653662313734336232643438303431656565303963313437
+63363365323532653963623065366635366133646635636130616539393739643266666336623432
+37666562653532363964613763353462326631316566363633643566653663663535656130363135
+62386531386533366632333564393431303466303465333537656334373562623462356237383363
+34373838333466303536643639306635636638396365383537323162343236393533623436333537
+66613731363534663235373631353162333235393836653463643131643633356633343363636234
+38633238643339633636643834333036643237313238633138343039643534353163626235323630
+37376364373366343164656566646531383336313834333136633364303438623739366634346138
+61643735626236623664353236323239363362643737363561306661386235353937353763306232
+64666532393436306134366336303363313935383831313037353738313863353431393263383830
+39653233663866396437303635303735656434656634653937663465303638363861316332333161
+63343439353563653864353339333034633465343030326134316235373565353536323366303834
+36316535623961383338663530646434386332366132383035356462643565666332626265383130
+39353464366663363437336631613366366633623831313631383132323462316264383264366566
+32356137303233363564383038363838646338646637663135343334353162343461323538646539
+32336137666238643830313661333534333835633762393139323561373066376261316363383861
+30643635303561643834323864643339643363643932356233303965626433613638396536393465
+39333535646634363239386134303535613532383165343436666164626662373263333635383537
+64316638396333656265343830616633363039626466653932643334663132663039653865323166
+30656633356532663561643863653266633766333163336264333836623831383266323632356431
+36333261326631663835633763323561626330663838353065333434336565313865353836383162
+66643639346465613135336335376661303831303865613836313736643433303334333836336637
+66643136336336663065363530306532316564376633376338363332333439356338306365643466
+39386334333563313239376165616166323735393639363262653533383835623634626230363830
+37326666313663373439383065656662366665643539326663393663316531356132333235626130
+65613962396665323039323561666138363331626562346363623431626531383931626265346238
+39623266373135363735646635656530653463343862386538633066626134653730633337316330
+66353131646638613866316436353536373633646232653331313138356437646136383330663430
+66363330343861386139333435386132326531313835383062653635306463386433353932373062
+34366335373432336638383261316132373437333030623730633034353965383336646465376238
+32613338396166343365656464313562313934303238316466656431366538316533353331633664
+39653965333961386462393530653036653566643634643262623435623538343562356635313935
+38656130363161623039303438393137323466373031623739636364646633616162393962336466
+36323430386234356236653563393362306466353565313733326330613966313564663564656466
+32323935313533643731666135633035633336623966373338623734633361323463616464643366
+33633735383331623331373462663862383430376566363936356639316131313765313430343733
+63623639316634343862643766643238616330316638663834633731333430613863313564643463
+34343466393732363861363434366464623461323434653637336465323163313734666339353833
+61653538393137333638643633366464663833356138393939653030333537356361613238396564
+33653833666639326562343032643561616463623131666361643933373538636665346666316639
+34343230626365623466643462613232373038633239646364653432623430313735383637626630
+66343030373033313731356234636630383266383565396336303037393030363163623034383639
+32316635353838636238343737343564353238333661336436336266393538353138663861323963
+64326664656436363464383665376334373862396666373837656237353364353034653262613539
+36333031626265623537656537646239323764383937373939643661373963323332393835663735
+31373264616664346239363437326139636138643730666465313962306432643263353362646362
+62323937663334623037326632373966353665393166636563643130393437313263643739303131
+62663939323831373431633263666337356662646535336666326665343062383930346635656562
+65326436356430646339383864663565366264653362313862623361373138356634386562313834
+33323865373431316630623533643336636331656562326539616334633435313835323537303933
+30643435333565666330396339386364316434326439626132656638666531383561653832643962
+66353731303934366463613335343164353337616434633132666435653363356664616336363438
+30373964323835396438666133333965663939653731373564396431366232393762386639333330
+36303632613564363266333265363432366365623264393637653937383231613865613336646630
+32396430643666353066626131373863623733633038613765313361386334386133326638303536
+30373266653536383062616231326330313261313137616631313736653839646435346137343139
+32393435636538313161383231666236303334316233626130303661373464303235336562396234
+37333261366239366138613533643535613630663034306363623336633238616235636239366239
+38373336306266656465616331646233316337386263646563633366666330353437386536336163
+61373432623530353736363430396535636532373235653036306465653436656330666463623963
+63333633346462626463613465643765613363363434313933333139633462343031313635363834
+38386663326237346639653830633031626162663662663961613266613838613535363234356431
+32623832656136663733333165643437663733313536353761346361653638333265633933306263
+35393663643337396432643933396337623839313832376534613162393732316234343434363961
+38363362383365623035646364313031633161636534326262323865323139363937656565383562
+33333832316334323636616538663263373038356538613765316666623232626566346464333065
+34663266633732393961636338386538326266666463616636623865633836353532383162643330
+39323831306237366435313261393839653335326430373835356333626639383930316263356334
+35653730646363636234663532616239303563383932353964653566313035343736656436623764
+37396334633366663365616438333761393362666234303234626163663939393431373561326264
+62356163383262393437373835303830393530356163313930643233313066366338633036333936
+35366339646162396234376232336235383232373937393336313831336464366230383566356438
+33313338646464333135346636656137656537376536666233643161393235386462316365653037
+35616666303531353031663261633962613836653236366561366537646235393165346238303663
+31666434653339626462306334643339336139353135333435346263333038363934313063623763
+63366434346332383466633962353331623761373834643437396438353066383763643334373432
+32356534323862376335623136346465636438633635653539633965623930613238356130363261
+36666231376164646431313736376665346533346662666333626236376332626438323438633161
+64343566343432643236626436376230353465393165323636356561343432656132303364396138
+64323636666238353663613565623232646234646136633935636538306261613337643539643232
+34656661306330376331643332393261626439373361356361356666393034663064323538316432
+35393562326234633436623362373639303363383462353832373231376666373633323334363165
+66386566666131343562303435383663303732646566643239663166633162333964613137333731
+35633335646530666666643134636366343363323931336563326436663433363732373662363232
+36633437373634303337343537646130323232373833663734386136666563353465666230663664
+61373063343932616566653862363339393665646430663733343862666663303562643536646536
+62373462646531336636313135353932303636326463346631376130386638616130626162346238
+37653666303062623630363165343935366634636561383330623734306232333634623435376238
+65303662646231373633636432316262323636343763333361333365653765323035333734303035
+39653235386666356335626161656331383161646464356232326337343832363665653831633133
+35393566613237303932643765643461303365343633386266363535633261346338346531663462
+62326635633866353035346131653239383236383065663130656636653936383561393235343761
+38363739653638313839356238373839663033333437353162613430616537333264303161613863
+37643062376361326364356430306361333230316361396634393466323130613564316331363739
+31363637333432336635383266656266653234633762376664326564623136376533356631393833
+34313334313863306335383233373331616330386630333362366332633862386664313065643563
+33316462616332313661613565313736633163376263646138396266373161393336306334653536
+38663731626636653361626166303561353336363736336132616631386539373637353237626330
+32656236623031663464313235313164336465663062313637613061316531626661653433313837
+37363533643466323733383730313361663633353638363039383264623365623830336638343666
+37363561396664653830656633623839643235376331323836653036636362383632656436383530
+61346536363030303062343064303330326136343962633762616663396337356139306565353230
+39393661623639363462343534616637643335366432346638653730356266396235613364333131
+37313832303136653036616535326165343064646163303634666164656330353866396166343930
+62653666363637303961326132366632323034616465303464636137656430393938306633386131
+33666161623234396230383830313630393737366430633766316436313131353730356432393164
+31666238353066366431633631633132313732626233393130326334366433663562346435646666
+32346630376139366464323039303730313731663330396233396564303335363561626566643665
+66616238636534663735333631353363396663626632656532303239343836663231633231313730
+66313534366435383866626539653134306165306436363038623961343664316233353931396464
+61646461376632313534396636316462373862313537306231636666653065363835333331353335
+65333362623336396134613139633839623233653032393436656132373133346562363162666138
+66393531316130666636353334306332386161363839363934336431656430616130393336303238
+37346435366339643732346461366462346530373664623363643439376130633236663965663232
+37356535653038356161626630633331613265643131646434306130373364343037373862346433
+30663533306334386362633665616534396431376664656432343235323734343463633831336563
+61316131636137316366613939643031326236303431616135353638643164356538353463653731
+30626434303633393732316135313565613834643365373236366434616538336265636661303765
+35666636646166353134383332373836306633663538366236333832626535386634613862346533
+62336538356263386437616234303264303539356364653163363439333164306331616361643564
+35636137356532373462333537333831356231363165353362626365333536613937343534353133
+39623664303461366637356138376534653337626161356661636437343166373961643066623163
+63343134363733633537353230663864336164313364656638383331393338346161373961303663
+61616362323630316331333233336165333633663166646432643263313232393438303232613462
+61653933326336333238363836303638366461313132653437643266386233316332386432313132
+37363665663136636564626665366438633961376162653532376466303136663738336166633538
+38343462656534393331313138633733386536316131333566323330383934663735373830373136
+34333830386633633438633835303766383835396231353064343963343939313662633962383339
+64613732633064353338326239653130633264643838356462343164356138386631613132646263
+34353937656261383530373335663739386161363731386365643162613866313137386266633036
+66383735613535303731643132633939373739383561323633333263393338653861663937333162
+38323530313938356531356130383931663265313864303439633130643130333032353363353531
+30646339623035643535626265666265386665323139623835303764643038363830616439373137
+63613464363039303632626630323531316237333632363063353861666535373962363532623435
+35376236306130393866303564353761386233613865636231626336343736343962636435373536
+31663832306564313131346136313435613538396662373939373030653465663666306236303939
+36626661393539356334333532323765343432343035363330323463656433633233393638323963
+31643532653831383166313266633530346437646131323538613339336633643664616537633731
+39316363383861353231333339653833663361383336343364323332646337383931646262333734
+31393837303866306631306165323362633434623566646561303938363033666536643435316637
+31363134313964636565666339373938313433663737653461653530616434363337303965316464
+30343162323738623864383131303366666234653565343262303638373766353931363430316166
+65343166633264613366633434656636656334626363393362303763646439326338316234653539
+61363961353565663737363430663932653666383835613937623465346336393835393037623266
+39373330366362383938616234386134326638666434366130336539636133653138366433303637
+34386465383661643963636630343435323363666266353165336665393363316561643939396630
+38626465383563353734653266393864323466616631663539616633656362306465353633336466
+38373166643133616466643661626539653539343234616139613566666632313634366662323062
+63373336353631313563646133353462653839353337643338643535613765353861393034623562
+32333239633938333133346632626137386631343738646264353932313037333838613737653063
+62383263623061393662373439653830326431653262386239336133316666326435396638383531
+65306537346539363766353762316161656165643566366630336464393831356239633035623963
+65343232376162316639393263363135343130653337386261663631656534353931383862633538
+36663165623261623835303635306538646636656636613365616532633731663636316466396635
+65623362376438336231646163313734623866393965326134363236396432646534633163626534
+61313739646561643062303934636638353535383765396266643234643331386131613037363131
+39353839666538336335323937616362346166666538663664313030316664353234363930666436
+35323763336133626662333939613266343933346465373030646237373537636133626239313663
+65303866346462326637306230643835333063623265616230636430373138346335663034353530
+34306365326231316262613163346632376462373637623661653734353534386434333030366435
+37323639313636313066663436323931366263643961613637663264373466303634333762383739
+38653763356532643339356232623334623235653738373161333362666262326438663232646331
+39383737623439346139643861643830306331386131653539333136653466353831376465666366
+31646337376639323931666562376661393633616461373835303134303463326339626631386364
+39343337623063356662393064386338353732306262373132623465396535313039393332313766
+34306362636433623261353866313766373638656534366337346439316334373962663732313633
+34616430613331666132393665376436303237343366373165373934386236653962623132393435
+36353165376532383232393235333337336665336338383032343062336366356135613636633938
+36383665356137313565663661383731363065326566323131663636633261323563653138326433
+63626639363933643238336434633663363336373032343432336562613464623135323930336461
+32306461363761333266623131623462376239653732616133376234336261313333376431643362
+37353638323235356663333266626135633437303837323032656433333761376366633634373163
+62613034636265623834626435666638613561303064633634376361623130343230353565303061
+34613264386233666632373730626138316437343338393030333364373930343239623734393666
+36363463336538646538373763363534623339646261663835313733373635303866303931356462
+62643438396332336334383839396465653538333035313863396237636534626633326231653062
+39353664386631656366623137386137383764336262343865356536363863666161373535393039
+61623039323163636435383039376265623232386331646439666634646537376231363337623565
+33636635356134333736626364303664333663366539343737396337363832373131303261356230
+36313232633062333736326664346363633632356435643764386133373637393833333738653634
+38616238326562633930393462643732393161353232363363303261623034313166613132643861
+38303836633335613036643966333433366436373164626332336532663339623263396163376233
+66646638656435626163373862346361303537333030653338383830363639613433363634346233
+62626663623833383530656263626336616434613033303833633234313637663436656332303039
+32336638663530663234663164623334386332633032346636373032633438636230653538343537
+64663236653164353962346331313834343264393534373366656162343064313339653537376131
+39623733323263343233623962373335336335326164646434623833356139303436353233393064
+35376665343761646632633234336239363735366333333834336235393663646435666530613138
+65633337383538343734343265626339613066306236336563646133363766656438353662613838
+62643466616134363139646131656565663739613961376537346366333564616266353866633137
+64643338633332306362303735313432653933323962343264323237336165336236653335306565
+37613166356164613566343739383862616437336638333163623061303430373431633439633036
+35313864643530623963666666386238656661343631353436313164646464363465383333373633
+35356632383639633933393439353866643663396432346461313561616430633138643263616433
+66346634393439643031613063666637663430326464353364333134663431653461343933376135
+33373462323934623765626536333332353337353566313464616638326463346536316131376564
+64643830623034633334366330356535346436613363396531386632376264306131373337333233
+65323162373337656565363234346435356466373264386336613534303033316135323763343634
+65623039383436373531343634316138643461313831373232626162306137353437376165316237
+62313239346233306434316537623761346161366365303235646361303736623139386336323334
+64383537656265643030353165613465303431323232316462636263663133643234373830383463
+31633635356532306237316236666264666532333733303933616639313236303838313532656130
+38396334363331333731396532646164386136386138633436623164623737636564343330396566
+38316235316436383961316661633139666634316662326136633231396134613634626563393334
+31613837633134666163306437346137373738313736323537623363323264383066346531336533
+30613233323235343933353435636532396364393963323966306538663836666438336137353432
+36333235353061363738323364646266666238323735613365663732373038393632386465626637
+37666362393661613336653365383064393130346339306234613562656130636232363063623164
+32373030623837616365383732626631396536613566383039373331393435373234323236633639
+36636531666666663466633066663439323637333739383833336136333633393339653937666638
+62653730386437653363336337306164376134363335386562613038393431363836636330383261
+32633630646435346331626339316334343830643463646138316363326335363835663561366531
+64636639336239356233333232643731616235306335323864616565363030343065393737373739
+63353038333132383039366639346538356234323536336434353439633761653233623861663430
+31393862656133633038386333633166383862613862336139363363313966343033643834393331
+64663532313138343639393839323431636165653431643061616364393961396237396437346131
+63343938393461323836393139373265656361363839366464626563343464343231323963373736
+38376566303666656332346136303630613637373863636131366130613062633162633063326362
+63343766363633623965666236653665353833613566633135343339643533376265373934353132
+32383736356431663930373537616637636132613265343437623337663163336463366162356436
+64343466373639316263373064306336376636616634316562393039663430396335633036613965
+31653639626433303236373365303561646364363337353264333166336235633265323266386464
+36343165653839623134623361303336666636656637363637616365343532363838633364373535
+64666532643136323630313137623330636238353932363763643937306561366635366337323130
+36383133386233323835353239663436653163616565346265316235653463373866363234353461
+38366438633865373030363466633165633539666334333732613461356339613332313163616233
+35313466616536313837306666326638653738626165663761306435353432666366383733366666
+36306436383964353236663736636263366430636566356132306439636161316331646162333433
+34393736323765613837306235666636666632636437383931333264376366643434653664613530
+63336362363064313864636364373164306432366437316261613362363164646134626635623032
+37316533643939396631396362646535633634343635353961356364303839376665373132613866
+62386232663663643230623930326666613731363863633765303634633865356164663538363262
+32633263313838396662306138333561646133383163646132643036393034383264306538653537
+61313034636537626236353164633732386264306366343439623736343765376636303336623861
+65393635356262386465633763366436353738343535376630666162353431333461643739323334
+64613937333665643161636133306336346466383765333039333733356266643530303761633162
+62656232333638626431333539306635313732373038653634383834666432356236333435336636
+66616433353130303437363734616634343630653831613635333365373433356638333438643466
+35306237333163383936636463366635613733323233356165396138303638363634623161623430
+30663964636634663038316338353265633763666266646330653166316335393138303535336638
+39623062643632386661373262653432316435346330643536386265383433663561343433323335
+38383834383962346134363138643932396530313235613338656238333137313230326362303730
+34303762636463386132363336303661313732623665613065343466356232313039656563636531
+32373936333161316338656339346334366165643134316635656330343362313864633836323537
+30383933356261643635653862343164313939326266343464626132393838333435303635323437
+31363738346465616564616639323535366332633466343462666230326531343961386265316666
+39333432666633353038656636383036356133306338346139303764366232613562396163623433
+66613966623862353065336366643035383363613131376461363565623565393237663138666365
+32643332393533363532333335636166636365643037636430313934363566616231313034333164
+35356237373637343562653133666531356130386539353736386431656566386463383463356464
+32633536336433343239383633643535316462333265303037633161363331373036393663613930
+38303732663864356139313235343536663261623466646435346630646430306532363230343534
+61323231656165666637633463363836363630396563373136323665343062346533613232363933
+63633364373430383232313366363166616635366665663738333566626338383030383330646466
+63653939326663616632353165316266313933313434643564306562656339363163636434623730
+30653938353730623036656439613265616133323238646139656236656639336433366464646137
+62366136333764346434633661393131386562623236396333326366343832643031393335373835
+62356639333137633934316632306235326630313030303133633665663464633334386366333333
+66656337313435373765626666646661386132646537653235613262373236396532386632386165
+39633130623739393066363834646264646539626464356534616335343139613736653830383831
+37646433326662643934626237306563376237643765336639363332376238623835333462623638
+32373735343066643731393931316661633864333061363463616139376430353064613035346235
+61643663313231316231616463626661643630616463363362326139326362346639346564313439
+62313335633164656261653335646439373031333230333635666136336333383930363836333336
+64313832393339316365396564396236666466656631316365343735356464353737333537313233
+33346130383138376166616631393064633930353464343235656637653039636639643139306131
+62396166636564353134303261316535666432333231366164663061343562643933633263393834
+34316430343635386139353065653262343165636163666361353866633939663436626636356566
+62323231666232333636323064303131656431636634666364623462326334386131356133303734
+65653464353130636165383333616566323261376438393065343038333838613866623762396332
+38626438653765663536656435633634366263616630353363363062356232343937613065343765
+38336634643064626536346262666331616635323266383034393566666233323736313362313631
+65343238363730633366313930353962343665333033393133656339376330653335323634626139
+30613036306636613565636332626264636532373039663336323537343237343737376437303763
+38643764616233316139303362393337363135323766356162636162373464323935633831396363
+66636666623430653237393562356238626465633937373465383064343765626364666666333037
+37383561656163316639663637613531363932383965313962396536376235653965336434326635
+64306261316530356439386633666439393037303365393036356437653165626431346133623939
+65323938326430626162383539303135633535393566333034616333363865653433666530356562
+34386264393030653438663038643939373536376466343739303364303634373038363439656663
+38386538323764656337376331373932306134323030376366323338613035376563333163616630
+31633866633437353364666531616537396535386638363935313566386564313964363038336635
+35663763393966333432663435303839656532343332383132343339633664333732363930373133
+34303634663163336466386436633639663434383864363339323730343062356534356439626661
+64386435353933316361393737646436656236353862653036636331366665623334393633376164
+64393538393931303934396361363266623535363066333065333839636132616638623131323935
+37386161396335363334363664623066613234613739363562663939616633353537623434646466
+31653635316232623234353435626363336565653034353564616235633739383435366138363563
+62333833333833343235656165333764353333333436346361613166346233356636663732376333
+62353066396331386532663538313732646265663931383739643231346131366339363432353261
+63393130316639666534633237326562343539623531663130373561643266383335623132373839
+39666562323264613635636664613763333838336636636462396237303266656530663332353234
+33343830623834636338656436386433383934316235313433346637306163666462656631626664
+62386130613834356435626262343363376365393465373765363764333364343664643636373062
+63376665346431653665626164383639383462613834663135363036643835303337333139393936
+32303062346637383465393861623163376665643865636362343164356333316231323839316533
+36643533376263613333626333396461636630346530316335376361383239333331363164356539
+33316435343665396532313030623939306364663465303732346333643261353965323538313661
+63653065323835326536626337653065653364623661633139343463303837366235303631653132
+38663237643464393735636166343738373435303764643163303932396161323661333264343836
+37623738343635646163653334306463343331626338373839646364393236306232303738623766
+31366539653734323265653163393833646132663362633763633562383432356238326366336239
+31303439626161613935353538356438363530373436303864356631343031653964653464373061
+33366665623661616131333936316362333034333631623464623165613062326235653737626361
+63376634376534633439386361393035346436343130323832363631306166636166386437306434
+30313163353030333838363232313266306430363663643765343338323266326661653032346535
+32326362646361643966376231393931336464663039666339366563366633306239346336616130
+32333361623239616466353633326465623634633962663833653935363865396561653831653464
+63393730393265633262303939353262623339373038323833303232633531663164313233616330
+61643438303935333539343766633133623664646563643332616430353963626430373461356135
+36333639663231316663336333386261653533636465336236346630306665613162363737623134
+63386132356131313063396533323961343333396465303866666437373833633761303338616235
+61356365653638363264346130363831303538313234373430333936353966343233663934323033
+65343132316338313266336435323466323863333831633165643365663934626162643762616265
+65373866303239393766353738626536333732653838303663353534396233643234386139303762
+63616162313764363530396534643237363361323132363635633863653261646466343636656531
+32633361383138343434343733626539386437373737623863343061363764663432643337393561
+61396665396534313132323761376661656263656539656364376263333734626266633166393436
+32653938633432376132346335353939313366383939626661383236393034313465616234323335
+33306230396632623738333732346530353965383035363561313235616431353331643334333338
+65383264393930373134306437393037353631313832383537386262633738326532623832623635
+66313434313730613835336335306134356564393366316230366165653335376334316331313961
+37343933386632653232343435393333336433323639613263666437626234303436313136346236
+39636434356165323232633132666434336432393831656238616334303838373831643936323333
+39613038663765396436303538383565306638376365666538373134366232626236383065643161
+30393463646661353666366630613465323864363262643366346163346239616462653839636531
+36396235633938366131336361636332383134343935383035663934386336386364326136373532
+32363161323830346364306334653263636264663034343437626637666238386661383464653638
+35646331636165373462303936393965633365323463313836306262333261633636656366323538
+37383564373639356264313033313664333037336638313439323662363134623666656632383132
+39646139336335373538646634633432646665653364653130643937323939336231356139666636
+66363464663164666633333831343335313931613934383131333762396239333265373432666536
+39303936373338333338653231376630353333343762366332616363666138336435383835333330
+37343662336561336136643562336234396566333762633132663631376363656333373435623762
+31633031393635326163373130623833393263323864343739636630313165313034303831386461
+31383539343961343131653431363739356332373765306234363039376330653934626665326662
+62393136353339663336663837623935666535333061653438326631306438663034346231383362
+32616639363335393137386436363834363938663639393237383630323764656265656463613365
+35323361643562663737613762323737326164373466386238333938646632663537386337323762
+36336565366165376337613738353263373637386433373462353730623065306339616239633562
+31373939336234333835343563663238363635343565356634633662393635663037666364373132
+32333064613834326535376264333063323764353766383063323633643663343738363636333362
+38633738333735646236333061386634316634613636393633376462393561333839666431343863
+34646238343139336563386537653563366230626638303961373635306137633366643332616330
+36363565333030636434383430623361396434373332326234316162393762393937626464396132
+31623966633330366435313335313966666564346366656230376665303665333735666331363661
+61663937376339393765313030626138383331626561376665626364323464366135626564666362
+33396561626639656534646263333430333838303866653635303939376435653764616538653462
+63663932353930626138633237326465653635383931363331666537663338613939326565626263
+30653061376137326235363930393064343336313936643133623836383032613963343336613961
+38663163323164303638656566633135623863316330363463336462326435663732643031336163
+36616264386431303235623932396138343635623463303635313865363535643039613230393161
+32386463376537313733313666636462336439326530303561373561316237653164353531346635
+35636633653638316635663133346463383462666531643734663538613539326362336161343139
+31616230393630313139376138386330323464323263633331326631333535323762646661383835
+35623938336661313234656633393766663134653232333962373066323165656530376435343935
+37646662316234376139313232313363373333346262626566396330613839663735376362666131
+64346330656461613536343933316138363833346234626338316633393630656634383830363336
+39633636323235373633363366386339323737633230383834646232643361323238643736373239
+35316639353139396138356436303766363232666639346465333231363733373064333636653163
+32303639656333653230623761613566633236633034336465336638303163366364356130346264
+32353366376532383261353865323065623933343039666462626631353766666466346661356436
+34616261343635353665323865666538363236393635353066356438623262616238373638653230
+64316633653433363130323463656439646465333464373065653434343362346632666338363438
+63663339663762643936303235333264633933396565323536633839326363343838393061393264
+39613863333862376536353061353333366239643662623363316232383034626635346438643834
+65396139316432653765316135343132666463343939313061656233336135666361636166366665
+38306332633465323039326130646638323561666365306337613562616232326261363530306532
+37393933383463313331303036373565373365363936636363383530373130316666326238346266
+66353066393563636534666530396236373332616165323831376663383438633162613536613937
+63343636343031376539616534333830356335316636616361393137383065303166363838636339
+30363930396334666665633631623338396339303363343061356630313335656361613839623135
+64343831343333363538363131323031313238303839653534646436623738373337316265643039
+64396632666231323663623237356339643566633833326366373265376139393666373932373662
+30646239306561636365653230366230376662613439303030303362616232383163346463303161
+37613334363134363535613764393336666666316439666434663737653635643137363262313037
+33363230396165356235346635386461353538326230626139643834313032326438393031633434
+61336362623530366266393238376135316565623665623033343230313538626232353631363234
+37353033616238396238383464643437363531313364353562386132646239366465306330646333
+63383139653232303033666237663530376161363562386334376366333037373634333139343863
+65373637643565316336303437396566363332386363623466663031643064393064663533343064
+61376233343163376439336565663136356663336361313065393233613038656265343630373263
+66363639356462663335646339623563356661396334663039646637636366343231366461306438
+34326635373438626662343332393433313137313064623830353334363531373638316233646331
+34653838326566333637336636636562313964346536653463353632336532353163303361303632
+33663663393366383938623764313963393536306362303035613162383535326238303562323434
+64613831376662653235313666663430303761313031656534616132633462636265393338313832
+35316331613961373332366131646533306231666339616133366437623435316364303263383666
+31663934653362626234393437396432313230363862353437663730313865306138386537663735
+30323566336362306237656465666564323261633734393063316638323935346138363364303266
+34303339393035343737666264326165636635363932343738373233666439363562356630313564
+36616534356539356263616264373139336666363761636565623066613662326361666163663830
+37623131346336353837633936643135386262613137303932373263356237653963326465393765
+32383039643863303364616166396165336435396235623964313363393836383566326362643330
+61323837376565643963393533363861373735396135653935383964643866623531386564356535
+65633639656465306266343061613463623464636333613334353863663232356137373831386565
+38313732353162383062383765323938323031363037333466313739623635303634323931303566
+62396263396638623066346661376532623931316662326466386164323261313465666139616336
+30303537663130646535386531623266326533383662376535633332373662323031366434383730
+39393131663939353137616430386264376136316537373933663162663532616633616230393765
+66386264316461353638643837393838346232646465363031623934656233616531346132373836
+61313562616332633633333066656463653763333136613033323966313132303665613764336230
+35353265323166653135353031363033343561343331333630363166386663643635336561653661
+34643864646566636139353635323166643962626233613139663231646665626563376339653566
+38366261346338393938323664663034373531626236643734653162656137653639666538656631
+30366231366632383836356566616133373935623430663431666364386536626436623238613331
+35303939373132336235633265666366653262313430636434336434343864383230656264316336
+34393730663162313433303563333936333430303261343338656235376236306133323836393337
+61643534386334646265663131383863313962623438626634636633313936636638343639303337
+65633438363332363939326463363664343232633963323865356530616461663337323366366534
+64333861353139323934393263323236623831326164373935326662623039366534626263346561
+32383833656138656438616634653237323263313763326563316238633763313461373432336639
+33626665353536616333356639376138323231613130303030366266663037353464656230616436
+61393238343538623636303661633236303466633464646465396464663938356138646631366636
+63366231323461393539366131313761353363623664363265393665323632646237383432613863
+64626335393362613864356162326335383635393166336136373066303338646638656138343663
+65623863646561346233333562353639333264636261383836613536336365356563393938303936
+30643465663663323262323836316331383936333962633334316666623735306261353437623739
+34636338616537376630633637613461306233636666373931656637633662373133616335626463
+64393864333336303334306131373131343830353661633937303834336561636461346538643231
+61383437383734366662356534623363383030663761343532373263383331386264626664323932
+32656265643034383436633831343335303035313537323961643239363638623636633161336164
+39303266383761366161613961366237323430353433316166306437396635663331613632363838
+65633266303465333562316637336233333938353036303263383964636138353737666536363638
+66363361363330303961323935353732616665633333633133333638363339373338326339323964
+66336363626138356461373633333039373638626637363866316231613664356165666337663238
+66386632663730366264313839326462623138393866623635646264353630383234346635383961
+35616630353931353239333863613139356164643365643635396365613432613937646465383863
+31323666343535343035323838363962636333653537316339326361323962353631353935636633
+32353838323035646362656664616434303738616533376364653434376130393730383137633263
+63663231386433366130363465343435383331313164336437343361343532323131653162646331
+61373234346631373534376537643530376337376130393638623537363463303465666638623338
+65393632316434383835613431363539303739623936363763653562376635346637376530613539
+62366436373361356361303862363937643466366362636339643230376536656462663133383564
+65386561393736383930636561336330313832316562636439396366653430663135393632643463
+64356132333036376631376432663331663165353166336665306464653435316632356266613763
+34663737356237303138373265626338393736626230343162636438393339353838356637346464
+66633966626662363632306430306430623535626139333465366530383730396136323363333766
+62613664326236336263336132613435666166666365653061396536626635643564353633393936
+35626131366562633464356332353164613032633438373933323566663766626362626136363561
+39303531666538343362353564666130306232663464303262383135393031633430653264393064
+63386663363938393738623230353664356635373732653832326433666630353061613364383766
+30353434356131313864393337343566333830626433336235346132346638376237386634373766
+62363631326131336137646462656134623933663137613131663366356437376362363536666438
+32636138393035393563356137316462393831663834363362353939646231336230646430306665
+34303063633636323030666564653633623862343632333364633965336331623566346532303266
+66386561643932333662653861373537376363623836363761376461383864626334613838633332
+31626563643361633362306331363734646330343837393234636430333064393564613433646261
+65623536353464383261303433366138666232616136613635326437383032386431373437613934
+32323937356533666263366465623265656635663062643935666630656331326537616166363962
+64376364636630363036323330366138313937393937626533313664323734333666656433313635
+36393964633934613663343339303838623163336664663931636562626435393463653132313234
+39383666613433303536653632326464303366633731633064363561623463306539663037626361
+61373039636163616332356266306563646334376161336630633737386237613764336262366439
+66623937306338373636636438633065613231626332363166333235356665323432346434396361
+64313562376231616136353730353364326239346166393035363536663539326638333137643631
+31386430313136316131303938316534393565336131366436353964323138383334613863626364
+33653933373933653939376236376635306263643038626537636539336631366163373336346563
+32313135313631396435613536376234663033643738393638653865663235336435316335393834
+33623966613662393965623530306330363664346330643833663030366364646533333737393938
+33313033643566663064316233393464623233633531343235346534356233323333333534383563
+66643862653939383838376336386138353863636233396363313532346131633335346634353264
+36316562623132376337636161343430643365363864643139643235353234396333396339346331
+36303035663466333031386362306664653039386566653762663633653731656365666531613132
+39356664316532623466346564316636663335666439383265393063656436306666303465306462
+31373438633838306235303561343031356333373164356662613062666536653565356239616233
+62326234643233366261373337376533643234376432313634633630313635306466613130386235
+31303266356431323636363165663131383065613531313165313930303031393236336661303433
+66656138386661396130306230376262633862343461313766633632636362613464633766313564
+32636337303538616536323462323236653265303232633138393531396536636563653665613131
+63653138643835306237353939633066323135336233306432633632653365336439636663303065
+35336530363735626666356135626537313431303139663263383265383831316439636335653864
+31613839346235363239613039363935613338393333306235303161623135326332303833373039
+65653133653063613865363637646239663832643239636239346462653531346562343237623963
+64373133383964333963633466386166643733653534326635633161326637336230646231323330
+36376634616237333063633166373631613036316536393934353736396662333563636664633336
+64643966663465316166323833393231353535346265613138363339656332306161663462353062
+39653731316334313465333637393430333634633264383930656165303638396634303133613338
+32633166656564346538313935633037633964363161346133653063323037313064303237366266
+37643564643265383262616633373563386264646463326530353265393837363861343932346433
+38393331393731396330633961653532393663393038336332383065346631646361656262393839
+35363065366361346364633261306164366266653365356435333236366533316137386233393762
+65313238363639306639306138303934623234623532636563336239353363656631346334316436
+35643665636266376634656235343866393634333030363733336237633234666662616465666164
+62393461626236313932393439623135613236653534646662633332363736306235396262363738
+62333830303632386335356665343330316461663462316332373333626466383863393862623335
+65656230316365396637383431323166353031666264326232353733366463616636623138663236
+35363563616265616535376437646563366666346262393339313032383361626438613665383935
+65626233663162653062386364373139353337643563656236616465613063376265653435613062
+62323835353432333665313337643930616238386136303834646136366364663238663436666337
+31613538653464383534616230333962343532353264623063656561643164373762653265383761
+35323139306532653165666262663531333933623265326266356536346232626534633066343762
+38373236393563313731303733323236643634623261313365663330356464373933343735323730
+36323234323033313937643662613764306264626162383031393638396162383532396535396664
+62343236636563613038356438613830613163343531663430663338386632663036623438366630
+31326263376432643761623132396433393637666531386261646630326439386236326363313933
+30303864663833363962326263323532663836663636313632613637336637636533643433643637
+38666336306137386535303630313230386238666632306530623439363238306661346533643663
+37613263613766353937326637313231336534343737316430333937383831616264393435646262
+66386235356536616136376136663137303163313063353031326532363039343937376533316134
+66333065363233346639633830643961623633346436623366393438383438323566366466623763
+32633036353935653933636566343138386463633265396131373330656433336562323036343363
+33353362363563613561303561356638616462396164383839623664396537316534393237393965
+64393464326266323332653439663062353832363862663165643830306365303336613161653233
+34653731666530646638646336353838353836306231613533646561653561643861313138376133
+65656430323662346663333534393631653162613135653862613833626365333936373661366232
+66616634646139616438313832646437653532366436643962343234376466643763323434646238
+38663531353835373238313337313238396661303736653631653661626564653731333737653864
+65626461633761656337396537386138626231333731353432333632323034396365646630613135
+61396339393734353866653265646164343934313235383736343939616132313336346338616665
+32656461353233613863366463346637373562663164363030376465353736353838323562626238
+65393632313763386361363330383837383633316130366331316337396566393963306630336431
+32666334386135363538636433613065646337613033656662383336373935313963343861663839
+65303961643131323533303937613666333133656162343438383134653831346139343362636564
+32396136353338333932633561353439626561383563643830316637383739666662663536356430
+37386139346539613066303363306134333062323235363961303137663265633430663064396437
+63373035656262353030336261376366653064353832306633306132376663303761343063376166
+35323237313837303135636237393130386234326464636466383936373235663466326635306636
+38663931646164393736646535306162613963366131623738343138323438363839323132343862
+36323937643033656535393135656461616531653331356565396337346664343865393761383161
+62353337396638633635373461373161653636343637643337373339646635613161643537366166
+34383537626361306438386262613035323761666161313938643230306666656135646235623337
+31663764346365616233353434336565613461646531356265326163363165666433663763323332
+39353538346239376162613866333361656338313330623865613939393533386138613263613832
+61663934306236336230363932666533373230316232316339616433393933666639353938376266
+66653434323934386361646531383762343134366462383935373631656136373863343364393136
+66653161373064616337363738613737376664616232653631303563303734383064623336613130
+66616539386236666331323835376430613736306131366137636462653362663461626632303535
+36356563333931386133653664613566356336653830663533613031633235343865616636316165
+64313034383133646563346633343034626635373838623162363630336464626162383338633339
+31363163643038393739663130663030636130396636643263633864383835313132323034623565
+31303337616461626161356231303238323966323465383535663465656536336361353234633737
+32363433333533353539376362656138383431623638653633363238646438306363343434653738
+38323866626166656633306235346136643834633339313037373564333564636634353863353266
+33353966303064653737343564626238396635663034666537623039363835363736373039303134
+63343632306635633935613961383261393765326462363137343634353839323130626333623730
+65643630353833653336393430643335373462313232376463663731323837313466643431373338
+61333865343232616162646462646262366634663036303730333262376133653862613832386231
+63383761666363313032646132383030313537383265663132303036343463333065363036386330
+62396661623939616463393839356663383361393534653239616538663331363938666135343162
+33636231383966393565313931656434323465386561336231343266663035663763366435386439
+65646633623432363036356434333637393134616361623133376638373731613033313333663133
+32663432633564623937353665396562383132663261353436663665333334393336623464376639
+39663662616161663135346133383535353861306439363365316538333331636432363736343633
+36396633653762643635656636616535323731353039626164633434653464366466656631306139
+35376462613662353164393536643339646430303634613937363864323536666339346137363137
+62386363303365643266373563373738356631643861383938343764643465663033383763343930
+36373737316164396530643538353065616538353132653531623039613036623365646332643338
+65393234643037383436616530323133656439363837376662613434333333313937633435393639
+30396630316338663966656663343066346631356638333136363632616264323636393232616530
+38323164323164656566376462313336373362383864643863313265616334373464366139663163
+62383166373562363139353938653335656566633639366631643834623632353163663266313661
+36666162646234386331656432363633623837663165356431396536313233303932306535316261
+64383562633036366533656263636233623333303630616432383537396262366131623266656335
+38343463343262653835313263356435616661633966353636303865383961336232333166373632
+66386339636463636135666533613963383437363033343634313335303130323139613434633338
+31356661313436326231353762343731613434316334623666393033363865323035643334383463
+66393465636536643966363034323264623137383032366631643931366363636636396234343865
+65633866353263616465356436393863373531353062356138633133313934626138383762393133
+62373366383966313532396265666431663566366332383737636536633961333130616665323532
+63356461393163343637666330616464633337376332333637336566663232333739336335666531
+66666132663962333837643239613063356262343134303637653936623566663236376261383661
+37353961356335373561373839663631396330376161653933623363343965623262313766323237
+38316131376563356463313864386165653032363932656162323131333937643131313761633038
+39623330666238656261343138353065373136346436616562653463316235393935643837613661
+35323538383262316332616534353531343664346639306134663336323562636331366330616335
+33343466303438623663346166333366616538626531663539363834616366306462356632363836
+62356566336263666238633832376363323062653163323135646661326234353565623534633232
+61656135336563326166663664343064386566316166313363663732636665313630386436663538
+38336666393836383432643062383133303066633739343936333031666230353866313230636565
+32383835393739623261626238626230633738666639646663633031366333333630393630643137
+64646537366162366265353165373561343934653238623462356230633230356333633962323161
+35376436663166383534663230393839363939633466613666363436623331343633356365313136
+63346262633132326534623138323239386662333834653630643238373930643365303666613463
+37653333663239636363383163353863666236363565303266356163316636373730353963663736
+61323035383130343666636135666235333131373163333564373031643938636365646631333762
+35303230363339356139346663366231653330333534376466633062643533356436333235613363
+39303833313862333963663338666435653438396565303565386561346237333839353931306562
+64653162346133326138326639646636313061356532663237343163333432326632326632313162
+65613932373366353039346136306531356236343733633165376434613161386664623462623638
+30636135666535643630333031316666393835336162373436303866346338393634656237666466
+30626566373939353130303230336638613762373537643235666361346535383066636462653434
+33636266653937363763623861393834633231396663393930393161383034636339643938306162
+63643432353661646236626361323834323564373337383333623333616666383934663034396562
+33323833343765363639383035613034336362633666666231653864613835616339306134363637
+65323531386139613437643030623134363238643162663031336538306461396537623039646434
+62326565663066633134663866376535326261376431353337663539363933623665383562346166
+66616561666338326164623936623864636366343533333762366163303332383337356635616561
+62396363383162616664303865356131353962383431373835363061353566383430343932343331
+32386334303665616234353965646263623830623065373736623239313266316166653932653232
+35663030343363303535666165343733353631306334356162613664613539336566663130323336
+66353239653764613830383465646236306137303932333739383734343334343132333361363937
+66356561333439303531303034626535323762326339626431616262373266623837333634626132
+38346236313563366631396263363034663861343631373035663932306538643037653735346566
+64363262386136396663633064323061343032303430633261363333633862333834343132303534
+35376366663931376266313634643638383665633737366261353932386338303139653363363365
+30636435616532636130646364643336343235383462386638626665373533353431393836306139
+32373566393665393632303064343032663635653430343635336138643666356430393239303731
+39643864343732636465626466613037373333366461363166363265643162363337653565616264
+39346336313535323134376332373762393432363330343562316337623034306264383935323639
+32333338396532623431636463626464393662316638376638643635393065316463636564363664
+65623836356666343066663135376634383233353231626262643431356263616633313663633930
+37643830393538363565656632666133653336356462646666323366633133326466666137313732
+38373933363837636236313463613631616331383536366335393836303632373431306536386539
+63656662323562373534373132623732303164386236353238313464353764613263616634613335
+36383637383733636630353337373965343565343337316262623061343562373833363162353363
+35306333623737646266316638303366346364346234303331356639656131353437316232623165
+31643433396364346638303464613833373566316565303663643436343861616565333637336137
+65653831323637326634393736363834343363373130333938376264366637393662653166383963
+31383862613131636161393730336266616132623162326462626264343066636563623730373734
+38346366383137623463646630346130656462386234383436393235326137373734343863656264
+61316237383937656130646261626334666639653439373935353836346162383762336338353635
+63396437336537656561353136616463326166373732356230373832623631616239333936333431
+32383936653164383161326334376230353664653165643231333536623165373461663330653765
+64303932386230613532636334663533366639356166363863316538633238656232656332663461
+66393635346138303539343337393236643533336565323734616639373437326465636439663931
+38333863366663303331313133666134393666333239623538383333346639373932363362663636
+34396632336638343034356632633463643862636533343762633837346532663866376631623438
+62613266633061366664613339656137336535386230393562653562373263653338313263663838
+37376330326239316561306534386133313036663566363561333431623038656239383262386462
+66613563633134303937613734346236623037343436656338326166656431663331663064623835
+65346634656438353734623865353430323634303139336531626638626234333666356235383436
+36333361616631383932313331646565613161336366636164663938613231373233393132313738
+65636561663537376230653131356237646431646132396662383230343837363963366564303432
+65613164333332356163656463646338363235636530383933353432633934346162376339356539
+33376238333433656234656665303937356433363761666565633761646164633731633235353839
+61303330356331616165616463666539383832373032623466343732366561333365326663313763
+66363961313732613533376463323561653631613264663566633936616464313830333235396462
+62353536356239316236373562346562663964383730383362336464366234663530303832323734
+37343731616266323330393431373631636434336666616538356164316638646461336461633730
+38393162373533623962386562336563306631663062396531376161363438633264383862303062
+32613663363263303330306433326137346136613435373230346636396536376363643538363135
+35623831326434363232383163623931396339353363343332626162363234633430386634316564
+35653939653631376236653139626538396666313937626235643835316263313238653134343934
+65386161656339346536666565383166373937346131383662383433346134343237363833323935
+35343534343235653336626431346232333063373064616135326535613331313663353361623736
+34316238653463663638343338343163313936333232386339356135643165316137643039633461
+63313062323637663034636562633238313639333634663566623164326339373633343566393539
+35626237363266343433313064333962343431346564333635343035396231666564343362386131
+61313933356637313735366166326335656339323439386334323639366561386463656633313561
+30646135373134333536393135363865643932616235653838646236376630383264303038333664
+62656164633135663039613633323437366264376437333338363363383564356338636430623431
+61306638643833373863353465336132653730306331623730383664306464343735303738346436
+31373538383938666335396336613761636639353733663232333639356435366135616331303137
+64643934343464623766363562306434313431613630373338346433663436373437613864616634
+30653339376163306563396137616239663834633233623330313034646431613630353634653366
+38663563323531343530333630386230613134656338376536346535376265303362636236626439
+37333239656465623935663766616139323931353532363664313232623639636239353331373335
+61626665323065333163656661323065336336306366383865353866303766616366353137383962
+64613934366365383839663262333738396332343862343838623038633763383934336234353463
+31393561386433313262646239393832346666393835656361623064383339633662303466623965
+32613734383630633261636337313533353163363764336265623136656636303536306337363165
+38626663333831306332346231356435343039393739393135646531313331303239613331383835
+61653432393437303063323963393732653435383130646662376564333839343033643239376138
+66643833383066353439636638653462363930646566633635386338313733356562336331326166
+38646261353161326162303338356565343836633133336465666434666635323262383439383562
+31613766666466653835353430636531313033316664653664303038623035646366633639303634
+62316262313566613864613737383163373631346366366666373831643833373966353537346530
+61623865366262383934646137623532316161643534303832376631656530626334386233363337
+36306432643634653961653931376437323437313634623638323836623238353135633933303731
+666562613235653164366237333861333330