andreas11112 commited on
Commit
2859ce1
·
verified ·
1 Parent(s): b22b099

Upload proofs/87872.json with huggingface_hub

Browse files
Files changed (1) hide show
  1. proofs/87872.json +1 -0
proofs/87872.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"schema": 2, "epoch": 87872, "nonce": "47344c3e6b97d2da", "hotkey": "5FRE1kqMJz8ddModcXUsCquuWhB8QHnjYib2iK2VfiFetkC5", "source_hash": "24837b9ae6895829747c5eb448673693fedbeb2e3e62a5ca170051a512053fc0", "weights_hash": "2e4d6a88063177a0a7a564f24e10b347ef48e87c9595a209162369a4fa4d4477", "model_id": "router", "total_cost_usd": 0.027495089, "n_calls": 7, "call_log_hash": "019e854ffc8e7d8eaafa44255d93cef54e35dc313c956c143b2d0a9302b884b2", "measurement": "1449fadb4821cadef93f7eecc8c3b040e2cd244e01a2607ea531e5f7055c38d8", "confined": true, "latency_s": 94.32, "tokens_in": 1687, "tokens_out": 4680, "results": [{"benchmark": "mmlu", "task_id": "mmlu-9027", "answer": "B", "cost_usd": 0.00012412, "chosen_rung": 0, "rungs_used": [0, 1], "distribution": [0.999779, 0.000119, 0.0, 0.0, 2e-05, 8.1e-05, 0.0]}, {"benchmark": "mmlu", "task_id": "mmlu-3868", "answer": "A", "cost_usd": 4.669e-05, "chosen_rung": 0, "rungs_used": [0], "distribution": [0.999834, 0.000146, 0.0, 0.0, 1.3e-05, 7e-06, 0.0]}, {"benchmark": "math", "task_id": "gsm8k-874", "answer": "Ella's hourly rate is $33 \u00f7 3 = $11 per hour. For 12 hours, she would earn 12 \u00d7 $11 = $132.\n\n132", "cost_usd": 4.0179999999999985e-05, "chosen_rung": 1, "rungs_used": [1], "distribution": [0.000364, 0.999606, 0.0, 0.0, 6e-06, 2.4e-05, 0.0]}, {"benchmark": "math", "task_id": "gsm8k-529", "answer": "Tom paid $48 total. \nThe CD cost $4, so the headphone set cost $48 - $4 = $44. \nIf he didn\u2019t buy the headphone set, he would have $44 extra to spend on CDs. \nEach CD costs $4, so he could buy $44 \u00f7 $4 = 11 more CDs.\n\n11", "cost_usd": 8.909899999999998e-05, "chosen_rung": 1, "rungs_used": [1], "distribution": [0.000853, 0.999073, 0.0, 0.0, 5.4e-05, 2.1e-05, 0.0]}, {"benchmark": "code", "task_id": "lcb-abc399_b", "answer": "import sys\n\ndef main():\n input = sys.stdin.readline\n n = int(input())\n scores = list(map(int, input().split()))\n\n rank = [0] * n\n current_rank = 1\n\n for score in sorted(set(scores), reverse=True):\n indices = [i for i, p in enumerate(scores) if p == score]\n for i in indices:\n rank[i] = current_rank\n current_rank += len(indices)\n\n sys.stdout.write(\"\\n\".join(map(str, rank)))\n\nif __name__ == \"__main__\":\n main()\n", "cost_usd": 0.00013950000000000003, "chosen_rung": 4, "rungs_used": [4], "distribution": [0.000174, 0.000382, 0.0, 0.0, 0.993096, 0.006347, 0.0]}, {"benchmark": "code", "task_id": "lcb-abc388_d", "answer": "import sys\n\ndef main():\n input = sys.stdin.read\n data = input().split()\n if not data:\n return\n \n N = int(data[0])\n A = [0] + [int(x) for x in data[1:]]\n \n ans = [0] * (N + 1)\n \n # Process from N down to 1\n # total_stones is the total number of stones among adults currently >= i\n # Every time alien i becomes adult, they get min(total_stones, count of adults with >0 stones)\n # Actually, we can maintain the total number of stones that were collected by previous adults\n # Wait, let's trace:\n # Alien i becomes adult at year i.\n # At year i, adults are 1..i-1.\n # But it's easier to process backwards!\n # For alien i, when it becomes adult, adults 1..i-1 give stones to i.\n # Wait, the problem says:\n # \"When someone becomes an adult... every adult who has at least one stone gives exactly one stone...\"\n # Adults are 1..i-1. So only aliens 1..i-1 are adults at year i!\n # Aliens > i are not yet adults, so they don't give stones.\n # Aliens <= i will be adults for the remaining years i+1..N, where they might give stones to aliens i+1..N.\n # So alien i only interacts with aliens 1..i-1 at year i (receiving), and then as an adult at years i+1..N (giving).\n # Wait! If we look at the prefix 1..i, after year i, alien i has joined the adult group.\n # The total number of stones held by adults 1..i after year i is just sum(A_1..A_i).\n # Wait, does any stone leave the group {1..i}? No, because adults 1..i-1 only give stones to alien i, which stays in the group!\n # So the total stones held by {1..i} after year i is S_i = sum(A_1..A_i).\n # After year i, the adults are {1..i}. In future years i+1..N, stones might be transferred from {1..i} to aliens i+1..N.\n # How many stones are transferred from {1..i} to alien k (k > i)?\n # Exactly min(number of adults in 1..i with > 0 stones, total stones in 1..i).\n # But wait, all adults in 1..k-1 contribute!\n # A standard property: at any point, stones among adults are distributed as evenly as possible, or rather,\n # the total number of stones lost by adults {1..i} in steps i+1..N is easily determined!\n # Actually, if adults {1..i} have S_i stones total after year i,\n # in each step k = i+1..N, alien k receives min( (number of active adults at year k with >0 stones), total_stones_at_year_k ).\n # Notice that alien k receives stones from ALL adults 1..k-1.\n # How many of those come from {1..i}?\n # It's equivalent to: each alien i receives some stones, and we can determine the final stones of each alien!\n \n # Let's rephrase:\n # At year i, alien i receives stones from adults 1..i-1.\n # The number of stones received by alien i is min(S_{i-1}, i - 1)?\n # Wait, in Sample 1:\n # i=1: A_1=5. Adults: {1} has 5.\n # i=2: A_2=0. Adult 1 has 5 > 0, so gives 1 to 2. Adults {1,2} have 4, 1.\n # i=3: A_3=9. Adults 1,2 have 4,1 (both > 0). Total 2 adults give 1 each = 2 stones to 3.\n # A_3 becomes 9 + 2 = 11. Adults 1,2 become 3,0.\n # i=4: A_4=3. Adults 1,2,3 have 3,0,11. Adults 1,3 have >0 (2 adults). They give 2 stones to 4.\n # A_4 becomes 3 + 2 = 5. Adults 1,3 become 2, 10.\n # Final: 2, 0, 10, 5.\n \n # Notice: At year i, alien i gets min( S_{i-1}, count of adults 1..i-1 with >0 stones ).\n # Is count of adults with >0 stones always equal to min(i-1, S_{i-1})?\n # Not necessarily! In sample 1, after year 3, adults {1,2} have 3, 0. Count with >0 is 1.\n # Combined with alien 3 (who has 11), adults {1,2,3} have 2 adults with >0.\n \n # Let's maintain the state of adults from right to left or using a simulation/stack.\n # Actually, when alien i becomes adult, it has A_i stones.\n # It takes 1 stone from each adult j < i that has >0 stones.\n # Equivalently, alien i \"takes\" 1 stone from as many adults as possible in 1..i-1.\n # Who loses stones? The adults 1..i-1 who have stones.\n # If we maintain the adults with stones, notice that stones are always taken from the adults in a certain order, or we can just model the total stones!\n # Wait, alien i receives `c` stones, where `c` is the number of adults in 1..i-1 with >0 stones.\n # Then alien i has A_i + c stones.\n # Each of the `c` adults loses 1 stone.\n # This means the number of adults with >0 stones decreases only if an adult had 1 stone and drops to 0.\n \n # Can we process backwards?\n # At the end (after year N), the adults are 1..N.\n # Let's think: after year N, alien N has its final stones.\n # Alien N got stones at year N, and never gives any stones after year N!\n # So B_N is just its stones after year N.\n # What about alien N-1? It gives 1 stone at year N if it has >0 stones at year N.\n # In general, after year N, how many stones does each alien have?\n \n # Let's look at the process as a queue/stack of \"stone containers\".\n # An efficient way:\n # Maintain a multiset or count of adults, or notice:\n # At step i, alien i gets 1 stone from every non-zero adult in 1..i-1.\n # This is equivalent to: alien i absorbs 1 stone from each non-zero adult.\n # If an adult has k stones, it can give 1 stone to the next k aliens that ask!\n # So an adult with k stones can satisfy 1 request for each of the next k years!\n # Wait! An adult with k stones gives 1 stone at year i+1, 1 at i+2, ..., 1 at i+k (or until year N).\n # Is it ALWAYS true that an adult with k stones gives stones in the IMMEDIATE NEXT k years?\n # Yes! Because as long as it has >0 stones, it WILL give 1 stone every year!\n # It only stops giving stones when its stones reach 0!\n # Since it loses 1 stone per year, if it currently has k stones at year i, it will give 1 stone per year for the next k years (years i+1, i+2, ..., i+k), UNLESS N is reached first!\n # Wait, does it receive stones later? NO! An adult j < i NEVER receives stones at year i (only alien i receives stones!).\n # So an adult's stone count NEVER increases after its own year of adulthood!\n # AMAZING! Alien j gets its final initial stones at year j (say X stones).\n # After year j, alien j NEVER gains any more stones!\n # It only LOSES 1 stone per year for the next X years (years j+1, j+2, ..., j+X)!\n # Therefore, alien j contributes 1 stone to year k for every k in [j+1, min(N, j + X)]!\n \n # WOW! That means:\n # At year i, alien i receives 1 stone from every adult j < i that still has stones at year i!\n # Adult j has stones at year i if and only if j + X_j >= i, where X_j is the number of stones alien j had AT THE MOMENT IT BECAME AN ADULT (after receiving its own stones at year j)!\n # So if alien j has X_j stones at year j, it will have >0 stones at year i (i > j) iff j + X_j >= i!\n # Thus, the number of stones alien i receives at year i is simply:\n # count of j < i such that j + X_j >= i.\n # Then X_i = A_i + (count of j < i such that j + X_i... wait, j + X_j >= i).\n # And after ALL N years (at year N):\n # Alien j started with X_j stones at year j.\n # In years j+1 .. N, it gave away 1 stone each year, so it gave away min(X_j, N - j) stones.\n # Its FINAL number of stones B_j is simply max(0, X_j - (N - j))!\n \n # Wait, IS THIS TRUE?!\n # Let's check!\n # Alien j never receives stones after year j: TRUE, because at year k > j, only alien k receives stones.\n # Alien j gives 1 stone at year k > j iff it has >0 stones at year k.\n # Since it only loses 1 stone per year (at years j+1, j+2, ...), at year k it has lost (k - 1 - j) stones.\n # So at year k, its remaining stones are X_j - (k - 1 - j).\n # This is > 0 iff X_j - k + 1 + j > 0 iff j + X_j >= k!\n # Exactly!\n \n # So X_i = A_i + (number of j < i such that j + X_j >= i).\n # And final B_i = max(0, X_i - (N - i)).\n \n # Let's double check with Sample 1:\n # N = 4, A = [5, 0, 9, 3] (1-indexed)\n # i=1:\n # j < 1 with j + X_j >= 1: none.\n # X_1 = 5 + 0 = 5.\n # Reach of 1: 1 + 5 = 6.\n # i=2:\n # j < 2 with j + X_j >= 2: j=1 (1+5=6 >= 2). Count = 1.\n # X_2 = 0 + 1 = 1.\n # Reach of 2: 2 + 1 = 3.\n # i=3:\n # j < 3 with j + X_j >= 3:\n # j=1: 1+5=6 >= 3 (yes)\n # j=2: 2+1=3 >= 3 (yes)\n # Count = 2.\n # X_3 = 9 + 2 = 11.\n # Reach of 3: 3 + 11 = 14.\n # i=4:\n # j < 4 with j + X_j >= 4:\n # j=1: 6 >= 4 (yes)\n # j=2: 3 >= 4 (no)\n # j=3: 14 >= 4 (yes)\n # Count = 2.\n # X_4 = 3 + 2 = 5.\n # Reach of 4: 4 + 5 = 9.\n \n # Now final B_i = max(0, X_i - (4 - i)):\n # B_1 = max(0, 5 - 3) = 2.\n # B_2 = max(0, 1 - 2) = 0.\n # B_3 = max(0, 11 - 1) = 10.\n # B_4 = max(0, 5 - 0) = 5.\n # Sample 1 output: 2 0 10 5. PERFECT MATCH!\n\n # We just need to efficiently calculate for each i:\n # count of j < i such that j + X_j >= i.\n # Since j + X_j can be up to 500000 + 500000 + 500000 = 1.5 * 10^6,\n # we can maintain a Fenwick tree (or Difference Array!) of reach values!\n # When X_j is computed, reach = min(N, j + X_j).\n # It contributes +1 to all i in [j+1, reach].\n # Since we process i from 1 to N sequentially, we can just maintain a difference array for the additions to future i's!\n # diff[j+1] += 1\n # diff[reach + 1] -= 1\n # As we iterate i from 1 to N, current_gain += diff[i].\n \n diff = [0] * (N + 2)\n curr_gain = 0\n ans = []\n \n for i in range(1, N + 1):\n curr_gain += diff[i]\n X_i = A[i] + curr_gain\n reach = min(N, i + X_i)\n if i + 1 <= reach:\n diff[i + 1] += 1\n if reach + 1 <= N + 1:\n diff[reach + 1] -= 1\n \n final_stones = max(0, X_i - (N - i))\n ans.append(str(final_stones))\n \n print(' '.join(ans))\n\nif __name__ == '__main__':\n main()", "cost_usd": 0.0270555, "chosen_rung": 5, "rungs_used": [5], "distribution": [5.1e-05, 0.000172, 0.0, 0.0, 0.000478, 0.999299, 0.0]}], "quote": {"measurement": "1449fadb4821cadef93f7eecc8c3b040e2cd244e01a2607ea531e5f7055c38d8", "report_data": "8f5d44dea27be1e0f8d7eb949ee25056b9eafd91f022dc5686b9c5a25b3b660a", "platform_sig": "tdx:BAACAIEAAAAAAAAAk5pyM/ecTKmUCg2zlX8GBwAAAAAAAAAAAAAAAAAAAAAAAAAADwEKAAAAAAAAAAAAAAAAAKtiVhoXOsvRjuUP83dQ20QYTGz16IbfdCR8xXXhY7BMNLnhg3R1fCNa/6YU1BJ/awAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAADnAgYAAAAAAMHunBbjr8UGz+BCxbhGo2hSjzs3YY6vsnRpvBFM+RTpIiyRYYRw5/KyisNgloJwpQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHPI0MpMSp0WFj2a90SKUuQtBcvUSKgnkp0M3cQhzUIsZZTpAnoQzvGtDihp6ZIbZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMSdIq/27bN8theN77BeDitRLCaWDm7nOx6jAzZaMd74B6sq1x5YdCNv7KLKVSxjB88NtfGONOLmmamLJW3z/GFAGfWh9bdkk+Kq3HfnW1vj07erP0CdVhnccCVdYMUURAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN2bwo+uZ+9DxemYZ5pY7KsC4wQt+dWvoAU0pjhpSLGVS/THBGQdSiY6C6iXtRKhho9dRN6ie+Hg+NfrlJ7iUFa56v2R8CLcVoa5xaJbO2YKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADLEAAAht2bFJV20zijA1q+wJzkUWDhKd5fbl+F7Nh9VjQ1SF8oLmEb2+31dtQMJtn8A48pO3on/4MtJ6iqf4fYyWmayfiV36Eib5fmGF6R5QuURVz1vTu+p1oOYLWFe2VJqlbL3QJaGyoZLvE21JxaINAZKGT+V7DYNG4M+V7HFq2r15EGAEUQAAAKCv8bBv8ABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAAAAOcAAAAAAAAA5aOntdgwwpU7mFNMbFmjo0/cNOkz9/WJjwqFzwiEa8oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANyeKnxvlI8XR040p/xD7QMPfBVj8bq932NAyC4OVKjFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANOGLA67mbTYDNZe6IoRvc2c4k1tzo8Fn5rvo7W79QbMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACysZsQu/CR1c1XKy+SoIWclJOHEMd2oX4qi+8r6y9RU71wrDf8Y/M+ULAGVQUvIJYJZ53jfcqErVxg8kMCizT1IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAXQ4AAC0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlFOERDQ0JKYWdBd0lCQWdJVVJIM2dHVnE3T01PdkUzZmVGcG93Njc2QXNRZ3dDZ1lJS29aSXpqMEVBd0l3CmNERWlNQ0FHQTFVRUF3d1pTVzUwWld3Z1UwZFlJRkJEU3lCUWJHRjBabTl5YlNCRFFURWFNQmdHQTFVRUNnd1IKU1c1MFpXd2dRMjl5Y0c5eVlYUnBiMjR4RkRBU0JnTlZCQWNNQzFOaGJuUmhJRU5zWVhKaE1Rc3dDUVlEVlFRSQpEQUpEUVRFTE1Ba0dBMVVFQmhNQ1ZWTXdIaGNOTWpZd09EQXlNREF6TWpNMldoY05Nek13T0RBeU1EQXpNak0yCldqQndNU0l3SUFZRFZRUUREQmxKYm5SbGJDQlRSMWdnVUVOTElFTmxjblJwWm1sallYUmxNUm93R0FZRFZRUUsKREJGSmJuUmxiQ0JEYjNKd2IzSmhkR2x2YmpFVU1CSUdBMVVFQnd3TFUyRnVkR0VnUTJ4aGNtRXhDekFKQmdOVgpCQWdNQWtOQk1Rc3dDUVlEVlFRR0V3SlZVekJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCSmIvCitXdVBIcHJsU0U0dUFGd0JQelpxcXJCdnhrWkNxME8rMDVLT1VhbEw0WkdhZ1FBVDZIZGJ3QVRyUVdMQ1NSSWMKZVFOamRLdWR3T1BXTXdiWVcwcWpnZ01NTUlJRENEQWZCZ05WSFNNRUdEQVdnQlNWYjEzTnZSdmg2VUJKeWRUMApNODRCVnd2ZVZEQnJCZ05WSFI4RVpEQmlNR0NnWHFCY2hscG9kSFJ3Y3pvdkwyRndhUzUwY25WemRHVmtjMlZ5CmRtbGpaWE11YVc1MFpXd3VZMjl0TDNObmVDOWpaWEowYVdacFkyRjBhVzl1TDNZMEwzQmphMk55YkQ5allUMXcKYkdGMFptOXliU1psYm1OdlpHbHVaejFrWlhJd0hRWURWUjBPQkJZRUZMVG5hdmxaaW02di9BdGtZM2hvd3RRRgpjM1F5TUE0R0ExVWREd0VCL3dRRUF3SUd3REFNQmdOVkhSTUJBZjhFQWpBQU1JSUNPUVlKS29aSWh2aE5BUTBCCkJJSUNLakNDQWlZd0hnWUtLb1pJaHZoTkFRMEJBUVFRMTVnem0yT2JLemZmclFIeXJvKzRGRENDQVdNR0NpcUcKU0liNFRRRU5BUUl3Z2dGVE1CQUdDeXFHU0liNFRRRU5BUUlCQWdFSk1CQUdDeXFHU0liNFRRRU5BUUlDQWdFSgpNQkFHQ3lxR1NJYjRUUUVOQVFJREFnRUNNQkFHQ3lxR1NJYjRUUUVOQVFJRUFnRUNNQkFHQ3lxR1NJYjRUUUVOCkFRSUZBZ0VFTUJBR0N5cUdTSWI0VFFFTkFRSUdBZ0VCTUJBR0N5cUdTSWI0VFFFTkFRSUhBZ0VBTUJBR0N5cUcKU0liNFRRRU5BUUlJQWdFR01CQUdDeXFHU0liNFRRRU5BUUlKQWdFQU1CQUdDeXFHU0liNFRRRU5BUUlLQWdFQQpNQkFHQ3lxR1NJYjRUUUVOQVFJTEFnRUFNQkFHQ3lxR1NJYjRUUUVOQVFJTUFnRUFNQkFHQ3lxR1NJYjRUUUVOCkFRSU5BZ0VBTUJBR0N5cUdTSWI0VFFFTkFRSU9BZ0VBTUJBR0N5cUdTSWI0VFFFTkFRSVBBZ0VBTUJBR0N5cUcKU0liNFRRRU5BUUlRQWdFQU1CQUdDeXFHU0liNFRRRU5BUUlSQWdFTE1COEdDeXFHU0liNFRRRU5BUUlTQkJBSgpDUUlDQkFFQUJnQUFBQUFBQUFBQU1CQUdDaXFHU0liNFRRRU5BUU1FQWdBQU1CUUdDaXFHU0liNFRRRU5BUVFFCkJnQ0Fid1VBQURBUEJnb3Foa2lHK0UwQkRRRUZDZ0VCTUI0R0NpcUdTSWI0VFFFTkFRWUVFTW9rV3NpS1VjcGwKUnlRZHhHTkRTYVV3UkFZS0tvWklodmhOQVEwQkJ6QTJNQkFHQ3lxR1NJYjRUUUVOQVFjQkFRSC9NQkFHQ3lxRwpTSWI0VFFFTkFRY0NBUUVBTUJBR0N5cUdTSWI0VFFFTkFRY0RBUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDCklRRHRvRUVOdDJJTysxUFlVVDJqL2F6SUNrWVVWVURVcjJaeTgvdlZiOG1nMndJZ0NreDNCNVMvUGM2S3Fpak4KSzBoRmt5Y3FzV2hRY0VpTkplVVpUN0NkRUd3PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlDbGpDQ0FqMmdBd0lCQWdJVkFKVnZYYzI5RytIcFFFbkoxUFF6emdGWEM5NVVNQW9HQ0NxR1NNNDlCQU1DCk1HZ3hHakFZQmdOVkJBTU1FVWx1ZEdWc0lGTkhXQ0JTYjI5MElFTkJNUm93R0FZRFZRUUtEQkZKYm5SbGJDQkQKYjNKd2IzSmhkR2x2YmpFVU1CSUdBMVVFQnd3TFUyRnVkR0VnUTJ4aGNtRXhDekFKQmdOVkJBZ01Ba05CTVFzdwpDUVlEVlFRR0V3SlZVekFlRncweE9EQTFNakV4TURVd01UQmFGdzB6TXpBMU1qRXhNRFV3TVRCYU1IQXhJakFnCkJnTlZCQU1NR1VsdWRHVnNJRk5IV0NCUVEwc2dVR3hoZEdadmNtMGdRMEV4R2pBWUJnTlZCQW9NRVVsdWRHVnMKSUVOdmNuQnZjbUYwYVc5dU1SUXdFZ1lEVlFRSERBdFRZVzUwWVNCRGJHRnlZVEVMTUFrR0ExVUVDQXdDUTBFeApDekFKQmdOVkJBWVRBbFZUTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFTlNCLzd0MjFsWFNPCjJDdXpweHc3NGVKQjcyRXlER2dXNXJYQ3R4MnRWVExxNmhLazZ6K1VpUlpDbnFSN3BzT3ZncUZlU3hsbVRsSmwKZVRtaTJXWXozcU9CdXpDQnVEQWZCZ05WSFNNRUdEQVdnQlFpWlF6V1dwMDBpZk9EdEpWU3YxQWJPU2NHckRCUwpCZ05WSFI4RVN6QkpNRWVnUmFCRGhrRm9kSFJ3Y3pvdkwyTmxjblJwWm1sallYUmxjeTUwY25WemRHVmtjMlZ5CmRtbGpaWE11YVc1MFpXd3VZMjl0TDBsdWRHVnNVMGRZVW05dmRFTkJMbVJsY2pBZEJnTlZIUTRFRmdRVWxXOWQKemIwYjRlbEFTY25VOURQT0FWY0wzbFF3RGdZRFZSMFBBUUgvQkFRREFnRUdNQklHQTFVZEV3RUIvd1FJTUFZQgpBZjhDQVFBd0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ1hzVmtpMHcraTZWWUdXM1VGLzIydWFYZTBZSkRqMVVlCm5BK1RqRDFhaTVjQ0lDWWIxU0FtRDV4a2ZUVnB2bzRVb3lpU1l4ckRXTG1VUjRDSTlOS3lmUE4rCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNqekNDQWpTZ0F3SUJBZ0lVSW1VTTFscWROSW56ZzdTVlVyOVFHemtuQnF3d0NnWUlLb1pJemowRUF3SXcKYURFYU1CZ0dBMVVFQXd3UlNXNTBaV3dnVTBkWUlGSnZiM1FnUTBFeEdqQVlCZ05WQkFvTUVVbHVkR1ZzSUVOdgpjbkJ2Y21GMGFXOXVNUlF3RWdZRFZRUUhEQXRUWVc1MFlTQkRiR0Z5WVRFTE1Ba0dBMVVFQ0F3Q1EwRXhDekFKCkJnTlZCQVlUQWxWVE1CNFhEVEU0TURVeU1URXdORFV4TUZvWERUUTVNVEl6TVRJek5UazFPVm93YURFYU1CZ0cKQTFVRUF3d1JTVzUwWld3Z1UwZFlJRkp2YjNRZ1EwRXhHakFZQmdOVkJBb01FVWx1ZEdWc0lFTnZjbkJ2Y21GMAphVzl1TVJRd0VnWURWUVFIREF0VFlXNTBZU0JEYkdGeVlURUxNQWtHQTFVRUNBd0NRMEV4Q3pBSkJnTlZCQVlUCkFsVlRNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVDNm5Fd01ESVlaT2ovaVBXc0N6YUVLaTcKMU9pT1NMUkZoV0dqYm5CVkpmVm5rWTR1M0lqa0RZWUwwTXhPNG1xc3lZamxCYWxUVll4RlAyc0pCSzV6bEtPQgp1ekNCdURBZkJnTlZIU01FR0RBV2dCUWlaUXpXV3AwMGlmT0R0SlZTdjFBYk9TY0dyREJTQmdOVkhSOEVTekJKCk1FZWdSYUJEaGtGb2RIUndjem92TDJObGNuUnBabWxqWVhSbGN5NTBjblZ6ZEdWa2MyVnlkbWxqWlhNdWFXNTAKWld3dVkyOXRMMGx1ZEdWc1UwZFlVbTl2ZEVOQkxtUmxjakFkQmdOVkhRNEVGZ1FVSW1VTTFscWROSW56ZzdTVgpVcjlRR3prbkJxd3dEZ1lEVlIwUEFRSC9CQVFEQWdFR01CSUdBMVVkRXdFQi93UUlNQVlCQWY4Q0FRRXdDZ1lJCktvWkl6ajBFQXdJRFNRQXdSZ0loQU9XLzVRa1IrUzlDaVNEY05vb3dMdVBSTHNXR2YvWWk3R1NYOTRCZ3dUd2cKQWlFQTRKMGxySG9NcytYbzVvL3NYNk85UVd4SFJBdlpVR09kUlE3Y3ZxUlhhcUk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="}}