├── .gitignore ├── README.md ├── spider_json.py ├── spider_txt.py ├── rating.cpp ├── rating.py ├── tests ├── cf_rating_official_917.txt ├── cf_rating_result_917.txt └── cf_rating_result_917.json └── LICENSE /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .DS_Store 3 | *.pyc 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Codeforces Rating System (third party implementation) 2 | 3 | Supported implementations: 4 | 5 | - C++ 6 | - Python 3 7 | 8 | ### How to use 9 | 10 | 1. Run `spider_txt.py` (for C++) or `spider_json.py` (for Python) with argument `contest_id` to get Codeforces rating data for test. 11 | 12 | 2. (Compile and) Run `rating.cpp` or `rating.py` with argument `contest_id`. By default, the result will be store to `tests` directory. 13 | 14 | ### Reference 15 | 16 | - Official: [Open Codeforces Rating System \[updated on October 2015\]](http://codeforces.com/blog/entry/20762) 17 | - Algorithm intro in Chinese: [Codeforces Rating System 算法实现](https://dreamer.blue/blog/post/2018/02/26/codeforces_rating_system_algorithm.dream) 18 | 19 | -------------------------------------------------------------------------------- /spider_json.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | import json 3 | import sys 4 | import requests 5 | 6 | 7 | # Get official rating changes data from Codeforces API 8 | def get_rating(contest_id): 9 | url = 'http://codeforces.com/api/contest.ratingChanges?contestId={}'.format(contest_id) 10 | rst = requests.get(url) 11 | json_response = rst.content.decode() 12 | dict_json = json.loads(json_response) 13 | if dict_json['status'] == 'OK': 14 | return dict_json['result'] 15 | else: 16 | return None 17 | 18 | 19 | def work(contest_id): 20 | data = get_rating(contest_id) 21 | if data: 22 | with open('tests/cf_rating_official_{}.json'.format(contest_id), 'w') as f: 23 | f.write(json.dumps(data, indent=4)) 24 | else: 25 | print('error!') 26 | 27 | 28 | if __name__ == '__main__': 29 | if len(sys.argv) < 2: 30 | print('Usage: python3 file_name.py [codeforces_contest_id]') 31 | sys.exit(1) 32 | contest_id = sys.argv[1] 33 | work(contest_id) 34 | -------------------------------------------------------------------------------- /spider_txt.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | import json 3 | import sys 4 | import requests 5 | 6 | 7 | # Get official rating changes data from Codeforces API 8 | def get_rating(contest_id): 9 | url = 'http://codeforces.com/api/contest.ratingChanges?contestId={}'.format(contest_id) 10 | rst = requests.get(url) 11 | json_response = rst.content.decode() 12 | dict_json = json.loads(json_response) 13 | if dict_json['status'] == 'OK': 14 | return dict_json['result'] 15 | else: 16 | return None 17 | 18 | 19 | def work(contest_id): 20 | data = get_rating(contest_id) 21 | if data: 22 | with open('tests/cf_rating_official_{}.txt'.format(contest_id), 'w') as f: 23 | for d in data: 24 | f.write('{} {} {} {}\n'.format(d['rank'], d['handle'], d['oldRating'], d['newRating'])) 25 | else: 26 | print('error!') 27 | 28 | 29 | if __name__ == '__main__': 30 | if len(sys.argv) < 2: 31 | print('Usage: python3 file_name.py [codeforces_contest_id]') 32 | sys.exit(1) 33 | contest_id = sys.argv[1] 34 | work(contest_id) 35 | -------------------------------------------------------------------------------- /rating.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | using namespace std; 10 | 11 | struct user { 12 | double rank; 13 | string handle; 14 | int old_rating; 15 | int new_rating = 0; 16 | int official_new_rating; 17 | double seed = 1.0; 18 | int delta = 0; 19 | string validation; 20 | } u; 21 | 22 | vector users; 23 | 24 | // Functions for user struct 25 | 26 | bool cmp_old_rating_desc(user a, user b) { 27 | return a.old_rating > b.old_rating; 28 | } 29 | 30 | bool cmp_rank_asc(user a, user b) { 31 | return a.rank < b.rank; 32 | } 33 | 34 | string to_string(user &u) { 35 | char s[200]; 36 | sprintf(s, "%5.0f %-24s seed: %12.6f rating: %4d -> %4d vs %4d%s\n", 37 | round(u.rank), 38 | u.handle.c_str(), 39 | u.seed, 40 | u.old_rating, 41 | u.new_rating, 42 | u.official_new_rating, 43 | u.validation.c_str() 44 | ); 45 | return string(s); 46 | } 47 | 48 | string to_string(vector &users) { 49 | string s; 50 | for(int i = 0; i < users.size(); i++) { 51 | s += to_string(users[i]); 52 | } 53 | return s; 54 | } 55 | 56 | // Functions for calculation 57 | 58 | double cal_p(user &a, user &b) { 59 | return 1.0 / (1.0 + pow(10, (b.old_rating - a.old_rating) / 400.0)); 60 | } 61 | 62 | double cal_seed(int idx, int rating) { 63 | user ex_user; 64 | ex_user.old_rating = rating; 65 | double res = 1.0; 66 | for(int i = 0; i < users.size(); i++) { 67 | if(i != idx) { 68 | res += cal_p(users[i], ex_user); 69 | } 70 | } 71 | return res; 72 | } 73 | 74 | int cal_rating_to_rank(int idx, double rank) { 75 | int l = 1, r = 8000; 76 | while(r-l > 1) { 77 | int mid = (l + r) / 2; 78 | if(cal_seed(idx, mid) < rank) { 79 | r = mid; 80 | } 81 | else { 82 | l = mid; 83 | } 84 | } 85 | return l; 86 | } 87 | 88 | void work() { 89 | // Calculate seed 90 | for(int i = 0; i < users.size(); i++) { 91 | for(int j = 0; j < users.size(); ++j) { 92 | if(i != j) { 93 | users[i].seed += cal_p(users[j], users[i]); 94 | } 95 | } 96 | } 97 | // Calculate initial delta and sum_delta 98 | int sum_delta = 0; 99 | for(int i = 0; i < users.size(); i++) { 100 | double m = sqrt(users[i].rank * users[i].seed); 101 | int R = cal_rating_to_rank(i, m); 102 | users[i].delta = (R - users[i].old_rating) / 2; 103 | sum_delta += users[i].delta; 104 | } 105 | // Calculate the first inc 106 | int inc = -(sum_delta / users.size()) - 1; 107 | for(int i = 0; i < users.size(); i++) { 108 | users[i].delta += inc; 109 | } 110 | // Calculate the second inc 111 | sort(users.begin(), users.end(), cmp_old_rating_desc); 112 | int s = min((int)(users.size()), (int)(4*round(sqrt(users.size())))); 113 | int sum_s = 0; 114 | for(int i = 0; i < s; i++) { 115 | sum_s += users[i].delta; 116 | } 117 | inc = min(max(-(sum_s / s), -10), 0); 118 | for(int i = 0; i < users.size(); i++) { 119 | users[i].delta += inc; 120 | } 121 | // Calculate new rating 122 | for(int i = 0; i < users.size(); i++) { 123 | users[i].new_rating = users[i].old_rating + users[i].delta; 124 | } 125 | sort(users.begin(), users.end(), cmp_rank_asc); 126 | } 127 | 128 | // Compare calculated new rating with official new rating 129 | 130 | int validate() { 131 | char s[20]; 132 | int diff_count = 0; 133 | for(int i = 0; i < users.size(); i++) { 134 | if(users[i].new_rating != users[i].official_new_rating) { 135 | sprintf(s, " [diff: %5d]", users[i].new_rating - users[i].official_new_rating); 136 | users[i].validation = string(s); 137 | diff_count++; 138 | } 139 | } 140 | return diff_count; 141 | } 142 | 143 | void reassign_rank() { 144 | int last_idx = 0, last_rank = 1; 145 | for(int i = 0; i < users.size(); i++) { 146 | if(users[i].rank > last_rank) { 147 | for(int j = last_idx; j < i; ++j) { 148 | users[j].rank = i; 149 | } 150 | last_idx = i; 151 | last_rank = users[i].rank; 152 | } 153 | } 154 | for(int i = last_idx; i < users.size(); i++) { 155 | users[i].rank = users.size(); 156 | } 157 | } 158 | 159 | int main(int argc, char const *argv[]) { 160 | if(argc < 2) { 161 | printf("Usage: ./file_name [codeforces_contest_id]\n"); 162 | return 1; 163 | } 164 | string contest_id = string(argv[1]); 165 | string in_file = "tests/cf_rating_official_" + contest_id + ".txt"; 166 | string out_file = "tests/cf_rating_result_" + contest_id + ".txt"; 167 | ifstream in(in_file, ios::in); 168 | while(in >> u.rank >> u.handle >> u.old_rating >> u.official_new_rating) { 169 | users.push_back(u); 170 | } 171 | in.close(); 172 | if(users.empty()) { 173 | printf("Invalid contest\n"); 174 | return 1; 175 | } 176 | 177 | reassign_rank(); 178 | work(); 179 | int diff_count = validate(); 180 | 181 | ofstream out(out_file, ios::out); 182 | out << to_string(users); 183 | out.close(); 184 | printf("[Validation] diff count: %d/%d (%.2f%%)\n", 185 | diff_count, 186 | users.size(), 187 | 100.0*diff_count/users.size() 188 | ); 189 | return 0; 190 | } -------------------------------------------------------------------------------- /rating.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | import json 3 | import sys 4 | import math 5 | 6 | 7 | class User(object): 8 | 9 | def __init__(self, rank, old_rating, handle='', official_new_rating=0): 10 | self.rank = float(rank) 11 | self.old_rating = int(old_rating) 12 | self.seed = 1.0 13 | self.handle = str(handle) 14 | # official_new_rating: used for validating result 15 | self.official_new_rating = int(official_new_rating) 16 | 17 | 18 | class RatingCalculator(object): 19 | 20 | def __init__(self, users): 21 | self.user_list = [] 22 | for user in users: 23 | self.user_list.append(User(user['rank'], user['oldRating'], user['handle'], user['newRating'])) 24 | 25 | def cal_p(self, user_a, user_b): 26 | return 1.0 / (1.0 + pow(10, (user_b.old_rating - user_a.old_rating) / 400.0)) 27 | 28 | def get_ex_seed(self, user_list, rating, own_user): 29 | ex_user = User(0.0, rating) 30 | result = 1.0 31 | for user in user_list: 32 | if user != own_user: 33 | result += self.cal_p(user, ex_user) 34 | return result 35 | 36 | def cal_rating(self, user_list, rank, user): 37 | left = 1 38 | right = 8000 39 | while right - left > 1: 40 | mid = int((left + right) / 2) 41 | if self.get_ex_seed(user_list, mid, user) < rank: 42 | right = mid 43 | else: 44 | left = mid 45 | return left 46 | 47 | def calculate(self): 48 | # Calculate seed 49 | for i in range(len(self.user_list)): 50 | self.user_list[i].seed = 1.0 51 | for j in range(len(self.user_list)): 52 | if i != j: 53 | self.user_list[i].seed += self.cal_p(self.user_list[j], self.user_list[i]) 54 | # Calculate initial delta and sum_delta 55 | sum_delta = 0 56 | for user in self.user_list: 57 | user.delta = int( 58 | (self.cal_rating(self.user_list, math.sqrt(user.rank * user.seed), user) - user.old_rating) / 2) 59 | sum_delta += user.delta 60 | # Calculate first inc 61 | inc = int(-sum_delta / len(self.user_list)) - 1 62 | for user in self.user_list: 63 | user.delta += inc 64 | # Calculate second inc 65 | self.user_list = sorted(self.user_list, key=lambda x: x.old_rating, reverse=True) 66 | s = min(len(self.user_list), int(4 * round(math.sqrt(len(self.user_list))))) 67 | sum_s = 0 68 | for i in range(s): 69 | sum_s += self.user_list[i].delta 70 | inc = min(max(int(-sum_s / s), -10), 0) 71 | # Calculate new rating 72 | for user in self.user_list: 73 | user.delta += inc 74 | user.new_rating = user.old_rating + user.delta 75 | self.user_list = sorted(self.user_list, key=lambda x: x.rank, reverse=False) 76 | 77 | 78 | if __name__ == '__main__': 79 | if len(sys.argv) < 2: 80 | print('Usage: python3 file_name.py [codeforces_contest_id]') 81 | sys.exit(1) 82 | contest_id = sys.argv[1] 83 | with open('tests/cf_rating_official_{}.json'.format(contest_id), 'r') as f: 84 | test_users = json.loads(f.read()) 85 | 86 | # For consecutive users with same rank, we should reassign their ranks to the real rank of the last 87 | # For example, initial standings are [1, 2, 2, 2, 5], and new standings will be [1, 4, 4, 4, 5] 88 | last_idx = 0 89 | last_rank = 1 90 | for i in range(1, len(test_users)): 91 | if test_users[i]['rank'] > last_rank: 92 | for j in range(last_idx, i): 93 | test_users[j]['rank'] = i 94 | last_idx = i 95 | last_rank = test_users[i]['rank'] 96 | for i in range(last_idx, len(test_users)): 97 | test_users[i]['rank'] = len(test_users) 98 | 99 | # Calculate rating changes 100 | calculator = RatingCalculator(test_users) 101 | calculator.calculate() 102 | 103 | res = [] 104 | # validation: used for validating result 105 | validation = True 106 | for user in calculator.user_list: 107 | res.append({ 108 | 'handle': user.handle, 109 | 'rank': int(user.rank), 110 | 'old_rating': user.old_rating, 111 | 'new_rating': user.new_rating, 112 | 'rating_change': user.delta, 113 | }) 114 | if user.new_rating != user.official_new_rating: 115 | validation = False 116 | print('%5.0f %-24s seed: %12.6f rating: %4d -> %4d vs %4d [diff: %5d]' % ( 117 | round(user.rank), 118 | user.handle, 119 | user.seed, 120 | user.old_rating, 121 | user.new_rating, 122 | user.official_new_rating, 123 | user.new_rating - user.official_new_rating, 124 | )) 125 | with open('tests/cf_rating_result_{}.json'.format(contest_id), 'w') as f: 126 | f.write(json.dumps(res, indent=4)) 127 | print('Validation:', validation) 128 | -------------------------------------------------------------------------------- /tests/cf_rating_official_917.txt: -------------------------------------------------------------------------------- 1 | 1 OO0OOO00O0OOO0O00OOO0OO 3199 3294 2 | 2 FizzyDavid 2816 2955 3 | 3 ainta 2804 2920 4 | 4 aid 2796 2895 5 | 5 Swistakk 2904 2959 6 | 6 JOHNKRAM 2641 2755 7 | 7 Radewoosh 3104 3084 8 | 8 geniucos 2778 2835 9 | 9 SkyDec 3016 3003 10 | 10 shanquan2 2640 2719 11 | 11 mythologicalsama 2383 2526 12 | 12 RomaWhite 2831 2847 13 | 13 zscoder 2626 2691 14 | 14 Kostroma 2716 2752 15 | 15 gtwgtw 2714 2746 16 | 16 ftiasch 2612 2666 17 | 17 dreamoon 2644 2686 18 | 18 SanSiroWaltz 2790 2789 19 | 19 ACCE12138 2176 2338 20 | 20 KADR 2281 2409 21 | 21 FlZZYDAVlD 2325 2437 22 | 22 .o. 2607 2640 23 | 23 Bredor 1979 2192 24 | 24 FoolMike 2342 2439 25 | 25 KrK 2686 2689 26 | 26 Egor 2761 2742 27 | 27 lewin 2466 2521 28 | 28 lastans 2175 2308 29 | 29 Chelly 2484 2529 30 | 30 kriii 2658 2656 31 | 31 Rafbill 2699 2684 32 | 32 Inventure 2350 2423 33 | 33 Gromah 2212 2321 34 | 34 yeputons 2675 2659 35 | 35 snuke 2391 2447 36 | 36 black_horse2014 2436 2475 37 | 36 fanache99 2446 2483 38 | 38 Marco_L_T 2140 2260 39 | 39 mareksom 2562 2565 40 | 40 asi1024 2214 2308 41 | 41 Will_Dearborn 2226 2314 42 | 42 CommonAnts 2178 2278 43 | 43 jtnydv25 2387 2428 44 | 44 ksun48 2751 2698 45 | 45 darnley 2475 2490 46 | 46 femsub_a 2251 2323 47 | 47 mmaxio 2653 2620 48 | 48 dotorya 3236 3060 49 | 49 khadaev 2845 2762 50 | 50 MrDindows 2629 2597 51 | 51 Errichto 2598 2572 52 | 52 Definitely_Not_Ngkan146 1929 2094 53 | 53 kmjp 2592 2565 54 | 54 ErdemKirez 2386 2410 55 | 55 yasugongshang 2105 2206 56 | 56 Hasan0540 2247 2305 57 | 57 sharph 2262 2313 58 | 57 Vercingetorix 2491 2482 59 | 59 Motarack 2113 2205 60 | 60 Kattana 2267 2314 61 | 61 chokudai 2336 2363 62 | 62 gepardo 2344 2368 63 | 63 praran26 2024 2139 64 | 64 woqja125 2348 2368 65 | 65 I_Want_Alex_R_Coleman 2251 2296 66 | 66 andrey_efremov 2192 2251 67 | 66 Brightness 2089 2178 68 | 68 StarCuriosity 2220 2270 69 | 69 AomeII 2090 2175 70 | 69 logicmachine 2237 2280 71 | 71 Hansuzu 1985 2103 72 | 72 fetetriste 2176 2233 73 | 73 EmanuelNrx 2067 2156 74 | 74 maksay 2152 2213 75 | 74 djq_cpp 2228 2268 76 | 76 FCB1234 2481 2454 77 | 77 Jatana 2043 2135 78 | 78 alexrcoleman 2255 2283 79 | 78 imaxblue 2290 2309 80 | 80 M.Mahdi 2421 2405 81 | 81 HMAXS 2044 2130 82 | 81 eddy1021 2641 2569 83 | 83 Mariusz1 2318 2324 84 | 83 guille 2321 2327 85 | 85 Luqman 2057 2135 86 | 85 Adalbert 2184 2224 87 | 87 sienmich 1996 2093 88 | 88 osmanorhan 2136 2188 89 | 89 AleksanderBalobanov 2142 2191 90 | 89 Golovanov399 2636 2558 91 | 91 I_love_isaf27 2176 2214 92 | 92 hamlet 2027 2109 93 | 93 abc473848880 2118 2170 94 | 93 Sergey.Bankevich 2027 2107 95 | 95 aidos 2342 2332 96 | 96 scopeInfinity 2047 2118 97 | 97 besher 2078 2137 98 | 97 shadowatyy 2257 2266 99 | 97 petrescu 2290 2290 100 | 100 Nero 2260 2267 101 | 101 Quang 2284 2283 102 | 101 busamate 1949 2046 103 | 101 Marcin_smu 2690 2589 104 | 104 wrinx 2334 2318 105 | 104 RamTararam 2219 2233 106 | 106 HardW3ll 2171 2197 107 | 107 abeker 2326 2311 108 | 108 Mstdream 2127 2164 109 | 109 ami 1927 2026 110 | 110 akaiNeko 2302 2291 111 | 111 kostka 1930 2026 112 | 111 satanic0 2001 2073 113 | 113 kvk1920 1922 2020 114 | 114 atatomir 2407 2367 115 | 115 AryanSM 2170 2189 116 | 115 Rafiki53 2107 2143 117 | 117 Jakube 2154 2176 118 | 118 xht13127 2094 2132 119 | 119 lyoz 2031 2085 120 | 119 ShinriiTin 2187 2197 121 | 119 jodik 1910 2004 122 | 119 Sonechko 1976 2048 123 | 123 khokho 2118 2146 124 | 124 SharpC 1955 2031 125 | 124 lgkm39 2017 2073 126 | 124 misztsu 2091 2124 127 | 127 TadijaSebez 1937 2018 128 | 128 ComradeMike 1939 2018 129 | 128 Hiasat 1949 2024 130 | 130 danya.smelskiy 2146 2161 131 | 131 Giove 2165 2174 132 | 132 pmnox 2191 2191 133 | 132 simple 2381 2334 134 | 132 16silver 2090 2118 135 | 135 JiK 2162 2169 136 | 136 Tohsaka 2172 2175 137 | 136 Ali.Kh 2106 2127 138 | 138 nwi 2342 2302 139 | 139 NgocHai 2160 2164 140 | 139 Dani 1904 1986 141 | 141 msaska9 1904 1985 142 | 141 Timur_Sitdikov 2373 2323 143 | 143 2013300262 1988 2039 144 | 143 zhongzihao 2316 2279 145 | 145 nezametdinov 2047 2079 146 | 145 Honour_00 1984 2035 147 | 147 SebinKim 2024 2060 148 | 147 beet 2167 2163 149 | 147 Lo_R_D 2038 2070 150 | 147 prof.PVH 2253 2228 151 | 151 RCG 1982 2030 152 | 151 8shubham 2004 2045 153 | 153 MPeti 2107 2117 154 | 154 Filyan 2069 2089 155 | 154 ayakut 1973 2021 156 | 156 taow 2060 2082 157 | 157 nikabb 1993 2032 158 | 157 IHaveInt 2037 2063 159 | 157 Tann 2049 2071 160 | 157 tfg 2218 2196 161 | 161 kobae964 2185 2170 162 | 162 123a6bcw 1962 2008 163 | 162 vanvector 1940 1993 164 | 162 fauzdar65 1911 1974 165 | 165 Melnyk 2210 2187 166 | 166 TripleM5da 2044 2063 167 | 166 Meowl 1914 1974 168 | 168 tube_light 1909 1970 169 | 169 Bugman 2317 2266 170 | 170 yashar_sb_sb 2162 2147 171 | 170 Damon 2254 2217 172 | 172 ckodser 1975 2011 173 | 172 mango_lassi 2294 2246 174 | 174 liuaohanjsj 1999 2027 175 | 175 Noam527 2062 2071 176 | 176 Farhod_Farmon 2166 2147 177 | 177 Melnik 2128 2119 178 | 178 alex_Harry 2222 2189 179 | 179 binsjl 1988 2016 180 | 180 helThazar 1981 2011 181 | 181 Mohammad.Sj 2137 2123 182 | 182 DmitryGrigorev 2282 2233 183 | 183 isaf27 2368 2297 184 | 183 ATS 2012 2030 185 | 185 Sunnat 2146 2128 186 | 186 PhoenixEclipse 2045 2052 187 | 186 Jeel_Vaishnav 2061 2063 188 | 186 neko13 1952 1986 189 | 189 I-Love-Islam 1930 1969 190 | 189 ShavelV 2071 2069 191 | 191 roberiosalesc 2133 2115 192 | 192 JKS_PL 2274 2222 193 | 193 rui-de 2032 2039 194 | 194 ei133333 2208 2170 195 | 194 ObiBlatKenobi 2027 2035 196 | 196 Ali_Pi 1935 1969 197 | 197 lnsuyn 1989 2006 198 | 198 CSTCurry 2027 2033 199 | 199 maxplus 2027 2032 200 | 200 alex9801 2318 2251 201 | 200 onjo0127 1955 1980 202 | 202 0.o.0.. 2095 2081 203 | 203 pawelek1 2241 2191 204 | 203 xpchf 2033 2034 205 | 205 omidazadi 2005 2013 206 | 206 Heisenbug 1977 1992 207 | 207 diswizetionallities 1943 1968 208 | 208 CLDP 2083 2068 209 | 209 Ilya_MSU 2203 2159 210 | 209 777777777 1924 1953 211 | 211 tjw_girlfriend 2258 2200 212 | 211 wshwsh12 2151 2118 213 | 213 Juve45 1966 1981 214 | 214 swenyoo 1958 1974 215 | 215 zas409257934 2042 2034 216 | 216 hamayanhamayan 1998 2001 217 | 216 Malinovsky239 2082 2063 218 | 218 born2rule 1912 1940 219 | 219 pb0207 1932 1953 220 | 220 Hyperbolic 2018 2014 221 | 221 PItS 1986 1990 222 | 222 q707185547 2200 2151 223 | 223 ChickenInKitchen 2040 2029 224 | 224 Barbossa 1954 1966 225 | 225 Karasick 1916 1938 226 | 225 henryx 1912 1935 227 | 227 Markellonchik 2006 2002 228 | 228 TearinFree 2071 2049 229 | 228 architkarandikar 2077 2054 230 | 230 SlavaSSU 1946 1956 231 | 230 193s 2065 2044 232 | 232 mshcherba 2058 2038 233 | 233 LifeCracker 2052 2032 234 | 234 mowji 1992 1988 235 | 235 Anoxiacxy 1979 1978 236 | 236 thinfaifai 2108 2074 237 | 237 ANTIMIRAGE 1908 1926 238 | 238 sonya123 2115 2078 239 | 239 WreckingBall 2041 2021 240 | 240 sanyamg123 1949 1953 241 | 241 aminra 1935 1943 242 | 242 T1duS 2010 1997 243 | 243 mkisic 2063 2036 244 | 244 Rudy420 1980 1973 245 | 245 paruki 2089 2055 246 | 246 ooaa 2055 2029 247 | 247 Ivars 2083 2050 248 | 248 ShivRam 1959 1956 249 | 249 JATC 2001 1986 250 | 250 Na2a 2249 2177 251 | 251 SimB4 1968 1961 252 | 252 fragusbot 2035 2010 253 | 252 zml 1960 1953 254 | 252 boook 2190 2129 255 | 255 hm_98 1958 1951 256 | 256 wcwswswws 1988 1972 257 | 256 repeating 1910 1915 258 | 256 hank55663 2127 2078 259 | 259 Lollipop 2120 2072 260 | 259 Bodo 2073 2036 261 | 261 euler_1998 1944 1938 262 | 262 KARM 2011 1988 263 | 263 txingml 1949 1940 264 | 264 mishraiiit 1971 1956 265 | 265 Mohammad_kilani 2025 1997 266 | 266 HuaKeJiZhe 2021 1993 267 | 267 Svlad_Cjelli 2091 2046 268 | 267 meijun 1976 1958 269 | 269 N.E.R.O 2018 1989 270 | 269 Husayn. 1953 1940 271 | 271 reality420 2254 2173 272 | 272 okaduki1 2059 2019 273 | 273 vbobrov 1916 1911 274 | 274 yashChandnani 2057 2017 275 | 275 thai9cdb1 1989 1964 276 | 276 Nasic_number_one 2042 2004 277 | 277 dlhham 2100 2049 278 | 278 Caproner 1986 1961 279 | 279 Tachibana_Marika 2191 2120 280 | 280 XZA 1951 1933 281 | 281 muratakburak 2017 1983 282 | 282 .................. 1953 1933 283 | 283 WildUtah 1976 1950 284 | 284 Saber_Excalibur 2037 1997 285 | 285 mraron 2074 2025 286 | 286 vhnvn 1913 1901 287 | 287 TurboSergikk 1902 1893 288 | 288 YerzhanU 2149 2083 289 | 289 alexyz 2068 2018 290 | 289 ConnorZhong 1991 1958 291 | 291 NourElRashidy 2038 1994 292 | 292 paulsohn 1974 1944 293 | 293 JustInCase 1900 1888 294 | 294 INVWVZ 2010 1971 295 | 295 iaojnh 1970 1940 296 | 296 SaveVMK 1923 1903 297 | 297 MAMBA 2018 1976 298 | 298 balakrishnan 1979 1945 299 | 299 tmwilliamlin168 2032 1986 300 | 300 heyshb 1953 1924 301 | 301 MKibera 1948 1920 302 | 302 FundamentalEq 1911 1891 303 | 303 kut_kjb1994 2008 1965 304 | 304 wika 1907 1887 305 | 305 0xA28 1996 1955 306 | 306 wjsoweak 1934 1906 307 | 307 KhaleD_ 1913 1890 308 | 308 DmitryBelikov 2274 2176 309 | 309 erfan._.m 2034 1983 310 | 310 Numb 2009 1962 311 | 311 cfk 2107 2040 312 | 312 deva2802 2019 1969 313 | 313 MiteshAgrawal 1910 1883 314 | 313 codelegend 1949 1913 315 | 313 Z38 2072 2010 316 | 316 tlwpdus 2303 2196 317 | 317 Arg_007 2066 2004 318 | 318 akmintro 1975 1932 319 | 319 I_love_Maria_Ivanova 2130 2055 320 | 320 2014CAIS01 2011 1959 321 | 321 Vladl1313 1946 1907 322 | 321 Fireworks_Z 1996 1946 323 | 323 adamant 2154 2072 324 | 323 YaDon4ick 2080 2012 325 | 323 Len 2026 1969 326 | 326 Franklyn_W 2228 2132 327 | 326 Florin29 1969 1922 328 | 328 ZaakDov 1952 1908 329 | 329 P___ 1962 1915 330 | 329 smusmu 1902 1868 331 | 329 VietaFan 2085 2014 332 | 332 Superty 2062 1995 333 | 333 arthurCF 1968 1918 334 | 334 AllCatsAreBeautiful 2314 2199 335 | 334 mindol 2044 1979 336 | 336 xolm 1958 1909 337 | 337 jaguar1996 1967 1915 338 | 338 WillyPillow 1912 1871 339 | 339 FallenTurret 2039 1972 340 | 339 bazsi700 2134 2050 341 | 341 pranet 2085 2010 342 | 342 triveni 2081 2005 343 | 342 reiracofage 1924 1877 344 | 342 osamahatem 1974 1917 345 | 345 Dibagger 1963 1908 346 | 346 HHzzkk 2215 2115 347 | 347 teochaban 1922 1873 348 | 347 solaimanope 1908 1862 349 | 349 Temirulan 2206 2105 350 | 349 FwP-IDN 2107 2023 351 | 349 vntshh 1941 1886 352 | 349 cgspyn_868 1944 1889 353 | 353 frankbozar 1968 1908 354 | 354 vsp4 1998 1931 355 | 354 JeffreyHo 2169 2073 356 | 354 mouse_wireless 1924 1870 357 | 354 Woreviam 1900 1850 358 | 358 guestcheap 2153 2059 359 | 359 ioimooeee 1957 1896 360 | 360 Batrr 1904 1852 361 | 361 Hoi_koro 2064 1984 362 | 362 nike_007 1939 1879 363 | 362 Dopahkiin 2121 2031 364 | 364 SheepRanger 1924 1866 365 | 365 BohdanPastuschak 1998 1926 366 | 365 nevgen 1971 1903 367 | 365 Makcum888 1988 1917 368 | 368 allllekssssa 2028 1950 369 | 369 CMaster 1994 1921 370 | 370 nigus 2111 2020 371 | 371 cjoa 1930 1867 372 | 372 mipt.vi002 1990 1916 373 | 373 sggutier 1930 1865 374 | 374 ATofighi 1942 1875 375 | 375 leedsjays 1915 1852 376 | 376 Pavs 1990 1914 377 | 377 kr_abhinav 2067 1979 378 | 378 TaTaPiH 1933 1865 379 | 379 ajinkya1p3 2032 1949 380 | 380 kzyKT 1934 1865 381 | 381 RUSH_D_CAT 1924 1856 382 | 382 Hammaspeikko 1909 1842 383 | 383 J.Lili 1982 1904 384 | 384 MegaBidoof 1979 1901 385 | 385 Gold_Three_Fat 1974 1896 386 | 386 MysteryGuy 1924 1852 387 | 387 denis2111 1984 1904 388 | 388 _Dragon_ 1986 1905 389 | 389 tinca_matei 1965 1886 390 | 390 BrainDead 1951 1873 391 | 391 caa_tomsk 2008 1922 392 | 392 DNA 1947 1869 393 | 393 meooow 2079 1983 394 | 394 WA_TLE 2176 2066 395 | 395 Safayat 1923 1846 396 | 396 nnandi 1962 1880 397 | 397 dreamplay 1969 1885 398 | 398 Akinorew 1969 1885 399 | 399 iwashi31 1934 1853 400 | 400 JasonBaby 1923 1842 401 | 400 noelnadal 2023 1931 402 | 402 Mahan_sh 1916 1821 403 | 402 lx_ambulance 1934 1838 404 | 402 NEU20133823 2052 1946 405 | 402 raja1999 1925 1830 406 | 402 LazyCharlie 1942 1845 407 | 402 kzoacn 2170 2051 408 | 402 Zymphony77 1957 1859 409 | 402 mahbubcseju 2021 1918 410 | 402 RockyB 1987 1887 411 | 402 King_George 2008 1906 412 | 402 sydlcs 1915 1820 413 | 402 super_azbuka 2092 1982 414 | 402 Elibay 1908 1814 415 | 402 sluki 1981 1881 416 | 402 HDevillez 1968 1870 417 | 402 grumpy_gordon 2357 2210 418 | 402 Dashk0 1937 1841 419 | 402 dastan 1903 1809 420 | 402 wcy1122 1952 1855 421 | 402 andrew 1977 1878 422 | 402 fudail225 2077 1969 423 | 402 mathmaniac 2039 1934 424 | -------------------------------------------------------------------------------- /tests/cf_rating_result_917.txt: -------------------------------------------------------------------------------- 1 | 1 OO0OOO00O0OOO0O00OOO0OO seed: 4.828954 rating: 3199 -> 3294 vs 3294 2 | 2 FizzyDavid seed: 21.830807 rating: 2816 -> 2955 vs 2955 3 | 3 ainta seed: 22.824044 rating: 2804 -> 2920 vs 2920 4 | 4 aid seed: 23.508243 rating: 2796 -> 2895 vs 2895 5 | 5 Swistakk seed: 15.651161 rating: 2904 -> 2959 vs 2959 6 | 6 JOHNKRAM seed: 40.846867 rating: 2641 -> 2755 vs 2755 7 | 7 Radewoosh seed: 7.106207 rating: 3104 -> 3084 vs 3084 8 | 8 geniucos seed: 25.114337 rating: 2778 -> 2835 vs 2835 9 | 9 SkyDec seed: 10.105227 rating: 3016 -> 3003 vs 3003 10 | 10 shanquan2 seed: 40.987968 rating: 2640 -> 2719 vs 2719 11 | 11 mythologicalsama seed: 95.633674 rating: 2383 -> 2526 vs 2526 12 | 12 RomaWhite seed: 20.643380 rating: 2831 -> 2847 vs 2847 13 | 13 zscoder seed: 43.009325 rating: 2626 -> 2691 vs 2691 14 | 14 Kostroma seed: 31.410010 rating: 2716 -> 2752 vs 2752 15 | 15 gtwgtw seed: 31.634278 rating: 2714 -> 2746 vs 2746 16 | 16 ftiasch seed: 45.118856 rating: 2612 -> 2666 vs 2666 17 | 17 dreamoon seed: 40.426141 rating: 2644 -> 2686 vs 2686 18 | 18 SanSiroWaltz seed: 24.033229 rating: 2790 -> 2789 vs 2789 19 | 19 ACCE12138 seed: 174.896590 rating: 2176 -> 2338 vs 2338 20 | 20 KADR seed: 130.486063 rating: 2281 -> 2409 vs 2409 21 | 21 FlZZYDAVlD seed: 114.407237 rating: 2325 -> 2437 vs 2437 22 | 22 .o. seed: 45.894320 rating: 2607 -> 2640 vs 2640 23 | 23 Bredor seed: 270.871154 rating: 1979 -> 2192 vs 2192 24 | 24 FoolMike seed: 108.620430 rating: 2342 -> 2439 vs 2439 25 | 25 KrK seed: 34.924971 rating: 2686 -> 2689 vs 2689 26 | 26 Egor seed: 26.719175 rating: 2761 -> 2742 vs 2742 27 | 27 lewin seed: 73.346260 rating: 2466 -> 2521 vs 2521 28 | 28 lastans seed: 175.355609 rating: 2175 -> 2308 vs 2308 29 | 29 Chelly seed: 69.168365 rating: 2484 -> 2529 vs 2529 30 | 30 kriii seed: 38.513041 rating: 2658 -> 2656 vs 2656 31 | 31 Rafbill seed: 33.361561 rating: 2699 -> 2684 vs 2684 32 | 32 Inventure seed: 105.979255 rating: 2350 -> 2423 vs 2423 33 | 33 Gromah seed: 158.786286 rating: 2212 -> 2321 vs 2321 34 | 34 yeputons seed: 36.297805 rating: 2675 -> 2659 vs 2659 35 | 35 snuke seed: 93.257019 rating: 2391 -> 2447 vs 2447 36 | 37 fanache99 seed: 78.251270 rating: 2446 -> 2483 vs 2483 37 | 37 black_horse2014 seed: 80.811084 rating: 2436 -> 2475 vs 2475 38 | 38 Marco_L_T seed: 191.761341 rating: 2140 -> 2260 vs 2260 39 | 39 mareksom seed: 53.429440 rating: 2562 -> 2565 vs 2565 40 | 40 asi1024 seed: 157.916373 rating: 2214 -> 2308 vs 2308 41 | 41 Will_Dearborn seed: 152.756077 rating: 2226 -> 2314 vs 2314 42 | 42 CommonAnts seed: 173.980311 rating: 2178 -> 2278 vs 2278 43 | 43 jtnydv25 seed: 94.439019 rating: 2387 -> 2428 vs 2428 44 | 44 ksun48 seed: 27.704718 rating: 2751 -> 2698 vs 2698 45 | 45 darnley seed: 71.229884 rating: 2475 -> 2490 vs 2490 46 | 46 femsub_a seed: 142.344221 rating: 2251 -> 2323 vs 2323 47 | 47 mmaxio seed: 39.186891 rating: 2653 -> 2620 vs 2620 48 | 48 dotorya seed: 4.149723 rating: 3236 -> 3060 vs 3060 49 | 49 khadaev seed: 19.587451 rating: 2845 -> 2762 vs 2762 50 | 50 MrDindows seed: 42.568875 rating: 2629 -> 2597 vs 2597 51 | 51 Errichto seed: 47.320212 rating: 2598 -> 2572 vs 2572 52 | 52 Definitely_Not_Ngkan146 seed: 294.292148 rating: 1929 -> 2094 vs 2094 53 | 53 kmjp seed: 48.292696 rating: 2592 -> 2565 vs 2565 54 | 54 ErdemKirez seed: 94.736494 rating: 2386 -> 2410 vs 2410 55 | 55 yasugongshang seed: 208.709629 rating: 2105 -> 2206 vs 2206 56 | 56 Hasan0540 seed: 143.978462 rating: 2247 -> 2305 vs 2305 57 | 58 sharph seed: 137.913861 rating: 2262 -> 2313 vs 2313 58 | 58 Vercingetorix seed: 67.602167 rating: 2491 -> 2482 vs 2482 59 | 59 Motarack seed: 204.797857 rating: 2113 -> 2205 vs 2205 60 | 60 Kattana seed: 135.931367 rating: 2267 -> 2314 vs 2314 61 | 61 chokudai seed: 110.635724 rating: 2336 -> 2363 vs 2363 62 | 62 gepardo seed: 107.955225 rating: 2344 -> 2368 vs 2368 63 | 63 praran26 seed: 248.857501 rating: 2024 -> 2139 vs 2139 64 | 64 woqja125 seed: 106.634641 rating: 2348 -> 2368 vs 2368 65 | 65 I_Want_Alex_R_Coleman seed: 142.344221 rating: 2251 -> 2296 vs 2296 66 | 67 Brightness seed: 216.584453 rating: 2089 -> 2178 vs 2178 67 | 67 andrey_efremov seed: 167.634094 rating: 2192 -> 2251 vs 2251 68 | 68 StarCuriosity seed: 155.323432 rating: 2220 -> 2270 vs 2270 69 | 70 AomeII seed: 216.090570 rating: 2090 -> 2175 vs 2175 70 | 70 logicmachine seed: 148.117283 rating: 2237 -> 2280 vs 2280 71 | 71 Hansuzu seed: 267.975095 rating: 1985 -> 2103 vs 2103 72 | 72 fetetriste seed: 174.896590 rating: 2176 -> 2233 vs 2233 73 | 73 EmanuelNrx seed: 227.490324 rating: 2067 -> 2156 vs 2156 74 | 75 djq_cpp seed: 151.906062 rating: 2228 -> 2268 vs 2268 75 | 75 maksay seed: 186.066236 rating: 2152 -> 2213 vs 2213 76 | 76 FCB1234 seed: 69.849512 rating: 2481 -> 2454 vs 2454 77 | 77 Jatana seed: 239.427831 rating: 2043 -> 2135 vs 2135 78 | 79 imaxblue seed: 127.068692 rating: 2290 -> 2309 vs 2309 79 | 79 alexrcoleman seed: 140.722299 rating: 2255 -> 2283 vs 2283 80 | 80 M.Mahdi seed: 84.788853 rating: 2421 -> 2405 vs 2405 81 | 82 HMAXS seed: 238.930577 rating: 2044 -> 2130 vs 2130 82 | 82 eddy1021 seed: 40.846867 rating: 2641 -> 2569 vs 2569 83 | 84 guille seed: 115.803369 rating: 2321 -> 2327 vs 2327 84 | 84 Mariusz1 seed: 116.859104 rating: 2318 -> 2324 vs 2324 85 | 86 Adalbert seed: 171.245779 rating: 2184 -> 2224 vs 2224 86 | 86 Luqman seed: 232.463406 rating: 2057 -> 2135 vs 2135 87 | 87 sienmich seed: 262.629409 rating: 1996 -> 2093 vs 2093 88 | 88 osmanorhan seed: 193.674319 rating: 2136 -> 2188 vs 2188 89 | 90 AleksanderBalobanov seed: 190.807506 rating: 2142 -> 2191 vs 2191 90 | 90 Golovanov399 seed: 41.556708 rating: 2636 -> 2558 vs 2558 91 | 91 I_love_isaf27 seed: 174.896590 rating: 2176 -> 2214 vs 2214 92 | 92 hamlet seed: 247.371694 rating: 2027 -> 2109 vs 2109 93 | 94 Sergey.Bankevich seed: 247.371694 rating: 2027 -> 2107 vs 2107 94 | 94 abc473848880 seed: 202.363260 rating: 2118 -> 2170 vs 2170 95 | 95 aidos seed: 108.620430 rating: 2342 -> 2332 vs 2332 96 | 96 scopeInfinity seed: 237.438511 rating: 2047 -> 2118 vs 2118 97 | 99 besher seed: 222.029036 rating: 2078 -> 2137 vs 2137 98 | 99 shadowatyy seed: 139.915988 rating: 2257 -> 2266 vs 2266 99 | 99 petrescu seed: 127.068692 rating: 2290 -> 2290 vs 2290 100 | 100 Nero seed: 138.712365 rating: 2260 -> 2267 vs 2267 101 | 103 busamate seed: 285.095408 rating: 1949 -> 2046 vs 2046 102 | 103 Quang seed: 129.339663 rating: 2284 -> 2283 vs 2283 103 | 103 Marcin_smu seed: 34.437206 rating: 2690 -> 2589 vs 2589 104 | 105 RamTararam seed: 155.753825 rating: 2219 -> 2233 vs 2233 105 | 105 wrinx seed: 111.314056 rating: 2334 -> 2318 vs 2318 106 | 106 HardW3ll seed: 177.197465 rating: 2171 -> 2197 vs 2197 107 | 107 abeker seed: 114.060261 rating: 2326 -> 2311 vs 2311 108 | 108 Mstdream seed: 198.003112 rating: 2127 -> 2164 vs 2164 109 | 109 ami seed: 295.197341 rating: 1927 -> 2026 vs 2026 110 | 110 akaiNeko seed: 122.614572 rating: 2302 -> 2291 vs 2291 111 | 112 kostka seed: 293.838520 rating: 1930 -> 2026 vs 2026 112 | 112 satanic0 seed: 260.185715 rating: 2001 -> 2073 vs 2073 113 | 113 kvk1920 seed: 297.448072 rating: 1922 -> 2020 vs 2020 114 | 114 atatomir seed: 88.654320 rating: 2407 -> 2367 vs 2367 115 | 116 Rafiki53 seed: 207.729901 rating: 2107 -> 2143 vs 2143 116 | 116 AryanSM seed: 177.659356 rating: 2170 -> 2189 vs 2189 117 | 117 Jakube seed: 185.123795 rating: 2154 -> 2176 vs 2176 118 | 118 xht13127 seed: 214.117121 rating: 2094 -> 2132 vs 2132 119 | 122 ShinriiTin seed: 169.886724 rating: 2187 -> 2197 vs 2197 120 | 122 lyoz seed: 245.388489 rating: 2031 -> 2085 vs 2085 121 | 122 jodik seed: 302.775593 rating: 1910 -> 2004 vs 2004 122 | 122 Sonechko seed: 272.313446 rating: 1976 -> 2048 vs 2048 123 | 123 khokho seed: 202.363260 rating: 2118 -> 2146 vs 2146 124 | 126 SharpC seed: 282.288564 rating: 1955 -> 2031 vs 2031 125 | 126 misztsu seed: 215.596890 rating: 2091 -> 2124 vs 2124 126 | 126 lgkm39 seed: 252.318105 rating: 2017 -> 2073 vs 2073 127 | 127 TadijaSebez seed: 290.644291 rating: 1937 -> 2018 vs 2018 128 | 129 ComradeMike seed: 289.725741 rating: 1939 -> 2018 vs 2018 129 | 129 Hiasat seed: 285.095408 rating: 1949 -> 2024 vs 2024 130 | 130 danya.smelskiy seed: 188.905317 rating: 2146 -> 2161 vs 2161 131 | 131 Giove seed: 179.977197 rating: 2165 -> 2174 vs 2174 132 | 134 simple seed: 96.235766 rating: 2381 -> 2334 vs 2334 133 | 134 16silver seed: 216.090570 rating: 2090 -> 2118 vs 2118 134 | 134 pmnox seed: 168.083359 rating: 2191 -> 2191 vs 2191 135 | 135 JiK seed: 181.374479 rating: 2162 -> 2169 vs 2169 136 | 137 Tohsaka seed: 176.736141 rating: 2172 -> 2175 vs 2175 137 | 137 Ali.Kh seed: 208.219622 rating: 2106 -> 2127 vs 2127 138 | 138 nwi seed: 108.620430 rating: 2342 -> 2302 vs 2302 139 | 140 NgocHai seed: 182.308678 rating: 2160 -> 2164 vs 2164 140 | 140 Dani seed: 305.398306 rating: 1904 -> 1986 vs 1986 141 | 142 msaska9 seed: 305.398306 rating: 1904 -> 1985 vs 1985 142 | 142 Timur_Sitdikov seed: 98.676051 rating: 2373 -> 2323 vs 2323 143 | 144 zhongzihao seed: 117.567039 rating: 2316 -> 2279 vs 2279 144 | 144 2013300262 seed: 266.521628 rating: 1988 -> 2039 vs 2039 145 | 146 nezametdinov seed: 237.438511 rating: 2047 -> 2079 vs 2079 146 | 146 Honour_00 seed: 268.458797 rating: 1984 -> 2035 vs 2035 147 | 150 prof.PVH seed: 141.531714 rating: 2253 -> 2228 vs 2228 148 | 150 Lo_R_D seed: 241.913076 rating: 2038 -> 2070 vs 2070 149 | 150 SebinKim seed: 248.857501 rating: 2024 -> 2060 vs 2060 150 | 150 beet seed: 179.048398 rating: 2167 -> 2163 vs 2163 151 | 152 RCG seed: 269.424987 rating: 1982 -> 2030 vs 2030 152 | 152 8shubham seed: 258.715783 rating: 2004 -> 2045 vs 2045 153 | 153 MPeti seed: 207.729901 rating: 2107 -> 2117 vs 2117 154 | 155 ayakut seed: 273.751712 rating: 1973 -> 2021 vs 2021 155 | 155 Filyan seed: 226.496451 rating: 2069 -> 2089 vs 2089 156 | 156 taow seed: 230.971009 rating: 2060 -> 2082 vs 2082 157 | 160 IHaveInt seed: 242.409879 rating: 2037 -> 2063 vs 2063 158 | 160 tfg seed: 156.184927 rating: 2218 -> 2196 vs 2196 159 | 160 nikabb seed: 264.091658 rating: 1993 -> 2032 vs 2032 160 | 160 Tann seed: 236.443603 rating: 2049 -> 2071 vs 2071 161 | 161 kobae964 seed: 170.792145 rating: 2185 -> 2170 vs 2170 162 | 164 fauzdar65 seed: 302.335761 rating: 1911 -> 1974 vs 1974 163 | 164 vanvector seed: 289.265505 rating: 1940 -> 1993 vs 1993 164 | 164 123a6bcw seed: 278.988534 rating: 1962 -> 2008 vs 2008 165 | 165 Melnyk seed: 159.658964 rating: 2210 -> 2187 vs 2187 166 | 167 Meowl seed: 301.011695 rating: 1914 -> 1974 vs 1974 167 | 167 TripleM5da seed: 238.930577 rating: 2044 -> 2063 vs 2063 168 | 168 tube_light seed: 303.214656 rating: 1909 -> 1970 vs 1970 169 | 169 Bugman seed: 117.212660 rating: 2317 -> 2266 vs 2266 170 | 171 yashar_sb_sb seed: 181.374479 rating: 2162 -> 2147 vs 2147 171 | 171 Damon seed: 141.126619 rating: 2254 -> 2217 vs 2217 172 | 173 ckodser seed: 272.793323 rating: 1975 -> 2011 vs 2011 173 | 173 mango_lassi seed: 125.570943 rating: 2294 -> 2246 vs 2246 174 | 174 liuaohanjsj seed: 261.164150 rating: 1999 -> 2027 vs 2027 175 | 175 Noam527 seed: 229.976255 rating: 2062 -> 2071 vs 2071 176 | 176 Farhod_Farmon seed: 179.512523 rating: 2166 -> 2147 vs 2147 177 | 177 Melnik seed: 197.520525 rating: 2128 -> 2119 vs 2119 178 | 178 alex_Harry seed: 154.464779 rating: 2222 -> 2189 vs 2189 179 | 179 binsjl seed: 266.521628 rating: 1988 -> 2016 vs 2016 180 | 180 helThazar seed: 269.907464 rating: 1981 -> 2011 vs 2011 181 | 181 Mohammad.Sj seed: 193.195422 rating: 2137 -> 2123 vs 2123 182 | 182 DmitryGrigorev seed: 130.103123 rating: 2282 -> 2233 vs 2233 183 | 184 isaf27 seed: 100.227294 rating: 2368 -> 2297 vs 2297 184 | 184 ATS seed: 254.783703 rating: 2012 -> 2030 vs 2030 185 | 185 Sunnat seed: 188.905317 rating: 2146 -> 2128 vs 2128 186 | 188 PhoenixEclipse seed: 238.433269 rating: 2045 -> 2052 vs 2052 187 | 188 Jeel_Vaishnav seed: 230.473611 rating: 2061 -> 2063 vs 2063 188 | 188 neko13 seed: 283.694573 rating: 1952 -> 1986 vs 1986 189 | 190 ShavelV seed: 225.502931 rating: 2071 -> 2069 vs 2069 190 | 190 I-Love-Islam seed: 293.838520 rating: 1930 -> 1969 vs 1969 191 | 191 roberiosalesc seed: 195.113560 rating: 2133 -> 2115 vs 2115 192 | 192 JKS_PL seed: 133.189143 rating: 2274 -> 2222 vs 2222 193 | 193 rui-de seed: 244.892346 rating: 2032 -> 2039 vs 2039 194 | 195 ObiBlatKenobi seed: 247.371694 rating: 2027 -> 2035 vs 2035 195 | 195 ei133333 seed: 160.534389 rating: 2208 -> 2170 vs 2170 196 | 196 Ali_Pi seed: 291.560244 rating: 1935 -> 1969 vs 1969 197 | 197 lnsuyn seed: 266.036372 rating: 1989 -> 2006 vs 2006 198 | 198 CSTCurry seed: 247.371694 rating: 2027 -> 2033 vs 2033 199 | 199 maxplus seed: 247.371694 rating: 2027 -> 2032 vs 2032 200 | 201 alex9801 seed: 116.859104 rating: 2318 -> 2251 vs 2251 201 | 201 onjo0127 seed: 282.288564 rating: 1955 -> 1980 vs 1980 202 | 202 0.o.0.. seed: 213.624306 rating: 2095 -> 2081 vs 2081 203 | 204 xpchf seed: 244.396079 rating: 2033 -> 2034 vs 2034 204 | 204 pawelek1 seed: 146.452699 rating: 2241 -> 2191 vs 2191 205 | 205 omidazadi seed: 258.225222 rating: 2005 -> 2013 vs 2013 206 | 206 Heisenbug seed: 271.833122 rating: 1977 -> 1992 vs 1992 207 | 207 diswizetionallities seed: 287.881008 rating: 1943 -> 1968 vs 1968 208 | 208 CLDP seed: 219.551717 rating: 2083 -> 2068 vs 2068 209 | 210 777777777 seed: 296.549902 rating: 1924 -> 1953 vs 1953 210 | 210 Ilya_MSU seed: 162.734830 rating: 2203 -> 2159 vs 2159 211 | 212 tjw_girlfriend seed: 139.513999 rating: 2258 -> 2200 vs 2200 212 | 212 wshwsh12 seed: 186.538201 rating: 2151 -> 2118 vs 2118 213 | 213 Juve45 seed: 277.091183 rating: 1966 -> 1981 vs 1981 214 | 214 swenyoo seed: 280.877519 rating: 1958 -> 1974 vs 1974 215 | 215 zas409257934 seed: 239.925025 rating: 2042 -> 2034 vs 2034 216 | 217 Malinovsky239 seed: 220.046872 rating: 2082 -> 2063 vs 2063 217 | 217 hamayanhamayan seed: 261.652895 rating: 1998 -> 2001 vs 2001 218 | 218 born2rule seed: 301.895164 rating: 1912 -> 1940 vs 1940 219 | 219 pb0207 seed: 292.929223 rating: 1932 -> 1953 vs 1953 220 | 220 Hyperbolic seed: 251.824324 rating: 2018 -> 2014 vs 2014 221 | 221 PItS seed: 267.490995 rating: 1986 -> 1990 vs 1990 222 | 222 q707185547 seed: 164.063133 rating: 2200 -> 2151 vs 2151 223 | 223 ChickenInKitchen seed: 240.919206 rating: 2040 -> 2029 vs 2029 224 | 224 Barbossa seed: 282.757800 rating: 1954 -> 1966 vs 1966 225 | 226 henryx seed: 301.895164 rating: 1912 -> 1935 vs 1935 226 | 226 Karasick seed: 300.125217 rating: 1916 -> 1938 vs 1938 227 | 227 Markellonchik seed: 257.734377 rating: 2006 -> 2002 vs 2002 228 | 229 TearinFree seed: 225.502931 rating: 2071 -> 2049 vs 2049 229 | 229 architkarandikar seed: 222.524936 rating: 2077 -> 2054 vs 2054 230 | 231 193s seed: 228.484505 rating: 2065 -> 2044 vs 2044 231 | 231 SlavaSSU seed: 286.490931 rating: 1946 -> 1956 vs 1956 232 | 232 mshcherba seed: 231.965913 rating: 2058 -> 2038 vs 2038 233 | 233 LifeCracker seed: 234.951064 rating: 2052 -> 2032 vs 2032 234 | 234 mowji seed: 264.578378 rating: 1992 -> 1988 vs 1988 235 | 235 Anoxiacxy seed: 270.871154 rating: 1979 -> 1978 vs 1978 236 | 236 thinfaifai seed: 207.240470 rating: 2108 -> 2074 vs 2074 237 | 237 ANTIMIRAGE seed: 303.652947 rating: 1908 -> 1926 vs 1926 238 | 238 sonya123 seed: 203.823022 rating: 2115 -> 2078 vs 2078 239 | 239 WreckingBall seed: 240.422151 rating: 2041 -> 2021 vs 2021 240 | 240 sanyamg123 seed: 285.095408 rating: 1949 -> 1953 vs 1953 241 | 241 aminra seed: 291.560244 rating: 1935 -> 1943 vs 1943 242 | 242 T1duS seed: 255.768291 rating: 2010 -> 1997 vs 1997 243 | 243 mkisic seed: 229.478949 rating: 2063 -> 2036 vs 2036 244 | 244 Rudy420 seed: 270.389522 rating: 1980 -> 1973 vs 1973 245 | 245 paruki seed: 216.584453 rating: 2089 -> 2055 vs 2055 246 | 246 ooaa seed: 233.458449 rating: 2055 -> 2029 vs 2029 247 | 247 Ivars seed: 219.551717 rating: 2083 -> 2050 vs 2050 248 | 248 ShivRam seed: 280.406076 rating: 1959 -> 1956 vs 1956 249 | 249 JATC seed: 260.185715 rating: 2001 -> 1986 vs 1986 250 | 250 Na2a seed: 143.159807 rating: 2249 -> 2177 vs 2177 251 | 251 SimB4 seed: 276.139476 rating: 1968 -> 1961 vs 1961 252 | 254 zml seed: 279.934094 rating: 1960 -> 1953 vs 1953 253 | 254 boook seed: 168.533258 rating: 2190 -> 2129 vs 2129 254 | 254 fragusbot seed: 243.403193 rating: 2035 -> 2010 vs 2010 255 | 255 hm_98 seed: 280.877519 rating: 1958 -> 1951 vs 1951 256 | 258 hank55663 seed: 198.003112 rating: 2127 -> 2078 vs 2078 257 | 258 wcwswswws seed: 266.521628 rating: 1988 -> 1972 vs 1972 258 | 258 repeating seed: 302.775593 rating: 1910 -> 1915 vs 1915 259 | 260 Lollipop seed: 201.391802 rating: 2120 -> 2072 vs 2072 260 | 260 Bodo seed: 224.509809 rating: 2073 -> 2036 vs 2036 261 | 261 euler_1998 seed: 287.418263 rating: 1944 -> 1938 vs 1938 262 | 262 KARM seed: 255.276121 rating: 2011 -> 1988 vs 1988 263 | 263 txingml seed: 285.095408 rating: 1949 -> 1940 vs 1940 264 | 264 mishraiiit seed: 274.708247 rating: 1971 -> 1956 vs 1956 265 | 265 Mohammad_kilani seed: 248.362396 rating: 2025 -> 1997 vs 1997 266 | 266 HuaKeJiZhe seed: 250.341764 rating: 2021 -> 1993 vs 1993 267 | 268 Svlad_Cjelli seed: 215.596890 rating: 2091 -> 2046 vs 2046 268 | 268 meijun seed: 272.313446 rating: 1976 -> 1958 vs 1958 269 | 270 N.E.R.O seed: 251.824324 rating: 2018 -> 1989 vs 1989 270 | 270 Husayn. seed: 283.226471 rating: 1953 -> 1940 vs 1940 271 | 271 reality420 seed: 141.126619 rating: 2254 -> 2173 vs 2173 272 | 272 okaduki1 seed: 231.468445 rating: 2059 -> 2019 vs 2019 273 | 273 vbobrov seed: 300.125217 rating: 1916 -> 1911 vs 1911 274 | 274 yashChandnani seed: 232.463406 rating: 2057 -> 2017 vs 2017 275 | 275 thai9cdb1 seed: 266.036372 rating: 1989 -> 1964 vs 1964 276 | 276 Nasic_number_one seed: 239.925025 rating: 2042 -> 2004 vs 2004 277 | 277 dlhham seed: 211.163776 rating: 2100 -> 2049 vs 2049 278 | 278 Caproner seed: 267.490995 rating: 1986 -> 1961 vs 1961 279 | 279 Tachibana_Marika seed: 168.083359 rating: 2191 -> 2120 vs 2120 280 | 280 XZA seed: 284.162100 rating: 1951 -> 1933 vs 1933 281 | 281 muratakburak seed: 252.318105 rating: 2017 -> 1983 vs 1983 282 | 282 .................. seed: 283.226471 rating: 1953 -> 1933 vs 1933 283 | 283 WildUtah seed: 272.313446 rating: 1976 -> 1950 vs 1950 284 | 284 Saber_Excalibur seed: 242.409879 rating: 2037 -> 1997 vs 1997 285 | 285 mraron seed: 224.013411 rating: 2074 -> 2025 vs 2025 286 | 286 vhnvn seed: 301.453807 rating: 1913 -> 1901 vs 1901 287 | 287 TurboSergikk seed: 306.266248 rating: 1902 -> 1893 vs 1893 288 | 288 YerzhanU seed: 187.483602 rating: 2149 -> 2083 vs 2083 289 | 290 alexyz seed: 226.993346 rating: 2068 -> 2018 vs 2018 290 | 290 ConnorZhong seed: 265.064741 rating: 1991 -> 1958 vs 1958 291 | 291 NourElRashidy seed: 241.913076 rating: 2038 -> 1994 vs 1994 292 | 292 paulsohn seed: 273.272747 rating: 1974 -> 1944 vs 1944 293 | 293 JustInCase seed: 307.130989 rating: 1900 -> 1888 vs 1888 294 | 294 INVWVZ seed: 255.768291 rating: 2010 -> 1971 vs 1971 295 | 295 iaojnh seed: 275.185805 rating: 1970 -> 1940 vs 1940 296 | 296 SaveVMK seed: 296.999344 rating: 1923 -> 1903 vs 1903 297 | 297 MAMBA seed: 251.824324 rating: 2018 -> 1976 vs 1976 298 | 298 balakrishnan seed: 270.871154 rating: 1979 -> 1945 vs 1945 299 | 299 tmwilliamlin168 seed: 244.892346 rating: 2032 -> 1986 vs 1986 300 | 300 heyshb seed: 283.226471 rating: 1953 -> 1924 vs 1924 301 | 301 MKibera seed: 285.561179 rating: 1948 -> 1920 vs 1920 302 | 302 FundamentalEq seed: 302.335761 rating: 1911 -> 1891 vs 1891 303 | 303 kut_kjb1994 seed: 256.751864 rating: 2008 -> 1965 vs 1965 304 | 304 wika seed: 304.090462 rating: 1907 -> 1887 vs 1887 305 | 305 0xA28 seed: 262.629409 rating: 1996 -> 1955 vs 1955 306 | 306 wjsoweak seed: 292.017235 rating: 1934 -> 1906 vs 1906 307 | 307 KhaleD_ seed: 301.453807 rating: 1913 -> 1890 vs 1890 308 | 308 DmitryBelikov seed: 133.189143 rating: 2274 -> 2176 vs 2176 309 | 309 erfan._.m seed: 243.899693 rating: 2034 -> 1983 vs 1983 310 | 310 Numb seed: 256.260207 rating: 2009 -> 1962 vs 1962 311 | 311 cfk seed: 207.729901 rating: 2107 -> 2040 vs 2040 312 | 312 deva2802 seed: 251.330336 rating: 2019 -> 1969 vs 1969 313 | 315 MiteshAgrawal seed: 302.775593 rating: 1910 -> 1883 vs 1883 314 | 315 Z38 seed: 225.006317 rating: 2072 -> 2010 vs 2010 315 | 315 codelegend seed: 285.095408 rating: 1949 -> 1913 vs 1913 316 | 316 tlwpdus seed: 122.248704 rating: 2303 -> 2196 vs 2196 317 | 317 Arg_007 seed: 227.987378 rating: 2066 -> 2004 vs 2004 318 | 318 akmintro seed: 272.793323 rating: 1975 -> 1932 vs 1932 319 | 319 I_love_Maria_Ivanova seed: 196.556532 rating: 2130 -> 2055 vs 2055 320 | 320 2014CAIS01 seed: 255.276121 rating: 2011 -> 1959 vs 1959 321 | 322 Vladl1313 seed: 286.490931 rating: 1946 -> 1907 vs 1907 322 | 322 Fireworks_Z seed: 262.629409 rating: 1996 -> 1946 vs 1946 323 | 325 YaDon4ick seed: 221.037655 rating: 2080 -> 2012 vs 2012 324 | 325 Len seed: 247.867125 rating: 2026 -> 1969 vs 1969 325 | 325 adamant seed: 185.123795 rating: 2154 -> 2072 vs 2072 326 | 327 Florin29 seed: 275.662883 rating: 1969 -> 1922 vs 1922 327 | 327 Franklyn_W seed: 151.906062 rating: 2228 -> 2132 vs 2132 328 | 328 ZaakDov seed: 283.694573 rating: 1952 -> 1908 vs 1908 329 | 331 VietaFan seed: 218.561910 rating: 2085 -> 2014 vs 2014 330 | 331 P___ seed: 278.988534 rating: 1962 -> 1915 vs 1915 331 | 331 smusmu seed: 306.266248 rating: 1902 -> 1868 vs 1868 332 | 332 Superty seed: 229.976255 rating: 2062 -> 1995 vs 1995 333 | 333 arthurCF seed: 276.139476 rating: 1968 -> 1918 vs 1918 334 | 335 AllCatsAreBeautiful seed: 118.278263 rating: 2314 -> 2199 vs 2199 335 | 335 mindol seed: 238.930577 rating: 2044 -> 1979 vs 1979 336 | 336 xolm seed: 280.877519 rating: 1958 -> 1909 vs 1909 337 | 337 jaguar1996 seed: 276.615577 rating: 1967 -> 1915 vs 1915 338 | 338 WillyPillow seed: 301.895164 rating: 1912 -> 1871 vs 1871 339 | 340 bazsi700 seed: 194.633393 rating: 2134 -> 2050 vs 2050 340 | 340 FallenTurret seed: 241.416183 rating: 2039 -> 1972 vs 1972 341 | 341 pranet seed: 218.561910 rating: 2085 -> 2010 vs 2010 342 | 344 reiracofage seed: 296.549902 rating: 1924 -> 1877 vs 1877 343 | 344 osamahatem seed: 273.272747 rating: 1974 -> 1917 vs 1917 344 | 344 triveni seed: 220.542186 rating: 2081 -> 2005 vs 2005 345 | 345 Dibagger seed: 278.514968 rating: 1963 -> 1908 vs 1908 346 | 346 HHzzkk seed: 157.482461 rating: 2215 -> 2115 vs 2115 347 | 348 teochaban seed: 297.448072 rating: 1922 -> 1873 vs 1873 348 | 348 solaimanope seed: 303.652947 rating: 1908 -> 1862 vs 1862 349 | 352 FwP-IDN seed: 207.729901 rating: 2107 -> 2023 vs 2023 350 | 352 Temirulan seed: 161.412540 rating: 2206 -> 2105 vs 2105 351 | 352 cgspyn_868 seed: 287.418263 rating: 1944 -> 1889 vs 1889 352 | 352 vntshh seed: 288.804634 rating: 1941 -> 1886 vs 1886 353 | 353 frankbozar seed: 276.139476 rating: 1968 -> 1908 vs 1908 354 | 357 mouse_wireless seed: 296.549902 rating: 1924 -> 1870 vs 1870 355 | 357 vsp4 seed: 261.652895 rating: 1998 -> 1931 vs 1931 356 | 357 JeffreyHo seed: 178.121811 rating: 2169 -> 2073 vs 2073 357 | 357 Woreviam seed: 307.130989 rating: 1900 -> 1850 vs 1850 358 | 358 guestcheap seed: 185.594766 rating: 2153 -> 2059 vs 2059 359 | 359 ioimooeee seed: 281.348418 rating: 1957 -> 1896 vs 1896 360 | 360 Batrr seed: 305.398306 rating: 1904 -> 1852 vs 1852 361 | 361 Hoi_koro seed: 228.981697 rating: 2064 -> 1984 vs 1984 362 | 363 nike_007 seed: 289.725741 rating: 1939 -> 1879 vs 1879 363 | 363 Dopahkiin seed: 200.906602 rating: 2121 -> 2031 vs 2031 364 | 364 SheepRanger seed: 296.549902 rating: 1924 -> 1866 vs 1866 365 | 367 Makcum888 seed: 266.521628 rating: 1988 -> 1917 vs 1917 366 | 367 BohdanPastuschak seed: 261.652895 rating: 1998 -> 1926 vs 1926 367 | 367 nevgen seed: 274.708247 rating: 1971 -> 1903 vs 1903 368 | 368 allllekssssa seed: 246.876109 rating: 2028 -> 1950 vs 1950 369 | 369 CMaster seed: 263.604586 rating: 1994 -> 1921 vs 1921 370 | 370 nigus seed: 205.773975 rating: 2111 -> 2020 vs 2020 371 | 371 cjoa seed: 293.838520 rating: 1930 -> 1867 vs 1867 372 | 372 mipt.vi002 seed: 265.550741 rating: 1990 -> 1916 vs 1916 373 | 373 sggutier seed: 293.838520 rating: 1930 -> 1865 vs 1865 374 | 374 ATofighi seed: 288.343134 rating: 1942 -> 1875 vs 1875 375 | 375 leedsjays seed: 300.568830 rating: 1915 -> 1852 vs 1852 376 | 376 Pavs seed: 265.550741 rating: 1990 -> 1914 vs 1914 377 | 377 kr_abhinav seed: 227.490324 rating: 2067 -> 1979 vs 1979 378 | 378 TaTaPiH seed: 292.473563 rating: 1933 -> 1865 vs 1865 379 | 379 ajinkya1p3 seed: 244.892346 rating: 2032 -> 1949 vs 1949 380 | 380 kzyKT seed: 292.017235 rating: 1934 -> 1865 vs 1865 381 | 381 RUSH_D_CAT seed: 296.549902 rating: 1924 -> 1856 vs 1856 382 | 382 Hammaspeikko seed: 303.214656 rating: 1909 -> 1842 vs 1842 383 | 383 J.Lili seed: 269.424987 rating: 1982 -> 1904 vs 1904 384 | 384 MegaBidoof seed: 270.871154 rating: 1979 -> 1901 vs 1901 385 | 385 Gold_Three_Fat seed: 273.272747 rating: 1974 -> 1896 vs 1896 386 | 386 MysteryGuy seed: 296.549902 rating: 1924 -> 1852 vs 1852 387 | 387 denis2111 seed: 268.458797 rating: 1984 -> 1904 vs 1904 388 | 388 _Dragon_ seed: 267.490995 rating: 1986 -> 1905 vs 1905 389 | 389 tinca_matei seed: 277.566286 rating: 1965 -> 1886 vs 1886 390 | 390 BrainDead seed: 284.162100 rating: 1951 -> 1873 vs 1873 391 | 391 caa_tomsk seed: 256.751864 rating: 2008 -> 1922 vs 1922 392 | 392 DNA seed: 286.026355 rating: 1947 -> 1869 vs 1869 393 | 393 meooow seed: 221.533274 rating: 2079 -> 1983 vs 1983 394 | 394 WA_TLE seed: 174.896590 rating: 2176 -> 2066 vs 2066 395 | 395 Safayat seed: 296.999344 rating: 1923 -> 1846 vs 1846 396 | 396 nnandi seed: 278.988534 rating: 1962 -> 1880 vs 1880 397 | 397 dreamplay seed: 275.662883 rating: 1969 -> 1885 vs 1885 398 | 398 Akinorew seed: 275.662883 rating: 1969 -> 1885 vs 1885 399 | 399 iwashi31 seed: 292.017235 rating: 1934 -> 1853 vs 1853 400 | 401 noelnadal seed: 249.352435 rating: 2023 -> 1931 vs 1931 401 | 401 JasonBaby seed: 296.999344 rating: 1923 -> 1842 vs 1842 402 | 423 andrew seed: 271.833122 rating: 1977 -> 1878 vs 1878 403 | 423 dastan seed: 305.832675 rating: 1903 -> 1809 vs 1809 404 | 423 RockyB seed: 267.006505 rating: 1987 -> 1887 vs 1887 405 | 423 Elibay seed: 303.652947 rating: 1908 -> 1814 vs 1814 406 | 423 grumpy_gordon seed: 103.711105 rating: 2357 -> 2210 vs 2210 407 | 423 sluki seed: 269.907464 rating: 1981 -> 1881 vs 1881 408 | 423 kzoacn seed: 177.659356 rating: 2170 -> 2051 vs 2051 409 | 423 HDevillez seed: 276.139476 rating: 1968 -> 1870 vs 1870 410 | 423 sydlcs seed: 300.568830 rating: 1915 -> 1820 vs 1820 411 | 423 Mahan_sh seed: 300.125217 rating: 1916 -> 1821 vs 1821 412 | 423 fudail225 seed: 222.524936 rating: 2077 -> 1969 vs 1969 413 | 423 King_George seed: 256.751864 rating: 2008 -> 1906 vs 1906 414 | 423 NEU20133823 seed: 234.951064 rating: 2052 -> 1946 vs 1946 415 | 423 Zymphony77 seed: 281.348418 rating: 1957 -> 1859 vs 1859 416 | 423 mahbubcseju seed: 250.341764 rating: 2021 -> 1918 vs 1918 417 | 423 raja1999 seed: 296.099751 rating: 1925 -> 1830 vs 1830 418 | 423 wcy1122 seed: 283.694573 rating: 1952 -> 1855 vs 1855 419 | 423 super_azbuka seed: 215.103418 rating: 2092 -> 1982 vs 1982 420 | 423 lx_ambulance seed: 292.017235 rating: 1934 -> 1838 vs 1838 421 | 423 mathmaniac seed: 241.416183 rating: 2039 -> 1934 vs 1934 422 | 423 LazyCharlie seed: 288.343134 rating: 1942 -> 1845 vs 1845 423 | 423 Dashk0 seed: 290.644291 rating: 1937 -> 1841 vs 1841 424 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU General Public License is a free, copyleft license for 11 | software and other kinds of works. 12 | 13 | The licenses for most software and other practical works are designed 14 | to take away your freedom to share and change the works. By contrast, 15 | the GNU General Public License is intended to guarantee your freedom to 16 | share and change all versions of a program--to make sure it remains free 17 | software for all its users. We, the Free Software Foundation, use the 18 | GNU General Public License for most of our software; it applies also to 19 | any other work released this way by its authors. You can apply it to 20 | your programs, too. 21 | 22 | When we speak of free software, we are referring to freedom, not 23 | price. Our General Public Licenses are designed to make sure that you 24 | have the freedom to distribute copies of free software (and charge for 25 | them if you wish), that you receive source code or can get it if you 26 | want it, that you can change the software or use pieces of it in new 27 | free programs, and that you know you can do these things. 28 | 29 | To protect your rights, we need to prevent others from denying you 30 | these rights or asking you to surrender the rights. Therefore, you have 31 | certain responsibilities if you distribute copies of the software, or if 32 | you modify it: responsibilities to respect the freedom of others. 33 | 34 | For example, if you distribute copies of such a program, whether 35 | gratis or for a fee, you must pass on to the recipients the same 36 | freedoms that you received. You must make sure that they, too, receive 37 | or can get the source code. And you must show them these terms so they 38 | know their rights. 39 | 40 | Developers that use the GNU GPL protect your rights with two steps: 41 | (1) assert copyright on the software, and (2) offer you this License 42 | giving you legal permission to copy, distribute and/or modify it. 43 | 44 | For the developers' and authors' protection, the GPL clearly explains 45 | that there is no warranty for this free software. For both users' and 46 | authors' sake, the GPL requires that modified versions be marked as 47 | changed, so that their problems will not be attributed erroneously to 48 | authors of previous versions. 49 | 50 | Some devices are designed to deny users access to install or run 51 | modified versions of the software inside them, although the manufacturer 52 | can do so. This is fundamentally incompatible with the aim of 53 | protecting users' freedom to change the software. The systematic 54 | pattern of such abuse occurs in the area of products for individuals to 55 | use, which is precisely where it is most unacceptable. Therefore, we 56 | have designed this version of the GPL to prohibit the practice for those 57 | products. If such problems arise substantially in other domains, we 58 | stand ready to extend this provision to those domains in future versions 59 | of the GPL, as needed to protect the freedom of users. 60 | 61 | Finally, every program is threatened constantly by software patents. 62 | States should not allow patents to restrict development and use of 63 | software on general-purpose computers, but in those that do, we wish to 64 | avoid the special danger that patents applied to a free program could 65 | make it effectively proprietary. To prevent this, the GPL assures that 66 | patents cannot be used to render the program non-free. 67 | 68 | The precise terms and conditions for copying, distribution and 69 | modification follow. 70 | 71 | TERMS AND CONDITIONS 72 | 73 | 0. Definitions. 74 | 75 | "This License" refers to version 3 of the GNU General Public License. 76 | 77 | "Copyright" also means copyright-like laws that apply to other kinds of 78 | works, such as semiconductor masks. 79 | 80 | "The Program" refers to any copyrightable work licensed under this 81 | License. Each licensee is addressed as "you". "Licensees" and 82 | "recipients" may be individuals or organizations. 83 | 84 | To "modify" a work means to copy from or adapt all or part of the work 85 | in a fashion requiring copyright permission, other than the making of an 86 | exact copy. The resulting work is called a "modified version" of the 87 | earlier work or a work "based on" the earlier work. 88 | 89 | A "covered work" means either the unmodified Program or a work based 90 | on the Program. 91 | 92 | To "propagate" a work means to do anything with it that, without 93 | permission, would make you directly or secondarily liable for 94 | infringement under applicable copyright law, except executing it on a 95 | computer or modifying a private copy. Propagation includes copying, 96 | distribution (with or without modification), making available to the 97 | public, and in some countries other activities as well. 98 | 99 | To "convey" a work means any kind of propagation that enables other 100 | parties to make or receive copies. Mere interaction with a user through 101 | a computer network, with no transfer of a copy, is not conveying. 102 | 103 | An interactive user interface displays "Appropriate Legal Notices" 104 | to the extent that it includes a convenient and prominently visible 105 | feature that (1) displays an appropriate copyright notice, and (2) 106 | tells the user that there is no warranty for the work (except to the 107 | extent that warranties are provided), that licensees may convey the 108 | work under this License, and how to view a copy of this License. If 109 | the interface presents a list of user commands or options, such as a 110 | menu, a prominent item in the list meets this criterion. 111 | 112 | 1. Source Code. 113 | 114 | The "source code" for a work means the preferred form of the work 115 | for making modifications to it. "Object code" means any non-source 116 | form of a work. 117 | 118 | A "Standard Interface" means an interface that either is an official 119 | standard defined by a recognized standards body, or, in the case of 120 | interfaces specified for a particular programming language, one that 121 | is widely used among developers working in that language. 122 | 123 | The "System Libraries" of an executable work include anything, other 124 | than the work as a whole, that (a) is included in the normal form of 125 | packaging a Major Component, but which is not part of that Major 126 | Component, and (b) serves only to enable use of the work with that 127 | Major Component, or to implement a Standard Interface for which an 128 | implementation is available to the public in source code form. A 129 | "Major Component", in this context, means a major essential component 130 | (kernel, window system, and so on) of the specific operating system 131 | (if any) on which the executable work runs, or a compiler used to 132 | produce the work, or an object code interpreter used to run it. 133 | 134 | The "Corresponding Source" for a work in object code form means all 135 | the source code needed to generate, install, and (for an executable 136 | work) run the object code and to modify the work, including scripts to 137 | control those activities. However, it does not include the work's 138 | System Libraries, or general-purpose tools or generally available free 139 | programs which are used unmodified in performing those activities but 140 | which are not part of the work. For example, Corresponding Source 141 | includes interface definition files associated with source files for 142 | the work, and the source code for shared libraries and dynamically 143 | linked subprograms that the work is specifically designed to require, 144 | such as by intimate data communication or control flow between those 145 | subprograms and other parts of the work. 146 | 147 | The Corresponding Source need not include anything that users 148 | can regenerate automatically from other parts of the Corresponding 149 | Source. 150 | 151 | The Corresponding Source for a work in source code form is that 152 | same work. 153 | 154 | 2. Basic Permissions. 155 | 156 | All rights granted under this License are granted for the term of 157 | copyright on the Program, and are irrevocable provided the stated 158 | conditions are met. This License explicitly affirms your unlimited 159 | permission to run the unmodified Program. The output from running a 160 | covered work is covered by this License only if the output, given its 161 | content, constitutes a covered work. This License acknowledges your 162 | rights of fair use or other equivalent, as provided by copyright law. 163 | 164 | You may make, run and propagate covered works that you do not 165 | convey, without conditions so long as your license otherwise remains 166 | in force. You may convey covered works to others for the sole purpose 167 | of having them make modifications exclusively for you, or provide you 168 | with facilities for running those works, provided that you comply with 169 | the terms of this License in conveying all material for which you do 170 | not control copyright. Those thus making or running the covered works 171 | for you must do so exclusively on your behalf, under your direction 172 | and control, on terms that prohibit them from making any copies of 173 | your copyrighted material outside their relationship with you. 174 | 175 | Conveying under any other circumstances is permitted solely under 176 | the conditions stated below. Sublicensing is not allowed; section 10 177 | makes it unnecessary. 178 | 179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 180 | 181 | No covered work shall be deemed part of an effective technological 182 | measure under any applicable law fulfilling obligations under article 183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 184 | similar laws prohibiting or restricting circumvention of such 185 | measures. 186 | 187 | When you convey a covered work, you waive any legal power to forbid 188 | circumvention of technological measures to the extent such circumvention 189 | is effected by exercising rights under this License with respect to 190 | the covered work, and you disclaim any intention to limit operation or 191 | modification of the work as a means of enforcing, against the work's 192 | users, your or third parties' legal rights to forbid circumvention of 193 | technological measures. 194 | 195 | 4. Conveying Verbatim Copies. 196 | 197 | You may convey verbatim copies of the Program's source code as you 198 | receive it, in any medium, provided that you conspicuously and 199 | appropriately publish on each copy an appropriate copyright notice; 200 | keep intact all notices stating that this License and any 201 | non-permissive terms added in accord with section 7 apply to the code; 202 | keep intact all notices of the absence of any warranty; and give all 203 | recipients a copy of this License along with the Program. 204 | 205 | You may charge any price or no price for each copy that you convey, 206 | and you may offer support or warranty protection for a fee. 207 | 208 | 5. Conveying Modified Source Versions. 209 | 210 | You may convey a work based on the Program, or the modifications to 211 | produce it from the Program, in the form of source code under the 212 | terms of section 4, provided that you also meet all of these conditions: 213 | 214 | a) The work must carry prominent notices stating that you modified 215 | it, and giving a relevant date. 216 | 217 | b) The work must carry prominent notices stating that it is 218 | released under this License and any conditions added under section 219 | 7. This requirement modifies the requirement in section 4 to 220 | "keep intact all notices". 221 | 222 | c) You must license the entire work, as a whole, under this 223 | License to anyone who comes into possession of a copy. This 224 | License will therefore apply, along with any applicable section 7 225 | additional terms, to the whole of the work, and all its parts, 226 | regardless of how they are packaged. This License gives no 227 | permission to license the work in any other way, but it does not 228 | invalidate such permission if you have separately received it. 229 | 230 | d) If the work has interactive user interfaces, each must display 231 | Appropriate Legal Notices; however, if the Program has interactive 232 | interfaces that do not display Appropriate Legal Notices, your 233 | work need not make them do so. 234 | 235 | A compilation of a covered work with other separate and independent 236 | works, which are not by their nature extensions of the covered work, 237 | and which are not combined with it such as to form a larger program, 238 | in or on a volume of a storage or distribution medium, is called an 239 | "aggregate" if the compilation and its resulting copyright are not 240 | used to limit the access or legal rights of the compilation's users 241 | beyond what the individual works permit. Inclusion of a covered work 242 | in an aggregate does not cause this License to apply to the other 243 | parts of the aggregate. 244 | 245 | 6. Conveying Non-Source Forms. 246 | 247 | You may convey a covered work in object code form under the terms 248 | of sections 4 and 5, provided that you also convey the 249 | machine-readable Corresponding Source under the terms of this License, 250 | in one of these ways: 251 | 252 | a) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by the 254 | Corresponding Source fixed on a durable physical medium 255 | customarily used for software interchange. 256 | 257 | b) Convey the object code in, or embodied in, a physical product 258 | (including a physical distribution medium), accompanied by a 259 | written offer, valid for at least three years and valid for as 260 | long as you offer spare parts or customer support for that product 261 | model, to give anyone who possesses the object code either (1) a 262 | copy of the Corresponding Source for all the software in the 263 | product that is covered by this License, on a durable physical 264 | medium customarily used for software interchange, for a price no 265 | more than your reasonable cost of physically performing this 266 | conveying of source, or (2) access to copy the 267 | Corresponding Source from a network server at no charge. 268 | 269 | c) Convey individual copies of the object code with a copy of the 270 | written offer to provide the Corresponding Source. This 271 | alternative is allowed only occasionally and noncommercially, and 272 | only if you received the object code with such an offer, in accord 273 | with subsection 6b. 274 | 275 | d) Convey the object code by offering access from a designated 276 | place (gratis or for a charge), and offer equivalent access to the 277 | Corresponding Source in the same way through the same place at no 278 | further charge. You need not require recipients to copy the 279 | Corresponding Source along with the object code. If the place to 280 | copy the object code is a network server, the Corresponding Source 281 | may be on a different server (operated by you or a third party) 282 | that supports equivalent copying facilities, provided you maintain 283 | clear directions next to the object code saying where to find the 284 | Corresponding Source. Regardless of what server hosts the 285 | Corresponding Source, you remain obligated to ensure that it is 286 | available for as long as needed to satisfy these requirements. 287 | 288 | e) Convey the object code using peer-to-peer transmission, provided 289 | you inform other peers where the object code and Corresponding 290 | Source of the work are being offered to the general public at no 291 | charge under subsection 6d. 292 | 293 | A separable portion of the object code, whose source code is excluded 294 | from the Corresponding Source as a System Library, need not be 295 | included in conveying the object code work. 296 | 297 | A "User Product" is either (1) a "consumer product", which means any 298 | tangible personal property which is normally used for personal, family, 299 | or household purposes, or (2) anything designed or sold for incorporation 300 | into a dwelling. In determining whether a product is a consumer product, 301 | doubtful cases shall be resolved in favor of coverage. For a particular 302 | product received by a particular user, "normally used" refers to a 303 | typical or common use of that class of product, regardless of the status 304 | of the particular user or of the way in which the particular user 305 | actually uses, or expects or is expected to use, the product. A product 306 | is a consumer product regardless of whether the product has substantial 307 | commercial, industrial or non-consumer uses, unless such uses represent 308 | the only significant mode of use of the product. 309 | 310 | "Installation Information" for a User Product means any methods, 311 | procedures, authorization keys, or other information required to install 312 | and execute modified versions of a covered work in that User Product from 313 | a modified version of its Corresponding Source. The information must 314 | suffice to ensure that the continued functioning of the modified object 315 | code is in no case prevented or interfered with solely because 316 | modification has been made. 317 | 318 | If you convey an object code work under this section in, or with, or 319 | specifically for use in, a User Product, and the conveying occurs as 320 | part of a transaction in which the right of possession and use of the 321 | User Product is transferred to the recipient in perpetuity or for a 322 | fixed term (regardless of how the transaction is characterized), the 323 | Corresponding Source conveyed under this section must be accompanied 324 | by the Installation Information. But this requirement does not apply 325 | if neither you nor any third party retains the ability to install 326 | modified object code on the User Product (for example, the work has 327 | been installed in ROM). 328 | 329 | The requirement to provide Installation Information does not include a 330 | requirement to continue to provide support service, warranty, or updates 331 | for a work that has been modified or installed by the recipient, or for 332 | the User Product in which it has been modified or installed. Access to a 333 | network may be denied when the modification itself materially and 334 | adversely affects the operation of the network or violates the rules and 335 | protocols for communication across the network. 336 | 337 | Corresponding Source conveyed, and Installation Information provided, 338 | in accord with this section must be in a format that is publicly 339 | documented (and with an implementation available to the public in 340 | source code form), and must require no special password or key for 341 | unpacking, reading or copying. 342 | 343 | 7. Additional Terms. 344 | 345 | "Additional permissions" are terms that supplement the terms of this 346 | License by making exceptions from one or more of its conditions. 347 | Additional permissions that are applicable to the entire Program shall 348 | be treated as though they were included in this License, to the extent 349 | that they are valid under applicable law. If additional permissions 350 | apply only to part of the Program, that part may be used separately 351 | under those permissions, but the entire Program remains governed by 352 | this License without regard to the additional permissions. 353 | 354 | When you convey a copy of a covered work, you may at your option 355 | remove any additional permissions from that copy, or from any part of 356 | it. (Additional permissions may be written to require their own 357 | removal in certain cases when you modify the work.) You may place 358 | additional permissions on material, added by you to a covered work, 359 | for which you have or can give appropriate copyright permission. 360 | 361 | Notwithstanding any other provision of this License, for material you 362 | add to a covered work, you may (if authorized by the copyright holders of 363 | that material) supplement the terms of this License with terms: 364 | 365 | a) Disclaiming warranty or limiting liability differently from the 366 | terms of sections 15 and 16 of this License; or 367 | 368 | b) Requiring preservation of specified reasonable legal notices or 369 | author attributions in that material or in the Appropriate Legal 370 | Notices displayed by works containing it; or 371 | 372 | c) Prohibiting misrepresentation of the origin of that material, or 373 | requiring that modified versions of such material be marked in 374 | reasonable ways as different from the original version; or 375 | 376 | d) Limiting the use for publicity purposes of names of licensors or 377 | authors of the material; or 378 | 379 | e) Declining to grant rights under trademark law for use of some 380 | trade names, trademarks, or service marks; or 381 | 382 | f) Requiring indemnification of licensors and authors of that 383 | material by anyone who conveys the material (or modified versions of 384 | it) with contractual assumptions of liability to the recipient, for 385 | any liability that these contractual assumptions directly impose on 386 | those licensors and authors. 387 | 388 | All other non-permissive additional terms are considered "further 389 | restrictions" within the meaning of section 10. If the Program as you 390 | received it, or any part of it, contains a notice stating that it is 391 | governed by this License along with a term that is a further 392 | restriction, you may remove that term. If a license document contains 393 | a further restriction but permits relicensing or conveying under this 394 | License, you may add to a covered work material governed by the terms 395 | of that license document, provided that the further restriction does 396 | not survive such relicensing or conveying. 397 | 398 | If you add terms to a covered work in accord with this section, you 399 | must place, in the relevant source files, a statement of the 400 | additional terms that apply to those files, or a notice indicating 401 | where to find the applicable terms. 402 | 403 | Additional terms, permissive or non-permissive, may be stated in the 404 | form of a separately written license, or stated as exceptions; 405 | the above requirements apply either way. 406 | 407 | 8. Termination. 408 | 409 | You may not propagate or modify a covered work except as expressly 410 | provided under this License. Any attempt otherwise to propagate or 411 | modify it is void, and will automatically terminate your rights under 412 | this License (including any patent licenses granted under the third 413 | paragraph of section 11). 414 | 415 | However, if you cease all violation of this License, then your 416 | license from a particular copyright holder is reinstated (a) 417 | provisionally, unless and until the copyright holder explicitly and 418 | finally terminates your license, and (b) permanently, if the copyright 419 | holder fails to notify you of the violation by some reasonable means 420 | prior to 60 days after the cessation. 421 | 422 | Moreover, your license from a particular copyright holder is 423 | reinstated permanently if the copyright holder notifies you of the 424 | violation by some reasonable means, this is the first time you have 425 | received notice of violation of this License (for any work) from that 426 | copyright holder, and you cure the violation prior to 30 days after 427 | your receipt of the notice. 428 | 429 | Termination of your rights under this section does not terminate the 430 | licenses of parties who have received copies or rights from you under 431 | this License. If your rights have been terminated and not permanently 432 | reinstated, you do not qualify to receive new licenses for the same 433 | material under section 10. 434 | 435 | 9. Acceptance Not Required for Having Copies. 436 | 437 | You are not required to accept this License in order to receive or 438 | run a copy of the Program. Ancillary propagation of a covered work 439 | occurring solely as a consequence of using peer-to-peer transmission 440 | to receive a copy likewise does not require acceptance. However, 441 | nothing other than this License grants you permission to propagate or 442 | modify any covered work. These actions infringe copyright if you do 443 | not accept this License. Therefore, by modifying or propagating a 444 | covered work, you indicate your acceptance of this License to do so. 445 | 446 | 10. Automatic Licensing of Downstream Recipients. 447 | 448 | Each time you convey a covered work, the recipient automatically 449 | receives a license from the original licensors, to run, modify and 450 | propagate that work, subject to this License. You are not responsible 451 | for enforcing compliance by third parties with this License. 452 | 453 | An "entity transaction" is a transaction transferring control of an 454 | organization, or substantially all assets of one, or subdividing an 455 | organization, or merging organizations. If propagation of a covered 456 | work results from an entity transaction, each party to that 457 | transaction who receives a copy of the work also receives whatever 458 | licenses to the work the party's predecessor in interest had or could 459 | give under the previous paragraph, plus a right to possession of the 460 | Corresponding Source of the work from the predecessor in interest, if 461 | the predecessor has it or can get it with reasonable efforts. 462 | 463 | You may not impose any further restrictions on the exercise of the 464 | rights granted or affirmed under this License. For example, you may 465 | not impose a license fee, royalty, or other charge for exercise of 466 | rights granted under this License, and you may not initiate litigation 467 | (including a cross-claim or counterclaim in a lawsuit) alleging that 468 | any patent claim is infringed by making, using, selling, offering for 469 | sale, or importing the Program or any portion of it. 470 | 471 | 11. Patents. 472 | 473 | A "contributor" is a copyright holder who authorizes use under this 474 | License of the Program or a work on which the Program is based. The 475 | work thus licensed is called the contributor's "contributor version". 476 | 477 | A contributor's "essential patent claims" are all patent claims 478 | owned or controlled by the contributor, whether already acquired or 479 | hereafter acquired, that would be infringed by some manner, permitted 480 | by this License, of making, using, or selling its contributor version, 481 | but do not include claims that would be infringed only as a 482 | consequence of further modification of the contributor version. For 483 | purposes of this definition, "control" includes the right to grant 484 | patent sublicenses in a manner consistent with the requirements of 485 | this License. 486 | 487 | Each contributor grants you a non-exclusive, worldwide, royalty-free 488 | patent license under the contributor's essential patent claims, to 489 | make, use, sell, offer for sale, import and otherwise run, modify and 490 | propagate the contents of its contributor version. 491 | 492 | In the following three paragraphs, a "patent license" is any express 493 | agreement or commitment, however denominated, not to enforce a patent 494 | (such as an express permission to practice a patent or covenant not to 495 | sue for patent infringement). To "grant" such a patent license to a 496 | party means to make such an agreement or commitment not to enforce a 497 | patent against the party. 498 | 499 | If you convey a covered work, knowingly relying on a patent license, 500 | and the Corresponding Source of the work is not available for anyone 501 | to copy, free of charge and under the terms of this License, through a 502 | publicly available network server or other readily accessible means, 503 | then you must either (1) cause the Corresponding Source to be so 504 | available, or (2) arrange to deprive yourself of the benefit of the 505 | patent license for this particular work, or (3) arrange, in a manner 506 | consistent with the requirements of this License, to extend the patent 507 | license to downstream recipients. "Knowingly relying" means you have 508 | actual knowledge that, but for the patent license, your conveying the 509 | covered work in a country, or your recipient's use of the covered work 510 | in a country, would infringe one or more identifiable patents in that 511 | country that you have reason to believe are valid. 512 | 513 | If, pursuant to or in connection with a single transaction or 514 | arrangement, you convey, or propagate by procuring conveyance of, a 515 | covered work, and grant a patent license to some of the parties 516 | receiving the covered work authorizing them to use, propagate, modify 517 | or convey a specific copy of the covered work, then the patent license 518 | you grant is automatically extended to all recipients of the covered 519 | work and works based on it. 520 | 521 | A patent license is "discriminatory" if it does not include within 522 | the scope of its coverage, prohibits the exercise of, or is 523 | conditioned on the non-exercise of one or more of the rights that are 524 | specifically granted under this License. You may not convey a covered 525 | work if you are a party to an arrangement with a third party that is 526 | in the business of distributing software, under which you make payment 527 | to the third party based on the extent of your activity of conveying 528 | the work, and under which the third party grants, to any of the 529 | parties who would receive the covered work from you, a discriminatory 530 | patent license (a) in connection with copies of the covered work 531 | conveyed by you (or copies made from those copies), or (b) primarily 532 | for and in connection with specific products or compilations that 533 | contain the covered work, unless you entered into that arrangement, 534 | or that patent license was granted, prior to 28 March 2007. 535 | 536 | Nothing in this License shall be construed as excluding or limiting 537 | any implied license or other defenses to infringement that may 538 | otherwise be available to you under applicable patent law. 539 | 540 | 12. No Surrender of Others' Freedom. 541 | 542 | If conditions are imposed on you (whether by court order, agreement or 543 | otherwise) that contradict the conditions of this License, they do not 544 | excuse you from the conditions of this License. If you cannot convey a 545 | covered work so as to satisfy simultaneously your obligations under this 546 | License and any other pertinent obligations, then as a consequence you may 547 | not convey it at all. For example, if you agree to terms that obligate you 548 | to collect a royalty for further conveying from those to whom you convey 549 | the Program, the only way you could satisfy both those terms and this 550 | License would be to refrain entirely from conveying the Program. 551 | 552 | 13. Use with the GNU Affero General Public License. 553 | 554 | Notwithstanding any other provision of this License, you have 555 | permission to link or combine any covered work with a work licensed 556 | under version 3 of the GNU Affero General Public License into a single 557 | combined work, and to convey the resulting work. The terms of this 558 | License will continue to apply to the part which is the covered work, 559 | but the special requirements of the GNU Affero General Public License, 560 | section 13, concerning interaction through a network will apply to the 561 | combination as such. 562 | 563 | 14. Revised Versions of this License. 564 | 565 | The Free Software Foundation may publish revised and/or new versions of 566 | the GNU General Public License from time to time. Such new versions will 567 | be similar in spirit to the present version, but may differ in detail to 568 | address new problems or concerns. 569 | 570 | Each version is given a distinguishing version number. If the 571 | Program specifies that a certain numbered version of the GNU General 572 | Public License "or any later version" applies to it, you have the 573 | option of following the terms and conditions either of that numbered 574 | version or of any later version published by the Free Software 575 | Foundation. If the Program does not specify a version number of the 576 | GNU General Public License, you may choose any version ever published 577 | by the Free Software Foundation. 578 | 579 | If the Program specifies that a proxy can decide which future 580 | versions of the GNU General Public License can be used, that proxy's 581 | public statement of acceptance of a version permanently authorizes you 582 | to choose that version for the Program. 583 | 584 | Later license versions may give you additional or different 585 | permissions. However, no additional obligations are imposed on any 586 | author or copyright holder as a result of your choosing to follow a 587 | later version. 588 | 589 | 15. Disclaimer of Warranty. 590 | 591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 599 | 600 | 16. Limitation of Liability. 601 | 602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 610 | SUCH DAMAGES. 611 | 612 | 17. Interpretation of Sections 15 and 16. 613 | 614 | If the disclaimer of warranty and limitation of liability provided 615 | above cannot be given local legal effect according to their terms, 616 | reviewing courts shall apply local law that most closely approximates 617 | an absolute waiver of all civil liability in connection with the 618 | Program, unless a warranty or assumption of liability accompanies a 619 | copy of the Program in return for a fee. 620 | 621 | END OF TERMS AND CONDITIONS 622 | 623 | How to Apply These Terms to Your New Programs 624 | 625 | If you develop a new program, and you want it to be of the greatest 626 | possible use to the public, the best way to achieve this is to make it 627 | free software which everyone can redistribute and change under these terms. 628 | 629 | To do so, attach the following notices to the program. It is safest 630 | to attach them to the start of each source file to most effectively 631 | state the exclusion of warranty; and each file should have at least 632 | the "copyright" line and a pointer to where the full notice is found. 633 | 634 | 635 | Copyright (C) 636 | 637 | This program is free software: you can redistribute it and/or modify 638 | it under the terms of the GNU General Public License as published by 639 | the Free Software Foundation, either version 3 of the License, or 640 | (at your option) any later version. 641 | 642 | This program is distributed in the hope that it will be useful, 643 | but WITHOUT ANY WARRANTY; without even the implied warranty of 644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 645 | GNU General Public License for more details. 646 | 647 | You should have received a copy of the GNU General Public License 648 | along with this program. If not, see . 649 | 650 | Also add information on how to contact you by electronic and paper mail. 651 | 652 | If the program does terminal interaction, make it output a short 653 | notice like this when it starts in an interactive mode: 654 | 655 | Copyright (C) 656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 657 | This is free software, and you are welcome to redistribute it 658 | under certain conditions; type `show c' for details. 659 | 660 | The hypothetical commands `show w' and `show c' should show the appropriate 661 | parts of the General Public License. Of course, your program's commands 662 | might be different; for a GUI interface, you would use an "about box". 663 | 664 | You should also get your employer (if you work as a programmer) or school, 665 | if any, to sign a "copyright disclaimer" for the program, if necessary. 666 | For more information on this, and how to apply and follow the GNU GPL, see 667 | . 668 | 669 | The GNU General Public License does not permit incorporating your program 670 | into proprietary programs. If your program is a subroutine library, you 671 | may consider it more useful to permit linking proprietary applications with 672 | the library. If this is what you want to do, use the GNU Lesser General 673 | Public License instead of this License. But first, please read 674 | . 675 | -------------------------------------------------------------------------------- /tests/cf_rating_result_917.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "handle": "OO0OOO00O0OOO0O00OOO0OO", 4 | "rank": 1, 5 | "old_rating": 3199, 6 | "new_rating": 3294, 7 | "rating_change": 95 8 | }, 9 | { 10 | "handle": "FizzyDavid", 11 | "rank": 2, 12 | "old_rating": 2816, 13 | "new_rating": 2955, 14 | "rating_change": 139 15 | }, 16 | { 17 | "handle": "ainta", 18 | "rank": 3, 19 | "old_rating": 2804, 20 | "new_rating": 2920, 21 | "rating_change": 116 22 | }, 23 | { 24 | "handle": "aid", 25 | "rank": 4, 26 | "old_rating": 2796, 27 | "new_rating": 2895, 28 | "rating_change": 99 29 | }, 30 | { 31 | "handle": "Swistakk", 32 | "rank": 5, 33 | "old_rating": 2904, 34 | "new_rating": 2959, 35 | "rating_change": 55 36 | }, 37 | { 38 | "handle": "JOHNKRAM", 39 | "rank": 6, 40 | "old_rating": 2641, 41 | "new_rating": 2755, 42 | "rating_change": 114 43 | }, 44 | { 45 | "handle": "Radewoosh", 46 | "rank": 7, 47 | "old_rating": 3104, 48 | "new_rating": 3084, 49 | "rating_change": -20 50 | }, 51 | { 52 | "handle": "geniucos", 53 | "rank": 8, 54 | "old_rating": 2778, 55 | "new_rating": 2835, 56 | "rating_change": 57 57 | }, 58 | { 59 | "handle": "SkyDec", 60 | "rank": 9, 61 | "old_rating": 3016, 62 | "new_rating": 3003, 63 | "rating_change": -13 64 | }, 65 | { 66 | "handle": "shanquan2", 67 | "rank": 10, 68 | "old_rating": 2640, 69 | "new_rating": 2719, 70 | "rating_change": 79 71 | }, 72 | { 73 | "handle": "mythologicalsama", 74 | "rank": 11, 75 | "old_rating": 2383, 76 | "new_rating": 2526, 77 | "rating_change": 143 78 | }, 79 | { 80 | "handle": "RomaWhite", 81 | "rank": 12, 82 | "old_rating": 2831, 83 | "new_rating": 2847, 84 | "rating_change": 16 85 | }, 86 | { 87 | "handle": "zscoder", 88 | "rank": 13, 89 | "old_rating": 2626, 90 | "new_rating": 2691, 91 | "rating_change": 65 92 | }, 93 | { 94 | "handle": "Kostroma", 95 | "rank": 14, 96 | "old_rating": 2716, 97 | "new_rating": 2752, 98 | "rating_change": 36 99 | }, 100 | { 101 | "handle": "gtwgtw", 102 | "rank": 15, 103 | "old_rating": 2714, 104 | "new_rating": 2746, 105 | "rating_change": 32 106 | }, 107 | { 108 | "handle": "ftiasch", 109 | "rank": 16, 110 | "old_rating": 2612, 111 | "new_rating": 2666, 112 | "rating_change": 54 113 | }, 114 | { 115 | "handle": "dreamoon", 116 | "rank": 17, 117 | "old_rating": 2644, 118 | "new_rating": 2686, 119 | "rating_change": 42 120 | }, 121 | { 122 | "handle": "SanSiroWaltz", 123 | "rank": 18, 124 | "old_rating": 2790, 125 | "new_rating": 2789, 126 | "rating_change": -1 127 | }, 128 | { 129 | "handle": "ACCE12138", 130 | "rank": 19, 131 | "old_rating": 2176, 132 | "new_rating": 2338, 133 | "rating_change": 162 134 | }, 135 | { 136 | "handle": "KADR", 137 | "rank": 20, 138 | "old_rating": 2281, 139 | "new_rating": 2409, 140 | "rating_change": 128 141 | }, 142 | { 143 | "handle": "FlZZYDAVlD", 144 | "rank": 21, 145 | "old_rating": 2325, 146 | "new_rating": 2437, 147 | "rating_change": 112 148 | }, 149 | { 150 | "handle": ".o.", 151 | "rank": 22, 152 | "old_rating": 2607, 153 | "new_rating": 2640, 154 | "rating_change": 33 155 | }, 156 | { 157 | "handle": "Bredor", 158 | "rank": 23, 159 | "old_rating": 1979, 160 | "new_rating": 2192, 161 | "rating_change": 213 162 | }, 163 | { 164 | "handle": "FoolMike", 165 | "rank": 24, 166 | "old_rating": 2342, 167 | "new_rating": 2439, 168 | "rating_change": 97 169 | }, 170 | { 171 | "handle": "KrK", 172 | "rank": 25, 173 | "old_rating": 2686, 174 | "new_rating": 2689, 175 | "rating_change": 3 176 | }, 177 | { 178 | "handle": "Egor", 179 | "rank": 26, 180 | "old_rating": 2761, 181 | "new_rating": 2742, 182 | "rating_change": -19 183 | }, 184 | { 185 | "handle": "lewin", 186 | "rank": 27, 187 | "old_rating": 2466, 188 | "new_rating": 2521, 189 | "rating_change": 55 190 | }, 191 | { 192 | "handle": "lastans", 193 | "rank": 28, 194 | "old_rating": 2175, 195 | "new_rating": 2308, 196 | "rating_change": 133 197 | }, 198 | { 199 | "handle": "Chelly", 200 | "rank": 29, 201 | "old_rating": 2484, 202 | "new_rating": 2529, 203 | "rating_change": 45 204 | }, 205 | { 206 | "handle": "kriii", 207 | "rank": 30, 208 | "old_rating": 2658, 209 | "new_rating": 2656, 210 | "rating_change": -2 211 | }, 212 | { 213 | "handle": "Rafbill", 214 | "rank": 31, 215 | "old_rating": 2699, 216 | "new_rating": 2684, 217 | "rating_change": -15 218 | }, 219 | { 220 | "handle": "Inventure", 221 | "rank": 32, 222 | "old_rating": 2350, 223 | "new_rating": 2423, 224 | "rating_change": 73 225 | }, 226 | { 227 | "handle": "Gromah", 228 | "rank": 33, 229 | "old_rating": 2212, 230 | "new_rating": 2321, 231 | "rating_change": 109 232 | }, 233 | { 234 | "handle": "yeputons", 235 | "rank": 34, 236 | "old_rating": 2675, 237 | "new_rating": 2659, 238 | "rating_change": -16 239 | }, 240 | { 241 | "handle": "snuke", 242 | "rank": 35, 243 | "old_rating": 2391, 244 | "new_rating": 2447, 245 | "rating_change": 56 246 | }, 247 | { 248 | "handle": "fanache99", 249 | "rank": 37, 250 | "old_rating": 2446, 251 | "new_rating": 2483, 252 | "rating_change": 37 253 | }, 254 | { 255 | "handle": "black_horse2014", 256 | "rank": 37, 257 | "old_rating": 2436, 258 | "new_rating": 2475, 259 | "rating_change": 39 260 | }, 261 | { 262 | "handle": "Marco_L_T", 263 | "rank": 38, 264 | "old_rating": 2140, 265 | "new_rating": 2260, 266 | "rating_change": 120 267 | }, 268 | { 269 | "handle": "mareksom", 270 | "rank": 39, 271 | "old_rating": 2562, 272 | "new_rating": 2565, 273 | "rating_change": 3 274 | }, 275 | { 276 | "handle": "asi1024", 277 | "rank": 40, 278 | "old_rating": 2214, 279 | "new_rating": 2308, 280 | "rating_change": 94 281 | }, 282 | { 283 | "handle": "Will_Dearborn", 284 | "rank": 41, 285 | "old_rating": 2226, 286 | "new_rating": 2314, 287 | "rating_change": 88 288 | }, 289 | { 290 | "handle": "CommonAnts", 291 | "rank": 42, 292 | "old_rating": 2178, 293 | "new_rating": 2278, 294 | "rating_change": 100 295 | }, 296 | { 297 | "handle": "jtnydv25", 298 | "rank": 43, 299 | "old_rating": 2387, 300 | "new_rating": 2428, 301 | "rating_change": 41 302 | }, 303 | { 304 | "handle": "ksun48", 305 | "rank": 44, 306 | "old_rating": 2751, 307 | "new_rating": 2698, 308 | "rating_change": -53 309 | }, 310 | { 311 | "handle": "darnley", 312 | "rank": 45, 313 | "old_rating": 2475, 314 | "new_rating": 2490, 315 | "rating_change": 15 316 | }, 317 | { 318 | "handle": "femsub_a", 319 | "rank": 46, 320 | "old_rating": 2251, 321 | "new_rating": 2323, 322 | "rating_change": 72 323 | }, 324 | { 325 | "handle": "mmaxio", 326 | "rank": 47, 327 | "old_rating": 2653, 328 | "new_rating": 2620, 329 | "rating_change": -33 330 | }, 331 | { 332 | "handle": "dotorya", 333 | "rank": 48, 334 | "old_rating": 3236, 335 | "new_rating": 3060, 336 | "rating_change": -176 337 | }, 338 | { 339 | "handle": "khadaev", 340 | "rank": 49, 341 | "old_rating": 2845, 342 | "new_rating": 2762, 343 | "rating_change": -83 344 | }, 345 | { 346 | "handle": "MrDindows", 347 | "rank": 50, 348 | "old_rating": 2629, 349 | "new_rating": 2597, 350 | "rating_change": -32 351 | }, 352 | { 353 | "handle": "Errichto", 354 | "rank": 51, 355 | "old_rating": 2598, 356 | "new_rating": 2572, 357 | "rating_change": -26 358 | }, 359 | { 360 | "handle": "Definitely_Not_Ngkan146", 361 | "rank": 52, 362 | "old_rating": 1929, 363 | "new_rating": 2094, 364 | "rating_change": 165 365 | }, 366 | { 367 | "handle": "kmjp", 368 | "rank": 53, 369 | "old_rating": 2592, 370 | "new_rating": 2565, 371 | "rating_change": -27 372 | }, 373 | { 374 | "handle": "ErdemKirez", 375 | "rank": 54, 376 | "old_rating": 2386, 377 | "new_rating": 2410, 378 | "rating_change": 24 379 | }, 380 | { 381 | "handle": "yasugongshang", 382 | "rank": 55, 383 | "old_rating": 2105, 384 | "new_rating": 2206, 385 | "rating_change": 101 386 | }, 387 | { 388 | "handle": "Hasan0540", 389 | "rank": 56, 390 | "old_rating": 2247, 391 | "new_rating": 2305, 392 | "rating_change": 58 393 | }, 394 | { 395 | "handle": "Vercingetorix", 396 | "rank": 58, 397 | "old_rating": 2491, 398 | "new_rating": 2482, 399 | "rating_change": -9 400 | }, 401 | { 402 | "handle": "sharph", 403 | "rank": 58, 404 | "old_rating": 2262, 405 | "new_rating": 2313, 406 | "rating_change": 51 407 | }, 408 | { 409 | "handle": "Motarack", 410 | "rank": 59, 411 | "old_rating": 2113, 412 | "new_rating": 2205, 413 | "rating_change": 92 414 | }, 415 | { 416 | "handle": "Kattana", 417 | "rank": 60, 418 | "old_rating": 2267, 419 | "new_rating": 2314, 420 | "rating_change": 47 421 | }, 422 | { 423 | "handle": "chokudai", 424 | "rank": 61, 425 | "old_rating": 2336, 426 | "new_rating": 2363, 427 | "rating_change": 27 428 | }, 429 | { 430 | "handle": "gepardo", 431 | "rank": 62, 432 | "old_rating": 2344, 433 | "new_rating": 2368, 434 | "rating_change": 24 435 | }, 436 | { 437 | "handle": "praran26", 438 | "rank": 63, 439 | "old_rating": 2024, 440 | "new_rating": 2139, 441 | "rating_change": 115 442 | }, 443 | { 444 | "handle": "woqja125", 445 | "rank": 64, 446 | "old_rating": 2348, 447 | "new_rating": 2368, 448 | "rating_change": 20 449 | }, 450 | { 451 | "handle": "I_Want_Alex_R_Coleman", 452 | "rank": 65, 453 | "old_rating": 2251, 454 | "new_rating": 2296, 455 | "rating_change": 45 456 | }, 457 | { 458 | "handle": "andrey_efremov", 459 | "rank": 67, 460 | "old_rating": 2192, 461 | "new_rating": 2251, 462 | "rating_change": 59 463 | }, 464 | { 465 | "handle": "Brightness", 466 | "rank": 67, 467 | "old_rating": 2089, 468 | "new_rating": 2178, 469 | "rating_change": 89 470 | }, 471 | { 472 | "handle": "StarCuriosity", 473 | "rank": 68, 474 | "old_rating": 2220, 475 | "new_rating": 2270, 476 | "rating_change": 50 477 | }, 478 | { 479 | "handle": "logicmachine", 480 | "rank": 70, 481 | "old_rating": 2237, 482 | "new_rating": 2280, 483 | "rating_change": 43 484 | }, 485 | { 486 | "handle": "AomeII", 487 | "rank": 70, 488 | "old_rating": 2090, 489 | "new_rating": 2175, 490 | "rating_change": 85 491 | }, 492 | { 493 | "handle": "Hansuzu", 494 | "rank": 71, 495 | "old_rating": 1985, 496 | "new_rating": 2103, 497 | "rating_change": 118 498 | }, 499 | { 500 | "handle": "fetetriste", 501 | "rank": 72, 502 | "old_rating": 2176, 503 | "new_rating": 2233, 504 | "rating_change": 57 505 | }, 506 | { 507 | "handle": "EmanuelNrx", 508 | "rank": 73, 509 | "old_rating": 2067, 510 | "new_rating": 2156, 511 | "rating_change": 89 512 | }, 513 | { 514 | "handle": "djq_cpp", 515 | "rank": 75, 516 | "old_rating": 2228, 517 | "new_rating": 2268, 518 | "rating_change": 40 519 | }, 520 | { 521 | "handle": "maksay", 522 | "rank": 75, 523 | "old_rating": 2152, 524 | "new_rating": 2213, 525 | "rating_change": 61 526 | }, 527 | { 528 | "handle": "FCB1234", 529 | "rank": 76, 530 | "old_rating": 2481, 531 | "new_rating": 2454, 532 | "rating_change": -27 533 | }, 534 | { 535 | "handle": "Jatana", 536 | "rank": 77, 537 | "old_rating": 2043, 538 | "new_rating": 2135, 539 | "rating_change": 92 540 | }, 541 | { 542 | "handle": "imaxblue", 543 | "rank": 79, 544 | "old_rating": 2290, 545 | "new_rating": 2309, 546 | "rating_change": 19 547 | }, 548 | { 549 | "handle": "alexrcoleman", 550 | "rank": 79, 551 | "old_rating": 2255, 552 | "new_rating": 2283, 553 | "rating_change": 28 554 | }, 555 | { 556 | "handle": "M.Mahdi", 557 | "rank": 80, 558 | "old_rating": 2421, 559 | "new_rating": 2405, 560 | "rating_change": -16 561 | }, 562 | { 563 | "handle": "eddy1021", 564 | "rank": 82, 565 | "old_rating": 2641, 566 | "new_rating": 2569, 567 | "rating_change": -72 568 | }, 569 | { 570 | "handle": "HMAXS", 571 | "rank": 82, 572 | "old_rating": 2044, 573 | "new_rating": 2130, 574 | "rating_change": 86 575 | }, 576 | { 577 | "handle": "guille", 578 | "rank": 84, 579 | "old_rating": 2321, 580 | "new_rating": 2327, 581 | "rating_change": 6 582 | }, 583 | { 584 | "handle": "Mariusz1", 585 | "rank": 84, 586 | "old_rating": 2318, 587 | "new_rating": 2324, 588 | "rating_change": 6 589 | }, 590 | { 591 | "handle": "Adalbert", 592 | "rank": 86, 593 | "old_rating": 2184, 594 | "new_rating": 2224, 595 | "rating_change": 40 596 | }, 597 | { 598 | "handle": "Luqman", 599 | "rank": 86, 600 | "old_rating": 2057, 601 | "new_rating": 2135, 602 | "rating_change": 78 603 | }, 604 | { 605 | "handle": "sienmich", 606 | "rank": 87, 607 | "old_rating": 1996, 608 | "new_rating": 2093, 609 | "rating_change": 97 610 | }, 611 | { 612 | "handle": "osmanorhan", 613 | "rank": 88, 614 | "old_rating": 2136, 615 | "new_rating": 2188, 616 | "rating_change": 52 617 | }, 618 | { 619 | "handle": "Golovanov399", 620 | "rank": 90, 621 | "old_rating": 2636, 622 | "new_rating": 2558, 623 | "rating_change": -78 624 | }, 625 | { 626 | "handle": "AleksanderBalobanov", 627 | "rank": 90, 628 | "old_rating": 2142, 629 | "new_rating": 2191, 630 | "rating_change": 49 631 | }, 632 | { 633 | "handle": "I_love_isaf27", 634 | "rank": 91, 635 | "old_rating": 2176, 636 | "new_rating": 2214, 637 | "rating_change": 38 638 | }, 639 | { 640 | "handle": "hamlet", 641 | "rank": 92, 642 | "old_rating": 2027, 643 | "new_rating": 2109, 644 | "rating_change": 82 645 | }, 646 | { 647 | "handle": "abc473848880", 648 | "rank": 94, 649 | "old_rating": 2118, 650 | "new_rating": 2170, 651 | "rating_change": 52 652 | }, 653 | { 654 | "handle": "Sergey.Bankevich", 655 | "rank": 94, 656 | "old_rating": 2027, 657 | "new_rating": 2107, 658 | "rating_change": 80 659 | }, 660 | { 661 | "handle": "aidos", 662 | "rank": 95, 663 | "old_rating": 2342, 664 | "new_rating": 2332, 665 | "rating_change": -10 666 | }, 667 | { 668 | "handle": "scopeInfinity", 669 | "rank": 96, 670 | "old_rating": 2047, 671 | "new_rating": 2118, 672 | "rating_change": 71 673 | }, 674 | { 675 | "handle": "petrescu", 676 | "rank": 99, 677 | "old_rating": 2290, 678 | "new_rating": 2290, 679 | "rating_change": 0 680 | }, 681 | { 682 | "handle": "shadowatyy", 683 | "rank": 99, 684 | "old_rating": 2257, 685 | "new_rating": 2266, 686 | "rating_change": 9 687 | }, 688 | { 689 | "handle": "besher", 690 | "rank": 99, 691 | "old_rating": 2078, 692 | "new_rating": 2137, 693 | "rating_change": 59 694 | }, 695 | { 696 | "handle": "Nero", 697 | "rank": 100, 698 | "old_rating": 2260, 699 | "new_rating": 2267, 700 | "rating_change": 7 701 | }, 702 | { 703 | "handle": "Marcin_smu", 704 | "rank": 103, 705 | "old_rating": 2690, 706 | "new_rating": 2589, 707 | "rating_change": -101 708 | }, 709 | { 710 | "handle": "Quang", 711 | "rank": 103, 712 | "old_rating": 2284, 713 | "new_rating": 2283, 714 | "rating_change": -1 715 | }, 716 | { 717 | "handle": "busamate", 718 | "rank": 103, 719 | "old_rating": 1949, 720 | "new_rating": 2046, 721 | "rating_change": 97 722 | }, 723 | { 724 | "handle": "wrinx", 725 | "rank": 105, 726 | "old_rating": 2334, 727 | "new_rating": 2318, 728 | "rating_change": -16 729 | }, 730 | { 731 | "handle": "RamTararam", 732 | "rank": 105, 733 | "old_rating": 2219, 734 | "new_rating": 2233, 735 | "rating_change": 14 736 | }, 737 | { 738 | "handle": "HardW3ll", 739 | "rank": 106, 740 | "old_rating": 2171, 741 | "new_rating": 2197, 742 | "rating_change": 26 743 | }, 744 | { 745 | "handle": "abeker", 746 | "rank": 107, 747 | "old_rating": 2326, 748 | "new_rating": 2311, 749 | "rating_change": -15 750 | }, 751 | { 752 | "handle": "Mstdream", 753 | "rank": 108, 754 | "old_rating": 2127, 755 | "new_rating": 2164, 756 | "rating_change": 37 757 | }, 758 | { 759 | "handle": "ami", 760 | "rank": 109, 761 | "old_rating": 1927, 762 | "new_rating": 2026, 763 | "rating_change": 99 764 | }, 765 | { 766 | "handle": "akaiNeko", 767 | "rank": 110, 768 | "old_rating": 2302, 769 | "new_rating": 2291, 770 | "rating_change": -11 771 | }, 772 | { 773 | "handle": "satanic0", 774 | "rank": 112, 775 | "old_rating": 2001, 776 | "new_rating": 2073, 777 | "rating_change": 72 778 | }, 779 | { 780 | "handle": "kostka", 781 | "rank": 112, 782 | "old_rating": 1930, 783 | "new_rating": 2026, 784 | "rating_change": 96 785 | }, 786 | { 787 | "handle": "kvk1920", 788 | "rank": 113, 789 | "old_rating": 1922, 790 | "new_rating": 2020, 791 | "rating_change": 98 792 | }, 793 | { 794 | "handle": "atatomir", 795 | "rank": 114, 796 | "old_rating": 2407, 797 | "new_rating": 2367, 798 | "rating_change": -40 799 | }, 800 | { 801 | "handle": "AryanSM", 802 | "rank": 116, 803 | "old_rating": 2170, 804 | "new_rating": 2189, 805 | "rating_change": 19 806 | }, 807 | { 808 | "handle": "Rafiki53", 809 | "rank": 116, 810 | "old_rating": 2107, 811 | "new_rating": 2143, 812 | "rating_change": 36 813 | }, 814 | { 815 | "handle": "Jakube", 816 | "rank": 117, 817 | "old_rating": 2154, 818 | "new_rating": 2176, 819 | "rating_change": 22 820 | }, 821 | { 822 | "handle": "xht13127", 823 | "rank": 118, 824 | "old_rating": 2094, 825 | "new_rating": 2132, 826 | "rating_change": 38 827 | }, 828 | { 829 | "handle": "ShinriiTin", 830 | "rank": 122, 831 | "old_rating": 2187, 832 | "new_rating": 2197, 833 | "rating_change": 10 834 | }, 835 | { 836 | "handle": "lyoz", 837 | "rank": 122, 838 | "old_rating": 2031, 839 | "new_rating": 2085, 840 | "rating_change": 54 841 | }, 842 | { 843 | "handle": "Sonechko", 844 | "rank": 122, 845 | "old_rating": 1976, 846 | "new_rating": 2048, 847 | "rating_change": 72 848 | }, 849 | { 850 | "handle": "jodik", 851 | "rank": 122, 852 | "old_rating": 1910, 853 | "new_rating": 2004, 854 | "rating_change": 94 855 | }, 856 | { 857 | "handle": "khokho", 858 | "rank": 123, 859 | "old_rating": 2118, 860 | "new_rating": 2146, 861 | "rating_change": 28 862 | }, 863 | { 864 | "handle": "misztsu", 865 | "rank": 126, 866 | "old_rating": 2091, 867 | "new_rating": 2124, 868 | "rating_change": 33 869 | }, 870 | { 871 | "handle": "lgkm39", 872 | "rank": 126, 873 | "old_rating": 2017, 874 | "new_rating": 2073, 875 | "rating_change": 56 876 | }, 877 | { 878 | "handle": "SharpC", 879 | "rank": 126, 880 | "old_rating": 1955, 881 | "new_rating": 2031, 882 | "rating_change": 76 883 | }, 884 | { 885 | "handle": "TadijaSebez", 886 | "rank": 127, 887 | "old_rating": 1937, 888 | "new_rating": 2018, 889 | "rating_change": 81 890 | }, 891 | { 892 | "handle": "Hiasat", 893 | "rank": 129, 894 | "old_rating": 1949, 895 | "new_rating": 2024, 896 | "rating_change": 75 897 | }, 898 | { 899 | "handle": "ComradeMike", 900 | "rank": 129, 901 | "old_rating": 1939, 902 | "new_rating": 2018, 903 | "rating_change": 79 904 | }, 905 | { 906 | "handle": "danya.smelskiy", 907 | "rank": 130, 908 | "old_rating": 2146, 909 | "new_rating": 2161, 910 | "rating_change": 15 911 | }, 912 | { 913 | "handle": "Giove", 914 | "rank": 131, 915 | "old_rating": 2165, 916 | "new_rating": 2174, 917 | "rating_change": 9 918 | }, 919 | { 920 | "handle": "simple", 921 | "rank": 134, 922 | "old_rating": 2381, 923 | "new_rating": 2334, 924 | "rating_change": -47 925 | }, 926 | { 927 | "handle": "pmnox", 928 | "rank": 134, 929 | "old_rating": 2191, 930 | "new_rating": 2191, 931 | "rating_change": 0 932 | }, 933 | { 934 | "handle": "16silver", 935 | "rank": 134, 936 | "old_rating": 2090, 937 | "new_rating": 2118, 938 | "rating_change": 28 939 | }, 940 | { 941 | "handle": "JiK", 942 | "rank": 135, 943 | "old_rating": 2162, 944 | "new_rating": 2169, 945 | "rating_change": 7 946 | }, 947 | { 948 | "handle": "Tohsaka", 949 | "rank": 137, 950 | "old_rating": 2172, 951 | "new_rating": 2175, 952 | "rating_change": 3 953 | }, 954 | { 955 | "handle": "Ali.Kh", 956 | "rank": 137, 957 | "old_rating": 2106, 958 | "new_rating": 2127, 959 | "rating_change": 21 960 | }, 961 | { 962 | "handle": "nwi", 963 | "rank": 138, 964 | "old_rating": 2342, 965 | "new_rating": 2302, 966 | "rating_change": -40 967 | }, 968 | { 969 | "handle": "NgocHai", 970 | "rank": 140, 971 | "old_rating": 2160, 972 | "new_rating": 2164, 973 | "rating_change": 4 974 | }, 975 | { 976 | "handle": "Dani", 977 | "rank": 140, 978 | "old_rating": 1904, 979 | "new_rating": 1986, 980 | "rating_change": 82 981 | }, 982 | { 983 | "handle": "Timur_Sitdikov", 984 | "rank": 142, 985 | "old_rating": 2373, 986 | "new_rating": 2323, 987 | "rating_change": -50 988 | }, 989 | { 990 | "handle": "msaska9", 991 | "rank": 142, 992 | "old_rating": 1904, 993 | "new_rating": 1985, 994 | "rating_change": 81 995 | }, 996 | { 997 | "handle": "zhongzihao", 998 | "rank": 144, 999 | "old_rating": 2316, 1000 | "new_rating": 2279, 1001 | "rating_change": -37 1002 | }, 1003 | { 1004 | "handle": "2013300262", 1005 | "rank": 144, 1006 | "old_rating": 1988, 1007 | "new_rating": 2039, 1008 | "rating_change": 51 1009 | }, 1010 | { 1011 | "handle": "nezametdinov", 1012 | "rank": 146, 1013 | "old_rating": 2047, 1014 | "new_rating": 2079, 1015 | "rating_change": 32 1016 | }, 1017 | { 1018 | "handle": "Honour_00", 1019 | "rank": 146, 1020 | "old_rating": 1984, 1021 | "new_rating": 2035, 1022 | "rating_change": 51 1023 | }, 1024 | { 1025 | "handle": "prof.PVH", 1026 | "rank": 150, 1027 | "old_rating": 2253, 1028 | "new_rating": 2228, 1029 | "rating_change": -25 1030 | }, 1031 | { 1032 | "handle": "beet", 1033 | "rank": 150, 1034 | "old_rating": 2167, 1035 | "new_rating": 2163, 1036 | "rating_change": -4 1037 | }, 1038 | { 1039 | "handle": "Lo_R_D", 1040 | "rank": 150, 1041 | "old_rating": 2038, 1042 | "new_rating": 2070, 1043 | "rating_change": 32 1044 | }, 1045 | { 1046 | "handle": "SebinKim", 1047 | "rank": 150, 1048 | "old_rating": 2024, 1049 | "new_rating": 2060, 1050 | "rating_change": 36 1051 | }, 1052 | { 1053 | "handle": "8shubham", 1054 | "rank": 152, 1055 | "old_rating": 2004, 1056 | "new_rating": 2045, 1057 | "rating_change": 41 1058 | }, 1059 | { 1060 | "handle": "RCG", 1061 | "rank": 152, 1062 | "old_rating": 1982, 1063 | "new_rating": 2030, 1064 | "rating_change": 48 1065 | }, 1066 | { 1067 | "handle": "MPeti", 1068 | "rank": 153, 1069 | "old_rating": 2107, 1070 | "new_rating": 2117, 1071 | "rating_change": 10 1072 | }, 1073 | { 1074 | "handle": "Filyan", 1075 | "rank": 155, 1076 | "old_rating": 2069, 1077 | "new_rating": 2089, 1078 | "rating_change": 20 1079 | }, 1080 | { 1081 | "handle": "ayakut", 1082 | "rank": 155, 1083 | "old_rating": 1973, 1084 | "new_rating": 2021, 1085 | "rating_change": 48 1086 | }, 1087 | { 1088 | "handle": "taow", 1089 | "rank": 156, 1090 | "old_rating": 2060, 1091 | "new_rating": 2082, 1092 | "rating_change": 22 1093 | }, 1094 | { 1095 | "handle": "tfg", 1096 | "rank": 160, 1097 | "old_rating": 2218, 1098 | "new_rating": 2196, 1099 | "rating_change": -22 1100 | }, 1101 | { 1102 | "handle": "Tann", 1103 | "rank": 160, 1104 | "old_rating": 2049, 1105 | "new_rating": 2071, 1106 | "rating_change": 22 1107 | }, 1108 | { 1109 | "handle": "IHaveInt", 1110 | "rank": 160, 1111 | "old_rating": 2037, 1112 | "new_rating": 2063, 1113 | "rating_change": 26 1114 | }, 1115 | { 1116 | "handle": "nikabb", 1117 | "rank": 160, 1118 | "old_rating": 1993, 1119 | "new_rating": 2032, 1120 | "rating_change": 39 1121 | }, 1122 | { 1123 | "handle": "kobae964", 1124 | "rank": 161, 1125 | "old_rating": 2185, 1126 | "new_rating": 2170, 1127 | "rating_change": -15 1128 | }, 1129 | { 1130 | "handle": "123a6bcw", 1131 | "rank": 164, 1132 | "old_rating": 1962, 1133 | "new_rating": 2008, 1134 | "rating_change": 46 1135 | }, 1136 | { 1137 | "handle": "vanvector", 1138 | "rank": 164, 1139 | "old_rating": 1940, 1140 | "new_rating": 1993, 1141 | "rating_change": 53 1142 | }, 1143 | { 1144 | "handle": "fauzdar65", 1145 | "rank": 164, 1146 | "old_rating": 1911, 1147 | "new_rating": 1974, 1148 | "rating_change": 63 1149 | }, 1150 | { 1151 | "handle": "Melnyk", 1152 | "rank": 165, 1153 | "old_rating": 2210, 1154 | "new_rating": 2187, 1155 | "rating_change": -23 1156 | }, 1157 | { 1158 | "handle": "TripleM5da", 1159 | "rank": 167, 1160 | "old_rating": 2044, 1161 | "new_rating": 2063, 1162 | "rating_change": 19 1163 | }, 1164 | { 1165 | "handle": "Meowl", 1166 | "rank": 167, 1167 | "old_rating": 1914, 1168 | "new_rating": 1974, 1169 | "rating_change": 60 1170 | }, 1171 | { 1172 | "handle": "tube_light", 1173 | "rank": 168, 1174 | "old_rating": 1909, 1175 | "new_rating": 1970, 1176 | "rating_change": 61 1177 | }, 1178 | { 1179 | "handle": "Bugman", 1180 | "rank": 169, 1181 | "old_rating": 2317, 1182 | "new_rating": 2266, 1183 | "rating_change": -51 1184 | }, 1185 | { 1186 | "handle": "Damon", 1187 | "rank": 171, 1188 | "old_rating": 2254, 1189 | "new_rating": 2217, 1190 | "rating_change": -37 1191 | }, 1192 | { 1193 | "handle": "yashar_sb_sb", 1194 | "rank": 171, 1195 | "old_rating": 2162, 1196 | "new_rating": 2147, 1197 | "rating_change": -15 1198 | }, 1199 | { 1200 | "handle": "mango_lassi", 1201 | "rank": 173, 1202 | "old_rating": 2294, 1203 | "new_rating": 2246, 1204 | "rating_change": -48 1205 | }, 1206 | { 1207 | "handle": "ckodser", 1208 | "rank": 173, 1209 | "old_rating": 1975, 1210 | "new_rating": 2011, 1211 | "rating_change": 36 1212 | }, 1213 | { 1214 | "handle": "liuaohanjsj", 1215 | "rank": 174, 1216 | "old_rating": 1999, 1217 | "new_rating": 2027, 1218 | "rating_change": 28 1219 | }, 1220 | { 1221 | "handle": "Noam527", 1222 | "rank": 175, 1223 | "old_rating": 2062, 1224 | "new_rating": 2071, 1225 | "rating_change": 9 1226 | }, 1227 | { 1228 | "handle": "Farhod_Farmon", 1229 | "rank": 176, 1230 | "old_rating": 2166, 1231 | "new_rating": 2147, 1232 | "rating_change": -19 1233 | }, 1234 | { 1235 | "handle": "Melnik", 1236 | "rank": 177, 1237 | "old_rating": 2128, 1238 | "new_rating": 2119, 1239 | "rating_change": -9 1240 | }, 1241 | { 1242 | "handle": "alex_Harry", 1243 | "rank": 178, 1244 | "old_rating": 2222, 1245 | "new_rating": 2189, 1246 | "rating_change": -33 1247 | }, 1248 | { 1249 | "handle": "binsjl", 1250 | "rank": 179, 1251 | "old_rating": 1988, 1252 | "new_rating": 2016, 1253 | "rating_change": 28 1254 | }, 1255 | { 1256 | "handle": "helThazar", 1257 | "rank": 180, 1258 | "old_rating": 1981, 1259 | "new_rating": 2011, 1260 | "rating_change": 30 1261 | }, 1262 | { 1263 | "handle": "Mohammad.Sj", 1264 | "rank": 181, 1265 | "old_rating": 2137, 1266 | "new_rating": 2123, 1267 | "rating_change": -14 1268 | }, 1269 | { 1270 | "handle": "DmitryGrigorev", 1271 | "rank": 182, 1272 | "old_rating": 2282, 1273 | "new_rating": 2233, 1274 | "rating_change": -49 1275 | }, 1276 | { 1277 | "handle": "isaf27", 1278 | "rank": 184, 1279 | "old_rating": 2368, 1280 | "new_rating": 2297, 1281 | "rating_change": -71 1282 | }, 1283 | { 1284 | "handle": "ATS", 1285 | "rank": 184, 1286 | "old_rating": 2012, 1287 | "new_rating": 2030, 1288 | "rating_change": 18 1289 | }, 1290 | { 1291 | "handle": "Sunnat", 1292 | "rank": 185, 1293 | "old_rating": 2146, 1294 | "new_rating": 2128, 1295 | "rating_change": -18 1296 | }, 1297 | { 1298 | "handle": "Jeel_Vaishnav", 1299 | "rank": 188, 1300 | "old_rating": 2061, 1301 | "new_rating": 2063, 1302 | "rating_change": 2 1303 | }, 1304 | { 1305 | "handle": "PhoenixEclipse", 1306 | "rank": 188, 1307 | "old_rating": 2045, 1308 | "new_rating": 2052, 1309 | "rating_change": 7 1310 | }, 1311 | { 1312 | "handle": "neko13", 1313 | "rank": 188, 1314 | "old_rating": 1952, 1315 | "new_rating": 1986, 1316 | "rating_change": 34 1317 | }, 1318 | { 1319 | "handle": "ShavelV", 1320 | "rank": 190, 1321 | "old_rating": 2071, 1322 | "new_rating": 2069, 1323 | "rating_change": -2 1324 | }, 1325 | { 1326 | "handle": "I-Love-Islam", 1327 | "rank": 190, 1328 | "old_rating": 1930, 1329 | "new_rating": 1969, 1330 | "rating_change": 39 1331 | }, 1332 | { 1333 | "handle": "roberiosalesc", 1334 | "rank": 191, 1335 | "old_rating": 2133, 1336 | "new_rating": 2115, 1337 | "rating_change": -18 1338 | }, 1339 | { 1340 | "handle": "JKS_PL", 1341 | "rank": 192, 1342 | "old_rating": 2274, 1343 | "new_rating": 2222, 1344 | "rating_change": -52 1345 | }, 1346 | { 1347 | "handle": "rui-de", 1348 | "rank": 193, 1349 | "old_rating": 2032, 1350 | "new_rating": 2039, 1351 | "rating_change": 7 1352 | }, 1353 | { 1354 | "handle": "ei133333", 1355 | "rank": 195, 1356 | "old_rating": 2208, 1357 | "new_rating": 2170, 1358 | "rating_change": -38 1359 | }, 1360 | { 1361 | "handle": "ObiBlatKenobi", 1362 | "rank": 195, 1363 | "old_rating": 2027, 1364 | "new_rating": 2035, 1365 | "rating_change": 8 1366 | }, 1367 | { 1368 | "handle": "Ali_Pi", 1369 | "rank": 196, 1370 | "old_rating": 1935, 1371 | "new_rating": 1969, 1372 | "rating_change": 34 1373 | }, 1374 | { 1375 | "handle": "lnsuyn", 1376 | "rank": 197, 1377 | "old_rating": 1989, 1378 | "new_rating": 2006, 1379 | "rating_change": 17 1380 | }, 1381 | { 1382 | "handle": "CSTCurry", 1383 | "rank": 198, 1384 | "old_rating": 2027, 1385 | "new_rating": 2033, 1386 | "rating_change": 6 1387 | }, 1388 | { 1389 | "handle": "maxplus", 1390 | "rank": 199, 1391 | "old_rating": 2027, 1392 | "new_rating": 2032, 1393 | "rating_change": 5 1394 | }, 1395 | { 1396 | "handle": "alex9801", 1397 | "rank": 201, 1398 | "old_rating": 2318, 1399 | "new_rating": 2251, 1400 | "rating_change": -67 1401 | }, 1402 | { 1403 | "handle": "onjo0127", 1404 | "rank": 201, 1405 | "old_rating": 1955, 1406 | "new_rating": 1980, 1407 | "rating_change": 25 1408 | }, 1409 | { 1410 | "handle": "0.o.0..", 1411 | "rank": 202, 1412 | "old_rating": 2095, 1413 | "new_rating": 2081, 1414 | "rating_change": -14 1415 | }, 1416 | { 1417 | "handle": "pawelek1", 1418 | "rank": 204, 1419 | "old_rating": 2241, 1420 | "new_rating": 2191, 1421 | "rating_change": -50 1422 | }, 1423 | { 1424 | "handle": "xpchf", 1425 | "rank": 204, 1426 | "old_rating": 2033, 1427 | "new_rating": 2034, 1428 | "rating_change": 1 1429 | }, 1430 | { 1431 | "handle": "omidazadi", 1432 | "rank": 205, 1433 | "old_rating": 2005, 1434 | "new_rating": 2013, 1435 | "rating_change": 8 1436 | }, 1437 | { 1438 | "handle": "Heisenbug", 1439 | "rank": 206, 1440 | "old_rating": 1977, 1441 | "new_rating": 1992, 1442 | "rating_change": 15 1443 | }, 1444 | { 1445 | "handle": "diswizetionallities", 1446 | "rank": 207, 1447 | "old_rating": 1943, 1448 | "new_rating": 1968, 1449 | "rating_change": 25 1450 | }, 1451 | { 1452 | "handle": "CLDP", 1453 | "rank": 208, 1454 | "old_rating": 2083, 1455 | "new_rating": 2068, 1456 | "rating_change": -15 1457 | }, 1458 | { 1459 | "handle": "Ilya_MSU", 1460 | "rank": 210, 1461 | "old_rating": 2203, 1462 | "new_rating": 2159, 1463 | "rating_change": -44 1464 | }, 1465 | { 1466 | "handle": "777777777", 1467 | "rank": 210, 1468 | "old_rating": 1924, 1469 | "new_rating": 1953, 1470 | "rating_change": 29 1471 | }, 1472 | { 1473 | "handle": "tjw_girlfriend", 1474 | "rank": 212, 1475 | "old_rating": 2258, 1476 | "new_rating": 2200, 1477 | "rating_change": -58 1478 | }, 1479 | { 1480 | "handle": "wshwsh12", 1481 | "rank": 212, 1482 | "old_rating": 2151, 1483 | "new_rating": 2118, 1484 | "rating_change": -33 1485 | }, 1486 | { 1487 | "handle": "Juve45", 1488 | "rank": 213, 1489 | "old_rating": 1966, 1490 | "new_rating": 1981, 1491 | "rating_change": 15 1492 | }, 1493 | { 1494 | "handle": "swenyoo", 1495 | "rank": 214, 1496 | "old_rating": 1958, 1497 | "new_rating": 1974, 1498 | "rating_change": 16 1499 | }, 1500 | { 1501 | "handle": "zas409257934", 1502 | "rank": 215, 1503 | "old_rating": 2042, 1504 | "new_rating": 2034, 1505 | "rating_change": -8 1506 | }, 1507 | { 1508 | "handle": "Malinovsky239", 1509 | "rank": 217, 1510 | "old_rating": 2082, 1511 | "new_rating": 2063, 1512 | "rating_change": -19 1513 | }, 1514 | { 1515 | "handle": "hamayanhamayan", 1516 | "rank": 217, 1517 | "old_rating": 1998, 1518 | "new_rating": 2001, 1519 | "rating_change": 3 1520 | }, 1521 | { 1522 | "handle": "born2rule", 1523 | "rank": 218, 1524 | "old_rating": 1912, 1525 | "new_rating": 1940, 1526 | "rating_change": 28 1527 | }, 1528 | { 1529 | "handle": "pb0207", 1530 | "rank": 219, 1531 | "old_rating": 1932, 1532 | "new_rating": 1953, 1533 | "rating_change": 21 1534 | }, 1535 | { 1536 | "handle": "Hyperbolic", 1537 | "rank": 220, 1538 | "old_rating": 2018, 1539 | "new_rating": 2014, 1540 | "rating_change": -4 1541 | }, 1542 | { 1543 | "handle": "PItS", 1544 | "rank": 221, 1545 | "old_rating": 1986, 1546 | "new_rating": 1990, 1547 | "rating_change": 4 1548 | }, 1549 | { 1550 | "handle": "q707185547", 1551 | "rank": 222, 1552 | "old_rating": 2200, 1553 | "new_rating": 2151, 1554 | "rating_change": -49 1555 | }, 1556 | { 1557 | "handle": "ChickenInKitchen", 1558 | "rank": 223, 1559 | "old_rating": 2040, 1560 | "new_rating": 2029, 1561 | "rating_change": -11 1562 | }, 1563 | { 1564 | "handle": "Barbossa", 1565 | "rank": 224, 1566 | "old_rating": 1954, 1567 | "new_rating": 1966, 1568 | "rating_change": 12 1569 | }, 1570 | { 1571 | "handle": "Karasick", 1572 | "rank": 226, 1573 | "old_rating": 1916, 1574 | "new_rating": 1938, 1575 | "rating_change": 22 1576 | }, 1577 | { 1578 | "handle": "henryx", 1579 | "rank": 226, 1580 | "old_rating": 1912, 1581 | "new_rating": 1935, 1582 | "rating_change": 23 1583 | }, 1584 | { 1585 | "handle": "Markellonchik", 1586 | "rank": 227, 1587 | "old_rating": 2006, 1588 | "new_rating": 2002, 1589 | "rating_change": -4 1590 | }, 1591 | { 1592 | "handle": "architkarandikar", 1593 | "rank": 229, 1594 | "old_rating": 2077, 1595 | "new_rating": 2054, 1596 | "rating_change": -23 1597 | }, 1598 | { 1599 | "handle": "TearinFree", 1600 | "rank": 229, 1601 | "old_rating": 2071, 1602 | "new_rating": 2049, 1603 | "rating_change": -22 1604 | }, 1605 | { 1606 | "handle": "193s", 1607 | "rank": 231, 1608 | "old_rating": 2065, 1609 | "new_rating": 2044, 1610 | "rating_change": -21 1611 | }, 1612 | { 1613 | "handle": "SlavaSSU", 1614 | "rank": 231, 1615 | "old_rating": 1946, 1616 | "new_rating": 1956, 1617 | "rating_change": 10 1618 | }, 1619 | { 1620 | "handle": "mshcherba", 1621 | "rank": 232, 1622 | "old_rating": 2058, 1623 | "new_rating": 2038, 1624 | "rating_change": -20 1625 | }, 1626 | { 1627 | "handle": "LifeCracker", 1628 | "rank": 233, 1629 | "old_rating": 2052, 1630 | "new_rating": 2032, 1631 | "rating_change": -20 1632 | }, 1633 | { 1634 | "handle": "mowji", 1635 | "rank": 234, 1636 | "old_rating": 1992, 1637 | "new_rating": 1988, 1638 | "rating_change": -4 1639 | }, 1640 | { 1641 | "handle": "Anoxiacxy", 1642 | "rank": 235, 1643 | "old_rating": 1979, 1644 | "new_rating": 1978, 1645 | "rating_change": -1 1646 | }, 1647 | { 1648 | "handle": "thinfaifai", 1649 | "rank": 236, 1650 | "old_rating": 2108, 1651 | "new_rating": 2074, 1652 | "rating_change": -34 1653 | }, 1654 | { 1655 | "handle": "ANTIMIRAGE", 1656 | "rank": 237, 1657 | "old_rating": 1908, 1658 | "new_rating": 1926, 1659 | "rating_change": 18 1660 | }, 1661 | { 1662 | "handle": "sonya123", 1663 | "rank": 238, 1664 | "old_rating": 2115, 1665 | "new_rating": 2078, 1666 | "rating_change": -37 1667 | }, 1668 | { 1669 | "handle": "WreckingBall", 1670 | "rank": 239, 1671 | "old_rating": 2041, 1672 | "new_rating": 2021, 1673 | "rating_change": -20 1674 | }, 1675 | { 1676 | "handle": "sanyamg123", 1677 | "rank": 240, 1678 | "old_rating": 1949, 1679 | "new_rating": 1953, 1680 | "rating_change": 4 1681 | }, 1682 | { 1683 | "handle": "aminra", 1684 | "rank": 241, 1685 | "old_rating": 1935, 1686 | "new_rating": 1943, 1687 | "rating_change": 8 1688 | }, 1689 | { 1690 | "handle": "T1duS", 1691 | "rank": 242, 1692 | "old_rating": 2010, 1693 | "new_rating": 1997, 1694 | "rating_change": -13 1695 | }, 1696 | { 1697 | "handle": "mkisic", 1698 | "rank": 243, 1699 | "old_rating": 2063, 1700 | "new_rating": 2036, 1701 | "rating_change": -27 1702 | }, 1703 | { 1704 | "handle": "Rudy420", 1705 | "rank": 244, 1706 | "old_rating": 1980, 1707 | "new_rating": 1973, 1708 | "rating_change": -7 1709 | }, 1710 | { 1711 | "handle": "paruki", 1712 | "rank": 245, 1713 | "old_rating": 2089, 1714 | "new_rating": 2055, 1715 | "rating_change": -34 1716 | }, 1717 | { 1718 | "handle": "ooaa", 1719 | "rank": 246, 1720 | "old_rating": 2055, 1721 | "new_rating": 2029, 1722 | "rating_change": -26 1723 | }, 1724 | { 1725 | "handle": "Ivars", 1726 | "rank": 247, 1727 | "old_rating": 2083, 1728 | "new_rating": 2050, 1729 | "rating_change": -33 1730 | }, 1731 | { 1732 | "handle": "ShivRam", 1733 | "rank": 248, 1734 | "old_rating": 1959, 1735 | "new_rating": 1956, 1736 | "rating_change": -3 1737 | }, 1738 | { 1739 | "handle": "JATC", 1740 | "rank": 249, 1741 | "old_rating": 2001, 1742 | "new_rating": 1986, 1743 | "rating_change": -15 1744 | }, 1745 | { 1746 | "handle": "Na2a", 1747 | "rank": 250, 1748 | "old_rating": 2249, 1749 | "new_rating": 2177, 1750 | "rating_change": -72 1751 | }, 1752 | { 1753 | "handle": "SimB4", 1754 | "rank": 251, 1755 | "old_rating": 1968, 1756 | "new_rating": 1961, 1757 | "rating_change": -7 1758 | }, 1759 | { 1760 | "handle": "boook", 1761 | "rank": 254, 1762 | "old_rating": 2190, 1763 | "new_rating": 2129, 1764 | "rating_change": -61 1765 | }, 1766 | { 1767 | "handle": "fragusbot", 1768 | "rank": 254, 1769 | "old_rating": 2035, 1770 | "new_rating": 2010, 1771 | "rating_change": -25 1772 | }, 1773 | { 1774 | "handle": "zml", 1775 | "rank": 254, 1776 | "old_rating": 1960, 1777 | "new_rating": 1953, 1778 | "rating_change": -7 1779 | }, 1780 | { 1781 | "handle": "hm_98", 1782 | "rank": 255, 1783 | "old_rating": 1958, 1784 | "new_rating": 1951, 1785 | "rating_change": -7 1786 | }, 1787 | { 1788 | "handle": "hank55663", 1789 | "rank": 258, 1790 | "old_rating": 2127, 1791 | "new_rating": 2078, 1792 | "rating_change": -49 1793 | }, 1794 | { 1795 | "handle": "wcwswswws", 1796 | "rank": 258, 1797 | "old_rating": 1988, 1798 | "new_rating": 1972, 1799 | "rating_change": -16 1800 | }, 1801 | { 1802 | "handle": "repeating", 1803 | "rank": 258, 1804 | "old_rating": 1910, 1805 | "new_rating": 1915, 1806 | "rating_change": 5 1807 | }, 1808 | { 1809 | "handle": "Lollipop", 1810 | "rank": 260, 1811 | "old_rating": 2120, 1812 | "new_rating": 2072, 1813 | "rating_change": -48 1814 | }, 1815 | { 1816 | "handle": "Bodo", 1817 | "rank": 260, 1818 | "old_rating": 2073, 1819 | "new_rating": 2036, 1820 | "rating_change": -37 1821 | }, 1822 | { 1823 | "handle": "euler_1998", 1824 | "rank": 261, 1825 | "old_rating": 1944, 1826 | "new_rating": 1938, 1827 | "rating_change": -6 1828 | }, 1829 | { 1830 | "handle": "KARM", 1831 | "rank": 262, 1832 | "old_rating": 2011, 1833 | "new_rating": 1988, 1834 | "rating_change": -23 1835 | }, 1836 | { 1837 | "handle": "txingml", 1838 | "rank": 263, 1839 | "old_rating": 1949, 1840 | "new_rating": 1940, 1841 | "rating_change": -9 1842 | }, 1843 | { 1844 | "handle": "mishraiiit", 1845 | "rank": 264, 1846 | "old_rating": 1971, 1847 | "new_rating": 1956, 1848 | "rating_change": -15 1849 | }, 1850 | { 1851 | "handle": "Mohammad_kilani", 1852 | "rank": 265, 1853 | "old_rating": 2025, 1854 | "new_rating": 1997, 1855 | "rating_change": -28 1856 | }, 1857 | { 1858 | "handle": "HuaKeJiZhe", 1859 | "rank": 266, 1860 | "old_rating": 2021, 1861 | "new_rating": 1993, 1862 | "rating_change": -28 1863 | }, 1864 | { 1865 | "handle": "Svlad_Cjelli", 1866 | "rank": 268, 1867 | "old_rating": 2091, 1868 | "new_rating": 2046, 1869 | "rating_change": -45 1870 | }, 1871 | { 1872 | "handle": "meijun", 1873 | "rank": 268, 1874 | "old_rating": 1976, 1875 | "new_rating": 1958, 1876 | "rating_change": -18 1877 | }, 1878 | { 1879 | "handle": "N.E.R.O", 1880 | "rank": 270, 1881 | "old_rating": 2018, 1882 | "new_rating": 1989, 1883 | "rating_change": -29 1884 | }, 1885 | { 1886 | "handle": "Husayn.", 1887 | "rank": 270, 1888 | "old_rating": 1953, 1889 | "new_rating": 1940, 1890 | "rating_change": -13 1891 | }, 1892 | { 1893 | "handle": "reality420", 1894 | "rank": 271, 1895 | "old_rating": 2254, 1896 | "new_rating": 2173, 1897 | "rating_change": -81 1898 | }, 1899 | { 1900 | "handle": "okaduki1", 1901 | "rank": 272, 1902 | "old_rating": 2059, 1903 | "new_rating": 2019, 1904 | "rating_change": -40 1905 | }, 1906 | { 1907 | "handle": "vbobrov", 1908 | "rank": 273, 1909 | "old_rating": 1916, 1910 | "new_rating": 1911, 1911 | "rating_change": -5 1912 | }, 1913 | { 1914 | "handle": "yashChandnani", 1915 | "rank": 274, 1916 | "old_rating": 2057, 1917 | "new_rating": 2017, 1918 | "rating_change": -40 1919 | }, 1920 | { 1921 | "handle": "thai9cdb1", 1922 | "rank": 275, 1923 | "old_rating": 1989, 1924 | "new_rating": 1964, 1925 | "rating_change": -25 1926 | }, 1927 | { 1928 | "handle": "Nasic_number_one", 1929 | "rank": 276, 1930 | "old_rating": 2042, 1931 | "new_rating": 2004, 1932 | "rating_change": -38 1933 | }, 1934 | { 1935 | "handle": "dlhham", 1936 | "rank": 277, 1937 | "old_rating": 2100, 1938 | "new_rating": 2049, 1939 | "rating_change": -51 1940 | }, 1941 | { 1942 | "handle": "Caproner", 1943 | "rank": 278, 1944 | "old_rating": 1986, 1945 | "new_rating": 1961, 1946 | "rating_change": -25 1947 | }, 1948 | { 1949 | "handle": "Tachibana_Marika", 1950 | "rank": 279, 1951 | "old_rating": 2191, 1952 | "new_rating": 2120, 1953 | "rating_change": -71 1954 | }, 1955 | { 1956 | "handle": "XZA", 1957 | "rank": 280, 1958 | "old_rating": 1951, 1959 | "new_rating": 1933, 1960 | "rating_change": -18 1961 | }, 1962 | { 1963 | "handle": "muratakburak", 1964 | "rank": 281, 1965 | "old_rating": 2017, 1966 | "new_rating": 1983, 1967 | "rating_change": -34 1968 | }, 1969 | { 1970 | "handle": "..................", 1971 | "rank": 282, 1972 | "old_rating": 1953, 1973 | "new_rating": 1933, 1974 | "rating_change": -20 1975 | }, 1976 | { 1977 | "handle": "WildUtah", 1978 | "rank": 283, 1979 | "old_rating": 1976, 1980 | "new_rating": 1950, 1981 | "rating_change": -26 1982 | }, 1983 | { 1984 | "handle": "Saber_Excalibur", 1985 | "rank": 284, 1986 | "old_rating": 2037, 1987 | "new_rating": 1997, 1988 | "rating_change": -40 1989 | }, 1990 | { 1991 | "handle": "mraron", 1992 | "rank": 285, 1993 | "old_rating": 2074, 1994 | "new_rating": 2025, 1995 | "rating_change": -49 1996 | }, 1997 | { 1998 | "handle": "vhnvn", 1999 | "rank": 286, 2000 | "old_rating": 1913, 2001 | "new_rating": 1901, 2002 | "rating_change": -12 2003 | }, 2004 | { 2005 | "handle": "TurboSergikk", 2006 | "rank": 287, 2007 | "old_rating": 1902, 2008 | "new_rating": 1893, 2009 | "rating_change": -9 2010 | }, 2011 | { 2012 | "handle": "YerzhanU", 2013 | "rank": 288, 2014 | "old_rating": 2149, 2015 | "new_rating": 2083, 2016 | "rating_change": -66 2017 | }, 2018 | { 2019 | "handle": "alexyz", 2020 | "rank": 290, 2021 | "old_rating": 2068, 2022 | "new_rating": 2018, 2023 | "rating_change": -50 2024 | }, 2025 | { 2026 | "handle": "ConnorZhong", 2027 | "rank": 290, 2028 | "old_rating": 1991, 2029 | "new_rating": 1958, 2030 | "rating_change": -33 2031 | }, 2032 | { 2033 | "handle": "NourElRashidy", 2034 | "rank": 291, 2035 | "old_rating": 2038, 2036 | "new_rating": 1994, 2037 | "rating_change": -44 2038 | }, 2039 | { 2040 | "handle": "paulsohn", 2041 | "rank": 292, 2042 | "old_rating": 1974, 2043 | "new_rating": 1944, 2044 | "rating_change": -30 2045 | }, 2046 | { 2047 | "handle": "JustInCase", 2048 | "rank": 293, 2049 | "old_rating": 1900, 2050 | "new_rating": 1888, 2051 | "rating_change": -12 2052 | }, 2053 | { 2054 | "handle": "INVWVZ", 2055 | "rank": 294, 2056 | "old_rating": 2010, 2057 | "new_rating": 1971, 2058 | "rating_change": -39 2059 | }, 2060 | { 2061 | "handle": "iaojnh", 2062 | "rank": 295, 2063 | "old_rating": 1970, 2064 | "new_rating": 1940, 2065 | "rating_change": -30 2066 | }, 2067 | { 2068 | "handle": "SaveVMK", 2069 | "rank": 296, 2070 | "old_rating": 1923, 2071 | "new_rating": 1903, 2072 | "rating_change": -20 2073 | }, 2074 | { 2075 | "handle": "MAMBA", 2076 | "rank": 297, 2077 | "old_rating": 2018, 2078 | "new_rating": 1976, 2079 | "rating_change": -42 2080 | }, 2081 | { 2082 | "handle": "balakrishnan", 2083 | "rank": 298, 2084 | "old_rating": 1979, 2085 | "new_rating": 1945, 2086 | "rating_change": -34 2087 | }, 2088 | { 2089 | "handle": "tmwilliamlin168", 2090 | "rank": 299, 2091 | "old_rating": 2032, 2092 | "new_rating": 1986, 2093 | "rating_change": -46 2094 | }, 2095 | { 2096 | "handle": "heyshb", 2097 | "rank": 300, 2098 | "old_rating": 1953, 2099 | "new_rating": 1924, 2100 | "rating_change": -29 2101 | }, 2102 | { 2103 | "handle": "MKibera", 2104 | "rank": 301, 2105 | "old_rating": 1948, 2106 | "new_rating": 1920, 2107 | "rating_change": -28 2108 | }, 2109 | { 2110 | "handle": "FundamentalEq", 2111 | "rank": 302, 2112 | "old_rating": 1911, 2113 | "new_rating": 1891, 2114 | "rating_change": -20 2115 | }, 2116 | { 2117 | "handle": "kut_kjb1994", 2118 | "rank": 303, 2119 | "old_rating": 2008, 2120 | "new_rating": 1965, 2121 | "rating_change": -43 2122 | }, 2123 | { 2124 | "handle": "wika", 2125 | "rank": 304, 2126 | "old_rating": 1907, 2127 | "new_rating": 1887, 2128 | "rating_change": -20 2129 | }, 2130 | { 2131 | "handle": "0xA28", 2132 | "rank": 305, 2133 | "old_rating": 1996, 2134 | "new_rating": 1955, 2135 | "rating_change": -41 2136 | }, 2137 | { 2138 | "handle": "wjsoweak", 2139 | "rank": 306, 2140 | "old_rating": 1934, 2141 | "new_rating": 1906, 2142 | "rating_change": -28 2143 | }, 2144 | { 2145 | "handle": "KhaleD_", 2146 | "rank": 307, 2147 | "old_rating": 1913, 2148 | "new_rating": 1890, 2149 | "rating_change": -23 2150 | }, 2151 | { 2152 | "handle": "DmitryBelikov", 2153 | "rank": 308, 2154 | "old_rating": 2274, 2155 | "new_rating": 2176, 2156 | "rating_change": -98 2157 | }, 2158 | { 2159 | "handle": "erfan._.m", 2160 | "rank": 309, 2161 | "old_rating": 2034, 2162 | "new_rating": 1983, 2163 | "rating_change": -51 2164 | }, 2165 | { 2166 | "handle": "Numb", 2167 | "rank": 310, 2168 | "old_rating": 2009, 2169 | "new_rating": 1962, 2170 | "rating_change": -47 2171 | }, 2172 | { 2173 | "handle": "cfk", 2174 | "rank": 311, 2175 | "old_rating": 2107, 2176 | "new_rating": 2040, 2177 | "rating_change": -67 2178 | }, 2179 | { 2180 | "handle": "deva2802", 2181 | "rank": 312, 2182 | "old_rating": 2019, 2183 | "new_rating": 1969, 2184 | "rating_change": -50 2185 | }, 2186 | { 2187 | "handle": "Z38", 2188 | "rank": 315, 2189 | "old_rating": 2072, 2190 | "new_rating": 2010, 2191 | "rating_change": -62 2192 | }, 2193 | { 2194 | "handle": "codelegend", 2195 | "rank": 315, 2196 | "old_rating": 1949, 2197 | "new_rating": 1913, 2198 | "rating_change": -36 2199 | }, 2200 | { 2201 | "handle": "MiteshAgrawal", 2202 | "rank": 315, 2203 | "old_rating": 1910, 2204 | "new_rating": 1883, 2205 | "rating_change": -27 2206 | }, 2207 | { 2208 | "handle": "tlwpdus", 2209 | "rank": 316, 2210 | "old_rating": 2303, 2211 | "new_rating": 2196, 2212 | "rating_change": -107 2213 | }, 2214 | { 2215 | "handle": "Arg_007", 2216 | "rank": 317, 2217 | "old_rating": 2066, 2218 | "new_rating": 2004, 2219 | "rating_change": -62 2220 | }, 2221 | { 2222 | "handle": "akmintro", 2223 | "rank": 318, 2224 | "old_rating": 1975, 2225 | "new_rating": 1932, 2226 | "rating_change": -43 2227 | }, 2228 | { 2229 | "handle": "I_love_Maria_Ivanova", 2230 | "rank": 319, 2231 | "old_rating": 2130, 2232 | "new_rating": 2055, 2233 | "rating_change": -75 2234 | }, 2235 | { 2236 | "handle": "2014CAIS01", 2237 | "rank": 320, 2238 | "old_rating": 2011, 2239 | "new_rating": 1959, 2240 | "rating_change": -52 2241 | }, 2242 | { 2243 | "handle": "Fireworks_Z", 2244 | "rank": 322, 2245 | "old_rating": 1996, 2246 | "new_rating": 1946, 2247 | "rating_change": -50 2248 | }, 2249 | { 2250 | "handle": "Vladl1313", 2251 | "rank": 322, 2252 | "old_rating": 1946, 2253 | "new_rating": 1907, 2254 | "rating_change": -39 2255 | }, 2256 | { 2257 | "handle": "adamant", 2258 | "rank": 325, 2259 | "old_rating": 2154, 2260 | "new_rating": 2072, 2261 | "rating_change": -82 2262 | }, 2263 | { 2264 | "handle": "YaDon4ick", 2265 | "rank": 325, 2266 | "old_rating": 2080, 2267 | "new_rating": 2012, 2268 | "rating_change": -68 2269 | }, 2270 | { 2271 | "handle": "Len", 2272 | "rank": 325, 2273 | "old_rating": 2026, 2274 | "new_rating": 1969, 2275 | "rating_change": -57 2276 | }, 2277 | { 2278 | "handle": "Franklyn_W", 2279 | "rank": 327, 2280 | "old_rating": 2228, 2281 | "new_rating": 2132, 2282 | "rating_change": -96 2283 | }, 2284 | { 2285 | "handle": "Florin29", 2286 | "rank": 327, 2287 | "old_rating": 1969, 2288 | "new_rating": 1922, 2289 | "rating_change": -47 2290 | }, 2291 | { 2292 | "handle": "ZaakDov", 2293 | "rank": 328, 2294 | "old_rating": 1952, 2295 | "new_rating": 1908, 2296 | "rating_change": -44 2297 | }, 2298 | { 2299 | "handle": "VietaFan", 2300 | "rank": 331, 2301 | "old_rating": 2085, 2302 | "new_rating": 2014, 2303 | "rating_change": -71 2304 | }, 2305 | { 2306 | "handle": "P___", 2307 | "rank": 331, 2308 | "old_rating": 1962, 2309 | "new_rating": 1915, 2310 | "rating_change": -47 2311 | }, 2312 | { 2313 | "handle": "smusmu", 2314 | "rank": 331, 2315 | "old_rating": 1902, 2316 | "new_rating": 1868, 2317 | "rating_change": -34 2318 | }, 2319 | { 2320 | "handle": "Superty", 2321 | "rank": 332, 2322 | "old_rating": 2062, 2323 | "new_rating": 1995, 2324 | "rating_change": -67 2325 | }, 2326 | { 2327 | "handle": "arthurCF", 2328 | "rank": 333, 2329 | "old_rating": 1968, 2330 | "new_rating": 1918, 2331 | "rating_change": -50 2332 | }, 2333 | { 2334 | "handle": "AllCatsAreBeautiful", 2335 | "rank": 335, 2336 | "old_rating": 2314, 2337 | "new_rating": 2199, 2338 | "rating_change": -115 2339 | }, 2340 | { 2341 | "handle": "mindol", 2342 | "rank": 335, 2343 | "old_rating": 2044, 2344 | "new_rating": 1979, 2345 | "rating_change": -65 2346 | }, 2347 | { 2348 | "handle": "xolm", 2349 | "rank": 336, 2350 | "old_rating": 1958, 2351 | "new_rating": 1909, 2352 | "rating_change": -49 2353 | }, 2354 | { 2355 | "handle": "jaguar1996", 2356 | "rank": 337, 2357 | "old_rating": 1967, 2358 | "new_rating": 1915, 2359 | "rating_change": -52 2360 | }, 2361 | { 2362 | "handle": "WillyPillow", 2363 | "rank": 338, 2364 | "old_rating": 1912, 2365 | "new_rating": 1871, 2366 | "rating_change": -41 2367 | }, 2368 | { 2369 | "handle": "bazsi700", 2370 | "rank": 340, 2371 | "old_rating": 2134, 2372 | "new_rating": 2050, 2373 | "rating_change": -84 2374 | }, 2375 | { 2376 | "handle": "FallenTurret", 2377 | "rank": 340, 2378 | "old_rating": 2039, 2379 | "new_rating": 1972, 2380 | "rating_change": -67 2381 | }, 2382 | { 2383 | "handle": "pranet", 2384 | "rank": 341, 2385 | "old_rating": 2085, 2386 | "new_rating": 2010, 2387 | "rating_change": -75 2388 | }, 2389 | { 2390 | "handle": "triveni", 2391 | "rank": 344, 2392 | "old_rating": 2081, 2393 | "new_rating": 2005, 2394 | "rating_change": -76 2395 | }, 2396 | { 2397 | "handle": "osamahatem", 2398 | "rank": 344, 2399 | "old_rating": 1974, 2400 | "new_rating": 1917, 2401 | "rating_change": -57 2402 | }, 2403 | { 2404 | "handle": "reiracofage", 2405 | "rank": 344, 2406 | "old_rating": 1924, 2407 | "new_rating": 1877, 2408 | "rating_change": -47 2409 | }, 2410 | { 2411 | "handle": "Dibagger", 2412 | "rank": 345, 2413 | "old_rating": 1963, 2414 | "new_rating": 1908, 2415 | "rating_change": -55 2416 | }, 2417 | { 2418 | "handle": "HHzzkk", 2419 | "rank": 346, 2420 | "old_rating": 2215, 2421 | "new_rating": 2115, 2422 | "rating_change": -100 2423 | }, 2424 | { 2425 | "handle": "teochaban", 2426 | "rank": 348, 2427 | "old_rating": 1922, 2428 | "new_rating": 1873, 2429 | "rating_change": -49 2430 | }, 2431 | { 2432 | "handle": "solaimanope", 2433 | "rank": 348, 2434 | "old_rating": 1908, 2435 | "new_rating": 1862, 2436 | "rating_change": -46 2437 | }, 2438 | { 2439 | "handle": "Temirulan", 2440 | "rank": 352, 2441 | "old_rating": 2206, 2442 | "new_rating": 2105, 2443 | "rating_change": -101 2444 | }, 2445 | { 2446 | "handle": "FwP-IDN", 2447 | "rank": 352, 2448 | "old_rating": 2107, 2449 | "new_rating": 2023, 2450 | "rating_change": -84 2451 | }, 2452 | { 2453 | "handle": "cgspyn_868", 2454 | "rank": 352, 2455 | "old_rating": 1944, 2456 | "new_rating": 1889, 2457 | "rating_change": -55 2458 | }, 2459 | { 2460 | "handle": "vntshh", 2461 | "rank": 352, 2462 | "old_rating": 1941, 2463 | "new_rating": 1886, 2464 | "rating_change": -55 2465 | }, 2466 | { 2467 | "handle": "frankbozar", 2468 | "rank": 353, 2469 | "old_rating": 1968, 2470 | "new_rating": 1908, 2471 | "rating_change": -60 2472 | }, 2473 | { 2474 | "handle": "JeffreyHo", 2475 | "rank": 357, 2476 | "old_rating": 2169, 2477 | "new_rating": 2073, 2478 | "rating_change": -96 2479 | }, 2480 | { 2481 | "handle": "vsp4", 2482 | "rank": 357, 2483 | "old_rating": 1998, 2484 | "new_rating": 1931, 2485 | "rating_change": -67 2486 | }, 2487 | { 2488 | "handle": "mouse_wireless", 2489 | "rank": 357, 2490 | "old_rating": 1924, 2491 | "new_rating": 1870, 2492 | "rating_change": -54 2493 | }, 2494 | { 2495 | "handle": "Woreviam", 2496 | "rank": 357, 2497 | "old_rating": 1900, 2498 | "new_rating": 1850, 2499 | "rating_change": -50 2500 | }, 2501 | { 2502 | "handle": "guestcheap", 2503 | "rank": 358, 2504 | "old_rating": 2153, 2505 | "new_rating": 2059, 2506 | "rating_change": -94 2507 | }, 2508 | { 2509 | "handle": "ioimooeee", 2510 | "rank": 359, 2511 | "old_rating": 1957, 2512 | "new_rating": 1896, 2513 | "rating_change": -61 2514 | }, 2515 | { 2516 | "handle": "Batrr", 2517 | "rank": 360, 2518 | "old_rating": 1904, 2519 | "new_rating": 1852, 2520 | "rating_change": -52 2521 | }, 2522 | { 2523 | "handle": "Hoi_koro", 2524 | "rank": 361, 2525 | "old_rating": 2064, 2526 | "new_rating": 1984, 2527 | "rating_change": -80 2528 | }, 2529 | { 2530 | "handle": "Dopahkiin", 2531 | "rank": 363, 2532 | "old_rating": 2121, 2533 | "new_rating": 2031, 2534 | "rating_change": -90 2535 | }, 2536 | { 2537 | "handle": "nike_007", 2538 | "rank": 363, 2539 | "old_rating": 1939, 2540 | "new_rating": 1879, 2541 | "rating_change": -60 2542 | }, 2543 | { 2544 | "handle": "SheepRanger", 2545 | "rank": 364, 2546 | "old_rating": 1924, 2547 | "new_rating": 1866, 2548 | "rating_change": -58 2549 | }, 2550 | { 2551 | "handle": "BohdanPastuschak", 2552 | "rank": 367, 2553 | "old_rating": 1998, 2554 | "new_rating": 1926, 2555 | "rating_change": -72 2556 | }, 2557 | { 2558 | "handle": "Makcum888", 2559 | "rank": 367, 2560 | "old_rating": 1988, 2561 | "new_rating": 1917, 2562 | "rating_change": -71 2563 | }, 2564 | { 2565 | "handle": "nevgen", 2566 | "rank": 367, 2567 | "old_rating": 1971, 2568 | "new_rating": 1903, 2569 | "rating_change": -68 2570 | }, 2571 | { 2572 | "handle": "allllekssssa", 2573 | "rank": 368, 2574 | "old_rating": 2028, 2575 | "new_rating": 1950, 2576 | "rating_change": -78 2577 | }, 2578 | { 2579 | "handle": "CMaster", 2580 | "rank": 369, 2581 | "old_rating": 1994, 2582 | "new_rating": 1921, 2583 | "rating_change": -73 2584 | }, 2585 | { 2586 | "handle": "nigus", 2587 | "rank": 370, 2588 | "old_rating": 2111, 2589 | "new_rating": 2020, 2590 | "rating_change": -91 2591 | }, 2592 | { 2593 | "handle": "cjoa", 2594 | "rank": 371, 2595 | "old_rating": 1930, 2596 | "new_rating": 1867, 2597 | "rating_change": -63 2598 | }, 2599 | { 2600 | "handle": "mipt.vi002", 2601 | "rank": 372, 2602 | "old_rating": 1990, 2603 | "new_rating": 1916, 2604 | "rating_change": -74 2605 | }, 2606 | { 2607 | "handle": "sggutier", 2608 | "rank": 373, 2609 | "old_rating": 1930, 2610 | "new_rating": 1865, 2611 | "rating_change": -65 2612 | }, 2613 | { 2614 | "handle": "ATofighi", 2615 | "rank": 374, 2616 | "old_rating": 1942, 2617 | "new_rating": 1875, 2618 | "rating_change": -67 2619 | }, 2620 | { 2621 | "handle": "leedsjays", 2622 | "rank": 375, 2623 | "old_rating": 1915, 2624 | "new_rating": 1852, 2625 | "rating_change": -63 2626 | }, 2627 | { 2628 | "handle": "Pavs", 2629 | "rank": 376, 2630 | "old_rating": 1990, 2631 | "new_rating": 1914, 2632 | "rating_change": -76 2633 | }, 2634 | { 2635 | "handle": "kr_abhinav", 2636 | "rank": 377, 2637 | "old_rating": 2067, 2638 | "new_rating": 1979, 2639 | "rating_change": -88 2640 | }, 2641 | { 2642 | "handle": "TaTaPiH", 2643 | "rank": 378, 2644 | "old_rating": 1933, 2645 | "new_rating": 1865, 2646 | "rating_change": -68 2647 | }, 2648 | { 2649 | "handle": "ajinkya1p3", 2650 | "rank": 379, 2651 | "old_rating": 2032, 2652 | "new_rating": 1949, 2653 | "rating_change": -83 2654 | }, 2655 | { 2656 | "handle": "kzyKT", 2657 | "rank": 380, 2658 | "old_rating": 1934, 2659 | "new_rating": 1865, 2660 | "rating_change": -69 2661 | }, 2662 | { 2663 | "handle": "RUSH_D_CAT", 2664 | "rank": 381, 2665 | "old_rating": 1924, 2666 | "new_rating": 1856, 2667 | "rating_change": -68 2668 | }, 2669 | { 2670 | "handle": "Hammaspeikko", 2671 | "rank": 382, 2672 | "old_rating": 1909, 2673 | "new_rating": 1842, 2674 | "rating_change": -67 2675 | }, 2676 | { 2677 | "handle": "J.Lili", 2678 | "rank": 383, 2679 | "old_rating": 1982, 2680 | "new_rating": 1904, 2681 | "rating_change": -78 2682 | }, 2683 | { 2684 | "handle": "MegaBidoof", 2685 | "rank": 384, 2686 | "old_rating": 1979, 2687 | "new_rating": 1901, 2688 | "rating_change": -78 2689 | }, 2690 | { 2691 | "handle": "Gold_Three_Fat", 2692 | "rank": 385, 2693 | "old_rating": 1974, 2694 | "new_rating": 1896, 2695 | "rating_change": -78 2696 | }, 2697 | { 2698 | "handle": "MysteryGuy", 2699 | "rank": 386, 2700 | "old_rating": 1924, 2701 | "new_rating": 1852, 2702 | "rating_change": -72 2703 | }, 2704 | { 2705 | "handle": "denis2111", 2706 | "rank": 387, 2707 | "old_rating": 1984, 2708 | "new_rating": 1904, 2709 | "rating_change": -80 2710 | }, 2711 | { 2712 | "handle": "_Dragon_", 2713 | "rank": 388, 2714 | "old_rating": 1986, 2715 | "new_rating": 1905, 2716 | "rating_change": -81 2717 | }, 2718 | { 2719 | "handle": "tinca_matei", 2720 | "rank": 389, 2721 | "old_rating": 1965, 2722 | "new_rating": 1886, 2723 | "rating_change": -79 2724 | }, 2725 | { 2726 | "handle": "BrainDead", 2727 | "rank": 390, 2728 | "old_rating": 1951, 2729 | "new_rating": 1873, 2730 | "rating_change": -78 2731 | }, 2732 | { 2733 | "handle": "caa_tomsk", 2734 | "rank": 391, 2735 | "old_rating": 2008, 2736 | "new_rating": 1922, 2737 | "rating_change": -86 2738 | }, 2739 | { 2740 | "handle": "DNA", 2741 | "rank": 392, 2742 | "old_rating": 1947, 2743 | "new_rating": 1869, 2744 | "rating_change": -78 2745 | }, 2746 | { 2747 | "handle": "meooow", 2748 | "rank": 393, 2749 | "old_rating": 2079, 2750 | "new_rating": 1983, 2751 | "rating_change": -96 2752 | }, 2753 | { 2754 | "handle": "WA_TLE", 2755 | "rank": 394, 2756 | "old_rating": 2176, 2757 | "new_rating": 2066, 2758 | "rating_change": -110 2759 | }, 2760 | { 2761 | "handle": "Safayat", 2762 | "rank": 395, 2763 | "old_rating": 1923, 2764 | "new_rating": 1846, 2765 | "rating_change": -77 2766 | }, 2767 | { 2768 | "handle": "nnandi", 2769 | "rank": 396, 2770 | "old_rating": 1962, 2771 | "new_rating": 1880, 2772 | "rating_change": -82 2773 | }, 2774 | { 2775 | "handle": "dreamplay", 2776 | "rank": 397, 2777 | "old_rating": 1969, 2778 | "new_rating": 1885, 2779 | "rating_change": -84 2780 | }, 2781 | { 2782 | "handle": "Akinorew", 2783 | "rank": 398, 2784 | "old_rating": 1969, 2785 | "new_rating": 1885, 2786 | "rating_change": -84 2787 | }, 2788 | { 2789 | "handle": "iwashi31", 2790 | "rank": 399, 2791 | "old_rating": 1934, 2792 | "new_rating": 1853, 2793 | "rating_change": -81 2794 | }, 2795 | { 2796 | "handle": "noelnadal", 2797 | "rank": 401, 2798 | "old_rating": 2023, 2799 | "new_rating": 1931, 2800 | "rating_change": -92 2801 | }, 2802 | { 2803 | "handle": "JasonBaby", 2804 | "rank": 401, 2805 | "old_rating": 1923, 2806 | "new_rating": 1842, 2807 | "rating_change": -81 2808 | }, 2809 | { 2810 | "handle": "grumpy_gordon", 2811 | "rank": 423, 2812 | "old_rating": 2357, 2813 | "new_rating": 2210, 2814 | "rating_change": -147 2815 | }, 2816 | { 2817 | "handle": "kzoacn", 2818 | "rank": 423, 2819 | "old_rating": 2170, 2820 | "new_rating": 2051, 2821 | "rating_change": -119 2822 | }, 2823 | { 2824 | "handle": "super_azbuka", 2825 | "rank": 423, 2826 | "old_rating": 2092, 2827 | "new_rating": 1982, 2828 | "rating_change": -110 2829 | }, 2830 | { 2831 | "handle": "fudail225", 2832 | "rank": 423, 2833 | "old_rating": 2077, 2834 | "new_rating": 1969, 2835 | "rating_change": -108 2836 | }, 2837 | { 2838 | "handle": "NEU20133823", 2839 | "rank": 423, 2840 | "old_rating": 2052, 2841 | "new_rating": 1946, 2842 | "rating_change": -106 2843 | }, 2844 | { 2845 | "handle": "mathmaniac", 2846 | "rank": 423, 2847 | "old_rating": 2039, 2848 | "new_rating": 1934, 2849 | "rating_change": -105 2850 | }, 2851 | { 2852 | "handle": "mahbubcseju", 2853 | "rank": 423, 2854 | "old_rating": 2021, 2855 | "new_rating": 1918, 2856 | "rating_change": -103 2857 | }, 2858 | { 2859 | "handle": "King_George", 2860 | "rank": 423, 2861 | "old_rating": 2008, 2862 | "new_rating": 1906, 2863 | "rating_change": -102 2864 | }, 2865 | { 2866 | "handle": "RockyB", 2867 | "rank": 423, 2868 | "old_rating": 1987, 2869 | "new_rating": 1887, 2870 | "rating_change": -100 2871 | }, 2872 | { 2873 | "handle": "sluki", 2874 | "rank": 423, 2875 | "old_rating": 1981, 2876 | "new_rating": 1881, 2877 | "rating_change": -100 2878 | }, 2879 | { 2880 | "handle": "andrew", 2881 | "rank": 423, 2882 | "old_rating": 1977, 2883 | "new_rating": 1878, 2884 | "rating_change": -99 2885 | }, 2886 | { 2887 | "handle": "HDevillez", 2888 | "rank": 423, 2889 | "old_rating": 1968, 2890 | "new_rating": 1870, 2891 | "rating_change": -98 2892 | }, 2893 | { 2894 | "handle": "Zymphony77", 2895 | "rank": 423, 2896 | "old_rating": 1957, 2897 | "new_rating": 1859, 2898 | "rating_change": -98 2899 | }, 2900 | { 2901 | "handle": "wcy1122", 2902 | "rank": 423, 2903 | "old_rating": 1952, 2904 | "new_rating": 1855, 2905 | "rating_change": -97 2906 | }, 2907 | { 2908 | "handle": "LazyCharlie", 2909 | "rank": 423, 2910 | "old_rating": 1942, 2911 | "new_rating": 1845, 2912 | "rating_change": -97 2913 | }, 2914 | { 2915 | "handle": "Dashk0", 2916 | "rank": 423, 2917 | "old_rating": 1937, 2918 | "new_rating": 1841, 2919 | "rating_change": -96 2920 | }, 2921 | { 2922 | "handle": "lx_ambulance", 2923 | "rank": 423, 2924 | "old_rating": 1934, 2925 | "new_rating": 1838, 2926 | "rating_change": -96 2927 | }, 2928 | { 2929 | "handle": "raja1999", 2930 | "rank": 423, 2931 | "old_rating": 1925, 2932 | "new_rating": 1830, 2933 | "rating_change": -95 2934 | }, 2935 | { 2936 | "handle": "Mahan_sh", 2937 | "rank": 423, 2938 | "old_rating": 1916, 2939 | "new_rating": 1821, 2940 | "rating_change": -95 2941 | }, 2942 | { 2943 | "handle": "sydlcs", 2944 | "rank": 423, 2945 | "old_rating": 1915, 2946 | "new_rating": 1820, 2947 | "rating_change": -95 2948 | }, 2949 | { 2950 | "handle": "Elibay", 2951 | "rank": 423, 2952 | "old_rating": 1908, 2953 | "new_rating": 1814, 2954 | "rating_change": -94 2955 | }, 2956 | { 2957 | "handle": "dastan", 2958 | "rank": 423, 2959 | "old_rating": 1903, 2960 | "new_rating": 1809, 2961 | "rating_change": -94 2962 | } 2963 | ] --------------------------------------------------------------------------------