Categories
Упътвания

Блокиране на спам ботовете да пишат по сайта

Това е просто решение за ограничаване на спама от ботове в сайтове, с аудитория предимно от България (сайтове на български език).

Недостатък е  това, че по този начин се ограничават и българите, живеещи извън България, но за сметка на това спирането на спама е 100 процента гарантирано.

Следващият htaccess файл позволява само на Български ip адреси да правят POST заявки:

 

<Limit GET HEAD POST>
order deny,allow
allow from 4.68.15.174/32
allow from 4.69.141.33/32
allow from 4.69.141.37/32
allow from 4.69.141.105/32
allow from 4.69.141.106/32
allow from 4.69.141.109/32
allow from 4.69.141.110/32
allow from 4.69.143.125/32
allow from 4.69.143.129/32
allow from 4.69.148.29/32
allow from 4.69.148.30/32
allow from 4.69.176.224/31
allow from 4.69.176.226/32
allow from 4.69.178.1/32
allow from 4.69.178.2/32
allow from 4.69.201.189/32
allow from 4.69.201.190/32
allow from 5.32.128.0/21
allow from 5.53.128.0/17
allow from 5.61.96.0/20
allow from 5.104.160.0/19
allow from 5.132.28.0/24
allow from 5.153.4.8/29
allow from 5.153.31.144/29
allow from 5.224.28.0/24
allow from 5.225.28.0/24
allow from 23.92.216.80/30
allow from 23.223.112.0/20
allow from 23.223.128.0/20
allow from 23.236.101.56/29
allow from 23.248.170.64/29
allow from 31.7.174.0/23
allow from 31.13.192.0/20
allow from 31.13.208.0/21
allow from 31.13.216.0/25
allow from 31.13.216.128/26
allow from 31.13.216.192/28
allow from 31.13.216.216/29
allow from 31.13.216.224/27
allow from 31.13.217.0/24
allow from 31.13.218.0/25
allow from 31.13.218.128/26
allow from 31.13.218.208/28
allow from 31.13.218.224/28
allow from 31.13.218.248/29
allow from 31.13.219.0/24
allow from 31.13.220.0/22
allow from 31.13.224.0/19
allow from 31.41.16.0/21
allow from 31.201.13.0/24
allow from 31.201.84.0/24
allow from 31.201.151.0/24
allow from 31.210.9.0/25
allow from 31.210.11.100/30
allow from 31.210.11.120/29
allow from 31.210.11.144/29
allow from 31.211.128.0/19
allow from 37.58.86.248/29
allow from 37.58.103.176/30
allow from 37.58.120.152/29
allow from 37.60.136.0/21
allow from 37.63.0.0/17
allow from 37.130.240.0/21
allow from 37.143.192.0/18
allow from 37.157.136.0/21
allow from 37.157.160.0/19
allow from 37.209.168.0/21
allow from 37.223.19.0/24
allow from 37.252.247.0/24
allow from 38.28.1.50/32
allow from 38.28.1.130/32
allow from 38.28.1.153/32
allow from 38.104.130.121/32
allow from 38.104.130.168/29
allow from 38.104.232.144/32
allow from 38.104.232.146/31
allow from 38.104.232.148/30
allow from 38.126.41.192/26
allow from 46.10.0.0/16
allow from 46.16.192.0/21
allow from 46.35.160.0/19
allow from 46.40.64.0/18
allow from 46.47.64.0/18
allow from 46.55.128.0/17
allow from 46.107.239.0/24
allow from 46.136.95.0/24
allow from 46.189.121.16/28
allow from 46.229.192.0/20
allow from 46.232.152.0/21
allow from 46.233.0.0/18
allow from 46.237.64.0/18
allow from 46.238.0.0/18
allow from 46.249.64.0/19
allow from 46.252.48.0/20
allow from 46.253.0.0/20
allow from 46.254.128.0/21
allow from 57.90.48.0/20
allow from 62.40.106.197/32
allow from 62.40.106.199/32
allow from 62.40.109.163/32
allow from 62.40.125.129/32
allow from 62.40.125.130/32
allow from 62.40.125.141/32
allow from 62.40.125.142/32
allow from 62.40.125.169/32
allow from 62.40.125.170/32
allow from 62.40.125.173/32
allow from 62.40.125.174/32
allow from 62.44.96.0/19
allow from 62.67.16.0/25
allow from 62.73.64.0/18
allow from 62.115.8.169/32
allow from 62.115.8.170/32
allow from 62.115.11.85/32
allow from 62.115.11.86/32
allow from 62.115.11.93/32
allow from 62.115.11.94/32
allow from 62.115.11.97/32
allow from 62.115.11.98/32
allow from 62.115.11.101/32
allow from 62.115.11.102/32
allow from 62.115.11.105/32
allow from 62.115.11.106/32
allow from 62.115.11.109/32
allow from 62.115.11.110/32
allow from 62.115.11.113/32
allow from 62.115.11.114/32
allow from 62.115.11.117/32
allow from 62.115.11.118/32
allow from 62.115.33.65/32
allow from 62.115.33.66/32
allow from 62.115.35.61/32
allow from 62.115.35.62/32
allow from 62.115.37.0/32
allow from 62.115.37.3/32
allow from 62.115.37.4/32
allow from 62.115.37.7/32
allow from 62.115.37.8/32
allow from 62.115.37.11/32
allow from 62.115.37.12/32
allow from 62.115.37.15/32
allow from 62.115.37.16/30
allow from 62.115.37.20/32
allow from 62.115.37.23/32
allow from 62.115.37.24/32
allow from 62.115.37.27/32
allow from 62.115.37.28/32
allow from 62.115.37.31/32
allow from 62.115.37.32/32
allow from 62.115.37.35/32
allow from 62.115.37.36/32
allow from 62.115.37.39/32
allow from 62.115.37.40/32
allow from 62.115.37.43/32
allow from 62.115.37.44/32
allow from 62.115.37.47/32
allow from 62.115.37.48/32
allow from 62.115.37.51/32
allow from 62.115.37.52/32
allow from 62.115.37.55/32
allow from 62.115.37.56/32
allow from 62.115.37.59/32
allow from 62.115.37.60/32
allow from 62.115.37.63/32
allow from 62.115.37.64/32
allow from 62.115.37.67/32
allow from 62.115.37.68/30
allow from 62.115.37.72/32
allow from 62.115.37.75/32
allow from 62.115.37.76/32
allow from 62.115.37.79/32
allow from 62.115.37.80/32
allow from 62.115.37.83/32
allow from 62.115.37.84/32
allow from 62.115.37.87/32
allow from 62.115.37.88/32
allow from 62.115.37.91/32
allow from 62.115.37.92/32
allow from 62.115.37.95/32
allow from 62.115.37.96/32
allow from 62.115.37.99/32
allow from 62.115.37.100/32
allow from 62.115.37.103/32
allow from 62.115.37.104/32
allow from 62.115.37.107/32
allow from 62.115.37.108/32
allow from 62.115.37.111/32
allow from 62.115.37.112/32
allow from 62.115.37.115/32
allow from 62.115.37.116/32
allow from 62.115.37.119/32
allow from 62.115.37.120/32
allow from 62.115.37.123/32
allow from 62.115.37.124/32
allow from 62.115.37.127/32
allow from 62.115.37.128/32
allow from 62.115.37.131/32
allow from 62.115.37.132/32
allow from 62.115.37.135/32
allow from 62.115.37.136/32
allow from 62.115.37.139/32
allow from 62.115.37.140/32
allow from 62.115.37.143/32
allow from 62.115.37.144/32
allow from 62.115.37.147/32
allow from 62.115.37.148/32
allow from 62.115.37.151/32
allow from 62.115.37.152/32
allow from 62.115.37.155/32
allow from 62.115.37.156/32
allow from 62.115.37.159/32
allow from 62.115.37.160/32
allow from 62.115.37.163/32
allow from 62.115.37.164/32
allow from 62.115.37.167/32
allow from 62.115.37.168/32
allow from 62.115.37.171/32
allow from 62.115.37.172/32
allow from 62.115.37.175/32
allow from 62.115.37.176/32
allow from 62.115.37.179/32
allow from 62.115.37.180/32
allow from 62.115.37.183/32
allow from 62.115.37.184/32
allow from 62.115.37.187/32
allow from 62.115.37.188/32
allow from 62.115.37.191/32
allow from 62.115.37.192/32
allow from 62.115.37.195/32
allow from 62.115.37.196/32
allow from 62.115.37.199/32
allow from 62.115.37.200/32
allow from 62.115.37.203/32
allow from 62.115.37.204/32
allow from 62.115.37.207/32
allow from 62.115.37.208/32
allow from 62.115.37.211/32
allow from 62.115.37.212/32
allow from 62.115.37.215/32
allow from 62.115.37.216/32
allow from 62.115.37.219/32
allow from 62.115.37.220/32
allow from 62.115.37.223/32
allow from 62.115.37.224/27
allow from 62.176.64.0/18
allow from 62.182.112.0/21
allow from 62.200.195.0/24
allow from 62.204.128.0/19
allow from 62.221.128.0/19
allow from 63.218.172.161/32
allow from 63.218.172.165/32
allow from 63.218.200.46/32
allow from 63.218.200.50/32
allow from 63.218.200.54/32
allow from 63.218.202.7/32
allow from 63.218.202.8/31
allow from 63.218.202.10/32
allow from 63.218.202.33/32
allow from 63.218.202.37/32
allow from 63.218.202.41/32
allow from 63.218.202.65/32
allow from 63.218.202.66/32
allow from 63.218.202.69/32
allow from 63.218.202.70/32
allow from 63.218.202.73/32
allow from 63.218.202.74/32
allow from 63.218.202.77/32
allow from 63.218.202.78/32
allow from 63.218.202.81/32
allow from 63.218.202.82/32
allow from 64.209.88.249/32
allow from 64.209.88.250/32
allow from 64.211.72.42/32
allow from 64.211.72.170/32
allow from 65.17.239.112/28
allow from 65.110.34.30/31
allow from 65.110.34.32/29
allow from 65.110.34.50/31
allow from 65.110.34.52/30
allow from 65.110.34.56/30
allow from 65.110.62.120/29
allow from 65.110.62.128/31
allow from 67.16.142.253/32
allow from 67.16.143.5/32
allow from 67.16.143.73/32
allow from 67.16.143.74/32
allow from 67.16.162.186/32
allow from 67.16.162.202/32
allow from 67.16.163.241/32
allow from 67.16.163.242/32
allow from 67.16.172.98/32
allow from 67.17.64.9/32
allow from 67.17.64.10/31
allow from 67.17.72.205/32
allow from 67.17.72.206/32
allow from 67.17.81.74/31
allow from 67.17.81.141/32
allow from 67.17.83.20/32
allow from 67.17.89.209/32
allow from 67.17.89.213/32
allow from 67.17.197.114/32
allow from 69.61.8.224/29
allow from 69.61.21.112/29
allow from 69.61.21.136/29
allow from 69.61.23.24/29
allow from 69.61.24.48/28
allow from 69.61.27.8/29
allow from 69.61.41.0/27
allow from 69.61.54.112/29
allow from 69.61.64.128/27
allow from 69.61.96.24/29
allow from 69.61.99.192/29
allow from 72.52.92.193/32
allow from 72.52.92.194/32
allow from 77.67.61.48/28
allow from 77.67.76.221/32
allow from 77.67.90.57/32
allow from 77.67.94.57/32
allow from 77.67.95.149/32
allow from 77.70.0.0/17
allow from 77.71.0.0/17
allow from 77.76.0.0/18
allow from 77.76.128.0/18
allow from 77.77.0.0/18
allow from 77.77.128.0/18
allow from 77.78.0.0/18
allow from 77.78.128.0/18
allow from 77.85.0.0/16
allow from 77.95.232.0/21
allow from 77.236.160.0/19
allow from 77.238.64.0/19
allow from 77.244.192.0/20
allow from 77.246.208.0/20
allow from 78.24.204.80/28
allow from 78.40.136.0/22
allow from 78.40.141.0/24
allow from 78.40.142.0/23
allow from 78.83.0.0/16
allow from 78.90.0.0/16
allow from 78.108.240.0/20
allow from 78.128.0.0/17
allow from 78.130.128.0/17
allow from 78.142.0.0/18
allow from 78.154.0.0/19
allow from 78.159.128.0/19
allow from 79.98.104.0/21
allow from 79.99.236.48/28
allow from 79.100.0.0/16
allow from 79.110.112.0/20
allow from 79.124.0.0/19
allow from 79.124.32.0/20
allow from 79.124.48.0/21
allow from 79.124.56.0/22
allow from 79.124.60.0/24
allow from 79.124.62.0/23
allow from 79.124.64.0/19
allow from 79.132.0.0/19
allow from 79.134.32.0/19
allow from 79.134.160.0/19
allow from 80.72.64.0/19
allow from 80.77.246.0/29
allow from 80.78.224.0/20
allow from 80.80.128.0/19
allow from 80.91.245.7/32
allow from 80.91.246.203/32
allow from 80.91.247.83/32
allow from 80.91.247.109/32
allow from 80.91.248.77/32
allow from 80.91.248.78/32
allow from 80.91.251.57/32
allow from 80.91.253.249/32
allow from 80.91.255.190/31
allow from 80.95.16.0/20
allow from 80.169.133.104/29
allow from 80.239.128.186/32
allow from 80.239.132.234/32
allow from 80.239.132.238/32
allow from 80.239.133.22/32
allow from 80.239.135.186/32
allow from 80.239.161.122/32
allow from 80.239.192.242/32
allow from 80.239.192.246/32
allow from 80.239.195.102/32
allow from 80.252.188.196/30
allow from 80.253.48.0/20
allow from 81.92.241.40/29
allow from 81.93.177.0/24
allow from 81.161.240.0/20
allow from 82.101.64.0/18
allow from 82.103.64.0/18
allow from 82.118.224.0/19
allow from 82.119.64.0/19
allow from 82.129.27.0/24
allow from 82.137.64.0/18
allow from 82.146.0.0/19
allow from 82.147.128.0/19
allow from 83.97.24.0/21
allow from 83.97.64.0/21
allow from 83.140.243.40/29
allow from 83.142.16.0/21
allow from 83.143.144.0/21
allow from 83.143.176.0/21
allow from 83.143.248.0/21
allow from 83.148.64.0/18
allow from 83.166.48.48/28
allow from 83.217.227.0/25
allow from 83.222.160.0/19
allow from 83.228.0.0/17
allow from 84.1.42.0/23
allow from 84.1.44.0/22
allow from 84.1.154.0/24
allow from 84.1.240.0/21
allow from 84.2.74.0/24
allow from 84.21.192.0/19
allow from 84.22.0.0/19
allow from 84.38.240.0/20
allow from 84.40.64.0/18
allow from 84.41.121.0/24
allow from 84.43.128.0/17
allow from 84.54.128.0/21
allow from 84.54.136.0/22
allow from 84.54.140.0/23
allow from 84.54.142.0/24
allow from 84.54.143.0/27
allow from 84.54.143.32/28
allow from 84.54.143.48/29
allow from 84.54.143.56/31
allow from 84.54.143.59/32
allow from 84.54.143.60/30
allow from 84.54.143.64/26
allow from 84.54.143.128/25
allow from 84.54.144.0/20
allow from 84.54.160.0/19
allow from 84.201.192.0/20
allow from 84.233.193.0/27
allow from 84.233.193.32/32
allow from 84.233.193.34/31
allow from 84.233.193.36/30
allow from 84.233.193.40/29
allow from 84.233.193.48/28
allow from 84.233.193.64/30
allow from 84.233.193.68/32
allow from 84.233.193.70/31
allow from 84.233.193.72/30
allow from 84.233.193.76/32
allow from 84.233.193.78/31
allow from 84.233.193.80/32
allow from 84.233.193.82/31
allow from 84.233.193.84/32
allow from 84.233.193.86/31
allow from 84.233.193.88/29
allow from 84.233.193.96/30
allow from 84.233.193.100/32
allow from 84.233.193.102/31
allow from 84.233.193.104/29
allow from 84.233.193.112/29
allow from 84.233.193.120/30
allow from 84.233.193.124/32
allow from 84.233.193.126/31
allow from 84.233.193.161/32
allow from 84.233.193.162/32
allow from 84.233.193.168/29
allow from 84.233.193.176/29
allow from 84.233.193.192/30
allow from 84.233.193.196/31
allow from 84.233.193.199/32
allow from 84.233.193.200/31
allow from 84.233.193.203/32
allow from 84.233.193.204/30
allow from 84.233.193.208/31
allow from 84.233.193.211/32
allow from 84.233.193.212/30
allow from 84.233.193.216/29
allow from 84.233.193.224/27
allow from 84.233.230.2/32
allow from 84.233.230.6/32
allow from 84.238.128.0/17
allow from 84.242.128.0/18
allow from 84.252.0.0/21
allow from 84.252.8.0/22
allow from 84.252.12.0/23
allow from 84.252.14.0/24
allow from 84.252.16.0/20
allow from 84.252.32.0/20
allow from 84.252.52.0/22
allow from 84.252.56.0/21
allow from 84.254.179.0/24
allow from 85.11.128.0/18
allow from 85.14.0.0/18
allow from 85.91.128.0/19
allow from 85.95.64.0/19
allow from 85.118.64.0/19
allow from 85.118.192.0/21
allow from 85.130.0.0/19
allow from 85.130.32.0/20
allow from 85.130.52.0/22
allow from 85.130.56.0/21
allow from 85.130.64.0/20
allow from 85.130.80.0/21
allow from 85.130.90.0/23
allow from 85.130.92.0/22
allow from 85.130.96.0/20
allow from 85.130.120.0/23
allow from 85.130.122.0/24
allow from 85.130.124.0/22
allow from 85.187.0.0/16
allow from 85.196.128.0/18
allow from 85.217.128.0/17
allow from 85.239.128.0/19
allow from 85.255.128.0/20
allow from 85.255.160.0/20
allow from 87.97.128.0/17
allow from 87.116.64.0/18
allow from 87.118.128.0/18
allow from 87.119.64.0/18
allow from 87.120.0.0/18
allow from 87.120.64.0/20
allow from 87.120.80.0/21
allow from 87.120.88.0/23
allow from 87.120.90.0/24
allow from 87.120.92.0/22
allow from 87.120.96.0/19
allow from 87.120.128.0/17
allow from 87.121.0.0/19
allow from 87.121.32.0/24
allow from 87.121.34.0/23
allow from 87.121.36.0/22
allow from 87.121.40.0/21
allow from 87.121.48.0/20
allow from 87.121.64.0/21
allow from 87.121.72.0/22
allow from 87.121.76.0/23
allow from 87.121.78.0/24
allow from 87.121.80.0/20
allow from 87.121.96.0/19
allow from 87.121.128.0/17
allow from 87.126.0.0/16
allow from 87.227.128.0/17
allow from 87.239.152.0/21
allow from 87.243.77.0/24
allow from 87.243.112.0/22
allow from 87.243.124.0/24
allow from 87.246.0.0/18
allow from 87.247.248.0/21
allow from 87.252.160.0/19
allow from 87.254.160.0/19
allow from 88.80.96.0/19
allow from 88.80.128.0/19
allow from 88.87.0.0/19
allow from 88.202.105.16/28
allow from 88.202.109.16/28
allow from 88.203.128.0/17
allow from 88.213.192.0/18
allow from 88.221.211.0/24
allow from 89.25.0.0/17
allow from 89.31.150.136/31
allow from 89.31.150.138/32
allow from 89.106.96.0/19
allow from 89.149.186.62/32
allow from 89.149.186.74/32
allow from 89.149.186.77/32
allow from 89.149.189.81/32
allow from 89.186.200.0/21
allow from 89.190.192.0/19
allow from 89.202.165.17/32
allow from 89.215.0.0/17
allow from 89.215.128.0/19
allow from 89.215.160.0/21
allow from 89.215.168.0/22
allow from 89.215.172.0/23
allow from 89.215.174.0/24
allow from 89.215.176.0/20
allow from 89.215.192.0/20
allow from 89.215.208.0/23
allow from 89.215.210.0/24
allow from 89.215.213.0/24
allow from 89.215.215.0/24
allow from 89.215.216.0/21
allow from 89.215.224.0/22
allow from 89.215.228.0/23
allow from 89.215.231.0/24
allow from 89.215.232.0/22
allow from 89.215.236.0/23
allow from 89.215.238.0/24
allow from 89.215.240.0/22
allow from 89.215.244.0/23
allow from 89.215.246.0/24
allow from 89.215.249.0/24
allow from 89.215.252.0/22
allow from 89.221.39.0/32
allow from 89.221.39.2/31
allow from 89.221.39.4/30
allow from 89.221.39.8/29
allow from 89.221.39.16/28
allow from 89.221.39.32/27
allow from 89.221.39.64/26
allow from 89.252.192.0/18
allow from 89.253.128.0/18
allow from 90.154.128.0/17
allow from 91.92.0.0/16
allow from 91.134.0.0/16
allow from 91.139.128.0/17
allow from 91.148.128.0/18
allow from 91.191.208.0/20
allow from 91.192.236.0/22
allow from 91.193.156.0/22
allow from 91.193.200.0/22
allow from 91.195.24.0/23
allow from 91.196.124.0/22
allow from 91.196.224.0/22
allow from 91.198.119.0/24
allow from 91.198.132.0/24
allow from 91.198.181.0/24
allow from 91.199.36.0/24
allow from 91.199.128.0/24
allow from 91.199.150.0/24
allow from 91.199.237.0/24
allow from 91.201.172.0/22
allow from 91.204.156.0/22
allow from 91.206.138.0/23
allow from 91.207.190.0/23
allow from 91.208.63.0/24
allow from 91.209.8.0/24
allow from 91.209.146.0/24
allow from 91.210.88.0/22
allow from 91.211.108.0/22
allow from 91.211.188.0/22
allow from 91.211.232.0/22
allow from 91.212.13.0/24
allow from 91.212.17.0/24
allow from 91.212.37.0/24
allow from 91.212.163.0/24
allow from 91.212.201.0/24
allow from 91.212.233.0/24
allow from 91.212.235.0/24
allow from 91.213.12.0/24
allow from 91.215.216.0/22
allow from 91.216.71.0/24
allow from 91.216.95.0/24
allow from 91.216.174.0/24
allow from 91.216.253.0/24
allow from 91.217.148.0/24
allow from 91.217.205.0/24
allow from 91.217.215.0/24
allow from 91.218.80.0/22
allow from 91.220.189.0/24
allow from 91.222.20.0/22
allow from 91.223.66.0/24
allow from 91.226.226.0/23
allow from 91.228.38.0/24
allow from 91.230.6.0/23
allow from 91.230.192.0/22
allow from 91.230.230.0/23
allow from 91.232.209.0/24
allow from 91.233.32.0/24
allow from 91.234.19.0/24
allow from 91.234.21.0/24
allow from 91.234.92.0/22
allow from 91.235.164.0/24
allow from 91.235.248.0/22
allow from 91.236.144.0/22
allow from 91.237.56.0/22
allow from 91.237.102.0/23
allow from 91.238.106.0/24
allow from 91.238.199.0/24
allow from 91.238.204.0/23
allow from 91.238.251.0/24
allow from 91.238.255.0/24
allow from 91.239.13.0/24
allow from 91.239.47.0/24
allow from 91.239.148.0/23
allow from 91.239.240.0/24
allow from 91.240.255.0/24
allow from 91.244.181.0/24
allow from 91.245.192.0/24
allow from 91.246.12.0/24
allow from 92.61.245.24/30
allow from 92.62.240.0/20
allow from 92.247.0.0/16
allow from 93.93.8.0/21
allow from 93.94.136.0/21
allow from 93.95.71.0/24
allow from 93.123.0.0/20
allow from 93.123.16.0/21
allow from 93.123.24.0/24
allow from 93.123.26.0/23
allow from 93.123.28.0/22
allow from 93.123.32.0/22
allow from 93.123.36.0/24
allow from 93.123.38.0/23
allow from 93.123.40.0/21
allow from 93.123.48.0/20
allow from 93.123.64.0/21
allow from 93.123.72.0/24
allow from 93.123.74.0/23
allow from 93.123.76.0/22
allow from 93.123.80.0/20
allow from 93.123.96.0/21
allow from 93.123.104.0/23
allow from 93.123.107.0/24
allow from 93.123.108.0/22
allow from 93.123.112.0/20
allow from 93.152.128.0/17
allow from 93.155.128.0/17
allow from 93.183.128.0/18
allow from 94.26.0.0/17
allow from 94.72.128.0/18
allow from 94.73.0.0/18
allow from 94.101.192.0/23
allow from 94.101.194.0/24
allow from 94.101.197.0/24
allow from 94.101.198.0/23
allow from 94.101.200.0/21
allow from 94.139.192.0/19
allow from 94.142.96.9/32
allow from 94.142.96.10/31
allow from 94.142.96.12/32
allow from 94.142.99.125/32
allow from 94.142.99.126/32
allow from 94.142.99.129/32
allow from 94.142.99.130/32
allow from 94.142.100.9/32
allow from 94.142.100.11/32
allow from 94.142.110.9/32
allow from 94.142.110.11/32
allow from 94.142.120.190/32
allow from 94.142.120.193/32
allow from 94.142.120.194/32
allow from 94.142.120.197/32
allow from 94.155.0.0/16
allow from 94.156.0.0/19
allow from 94.156.32.0/20
allow from 94.156.48.0/21
allow from 94.156.56.0/22
allow from 94.156.60.0/23
allow from 94.156.62.0/24
allow from 94.156.64.0/18
allow from 94.156.128.0/20
allow from 94.156.144.0/23
allow from 94.156.148.0/22
allow from 94.156.152.0/22
allow from 94.156.156.0/23
allow from 94.156.160.0/21
allow from 94.156.168.0/22
allow from 94.156.176.0/20
allow from 94.156.192.0/20
allow from 94.156.208.0/21
allow from 94.156.216.0/24
allow from 94.156.217.8/29
allow from 94.156.217.16/28
allow from 94.156.217.32/27
allow from 94.156.217.64/26
allow from 94.156.217.128/26
allow from 94.156.217.192/28
allow from 94.156.217.216/29
allow from 94.156.217.224/27
allow from 94.156.218.0/23
allow from 94.156.220.0/22
allow from 94.156.224.0/19
allow from 94.190.128.0/17
allow from 94.236.128.0/18
allow from 94.236.192.0/21
allow from 94.236.200.0/23
allow from 94.236.204.0/22
allow from 94.236.208.0/20
allow from 94.236.224.0/19
allow from 95.42.0.0/15
allow from 95.87.0.0/18
allow from 95.87.192.0/18
allow from 95.111.0.0/17
allow from 95.140.208.0/20
allow from 95.158.128.0/18
allow from 95.168.224.0/19
allow from 95.169.192.0/19
allow from 109.71.2.0/24
allow from 109.104.192.0/19
allow from 109.107.64.0/19
allow from 109.120.192.0/18
allow from 109.121.128.0/22
allow from 109.121.132.0/23
allow from 109.121.136.0/21
allow from 109.121.144.0/21
allow from 109.121.152.0/23
allow from 109.121.160.0/19
allow from 109.121.192.0/18
allow from 109.160.0.0/17
allow from 109.199.128.0/19
allow from 109.199.224.0/19
allow from 119.81.1.64/29
allow from 119.81.29.216/30
allow from 119.81.236.32/29
allow from 122.152.130.88/32
allow from 128.140.176.0/20
allow from 129.250.0.107/32
allow from 129.250.3.25/32
allow from 129.250.3.37/32
allow from 129.250.31.10/31
allow from 129.250.31.12/31
allow from 129.250.64.193/32
allow from 129.250.64.194/32
allow from 129.250.113.161/32
allow from 129.250.113.162/32
allow from 130.117.0.26/32
allow from 130.117.0.142/32
allow from 130.117.0.210/32
allow from 130.117.0.222/32
allow from 130.117.0.230/32
allow from 130.117.0.238/32
allow from 130.117.0.246/32
allow from 130.117.1.46/32
allow from 130.117.1.150/32
allow from 130.117.3.142/32
allow from 130.117.3.162/32
allow from 130.117.3.254/32
allow from 130.117.49.6/32
allow from 130.117.51.22/32
allow from 130.117.254.225/32
allow from 130.117.254.226/32
allow from 130.185.192.0/18
allow from 130.204.0.0/16
allow from 130.244.54.25/32
allow from 130.244.60.49/32
allow from 130.244.68.98/32
allow from 130.244.68.101/32
allow from 130.244.109.24/30
allow from 130.244.116.173/32
allow from 130.244.116.175/32
allow from 130.244.116.207/32
allow from 130.244.149.200/31
allow from 130.244.149.239/32
allow from 130.244.150.42/31
allow from 130.244.153.171/32
allow from 130.244.172.46/32
allow from 130.244.194.97/32
allow from 130.244.194.98/32
allow from 141.136.96.145/32
allow from 141.136.97.61/32
allow from 141.136.97.65/32
allow from 141.136.98.245/32
allow from 141.136.101.169/32
allow from 141.136.103.189/32
allow from 141.136.103.229/32
allow from 141.136.103.237/32
allow from 141.136.110.174/32
allow from 145.236.80.0/24
allow from 145.255.192.0/19
allow from 149.5.200.40/29
allow from 149.5.200.65/32
allow from 149.5.200.129/32
allow from 149.6.36.4/32
allow from 149.6.66.93/32
allow from 149.6.68.0/30
allow from 149.6.68.5/32
allow from 149.6.68.9/32
allow from 149.6.68.13/32
allow from 149.6.68.16/29
allow from 149.6.68.25/32
allow from 149.6.68.33/32
allow from 149.6.68.36/30
allow from 149.6.68.40/30
allow from 149.6.68.45/32
allow from 149.6.68.48/30
allow from 149.6.68.53/32
allow from 149.6.68.56/29
allow from 149.6.68.65/32
allow from 149.6.68.68/30
allow from 149.6.68.72/30
allow from 149.6.68.77/32
allow from 149.6.68.80/29
allow from 149.6.68.88/30
allow from 149.6.68.93/32
allow from 149.6.68.96/29
allow from 149.6.68.105/32
allow from 149.6.68.109/32
allow from 149.6.68.116/30
allow from 149.6.68.120/29
allow from 149.6.68.132/30
allow from 149.6.68.152/30
allow from 149.6.86.0/29
allow from 149.6.112.1/32
allow from 149.6.112.4/30
allow from 149.6.112.9/32
allow from 149.6.112.13/32
allow from 149.6.112.17/32
allow from 149.6.112.21/32
allow from 149.6.112.25/32
allow from 149.6.112.29/32
allow from 149.6.112.33/32
allow from 149.6.112.37/32
allow from 149.6.112.45/32
allow from 149.6.112.48/30
allow from 149.6.112.53/32
allow from 149.6.112.57/32
allow from 149.6.112.65/32
allow from 149.6.112.69/32
allow from 149.6.112.73/32
allow from 149.6.112.81/32
allow from 149.6.112.89/32
allow from 149.6.112.92/30
allow from 149.6.112.97/32
allow from 149.6.112.104/30
allow from 149.6.172.24/29
allow from 149.11.72.16/32
allow from 149.11.72.18/31
allow from 149.11.86.16/32
allow from 149.11.86.18/31
allow from 149.11.98.16/30
allow from 149.13.0.0/24
allow from 149.14.68.0/29
allow from 149.62.192.0/18
allow from 149.91.65.0/24
allow from 149.91.66.0/24
allow from 149.91.74.0/24
allow from 149.91.78.0/24
allow from 151.237.0.0/18
allow from 151.237.66.0/23
allow from 151.237.68.0/22
allow from 151.237.72.0/21
allow from 151.237.80.0/20
allow from 151.237.96.0/19
allow from 151.237.128.0/20
allow from 151.251.0.0/16
allow from 151.252.192.0/20
allow from 154.25.0.169/32
allow from 154.25.0.170/32
allow from 154.25.0.173/32
allow from 154.25.0.174/32
allow from 154.25.0.177/32
allow from 154.25.0.178/32
allow from 154.25.0.181/32
allow from 154.25.0.182/32
allow from 154.26.0.159/32
allow from 154.26.16.159/32
allow from 154.26.32.16/32
allow from 154.26.48.16/32
allow from 154.43.64.8/29
allow from 154.43.160.0/28
allow from 154.43.160.33/32
allow from 154.43.160.64/26
allow from 154.43.164.0/24
allow from 154.43.166.0/23
allow from 154.54.17.45/32
allow from 154.54.17.46/32
allow from 154.54.17.173/32
allow from 154.54.17.174/32
allow from 154.54.17.241/32
allow from 154.54.17.242/32
allow from 154.54.21.50/32
allow from 154.54.21.130/32
allow from 154.54.21.153/32
allow from 154.54.35.69/32
allow from 154.54.36.93/32
allow from 154.54.36.94/32
allow from 154.54.36.101/32
allow from 154.54.36.102/32
allow from 154.54.37.238/32
allow from 154.54.38.101/32
allow from 154.54.38.102/32
allow from 154.54.56.177/32
allow from 154.54.56.178/32
allow from 154.54.56.209/32
allow from 154.54.56.210/32
allow from 154.54.58.73/32
allow from 154.54.58.77/32
allow from 154.54.59.121/32
allow from 154.54.59.125/32
allow from 154.54.60.113/32
allow from 154.54.60.221/32
allow from 154.54.63.249/32
allow from 154.54.73.86/32
allow from 154.54.73.90/32
allow from 154.54.73.94/32
allow from 154.54.73.98/32
allow from 154.54.73.150/32
allow from 154.54.73.154/32
allow from 154.54.73.170/32
allow from 154.54.74.21/32
allow from 154.54.74.25/32
allow from 154.54.74.29/32
allow from 154.54.75.69/32
allow from 154.54.75.73/32
allow from 154.54.75.145/32
allow from 154.54.76.17/32
allow from 154.54.84.217/32
allow from 154.59.5.0/24
allow from 154.64.160.0/20
allow from 158.58.192.0/18
allow from 159.253.141.168/29
allow from 159.253.149.216/29
allow from 159.253.151.184/29
allow from 159.253.153.0/32
allow from 162.211.122.4/30
allow from 162.211.127.240/28
allow from 164.138.216.0/21
allow from 173.222.200.0/22
allow from 173.222.208.0/23
allow from 176.12.0.0/18
allow from 176.67.84.168/29
allow from 176.67.86.32/30
allow from 176.67.232.0/21
allow from 176.116.144.0/24
allow from 176.222.0.0/20
allow from 178.16.128.0/20
allow from 178.75.192.0/18
allow from 178.132.80.0/21
allow from 178.169.128.0/17
allow from 178.239.112.0/20
allow from 178.239.224.0/23
allow from 178.239.228.0/22
allow from 178.239.232.0/21
allow from 178.254.192.0/18
allow from 184.105.223.246/32
allow from 185.2.208.0/22
allow from 185.4.80.0/22
allow from 185.5.116.0/22
allow from 185.7.204.0/22
allow from 185.7.216.0/22
allow from 185.18.56.0/22
allow from 185.18.228.0/22
allow from 185.20.88.0/22
allow from 185.20.156.0/22
allow from 185.26.0.0/24
allow from 185.31.120.0/23
allow from 185.31.122.0/29
allow from 185.31.122.88/29
allow from 185.31.122.96/30
allow from 185.31.122.104/29
allow from 185.31.122.112/28
allow from 185.31.122.128/25
allow from 185.31.123.0/24
allow from 185.35.176.0/22
allow from 185.40.164.0/22
allow from 185.43.56.0/22
allow from 185.44.116.0/26
allow from 185.44.116.128/25
allow from 185.44.117.0/26
allow from 185.44.117.128/25
allow from 185.44.118.0/23
allow from 185.44.124.0/22
allow from 185.45.64.0/22
allow from 185.45.152.0/22
allow from 185.46.160.0/22
allow from 185.49.88.0/22
allow from 185.52.48.0/22
allow from 185.52.204.0/22
allow from 185.55.228.0/22
allow from 185.56.84.0/22
allow from 185.58.20.0/22
allow from 185.59.112.0/22
allow from 185.60.64.0/22
allow from 185.62.152.0/22
allow from 185.62.236.0/22
allow from 185.64.20.0/22
allow from 188.6.241.0/24
allow from 188.124.64.0/19
allow from 188.126.0.0/19
allow from 188.127.64.0/19
allow from 188.254.128.0/17
allow from 192.34.53.253/32
allow from 192.34.55.228/32
allow from 192.58.32.0/22
allow from 192.92.129.0/24
allow from 192.162.231.0/24
allow from 192.198.84.64/27
allow from 193.0.213.0/24
allow from 193.9.16.0/24
allow from 193.16.102.0/24
allow from 193.16.157.0/24
allow from 193.16.246.0/24
allow from 193.17.229.0/24
allow from 193.19.147.0/24
allow from 193.19.172.0/22
allow from 193.22.103.0/24
allow from 193.22.248.0/24
allow from 193.23.52.0/24
allow from 193.24.240.0/22
allow from 193.25.162.0/23
allow from 193.26.216.0/24
allow from 193.28.250.0/24
allow from 193.29.55.0/24
allow from 193.30.228.0/22
allow from 193.35.40.0/24
allow from 193.35.46.0/24
allow from 193.37.238.0/24
allow from 193.41.64.0/22
allow from 193.41.182.0/23
allow from 193.41.188.0/22
allow from 193.43.26.0/24
allow from 193.47.74.0/24
allow from 193.68.0.0/19
allow from 193.68.96.0/19
allow from 193.68.128.0/17
allow from 193.84.86.0/24
allow from 193.93.24.0/22
allow from 193.104.79.0/24
allow from 193.104.114.0/24
allow from 193.104.165.0/24
allow from 193.105.60.0/24
allow from 193.105.148.0/24
allow from 193.105.196.0/24
allow from 193.107.36.0/22
allow from 193.107.68.0/22
allow from 193.108.24.0/24
allow from 193.108.32.0/23
allow from 193.109.54.0/23
allow from 193.109.61.0/24
allow from 193.110.132.0/24
allow from 193.110.159.0/24
allow from 193.110.216.0/21
allow from 193.111.89.0/24
allow from 193.111.194.0/23
allow from 193.138.67.0/24
allow from 193.142.0.0/24
allow from 193.150.67.0/24
allow from 193.151.20.0/22
allow from 193.151.80.0/22
allow from 193.161.192.0/24
allow from 193.169.198.0/23
allow from 193.172.59.160/28
allow from 193.172.215.192/27
allow from 193.173.37.208/28
allow from 193.178.152.0/23
allow from 193.178.166.0/24
allow from 193.178.222.0/24
allow from 193.186.38.0/24
allow from 193.192.48.0/23
allow from 193.192.56.0/23
allow from 193.194.140.0/23
allow from 193.194.156.0/24
allow from 193.200.1.0/24
allow from 193.200.2.0/24
allow from 193.200.8.0/24
allow from 193.200.12.0/24
allow from 193.200.14.0/23
allow from 193.200.28.0/24
allow from 193.200.237.0/24
allow from 193.201.172.0/24
allow from 193.201.240.0/22
allow from 193.202.108.0/24
allow from 193.203.198.0/23
allow from 193.218.0.0/24
allow from 193.228.152.0/24
allow from 193.254.29.0/24
allow from 194.0.32.0/24
allow from 194.0.235.0/24
allow from 194.8.4.0/24
allow from 194.8.53.0/24
allow from 194.8.60.0/24
allow from 194.9.6.0/23
allow from 194.12.224.0/19
allow from 194.34.12.0/24
allow from 194.48.206.0/24
allow from 194.50.76.0/24
allow from 194.50.122.0/24
allow from 194.54.140.0/22
allow from 194.63.136.0/22
allow from 194.79.12.0/22
allow from 194.88.228.0/23
allow from 194.88.250.0/23
allow from 194.110.205.0/24
allow from 194.117.110.200/29
allow from 194.141.0.0/16
allow from 194.145.63.0/24
allow from 194.145.160.0/22
allow from 194.146.232.0/22
allow from 194.149.40.0/24
allow from 194.149.47.0/24
allow from 194.149.51.0/24
allow from 194.150.50.0/23
allow from 194.150.116.0/22
allow from 194.153.118.0/24
allow from 194.153.145.0/24
allow from 194.169.231.0/24
allow from 194.183.112.0/23
allow from 194.183.114.0/27
allow from 194.183.114.32/28
allow from 194.183.114.64/27
allow from 194.187.132.0/22
allow from 194.246.110.0/23
allow from 195.8.222.0/23
allow from 195.10.193.0/24
allow from 195.20.20.0/22
allow from 195.20.24.0/22
allow from 195.21.13.96/29
allow from 195.21.13.144/28
allow from 195.22.146.0/23
allow from 195.24.32.0/19
allow from 195.24.88.0/21
allow from 195.34.96.0/19
allow from 195.35.84.0/24
allow from 195.39.198.0/23
allow from 195.39.212.0/23
allow from 195.47.193.0/24
allow from 195.54.44.0/23
allow from 195.64.160.0/23
allow from 195.66.125.0/24
allow from 195.68.200.0/23
allow from 195.68.214.0/23
allow from 195.69.108.0/22
allow from 195.69.120.0/22
allow from 195.69.164.0/22
allow from 195.72.112.0/24
allow from 195.74.85.0/24
allow from 195.81.31.101/32
allow from 195.81.31.102/32
allow from 195.81.49.0/24
allow from 195.81.54.5/32
allow from 195.81.54.25/32
allow from 195.81.140.177/32
allow from 195.85.215.0/24
allow from 195.88.74.0/23
allow from 195.88.140.0/23
allow from 195.96.224.0/19
allow from 195.110.24.0/23
allow from 195.128.132.0/24
allow from 195.128.134.0/24
allow from 195.128.224.0/23
allow from 195.137.252.0/23
allow from 195.138.128.0/23
allow from 195.138.130.0/29
allow from 195.138.130.8/31
allow from 195.138.130.11/32
allow from 195.138.130.12/30
allow from 195.138.130.16/28
allow from 195.138.130.32/32
allow from 195.138.130.47/32
allow from 195.138.130.48/28
allow from 195.138.130.64/26
allow from 195.138.130.128/25
allow from 195.138.131.0/24
allow from 195.138.132.0/22
allow from 195.138.136.0/27
allow from 195.138.136.40/29
allow from 195.138.136.48/32
allow from 195.138.136.50/31
allow from 195.138.136.52/30
allow from 195.138.136.56/29
allow from 195.138.136.64/32
allow from 195.138.136.66/31
allow from 195.138.136.68/30
allow from 195.138.136.72/32
allow from 195.138.136.74/31
allow from 195.138.136.76/30
allow from 195.138.136.80/32
allow from 195.138.136.82/31
allow from 195.138.136.84/30
allow from 195.138.136.88/29
allow from 195.138.136.96/27
allow from 195.138.136.128/28
allow from 195.138.136.144/32
allow from 195.138.136.146/31
allow from 195.138.136.148/30
allow from 195.138.136.152/29
allow from 195.138.136.160/27
allow from 195.138.136.192/26
allow from 195.138.137.0/24
allow from 195.138.138.0/23
allow from 195.138.140.0/22
allow from 195.138.144.0/20
allow from 195.149.71.0/24
allow from 195.149.248.0/21
allow from 195.162.72.0/23
allow from 195.170.166.0/24
allow from 195.170.178.0/24
allow from 195.177.218.0/23
allow from 195.177.248.0/23
allow from 195.178.8.0/23
allow from 195.178.98.0/23
allow from 195.178.116.0/23
allow from 195.182.41.0/24
allow from 195.182.44.0/24
allow from 195.189.80.0/22
allow from 195.189.224.0/23
allow from 195.191.34.0/23
allow from 195.191.60.0/23
allow from 195.191.94.0/23
allow from 195.191.148.0/23
allow from 195.212.63.80/29
allow from 195.212.63.144/29
allow from 195.214.248.0/21
allow from 195.216.228.0/24
allow from 195.225.51.0/24
allow from 195.225.124.0/22
allow from 195.225.252.0/22
allow from 195.228.1.0/24
allow from 195.228.11.0/24
allow from 195.228.31.0/24
allow from 195.228.35.0/24
allow from 195.228.37.0/24
allow from 195.228.38.0/24
allow from 195.228.43.0/24
allow from 195.228.46.0/23
allow from 195.228.48.0/24
allow from 195.228.52.0/24
allow from 195.228.57.0/24
allow from 195.228.73.0/24
allow from 195.228.94.0/23
allow from 195.228.97.0/24
allow from 195.228.98.0/24
allow from 195.228.208.0/23
allow from 195.228.235.0/24
allow from 195.230.0.0/19
allow from 195.234.84.0/22
allow from 195.234.138.0/24
allow from 195.234.236.0/22
allow from 195.238.84.0/23
allow from 195.242.106.0/23
allow from 195.242.126.0/23
allow from 195.246.240.0/23
allow from 195.250.60.0/24
allow from 198.24.63.176/29
allow from 199.241.190.96/27
allow from 204.155.151.0/24
allow from 204.155.153.0/24
allow from 204.155.155.0/24
allow from 204.155.157.0/24
allow from 206.188.3.160/28
allow from 207.117.110.128/26
allow from 207.241.164.192/27
allow from 208.48.251.153/32
allow from 209.20.236.0/24
allow from 212.5.32.0/20
allow from 212.5.48.0/21
allow from 212.5.60.0/22
allow from 212.5.128.0/19
allow from 212.21.128.0/19
allow from 212.23.38.22/31
allow from 212.24.116.0/24
allow from 212.25.32.0/19
allow from 212.36.0.0/19
allow from 212.39.64.0/19
allow from 212.43.32.0/19
allow from 212.45.64.0/19
allow from 212.50.0.0/19
allow from 212.50.64.0/19
allow from 212.56.0.0/19
allow from 212.63.169.56/30
allow from 212.63.175.121/32
allow from 212.70.128.0/20
allow from 212.70.144.0/22
allow from 212.70.148.0/24
allow from 212.70.150.0/23
allow from 212.70.152.0/21
allow from 212.72.192.0/19
allow from 212.73.128.0/21
allow from 212.73.136.0/22
allow from 212.73.140.0/23
allow from 212.73.142.0/24
allow from 212.73.143.0/26
allow from 212.73.143.96/27
allow from 212.73.143.128/25
allow from 212.73.144.0/20
allow from 212.75.0.0/19
allow from 212.87.188.0/22
allow from 212.91.160.0/19
allow from 212.95.160.0/19
allow from 212.104.96.0/19
allow from 212.112.72.32/28
allow from 212.116.128.0/19
allow from 212.117.32.0/19
allow from 212.122.160.0/19
allow from 212.124.64.0/19
allow from 212.162.31.5/32
allow from 212.162.31.6/32
allow from 212.162.46.1/32
allow from 212.162.46.2/32
allow from 212.162.46.5/32
allow from 212.162.46.6/32
allow from 212.162.46.9/32
allow from 212.162.46.10/32
allow from 212.162.46.13/32
allow from 212.162.46.14/32
allow from 212.162.46.17/32
allow from 212.162.46.18/32
allow from 212.162.46.22/32
allow from 212.162.46.25/32
allow from 212.162.46.26/32
allow from 212.162.46.29/32
allow from 212.162.46.30/32
allow from 212.162.46.33/32
allow from 212.162.46.34/32
allow from 212.162.46.42/32
allow from 212.162.46.49/32
allow from 212.162.46.50/32
allow from 212.162.46.53/32
allow from 212.162.46.54/32
allow from 212.162.46.57/32
allow from 212.162.46.58/32
allow from 212.162.46.61/32
allow from 212.162.46.62/32
allow from 212.162.46.65/32
allow from 212.162.46.66/32
allow from 212.162.46.73/32
allow from 212.162.46.74/32
allow from 212.162.46.80/30
allow from 212.162.46.89/32
allow from 212.162.46.90/32
allow from 212.162.46.93/32
allow from 212.162.46.94/32
allow from 212.162.46.97/32
allow from 212.162.46.98/32
allow from 212.162.46.101/32
allow from 212.162.46.102/32
allow from 212.162.46.105/32
allow from 212.162.46.106/32
allow from 212.162.46.109/32
allow from 212.162.46.110/32
allow from 212.162.46.113/32
allow from 212.162.46.114/32
allow from 212.162.46.117/32
allow from 212.162.46.118/32
allow from 212.162.46.121/32
allow from 212.162.46.122/32
allow from 212.162.46.125/32
allow from 212.162.46.126/32
allow from 212.162.46.129/32
allow from 212.162.46.130/32
allow from 212.162.46.133/32
allow from 212.162.46.134/32
allow from 212.162.46.137/32
allow from 212.162.46.138/32
allow from 212.162.46.141/32
allow from 212.162.46.142/32
allow from 212.162.46.145/32
allow from 212.162.46.146/32
allow from 212.162.46.149/32
allow from 212.162.46.150/32
allow from 212.162.46.161/32
allow from 212.162.46.162/32
allow from 212.162.46.165/32
allow from 212.162.46.166/32
allow from 212.162.46.169/32
allow from 212.162.46.170/32
allow from 212.162.46.173/32
allow from 212.162.46.174/32
allow from 212.162.46.177/32
allow from 212.162.46.178/32
allow from 212.162.46.181/32
allow from 212.162.46.182/32
allow from 212.162.46.185/32
allow from 212.162.46.186/32
allow from 212.162.46.189/32
allow from 212.162.46.190/32
allow from 212.162.46.245/32
allow from 212.162.46.246/32
allow from 212.162.46.249/32
allow from 212.162.46.250/32
allow from 212.162.46.253/32
allow from 212.162.46.254/32
allow from 212.187.170.0/25
allow from 212.233.128.0/17
allow from 213.16.32.0/19
allow from 213.91.128.0/17
allow from 213.130.64.0/19
allow from 213.137.32.0/20
allow from 213.137.48.0/24
allow from 213.137.49.0/25
allow from 213.137.49.128/26
allow from 213.137.49.192/29
allow from 213.137.49.208/28
allow from 213.137.49.224/27
allow from 213.137.50.0/23
allow from 213.137.52.0/22
allow from 213.137.56.0/21
allow from 213.144.178.73/32
allow from 213.144.178.74/31
allow from 213.145.96.0/19
allow from 213.149.128.0/22
allow from 213.149.134.0/23
allow from 213.149.136.0/21
allow from 213.149.144.0/21
allow from 213.149.153.0/24
allow from 213.149.154.0/23
allow from 213.149.156.0/22
allow from 213.155.132.185/32
allow from 213.155.133.213/32
allow from 213.155.141.21/32
allow from 213.155.141.22/32
allow from 213.167.0.0/19
allow from 213.169.32.0/19
allow from 213.191.160.0/19
allow from 213.191.192.0/19
allow from 213.200.87.74/32
allow from 213.214.64.0/19
allow from 213.222.32.0/19
allow from 213.226.0.0/18
allow from 213.231.128.0/18
allow from 213.240.192.0/18
allow from 213.248.83.25/32
allow from 213.248.83.26/32
allow from 213.248.84.245/32
allow from 213.248.84.246/32
allow from 213.248.85.217/32
allow from 213.248.85.218/32
allow from 213.248.97.53/32
allow from 213.248.97.54/32
allow from 213.248.99.169/32
allow from 213.248.99.170/32
allow from 216.66.82.45/32
allow from 216.66.82.46/32
allow from 216.66.83.1/32
allow from 216.66.83.41/32
allow from 216.66.83.117/32
allow from 216.66.83.118/32
allow from 216.66.84.173/32
allow from 216.66.87.85/32
allow from 216.66.87.86/32
allow from 216.218.252.206/32
allow from 217.9.224.0/20
allow from 217.10.240.0/20
allow from 217.18.240.0/21
allow from 217.18.249.0/24
allow from 217.18.250.0/23
allow from 217.18.252.0/23
allow from 217.18.254.0/24
allow from 217.30.208.0/20
allow from 217.65.98.0/23
allow from 217.65.102.0/23
allow from 217.65.105.0/24
allow from 217.65.106.0/23
allow from 217.65.108.0/24
allow from 217.65.112.0/22
allow from 217.65.119.0/24
allow from 217.65.120.0/22
allow from 217.65.124.0/23
allow from 217.65.126.0/24
allow from 217.75.128.0/19
allow from 217.79.32.0/20
allow from 217.79.64.0/19
allow from 217.145.80.0/20
allow from 217.145.160.0/20
allow from 217.174.48.0/20
allow from 217.174.144.0/20
deny from all
</Limit>
Categories
Без категория

AdBlock филтър за YouTube

AdBlock филтър за блокиране на Популярно в България

youtube.com##ul#browse-items-primary > li:nth-child(2)
Categories
AutoCAD VBA

AutoCAD VBA – завъртане на блокове

Това е VBA скрипт за завъртане на блокове, перпендикулярно на дадена базова линия. Програмата изчертава и линия по перпендикуляра до базовата линия.

Private Sub CommandButton1_Click() 
    HALF_PI = 2 * Atn(1)
    PI = 4 * Atn(1)
    Me.hide
    On Error GoTo ShowForm
    Dim selectedBlockEntity As AcadEntity
    Dim blockSelectionSet As AcadSelectionSet
    Set blockSelectionSet = AddSelectionSet("Blocks")
    blockSelectionSet.Clear
    blockSelectionSet.SelectOnScreen
    For Each selectedBlockEntity In blockSelectionSet
        On Error Resume Next
        If TypeOf selectedBlockEntity Is AcadBlockReference Then
            Dim blockReference As AcadBlockReference
            Set blockReference = selectedBlockEntity
            blockReference.Highlight True
            Dim baseLineStartPoint() As Double
            Dim baseLineEndPoint() As Double
            baseLineStartPoint = ThisDrawing.Utility.GetPoint(, "Select base line start point: ")
            baseLineEndPoint = ThisDrawing.Utility.GetPoint(, "Select base line end point: ")
            Dim baseLine As AcadLine
            Set baseLine = ThisDrawing.ModelSpace.AddLine(baseLineStartPoint, baseLineEndPoint)
            Dim headingAngle As Double
            headingAngle = Atan2(baseLineEndPoint(0) - baseLineStartPoint(0), baseLineEndPoint(1) - baseLineStartPoint(1))
            blockReference.Rotation = headingAngle + PI
            Dim blockReferenceInsertionPoint() As Double
            blockReferenceInsertionPoint = blockReference.InsertionPoint
            Set blockReference = Nothing
            Dim baseLineAngle As Double
            baseLineAngle = baseLine.Angle - HALF_PI
            Dim polarPoint() As Double
            polarPoint = ThisDrawing.Utility.polarPoint(blockReferenceInsertionPoint, baseLineAngle, 10)
            Dim extendedLine As AcadLine
            Set extendedLine = ThisDrawing.ModelSpace.AddLine(blockReferenceInsertionPoint, polarPoint)
            Dim intersectionPoint() As Double
            intersectionPoint = baseLine.IntersectWith(extendedLine, acExtendBoth)
            extendedLine.EndPoint = intersectionPoint
            extendedLine.Linetype = "L175"
            extendedLine.Update
            baseLine.Delete
        End If
    Next selectedBlockEntity
