Advertisement
uopspop

Untitled

Nov 4th, 2018
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.19 KB | None | 0 0
  1. {
  2. "AWSTemplateFormatVersion": "2010-09-09",
  3. "Parameters": {
  4. "KeyPairName": {
  5. "Description": "You must have your public key on your aws - ec2 - network & security - key pairs section",
  6. "Type": "String"
  7. }
  8. },
  9. "Resources": {
  10. "vpcd3adf3aa": {
  11. "Type": "AWS::EC2::VPC",
  12. "Properties": {
  13. "CidrBlock": "10.99.0.0/16",
  14. "InstanceTenancy": "default",
  15. "EnableDnsSupport": "true",
  16. "EnableDnsHostnames": "false",
  17. "Tags": [
  18. {
  19. "Key": "Name",
  20. "Value": "st-cloudformation"
  21. }
  22. ]
  23. },
  24. "Metadata": {
  25. "AWS::CloudFormation::Designer": {
  26. "id": "100906b8-589d-45d3-9633-4eb9e44ddbaf"
  27. }
  28. }
  29. },
  30. "subnet1b9e3a50": {
  31. "Type": "AWS::EC2::Subnet",
  32. "Properties": {
  33. "CidrBlock": "10.99.0.0/24",
  34. "AvailabilityZone": "us-west-2b",
  35. "VpcId": {
  36. "Ref": "vpcd3adf3aa"
  37. },
  38. "Tags": [
  39. {
  40. "Key": "Name",
  41. "Value": "st-cloudformation"
  42. }
  43. ]
  44. },
  45. "Metadata": {
  46. "AWS::CloudFormation::Designer": {
  47. "id": "80af6f4c-1d4d-4f66-8237-11fbaa5d8061"
  48. }
  49. }
  50. },
  51. "igw14057072": {
  52. "Type": "AWS::EC2::InternetGateway",
  53. "Properties": {
  54. "Tags": [
  55. {
  56. "Key": "Name",
  57. "Value": "st-cloudformation"
  58. }
  59. ]
  60. },
  61. "Metadata": {
  62. "AWS::CloudFormation::Designer": {
  63. "id": "6c215780-cc5d-4f7c-9029-f833506b0ab6"
  64. }
  65. }
  66. },
  67. "acl80f553f8": {
  68. "Type": "AWS::EC2::NetworkAcl",
  69. "Properties": {
  70. "VpcId": {
  71. "Ref": "vpcd3adf3aa"
  72. },
  73. "Tags": [
  74. {
  75. "Key": "Name",
  76. "Value": "st-cloudformation"
  77. }
  78. ]
  79. },
  80. "Metadata": {
  81. "AWS::CloudFormation::Designer": {
  82. "id": "cda52d9d-e7bd-468e-91d9-d51ffa33abd1"
  83. }
  84. }
  85. },
  86. "rtb41104239": {
  87. "Type": "AWS::EC2::RouteTable",
  88. "Properties": {
  89. "VpcId": {
  90. "Ref": "vpcd3adf3aa"
  91. },
  92. "Tags": [
  93. {
  94. "Key": "Name",
  95. "Value": "st-cloudformation-public"
  96. }
  97. ]
  98. },
  99. "Metadata": {
  100. "AWS::CloudFormation::Designer": {
  101. "id": "c93e3089-9729-4403-b730-6737ff99ad2a"
  102. }
  103. }
  104. },
  105. "instancei012c21b7d8e198887": {
  106. "Type": "AWS::EC2::Instance",
  107. "Properties": {
  108. "DisableApiTermination": "false",
  109. "InstanceInitiatedShutdownBehavior": "stop",
  110. "ImageId": "ami-223f945a",
  111. "InstanceType": "t2.micro",
  112. "KeyName": {
  113. "Ref": "KeyPairName"
  114. },
  115. "UserData": { "Fn::Base64" : { "Fn::Join" : ["", [
  116. "#!/bin/bash\n",
  117. "cd /home/ec2-user/\n",
  118. "sudo yum remove docker docker-common container-selinux docker-selinux docker-engine docker-engine-selinux\n",
  119. "sudo yum install -y yum-utils device-mapper-persistent-data lvm2\n",
  120. "sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo\n",
  121. "sudo yum makecache fast\n",
  122. "sudo yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.66-1.el7.noarch.rpm \n",
  123. "sudo yum install -y docker-ce\n",
  124. "sudo systemctl start docker\n",
  125. "sudo docker run hello-world\n",
  126. "sudo yum update -y\n",
  127. "sudo yum install yum-utils -y\n",
  128. "sudo yum groupinstall development -y\n",
  129. "sudo yum install wget -y\n",
  130. "sudo wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \n",
  131. "sudo yum install epel-release-latest-7.noarch.rpm -y\n",
  132. "sudo yum install https://centos7.iuscommunity.org/ius-release.rpm -y\n",
  133. "sudo yum install python36u -y\n",
  134. "python3.6 -V\n",
  135. "sudo yum install python36u-pip -y\n",
  136. "sudo yum install python36u-devel -y\n",
  137. "sudo python3.6 -m venv venv\n",
  138. "sudo bash\n",
  139. "source venv/bin/activate\n",
  140. "pip install --upgrade pip\n",
  141. "pip install --upgrade setuptools\n",
  142. "pip install --upgrade aws-sam-cli\n",
  143. "python --version\n",
  144. "pip --version\n",
  145. "pip install --user aws-sam-cli\n",
  146. "USER_BASE_PATH=$(python -m site --user-base)\n",
  147. "echo $USER_BASE_PATH\n",
  148. "export PATH=$PATH:$USER_BASE_PATH/bin\n",
  149. "echo 'export PATH=$PATH:$USER_BASE_PATH/bin' >>~/.bash_profile\n",
  150. "echo $PATH\n",
  151. "exec $SHELL\n",
  152. "sam --version\n",
  153. "pip install awscli\n",
  154. "aws --version"
  155. ]]}},
  156. "Monitoring": "false",
  157. "Tags": [
  158. {
  159. "Key": "Name",
  160. "Value": "st-cloudformation"
  161. }
  162. ],
  163. "NetworkInterfaces": [
  164. {
  165. "DeleteOnTermination": "true",
  166. "Description": "Primary network interface",
  167. "DeviceIndex": 0,
  168. "SubnetId": {
  169. "Ref": "subnet1b9e3a50"
  170. },
  171. "PrivateIpAddresses": [
  172. {
  173. "PrivateIpAddress": "10.99.0.151",
  174. "Primary": "true"
  175. }
  176. ],
  177. "GroupSet": [
  178. {
  179. "Ref": "sgstcloudformation"
  180. }
  181. ],
  182. "AssociatePublicIpAddress": "true"
  183. }
  184. ]
  185. },
  186. "Metadata": {
  187. "AWS::CloudFormation::Designer": {
  188. "id": "5467a301-e1f2-4320-93d1-c8c93b84306f"
  189. }
  190. }
  191. },
  192. "sgstcloudformation": {
  193. "Type": "AWS::EC2::SecurityGroup",
  194. "Properties": {
  195. "GroupDescription": "launch-wizard-37 created 2018-04-17T19:55:21.240+08:00",
  196. "VpcId": {
  197. "Ref": "vpcd3adf3aa"
  198. },
  199. "Tags": [
  200. {
  201. "Key": "Name",
  202. "Value": "st-cloudformation"
  203. }
  204. ]
  205. },
  206. "Metadata": {
  207. "AWS::CloudFormation::Designer": {
  208. "id": "c8ac8be7-0b4a-4496-a8d3-1a54e2e42d5a"
  209. }
  210. }
  211. },
  212. "acl1": {
  213. "Type": "AWS::EC2::NetworkAclEntry",
  214. "Properties": {
  215. "CidrBlock": "0.0.0.0/0",
  216. "Egress": "true",
  217. "Protocol": "-1",
  218. "RuleAction": "allow",
  219. "RuleNumber": "100",
  220. "NetworkAclId": {
  221. "Ref": "acl80f553f8"
  222. }
  223. },
  224. "Metadata": {
  225. "AWS::CloudFormation::Designer": {
  226. "id": "811c3c9c-8e1d-413a-b908-22829b94aa85"
  227. }
  228. }
  229. },
  230. "acl2": {
  231. "Type": "AWS::EC2::NetworkAclEntry",
  232. "Properties": {
  233. "CidrBlock": "0.0.0.0/0",
  234. "Protocol": "-1",
  235. "RuleAction": "allow",
  236. "RuleNumber": "100",
  237. "NetworkAclId": {
  238. "Ref": "acl80f553f8"
  239. }
  240. },
  241. "Metadata": {
  242. "AWS::CloudFormation::Designer": {
  243. "id": "1b8e9c00-552b-421b-bbd6-3d8773821d7e"
  244. }
  245. }
  246. },
  247. "subnetacl1": {
  248. "Type": "AWS::EC2::SubnetNetworkAclAssociation",
  249. "Properties": {
  250. "NetworkAclId": {
  251. "Ref": "acl80f553f8"
  252. },
  253. "SubnetId": {
  254. "Ref": "subnet1b9e3a50"
  255. }
  256. },
  257. "Metadata": {
  258. "AWS::CloudFormation::Designer": {
  259. "id": "455b97eb-821c-4699-a909-5fd0b44cabbd"
  260. }
  261. }
  262. },
  263. "route1": {
  264. "Type": "AWS::EC2::Route",
  265. "Properties": {
  266. "DestinationCidrBlock": "0.0.0.0/0",
  267. "RouteTableId": {
  268. "Ref": "rtb41104239"
  269. },
  270. "GatewayId": {
  271. "Ref": "igw14057072"
  272. }
  273. },
  274. "Metadata": {
  275. "AWS::CloudFormation::Designer": {
  276. "id": "0b13684f-bf67-44c6-a0ce-d788f1544e49"
  277. }
  278. }
  279. },
  280. "SubnetRouteTableAssociation008": {
  281. "Type": "AWS::EC2::SubnetRouteTableAssociation",
  282. "Properties": {
  283. "RouteTableId": {
  284. "Ref": "rtb41104239"
  285. },
  286. "SubnetId": {
  287. "Ref": "subnet1b9e3a50"
  288. }
  289. },
  290. "Metadata": {
  291. "AWS::CloudFormation::Designer": {
  292. "id": "8db514ed-7e5f-42db-868e-e430d15b5bb8"
  293. }
  294. }
  295. },
  296. "ingress1": {
  297. "Type": "AWS::EC2::SecurityGroupIngress",
  298. "Properties": {
  299. "GroupId": {
  300. "Ref": "sgstcloudformation"
  301. },
  302. "IpProtocol": "tcp",
  303. "FromPort": "22",
  304. "ToPort": "22",
  305. "CidrIp": "0.0.0.0/0"
  306. }
  307. },
  308. "ingress2": {
  309. "Type": "AWS::EC2::SecurityGroupIngress",
  310. "Properties": {
  311. "GroupId": {
  312. "Ref": "sgstcloudformation"
  313. },
  314. "IpProtocol": "tcp",
  315. "FromPort": "8080",
  316. "ToPort": "8080",
  317. "CidrIp": "0.0.0.0/0"
  318. }
  319. },
  320. "egress1": {
  321. "Type": "AWS::EC2::SecurityGroupEgress",
  322. "Properties": {
  323. "GroupId": {
  324. "Ref": "sgstcloudformation"
  325. },
  326. "IpProtocol": "-1",
  327. "CidrIp": "0.0.0.0/0"
  328. }
  329. },
  330. "EC2DHCP2HAZ9": {
  331. "Type": "AWS::EC2::DHCPOptions",
  332. "Properties": {
  333. "DomainName": "us-west-2.compute.internal",
  334. "DomainNameServers": [
  335. "AmazonProvidedDNS"
  336. ]
  337. },
  338. "Metadata": {
  339. "AWS::CloudFormation::Designer": {
  340. "id": "1f2155f4-d323-494e-b157-1e0a8c2f338c"
  341. }
  342. }
  343. },
  344. "EC2VPCD1WN10": {
  345. "Type": "AWS::EC2::VPCDHCPOptionsAssociation",
  346. "Properties": {
  347. "DhcpOptionsId": {
  348. "Ref": "EC2DHCP2HAZ9"
  349. },
  350. "VpcId": {
  351. "Ref": "vpcd3adf3aa"
  352. }
  353. },
  354. "Metadata": {
  355. "AWS::CloudFormation::Designer": {
  356. "id": "4e13c20d-0335-44e7-a6f4-d8a27ee8642c"
  357. }
  358. }
  359. },
  360. "EC2VPCG4ESOD": {
  361. "Type": "AWS::EC2::VPCGatewayAttachment",
  362. "Properties": {
  363. "VpcId": {
  364. "Ref": "vpcd3adf3aa"
  365. },
  366. "InternetGatewayId": {
  367. "Ref": "igw14057072"
  368. }
  369. },
  370. "Metadata": {
  371. "AWS::CloudFormation::Designer": {
  372. "id": "16e7a5e4-f13b-4591-b6c8-3722c22f229f"
  373. }
  374. }
  375. }
  376. },
  377. "Description": "st-formation",
  378. "Metadata": {
  379. "AWS::CloudFormation::Designer": {
  380. "6c215780-cc5d-4f7c-9029-f833506b0ab6": {
  381. "size": {
  382. "width": 60,
  383. "height": 60
  384. },
  385. "position": {
  386. "x": -130,
  387. "y": 240
  388. },
  389. "z": 0,
  390. "embeds": []
  391. },
  392. "100906b8-589d-45d3-9633-4eb9e44ddbaf": {
  393. "size": {
  394. "width": 690,
  395. "height": 690
  396. },
  397. "position": {
  398. "x": -10,
  399. "y": 80
  400. },
  401. "z": 1,
  402. "embeds": [
  403. "c93e3089-9729-4403-b730-6737ff99ad2a",
  404. "80af6f4c-1d4d-4f66-8237-11fbaa5d8061",
  405. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1"
  406. ]
  407. },
  408. "c8ac8be7-0b4a-4496-a8d3-1a54e2e42d5a": {
  409. "size": {
  410. "width": 60,
  411. "height": 60
  412. },
  413. "position": {
  414. "x": -130,
  415. "y": 540
  416. },
  417. "z": 0,
  418. "embeds": [],
  419. "iscontainedinside": [
  420. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  421. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  422. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  423. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  424. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  425. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  426. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  427. "100906b8-589d-45d3-9633-4eb9e44ddbaf"
  428. ]
  429. },
  430. "c93e3089-9729-4403-b730-6737ff99ad2a": {
  431. "size": {
  432. "width": 240,
  433. "height": 240
  434. },
  435. "position": {
  436. "x": 400,
  437. "y": 160
  438. },
  439. "z": 2,
  440. "parent": "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  441. "embeds": [
  442. "0b13684f-bf67-44c6-a0ce-d788f1544e49"
  443. ],
  444. "iscontainedinside": [
  445. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  446. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  447. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  448. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  449. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  450. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  451. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  452. "100906b8-589d-45d3-9633-4eb9e44ddbaf"
  453. ]
  454. },
  455. "0b13684f-bf67-44c6-a0ce-d788f1544e49": {
  456. "size": {
  457. "width": 60,
  458. "height": 60
  459. },
  460. "position": {
  461. "x": 520,
  462. "y": 170
  463. },
  464. "z": 3,
  465. "parent": "c93e3089-9729-4403-b730-6737ff99ad2a",
  466. "embeds": [],
  467. "isassociatedwith": [
  468. "6c215780-cc5d-4f7c-9029-f833506b0ab6"
  469. ],
  470. "iscontainedinside": [
  471. "c93e3089-9729-4403-b730-6737ff99ad2a",
  472. "c93e3089-9729-4403-b730-6737ff99ad2a",
  473. "c93e3089-9729-4403-b730-6737ff99ad2a",
  474. "c93e3089-9729-4403-b730-6737ff99ad2a",
  475. "c93e3089-9729-4403-b730-6737ff99ad2a",
  476. "c93e3089-9729-4403-b730-6737ff99ad2a",
  477. "c93e3089-9729-4403-b730-6737ff99ad2a",
  478. "c93e3089-9729-4403-b730-6737ff99ad2a"
  479. ]
  480. },
  481. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1": {
  482. "size": {
  483. "width": 330,
  484. "height": 240
  485. },
  486. "position": {
  487. "x": 40,
  488. "y": 150
  489. },
  490. "z": 2,
  491. "parent": "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  492. "embeds": [
  493. "1b8e9c00-552b-421b-bbd6-3d8773821d7e",
  494. "811c3c9c-8e1d-413a-b908-22829b94aa85"
  495. ],
  496. "iscontainedinside": [
  497. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  498. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  499. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  500. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  501. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  502. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  503. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  504. "100906b8-589d-45d3-9633-4eb9e44ddbaf"
  505. ]
  506. },
  507. "1b8e9c00-552b-421b-bbd6-3d8773821d7e": {
  508. "size": {
  509. "width": 60,
  510. "height": 60
  511. },
  512. "position": {
  513. "x": 70,
  514. "y": 210
  515. },
  516. "z": 3,
  517. "parent": "cda52d9d-e7bd-468e-91d9-d51ffa33abd1",
  518. "embeds": [],
  519. "iscontainedinside": [
  520. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1",
  521. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1",
  522. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1",
  523. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1",
  524. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1",
  525. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1",
  526. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1",
  527. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1"
  528. ]
  529. },
  530. "811c3c9c-8e1d-413a-b908-22829b94aa85": {
  531. "size": {
  532. "width": 60,
  533. "height": 60
  534. },
  535. "position": {
  536. "x": 190,
  537. "y": 210
  538. },
  539. "z": 3,
  540. "parent": "cda52d9d-e7bd-468e-91d9-d51ffa33abd1",
  541. "embeds": [],
  542. "iscontainedinside": [
  543. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1",
  544. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1",
  545. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1",
  546. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1",
  547. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1",
  548. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1",
  549. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1",
  550. "cda52d9d-e7bd-468e-91d9-d51ffa33abd1"
  551. ]
  552. },
  553. "80af6f4c-1d4d-4f66-8237-11fbaa5d8061": {
  554. "size": {
  555. "width": 240,
  556. "height": 240
  557. },
  558. "position": {
  559. "x": 40,
  560. "y": 500
  561. },
  562. "z": 2,
  563. "parent": "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  564. "embeds": [
  565. "5467a301-e1f2-4320-93d1-c8c93b84306f"
  566. ],
  567. "iscontainedinside": [
  568. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  569. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  570. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  571. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  572. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  573. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  574. "100906b8-589d-45d3-9633-4eb9e44ddbaf",
  575. "100906b8-589d-45d3-9633-4eb9e44ddbaf"
  576. ]
  577. },
  578. "8db514ed-7e5f-42db-868e-e430d15b5bb8": {
  579. "source": {
  580. "id": "c93e3089-9729-4403-b730-6737ff99ad2a"
  581. },
  582. "target": {
  583. "id": "80af6f4c-1d4d-4f66-8237-11fbaa5d8061"
  584. },
  585. "z": 2
  586. },
  587. "455b97eb-821c-4699-a909-5fd0b44cabbd": {
  588. "source": {
  589. "id": "cda52d9d-e7bd-468e-91d9-d51ffa33abd1"
  590. },
  591. "target": {
  592. "id": "80af6f4c-1d4d-4f66-8237-11fbaa5d8061"
  593. },
  594. "z": 2
  595. },
  596. "5467a301-e1f2-4320-93d1-c8c93b84306f": {
  597. "size": {
  598. "width": 60,
  599. "height": 60
  600. },
  601. "position": {
  602. "x": 70,
  603. "y": 560
  604. },
  605. "z": 3,
  606. "parent": "80af6f4c-1d4d-4f66-8237-11fbaa5d8061",
  607. "embeds": [],
  608. "iscontainedinside": [
  609. "80af6f4c-1d4d-4f66-8237-11fbaa5d8061",
  610. "80af6f4c-1d4d-4f66-8237-11fbaa5d8061",
  611. "80af6f4c-1d4d-4f66-8237-11fbaa5d8061",
  612. "80af6f4c-1d4d-4f66-8237-11fbaa5d8061",
  613. "80af6f4c-1d4d-4f66-8237-11fbaa5d8061",
  614. "80af6f4c-1d4d-4f66-8237-11fbaa5d8061",
  615. "80af6f4c-1d4d-4f66-8237-11fbaa5d8061",
  616. "80af6f4c-1d4d-4f66-8237-11fbaa5d8061"
  617. ]
  618. },
  619. "1f2155f4-d323-494e-b157-1e0a8c2f338c": {
  620. "size": {
  621. "width": 60,
  622. "height": 60
  623. },
  624. "position": {
  625. "x": -120,
  626. "y": 140
  627. },
  628. "z": 0,
  629. "embeds": []
  630. },
  631. "4e13c20d-0335-44e7-a6f4-d8a27ee8642c": {
  632. "source": {
  633. "id": "100906b8-589d-45d3-9633-4eb9e44ddbaf"
  634. },
  635. "target": {
  636. "id": "1f2155f4-d323-494e-b157-1e0a8c2f338c"
  637. },
  638. "z": 2
  639. },
  640. "16e7a5e4-f13b-4591-b6c8-3722c22f229f": {
  641. "source": {
  642. "id": "100906b8-589d-45d3-9633-4eb9e44ddbaf"
  643. },
  644. "target": {
  645. "id": "6c215780-cc5d-4f7c-9029-f833506b0ab6"
  646. },
  647. "z": 2
  648. }
  649. }
  650. }
  651. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement