Spaces:
Sleeping
Sleeping
Commit
Β·
79c7f0b
1
Parent(s):
e0872fc
enhance
Browse files- app.py +13 -74
- leaders/users.json +69 -69
app.py
CHANGED
|
@@ -211,10 +211,11 @@ def get_user_total_points(user_name):
|
|
| 211 |
return users.get(user_name, {}).get('points')
|
| 212 |
|
| 213 |
|
| 214 |
-
def
|
| 215 |
total_points = get_user_total_points(user_name)
|
| 216 |
-
|
| 217 |
-
|
|
|
|
| 218 |
|
| 219 |
|
| 220 |
def load_users(USERS_JSON):
|
|
@@ -236,10 +237,10 @@ def user_selection_and_prediction():
|
|
| 236 |
users = list(load_data(USERS_JSON))
|
| 237 |
user_name = st.selectbox("Select User", ["Select a user..."] + users)
|
| 238 |
|
| 239 |
-
max_bid_points = None
|
| 240 |
if user_name != "Select a user...":
|
| 241 |
-
max_bid_points =
|
| 242 |
-
st.write(f"
|
| 243 |
|
| 244 |
matches = get_today_matches()
|
| 245 |
if matches:
|
|
@@ -255,7 +256,7 @@ def user_selection_and_prediction():
|
|
| 255 |
players = player_list[predicted_winner]
|
| 256 |
predicted_motm = st.selectbox("Predicted Man of the Match", players)
|
| 257 |
|
| 258 |
-
bid_points = st.number_input("Bid Points", min_value=
|
| 259 |
|
| 260 |
if st.button("Submit Prediction"):
|
| 261 |
submit_prediction(user_name, match_id, predicted_winner, predicted_motm, bid_points, max_bid_points)
|
|
@@ -376,10 +377,10 @@ user_guide_content = """
|
|
| 376 |
- β
**Correct Prediction**: You earn **an additional 500 points**.
|
| 377 |
- β **Incorrect Prediction**: No penalty.
|
| 378 |
- **No Prediction Submitted**:
|
| 379 |
-
- β **You lose
|
| 380 |
|
| 381 |
#### Bid Point Constraints
|
| 382 |
-
- You cannot bid more than
|
| 383 |
- Bid points will be doubled if your prediction is correct, and deducted if incorrect.
|
| 384 |
|
| 385 |
#### Rules for Submission
|
|
@@ -428,69 +429,6 @@ def fetch_latest_predictions(match_id):
|
|
| 428 |
else:
|
| 429 |
return pd.DataFrame()
|
| 430 |
|
| 431 |
-
|
| 432 |
-
def redistribute_lost_points(match_id):
|
| 433 |
-
predictions = fetch_latest_predictions(match_id)
|
| 434 |
-
users = load_dataset("Jay-Rajput/DIS_IPL_Leads", split="train")
|
| 435 |
-
users_df = pd.DataFrame(users)
|
| 436 |
-
|
| 437 |
-
# Build current leaderboard (after score updates)
|
| 438 |
-
leaderboard = []
|
| 439 |
-
for user_name in users_df.columns:
|
| 440 |
-
points = users_df[user_name][0]['points']
|
| 441 |
-
leaderboard.append((user_name, points))
|
| 442 |
-
|
| 443 |
-
leaderboard.sort(key=lambda x: x[1], reverse=True)
|
| 444 |
-
|
| 445 |
-
top_5 = leaderboard[:5]
|
| 446 |
-
others = leaderboard[5:]
|
| 447 |
-
|
| 448 |
-
# Fetch match outcome
|
| 449 |
-
outcomes_df = load_dataset("Jay-Rajput/DIS_IPL_Outcomes", split="train").to_pandas()
|
| 450 |
-
match_row = outcomes_df[outcomes_df['match_id'] == match_id].iloc[0]
|
| 451 |
-
winning_team = match_row['winning_team']
|
| 452 |
-
|
| 453 |
-
# Calculate lost points from top 5 users who predicted incorrectly
|
| 454 |
-
total_lost_points = 0
|
| 455 |
-
lost_points_per_user = {}
|
| 456 |
-
|
| 457 |
-
for user_name, _ in top_5:
|
| 458 |
-
if user_name in predictions['user_name'].values:
|
| 459 |
-
pred = predictions[predictions['user_name'] == user_name].iloc[0]
|
| 460 |
-
if pred['predicted_winner'] != winning_team:
|
| 461 |
-
lost_points = 200 + pred['bid_points']
|
| 462 |
-
total_lost_points += lost_points
|
| 463 |
-
lost_points_per_user[user_name] = lost_points
|
| 464 |
-
|
| 465 |
-
if total_lost_points == 0 or not others:
|
| 466 |
-
return # Nothing to redistribute
|
| 467 |
-
|
| 468 |
-
# Total points of eligible users (position 6 to last)
|
| 469 |
-
total_eligible_points = sum([points for (_, points) in others])
|
| 470 |
-
if total_eligible_points == 0:
|
| 471 |
-
return
|
| 472 |
-
|
| 473 |
-
# Distribute lost points proportionally
|
| 474 |
-
for user_name, user_points in others:
|
| 475 |
-
share_ratio = user_points / total_eligible_points
|
| 476 |
-
bonus = int(total_lost_points * share_ratio)
|
| 477 |
-
|
| 478 |
-
# Update bonus in leads
|
| 479 |
-
users_df[user_name][0]['points'] += bonus
|
| 480 |
-
users[user_name][0]['points'] = users_df[user_name][0]['points']
|
| 481 |
-
|
| 482 |
-
# Track redistributed bonus (initialize or accumulate)
|
| 483 |
-
prev_bonus_df = users_df[user_name][0].get("redistributed_bonus", 0)
|
| 484 |
-
prev_bonus_dict = users[user_name][0].get("redistributed_bonus", 0)
|
| 485 |
-
users_df[user_name][0]["redistributed_bonus"] = prev_bonus_df + bonus
|
| 486 |
-
users[user_name][0]["redistributed_bonus"] = prev_bonus_dict + bonus
|
| 487 |
-
|
| 488 |
-
# Push updated dataset
|
| 489 |
-
users.to_json(USERS_JSON)
|
| 490 |
-
updated_dataset = Dataset.from_pandas(users_df)
|
| 491 |
-
updated_dataset.push_to_hub("Jay-Rajput/DIS_IPL_Leads", split="train")
|
| 492 |
-
|
| 493 |
-
|
| 494 |
def update_leaderboard_and_outcomes(match_id, winning_team, man_of_the_match, outcome_only=False):
|
| 495 |
outcomes = load_dataset("Jay-Rajput/DIS_IPL_Outcomes", split="train")
|
| 496 |
outcomes_df = pd.DataFrame(outcomes)
|
|
@@ -545,10 +483,11 @@ def update_leaderboard_and_outcomes(match_id, winning_team, man_of_the_match, ou
|
|
| 545 |
if user_name in top3_usernames:
|
| 546 |
lost_points_by_top3 += (200 + bid_points)
|
| 547 |
else:
|
| 548 |
-
|
|
|
|
| 549 |
result_indicator = "βͺ"
|
| 550 |
if user_name in top3_usernames:
|
| 551 |
-
lost_points_by_top3 +=
|
| 552 |
|
| 553 |
user_points = max(user_points, 0)
|
| 554 |
user_outcomes[user_name] = {
|
|
|
|
| 211 |
return users.get(user_name, {}).get('points')
|
| 212 |
|
| 213 |
|
| 214 |
+
def calculate_min_max_bid_points(user_name):
|
| 215 |
total_points = get_user_total_points(user_name)
|
| 216 |
+
min_bid_points = int(total_points * 0.10) # 10% of total points
|
| 217 |
+
max_bid_points = int(total_points * 0.50) # 50% of total points
|
| 218 |
+
return min_bid_points, max_bid_points
|
| 219 |
|
| 220 |
|
| 221 |
def load_users(USERS_JSON):
|
|
|
|
| 237 |
users = list(load_data(USERS_JSON))
|
| 238 |
user_name = st.selectbox("Select User", ["Select a user..."] + users)
|
| 239 |
|
| 240 |
+
min_bid_points, max_bid_points = None, None
|
| 241 |
if user_name != "Select a user...":
|
| 242 |
+
min_bid_points, max_bid_points = calculate_min_max_bid_points(user_name)
|
| 243 |
+
st.write(f"Bid points range you can submit: {min_bid_points} to {max_bid_points}")
|
| 244 |
|
| 245 |
matches = get_today_matches()
|
| 246 |
if matches:
|
|
|
|
| 256 |
players = player_list[predicted_winner]
|
| 257 |
predicted_motm = st.selectbox("Predicted Man of the Match", players)
|
| 258 |
|
| 259 |
+
bid_points = st.number_input("Bid Points", min_value=min_bid_points, value=100, format="%d")
|
| 260 |
|
| 261 |
if st.button("Submit Prediction"):
|
| 262 |
submit_prediction(user_name, match_id, predicted_winner, predicted_motm, bid_points, max_bid_points)
|
|
|
|
| 377 |
- β
**Correct Prediction**: You earn **an additional 500 points**.
|
| 378 |
- β **Incorrect Prediction**: No penalty.
|
| 379 |
- **No Prediction Submitted**:
|
| 380 |
+
- β **You lose 10% of your total points** automatically for not submitting a prediction.
|
| 381 |
|
| 382 |
#### Bid Point Constraints
|
| 383 |
+
- You cannot bid less then 10% and more than 50% of your current total points.
|
| 384 |
- Bid points will be doubled if your prediction is correct, and deducted if incorrect.
|
| 385 |
|
| 386 |
#### Rules for Submission
|
|
|
|
| 429 |
else:
|
| 430 |
return pd.DataFrame()
|
| 431 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 432 |
def update_leaderboard_and_outcomes(match_id, winning_team, man_of_the_match, outcome_only=False):
|
| 433 |
outcomes = load_dataset("Jay-Rajput/DIS_IPL_Outcomes", split="train")
|
| 434 |
outcomes_df = pd.DataFrame(outcomes)
|
|
|
|
| 483 |
if user_name in top3_usernames:
|
| 484 |
lost_points_by_top3 += (200 + bid_points)
|
| 485 |
else:
|
| 486 |
+
penalty = int(0.10 * user_points)
|
| 487 |
+
user_points -= penalty
|
| 488 |
result_indicator = "βͺ"
|
| 489 |
if user_name in top3_usernames:
|
| 490 |
+
lost_points_by_top3 += penalty
|
| 491 |
|
| 492 |
user_points = max(user_points, 0)
|
| 493 |
user_outcomes[user_name] = {
|
leaders/users.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
| 1 |
{
|
| 2 |
"Arpit": {
|
| 3 |
"last_5_results": [
|
|
|
|
| 4 |
"π’",
|
| 5 |
"π’",
|
| 6 |
"π΄",
|
| 7 |
-
"βͺ"
|
| 8 |
-
"π΄"
|
| 9 |
],
|
| 10 |
-
"points":
|
| 11 |
-
"redistributed_bonus":
|
| 12 |
"wildcard": [
|
| 13 |
0,
|
| 14 |
0,
|
|
@@ -17,14 +17,14 @@
|
|
| 17 |
},
|
| 18 |
"Ganesh": {
|
| 19 |
"last_5_results": [
|
|
|
|
| 20 |
"βͺ",
|
| 21 |
"π’",
|
| 22 |
"π΄",
|
| 23 |
-
"π’"
|
| 24 |
-
"βͺ"
|
| 25 |
],
|
| 26 |
-
"points":
|
| 27 |
-
"redistributed_bonus":
|
| 28 |
"wildcard": [
|
| 29 |
0,
|
| 30 |
0,
|
|
@@ -33,14 +33,14 @@
|
|
| 33 |
},
|
| 34 |
"Haaris": {
|
| 35 |
"last_5_results": [
|
|
|
|
| 36 |
"π’",
|
| 37 |
"π΄",
|
| 38 |
"π΄",
|
| 39 |
-
"βͺ"
|
| 40 |
-
"π΄"
|
| 41 |
],
|
| 42 |
-
"points":
|
| 43 |
-
"redistributed_bonus":
|
| 44 |
"wildcard": [
|
| 45 |
0,
|
| 46 |
0,
|
|
@@ -51,12 +51,12 @@
|
|
| 51 |
"last_5_results": [
|
| 52 |
"π’",
|
| 53 |
"π’",
|
| 54 |
-
"π΄",
|
| 55 |
"π’",
|
| 56 |
-
"π΄"
|
|
|
|
| 57 |
],
|
| 58 |
-
"points":
|
| 59 |
-
"redistributed_bonus":
|
| 60 |
"wildcard": [
|
| 61 |
0,
|
| 62 |
0,
|
|
@@ -65,14 +65,14 @@
|
|
| 65 |
},
|
| 66 |
"Kishore": {
|
| 67 |
"last_5_results": [
|
|
|
|
| 68 |
"π΄",
|
| 69 |
"π’",
|
| 70 |
"βͺ",
|
| 71 |
-
"π΄",
|
| 72 |
"π΄"
|
| 73 |
],
|
| 74 |
-
"points":
|
| 75 |
-
"redistributed_bonus":
|
| 76 |
"wildcard": [
|
| 77 |
0,
|
| 78 |
0,
|
|
@@ -82,13 +82,13 @@
|
|
| 82 |
"Megha": {
|
| 83 |
"last_5_results": [
|
| 84 |
"π΄",
|
| 85 |
-
"π’",
|
| 86 |
"π΄",
|
|
|
|
| 87 |
"π΄",
|
| 88 |
-
"
|
| 89 |
],
|
| 90 |
-
"points":
|
| 91 |
-
"redistributed_bonus":
|
| 92 |
"wildcard": [
|
| 93 |
0,
|
| 94 |
0,
|
|
@@ -97,14 +97,14 @@
|
|
| 97 |
},
|
| 98 |
"Naveein": {
|
| 99 |
"last_5_results": [
|
|
|
|
| 100 |
"βͺ",
|
| 101 |
"π’",
|
| 102 |
"βͺ",
|
| 103 |
-
"π’"
|
| 104 |
-
"π΄"
|
| 105 |
],
|
| 106 |
-
"points":
|
| 107 |
-
"redistributed_bonus":
|
| 108 |
"wildcard": [
|
| 109 |
0,
|
| 110 |
0,
|
|
@@ -119,8 +119,8 @@
|
|
| 119 |
"βͺ",
|
| 120 |
"βͺ"
|
| 121 |
],
|
| 122 |
-
"points":
|
| 123 |
-
"redistributed_bonus":
|
| 124 |
"wildcard": [
|
| 125 |
0,
|
| 126 |
0,
|
|
@@ -129,14 +129,14 @@
|
|
| 129 |
},
|
| 130 |
"Praveen": {
|
| 131 |
"last_5_results": [
|
|
|
|
| 132 |
"π’",
|
| 133 |
"π΄",
|
| 134 |
"βͺ",
|
| 135 |
-
"βͺ",
|
| 136 |
"βͺ"
|
| 137 |
],
|
| 138 |
-
"points":
|
| 139 |
-
"redistributed_bonus":
|
| 140 |
"wildcard": [
|
| 141 |
0,
|
| 142 |
0,
|
|
@@ -146,13 +146,13 @@
|
|
| 146 |
"Rakesh": {
|
| 147 |
"last_5_results": [
|
| 148 |
"π΄",
|
| 149 |
-
"π’",
|
| 150 |
"π΄",
|
|
|
|
| 151 |
"π΄",
|
| 152 |
"π΄"
|
| 153 |
],
|
| 154 |
-
"points":
|
| 155 |
-
"redistributed_bonus":
|
| 156 |
"wildcard": [
|
| 157 |
0,
|
| 158 |
0,
|
|
@@ -164,10 +164,10 @@
|
|
| 164 |
"π’",
|
| 165 |
"π’",
|
| 166 |
"π’",
|
| 167 |
-
"
|
| 168 |
-
"
|
| 169 |
],
|
| 170 |
-
"points":
|
| 171 |
"redistributed_bonus": 0,
|
| 172 |
"wildcard": [
|
| 173 |
0,
|
|
@@ -177,13 +177,13 @@
|
|
| 177 |
},
|
| 178 |
"Sunil": {
|
| 179 |
"last_5_results": [
|
|
|
|
| 180 |
"π’",
|
| 181 |
"π’",
|
| 182 |
"π’",
|
| 183 |
-
"π’"
|
| 184 |
-
"βͺ"
|
| 185 |
],
|
| 186 |
-
"points":
|
| 187 |
"redistributed_bonus": 0,
|
| 188 |
"wildcard": [
|
| 189 |
0,
|
|
@@ -193,14 +193,14 @@
|
|
| 193 |
},
|
| 194 |
"Vaibhav": {
|
| 195 |
"last_5_results": [
|
| 196 |
-
"βͺ",
|
| 197 |
"π’",
|
| 198 |
"βͺ",
|
|
|
|
| 199 |
"βͺ",
|
| 200 |
-
"
|
| 201 |
],
|
| 202 |
-
"points":
|
| 203 |
-
"redistributed_bonus":
|
| 204 |
"wildcard": [
|
| 205 |
0,
|
| 206 |
0,
|
|
@@ -215,8 +215,8 @@
|
|
| 215 |
"βͺ",
|
| 216 |
"βͺ"
|
| 217 |
],
|
| 218 |
-
"points":
|
| 219 |
-
"redistributed_bonus":
|
| 220 |
"wildcard": [
|
| 221 |
0,
|
| 222 |
0,
|
|
@@ -225,14 +225,14 @@
|
|
| 225 |
},
|
| 226 |
"Anandh": {
|
| 227 |
"last_5_results": [
|
| 228 |
-
"π΄",
|
| 229 |
"π’",
|
| 230 |
"π΄",
|
|
|
|
| 231 |
"π΄",
|
| 232 |
"π΄"
|
| 233 |
],
|
| 234 |
-
"points":
|
| 235 |
-
"redistributed_bonus":
|
| 236 |
"wildcard": [
|
| 237 |
0,
|
| 238 |
0,
|
|
@@ -247,8 +247,8 @@
|
|
| 247 |
"βͺ",
|
| 248 |
"βͺ"
|
| 249 |
],
|
| 250 |
-
"points":
|
| 251 |
-
"redistributed_bonus":
|
| 252 |
"wildcard": [
|
| 253 |
0,
|
| 254 |
0,
|
|
@@ -257,14 +257,14 @@
|
|
| 257 |
},
|
| 258 |
"Biswabarenya": {
|
| 259 |
"last_5_results": [
|
| 260 |
-
"
|
| 261 |
"βͺ",
|
| 262 |
"βͺ",
|
| 263 |
"βͺ",
|
| 264 |
"βͺ"
|
| 265 |
],
|
| 266 |
-
"points":
|
| 267 |
-
"redistributed_bonus":
|
| 268 |
"wildcard": [
|
| 269 |
0,
|
| 270 |
0,
|
|
@@ -273,13 +273,13 @@
|
|
| 273 |
},
|
| 274 |
"Naitik": {
|
| 275 |
"last_5_results": [
|
|
|
|
| 276 |
"π’",
|
| 277 |
"π΄",
|
| 278 |
"π΄",
|
| 279 |
-
"π΄"
|
| 280 |
-
"π’"
|
| 281 |
],
|
| 282 |
-
"points":
|
| 283 |
"redistributed_bonus": 0,
|
| 284 |
"wildcard": [
|
| 285 |
0,
|
|
@@ -295,8 +295,8 @@
|
|
| 295 |
"βͺ",
|
| 296 |
"βͺ"
|
| 297 |
],
|
| 298 |
-
"points":
|
| 299 |
-
"redistributed_bonus":
|
| 300 |
"wildcard": [
|
| 301 |
0,
|
| 302 |
0,
|
|
@@ -311,8 +311,8 @@
|
|
| 311 |
"βͺ",
|
| 312 |
"βͺ"
|
| 313 |
],
|
| 314 |
-
"points":
|
| 315 |
-
"redistributed_bonus":
|
| 316 |
"wildcard": [
|
| 317 |
0,
|
| 318 |
0,
|
|
@@ -322,13 +322,13 @@
|
|
| 322 |
"Priyavrat Mohan": {
|
| 323 |
"last_5_results": [
|
| 324 |
"π’",
|
| 325 |
-
"π΄",
|
| 326 |
"π’",
|
| 327 |
"π΄",
|
|
|
|
| 328 |
"π΄"
|
| 329 |
],
|
| 330 |
-
"points":
|
| 331 |
-
"redistributed_bonus":
|
| 332 |
"wildcard": [
|
| 333 |
0,
|
| 334 |
0,
|
|
@@ -337,14 +337,14 @@
|
|
| 337 |
},
|
| 338 |
"Satish": {
|
| 339 |
"last_5_results": [
|
|
|
|
| 340 |
"π’",
|
| 341 |
"π΄",
|
| 342 |
"π’",
|
| 343 |
-
"π΄"
|
| 344 |
-
"βͺ"
|
| 345 |
],
|
| 346 |
-
"points":
|
| 347 |
-
"redistributed_bonus":
|
| 348 |
"wildcard": [
|
| 349 |
0,
|
| 350 |
0,
|
|
|
|
| 1 |
{
|
| 2 |
"Arpit": {
|
| 3 |
"last_5_results": [
|
| 4 |
+
"π’",
|
| 5 |
"π’",
|
| 6 |
"π’",
|
| 7 |
"π΄",
|
| 8 |
+
"βͺ"
|
|
|
|
| 9 |
],
|
| 10 |
+
"points": 23154,
|
| 11 |
+
"redistributed_bonus": 21,
|
| 12 |
"wildcard": [
|
| 13 |
0,
|
| 14 |
0,
|
|
|
|
| 17 |
},
|
| 18 |
"Ganesh": {
|
| 19 |
"last_5_results": [
|
| 20 |
+
"βͺ",
|
| 21 |
"βͺ",
|
| 22 |
"π’",
|
| 23 |
"π΄",
|
| 24 |
+
"π’"
|
|
|
|
| 25 |
],
|
| 26 |
+
"points": 4856,
|
| 27 |
+
"redistributed_bonus": 41,
|
| 28 |
"wildcard": [
|
| 29 |
0,
|
| 30 |
0,
|
|
|
|
| 33 |
},
|
| 34 |
"Haaris": {
|
| 35 |
"last_5_results": [
|
| 36 |
+
"π΄",
|
| 37 |
"π’",
|
| 38 |
"π΄",
|
| 39 |
"π΄",
|
| 40 |
+
"βͺ"
|
|
|
|
| 41 |
],
|
| 42 |
+
"points": 2160,
|
| 43 |
+
"redistributed_bonus": 44,
|
| 44 |
"wildcard": [
|
| 45 |
0,
|
| 46 |
0,
|
|
|
|
| 51 |
"last_5_results": [
|
| 52 |
"π’",
|
| 53 |
"π’",
|
|
|
|
| 54 |
"π’",
|
| 55 |
+
"π΄",
|
| 56 |
+
"π’"
|
| 57 |
],
|
| 58 |
+
"points": 33258,
|
| 59 |
+
"redistributed_bonus": 10,
|
| 60 |
"wildcard": [
|
| 61 |
0,
|
| 62 |
0,
|
|
|
|
| 65 |
},
|
| 66 |
"Kishore": {
|
| 67 |
"last_5_results": [
|
| 68 |
+
"βͺ",
|
| 69 |
"π΄",
|
| 70 |
"π’",
|
| 71 |
"βͺ",
|
|
|
|
| 72 |
"π΄"
|
| 73 |
],
|
| 74 |
+
"points": 37806,
|
| 75 |
+
"redistributed_bonus": 5,
|
| 76 |
"wildcard": [
|
| 77 |
0,
|
| 78 |
0,
|
|
|
|
| 82 |
"Megha": {
|
| 83 |
"last_5_results": [
|
| 84 |
"π΄",
|
|
|
|
| 85 |
"π΄",
|
| 86 |
+
"π’",
|
| 87 |
"π΄",
|
| 88 |
+
"π΄"
|
| 89 |
],
|
| 90 |
+
"points": 20931,
|
| 91 |
+
"redistributed_bonus": 23,
|
| 92 |
"wildcard": [
|
| 93 |
0,
|
| 94 |
0,
|
|
|
|
| 97 |
},
|
| 98 |
"Naveein": {
|
| 99 |
"last_5_results": [
|
| 100 |
+
"π΄",
|
| 101 |
"βͺ",
|
| 102 |
"π’",
|
| 103 |
"βͺ",
|
| 104 |
+
"π’"
|
|
|
|
| 105 |
],
|
| 106 |
+
"points": 41601,
|
| 107 |
+
"redistributed_bonus": 1,
|
| 108 |
"wildcard": [
|
| 109 |
0,
|
| 110 |
0,
|
|
|
|
| 119 |
"βͺ",
|
| 120 |
"βͺ"
|
| 121 |
],
|
| 122 |
+
"points": 46,
|
| 123 |
+
"redistributed_bonus": 46,
|
| 124 |
"wildcard": [
|
| 125 |
0,
|
| 126 |
0,
|
|
|
|
| 129 |
},
|
| 130 |
"Praveen": {
|
| 131 |
"last_5_results": [
|
| 132 |
+
"βͺ",
|
| 133 |
"π’",
|
| 134 |
"π΄",
|
| 135 |
"βͺ",
|
|
|
|
| 136 |
"βͺ"
|
| 137 |
],
|
| 138 |
+
"points": 9697,
|
| 139 |
+
"redistributed_bonus": 36,
|
| 140 |
"wildcard": [
|
| 141 |
0,
|
| 142 |
0,
|
|
|
|
| 146 |
"Rakesh": {
|
| 147 |
"last_5_results": [
|
| 148 |
"π΄",
|
|
|
|
| 149 |
"π΄",
|
| 150 |
+
"π’",
|
| 151 |
"π΄",
|
| 152 |
"π΄"
|
| 153 |
],
|
| 154 |
+
"points": 22959,
|
| 155 |
+
"redistributed_bonus": 21,
|
| 156 |
"wildcard": [
|
| 157 |
0,
|
| 158 |
0,
|
|
|
|
| 164 |
"π’",
|
| 165 |
"π’",
|
| 166 |
"π’",
|
| 167 |
+
"π’",
|
| 168 |
+
"π΄"
|
| 169 |
],
|
| 170 |
+
"points": 50208,
|
| 171 |
"redistributed_bonus": 0,
|
| 172 |
"wildcard": [
|
| 173 |
0,
|
|
|
|
| 177 |
},
|
| 178 |
"Sunil": {
|
| 179 |
"last_5_results": [
|
| 180 |
+
"π΄",
|
| 181 |
"π’",
|
| 182 |
"π’",
|
| 183 |
"π’",
|
| 184 |
+
"π’"
|
|
|
|
| 185 |
],
|
| 186 |
+
"points": 52810,
|
| 187 |
"redistributed_bonus": 0,
|
| 188 |
"wildcard": [
|
| 189 |
0,
|
|
|
|
| 193 |
},
|
| 194 |
"Vaibhav": {
|
| 195 |
"last_5_results": [
|
|
|
|
| 196 |
"π’",
|
| 197 |
"βͺ",
|
| 198 |
+
"π’",
|
| 199 |
"βͺ",
|
| 200 |
+
"βͺ"
|
| 201 |
],
|
| 202 |
+
"points": 31617,
|
| 203 |
+
"redistributed_bonus": 12,
|
| 204 |
"wildcard": [
|
| 205 |
0,
|
| 206 |
0,
|
|
|
|
| 215 |
"βͺ",
|
| 216 |
"βͺ"
|
| 217 |
],
|
| 218 |
+
"points": 3638,
|
| 219 |
+
"redistributed_bonus": 42,
|
| 220 |
"wildcard": [
|
| 221 |
0,
|
| 222 |
0,
|
|
|
|
| 225 |
},
|
| 226 |
"Anandh": {
|
| 227 |
"last_5_results": [
|
|
|
|
| 228 |
"π’",
|
| 229 |
"π΄",
|
| 230 |
+
"π’",
|
| 231 |
"π΄",
|
| 232 |
"π΄"
|
| 233 |
],
|
| 234 |
+
"points": 8561,
|
| 235 |
+
"redistributed_bonus": 37,
|
| 236 |
"wildcard": [
|
| 237 |
0,
|
| 238 |
0,
|
|
|
|
| 247 |
"βͺ",
|
| 248 |
"βͺ"
|
| 249 |
],
|
| 250 |
+
"points": 4257,
|
| 251 |
+
"redistributed_bonus": 42,
|
| 252 |
"wildcard": [
|
| 253 |
0,
|
| 254 |
0,
|
|
|
|
| 257 |
},
|
| 258 |
"Biswabarenya": {
|
| 259 |
"last_5_results": [
|
| 260 |
+
"π΄",
|
| 261 |
"βͺ",
|
| 262 |
"βͺ",
|
| 263 |
"βͺ",
|
| 264 |
"βͺ"
|
| 265 |
],
|
| 266 |
+
"points": 4606,
|
| 267 |
+
"redistributed_bonus": 41,
|
| 268 |
"wildcard": [
|
| 269 |
0,
|
| 270 |
0,
|
|
|
|
| 273 |
},
|
| 274 |
"Naitik": {
|
| 275 |
"last_5_results": [
|
| 276 |
+
"βͺ",
|
| 277 |
"π’",
|
| 278 |
"π΄",
|
| 279 |
"π΄",
|
| 280 |
+
"π΄"
|
|
|
|
| 281 |
],
|
| 282 |
+
"points": 42600,
|
| 283 |
"redistributed_bonus": 0,
|
| 284 |
"wildcard": [
|
| 285 |
0,
|
|
|
|
| 295 |
"βͺ",
|
| 296 |
"βͺ"
|
| 297 |
],
|
| 298 |
+
"points": 11006,
|
| 299 |
+
"redistributed_bonus": 34,
|
| 300 |
"wildcard": [
|
| 301 |
0,
|
| 302 |
0,
|
|
|
|
| 311 |
"βͺ",
|
| 312 |
"βͺ"
|
| 313 |
],
|
| 314 |
+
"points": 46,
|
| 315 |
+
"redistributed_bonus": 46,
|
| 316 |
"wildcard": [
|
| 317 |
0,
|
| 318 |
0,
|
|
|
|
| 322 |
"Priyavrat Mohan": {
|
| 323 |
"last_5_results": [
|
| 324 |
"π’",
|
|
|
|
| 325 |
"π’",
|
| 326 |
"π΄",
|
| 327 |
+
"π’",
|
| 328 |
"π΄"
|
| 329 |
],
|
| 330 |
+
"points": 37333,
|
| 331 |
+
"redistributed_bonus": 5,
|
| 332 |
"wildcard": [
|
| 333 |
0,
|
| 334 |
0,
|
|
|
|
| 337 |
},
|
| 338 |
"Satish": {
|
| 339 |
"last_5_results": [
|
| 340 |
+
"βͺ",
|
| 341 |
"π’",
|
| 342 |
"π΄",
|
| 343 |
"π’",
|
| 344 |
+
"π΄"
|
|
|
|
| 345 |
],
|
| 346 |
+
"points": 37471,
|
| 347 |
+
"redistributed_bonus": 5,
|
| 348 |
"wildcard": [
|
| 349 |
0,
|
| 350 |
0,
|