ShowForm:
    Me.show
End Sub
Private Function AddSelectionSet(setName As String) As AcadSelectionSet
    On Error Resume Next
    Set AddSelectionSet = ThisDrawing.SelectionSets.Add(setName)
    If Err.Number &lt;&gt; 0 Then
        Set AddSelectionSet = ThisDrawing.SelectionSets.Item(setName)
    End If
End Function
Private Function Atan2(X As Variant, Y As Variant) As Variant
    PI = 3.14159265358979
    PI_2 = 1.5707963267949
    Select Case X
         Case Is &gt; 0
             Atan2 = Atn(Y / X)
         Case Is &lt; 0             
            Atan2 = Atn(Y / X) + PI * Sgn(Y)             
            If Y = 0 Then 
                ArcTan2 = ArcTan2 + PI         
         Case Is = 0             
            Atan2 = PI_2 * Sgn(Y)     
    End Select 
End Function 
Categories
JavaScript Телерик

Rams and Sheeps – JavaScript Game

Source

Demo

Categories
JavaScript Телерик

JS OOP изпит – сутрешна група

Решение на задачата на сутрешната група на изпита по JavaScript OOP

// item.js
define(function() {
    'use strict';
    var Item;

    Item = (function() {
        var types = ['accessory', 'smart-phone', 'notebook', 'pc', 'tablet'];

        function Item(type, name, price) {
            if (types.indexOf(type) == -1) {
                throw "invalid item type";
            };

            if (name.length < 6 || name.length > 40) {
                throw "invalid item name";
            };

            if (price < 0.0) {
                throw "invalid item price";
            };
            this.type = type;
            this.name = name;
            this.price = price;
        }
        return Item;
    })();
    return Item;
});

// store.js 

define(function() {
    'use strict';
    var Store;
    Store = (function() {
        function Store(storeName) {
            if (storeName.length < 6 || storeName.length > 40) {
                throw "invalid store name";
            }

            this._name = storeName;
            this._items = [];
        };

        Store.prototype.addItem = function(item) {
            if (item.constructor.name !== "Item") {
                throw "invalid item type";
            }

            this._items.push(item);

            return this;
        };

        Store.prototype.getAll = function() {
            var sortedItems = compareBy(this._items, "name");

            return sortedItems;
        };

        Store.prototype.getSmartPhones = function() {
            var items = [];

            this._items.forEach(function(item) {
                if (item.type === 'smart-phone') {
                    items.push(item);
                }
            });

            var sortedItems = compareBy(items, "name");

            return sortedItems;
        };

        Store.prototype.getMobiles = function() {
            var items = [];

            this._items.forEach(function(item) {
                if (item.type === 'smart-phone' || item.type === 'tablet') {
                    items.push(item);
                }
            });

            var sortedItems = compareBy(items, "name");

            return sortedItems;
        };

        Store.prototype.getComputers = function() {
            var items = [];

            this._items.forEach(function(item) {
                if (item.type === 'pc' || item.type === 'notebook') {
                    items.push(item);
                }
            });

            var sortedItems = compareBy(items, "name");

            return sortedItems;
        };

        Store.prototype.filterItemsByType = function(type) {
            var items = [];

            this._items.forEach(function(item) {
                if (item.type === type) {
                    items.push(item);
                }
            });

            var sortedItems = compareBy(items, "name");

            return sortedItems;
        };

        Store.prototype.filterItemsByPrice = function(options) {
            var minPrice = 0;
            var maxPrice = 999999999.99;
            var items = [];

            if (options) {
                minPrice = options.min || minPrice;
                maxPrice = options.max || maxPrice;
            }

            this._items.forEach(function(item) {
                if (item.price >= minPrice && item.price <= maxPrice) {
                    items.push(item);
                }
            });
            var sortedItems = compareBy(items, "price");
            return sortedItems;
        };
        Store.prototype.countItemsByType = function() {
            var itemTypes = [];
            for (var i = 0; i < this._items.length; i++) {
                if (itemTypes[this._items[i].type]) {
                    itemTypes[this._items[i].type]++;
                } else {
                    itemTypes[this._items[i].type] = 1;
                }
            }
            return itemTypes;
        };
        Store.prototype.filterItemsByName = function(part) {
            var items = [];
            this._items.forEach(function(item) {
                if (item.name.toLowerCase().indexOf(part.toLowerCase()) >= 0) {
                    items.push(item);
                }
            });

            var sortedItems = compareBy(items, "name");

            return sortedItems;
        };

        function compareBy(data, field) {
            data.sort(function(a, b) {
                if (a[field] < b[field]) return -1;
                if (a[field] > b[field])
                    return 1;
                return 0;
            });

            return data;
        };

        return Store;
    })();

    return Store;
});
Categories
JavaScript

JavaScript OOP подготовка за изпит

Решение на задачата с курсове и студенти

course.js

define(function() {
    var Course;

    Course = (function() {
        function Course(title, totalScoreFormula) {
            this.title = title;
            this._totalScoreFormula = totalScoreFormula;
            this._students = [];
        }

        Course.prototype.addStudent = function(student) {
            this._students.push(student);
        };

        Course.prototype.calculateResults = function() {
            for (var i = 0; i < this._students.length; i++) {
                this._students[i].totalScore = this._totalScoreFormula(this._students[i]);
            }
        };
        Course.prototype.getTopStudentsByExam = function(number) {
            var sortedStudents = compareBy(this._students, 'exam');
            var topStudents = sortedStudents.slice(0, number);
            return topStudents;
        };
        Course.prototype.getTopStudentsByTotalScore = function(number) {
            var sortedStudents = compareBy(this._students, 'totalScore');
            var topStudents = sortedStudents.slice(0, number);
            return topStudents;
        };

        function compareBy(data, field) {
            data.sort(function(a, b) {
                if (a[field] < b[field]) return 1;
                if (a[field] > b[field])
                    return -1;
                return 0;
            });

            return data;
        };

        return Course;
    })();

    return Course;
});

student.js

define(function() {
    var Student;

    Student = (function() {
        function Student(data) {
            this.name = data.name;
            this.exam = data.exam;
            this.homework = data.homework;
            this.attendance = data.attendance;
            this.teamwork = data.teamwork;
            this.bonus = data.bonus;
        }

        return Student;
    })();

    return Student;
});
Categories
JavaScript

JavaScript OOP – подготовка

Задача 1:

//container.js

define(function() {
    'use strict';
    var Container;

    Container = (function() {
        function Container() {
            this.container = [];
        }

        Container.prototype.add = function(section) {
            this.container.push(section);
        };

        Container.prototype.getData = function() {
            return this.container;
        };

        return Container;
    }());

    return Container;
});

//section.js

define(function() {
    'use strict';
    var Section;

    Section = (function() {
        function Section(title) {
            this.title = title;
            this.content = [];
        }

        Section.prototype.add = function(item) {
            this.content.push(item);
        };

        Section.prototype.getData = function() {
            return {
                title: this.title,
                content: this.content
            };
        };

        return Section;
    }());

    return Section;
});

//item.js

define(function() {
    'use strict';
    var Item;

    Item = (function() {
        function Item(content) {
            this.content = content;
        }

        Item.prototype.getData = function() {
            return {
                content: this.content
            };
        };

        return Item;
    })();

    return Item;
});
Categories
Visual C# Геодезия

Програма за изравнение на мрежи

Програма за изравнение на планови мрежи

Изравнение на планови мрежи по метода на най-малките квадрати.

Изравнение на засечки – ъглови, линейни, ъглово-линейни, геодезически мрежи, полигони.

Въвеждане на измервания и координати

adjustment-dpi-file-open
adjustment-kor-file-open

Изчисляване на ориентировъчните ъгли на дадените точки

adjustment-orientation-angles-calculation

Изчисляване на несъвпаденията в триъгълниците

adjustment-triangles-misclosures-calculation

Изчисляване на приблизителни координати на новите точки

adjustment-approximate-coordinates-calculation

Изравнение на мрежата (измервания и нови точки)

adjustment-adjusted-observations
adjustment-adjusted-points

Други

Categories
JavaScript Телерик

JavaScript UI и DOM – класиране

Изпит: JavaScript UI и DOM

Точки на изпит: 180 от 200

Резултат:

Взет с отличие!
Точки: 53.00
Място: 293

Categories
JavaScript

JavaScript UI и DOM – резултат

180 от 200 на изпита по JavaScript UI и DOM

Новото оценяване с peer review изглежда, че работи 🙂