codexunlimit 0.1.0-web.13 → 0.1.0-web.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +97 -79
- package/cli.mjs +2 -110
- package/codex-desktop.ps1 +85 -0
- package/package.json +32 -14
- package/runtime.mjs +1 -0
- package/shared-ZNBXOIRW.mjs +1 -0
- package/web/app.js +1 -154
- package/web/privacy.html +1 -0
- package/web/style.css +5 -0
- package/account-pool.mjs +0 -161
- package/app.mjs +0 -161
- package/codex-account-client.mjs +0 -53
- package/config.mjs +0 -224
- package/doctor.mjs +0 -20
- package/image-http.mjs +0 -22
- package/io.mjs +0 -5
- package/license-client.mjs +0 -153
- package/product.mjs +0 -5
- package/protocol.mjs +0 -28
- package/quota.mjs +0 -34
- package/relay.mjs +0 -156
- package/state.mjs +0 -33
- package/updates.mjs +0 -47
- package/web/markdown.js +0 -15
- package/web/messages.js +0 -68
- package/web/pool-ui.js +0 -53
- package/web/stream.js +0 -25
- package/web/updates.js +0 -26
- package/windows.mjs +0 -53
package/web/app.js
CHANGED
|
@@ -1,154 +1 @@
|
|
|
1
|
-
import {readResponseStream} from './stream.js';
|
|
2
|
-
import {mountUpdates} from './updates.js';
|
|
3
|
-
import {renderMarkdown} from './markdown.js';
|
|
4
|
-
import {mountAccounts,quotaSummary,accountOptions} from './pool-ui.js';
|
|
5
|
-
const $=s=>document.querySelector(s),esc=v=>String(v??'').replace(/[&<>"']/g,c=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]));
|
|
6
|
-
const date=v=>v?new Date(v).toLocaleString('vi-VN'):'Chưa ghi nhận';
|
|
7
|
-
const icons={home:'M3 10 12 3l9 7v10H3z M9 20v-7h6v7',chat:'M4 4h16v12H9l-5 4z',settings:'M5 6h14 M5 12h14 M5 18h14 M9 3v6 M15 9v6 M9 15v6',arrow:'m7 10 5-5 5 5 M12 5v14',plus:'M12 5v14 M5 12h14',check:'m5 12 4 4L19 6',link:'m9 15 6-6 M8 16l-2 2a4 4 0 0 1-6-6l4-4 M16 8l2-2a4 4 0 0 1 6 6l-4 4'};
|
|
8
|
-
const icon=name=>'<svg viewBox="0 0 24 24" aria-hidden="true"><path d="'+icons[name]+'"/></svg>';
|
|
9
|
-
import {errors} from './messages.js';
|
|
10
|
-
let status,csrf='',route='home',models=[],busy=false,controller,current=null,modelLoad=0,renderFrame=null,stopped=false;
|
|
11
|
-
let disposeAccounts=null;
|
|
12
|
-
let conversations=[];try{const saved=JSON.parse(localStorage.getItem('cu.conversations')??'[]');if(Array.isArray(saved))conversations=saved.filter(c=>c&&typeof c.id==='string'&&typeof c.title==='string'&&Array.isArray(c.messages)).slice(0,30).map(c=>({...c,messages:c.messages.filter(m=>m&&['user','assistant'].includes(m.role)&&typeof m.content==='string').slice(-100)}));}catch{}
|
|
13
|
-
function save(){try{localStorage.setItem('cu.conversations',JSON.stringify(conversations));}catch{notice('Trình duyệt chưa lưu được lịch sử. Giữ trang này mở để tiếp tục.');}}
|
|
14
|
-
function notice(message){$('#notice').textContent=message;$('#notice').hidden=false;setTimeout(()=>{$('#notice').hidden=true;},6000);}
|
|
15
|
-
async function api(name,data){
|
|
16
|
-
let response;try{response=await fetch('/app/api/'+name,{method:data===undefined?'GET':'POST',credentials:'same-origin',headers:data===undefined?{}:{'content-type':'application/json','x-csrf-token':csrf},body:data===undefined?undefined:JSON.stringify(data),signal:AbortSignal.timeout(65000)});}catch{throw Error(errors.local_service_unavailable);}
|
|
17
|
-
const result=await response.json();if(!response.ok)throw Error(errors[result.error]??'Chưa hoàn tất thao tác. Vui lòng thử lại hoặc liên hệ người cấp mã.');return result;
|
|
18
|
-
}
|
|
19
|
-
async function refresh(){status=await api('status');csrf=status.csrf;}
|
|
20
|
-
const licenseLabel=()=>status.license.active?'Dịch vụ đã kích hoạt':status.license.activationRequired?'Chưa kích hoạt':'Cần kiểm tra dịch vụ';
|
|
21
|
-
function shell(){
|
|
22
|
-
$('#app').innerHTML='<div class="workspace"><aside class="rail"><a class="brand" href="#home"><span class="mark">cu</span><span>Codex Unlimit<small>Không gian làm việc</small></span></a><button class="new-chat" id="new-chat">'+icon('plus')+'Cuộc trò chuyện mới</button><nav aria-label="Điều hướng">'+[['home','home','Bắt đầu'],['chat','chat','Trò chuyện'],['accounts','link','Tài khoản & quota'],['settings','settings','Cài đặt & hỗ trợ']].map(([key,i,label])=>'<a data-route="'+key+'" href="#'+key+'">'+icon(i)+label+'</a>').join('')+'</nav><div class="history-heading">Gần đây</div><div id="history" class="history"></div><div class="rail-footer"><div class="rail-foot"><span class="device-dot"></span><div>Đang chạy trên máy này</div></div><section id="client-update" aria-label="Phiên bản và cập nhật"></section></div></aside><div class="body"><header class="topbar"><span id="breadcrumb">Không gian của bạn</span><a class="service-pill" href="#settings"><span class="device-dot"></span>'+licenseLabel()+'</a></header><main id="main" tabindex="-1"></main><footer>Codex Unlimit <span>Gọn gàng hơn cho công việc mỗi ngày.</span></footer></div></div>';
|
|
23
|
-
mountUpdates($('#client-update'),{api,version:status.version,notice});
|
|
24
|
-
$('#new-chat').onclick=()=>{if(busy){notice('Dừng câu trả lời hiện tại trước khi mở cuộc trò chuyện mới.');return;}current=null;location.hash='chat';render();};render();
|
|
25
|
-
}
|
|
26
|
-
function history(){
|
|
27
|
-
$('#history').innerHTML=conversations.length?conversations.map(c=>'<button data-conversation="'+esc(c.id)+'" class="'+(current===c.id?'selected':'')+'">'+esc(c.title)+'</button>').join(''):'<p>Những cuộc trò chuyện của bạn sẽ xuất hiện ở đây.</p>';
|
|
28
|
-
document.querySelectorAll('[data-conversation]').forEach(b=>b.onclick=()=>{if(busy)return;current=b.dataset.conversation;location.hash='chat';render();});
|
|
29
|
-
}
|
|
30
|
-
function render(){
|
|
31
|
-
if(stopped)return;
|
|
32
|
-
disposeAccounts?.();disposeAccounts=null;
|
|
33
|
-
route=['home','chat','accounts','settings'].includes(location.hash.slice(1))?location.hash.slice(1):'home';
|
|
34
|
-
document.querySelectorAll('[data-route]').forEach(a=>a.setAttribute('aria-current',a.dataset.route===route?'page':'false'));
|
|
35
|
-
$('#breadcrumb').textContent=({home:'Bắt đầu sử dụng',chat:'Trò chuyện',accounts:'Tài khoản & quota',settings:'Cài đặt & hỗ trợ'})[route];history();
|
|
36
|
-
if(route==='home')home();else if(route==='settings')settings();else if(route==='accounts')disposeAccounts=mountAccounts($('#main'),{api,initial:status.accounts,isBusy:()=>busy,onChange:(data,selection)=>{status.accounts=data;if(selection){status.connected=data.rows.some(row=>row.active&&row.state==='ready');models=[];modelLoad++;}}});else chat();
|
|
37
|
-
}
|
|
38
|
-
const ready=()=>status.license.active&&status.connected;
|
|
39
|
-
function home(){
|
|
40
|
-
$('#main').innerHTML='<div class="welcome"><div class="eyebrow">Chào bạn, bắt đầu thôi</div><h1>Một nơi gọn gàng.<br>Cho công việc mỗi ngày.</h1><p>Kết nối tài khoản, bắt đầu một cuộc trò chuyện hoặc tiếp tục công việc của bạn trong Codex.</p><a class="button primary" href="#'+(ready()?'chat':'settings')+'">'+(ready()?'Bắt đầu trò chuyện':'Thiết lập ngay')+' <span aria-hidden="true">↗</span></a><span class="welcome-index" aria-hidden="true">CODEX UNLIMIT</span></div><div class="section-title"><h2>Ba bước để bắt đầu</h2><span>'+(Number(status.license.active)+Number(status.connected)+Number(status.codexConfigured))+'/3 bước hoàn tất</span></div><div class="setup-list">'+[
|
|
41
|
-
[status.license.active,'01','Kích hoạt dịch vụ','Nhập mã do người cung cấp dịch vụ gửi cho bạn.'],
|
|
42
|
-
[status.connected,'02','Kết nối tài khoản ChatGPT','Đăng nhập trong Codex, sau đó kết nối tại đây.'],
|
|
43
|
-
[status.codexConfigured,'03','Dùng cùng Codex','Bật kết nối nếu bạn muốn tiếp tục làm việc trong Codex. Bước này là tùy chọn.']
|
|
44
|
-
].map(([done,n,title,desc])=>'<a class="setup-row" href="#settings"><span class="step-number '+(done?'done':'')+'">'+(done?icon('check'):n)+'</span><div><h3>'+title+'</h3><p>'+desc+'</p></div><span class="step-state">'+(done?'Hoàn tất':'Thiết lập →')+'</span></a>').join('')+'</div><div class="workspace-note"><span class="note-symbol">i</span><p>Lịch sử trò chuyện được lưu trong trình duyệt này. Khi gửi tin nhắn, nội dung được chuyển qua dịch vụ Codex Unlimit để xử lý.</p></div>';
|
|
45
|
-
if(status.accounts)$("#main .welcome").insertAdjacentHTML('afterend',quotaSummary(status.accounts));
|
|
46
|
-
}
|
|
47
|
-
function settings(){
|
|
48
|
-
const connection=status.codex??{configured:status.codexConfigured,managed:status.codexConfigured};
|
|
49
|
-
$('#main').innerHTML=`<div class="page-title"><span class="eyebrow">Theo cách của bạn</span><h1>Cài đặt & hỗ trợ</h1><p>Kết nối, quản lý ứng dụng và xem phần cần xử lý tại một nơi.</p></div>
|
|
50
|
-
<div class="settings-grid"><div>
|
|
51
|
-
<section class="surface"><div class="section-title"><h2>Mã sử dụng</h2><span class="tag">${status.license.active?'Đã kích hoạt':'Cần kiểm tra'}</span></div>
|
|
52
|
-
<p>${status.license.active?'Sử dụng đến '+date(status.license.expiresAt)+'.':esc(errors[status.license.error]??'Nhập key bạn nhận được để kích hoạt dịch vụ trên máy này.')}</p>
|
|
53
|
-
<form id="activate"><label for="activation-key">Mã sử dụng Codex Unlimit</label><div class="input-action"><input id="activation-key" type="password" autocomplete="off" required maxlength="36" placeholder="TDH-…"><button class="primary" type="submit">Kích hoạt</button></div><p class="error" role="alert"></p></form><button class="text-button" id="renew">Kiểm tra thời hạn</button>
|
|
54
|
-
</section>
|
|
55
|
-
<section class="surface"><div class="section-title"><h2>Tài khoản ChatGPT</h2><span class="tag">${status.connected?'Đã kết nối':'Chưa kết nối'}</span></div>
|
|
56
|
-
<ol class="guide"><li>Mở Codex trên máy và đăng nhập ChatGPT.</li><li>Quay lại đây, xác nhận đồng ý rồi chọn Kết nối tài khoản.</li></ol>
|
|
57
|
-
<p class="subtext">Không cần sao chép mật khẩu hay mã đăng nhập. Phiên đăng nhập được dùng để xử lý yêu cầu qua Codex Unlimit; dịch vụ không lưu mã truy cập hoặc nội dung trò chuyện.</p>
|
|
58
|
-
<label class="privacy-choice"><input id="privacy-choice" type="checkbox" ${status.connected?'checked':''}> Tôi đồng ý dùng phiên đăng nhập để xử lý yêu cầu qua Codex Unlimit. <a href="https://codexunlimit.tudonghoa.me/privacy" target="_blank" rel="noreferrer">Quyền riêng tư</a></label>
|
|
59
|
-
<div class="settings-actions"><button id="connect" class="${status.connected?'':'primary'}">${status.connected?'Kết nối lại':'Kết nối tài khoản'}</button>${status.connected?'<button id="disconnect" class="text-button">Ngắt kết nối chat</button>':''}</div><p class="error" id="account-error" role="alert"></p>
|
|
60
|
-
</section>
|
|
61
|
-
<section class="surface"><div class="section-title"><h2>Làm việc trong Codex</h2><span class="tag">${status.codexConfigured?'Đã bật':connection.error?'Cần xử lý':'Chưa bật'}</span></div>
|
|
62
|
-
<p>${status.codexConfigured?'Codex đang được cấu hình qua ứng dụng này. Đóng và mở lại Codex sau khi thay đổi kết nối.':'Bật kết nối để dùng Codex Unlimit trong ứng dụng Codex. Cấu hình gốc được sao lưu trước khi thay đổi.'}</p>
|
|
63
|
-
${connection.error?'<p class="connection-warning">'+esc(errors[connection.error]??errors.operation_failed)+'</p>':connection.managed&&!connection.configured?'<p class="connection-warning">Cấu hình đã thay đổi kể từ lần kết nối trước. Chọn Kết nối lại với Codex để sửa kết nối của ứng dụng này.</p>':''}
|
|
64
|
-
<div class="settings-actions"><button id="sync">${status.codexConfigured?'Khôi phục kết nối ban đầu':connection.managed?'Kết nối lại với Codex':'Bật kết nối với Codex'}</button><button id="diagnose" class="text-button">Kiểm tra kết nối</button></div>
|
|
65
|
-
<p class="error" id="sync-error" role="alert"></p>
|
|
66
|
-
<ul class="connection-checks" aria-label="Trạng thái kết nối"><li><span>Key dịch vụ</span><strong>${status.license.active?'Sẵn sàng':'Cần kiểm tra'}</strong></li><li><span>Tài khoản ChatGPT</span><strong>${status.connected?'Đã kết nối':'Chưa kết nối'}</strong></li><li><span>Cấu hình Codex</span><strong>${status.codexConfigured?'Đã bật':connection.error?'Cần xử lý':'Chưa bật'}</strong></li></ul>
|
|
67
|
-
</section>
|
|
68
|
-
<section class="surface desktop-controls"><div class="section-title"><h2>Ứng dụng trên máy</h2><span class="tag">${esc(status.version)}</span></div>
|
|
69
|
-
${status.desktop?.supported?`<label class="startup-choice"><span><strong>Khởi động cùng Windows</strong><small>Chạy trong khay CU, không tự mở trình duyệt.</small></span><input id="startup-enabled" type="checkbox" ${status.desktop.startup?'checked':''}></label><p class="subtext">Biểu tượng CU nằm ở góc phải thanh tác vụ, có thể nằm trong dấu mũi tên lên. Nhấp phải để mở, khởi động lại hoặc tắt ứng dụng.</p>${!status.desktop.tray?'<button id="show-tray">Hiện biểu tượng khay CU</button>':''}`:'<p>Mở lại bằng lệnh <code>codexunlimit</code>. Đóng tab chỉ đóng trang; ứng dụng vẫn chạy nền.</p>'}
|
|
70
|
-
<div class="settings-actions"><a class="button" href="https://codexunlimit.tudonghoa.me/download#upgrade" target="_blank" rel="noreferrer">Cập nhật ứng dụng</a><button data-stop="exit">Tắt ứng dụng</button></div>
|
|
71
|
-
<details class="update-help"><summary>Chuẩn bị cập nhật hoặc gỡ</summary><p>Cài gói mới rồi mở lại: bản mới tự thay tiến trình cũ. Nếu cần dừng trước, dùng nút bên dưới; kết nối sẽ tiếp tục sau khi bạn mở bản mới.</p><button data-stop="update">Dừng để cập nhật</button><p>Để gỡ, tắt Khởi động cùng Windows, chọn Tắt ứng dụng rồi chạy <code>npm uninstall -g codexunlimit</code>.</p></details>
|
|
72
|
-
<p id="desktop-error" class="error" role="alert"></p>
|
|
73
|
-
</section>
|
|
74
|
-
</div><aside><section class="help-panel"><span class="eyebrow">Luôn có hướng dẫn</span><h2>Cần một chút trợ giúp?</h2><h3>Không kết nối được Codex</h3><p>Chọn Kiểm tra kết nối. Thông báo sẽ phân biệt lỗi key, tài khoản và cấu hình trên máy.</p><h3>Đang dùng bản native cũ?</h3><p>Mở bản cũ, khôi phục kết nối rồi tắt bản đó trước khi chuyển sang bản web.</p><h3>Mở lại ứng dụng</h3><p>Nhấp đúp biểu tượng CU trong khay Windows. Nếu ứng dụng đã tắt, chạy <code>codexunlimit</code>.</p><a href="https://codexunlimit.tudonghoa.me/portal" target="_blank" rel="noreferrer">Xem dịch vụ & thiết bị</a></section>
|
|
75
|
-
<section class="usage-note"><h2>Hoạt động trên máy</h2><strong>${status.usage.total} <small>lượt gần đây</small></strong><p>${status.usage.errors} lượt cần kiểm tra. Lưu tối đa 2.001 lượt trên máy.</p><ul>${status.recent.slice(0,5).map(item=>'<li><span>'+date(item.ts)+'</span><span>'+(item.status<400?'Hoàn tất':'Chưa hoàn tất')+'</span></li>').join('')}</ul></section>
|
|
76
|
-
</aside></div>`;
|
|
77
|
-
$('#activate').onsubmit=async event=>{event.preventDefault();await action($('#activate button'),()=>api('activate',{key:$('#activation-key').value}),$('#activate .error'));};
|
|
78
|
-
$('#renew').onclick=event=>action(event.target,()=>api('renew',{}),$('#activate .error'));
|
|
79
|
-
$('#connect').onclick=event=>action(event.target,()=>api('connect',{accepted:$('#privacy-choice').checked}),$('#account-error'));
|
|
80
|
-
if($('#disconnect'))$('#disconnect').onclick=event=>action(event.target,()=>api('disconnect',{}),$('#account-error'));
|
|
81
|
-
$('#account-error').insertAdjacentHTML('beforebegin','<p><a class="text-button" href="#accounts">Quản lý nhiều tài khoản & xem quota</a></p>');
|
|
82
|
-
$('#sync').onclick=event=>action(event.target,()=>api(status.codexConfigured?'unsync':'sync',{}),$('#sync-error'));
|
|
83
|
-
$('#diagnose').onclick=event=>action(event.target,async()=>{},$('#sync-error'),'Đã kiểm tra trạng thái kết nối.');
|
|
84
|
-
if($('#startup-enabled'))$('#startup-enabled').onchange=async event=>{const checkbox=event.target,enabled=checkbox.checked;await action(checkbox,()=>api('desktop/startup',{enabled}),$('#desktop-error'));if(checkbox.isConnected)checkbox.checked=!!status.desktop.startup;};
|
|
85
|
-
if($('#show-tray'))$('#show-tray').onclick=event=>action(event.target,()=>api('desktop/tray',{}),$('#desktop-error'));
|
|
86
|
-
document.querySelectorAll('[data-stop]').forEach(button=>button.onclick=()=>confirmStop(button.dataset.stop));
|
|
87
|
-
}
|
|
88
|
-
function confirmStop(mode){
|
|
89
|
-
const dialog=document.createElement('dialog');dialog.className='stop-dialog';dialog.setAttribute('aria-labelledby','stop-title');
|
|
90
|
-
dialog.innerHTML='<h2 id="stop-title">'+(mode==='update'?'Dừng để cập nhật?':'Tắt Codex Unlimit?')+'</h2><p>'+(mode==='update'?'Ứng dụng sẽ dừng và giữ thiết lập kết nối. Codex sẽ tạm thời không kết nối được cho đến khi bạn cài và mở bản mới.':'Các yêu cầu đang chạy sẽ dừng. Kết nối Codex được khôi phục về cấu hình ban đầu trước khi tắt. Key và dữ liệu vẫn được giữ.')+'</p><div class="settings-actions"><button id="cancel-stop" autofocus>Tiếp tục sử dụng</button><button id="confirm-stop" class="primary">'+(mode==='update'?'Dừng để cập nhật':'Khôi phục & tắt')+'</button></div><p class="error" role="alert"></p>';
|
|
91
|
-
document.body.append(dialog);dialog.addEventListener('close',()=>dialog.remove());dialog.showModal();
|
|
92
|
-
$('#cancel-stop').onclick=()=>dialog.close();
|
|
93
|
-
$('#confirm-stop').onclick=async event=>{
|
|
94
|
-
const button=event.currentTarget;button.disabled=true;
|
|
95
|
-
try{await api('stop',{mode});stopped=true;dialog.close();$('#app').innerHTML='<main class="opening"><span class="mark">cu</span><h1>Ứng dụng đã tắt</h1><p>'+(mode==='update'?'Cài gói mới, sau đó chạy lệnh bên dưới để tiếp tục.':'Kết nối Codex đã được khôi phục. Khi cần sử dụng lại, chạy lệnh bên dưới.')+'</p><code>codexunlimit</code><a href="https://codexunlimit.tudonghoa.me/download" target="_blank" rel="noreferrer">Hướng dẫn cài đặt & cập nhật</a></main>';}
|
|
96
|
-
catch(error){dialog.querySelector('.error').textContent=error.message;button.disabled=false;}
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
async function action(button,fn,error,successMessage='Đã cập nhật.'){
|
|
100
|
-
button.disabled=true;error.textContent='';let completed=false;
|
|
101
|
-
try{await fn();completed=true;await refresh();modelLoad++;models=[];shell();notice(successMessage);}
|
|
102
|
-
catch(failure){error.textContent=(completed?'Thao tác đã thực hiện nhưng chưa cập nhật được trạng thái. ':'')+failure.message;}
|
|
103
|
-
finally{button.disabled=false;}
|
|
104
|
-
}
|
|
105
|
-
function chat(){
|
|
106
|
-
const conversation=conversations.find(c=>c.id===current);
|
|
107
|
-
$('#main').innerHTML='<div class="chat-area"><div class="chat-top"><div><span class="eyebrow">Không gian trò chuyện</span><h1>'+esc(conversation?.title??'Bạn muốn làm gì hôm nay?')+'</h1></div>'+(conversation?'<button id="delete-chat" class="text-button" '+(busy?'disabled':'')+'>Xóa cuộc trò chuyện</button>':'')+'</div><div class="mobile-history"><label for="recent-chat">Cuộc trò chuyện gần đây</label><select id="recent-chat" '+(busy?'disabled':'')+'><option value="">Cuộc trò chuyện mới</option>'+conversations.map(c=>'<option value="'+esc(c.id)+'" '+(c.id===current?'selected':'')+'>'+esc(c.title)+'</option>').join('')+'</select></div><div class="chat-account-picker"><label for="chat-account">Tài khoản</label><select id="chat-account" '+(busy||!status.accounts?'disabled':'')+'>'+accountOptions(status.accounts)+'</select><a href="#accounts">Xem quota</a></div><div id="messages" class="messages" role="log" aria-label="Nội dung trò chuyện"></div><div id="chat-empty" class="chat-empty" '+(conversation?.messages.length?'hidden':'')+'><span class="chat-emblem">'+icon('chat')+'</span><h2>Từ một ý tưởng nhỏ,<br>đến công việc hoàn thành.</h2><p>Viết nội dung, tìm cách giải quyết hoặc cùng suy nghĩ.<br>Bắt đầu bằng điều bạn đang cần.</p><div class="suggestions">'+['Giúp tôi lập kế hoạch cho tuần tới','Viết một email phản hồi khách hàng','Giải thích một vấn đề theo cách dễ hiểu'].map(t=>'<button data-prompt="'+esc(t)+'">'+t+' <span>↗</span></button>').join('')+'</div></div>'+(!ready()?'<div class="setup-reminder">Hoàn tất kích hoạt và kết nối tài khoản để bắt đầu. <a href="#settings">Đi đến cài đặt →</a></div>':'')+'<form id="composer" class="composer"><label class="sr-only" for="message">Tin nhắn của bạn</label><textarea id="message" rows="3" maxlength="32000" placeholder="Viết điều bạn đang nghĩ…" '+(!ready()||busy?'disabled':'')+'></textarea><div class="composer-tools"><div><label class="sr-only" for="model">Chọn mô hình</label><select id="model" '+(busy?'disabled':'')+'><option value="">'+(ready()?'Đang tải lựa chọn…':'Kết nối tài khoản trước')+'</option></select><span class="key-hint">Enter để gửi · Shift + Enter xuống dòng</span></div><button class="send" id="send" type="submit" aria-label="Gửi tin nhắn" '+(!ready()||busy?'disabled':'')+'>'+icon('arrow')+'</button><button id="stop" type="button" '+(!busy?'hidden':'')+'>Dừng</button></div></form><p id="chat-error" class="error" role="alert"></p><p class="chat-footnote">Câu trả lời có thể chưa chính xác. Hãy kiểm tra thông tin quan trọng. Lịch sử lưu trên trình duyệt này.</p></div>';
|
|
108
|
-
paintMessages();
|
|
109
|
-
$('#chat-account').onchange=async event=>{
|
|
110
|
-
if(busy)return;event.target.disabled=true;
|
|
111
|
-
try{status.accounts=await api('accounts/select',{accountId:event.target.value});status.connected=true;models=[];modelLoad++;chat();}
|
|
112
|
-
catch(error){$('#chat-error').textContent=error.message;event.target.value=status.accounts?.activeId??'codex';event.target.disabled=false;}
|
|
113
|
-
};
|
|
114
|
-
$('#messages').onclick=async event=>{const button=event.target.closest('[data-copy-code]');if(!button)return;try{await navigator.clipboard.writeText(button.closest('.markdown-code').querySelector('pre code').textContent);button.textContent='Đã sao chép';}catch{notice('Chọn đoạn mã để sao chép thủ công.');}};
|
|
115
|
-
$('#recent-chat').onchange=e=>{if(busy)return;current=e.target.value||null;render();};
|
|
116
|
-
document.querySelectorAll('[data-prompt]').forEach(b=>b.onclick=()=>{if(!ready()){location.hash='settings';return;}$('#message').value=b.dataset.prompt;$('#message').focus();});
|
|
117
|
-
$('#composer').onsubmit=send;$('#message').onkeydown=e=>{if(e.key==='Enter'&&!e.shiftKey&&!e.isComposing){e.preventDefault();$('#composer').requestSubmit();}};
|
|
118
|
-
$('#stop').onclick=()=>controller?.abort();
|
|
119
|
-
if($('#delete-chat'))$('#delete-chat').onclick=()=>{const b=$('#delete-chat');if(b.dataset.confirm!=='yes'){b.dataset.confirm='yes';b.textContent='Bấm lần nữa để xóa';return;}conversations=conversations.filter(c=>c.id!==current);current=null;save();render();};
|
|
120
|
-
if(ready())loadModels();
|
|
121
|
-
}
|
|
122
|
-
async function loadModels(){
|
|
123
|
-
const generation=++modelLoad;
|
|
124
|
-
try{const loaded=models.length?models:(await api('models'+(status.accounts?'?accountId='+encodeURIComponent(status.accounts.activeId):''))).models;if(generation!==modelLoad||!$('#model')||!status.connected)return;models=loaded;$('#model').innerHTML=models.map(m=>'<option value="'+esc(m.id)+'">'+esc(m.name)+'</option>').join('');if(!models.length)throw Error('Tài khoản chưa có lựa chọn khả dụng. Thử kết nối lại trong cài đặt.');$('#send').disabled=busy;}
|
|
125
|
-
catch(e){if(generation===modelLoad&&$('#chat-error')){$('#chat-error').textContent=e.message;$('#send').disabled=true;}}
|
|
126
|
-
}
|
|
127
|
-
function paintMessages(){
|
|
128
|
-
if(!$('#messages'))return;const messages=conversations.find(c=>c.id===current)?.messages??[];
|
|
129
|
-
$('#messages').innerHTML=messages.map(m=>'<article class="message '+m.role+'"><span class="speaker">'+(m.role==='user'?'Bạn':'Unlimit')+'</span><div class="message-text '+(m.role==='assistant'?'markdown-body':'')+'">'+(m.role==='assistant'?renderMarkdown(m.content||(busy?'Đang soạn câu trả lời…':'Chưa nhận được câu trả lời.')):esc(m.content))+'</div>'+(m.interrupted?'<small class="interrupted">Câu trả lời chưa hoàn tất</small>':'')+'</article>').join('');
|
|
130
|
-
$('#chat-empty').hidden=!!messages.length;
|
|
131
|
-
}
|
|
132
|
-
async function send(e){
|
|
133
|
-
e.preventDefault();const value=$('#message').value.trim(),model=$('#model').value;if(busy||!value||!model||!ready())return;
|
|
134
|
-
let c=conversations.find(c=>c.id===current);if(!c){c={id:crypto.randomUUID(),title:value.slice(0,60),messages:[]};conversations.unshift(c);conversations=conversations.slice(0,30);current=c.id;}
|
|
135
|
-
if(c.messages.length>=98){$('#chat-error').textContent='Cuộc trò chuyện đã dài. Mở cuộc trò chuyện mới để tiếp tục.';return;}
|
|
136
|
-
const input=[...c.messages.filter(m=>m.content&&!m.interrupted).map(({role,content})=>({role,content})),{role:'user',content:value}];
|
|
137
|
-
if(new TextEncoder().encode(JSON.stringify({model,messages:input})).length>1048576){$('#chat-error').textContent=errors.request_too_large;return;}
|
|
138
|
-
c.messages.push({role:'user',content:value});
|
|
139
|
-
const answer={role:'assistant',content:'',interrupted:true};c.messages.push(answer);save();busy=true;controller=new AbortController();chat();history();
|
|
140
|
-
try{
|
|
141
|
-
const response=await fetch('/app/api/chat',{method:'POST',headers:{'content-type':'application/json','x-csrf-token':csrf},body:JSON.stringify({model,messages:input,accountId:status.accounts?.activeId}),signal:controller.signal});
|
|
142
|
-
if(!response.ok){const data=await response.json();throw Error(errors[data.error]??errors.service_unavailable);}
|
|
143
|
-
await readResponseStream(response.body,text=>{answer.content=text;if(route==='chat'&&renderFrame===null){
|
|
144
|
-
renderFrame=requestAnimationFrame(()=>{renderFrame=null;const box=$('#messages');if(!box)return;const nearBottom=box.scrollHeight-box.scrollTop-box.clientHeight<120;const target=box.querySelector('.message:last-child .message-text');if(target)target.innerHTML=renderMarkdown(answer.content);if(nearBottom)box.scrollTop=box.scrollHeight;});
|
|
145
|
-
}});answer.interrupted=false;
|
|
146
|
-
}catch(error){notice(error.name==='AbortError'?'Đã dừng câu trả lời.':error.message);}
|
|
147
|
-
finally{if(renderFrame!==null){cancelAnimationFrame(renderFrame);renderFrame=null;}busy=false;controller=null;save();if(route==='chat')chat();history();}
|
|
148
|
-
}
|
|
149
|
-
window.addEventListener('hashchange',()=>{if(status)render();});
|
|
150
|
-
try{
|
|
151
|
-
if(location.hash.startsWith('#ticket=')){const ticket=location.hash.slice(8);historyReplace();const result=await api('session',{ticket});csrf=result.csrf;}
|
|
152
|
-
await refresh();shell();
|
|
153
|
-
}catch(e){$('#app').innerHTML='<main class="opening"><span class="mark">cu</span><h1>Mở không gian làm việc</h1><p>'+esc(e.message)+'</p><code>codexunlimit</code><p>Chạy lệnh trên trong PowerShell (Windows) hoặc Terminal (macOS).</p><button id="retry">Thử lại</button></main>';$('#retry').onclick=()=>location.reload();}
|
|
154
|
-
function historyReplace(){window.history.replaceState(null,'','/app/#home');}
|
|
1
|
+
const _0x431d73=_0x22aa;(function(_0x581c5c,_0x4b0b6c){const _0x3b13f3=_0x22aa,_0x43d7d4=_0x581c5c();while(!![]){try{const _0x36541d=parseInt(_0x3b13f3(0x1e4))/0x1+parseInt(_0x3b13f3(0x14c))/0x2*(-parseInt(_0x3b13f3(0x1bd))/0x3)+-parseInt(_0x3b13f3(0x204))/0x4+-parseInt(_0x3b13f3(0xc5))/0x5*(-parseInt(_0x3b13f3(0x1b3))/0x6)+-parseInt(_0x3b13f3(0x1f8))/0x7+-parseInt(_0x3b13f3(0xa6))/0x8+parseInt(_0x3b13f3(0x2f2))/0x9;if(_0x36541d===_0x4b0b6c)break;else _0x43d7d4['push'](_0x43d7d4['shift']());}catch(_0x25098a){_0x43d7d4['push'](_0x43d7d4['shift']());}}}(_0x2b57,0x7c9f8));async function nt(_0xe3ff08,_0x10ee2e,{maxText:_0x216c68=0x3e800,maxBytes:_0x5ec2ee=0x4*0x400*0x400}={}){const _0x446b07=_0x22aa;let _0x4bca8d=_0xe3ff08['getReader'](),_0x5deb2b=new TextDecoder(),_0x244722='',_0x2e9520=!0x1,_0x2232fd='',_0x4e39f1=0x0,_0x36a62b=()=>Error(_0x446b07(0x26a));function _0x89050d(_0x5ab515){const _0x421d79=_0x446b07;let _0x304844=_0x5ab515[_0x421d79(0x199)]('\x0a')[_0x421d79(0xf1)](_0x7c274=>_0x7c274[_0x421d79(0x1b1)](_0x421d79(0x291)))[_0x421d79(0xf9)](_0x31ebed=>_0x31ebed[_0x421d79(0x128)](0x5)[_0x421d79(0x301)]())[_0x421d79(0x217)]('\x0a');if(!_0x304844||_0x304844===_0x421d79(0x2a7))return;let _0x40aa69;try{_0x40aa69=JSON['parse'](_0x304844);}catch{throw Error(_0x421d79(0x1ad));}if(_0x40aa69[_0x421d79(0x294)]===_0x421d79(0xf7)){if(typeof _0x40aa69['delta']!='string')throw Error('Ph\u1EA3n\x20h\u1ED3i\x20kh\xF4ng\x20h\u1EE3p\x20l\u1EC7.');if(_0x2232fd['length']+_0x40aa69['delta']['length']>_0x216c68)throw _0x36a62b();_0x2232fd+=_0x40aa69['delta'],_0x10ee2e(_0x2232fd);}if(_0x40aa69['type']===_0x421d79(0x18b)&&(_0x2e9520=!0x0,!_0x2232fd)){if(_0x2232fd=(_0x40aa69['response']?.[_0x421d79(0x2d4)]??[])[_0x421d79(0xed)](_0x3aa161=>_0x3aa161[_0x421d79(0x300)]??[])[_0x421d79(0xf1)](_0x35d1a7=>_0x35d1a7[_0x421d79(0x294)]==='output_text')['map'](_0x423d78=>_0x423d78[_0x421d79(0x2a1)])[_0x421d79(0x217)](''),_0x2232fd[_0x421d79(0xab)]>_0x216c68)throw _0x36a62b();_0x10ee2e(_0x2232fd);}if(['error',_0x421d79(0x16a),_0x421d79(0x2aa)][_0x421d79(0x270)](_0x40aa69[_0x421d79(0x294)]))throw Error(_0x421d79(0x296));}try{for(;;){let {value:_0x4c4430,done:_0x2d062c}=await _0x4bca8d['read']();if(_0x4e39f1+=_0x4c4430?.['byteLength']??0x0,_0x4e39f1>_0x5ec2ee)throw _0x36a62b();_0x244722+=_0x5deb2b[_0x446b07(0x148)](_0x4c4430,{'stream':!_0x2d062c})[_0x446b07(0x198)](/\r\n/g,'\x0a'),_0x244722=_0x244722[_0x446b07(0x198)](/\r\n/g,'\x0a');let _0x3ce113;for(;!_0x2e9520&&(_0x3ce113=_0x244722[_0x446b07(0x178)]('\x0a\x0a'))>=0x0;)_0x89050d(_0x244722[_0x446b07(0x128)](0x0,_0x3ce113)),_0x244722=_0x244722[_0x446b07(0x128)](_0x3ce113+0x2);if(_0x244722[_0x446b07(0xab)]>0x2*0x400*0x400)throw Error('Ph\u1EA3n\x20h\u1ED3i\x20qu\xE1\x20d\xE0i.\x20H\xE3y\x20th\u1EED\x20m\u1ED9t\x20y\xEAu\x20c\u1EA7u\x20ng\u1EAFn\x20h\u01A1n.');if(_0x2d062c||_0x2e9520)break;}if(!_0x2e9520&&_0x244722[_0x446b07(0xf2)]()&&_0x89050d(_0x244722),!_0x2e9520)throw Error('K\u1EBFt\x20n\u1ED1i\x20b\u1ECB\x20gi\xE1n\x20\u0111o\u1EA1n\x20tr\u01B0\u1EDBc\x20khi\x20ho\xE0n\x20t\u1EA5t.');if(!_0x2232fd)throw Error('Ch\u01B0a\x20nh\u1EADn\x20\u0111\u01B0\u1EE3c\x20n\u1ED9i\x20dung\x20tr\u1EA3\x20l\u1EDDi.\x20H\xE3y\x20th\u1EED\x20l\u1EA1i.');return _0x2232fd;}finally{await _0x4bca8d[_0x446b07(0x2b1)]()['catch'](()=>{}),_0x4bca8d[_0x446b07(0x1fc)]();}}var G=_0x107891=>String(_0x107891??'')[_0x431d73(0x198)](/[&<>"']/g,_0x4dfcb1=>({'&':'&','<':_0x431d73(0x22e),'>':'>','\x22':_0x431d73(0xf4),'\x27':_0x431d73(0x1c9)}[_0x4dfcb1]));function _0x2b57(){const _0x52dcee=['pc9HpG','pgrPDIbJBgfZCZ0ICgfNzs10AxrSzsi+phnWyw4Gy2XHC3m9iMv5zwjYB3CIpKtHU4uGDgHLBYbKW7vPlcbK4BUfignODxNHU4nUimsr4BUvAtWVC3bHBJ48Ade+vmoGAsbRAg/HUQnUicyGCxvVDge8l2GXpJXWpSsqXinUzYbUAog6RxaGCMNdQM5NihtHU6TUzYb0W6bPigTOB+g6O24GBEg7MxqGBog6P24UienO4BUnBIb0W6bPigTOB+g6O24GXjhHU4mGzmo5BMCGy2HVignOyxqGDSoGigpdOwmGECoQDsbJ4BQNDsbT4BUBAsb04BURienVzgv4lJWVCd48l2rPDJ48CcbPzd0ICg9VBc1LCNjVCIiGy2XHC3m9iMvYCM9YiIbYB2XLpsjHBgvYDci+pc9WpG','tEg7NYbdB2rLEcWGXjheG25Nig5O4BQTCcbdAgf0r1buihlHU5nPigVHUR90ig7HU5fPihtdOgKGA2HV4BQJBIb04BQHAsdeKCoIEs4','i3nLDhvWlwnVzgv4','s+g6V3qGBUg7KwKGDmoGAsbRAg/HUQnUihrYXRdHU5TJ','pgrPDIbJBgfZCZ0IC2v0DxaTCMvTAw5KzxiIpKHVW6bUihtHUQv0igVdRwnOigHV4BQHDcb2W6aGA+g6V3qGBUg7KwKGDmoGAsbRAg/HUQnUimsr4BUdiglHUQ90imsr4BQNDs4GpgeGAhjLzJ0Ii3nLDhrPBMDZiJ7eKgKGXjhHUR9UigpdOgKGXjhHURD0iokgKJWVyt48l2rPDJ4','w2rHDgeTy29UzMLYBv0','lM1LC3nHz2u6BgfZDc1JAgLSzcaUBwvZC2fNzs10zxH0','q8oHyYb5W6P1igpHUQD1imsryw5NignO4BQHEsbZ4BQ9igtHU6TUzY4Gs+g6V3qGBUg7KwKGq29KzxGGXjhgSog7O2mGA2JdTgKGCgJHU6vJihBHU4eGy+g6PxuGAmoSBMGGyMfUimsr4BQNDsb0CSAW4BUByYbRAgKGDog6R3qUieTLEsb2W6aGzog7RYbSAEg7H3uGDUg6Q24GXjhgSog7O2mGz2NHU68U','pc9HCNrPy2XLpG','pgfYDgLJBguGy2XHC3m9iM1LC3nHz2uG','q2JgSgeGA8oTy2GGAg/HUQf0','i2rPC2nVBM5Ly3q','CMvZCg9UC2uUzMfPBgvK','i3rPy2TLDd0','pc9ZCgfUpJWVBgK+','i21LC3nHz2vZ','iIbYB2XLpsjZDgf0DxmIpG','q2JgSgeGy8oZihrO4BUDAsbNAwfUihjLC2v0','zw5JB2rL','q8oGAsdeKEg6T3qGjIbO4BUxihrY4BUJ','iIb0yxjNzxq9iL9IBgfUAYiGCMvSpsjUB3jLzMvYCMvYig5VB3bLBMvYiJ5n4BUFihrYyw5NimsrXinUzYbUAog6Rxa8l2e+pgj1DhrVBIbKyxrHlwnHBMnLBc1SB2DPBJ5i4BUNEsdeKCsdBMCGBMJHUQ1Wpc9IDxr0B24+pc9KAxy+phaGy2XHC3m9iNn1yNrLEhqIpK7HUR91ihrYW6XUAcbKDxNHU4D0imsryw5NigDP4BUVihtdOgKGA2HV4BQJBIbRAmoHyYWGBEg7NYbSACoQBIbR4BQ/Dcb0CM9UzYbJ4BUTysbZ4BUvihjPW6PUzYb0XRaUifrYyw5Nig7dOhKGDog7SsbJ4BQTCcbUAog6RxqGA2HPigHVW6bUihtHUQv0lJWVCd48l3nLy3rPB24+','4BUOBMCGzog7Pw5NihpHUR0Gzog7Q25NihBdOcbNAEg7RYb0AgNHUR90igZHUQ1WigVHUR90ig7HU5fPlIbdB2rLEcbZ4BQ9ihtHUQfTihrO4BUDAsbRAmo0BMCGA+g6V3qGBUg7KwKGXjhgSog7O2mGy2HVimsr4BQ/BIbRAgKGyUg6Ow4Gy8oGAsb2W6aGBEg7NYbI4BQJBIbT4BUBAs4','l2fWCc9HCgKVy2HHDa','y2XVC2vZDa','CMvTB3zLlwfJy291BNqTDgL0Bgu','s+g6V3qGBUg7KwKGq29KzxGGXjhdOYdeKCAW4BUJyYbRAmo0AsbWAog7PwmUieTOAsbJ4BQNBIbZ4BUTigtHU6vUzYbS4BQHAsWGy2JHUQf5igZHU4DUAcbIW6PUigtgSog7M2KU','Aw5KzxHpzG','DxnLCKnVzgu','i3bYAxzHy3KTy2HVAwnL','pc91Bd48l3nLy3rPB24+cIaGpc9HC2LKzt48l2rPDJ4','DxrPBhm','pc9WpGOGicaGica','XjbHBMCGBEg7NYb0CSoQBIbTW6f5','vgHP4BQ/DcbS4BQTCcbdB2rLEa','q+g6P24GA2NHU4nTihrYyq','zw1HAwW','pIbuW7rPimsr4BUtBMCGW70Gzmo5BMCGCgHPW6PUimsrXinUzYbUAog6RxaGXjhHU4mGEog7RsbSW70GECoQDsbJ4BQNDsbXDweGq29KzxGGvw5SAw1PDc4GpgeGAhjLzJ0I','zMLUza','w2rHDgeTy2fUy2vSxq','DgL0Bgu','pgeGzgf0ys1YB3v0zt0I','pc9WpGOGicaGica8zM9YBsbPzd0Iywn0AxzHDguIpJXSywjLBcbMB3i9iMfJDgL2yxrPB24TA2v5iJ5nW6mGC+g7RsbK4BULBMCGq29KzxGGvw5SAw1PDdWVBgfIzwW+pgrPDIbJBgfZCZ0IAw5WDxqTywn0Aw9UiJ48Aw5WDxqGAwq9iMfJDgL2yxrPB24TA2v5iIb0ExbLpsjWyxnZD29YzciGyxv0B2nVBxbSzxrLpsjVzMyIihjLCxvPCMvKig1HEgXLBMD0Ad0ImZyIihbSywnLAg9SzgvYpsjureGT4OcMiJ48yNv0Dg9UignSyxnZpsjWCMLTyxj5iIb0ExbLpsjZDwjTAxqIpKVdRwnOigHV4BQHDdWVyNv0Dg9UpJWVzgL2pJXWignSyxnZpsjLCNjVCIiGCM9Szt0IywXLCNqIpJWVCd48l2zVCM0+pgj1DhrVBIbJBgfZCZ0IDgv4Dc1IDxr0B24IigLKpsjYzw5LDYi+s2NHU4nTihrYysb0Aog7NwKGAog6Ow48l2j1DhrVBJ4kicaGidWVC2vJDgLVBJ4kicaGidXZzwn0Aw9UignSyxnZpsjZDxjMywnLiJ48zgL2ignSyxnZpsjZzwn0Aw9UlxrPDgXLiJ48Adi+vmoGAsbRAg/HUQnUienOyxrhufq8l2GYpJXZCgfUignSyxnZpsj0ywCIpG','y29KzxGTyxbWlW','ywrKrxzLBNrmAxn0zw5LCG','zgLZywjSzwq','CMvZCg9UC2uUy29TCgXLDgvK','pgrPDIbJBgfZCZ0Iy2HHDc1HCMvHiJ48zgL2ignSyxnZpsjJAgf0lxrVCci+pgrPDJ48C3bHBIbJBgfZCZ0IzxLLyNjVDYi+s2JdTg5NigDPyw4GDhldSIbJAhv54BUhBJWVC3bHBJ48Ade+','pha+tMJHU69UzYbJDEg7MwmGDhldSIbJAhv54BUhBIbJ4BUNysbI4BQHBIbZ4BQ9ihH14BQLDcbOAEg7H24G4BUFimsrW6j5lJWVCd4','CMvUzgvY','i2jYzwfKy3j1Bwi','XjddOYbNAgKGBMJHUQ1UiglHUQfUig3HU58GBog6OwKGq29KzxGU','XjddOw5OigtHUQv1imsr4BUtBMCGW70GC+g7RsbK4BULBMCGCgHPW6PUimsrXinUzYbUAog6RxaGDhlgSog7M2mGA2HPigVHUR90ig7HU5fPlG','C3vWCg9YDgvK','ChjPDMfJEufJy2vWDgvK','p2fJy291BNrjzd0','q+g6P24GBEg7NYbS4BQHAsbdB2rLEcdeKEg7GYddOxaGzog7Pw5NigpHUQv1igJdRg5O','y3nYzG','pc9JB2rLpJWVChjLpJXIDxr0B24GDhLWzt0IyNv0Dg9UiIbJBgfZCZ0Iy29WEs11CgrHDguIpLnHBYbJAmoPCcbS4BUhBMGGy+g6RxaGBMJHUQ10pc9IDxr0B24+','CMvWBgfJzq','C3bSAxq','yxnZAxn0yw50','vmoGAsbRAg/HUQnUignOXRbHihbO4BQJBIbO4BUtAsbR4BUlCc4Gs2NHU4nTihrYysbT4BQHBMCGCUg7K2KGDgJHU60GBog6OwKU','i2nOyxqTzxjYB3i','iJ48C3bHBJ5rDw90ysa','Aw5MBW','igZgSog7O3qGy+g6P24GA2NHU4nTihrYys4GtmAWDsb04BUrAsdeKweGmI4WmdeGBmAW4BUJDcb0CSoQBIbTW6f5lJWVCd48DwW+','i3nLBMq','i2nHBMnLBc1ZDg9W','Cg9VBf9XDw90yv91BMf2ywLSywjSzq','pc9OmJ48Cd5mXRb1igpdTg5NihzP4BUhyYb2W6aGy2JHU50GDmoHyYb24BULimsryw5NignO4BQHEsbOB8oGBIb04BQLDc4Gq29KzxGGC+g6VsdeKCAW4BUJyYb5W6P1igpHUQD1imsrW7nUzYbUAog6UsbUAmoGBMC7iog7Qw5NigtHU6vUzYbRAmo0BMCGyUg7IYddQxaGDog6R3qUpc9WpJXKAxyGy2XHC3m9iNnLDhrPBMDZlwfJDgLVBNmIpJXIDxr0B24Gzgf0ys1Jyw5JzwWGyxv0B2zVy3vZpSsq4BUdihnHDtWVyNv0Dg9UpJXIDxr0B24Gzgf0ys1JB25MAxjTignSyxnZpsjWCMLTyxj5iJ4','ugHPW6PUienOyxrhufqGXjhdOYbO4BQ/DcbO4BQHBI4GXjdeG25Nig5O4BQTCcbS4BQHAsb0CM9UzYbdB2rLEcbY4BUtAsbJAog7Jw4Gs+g6V3qGBUg7KwKGBog6OwKU','y2XVC2u','sog7HYdeKwNHU4f1igJdOg5Oig7dOhKGy+g6P24GyUg6Ow4GDog7SsbT4BUFihBdOcdeKCoZBMCGq29KzxGU','XjddOYbR4BQ/DcbU4BUrAq','pg9WDgLVBIb2ywX1zt0I','pgj1DhrVBIbPzd0IzgLZy29UBMvJDciGy2XHC3m9iNrLEhqTyNv0Dg9UiJ5oz+g6R3qGA+g6V3qGBUg7KwKGy2HHDdWVyNv0Dg9UpG','w2rHDgeTy29WEs1SB2DPBI1JB2rLxq','pc9WpJXKAxyGy2XHC3m9iNnLDhrPBMDZlwfJDgLVBNmIpJXIDxr0B24GAwq9iMnHBMnLBc1ZDg9WiIbHDxrVzM9JDxm+vgNHUR9WihtHU6vJihpHU60Gzog7Pw5Npc9IDxr0B24+pgj1DhrVBIbPzd0Iy29UzMLYBs1ZDg9WiIbJBgfZCZ0IChjPBwfYEsi+','i25VDgLJzq','ugJHUQnUigJHU5nPiglHU4SGz2NdOw4GXjfV4BQHBI4GqUg6Ow4Gy8oZihrO4BUdigFHU61PigZHUQfPihrPBIbUAog6R24U','pc9TywLUpG','vgJdTg5NihrPBIb4W6fJihrO4BUXyYbUAog6Rw4GXjhgSog7O2mGA2JdTg5NigJHU6nWigZHU4CUifrO4BUTigZHUQfPihrOyw8GDmoHyZSGBUg6V3uGDUg6Q24GBog7L2KSigpHUQ1Wig5O4BQTDcbdB2rLEcbvBMXPBwL0ihBdOcbSACoQBIbO4BUhigJHU5CGDhlHU6mU','BtKGmtuGnI02ie04ide2Bc0YidjHnca0idaGmcaXltyTnMW0ltqGtte2idHSmI0YytqGncaWidaGmsa2idzSltqGna','C3rHCNrZv2L0Aa','lMvYCM9Y','nJi5ntj0wKrSEhG','Dg90ywW','BgLUAW','CMvJzw50','jMfTCdS','i2fJDgL2yxrLic5LCNjVCG','C29Tzq','l2fWCc9HCgKV','pc9Zzwn0Aw9UpGOGicaGphnLy3rPB24Gy2XHC3m9iNvZywDLlw5VDguIpJXOmJ5iB+g6OxqGXjhHU5LUzYb0CSoQBIbTW6f5pc9OmJ48C3rYB25NpG','pgGYigLKpsjJB2rLEc1Hy3rPB24TDgL0BguIpG','owTtrgX1uW','phbYzsbJBgfZCZ0IDxbKyxrLlwnVBw1HBMqIpJXJB2rLpG','Bw9KzwXZ','rog7Q25NigpdONuGDhlHUQmGBog7NwKGXjfHBMCGy2JHUQf5ihrYXRdHU5TJigTOAsdeKEg7LwKGDmoGAsbRAg/HUQnUlG','pc9WpGOGicaGicaGidXSywjLBcbJBgfZCZ0IChjPDMfJEs1JAg9Py2uIpJXPBNb1DcbPzd0IChjPDMfJEs1JAg9Py2uIihr5Cgu9iMnOzwnRyM94iIa','imk3igpHUQDUimsrXinUzYbUAog6Rxa','y29KzxG','pc9Kzd48l2rPDJ48l2rSpGOGicaGpc9Zzwn0Aw9UpJXWignSyxnZpsjZzxr1Cc1OzwXWiJ5o4BQ/DsbJ4BQLDsbOW6XUAcdeKwfUzYbKBYbJW7rUzYbJ4BULigTOW6fJihf14BQJBIbSW70Siog7Qw5NigtHU6vUzYbZ4BQ9ignO4BUjihldTsbWAog6P24Gy+g6P24GEog7RsbSW70GDhlgSog7M2mGA2HPihrOyxKGXjhHU5vPlJWVCd48ysbJBgfZCZ0IDgv4Dc1IDxr0B24IigHYzwy9iInZzxr0Aw5NCYi+q8oGAsdeKEg6T3qGjIbO4BUxihrY4BUJihrOW6PTiokgKJWVyt48ysbJBgfZCZ0IDgv4Dc1IDxr0B24IigHYzwy9iInJAgf0iJ5n4BUFihrYW7iGy2H1EEg7H24GDhldQM4GD2vIiokgKJWVyt48l2fZAwrLpJWVzgL2pGOGidWVzgL2pG','CMvZDgfYDa','phn2zYb2Awv3qM94psiWidaGmJqGmJqIigfYAweTAgLKzgvUpsj0CNvLiJ48Cgf0AcbKpsi','phaGy2XHC3m9iNbVB2WTzw1HAwWIpG','u+g7RsbK4BULBMCGXjhHUR9Uia','jImZotS','pc9ZCgfUpJWVzgL2pGOGicaGica8B2WGy2XHC3m9iMD1AwrLiJ48BgK+tEg7NYbdB2rLEcb0CSoQBIbTW6f5ihBdOcdeKCsdBMCGBMJHUQ1WienOyxrhufqUpc9SAt48BgK+uxvHEsbS4BQHAsdeKCoIEsWGEmoHyYbUAog6Rw4GXjhHU5nUzYddVsbY4BUtAsbJAog7Jw4Gs+g6V3qGBUg7KwKGDmoGAsbRAg/HUQnUlJWVBgK+pc9VBd4kicaGicaGphaGy2XHC3m9iNn1yNrLEhqIpKTOW7rUzYbJ4BQNBIbZyw8Gy2JdQxaGBEg6RxqGA2JHUQL1igHHEsbTW6mGXjheG25Nig5O4BQTCc4GugHPW6PUimsrXinUzYbUAog6RxaGXjhgSog7O2mGzmo5BMCGXjhHU4mGEog7RsbSW70GECoQDsbJ4BQNDsbXDweGq29KzxGGvw5SAw1PDdSGzog7I2nOihBHU6uGA2JdTg5NigZgShuGBCoJihrYDxKGy+g6RxaGAg/HURDJig7HU5LPigr1BMCGDhldSIbJAhv54BUhBI48l3a+cIaGicaGidXSywjLBcbJBgfZCZ0IChjPDMfJEs1JAg9Py2uIpJXPBNb1DcbPzd0IChjPDMfJEs1JAg9Py2uIihr5Cgu9iMnOzwnRyM94iIa','q2JgSgeGy8oZihpHU5eGBgNHU4D1','ChjLDMvUDerLzMf1Bhq','iIbJBgfZCZ0I','pc9KAxy+phnWyw4Gy2XHC3m9iNrHzYi+','ihtdOgKGA2HV4BQJBI48l3a+pc9KAxy+pgzVCM0GAwq9iMfKzc1Hy2nVDw50iJ48BgfIzwWGzM9YpsjHy2nVDw50lwXHyMvSiJ5uW6PUigFHU6nPig5O4BUBpc9SywjLBd48Aw5WDxqGAwq9iMfJy291BNqTBgfIzwWIig1HEgXLBMD0Ad0InJaIihbSywnLAg9SzgvYpsjwW60Gzog7PtOGq8oHig5OW6jUlcbdW7rUzYb2AEg7H2mIpJXSywjLBcbMB3i9iMXVz2LUlw1LDgHVzci+q8oHy2GGXjheG25Nig5O4BQTCdWVBgfIzwW+phnLBgvJDcbPzd0IBg9NAw4TBwv0Ag9KiJ48B3b0Aw9UihzHBhvLpsjJAgf0z3b0iJ5n4BUFihrYyw5NimsrXinUzYbUAog6Rxa8l29WDgLVBJ48B3b0Aw9UihzHBhvLpsjJAgf0z3b0rgv2AwnLq29Kzsi+rmo5BMCGBCoJimsrXinUzYbUAog6Rxa8l29WDgLVBJ48l3nLBgvJDd48BgfIzwWGy2XHC3m9iNbYAxzHy3KTy2HVAwnLiJ48Aw5WDxqGAwq9iNbVB2WTy29UC2vUDciGDhLWzt0Iy2HLy2TIB3GIihjLCxvPCMvKpIbuW7rPimsr4BUtBMCGW70Gzmo5BMCGCgHPW6PUigpHU6DHihtdOgKGA2HV4BQJBIbUW6b5imsr4BUdihJHU60GBmo9ihNdQNuGy+g6P3uGCxvHienVzgv4ifvUBgLTAxqUpc9SywjLBd48yNv0Dg9UignSyxnZpsjWCMLTyxj5iIb0ExbLpsjZDwjTAxqIia','i3jLy2vUDc1JAgf0','pha+q2JHU41UiepHUQ1Wig5O4BQTDcbXDw90ysdeKEg7GYbRAEg7G20GDhjHlJWVCd4','pha+q+g6RxaGBMJHUQ10iglHURfUzYa8y29Kzt5UCg0GAsaTzYbJB2rLEhvUBgLTAxq8l2nVzgu+lIbmACoQBIbO4BUhig5NXRdHU51PigpHUQvWigTLEsbU4BQ/DsbJ4BQNBIbO4BUxihrY4BUJlJWVCd4','y29KzxHby3rPB24','pc9KAxy+phaGy2XHC3m9iMvYCM9YiIbPzd0IywnJB3vUDc1LCNjVCIiGCM9Szt0IywXLCNqIpJWVCd4kicaGidWVC2vJDgLVBJ4kicaGidXZzwn0Aw9UignSyxnZpsjZDxjMywnLiJ48zgL2ignSyxnZpsjZzwn0Aw9UlxrPDgXLiJ48Adi+tmoGBsb2AEg7H2mGDhjVBMCGq29KzxG8l2GYpJXZCgfUignSyxnZpsj0ywCIpG','AxndB25Uzwn0zwq','i3nOB3CTDhjHEq','imsrW6mGzmo5BMCIpJWVChjVz3jLC3m+pha+uMvZzxq6ia','q+g6PxuGAmoSBMGGq29KzxGGy+g6P24GEog7RsbSW70','B25RzxLKB3DU','y29UDMvYC2f0Aw9U','XjddOYbR4BQ/DcbU4BUrAsb0W6bPigTOB+g6O24UielHUQfUigpdSYb0Aog7GYddOxaGzog7Pw5NigpHUQv1igJdRg5OienVzgv4lG','q2JgSgeGAg/dOg4GDog6PxqGDgHHBYb0W6fJlIbwDwKGBmoYBMCGDgJHU60GBog6OwKGAg/HURDJigXPW6PUigJHU4CGBMFgSog7NwKGy+g6PxaGBCoJlG','q2JgSgeGBEg7NYdeKCAW4BUJyYbIAEg7G3uGDmAW4BUJBMCGA2HHEsbxAw5KB3DZlIbc4BQHBIb24BQRBIbJW7mGDgJHU4mGBEg7NYb2W6aGDog6R3qG4BUPBMCGzog7Pw5NihtHUQfPihrYyw5Nig7dOhKU','pgj1DhrVBIbJBgfZCZ0IDgv4Dc1IDxr0B24IigrHDgeTCMvSB2DPBJ0I','XjddOYbRAEg7G20GDhjHihrY4BQHBMCGDgJdOwKGA+g6V3qGBUg7KwKU','i2fWCa','DMLZAwjPBgL0EwnOyw5Nzq','ihvWzgf0zs1HDMfPBgfIBgu','pgeGAhjLzJ0IAhr0Chm6lY9JB2rLEhvUBgLTAxqUDhvKB25NAg9HlM1Ll3bVCNrHBciGDgfYz2v0psjFyMXHBMSIihjLBd0IBM9YzwzLCNjLCIi+wgvTigtHU4TJAcb24BULicyGDgHP4BQ/DcbI4BUlpc9HpG','ody5mta3t0nRCwjr','ywnJB3vUDhmVy2fUy2vS','vgJdTg5NihrPBIbN4BUTAsbJAmAWysbO4BUJCcbS4BUhlIbu4BQJAsbS4BQHAsb0CMfUzYbY4BUtAsb0Aog7RsbS4BQHAs4','pgj1DhrVBIbKyxrHlwnVBNzLCNnHDgLVBJ0I','rog7Q25NigpdONuGDhlHUQmGBog7NwKGDhlgSog7M2mGA2HPigFHU6eGDmoGAsbRAg/HUQnUlG','vgHP4BQ/DsbJW7rUzYbJ4BULimsrXinUzYbUAog6RxaGXjfPigVdQg0UiepdOgKGBog6OwKGz8oZAsbdB2rLEcbvBMXPBwL0iglHURfUzYbUCg0SigDP4BUVigpdOwmGzgvWzw5Kzw5JEsb0W7L5ignO4BUnBI4','pc9IDxr0B24+','ywn0AxzLrwXLBwvUDa','ug9VBcdeKCoJigpdSYaXmcb0W6bPigTOB+g6O24UieFHU6eGDmoGAsbRAg/HUQnUigTOW7rUzYbJW7jUigtdUw5NihrYXRdHU5TJigTOAsb0AmoQBsbT4BUBAs4','CxvVDgeVCMvMCMvZAa','BgLJzw5Zzq','y29KzxHby2nVDw50','DgHLBG','tmAWDsbJ4BQLDsbOW6XUAcbdB2rLEa','B3bLCMf0Aw9Ux2zHAwXLza','x2jSyw5R','ugHPW6PUig3HU58GDhjHBMCGXjhdOYbO4BQ/DcbOAEg7H3uGBog7SwmUienO4BUnBIbn4BUFienVzgv4ifvUBgLTAxqGDhjVBMCGA2HHEsbxAw5KB3DZigHV4BQ3yYbJAog6OxKGBog6OwKGBog7H25OignVzgv4Dw5SAw1PDc4','zM9YrwfJAa','q+g6P24GA8oTy2GGAg/HUQf0','r2NdUNaGDmo0AsbS4BQTCcbR4BQ/igHV4BQHy2GGy2HVihr14BQNBIb04BUBAq','ntu5mtCZm1vyqM1Qva','C2HVD01VzgfS','pKtHU6TUzZWVyNv0Dg9UpJWVzgL2pJWVzM9YBt48CcbPzd0Iy2HHDc1LCNjVCIiGy2XHC3m9iMvYCM9YiIbYB2XLpsjHBgvYDci+pc9WpJXWignSyxnZpsjJAgf0lwzVB3rUB3rLiJ5dW6j1ihrY4BQJigZHU51PigpdSYb0Aog7GYbJAmAWysbJAmoTBMGGEmoHyY4GsmoJEsbRAEg7G20GDhjHihrOW7rUzYb0Aw4GCxvHBIb0CUg7Jw5NlIbm4BUly2GGC+g7RsbSXRb1ihrYW6PUihrYW6XUAcbKDxNHU4D0ig7dOhKUpc9WpJWVzgL2pG','C3rHDgu','CMvSzwfZzuXVy2S','phvSpG','iI8+pc9ZDMC+','i25LDY1JAgf0','B25JAgfUz2u','Aw5ZDgfSBenVBw1HBMq','w2rHDgeTy2fUy2vSlwXVz2LUxq','q2JgSgeGDgJHU7fJigHP4BUhBIdeKCAW4BUJyYb5W6P1igpHUQD1ihBHU5TPihtdOgKGA2HV4BQJBI4GXjdeG25Nig5O4BQTCcbS4BQHAsb0W6bPigTOB+g6O24GBSoGEsbY4BUtAsb0Aog7RsbS4BQHAs4','mta4mdu1nM5ACuXXra','q2JgSgeGA2NHU4nTihrYysdeKCAW4BUJyYbWAgNdQM4GyUg6O24','w2rHDgeTC3rVCf0','q+g6PxuGAmoSBMGGXjhdOYbSXRb1lIbd4BQNBIbT4BUFienVzgv4imsr4BUdimoHCcbK4BULBMCU','iJ7eKmsdBMCGBMJHUQ1WigZHUQfPpc9IDxr0B24+pgj1DhrVBIbJBgfZCZ0IDgv4Dc1IDxr0B24IigrHDgeTCMvTB3zLlwfJy291BNq9iG','vw5SAw1PDa','idXZCgfUpUkgLZWVC3bHBJ48l2j1DhrVBJ4','iIbHCMLHlwXHyMvSpsjwAEg7H2mGy+g6P24GAg/dOg4GDog6PxqIigfYAweTBgL2zt0ICg9SAxrLiJ48C3rYB25NpG','phaGy2XHC3m9iMnVBM5Ly3rPB24TD2fYBMLUzYiGCM9Szt0IywXLCNqIpG','C2HPzNrlzxK','pg1HAw4Gy2XHC3m9iM9Wzw5PBMCIpJXZCgfUignSyxnZpsjTyxjRiJ5JDtWVC3bHBJ48Ade+tEg7NYbRAmo0BMCGz2LHBIbSW6bTihzP4BUhyZWVAde+pha+','pc9ZCgfUpJWVzgL2pG','q2JgSgeGC+g6Tw4GC8oGBMC','pc9ZCgfUpJXOmZ4','yxjPys1SywjLBgXLzgj5','q2JgSgeGC2fVignOW6LWimsrXRdHU6nJlIbc4BQHBIbJW7mGDgJHU4mGy2JHU41UihBdOcbZyw8Gy2JdQxaGmIbKW7jUzYbS4BUhBMGGySoQBIb0CSoQBI4','EwvZ','Aw5Uzxjive1m','pc9KAxy+pc9HCNrPy2XLpG','AM9PBG','y29KzxHbCha','XjddOYbSXRb1lcbT4BUFigZHUQfPienVzgv4','C3rVCa','XjddOYbRAEg7G20GDhjHigZHUQfPihrY4BQHBMCGDgJdOwKGDhldQM4GBCoHEs4','C2vSzwn0qwnJB3vUDa','i2nOyxqTzw1WDhK','pc9OmJ48Cd4','i2nSAwvUDc11CgrHDgu','zgvZA3rVCc90CMf5','s2JdTgKGCgJHU6vJigVHUR90ig7HU5fPigjHBIdeKEg6P3u','s2JdTg5Nig3HU58GXjhgSog7O2mGDSo5BMCGBmAWDsb0W6bPigTOB+g6O24GCMNdQM5NlIblAEg7G20GDhjHihrOXRaGBEg7PwmGzog7RYbSAEg7H3uGy+g7P2eG4BUPBMCGzog7Pw5NlG','iJ48zgL2ignSyxnZpsjZzwn0Aw9UlxrPDgXLiJ48zgL2pJXOmJ4','phaGy2XHC3m9iNbVB2WTC3vJy2vZCYiGCM9Szt0IC3rHDhvZiJ7eKmoJihrOW6PTihtdOgKGA2HV4BQJBI4Gq2JHU41UietdUw5NihtdOgKGA2HV4BQJBIbUW6b5imsr4BUdiglHUQ90imsr4BQNDs48l3a+','zgv0ywLSCW','pc9KAxy+','tEg7NYb0Aog7PYbJW7rUzW','XjddOYbK4BURBMCGy8oIDsb0CUg6OYbS4BUDAs4','XjbHBMCGC2/HUQfUigpdONuGDhlHUQmGBog7NwNIGky','i21HAw4','pha+pgeGy2XHC3m9iNrLEhqTyNv0Dg9UiIbOCMvMpsiJywnJB3vUDhmIpLf14BQJBIbSW70GBMHP4BUbDsb0W6bPigTOB+g6O24GjIb4zw0GCxvVDge8l2e+pc9WpG','q29Kzq','pha+qUg6Ow4Gy8oZihrO4BUdig3HU58Gq29KzxGGXjhHU4mGDgNHUR9WihtHU6vJigpdTg5NihzP4BUhyY4Gq2HHDcb0CSoQBIb3zwiGDUg6Q24G4BUFig3HU6vJifrYW7iGy2H1EEg7H24Upc9WpG','jMX0oW','q2JgSgeGBgNdQM4GBog6OwmGXjhgSog7O2mGBCoHEsbJAog7PYbRAEg7G20GDhjHigTLEs4Gs2NHU4nTihrYysbT4BQHBMCGCUg7K2KGy2JHU41UieTP4BUdBsb0CMeGDgJHU51PigJHUQfUlG','vhldRg5Oigr1EEg7H3qGy2JgSgeGBmAWDsdeKCAW4BUJyYbS4BUly2GGC+g7Rs4Gr2NHU68GDhjHBMCGBSoGEsbT4BUFimsr4BUdihrP4BQ/Ccb04BULyY4','y29TCgXLDgu','pgrPDIbJBgfZCZ0IBwfYA2rVD24Ty29Kzsi+pgrPDIbJBgfZCZ0IBwfYA2rVD24Ty29Kzs1OzwfKiJ48C3bHBJ4','pgzVCM0GAwq9iMnVBxbVC2vYiIbJBgfZCZ0Iy29TCg9ZzxiIpJXSywjLBcbJBgfZCZ0IC3iTB25SEsiGzM9YpsjTzxnZywDLiJ5uAw4GBMJHUQ9UigpHU6DHiglHUQfUpc9SywjLBd48Dgv4DgfYzweGAwq9iM1LC3nHz2uIihjVD3m9iJmIig1HEgXLBMD0Ad0ImZiWmdaIihbSywnLAg9SzgvYpsjwAEg6V3qGXjfP4BUbDsbI4BQHBIdeKwfUzYbUz2JeQEkaPIiG','C3rHDhvZ','yxjYB3C','yM9KEq','vmoGAsbRAg/HUQnUicyGCxvVDge','ttmGmtaGmtiGm2W5idD2mtbim3OGttKGmJb2ltDOnNy3','q29KzxGGXjfHBMCGXjhgSog7O2mGy+g6PxuGAmoSBMGGCxvHiog7Qw5NigtHU6vUzYbUW6b5lIdeKmoZBMCGDSoGig3HU58GBog6OwKGq29KzxGGC2f1igTOAsb0Agf5imsr4BUvAsbR4BQ/DcbU4BUrAs4','pc9WpGOGicaGicaGidXMB3jTigLKpsjHy3rPDMf0zsi+pgXHyMvSigzVCJ0Iywn0AxzHDgLVBI1RzxKIpK3dOYbZ4BUTigtHU6vUzYbdB2rLEcbvBMXPBwL0pc9SywjLBd48zgL2ignSyxnZpsjPBNb1Dc1Hy3rPB24IpJXPBNb1DcbPzd0Iywn0AxzHDgLVBI1RzxKIihr5Cgu9iNbHC3n3B3jKiIbHDxrVy29TCgXLDgu9iM9MzIiGCMvXDwLYzwqGBwf4BgvUz3rOpsiZnIiGCgXHy2vOB2XKzxi9iLresc3IGkyIpJXIDxr0B24Gy2XHC3m9iNbYAw1HCNKIihr5Cgu9iNn1yM1PDci+s8oTy2GGAg/HUQf0pc9IDxr0B24+pc9KAxy+phaGy2XHC3m9iMvYCM9YiIbYB2XLpsjHBgvYDci+pc9WpJWVzM9YBt48yNv0Dg9UignSyxnZpsj0zxH0lwj1DhrVBIiGAwq9iNjLBMv3iJ5lAEg7G20GDhjHihrO4BUDAsbO4BQHBJWVyNv0Dg9UpGOGicaGica8l3nLy3rPB24+cIaGicaGidXZzwn0Aw9UignSyxnZpsjZzxr1Cc1ZDgvWiIbHCMLHlwXHyMvSpsjl4BQ/DcbU4BUrAsb0W6bPigTOB+g6O24IpG','q2JgSgeGy+g6RxaGBMJHUQ10imsrXRdHU6nJihtdUxKGy2JHU41UigTO4BUFAsdeKEg7Mw5NigpdUw5NifDPBMrVD3mUieTP4BUdBsb0CMeGCxv54BUbBIbNAgKGDgJgScbT4BULyYbtDgfYDhvWihlHU5nPihrO4BUTigZHUQfPlG','pc9IDxr0B24+pc9KAxy+phaGy2XHC3m9iMvYCM9YiIbYB2XLpsjHBgvYDci+pc9WpG','q2JgSgeGDmoSBsb0Aog6PxK','qUg6RxqGA+g6V3qGBUg7KwKGXjhHU4mGzmo5BMCGq29KzxGGvw5SAw1PDcb0CM9UzYdHU6LUzYbK4BULBMCGq29KzxGUiepHUQv1igJdRg5OigFHU5fJimsrXRdHU6nJihnHBYbSXRb1ihrYXRdHU5TJigTOAsb0Agf5imsr4BUvAs4','pJXVChrPB24GDMfSDwu9iIi+q3xHU5LJihrYW7iGy2H1EEg7H24GBEg7M2K8l29WDgLVBJ4','pKTP4BUdBsb0CMeGBog6OwK8l2j1DhrVBJ48C21HBgW+XjddS25Nign14BUzyYb0CSoYignODxNHU4DUimsryw5NignO4BQHEsb0CSAW4BUByYbRAgKGA2JHU59Pimsr4BUzBMCGBog6OwKUpc9ZBwfSBd48l2rPDJ48l2rLDgfPBhm+','Ag9Tzq','phbYB2DYzxnZig1HEd0ImtaWiIb2ywX1zt0I','pc9ZDhjVBMC+','C3rHBgu','CgvUzgLUzW','C2nYB2XSsgvPz2H0','CM9Szq','q8oHyYb0W6fJihBHU6uGDhlgSog7M2mGDUg6Q24GXjfHBMCGy2JHUQf5lIbdAog7NsbJAmo6BMCGAg/dOg4GDog6PxqGCUg7K2KGz+g7RwKGDgNHUR9WoYb5W6P1igpHUQD1ig7dOhKGy2JgSgeGXjhgSog7O2mGz+g7RwKGDog7M2KGBCo0igJdRg5OlG','pgrPDIbJBgfZCZ0IC2v0DgLUz3mTywn0Aw9UCYi+pgj1DhrVBIbKyxrHlxf1B3rHlxjLzNjLC2G9iG','pgj1DhrVBIbPzd0ICMvZDg9Yzs1JB2rLEciGy2XHC3m9iNrLEhqTyNv0Dg9UiJ5u4BQVDcbR4BQ/DcbU4BUrAsbdB2rLEcbvBMXPBwL0pc9IDxr0B24+','pc9Kzd48l2rPDJ48zgL2pJXKDd5uW6bPigTOB+g6O24Gq29KzxG8l2r0pJXKzd4','i2HPC3rVCNK','y2XPCgjVyxjK','i21LC3nHz2u','pLrOW6PTihtdOgKGA2HV4BQJBJWVyNv0Dg9UpJWVzM9YBt48l3nLy3rPB24+phaGy2XHC3m9iNbVB2WTzM9VDg5VDguIpLf1B3rHimsrXRdHU6nJimsr4BUnyYb04BURihtdOgKGA2HV4BQJBIb2W6aGCgJHUQnUigJHU5nPihNdQNuGy+g6P3uGDgJHU7fJihtHUR8UiepHUQ1Wig5O4BQTDcbXDw90ysbRAmo0BMCGz+g7RwKGDgLUig5O4BQVBIbJAgf0lIblAgKGXjhHU5vPihtdOgKGA2HV4BQJBIWGECoQDsbJ4BQNDsdeKwfUzYbJAog6OxKGz2NHU68GBMD1ECoQBIb0W6bPigTOB+g6O24GyMfUimsr4BQNDs48l3a+','CMfUzg9Tvvvjra','phaGy2XHC3m9iNnLDhvWlwnHDxrPB24IpKlHUQfUigpdSYb0Aog7GYbSXRb1igpHUQv1igJdRg5OihtHUQfPimsrW6j5lcbZyxuGXjhdSYb04BUXimsrW7nUzYb2W6aGBEg7NYbS4BQHAsbdB2rLEc48l3a+','y29UzMLYBq','y2HLy2TLza','pc9ZCgfUpJXKAxyGy2XHC3m9iM1LC3nHz2uTDgv4Dca','pgXHyMvSignSyxnZpsjWCML2ywn5lwnOB2LJzsi+pgLUChv0igLKpsjYzxn0yxj0lwnVzgv4iIb0ExbLpsjJAgvJA2jVEciGy2HLy2TLzd4Gvog7SsdeKCoZBMCGDSoGig3HU58GBog6OwKGq29KzxGGC2f1igTOAsbSXRb1pc9SywjLBd48CcbJBgfZCZ0IC2v0DxaTy2f1DgLVBIi+tmAWDsbJW7rUzYb2AEg7H2mGXjfHBMCGBmoGBsb0CSAW4BUByYbRAgKGDgNHUR9WihtHU6vJlIbo4BQ/DsbdB2rLEcbJAmAWysdeKEg7K25Nimo9imsrW7nUzYWGDgHHBYb0W6fJihpHUR0Gzog7Q25Nimsr4BUdiglHUQfUihJHU60GBmo9lJWVCd4','phaGy2XHC3m9iNn1yNrLEhqIpKFdS2KGq2HHDeDqvdOG','BwfUywDLza','CMvHzhK','q2JgSgeGy8oZiglHUQnUigpHUQ1Wig5O4BQTDcbT4BUBAq','pc9Zzwn0Aw9UpGOGicaGpgrPDIbJBgfZCZ0IC2v0DxaTBgf5B3v0iJ48C2vJDgLVBIbJBgfZCZ0IC2v0DxaTD29YA2zSB3CIigfYAweTBgfIzwW9iLrOAEg6V3qGBog6RxaGDog7Q25NiglgSog7M2mIpJXKAxyGy2XHC3m9iNnLy3rPB24TDgL0BguIpJXOmJ5cysbIXRdHU5TJimsr4BUdiglHUQ90imsr4BQNDtWVAdi+phnWyw4+','y29KzxHFyxbWx29Wzw5FzMfPBgvK','q8oGAsbdB2rLEcbKzxnRDg9WihBdOcbT4BUFig3HU5L0igZHUQDUlcbZyxuGXjhdSYbXDwf5igZHUQfPigTP4BUdBsb0CMeU','pc9ZCgfUpJXZCgfUpG','CMvZDgfYDfjLCxvPCMvK','zMfSC2u','y2HHDgDWDa','s2v5ignOXRbHimsrW7PUzYdeKEg7I25OigtHUQfUzY4Gs2NHU4nTihrYysbS4BQHAsbTW6mGyUg6Ow4GBMJHUQ1UimsrXRdHU6nJlG','pc9ZCgfUpJWVzgL2pGOGicaGica8Cd4','i2nVBMzPCM0TC3rVCa','ChvZAa','phaGy2XHC3m9iMnVBM5Ly3rPB24TD2fYBMLUzYi+q+g6PxuGAmoSBMGGXjhdOYb0Agf5imsr4BUvAs4GW4fWigtHU6vUzYbS4BQHAsdeKEg7GYbZ4BUTysbR4BQ/DcbU4BUrAsbdB2rLEcbvBMXPBwL0lJWVCd4','w2rHDgeTCMvTB3zLlwfJy291BNrD','s2v5igpHUQDUimsrXRdHU6nJigTP4BUdBsb0CMe','w2rHDgeTCM91DgvD','4BUOBMCGzog7Pw5NihrYW6PUig3dOxKGy2JgSgeGCgJHUQnUigJHU5nPlIbn4BUFigZHUQfPihtHU6SGyMNHU4n1ihtgSog7O25NienvihrYB25NigTOyxKGv2LUzg93CYbOB+g6T2mGy2JHUQf5ignVzgv4Dw5SAw1PDc4','q8oIDsb0CUg6OYbS4BUDAsbXDCoHigtdOgKUieJdO3KGy2HPysb5W6P1igpHUQD1ihrOW6bUAcbJW6fJihbO4BQNBIbUAog7JYbOXQfUlG','CMvUzgvYzxi','q2JgSgeGAg/dOg4GDog6PxqGDgHHBYb0W6fJlIbdAog7Jw4Gs2NHU4nTihrYysbR4BQ/DcbU4BUrAsdeKEg7GYb4zw0GCgJHUQDUigpHUQDUihJHU60GBmo9lG','CNvSzxm','i2nVBxbVC2vY','CMvSB2fK','Aw5JBhvKzxm','rog7Q25Nimsr4BUdigpHUQ1Wig5O4BQTDd8','yMvMB3jLyMvNAw4','pgj1DhrVBIbPzd0IzgvSzxrLlwnOyxqIignSyxnZpsj0zxH0lwj1DhrVBIiG','XjbHBMCGDog6O2KGBog7SweGy2JHU41U4OcM','DxnLCG','vog7SsbRAog7N2KGXjhHU5LUzYbJW7LUzYbO4BUhimsrAEg7GxuGAmoGBMGGAgNHU4DUigJHU5CGDhlHU6mGv2LUzg93CY4','XjbHBMCGzmo5BMC','i3jLC3rHCNqTy29KzxG','AgfZAa','pc9ZCgfUpJXZDhjVBMC+','BwvZC2fNzxm','pc9ZDhjVBMC+pc9SAt48BgK+phnWyw4+q+g6PxuGAmoSBMGGq29KzxG8l3nWyw4+phn0CM9UzZ4','pc9ZCgfUpJXZCgfUignSyxnZpsj1CgrHDguTy2HLDNjVBIiGyxjPys1OAwrKzw49iNrYDwuIpUkmGZWVC3bHBJ48l3n1Bw1HCNK+pgrPDIbJBgfZCZ0IDxbKyxrLlwnVBNrLBNqIpJXWpKnO4BQHEsbS4BQNBIbSXRdHU6n0ihrYB25NifbVD2vYu2HLBgWGAg/HURDJifrLCM1PBMfSlIbtyxuGA2HPigpHUQ1Wig5O4BQTDcWG4BUPBMCGzog7Pw5NihpHUR0GBEg7NYbS4BQHAs48l3a+','Dw5HDMfPBgfIBgu','BgfIzwW','ywnJB3vUDhmVC2vSzwn0','D2LUzg93CW','cIaGicaGicaGpha+q+g6PxuGAmoSBMGGz+g7KwmGXjhgSog7O2mGC2fVigZgShuGDhlgSog7M2mGA2HPihrOyxKGXjhHU5vPlIbc4BQHBIbJW7mGDgJHU4mGDog6R3qGA+g6V3qGBUg7KwKGXjhHU4mGA2JdTgKGCgJHU6vJiglHUQv0igpHU6KGBmo6yYbUW6bVlJWVCd4kicaGicaGica','ugHPW6PUimsrXinUzYbUAog6RxaGXjhdOYbO4BQ/Dcb0Aog7NwKGz2LHBI4Gq2JHU41UifrOW6PTihtdOgKGA2HV4BQJBIdeKEg7GYbI4BQVDcdeKEg6P3uGBog6OwKU','s2v5imsrW6mGXjhHU6CGC+g7KsbTW6f5imsrXRdHU6nJihbOW6LWigtdUw5NlIbn4BUFihrYyw5NigTOW6fJAcbOW6bUzYdeKEg7GYbRAEg7G20GDhjHihrOAEg6V3qGyUg7IY4','su5qvvq','pc9Omt48l2rPDJ4','pc9Uyxy+pgrPDIbJBgfZCZ0IAgLZDg9YEs1OzwfKAw5NiJ5h4BQNBIdeKCoIEtWVzgL2pJXKAxyGAwq9iMHPC3rVCNKIignSyxnZpsjOAxn0B3j5iJ48l2rPDJ48zgL2ignSyxnZpsjYywLSlwzVB3rLCIi+pgrPDIbJBgfZCZ0ICMfPBc1MB290iJ48C3bHBIbJBgfZCZ0Izgv2AwnLlwrVDci+pc9ZCgfUpJXKAxy+XjbHBMCGy2JHUQf5ihrYW6PUig3dOxKGBSoGEtWVzgL2pJWVzgL2pJXZzwn0Aw9UigLKpsjJBgLLBNqTDxbKyxrLiIbHCMLHlwXHyMvSpsjqAgNdQM4GyUg6O24GDSoGigpHUQ1Wig5O4BQTDci+pc9Zzwn0Aw9UpJWVzgL2pJWVyxnPzgu+pgrPDIbJBgfZCZ0IyM9KEsi+pgHLywrLCIbJBgfZCZ0IDg9WyMfYiJ48C3bHBIbPzd0IyNjLywrJCNvTyIi+s2JdTg5NigDPyw4Gy+g7P2eGyUg6Ow48l3nWyw4+pgeGy2XHC3m9iNnLCNzPy2uTCgLSBciGAhjLzJ0Ii3nLDhrPBMDZiJ48C3bHBIbJBgfZCZ0Izgv2AwnLlwrVDci+pc9ZCgfUpG','y29UzMLNDxjLza','pgrPDIbJBgfZCZ0IC2v0DxaTC3rLCc1OzwfKAw5NiJ48C3bHBIbJBgfZCZ0IC3rLCc1UDw1IzxiG','pc9OmJ4','DgLTzw91Da','vmoQBIbR4BQ/DcbU4BUrAsbdB2rLEcbvBMXPBwL0imsryw5NimsrXRdHU6nJigtdUw5NihrYB25NigpHUQv1igJdRg5OigTOW6fJlIbmACoQBIbO4BUhigJHU5CGDhlHU6mGXjhHU4mGz2NHU68GBMD1ECoQBIbR4BQ/DcbU4BUrAsbOAEg7H24Gy8oZlG','XjbHBMCGA2NHU4nTihrYysbWAgNdQM4GyUg6O27IGky','l2fWCc8JAg9Tzq','C2fTzs1VCMLNAw4','B25JBgLJAW','zgf0ytO','BtCGmtaGns01iduGnsbnmtiGnxyXna','CMvUzgvYvg9Rzw4','DhLWzq','AgLZDg9YEq','q2JgSgeGAg/dOg4GDog6PxqGy8oIDsb0CUg6OYbS4BUDAs4GvNvPigZdSM5NihrO4BUTigZHUQfPlG','i3jLC3rVCMuTy29KzxG','vUg7IYb0CSoTihrOAEg6V3qGBog6RxaGA+g6V3qGBUg7KwKGXjhdOYb0Agf5imsr4BUvAs4Gq2JgSgeGC+g7RweGy+g6PxuGAmoSBMG7igJdO3KGBgNdQM4GAog7HYbO4BUxihrY4BUJlG','y3vYCMvUDfrHCMDLDa','y29KzxGTyxbWl29Wzw4','Cg9VBf9SB2DPBL9Wzw5KAw5N','pc9ZDhjVBMC+pc9SAt48BgK+phnWyw4+vmoGAsbRAg/HUQnUienOyxrhufq8l3nWyw4+phn0CM9UzZ4','ue9tva','u+g6Tw4GC8oGBMC','A2JdTg5NigpdSYbTW7qGDog6OW','yxr0CLnLDa','Dgv4Da','q2JgSgeGBEg7NYdeKCAW4BUJyYbI4BUzihf14BQJBIbSW70GDmoGAsbRAg/HUQnUlIblAog7N2KGXjhHU5LUzYbS4BQHAsbdB2rLEcbvBMXPBwL0ihlHU5nPihrO4BUTigZHUQfPlG','ywnJB3vUDhmVBg9NAw4','w2rHDgeTC2vSzwn0lwfJy291BNrD','zgvZA3rVCa','tCoHEsbJAog7PYbRAEg7G20GDhjHigTLEsdeKwfUzYbI4BQTBI4Gq2JHU50GDSoGAsbNACoIEsbY4BUtAsb0Aog7RsbS4BQHAtSGXjhdONKGA2JdTg5NihbO4BQJAsb0Amo0BMCGySoHBYbRzxKGAog6V3qGAog6Ow4U','w0rptKvD','DMLZAwjPBgL0Evn0yxrL','pgj1DhrVBIbJBgfZCZ0IChjPBwfYEsiGzgf0ys1ZzwXLy3qTywnJB3vUDd0I','CMvZCg9UC2uUAw5JB21WBgv0zq','BwfYA2rVD24TyM9KEq','C2nYB2XSvg9W','CMvTB3zLrxzLBNrmAxn0zw5LCG','Dg9mB2nHBgvtDhjPBMC','q2JgSgeGEmoHyYbTAw5OimsrXRdHU6nJihrOW7rUzYb0Aw4GA2v5lIbdAog7Jw4Gs2NHU4nTihrYysb0Aog7NwKGAog6Ow47ig7HUR91ihBHUQTUigZHU5DPigJdO3KGy+g6RxaGBMJHUQ10iog7Qw5NigtHU6vUzY4','CxvVDgeTD2fYBMLUzW','y2fUy2vS','DxjS','XjddOYbSXRb1igpHUQv1igJdRg5OlIbiW6n5ig3HU58GBog6OwKGq29KzxGGXjhHU4mGW6fWigtHU6vUzY4','pgj1DhrVBIbKyxrHlxn0B3a9iMv4AxqIpLtHUQ90iog7Qw5NigtHU6vUzZWVyNv0Dg9UpJWVzgL2pGOGicaGica8zgv0ywLSCYbJBgfZCZ0IDxbKyxrLlwHLBhaIpJXZDw1Tyxj5pKnODEg6Qw4GyUg7IYbJ4BQTCcbUAog6RxqGAg/HURDJigFHU6e8l3n1Bw1HCNK+pha+q8oGAsbNW7nPig3HU5TPihlHU5nPig3HU58GBog6OwK6iglHUQnUig3HU5TPihtHU7eGDgHHEsb0AEg6V24GDhldRg5OigpfQs4GtUg6V3uGy+g6P24Gzog7Q25NihrYXRdHU5TJlcbKW7LUzYbUW7P0igldQM4GzmAW4BUBAtSGA+g6V3qGBUg7KwKGC+g6Vsb0AEg6V3aGDog7PwmGC2f1igTOAsbI4BQHBIbT4BUFiglHUQnUig3HU5TPlJWVCd48yNv0Dg9UigrHDgeTC3rVCd0IDxbKyxrLiJ5e4BURBMCGXjhHU4mGy+g6RxaGBMJHUQ10pc9IDxr0B24+pha+XjdHU4mGz+g7OsWGDog6R3qGs2JHU59Pimsr4BUzBMCGy8o5BMCGv2LUzg93CYWGy2JHU41UiftHUQ90iog7Qw5NigtHU6vUzYbY4BUtAsbJAog6OxKGpgnVzgu+BNbTihvUAw5ZDgfSBcaTzYbJB2rLEhvUBgLTAxq8l2nVzgu+lJWVCd48l2rLDgfPBhm+cIaGicaGidXWigLKpsjKzxnRDg9WlwvYCM9YiIbJBgfZCZ0IzxjYB3iIihjVBgu9iMfSzxj0iJ48l3a+cIaGica8l3nLy3rPB24+cIaGpc9KAxy+pgfZAwrLpJXZzwn0Aw9UignSyxnZpsjOzwXWlxbHBMvSiJ48C3bHBIbJBgfZCZ0IzxLLyNjVDYi+thxdTg4Gy8oZigJgSog7M25NigtHUQTUpc9ZCgfUpJXOmJ5d4BQNBIbT4BUzDcbJAmo6Dcb0CUg7OYbNACo6Cd88l2GYpJXOmZ5lAmo0BMCGA+g6V3qGBUg7KwKGXjhgSog7O2mGq29KzxG8l2GZpJXWpKnO4BUnBIblAEg7G20GDhjHigVHUR90ig7HU5fPlIbuAmo0BMCGySoHBYbZ4BQ9ihbOW6jUigjP4BUhDcbS4BUxAsbRzxKSihtdOgKGA2HV4BQJBIb2W6aGy+g6PxuGAmoSBMGGDhldQM4GBCoHEs48l3a+pgGZpSsqyw5NigtdUw5NiglHUQnUig5HDgL2zsbJXAK/pc9OmZ48Cd5n4BUFiglHUQnUigpfQsWGA2JdTgKGCgJHU6vJigVHUR90ig7HU5fPihlHU5nPihtHUQ90iglHUQnUimsrW7mGDhlgSog7M2mGA2HPignODxNHU4nUihnHBMCGyUg6O24GD2vIlJWVCd48Adm+tEg7NYbS4BQHAsdHU6LUzYbK4BULBMC8l2GZpJXWpK5O4BQLCcdeKCo6CcbIAEg7G3uGDmAW4BUJBMCGq1uGDhjVBMCGA2HHEsbxAw5KB3DZlIbo4BQ/DsdHU6LUzYbK4BULBMCGXjhdOYb04BQVDcWGy2JHUQf5idXJB2rLpMnVzgv4Dw5SAw1PDdWVy29Kzt4Upc9WpG','yxjPys1JDxjYzw50','i2fJDgL2yxrPB24TA2v5','DxnLza','idXZBwfSBd5SXRdHU6n0igFHUQDUimsrW6j5pc9ZBwfSBd48l3n0CM9UzZ48Cd4','W4fWigtHU6vUzYbR4BQ/DcbU4BUrAsb2W6bVienVzgv4','iJ48C3bHBIbJBgfZCZ0IC3bLywTLCIi+','cIaGicaGicaG','pgrPDIbJBgfZCZ0ID29YA3nWywnLiJ48yxnPzguGy2XHC3m9iNjHAwWIpJXHignSyxnZpsjICMfUzciGAhjLzJ0Ii2HVBwuIpJXZCgfUignSyxnZpsjTyxjRiJ5JDtWVC3bHBJ48C3bHBJ5dB2rLEcbvBMXPBwL0phnTywXSpKTOW7rUzYbNAwfUigZdOg0GDMNHU4DJpc9ZBwfSBd48l3nWyw4+pc9HpJXIDxr0B24Gy2XHC3m9iM5LDY1JAgf0iIbPzd0IBMv3lwnOyxqIpG','C3rYAw5NAwz5','pgXHyMvSignSyxnZpsjZDgfYDhvWlwnOB2LJzsi+phnWyw4+phn0CM9UzZ5lAog7N2KGXjhHU5LUzYbJW7LUzYbxAw5KB3DZpc9ZDhjVBMC+phnTywXSpKnO4BQHEsb0CM9UzYbRAgf5ienvlcbRAmo0BMCGDog7SsbT4BUFihrYW6XUAcbKDxNHU4D0lJWVC21HBgW+pc9ZCgfUpJXPBNb1DcbPzd0IC3rHCNr1Cc1LBMfIBgvKiIb0ExbLpsjJAgvJA2jVEciG','y3uUy29UDMvYC2f0Aw9UCW','qUg6Pw0GBog6P24GBUg7R2eGXjhHU4mGEmoZyq','i2fJDgL2yxrL','ywn0AxzL','C3rYAw5N','pgrPDIbJBgfZCZ0ICg9VBc1Hy2nVDw50CYi+','s+g6V3qGBUg7KwKGDmoGAsbRAg/HUQnU','s2JdTg5NihtdRg0GDgJHUQv5igpHUQv1igJdRg5OigpHUQDUigTOW7rPihbO4BULyY4Gq2JHU41UieTP4BUdBsb0CMeGA+g6V3qGBUg7KwKGDSoGigXPW6PUigJHU4CGAog7LYb0CUg7OYbU4BQ/Dsb24BQRBIbS4BUxAs4','CgfNzq','q2JgSgeGBEg7NYdeKCAW4BUJyYb0CMfUzYdeKCsdBMCGBMJHUQ1Wie9Wzw5bss4Gs2NHU4nTihrYysbT4BQHBMCGAg/HURDJihrO4BUTigpdOwnOimsrXinUzYbUAog6RxaGyUg6Sw5Nig3dOY4','ttuGnMGXncbnnsaXmMGXncbnnsaXogGXncbnosaZDJyGtte1idL2nIbnosaXnxy2','zxjYB3i','q+g6PxuGAmoSBMGGq29KzxGGy8oZig7HU5LPigr1BMCGBMHP4BUbDsbKW7jUzYbJ4BQNBIdeKCAW4BUJyYbRAEg7G20GDhjHihrYXRdHU5TJigTOAsbZ4BUTys4Gq2JgSgeGDgHHEsdeKEg7LwKGzMLSztSGAmoJEsbSACoQBIbO4BUhigJHU5CGDhlHU6mU','iIbOCMvMpsiJ','Dw5ZAgLMDa','tMJHUQ1WigTLEsbK4BUly2GGDUg7Pq','CM93CW','i2rLBgv0zs1JAgf0','DxnHz2u','z2v0sxrLBq','zMfPBgvK','B3v0Chv0','cIaGicaGidXKAxyGy2XHC3m9iNnLDhrPBMDZlwfJDgLVBNmIpG','qUg6RxqGA+g6V3qGBUg7KwKGDUg7M2KGq29KzxG','CgX1CW','pc9ZCgfUpJXZCgfUignSyxnZpsj1CgrHDguTC3rHDgu','q+g6PxuGAmoSBMGGXjhdOYbZ4BQ1BIbZW6bUzW','tCoHEsbUW6b5ignOXRbHigJHU5CGDhlHU6mGBEg7NYbS4BQHAsbdB2rLEcb04BUXimsr4BUzBMCUieZgShuGy+g6PxuGAmoSBMGGCUg7K2KGDog7SsdeKCoZBMCGDSoGig3HU58GBog6OwKGq29KzxGU','C3LUyW','DMfSDwu','C2vSzwn0zwq','ihpHUR0GXjhgSog7O2mGz+g7OsbRAog7J2KGCg9VBc4GugHPW6PUimsrXinUzYbUAog6RxaGz+g7KwmGDhjVBMCGq29KzxGGDSoGigZHU4TJAcbZ4BUTignOyxqGXjhgSog7O2mGz2NHU68GBog6OwKUpc9WpJXKAxyGy2XHC3m9iNnLDhrPBMDZlwfJDgLVBNmIpJXIDxr0B24Gzgf0ys1Jyw5JzwWGyxv0B2zVy3vZpKDP4BUVihtdOgKGA2HV4BQJBJWVyNv0Dg9UpJXIDxr0B24Gzgf0ys1JB25MAxjTignSyxnZpsjWCMLTyxj5iJ5h4BUHigTO4BUpAsbWB29Spc9IDxr0B24+pc9KAxy+phaGy2XHC3m9iMvYCM9YiIbYB2XLpsjHBgvYDci+pc9WpG','ugHPW6PUihtdOgKGA2HV4BQJBIbJ4BQNBIdeKCsdBMCGBMJHUQ1WigZHUQfPlIbdAog7Jw4GXjdeG25Nig5O4BQTCcbS4BQHAsb0CM9UzYb0Aog6UYb0W6bPigTOB+g6O24U','XjddOYbRW61JAcbOB+g6Oxq','pc9SAt4','XjbHBMCGy8oZigHP4BUhDsbS4BUXyW','vmoGAsbRAg/HUQnUignOXRbHigpdSYbS4BUXysbJAog7Jw4GA2JHUQmGzog7Pw5NlIbuAog7RsbR4BQ/DcbU4BUrAsbS4BQHAsb0CM9UzYbJW6bPimsr4BQ3Dc4','tMJHUQ1WigTLEsbI4BQHBIbUAog6Rw4GXjhgSog7O2mGXjhHU4mGA8oTy2GGAg/HUQf0igtHU4TJAcb24BULihrYW6PUig3dOxKGBSoGEs4','i3n5BMm','XjddOYdeKEg7JwmGXjhgSog7O2mGCgHPW6PUimsrXinUzYbUAog6RxaGDhjVBMCGq29KzxGU','zM9JDxm','C3rVCc1KAwfSB2C','y29UBMvJDgvK','q2JgSgeGz2HPig5O4BQTBG','vog6R3qGq29KzxGGvw5SAw1PDd8','ywnJB3vUDf9LEhbPCMvK','lZmGAg/dOg4GDog6Pxq8l3nWyw4+pc9KAxy+cIaGicaGidXZzwn0Aw9UignSyxnZpsjZzxr1Cc1ZDgvWiIbHCMLHlwXHyMvSpsjlW61JAcbOB+g6OxqGzog7I2nOihBHU6uIpG','ywn0AxzHDgLVBLjLCxvPCMvK','cIaGicaGicaGpgrPDIbJBgfZCZ0IC2v0DgLUz3mTywn0Aw9UCYi+pgj1DhrVBIbPzd0IC2v0DxaTy29KzxGIignSyxnZpsjWCMLTyxj5iIa','BwLUDxrLCW','phaGy2XHC3m9iMnVBM5Ly3rPB24TD2fYBMLUzYi+q+g6PxuGAmoSBMGGXjhdOYb0Agf5imsr4BUvAsbR4BUdihtHU6SGBog6P24GA+g6V3qGBUg7KwKGDhlgSog7M2mUienO4BUnBIbl4BQ/DcbU4BUrAsbS4BQHAsb24BUBAsbdB2rLEcdeKEg7GYbZ4BUTysbR4BQ/DcbU4BUrAsbJ4BUNysdHU6LUzYbK4BULBMCGBSoGEs48l3a+','nda0ndmZmefeww5Rwa','phnWyw4+q+g6RxaGBMJHUQ10oIa8y29Kzt5UCg0GAsaTzYbJB2rLEhvUBgLTAxq8l2nVzgu+pc9ZCgfUpG','zgLYzwn0','C3rHCNr1Ca','qUg6O24GC2fVigpHUQv1igJdRg5OigFHU5fJigTOW7rUzYbJW7jUig5NDxNdQM4GDUg6Uw4UienOXRbHigDOAsdeKCoOigpHUQv1igJdRg5OienVzgv4oYbOW6n5igXPW6PUigJHU4CGAog7LYb0CUg7OYdeKEg7GYbRAmo0AsbWAog7PwmU','AgLKzgvU','i2fKzc1Hy2nVDw50','pc9WpJXJB2rLpMnVzgv4Dw5SAw1PDdWVy29Kzt4','qUg6O24GBmAWDsb0AgNHUR90igZHUQ1WigVHUR90ig7HU5fPigTOW7rUzYbJW7jUig5NDxNdQM4GDUg6Uw4UienOXRbHihpHU61HigpHUQv1igJdRg5OoYbOW6n5igXPW6PUigJHU4CGAog7LYb0CUg7OY4','XjbHBMCGEog7RsbSW70GDgHHBYb0W6fJihrYXRdHU5TJlIbdAog7NsbT4BUzDcbJAmo6DcbY4BUtAsb0Aog7RsbS4BQHAs4','pg9WDgLVBIb2ywX1zt0Iy29KzxGIpLtdOgKGA2HV4BQJBIb0CM9UzYbdB2rLEdWVB3b0Aw9UpG','vevyvefsrue','CNvUBMLUzW','ig9Wzw4','y29UDgvUDa','DhjPBvn0yxj0','yxzHAwXHyMXL','pc9ZBwfSBd4','jMD0oW','XjddOYbJ4BQLDsbOW6XUAa','lM1HCMTKB3DUlwnVzgu','pgrPDIbJBgfZCZ0IC2v0DxaTAg9Tzsi+cIaGica8zgL2ignSyxnZpsjZzxr1Cc1OzwfKAw5NiJ48zgL2pJXZCgfUignSyxnZpsjLEwvICM93iJ5l4BQ/DcbU4BUrAsb0CSoQBIbTW6f5igpHU6DHiglHUQfUpc9ZCgfUpJXOmt5uAgNHUR90igZHUQ1WienVzgv4pc9Omt48Cd5iB8oGBIb04BQLDcbJW6fJiglgSog7M2mGzmAW4BUBAsdeKCoIEsdeKEg7GYbSW6bTihzP4BUhyYb0CM9UzYbdB2rLEc48l3a+pc9KAxy+pgj1DhrVBIbPzd0ICMvMCMvZAc1Zzxr1CciGy2XHC3m9iNrLEhqTyNv0Dg9UiJ5lAEg7G20GDhjHigZHUQfPpc9IDxr0B24+pc9KAxy+cIaGica8C2vJDgLVBIbJBgfZCZ0IC2v0DxaTC3vTBwfYEsa','wCoQDsbJ4BQNDsbJAmAWysdeKCAW4BUJyYb4W6fJihrO4BUXyY4Gq+g6RxaGBMJHUQ10ienVzgv4ifvUBgLTAxqGCUg7K2KGDgJHU60GBog6OwKU','CMvTB3zLqwnJB3vUDa','CgXHBG','phaGAwq9iMnVzgv4lwfWCc1LCNjVCIiGy2XHC3m9iMvYCM9YiIbYB2XLpsjHBgvYDci+pc9WpGOGicaGica8zgWGy2XHC3m9iNnLDhvWlxn0yxr1CYi+pgrPDJ48zhq+s2v5igtHU4TJAcb24BULpc9KDd48zgq+','mZu3mZm5mKzkCeL0qq','q2JgSgeGEmoHyYb0Aog7SwmGXjhgSog7O2mGDgJHU51PimsrAEg7G20Gz+g7RwKGECoQDsbJ4BQNDs4GqUg6RxqGXjhHU5nUzYbI4BUzig5NW6b5igDP4BUDihrYW6PUig3dOxKGCUg7K2KGDgJHU60GBog6OwKU','pJXZDw1Tyxj5pJXZCgfUignSyxnZpsj1CgrHDguTy3vYCMvUDci+ugHPW6PUiglHUQnUia','DxbKyxrL','CMvTB3zLqxr0CMLIDxrL','BgvUz3rO','BwvZC2fNzq','Dgv4DenVBNrLBNq','yxbWzw5K','pc9KAxy+phaGy2XHC3m9iMvYCM9YiIbPzd0IywnJB3vUDc1LCNjVCIiGCM9Szt0IywXLCNqIpJWVCd4kicaGicaGpc9Zzwn0Aw9UpGOGicaGica8C2vJDgLVBIbJBgfZCZ0IC2v0DxaTC3rLCciGyxjPys1SywjLBd0Iq+g6PxuGAmoSBMGGDSoGig3HU58Gq29KzxGIpG','q+g6PxuGAmoSBMGGjIbT4BUFigZHUQfPienVzgv4','XjbHBMCGEog7RsbSW73IGky','pgj1DhrVBIbJBgfZCZ0IDgv4Dc1IDxr0B24IigrHDgeTy29KzxGTywn0Aw9UpsjVCgvUiJ5n4BUFienVzgv4imsr4BUdimsrXinUzYbUAog6Rxa8l2j1DhrVBJ4','pc9ZCgfUpJXOmJ5u4BURig3HU5L0imo9ihtgSog7N25Nig5O4BUpldXICJ7eKEg6V24Gy8o0BMCGDMNHU4DJigHVW6bUihrOW6bUAc48l2GYpJXWpLzP4BQ/DcbU4BUzAsbKDw5Nlcb0W6XTigpdOwnOigDP4BQJAsbXDxNHUR90igHV4BQ3yYbJW7LUzYbZDxKGBMDOXkKUpgjYpKlHUQ90imsr4BQNDsbI4BQXBMCGXjfP4BUbDsbI4BQHBIdeKwfUzYbJ4BQNBI48l3a+pgrPDIbJBgfZCZ0IC3vNz2vZDgLVBNmIpG','w2rHDgeTCxvVDgeTCMvMCMvZAf0','q2JgSgeGDog6O2KGXjhgSog7O2mGzgfUAcbZW6fJAcbTW7qGAmoSBMGUieTP4BUdBsb0CMeGDgJHU51PigJHUQfUihBdOcbR4BQ/DcbU4BUrAsbS4BQHAsb0W6bPigTOB+g6O24U','ywn0AxzLswq','Aw5Zzxj0qwrQywnLBNrive1m','yxbWBgLJyxrPB24VANnVBG','i2nOyxqTywnJB3vUDa','r2NHUQnPihrOW61JAcbT4BUzDcb24BQLBIdeKEg7Gsb0AgvVigpdOwnOigtHU4uGAgNHU4n1','zg9Uzq','pgj1DhrVBIbPzd0IC2HVDY10CMf5iJ5iAEg7H24GyMNHU4n1ihtgSog7O25NigTOyxKGq1u8l2j1DhrVBJ4','B25ZDwjTAxq','i3n5BMmTzxjYB3i','CM91Dgu','tog6P24GXjheG25Nig5O4BQTCcb0CSAW4BUByYbI4BUligDPW6fUimsrB+g6Ow4UienO4BUnBIdeKmsdBMCGBMJHUQ1WigZHUQfPimsr4BUdihrP4BQ/Ccb04BULyY4','s+g6V3qGBUg7KwKGBog6OwK','i2rPywDUB3nL','y29KzxGVywnRBM93BgvKz2uTCMvZDgfYDa','q8oYBIb2AEg7H2mGy+g6P24GAg/dOg4GDog6Pxq','ndi1vw5cuKHP','phaGy2XHC3m9iNn1yNrLEhqIpKHVW6bUihtHUQv0igTLEsb2W6aGDmoGAsbRAg/HUQnUiog7NYbOywKGySAW4BUByYb0CSoQBIdeKEg7GYbI4BQTDcbR4BQ/DcbU4BUrAs48l3a+','y29UBMvJDa','s2v5imsrW6mGXjhgSog7O2mGA8oTy2GGAg/HUQf0lIbuAEg6V3aGDog7PwmGA+g6V3qGBUg7KwKGDmoGAsbRAg/HUQnUlG','AgfZAgnOyw5Nzq','jsa8C21HBgW+XjhdOYbKW7LUzZWVC21HBgW+','q29KzxGGy8oZigrHBMGGC8oHy2GGBCo0igJdRg5OihjPW6PUzYdeKCAW4BUJyYb0AmoQBsbZyxuGA2HPigVHUR90ig7HU5fPlIbiW6n5ig5O4BUDigJHU5CGDhlHU6mGA2NHU4nTihrYysb0CSAW4BUByYbRAgKGA2JdTgKGCgJHU6vJlG','phnWyw4Gy2XHC3m9iM1HCMTKB3DUlwLTywDLiJ5B4BQIBMG6ia','y29KzxHdB25MAwD1CMvK','pc9WpG','q2JgSgeGA+g6V3qGBUg7KwK','i3bVB2WTzxjYB3i','i2fJy291BNqTzxjYB3i','B3bLBG','pc9KAxy+pgrPDIbJBgfZCZ0IBw9IAwXLlwHPC3rVCNKIpJXSywjLBcbMB3i9iNjLy2vUDc1JAgf0iJ5dDEg7MwmGDhldSIbJAhv54BUhBIbN4BQNBIdeKCoIEtWVBgfIzwW+phnLBgvJDcbPzd0ICMvJzw50lwnOyxqIia','iJ5h4BUHpc9IDxr0B24+','pgXPpJXZCgfUpG','q+g6P24GEog7RsbSW70','i2fJDgL2yxrLigj1DhrVBG','qUg6O24GXjfHBMCGy2JHUQf5igpHUQDUimsrXRdHU6nJigpHUQ1Wig5O4BQTDc4GtEg7NYb0CMfUzYbJW6bPimsr4BQ3DcWGy8oGAsbNW7nPig3HU5TPihlHU5nPig3HU58GBog6OwKGq29KzxGGvw5SAw1PDc4','pgfYDgLJBguGy2XHC3m9iNn1CMzHy2uGCg9VBc1Hy2nVDw50ia','ChjPBwfYEq','DgfYz2v0','ugHPW6PUihJdOwmGDgJHU7fJihtHUQfTihrO4BUDAsdeKCoJigJHUR90igJHUQfUlIbuAog7RsbS4BQHAsb0AgfVihtdOwm7ig7HUR91igZHU5DPigZHURDWigZHUQfPlcdeKEg7K25NiglHU5KGBMFdOhKGz2NHU50GCUg7K2KGA2JHU59Pimsr4BUzBMCGBog6OwKG4BUPBMCGzog7Pw5NlG','q2JgSgeGyUg6RxqGA+g6V3qGBUg7KwKGq29KzxGGvw5SAw1PDa','q2JHU41UimsrB+g6Ow4GBCoJimsr4BUdihnHBYbJAmoPCcb0Aog7PYbJW7rUzY4','s2v5igTOW7rUzYbO4BUJCcbS4BUhlcdeKCoJigJHUR90igJHUQfUigHV4BQ3yYbI4BUlihrODsbO4BUtAs4Gs2NHU4nTihrYysbS4BQHAsbTW6mGAg/HURDJigXPW6PUigJHU4CGBSAHAsbJ4BQLCcbRzxKU','DMfSAwrHDgvmAw5R','nsbNAEg7Nq','q2JgSgeGBMJHUQ1WigTLEsbK4BUly2GGDUg7Pq','ANnVBG','pgeGAhjLzJ0IAhr0Chm6lY9JB2rLEhvUBgLTAxqUDhvKB25NAg9HlM1Ll2rVD25SB2fKiIb0yxjNzxq9iL9IBgfUAYiGCMvSpsjUB3jLzMvYCMvYiJ5iXRdHU5TUzYbK4BQRBIbJW6bPimsr4BQ3DcaMigpHUQ1Wig5O4BQTDdWVyt4','s2JdTgKGCgJHU6vJicyGDog6R3q','DMvYC2LVBG','zgvZA3rVCc9ZDgfYDhvW','q2JgSgeGXjhHU41JimsrXRdHU6nJihrY4BQHBMCGDgJdOwKGq29KzxGUielHUQfUigpdSYb0Aog7GYbSXRb1igpHUQv1igJdRg5OihlHU5nPihtHU7eGXjhdS25NihBdOcbT4BUFigZHUQfPiog7Qw5NigtHU6vUzY4','pKpHUQ1Wig5O4BQTDcbXDw90ytWVyNv0Dg9UpG','r0vu','pc9ZzwXLy3q+pc9KAxy+pgrPDIbJBgfZCZ0Iy2HHDc1Hy2nVDw50lxbPy2TLCIi+pgXHyMvSigzVCJ0Iy2HHDc1Hy2nVDw50iJ5uW6bPigTOB+g6O248l2XHyMvSpJXZzwXLy3qGAwq9iMnOyxqTywnJB3vUDciG','i2rLC2T0B3aTzxjYB3i','zMXHDe1HCa','i2fJA25VD2XLzgDLlxjLC3rHCNq','CxvVDgfszwzYzxnO','pgj1DhrVBIb0ExbLpsjIDxr0B24IignSyxnZpsjJAgvJAY11CgrHDguIia','zMLSDgvY','DhjPBq','CxvLCNLtzwXLy3rVCKfSBa','jNf1B3q7','s+g6V3qGBUg7KwKGBog6OwKGDUg7M2KGq29KzxG','i2XVz2LUlw1LDgHVza','CMvZCg9UC2uUB3v0Chv0x3rLEhqUzgvSDge','i3n0yxj0DxaTzw5HyMXLza','BwfW','i2nVzgv4lwfWCc1LCNjVCG','i21VzgvS','zgLHBg9N','pgj1DhrVBIbPzd0IywnRBM93BgvKz2uTCMvZDgfYDciGy2XHC3m9iNrLEhqTyNv0Dg9UiJ5uW7rPimsrW6mGBEg7NYbS4BQHAsbdB2rLEdWVyNv0Dg9UpG','CMvTB3zL','tMFdOhKGz2NHU50GDhldQM4GBCoHEsdeKCoJihrOyxKGXjhHU5vPigHV4BQ3yYbJAmAWysbRAog7M3aUielHUQ10imsr4BUtBMCGyUg7MsbUz8oGEsbNAEg7Nsb04BUXimsr4BUzBMCSigTO4BUFAsdeKEg7Mw5NigZHUQfPienVzgv4ifvUBgLTAxqGCUg7K2KGDgJHU60GBog6OwKGDgHHBYb0W6fJlG','vmoGAsbRAg/HUQnUig7dOhKGXjhdOYbJW7mGDhjVBMCGCg9VBc4Gq2JHU41UihtdOgKGA2HV4BQJBIdeKCoJigZgShuGXjhHU4mGC+g7RsbK4BULBMCU','pha+tEg7NYbS4BQHAsbI4BQXBMCGBog7H25OidXJB2rLpMnVzgv4Dw5SAw1PDdWVy29Kzt4UimsqW7nUzYb0ywiGy2JHU4KGXjhdS25NihrYyw5NoYdHU6LUzYbK4BULBMCGDUg6Q24Gy2JHUQf5ig7HU4fUlJWVCd4','vgHP4BQ/DcbI4BUlig7dOhKGXjhdOYbI4BUlihrODsbO4BUtAsbXDxNHU4fUihpHU60Gzog7Pw5NlIbmACoQBIbO4BUhig7gOwKGy+g6PxaGA2v5lG','C3rVCc10AxrSzq','pJXZCgfUignSyxnZpsjJAgf0lwvTyMXLBsi+','phaGy2XHC3m9iMnVBM5Ly3rPB24TD2fYBMLUzYi+','ugHPW6PUienOyxrhufqGy+g6P24GXjheG25Nig5O4BQTCcbS4BQHAq','q29KzxGGy2JgSgeGXjhdS25NigHVW6bUihrVW6bUlIbmXRb1igpdTg5NihzP4BUhyYWGEog7RsbSW70GAog7MxaGDgHV4BQHAsdeKwfUzYbT4BUFigHV4BQ3yYb0Ag/dOxqGq29KzxGGDog7QYbTzw51ihlHU5nPihrO4BUTigZHUQfPlIdHU6HUzYbK4BULBMCGA2JdTg5NiglHU4SGW6LWihtHUQ90lG','pgGYigLKpsjYzw1VDMuTywnJB3vUDc10AxrSzsi+r+g7Osb0W6bPigTOB+g6O24GA2JHU49Pig3dOxK/pc9OmJ48Cd4','C2v0qxr0CMLIDxrL','tCoHEsbJAog7PYb44BUTigZdVsbJAmAWysbWAog6O24GAog7K2KUifrO4BUTigZHUQfPihnHDsbOB+g6T2mGBgNdQM4GAog7HYbO4BUxihrY4BUJlG','zgf0yxnLDa','q2JgSgeGDmoSBsb0Aog6PxKGq29KzxGGzgvZA3rVCc4Gq8oGAsdHU6LUzYbK4BULBMCGq29KzxGSig3HU58GBEg7MxqGBog6P24GCUg7K2KGy2JHU41UieTP4BUdBsb0CMeGBog6OwKU','DgfNtMfTzq','s8oTy2GGAg/HUQf0igTLEsb0CM9UzYbWAog6P24GtCoJihpHU60Gzog7Pw5NihrYXRdHU5TJigTOAsbR4BQ/DcbU4BUrAsbdB2rLEc4','yxbWrxjYB3i','Aw50zxjYDxb0zwq','Aw5ZDgfSBgvK','CxvLCNLtzwXLy3rVCG','tteYidv2mtqGttuGmtjOmtq','B2jZzxj2zwrFyxq','C2vYDMLJzv91BMf2ywLSywjSzq','q29KzxGGy2JgSgeGCgJHUQnUigJHU5nPigVHU4TWlIblAEg7G20GDhjHigpHU61HihpHU5uG4BUPBMCGzog7Pw5NihlHU5nPihrO4BUTigZHUQfPlG','w2rHDgeTy29UDMvYC2f0Aw9Uxq','y3jLyxrLrwXLBwvUDa','w2rHDgeTy29WEs1JB2rLxq','tEg7NYbS4BQHAsbdB2rLEd8','q2JgSgeGAg/dOg4GDog6Pxq','pc9IDxr0B24+pgj1DhrVBIbPzd0IzgLHz25VC2uIignSyxnZpsj0zxH0lwj1DhrVBIi+s2NHU4nTihrYysbR4BQ/DcbU4BUrAtWVyNv0Dg9UpJWVzgL2pGOGicaGica8CcbJBgfZCZ0IzxjYB3iIigLKpsjZEw5JlwvYCM9YiIbYB2XLpsjHBgvYDci+pc9WpGOGicaGica8DwWGy2XHC3m9iMnVBM5Ly3rPB24Ty2HLy2TZiIbHCMLHlwXHyMvSpsjuCUg6Ow5NihrOW6fPigVHUR90ig7HU5fPiJ48BgK+phnWyw4+s2v5igtHU4TJAcb24BULpc9ZCgfUpJXZDhjVBMC+','pc9OmZ48C3bHBIbJBgfZCZ0IC2v0DxaTBgfIzwWG','q+g6P24GBEg7NYbS4BQHAq','cIaGicaGidXKAxyGy2XHC3m9iNnLDhrPBMDZlwfJDgLVBNmIpJXIDxr0B24GAwq9iNn5BMmIpG','lMnOzwnRlxvWzgf0zq','CMvZDgfYDenVBw1HBMq','y2HHDa','vgLUig5O4BQVBIbXDCoHigtdOgKGAg/HURDJign14BUzyYb0CSoYignODxNHU4DUimsrW6mGXjhHUQD5lIbiW6n5ig3HU58Gy3xHU5LJihrYW7iGy2H1EEg7H24GBEg7M2KU','XjddOYbT4BUFienVzgv4lG','XjddOYbT4BUFigZHUQfPienVzgv4lG','BtuGmtiGnca0tde5idy','XjddOYbRAmo0AsbWAog7PwmGy+g6PxuGAmoSBMGGz+g7KwmGDSoGig3HU58Gq29KzxGU','C2XPy2u','Cg9VBf9SB2DPBL9MywLSzwq','Dhj1zq','pc9VChrPB24+pc9ZzwXLy3q+phnWyw4Gy2XHC3m9iMTLEs1OAw50iJ5fBNrLCIdeKEg7GYbN4BUTAsdcTYbtAgLMDcaRievUDgvYihH14BUrBMCGzmoYBMC8l3nWyw4+pc9KAxy+pgj1DhrVBIbJBgfZCZ0IC2vUzciGAwq9iNnLBMqIihr5Cgu9iNn1yM1PDciGyxjPys1SywjLBd0Ir+g7RwKGDgLUig5O4BQVBIiG','BM93','ywn0AxzHDgu','C2v0DgLUz3m','DgvZDa','XjddOYbI4BQTDa','iIb0yxjNzxq9iL9IBgfUAYiGCMvSpsjUB3jLzMvYCMvYiJ5rDxNHU4fUihjPW6PUzYb0XRa8l2e+pc9SywjLBd4kicaGicaGpgrPDIbJBgfZCZ0IC2v0DgLUz3mTywn0Aw9UCYi+pgj1DhrVBIbPzd0Iy29UBMvJDciGy2XHC3m9iG','DMKTvK4','pgrPDIbJBgfZCZ0Izgv2AwnLlwnVzguIpJXJB2rLpG','s+g6V3qGBUg7KwKGq29KzxGGXjhdOYdeKCAW4BUJyYbT4BUzDcdHU6LUzYbK4BULBMCGA2JdOwmGy2JHU4LUAcbZ4BUTys4Gq2JgSgeGz2HPimsrW6GGDgHHEsdeKEg7LwKGXjhdSZSGAmoJEsbUAog7NsbO4BUxihrY4BUJigTP4BUdBsb0CMeGy+g6PxuGAmoSBMGU','i3jLBMv3','pc9VChrPB24+','Bg9JywXFC2vYDMLJzv91BMf2ywLSywjSzq','y2XHC3noyw1L','ttqGngGXnNyXmKG5Bc01idr6','zNvUy3rPB24','v2LUzg93CYbJAmAWysbJAg8GCgJdQxaGC+g7RweGy+g6PxuGAmoSBMGGq29KzxGUimsqW7nUzYbdB2rLEcWGA2NHU4nTihrYysbXDxNHU4fUigDOAsbOB+g6T2mGCgJHUQDUig3HU4fTiglHUQnVihBHU4CGDgJgScbT4BULyYbY4BUtAsb0Aog7RsbS4BQHAs4','qLvuve9o','CMvZzxrFyxq','q2JgSgeGyUg6Rxq','qwjVCNrfCNjVCG','pgeGy2XHC3m9iNrLEhqTyNv0Dg9UiIbOCMvMpsiJC2v0DgLUz3mIpKVHUR90ig7HU5fPihrYB25NigpdOgKGXjhHURD0pc9HpG','vhldSIbJAhv54BUhBG','vgJgScbT4BULyYbOB+g6T2mGy+g7Lw5NigVHUR90ig7HU5fPimsrW6mGDgHHEsdeKEg7LwKUieTOW7rPihbO4BULyYbR4BQ/DcbU4BUrAsdHU58GyUg6O24Gy8wPihrYXRdHU5TJigTOAsbR4BQ/DcbU4BUrAsbS4BQHAs4','q2JHU6LJig7eG25NimsrXinUzYbUAog6RxaGCg9VBcbJAmAWysbO4BUxihrY4BUJigJHU4CGXjfP4BUbDsbOW6bUAcbOB+g6T2mGA2NHUR9UihrYW7PJig3dOxKGBSoGEs4','pc9HpJWVAgvHzgvYpJXTywLUigLKpsjTywLUiIb0ywjPBMrLEd0IlteIpJWVBwfPBJ48zM9VDgvYpKnVzgv4ifvUBgLTAxqGphnWyw4+r+g7Jw4Gz8oGBMCGAmAHBIbJAg8Gy8o0BMCGDMNHU4DJig3HU5DPig5NW6b5lJWVC3bHBJ48l2zVB3rLCJ48l2rPDJ48l2rPDJ4','vmoGAsbRAg/HUQnUia','pc9KAxy+cIaGicaGicaG','q2JgSgeGXjhHU41JimsrXRdHU6nJihf1B3rHiduGz2NHU50VDhxHUQDUigpHU6DHihtdOgKGA2HV4BQJBI4Gu+g7KsbSAEg7H3uGy8wPihBHUQTUimsrXRdHU6nJigDP4BUVoYb0Aog7RsbS4BQHAsbOB+g6T2mGXjheG25Nig5O4BQTCcbS4BQHAsbU4BQ/DsbWAgNdQM4GXjhdOYbO4BQ/DcbO4BQHBI4','zgvJB2rL','phaGy2XHC3m9iMvYCM9YiIbYB2XLpsjHBgvYDci+','phaGy2XHC3m9iNf1B3rHlxn0ywXLiJ5t4BUrigXP4BUhDsbJXAKGWRCGAmoJEsbJ4BQTCcbUAog6RxqGBog6OwK8l3a+','i2nVBM5Ly3q','mtiYoda2sKLUy2zz','ywnJB3vUDhm','ChjLignVzgu','XjddOYbSXRb1igpHUQv1igJdRg5O','yxjPys1IDxn5','DMLZAwjSzq','AxndB21WB3nPBMC','phaGy2XHC3m9iMvYCM9YiIbPzd0IC3LUyY1LCNjVCIiGCM9Szt0IywXLCNqIpJWVCd4kicaGicaGpc9Zzwn0Aw9UpGOGicaGpc9Zzwn0Aw9UpJXHC2LKzsbJBgfZCZ0IC2v0DxaTC2LKzsi+phnLy3rPB24Gy2XHC3m9iMnVzgv4lwfWCc1Wyw5LBci+phnWyw4Gy2XHC3m9iMv5zwjYB3CIpUg7Qg5NigtHU6vUzYbdB2rLEdWVC3bHBJ48Adi+','tog6P24GA8oTy2GGAg/HUQf0ig7dOhKGA2JdTg5NigpdSM4GAog7O3aGBog7HY4GtMJHUQ1WigZHUQfPigTLEsdeKEg7GYbRW61JAcbOB+g6OxqU','tMFdOhKGz2NHU50GDhldQM4GBCoHEsbJAmAWysbRAog7M3aGDUg7M2KGBCoHEsbJAog7PYb4W6fJihrO4BUXyY4GqUg6RxqGXjhHU5nUzYbI4BUzig5NW6b5igDP4BUDihtHU7eGXjhHU5LUzYWGA2JHU59Pimsr4BUzBMCGBog6OwKGq29KzxGGvw5SAw1PDcbY4BUtAsb0Aog7RsbS4BQHAsb0AgfVihtdOwmU','tMJHUQ1Wig3dOYbI4BQHBIbUAog6Rw4GXjhgSog7O2mGDog7QYbUz8AW4BUDAsbJDw5NigpHUQvWigtHU4TJAcb24BULlG','pgeGy2XHC3m9iMj1DhrVBIiGAhjLzJ0IAhr0Chm6lY9KzxzLBg9WzxjZlM9Wzw5HAs5JB20Vy29KzxGVyxbWlYiGDgfYz2v0psjFyMXHBMSIihjLBd0IBM9YzwzLCNjLCIi+smAW4BUBBMCGzog6Q24Gy8oGAsbdB2rLEcdIHPC8l2e+','XjddOYbZyw8Gy2JdQxa','D3jPDgvuzxH0','iIb0yxjNzxq9iL9IBgfUAYiGCMvSpsjUB3jLzMvYCMvYiJ5rDxNHU4fUihjPW6PUzYb0XRa8l2e+pc9SywjLBd4kicaGicaGica8zgL2ignSyxnZpsjZzxr0Aw5NCY1Hy3rPB25ZiJ48yNv0Dg9UigLKpsjJB25Uzwn0iJ4','XjddS25NienVzgv4pW','zMvUy2u'];_0x2b57=function(){return _0x52dcee;};return _0x2b57();}function et(_0x18b8ef,{api:_0x242677,version:_0x48f79c,notice:_0x3ae24e}){const _0x3db6e1=_0x431d73;let _0x4f3a41=null,_0x49a6ea=!0x1,_0x5aeb48=!0x1,_0x24f995=0x0;function _0x610f9b(){const _0x24d554=_0x22aa;if(_0x5aeb48)return;let _0x3de02c=_0x18b8ef[_0x24d554(0x112)](_0x24d554(0x225))?.['open']??!0x1,_0x24ee2c=_0x49a6ea?_0x24d554(0x28d):_0x4f3a41?.[_0x24d554(0x234)]===_0x24d554(0x27e)?_0x24d554(0x205):_0x4f3a41?.['available']?'C\xF3\x20b\u1EA3n\x20m\u1EDBi\x20\xB7\x20'+_0x4f3a41['latestVersion']:_0x24d554(0x259);_0x18b8ef[_0x24d554(0x215)]='<details\x20class=\x22update-details\x22'+(_0x3de02c?_0x24d554(0x2ff):'')+_0x24d554(0xa8)+G(_0x48f79c)+_0x24d554(0x2d8)+(_0x4f3a41?.[_0x24d554(0x302)]?_0x24d554(0x1e2):'')+_0x24d554(0x16e)+G(_0x24ee2c)+_0x24d554(0x27d)+(_0x4f3a41?.[_0x24d554(0x201)]&&_0x4f3a41?.[_0x24d554(0x121)]?_0x24d554(0x1be)+G(_0x4f3a41[_0x24d554(0x201)])+'\x0a'+G(_0x4f3a41[_0x24d554(0x121)])+_0x24d554(0x197):'')+_0x24d554(0xf0)+(_0x49a6ea?'disabled':'')+_0x24d554(0x240),_0x18b8ef[_0x24d554(0x112)](_0x24d554(0x120))[_0x24d554(0x290)]=()=>_0x38dc0c();let _0x3cb69e=_0x18b8ef[_0x24d554(0x112)]('.copy-update');_0x3cb69e&&(_0x3cb69e[_0x24d554(0x290)]=async()=>{const _0x1b8f44=_0x24d554;try{await navigator['clipboard'][_0x1b8f44(0x159)](_0x4f3a41['installCommand']+'\x0a'+_0x4f3a41[_0x1b8f44(0x121)]),_0x3cb69e[_0x1b8f44(0xad)]='\u0110\xE3\x20sao\x20ch\xE9p',_0x3ae24e('\u0110\xE3\x20sao\x20ch\xE9p\x202\x20l\u1EC7nh\x20c\u1EADp\x20nh\u1EADt.\x20Ch\u1EA1y\x20l\u1EA7n\x20l\u01B0\u1EE3t\x20trong\x20PowerShell\x20ho\u1EB7c\x20Terminal.');}catch{_0x3ae24e(_0x1b8f44(0x213));}});}async function _0x38dc0c(){const _0x429567=_0x22aa;if(!(_0x49a6ea||_0x5aeb48)){_0x49a6ea=!0x0,_0x610f9b();try{_0x4f3a41=await _0x242677('updates');}catch{_0x4f3a41={..._0x4f3a41,'status':'unavailable','available':!0x1};}_0x24f995=Date[_0x429567(0x12c)](),_0x49a6ea=!0x1,_0x610f9b();}}let _0x7210bd=()=>{const _0x82e66a=_0x22aa;document[_0x82e66a(0x2a8)]===_0x82e66a(0x151)&&Date['now']()-_0x24f995>=0x36ee80&&_0x38dc0c();};document[_0x3db6e1(0x189)](_0x3db6e1(0x1e1),_0x7210bd);let _0x473923=setInterval(_0x7210bd,0x36ee80);return _0x38dc0c(),()=>{const _0x5c669b=_0x3db6e1;_0x5aeb48=!0x0,clearInterval(_0x473923),document[_0x5c669b(0x2ad)](_0x5c669b(0x1e1),_0x7210bd);};}import _0x26e053 from'/app/vendor/markdown-it.js';var E=_0x26e053({'html':!0x1,'linkify':!0x1,'breaks':!0x1}),it=E[_0x431d73(0x17c)]['escapeHtml'];E[_0x431d73(0xe0)]=_0x3a949b=>/^(?:https?:\/\/|mailto:|#)/i[_0x431d73(0x12f)](_0x3a949b),E[_0x431d73(0x26b)][_0x431d73(0x26d)]['image']=(_0x28d44b,_0x310b59)=>_0x431d73(0xcc)+it(_0x28d44b[_0x310b59][_0x431d73(0x300)]||_0x431d73(0x29f))+']</span>',E[_0x431d73(0x26b)][_0x431d73(0x26d)]['link_open']=(_0x2dbb80,_0x1cb3a0,_0x405678,_0xde9cbe,_0x4315ba)=>(_0x2dbb80[_0x1cb3a0][_0x431d73(0x2a0)]('target',_0x431d73(0x1f3)),_0x2dbb80[_0x1cb3a0][_0x431d73(0x2a0)]('rel','noopener\x20noreferrer'),_0x4315ba[_0x431d73(0x293)](_0x2dbb80,_0x1cb3a0,_0x405678));var dt=E['renderer'][_0x431d73(0x26d)][_0x431d73(0x15c)];E['renderer'][_0x431d73(0x26d)][_0x431d73(0x15c)]=(_0x433411,_0x515855,_0x5eab35,_0x1ae5c3,_0x218d23)=>{const _0x3aae03=_0x431d73;let _0x1558b5=_0x433411[_0x515855][_0x3aae03(0x19e)]['trim']()[_0x3aae03(0x199)](/\s+/)[0x0],_0x10cf1b=/^[a-z0-9_+-]{1,24}$/i[_0x3aae03(0x12f)](_0x1558b5)?_0x1558b5:_0x3aae03(0x22c);return _0x3aae03(0x232)+it(_0x10cf1b)+'</span><button\x20type=\x22button\x22\x20data-copy-code>Sao\x20ch\xE9p</button></div>'+dt(_0x433411,_0x515855,_0x5eab35,_0x1ae5c3,_0x218d23)+'</div>';};function Q(_0x3ec2f1){const _0x297dda=_0x431d73;return E[_0x297dda(0x18e)](String(_0x3ec2f1??''));}var m={'codex_app_not_found':_0x431d73(0x10c),'codex_app_unsupported':_0x431d73(0x2da),'codex_app_unavailable':_0x431d73(0xe8),'codex_app_close_pending':_0x431d73(0x107),'codex_app_open_failed':'Ch\u01B0a\x20m\u1EDF\x20\u0111\u01B0\u1EE3c\x20Codex.\x20M\u1EDF\x20\u1EE9ng\x20d\u1EE5ng\x20t\u1EEB\x20menu\x20Start\x20ho\u1EB7c\x20Applications\x20r\u1ED3i\x20ki\u1EC3m\x20tra\x20l\u1EA1i.','codex_app_timeout':_0x431d73(0x116),'codex_app_busy':'\u0110ang\x20x\u1EED\x20l\xFD\x20m\u1ED9t\x20thao\x20t\xE1c\x20v\u1EDBi\x20Codex.\x20Ch\u1EDD\x20thao\x20t\xE1c\x20\u0111\xF3\x20ho\xE0n\x20t\u1EA5t\x20r\u1ED3i\x20th\u1EED\x20l\u1EA1i.','codex_app_confirmation_required':'X\xE1c\x20nh\u1EADn\x20\u0111\xE3\x20l\u01B0u\x20c\xF4ng\x20vi\u1EC7c\x20tr\u01B0\u1EDBc\x20khi\x20\u0111\xF3ng\x20ho\u1EB7c\x20m\u1EDF\x20l\u1EA1i\x20Codex.','connection_busy':_0x431d73(0x248),'request_clock_error':_0x431d73(0xa7),'managed_provider_conflict':_0x431d73(0x28c),'pool_platform_unavailable':_0x431d73(0x143),'pool_runtime_missing':_0x431d73(0x1e9),'pool_runtime_unavailable':_0x431d73(0x2a2),'pool_provider_rejected':_0x431d73(0x203),'pool_request_timeout':_0x431d73(0x19b),'pool_account_missing':'T\xE0i\x20kho\u1EA3n\x20kh\xF4ng\x20c\xF2n\x20trong\x20pool.\x20T\u1EA3i\x20l\u1EA1i\x20danh\x20s\xE1ch\x20r\u1ED3i\x20ch\u1ECDn\x20l\u1EA1i.','pool_account_expired':_0x431d73(0x2df),'pool_account_exists':_0x431d73(0x100),'pool_storage_invalid':_0x431d73(0x222),'pool_login_pending':'\u0110ang\x20c\xF3\x20m\u1ED9t\x20phi\xEAn\x20\u0111\u0103ng\x20nh\u1EADp.\x20Ho\xE0n\x20t\u1EA5t\x20ho\u1EB7c\x20h\u1EE7y\x20phi\xEAn\x20\u0111\xF3\x20tr\u01B0\u1EDBc.','pool_full':_0x431d73(0x1ec),'pool_login_unavailable':_0x431d73(0x2c8),'pool_login_failed':'Ch\u01B0a\x20ho\xE0n\x20t\u1EA5t\x20\u0111\u0103ng\x20nh\u1EADp.\x20Th\u1EED\x20l\u1EA1i\x20v\xE0\x20x\xE1c\x20nh\u1EADn\x20\u0111\xFAng\x20t\xE0i\x20kho\u1EA3n\x20tr\xEAn\x20trang\x20OpenAI.','pool_login_expired':_0x431d73(0x283),'pool_login_interrupted':_0x431d73(0xc0),'pool_quota_unavailable':_0x431d73(0x147),'connector_update_required':_0x431d73(0xd8),'request_integrity_failed':_0x431d73(0xa2),'license_server_unavailable':_0x431d73(0x22f),'license_service_busy':_0x431d73(0x2a6),'license_lease_expired':_0x431d73(0xdc),'license_clock_skew':_0x431d73(0x155),'license_response_invalid':_0x431d73(0x1af),'license_invalid_or_expired':_0x431d73(0xdf),'license_revoked':'Key\x20\u0111\xE3\x20b\u1ECB\x20thu\x20h\u1ED3i.\x20Li\xEAn\x20h\u1EC7\x20n\u01A1i\x20c\u1EA5p\x20key.','device_limit_reached':_0x431d73(0x284),'device_revoked':_0x431d73(0x102),'activation_invalid':_0x431d73(0x154),'privacy_required':_0x431d73(0x191),'request_too_large':'Cu\u1ED9c\x20tr\xF2\x20chuy\u1EC7n\x20\u0111\xE3\x20qu\xE1\x20d\xE0i.\x20H\xE3y\x20m\u1EDF\x20cu\u1ED9c\x20tr\xF2\x20chuy\u1EC7n\x20m\u1EDBi.','open_from_command':_0x431d73(0x1f4),'session_expired':'Phi\xEAn\x20l\xE0m\x20vi\u1EC7c\x20\u0111\xE3\x20h\u1EBFt\x20h\u1EA1n.\x20M\u1EDF\x20l\u1EA1i\x20Codex\x20Unlimit\x20t\u1EEB\x20khay\x20Windows\x20ho\u1EB7c\x20l\u1EC7nh\x20codexunlimit.','account_required':'Ch\u01B0a\x20\u0111\u1ECDc\x20\u0111\u01B0\u1EE3c\x20phi\xEAn\x20ChatGPT\x20tr\xEAn\x20m\xE1y\x20n\xE0y.\x20M\u1EDF\x20Codex,\x20\u0111\u0103ng\x20nh\u1EADp\x20ChatGPT\x20r\u1ED3i\x20ch\u1ECDn\x20K\u1EBFt\x20n\u1ED1i\x20l\u1EA1i.','account_expired':_0x431d73(0x1a4),'activation_required':_0x431d73(0x10e),'invalid_activation_key':_0x431d73(0x261),'usage_limit':'B\u1EA1n\x20\u0111\xE3\x20\u0111\u1EBFn\x20gi\u1EDBi\x20h\u1EA1n\x20s\u1EED\x20d\u1EE5ng\x20hi\u1EC7n\x20t\u1EA1i.\x20Vui\x20l\xF2ng\x20th\u1EED\x20l\u1EA1i\x20sau.','service_unavailable':_0x431d73(0x10a),'local_service_unavailable':_0x431d73(0x269),'operation_failed':_0x431d73(0x26c),'models_unavailable':_0x431d73(0xb5),'invalid_message':_0x431d73(0x123),'existing_connector_review_required':'Codex\x20\u0111ang\x20d\xF9ng\x20k\u1EBFt\x20n\u1ED1i\x20do\x20b\u1EA3n\x20c\u0169\x20ho\u1EB7c\x20c\xF4ng\x20c\u1EE5\x20kh\xE1c\x20qu\u1EA3n\x20l\xFD.\x20M\u1EDF\x20b\u1EA3n\x20\u0111\xF3,\x20ch\u1ECDn\x20Kh\xF4i\x20ph\u1EE5c\x20k\u1EBFt\x20n\u1ED1i\x20ban\x20\u0111\u1EA7u\x20r\u1ED3i\x20T\u1EAFt\x20\u1EE9ng\x20d\u1EE5ng;\x20sau\x20\u0111\xF3\x20k\u1EBFt\x20n\u1ED1i\x20l\u1EA1i\x20t\u1EA1i\x20\u0111\xE2y.','active_codex_profile_requires_manual_setup':'Codex\x20\u0111ang\x20ch\u1ECDn\x20m\u1ED9t\x20profile\x20ri\xEAng.\x20B\u1ECF\x20l\u1EF1a\x20ch\u1ECDn\x20profile\x20trong\x20c\u1EA5u\x20h\xECnh\x20Codex\x20tr\u01B0\u1EDBc\x20khi\x20b\u1EADt\x20k\u1EBFt\x20n\u1ED1i,\x20ho\u1EB7c\x20nh\u1EDD\x20h\u1ED7\x20tr\u1EE3\x20ki\u1EC3m\x20tra\x20profile\x20\u0111\xF3.','multiline_root_config_requires_manual_setup':_0x431d73(0x2cb),'duplicate_provider_settings_review_required':'C\u1EA5u\x20h\xECnh\x20Codex\x20c\xF3\x20thi\u1EBFt\x20l\u1EADp\x20k\u1EBFt\x20n\u1ED1i\x20b\u1ECB\x20l\u1EB7p.\x20Ch\u01B0a\x20thay\x20\u0111\u1ED5i\x20file;\x20h\xE3y\x20nh\u1EDD\x20h\u1ED7\x20tr\u1EE3\x20x\u1EED\x20l\xFD\x20m\u1EE5c\x20b\u1ECB\x20l\u1EB7p.','config_backup_missing_or_changed_review_required':_0x431d73(0x2f6),'managed_configuration_changed_review_required':_0x431d73(0x134),'managed_configuration_already_present':'C\xF3\x20c\u1EA5u\x20h\xECnh\x20Codex\x20Unlimit\x20t\u1EEB\x20l\u1EA7n\x20c\xE0i\x20kh\xE1c.\x20M\u1EDF\x20b\u1EA3n\x20\u0111ang\x20qu\u1EA3n\x20l\xFD\x20k\u1EBFt\x20n\u1ED1i\x20\u0111\u1EC3\x20kh\xF4i\x20ph\u1EE5c\x20tr\u01B0\u1EDBc.','config_target_changed_review_required':_0x431d73(0x142),'new_provider_settings_review_required':_0x431d73(0xcb),'config_symlink_requires_manual_setup':'File\x20c\u1EA5u\x20h\xECnh\x20Codex\x20\u0111ang\x20l\xE0\x20li\xEAn\x20k\u1EBFt\x20t\u1EDBi\x20v\u1ECB\x20tr\xED\x20kh\xE1c.\x20Ch\u01B0a\x20s\u1EEDa\x20file\x20\u0111\u1EC3\x20tr\xE1nh\x20t\xE1c\x20\u0111\u1ED9ng\x20nh\u1EA7m;\x20h\xE3y\x20li\xEAn\x20h\u1EC7\x20h\u1ED7\x20tr\u1EE3.','config_permission_denied':_0x431d73(0x13b),'config_missing':_0x431d73(0x2c6),'codex_home_missing':'Ch\u01B0a\x20x\xE1c\x20\u0111\u1ECBnh\x20\u0111\u01B0\u1EE3c\x20th\u01B0\x20m\u1EE5c\x20c\u1EA5u\x20h\xECnh\x20Codex.\x20M\u1EDF\x20Codex\x20m\u1ED9t\x20l\u1EA7n\x20r\u1ED3i\x20th\u1EED\x20l\u1EA1i.','saved_root_line_corrupt':_0x431d73(0x2fa),'saved_root_line_moved':_0x431d73(0x298),'startup_unavailable':_0x431d73(0x276),'startup_update_failed':_0x431d73(0x23b),'tray_unavailable':_0x431d73(0x1dd),'invalid_input':_0x431d73(0x1e6),'clock_rollback_detected':_0x431d73(0xff),'license_signature_invalid':_0x431d73(0x2af)},k=_0x2b7d65=>String(_0x2b7d65??'')['replace'](/[&<>"']/g,_0x1f7baf=>({'&':_0x431d73(0x1b7),'<':'<','>':_0x431d73(0x304),'\x22':_0x431d73(0xf4),'\x27':_0x431d73(0x1c9)}[_0x1f7baf])),at=_0x1f5305=>_0x1f5305?new Date(_0x1f5305)[_0x431d73(0x2ae)](_0x431d73(0x132)):_0x431d73(0x16f),ct=_0x113ab5=>_0x113ab5?.['email']||_0x113ab5?.[_0x431d73(0x27f)]||'Ch\u01B0a\x20ch\u1ECDn\x20t\xE0i\x20kho\u1EA3n';function ut(_0x1b9ec4){const _0x397d2a=_0x431d73;return'<div\x20class=\x22local-quota-grid\x22>'+[0x12c,0x2760][_0x397d2a(0xf9)](_0xebba3b=>{const _0x2db8cd=_0x397d2a;let _0x438e70=_0x1b9ec4?.[_0x2db8cd(0x281)]?.[_0x2db8cd(0x183)](_0x28094b=>_0x28094b[_0x2db8cd(0x2f0)]===_0xebba3b),_0x173a7f=_0xebba3b===0x12c?_0x2db8cd(0xe1):'1\x20tu\u1EA7n';return'<div\x20class=\x22local-quota-window\x20'+(_0x438e70?.[_0x2db8cd(0x2b7)]>=0x5a?_0x2db8cd(0x2b0):'')+_0x2db8cd(0x19d)+_0x173a7f+_0x2db8cd(0x27a)+(_0x438e70?k(_0x438e70[_0x2db8cd(0x2b7)][_0x2db8cd(0x2ae)](_0x2db8cd(0x132)))+_0x2db8cd(0xca):_0x2db8cd(0x1cb))+_0x2db8cd(0x243)+(_0x438e70?_0x2db8cd(0x242)+_0x438e70[_0x2db8cd(0x2b7)]+'\x22\x20aria-label=\x22Quota\x20'+_0x173a7f+_0x2db8cd(0x1d7)+k(at(_0x438e70[_0x2db8cd(0x13d)]))+'</p><small>'+k(at(_0x438e70[_0x2db8cd(0x114)]))+_0x2db8cd(0x303)+(_0x438e70[_0x2db8cd(0x244)]?_0x2db8cd(0x14a):''):_0x2db8cd(0x1d1))+'</div>';})[_0x397d2a(0x217)]('')+_0x397d2a(0x226);}function ot(_0x260652){const _0x4e93c7=_0x431d73;return _0x260652?.[_0x4e93c7(0x2cf)]?.[_0x4e93c7(0xab)]?_0x260652[_0x4e93c7(0x2cf)]['map'](_0x686486=>_0x4e93c7(0x1a8)+k(_0x686486['id'])+'\x22\x20'+(_0x686486[_0x4e93c7(0x2c2)]?'selected':'')+'\x20'+(_0x686486[_0x4e93c7(0x1fb)]!==_0x4e93c7(0x258)?_0x4e93c7(0x18a):'')+'>'+k(ct(_0x686486))+(_0x686486[_0x4e93c7(0x1fb)]!==_0x4e93c7(0x258)?_0x4e93c7(0x1c2):'')+_0x4e93c7(0x136))['join'](''):_0x4e93c7(0x2fc);}function pt(_0x3d3d1f,_0x1c94d0){const _0x38f0e9=_0x431d73;let _0x37f55d=document[_0x38f0e9(0x118)](_0x38f0e9(0xfc));_0x37f55d['className']=_0x38f0e9(0x2e8),_0x37f55d[_0x38f0e9(0x109)]('aria-labelledby',_0x38f0e9(0x176)),_0x37f55d[_0x38f0e9(0x215)]=_0x38f0e9(0x108)+k(ct(_0x3d3d1f))+_0x38f0e9(0x2de),document[_0x38f0e9(0x236)][_0x38f0e9(0xae)](_0x37f55d),_0x37f55d[_0x38f0e9(0x189)](_0x38f0e9(0x1a5),()=>_0x37f55d[_0x38f0e9(0xfe)]()),_0x37f55d['showModal'](),_0x37f55d['querySelector']('[data-cancel]')[_0x38f0e9(0x290)]=()=>_0x37f55d['close'](),_0x37f55d['querySelector']('[data-confirm]')[_0x38f0e9(0x290)]=async _0x3de4b5=>{const _0x2fcf05=_0x38f0e9;_0x3de4b5[_0x2fcf05(0x299)][_0x2fcf05(0x18a)]=!0x0;try{await _0x1c94d0(),_0x37f55d[_0x2fcf05(0x1a5)]();}catch(_0x180634){_0x37f55d[_0x2fcf05(0x112)](_0x2fcf05(0x1b2))[_0x2fcf05(0xad)]=_0x180634[_0x2fcf05(0xac)],_0x3de4b5[_0x2fcf05(0xdb)][_0x2fcf05(0x18a)]=!0x1;}};}function rt(_0x222782,{api:_0x7b799d,initial:_0x2ae855,onChange:_0x214770,isBusy:_0x391d7c=()=>!0x1}){const _0x313c91=_0x431d73;let _0x1864d2=_0x2ae855,_0x3856f4=!0x1,_0x1e3eeb=null,_0x293525=!0x1,_0x11fd39=()=>!_0x3856f4&&_0x222782[_0x313c91(0x1d5)];function _0x863175(_0x7a14d9){const _0x57958a=_0x313c91;_0x11fd39()&&(_0x222782[_0x57958a(0x112)](_0x57958a(0xd0))[_0x57958a(0xad)]=_0x7a14d9[_0x57958a(0xac)]);}function _0x2a0071(_0x1d555c,_0x265c84=!0x1){_0x1864d2=_0x1d555c,_0x214770(_0x1d555c,_0x265c84),_0x11fd39()&&_0x56120d();}async function _0x446a23(_0xdc3dc0,_0x2b09ac,_0x23fc29,_0x19f239=!0x1){const _0x2c90a5=_0x313c91;if(_0x293525)return;_0x293525=!0x0;let _0x182390=_0xdc3dc0[_0x2c90a5(0xad)];_0xdc3dc0[_0x2c90a5(0x18a)]=!0x0,_0xdc3dc0[_0x2c90a5(0xad)]=_0x2c90a5(0xb1),_0x222782[_0x2c90a5(0x112)](_0x2c90a5(0xd0))['textContent']='';try{_0x2a0071(await _0x7b799d(_0x2b09ac,_0x23fc29),_0x19f239);}catch(_0x1efb81){_0x863175(_0x1efb81);}finally{_0x293525=!0x1,_0xdc3dc0['isConnected']&&(_0xdc3dc0[_0x2c90a5(0x18a)]=!0x1,_0xdc3dc0['textContent']=_0x182390),_0x11081b();}}function _0x11081b(){const _0x511f7b=_0x313c91;clearTimeout(_0x1e3eeb),!(!_0x11fd39()||_0x1864d2?.[_0x511f7b(0x245)]?.[_0x511f7b(0x234)]!==_0x511f7b(0x245))&&(_0x1e3eeb=setTimeout(async()=>{const _0xe0dd2=_0x511f7b;if(_0x293525){_0x11081b();return;}try{let _0x2cb818=await _0x7b799d(_0xe0dd2(0x14d));_0x11fd39()&&_0x2a0071(_0x2cb818);}catch(_0x40ed83){_0x863175(_0x40ed83);}_0x11081b();},0x5dc));}function _0x56120d(){const _0x4c78c1=_0x313c91;if(!_0x11fd39())return;let _0x29fd52=_0x1864d2?.[_0x4c78c1(0x2cf)]??[],_0x20835a=_0x1864d2?.['pending'];_0x222782[_0x4c78c1(0x215)]=_0x4c78c1(0x15e)+(_0x20835a?.[_0x4c78c1(0x234)]===_0x4c78c1(0x245)?'<section\x20class=\x22pool-login-pending\x22\x20aria-live=\x22polite\x22><span\x20class=\x22eyebrow\x22>\u0110ang\x20ch\u1EDD\x20b\u1EA1n\x20\u0111\u0103ng\x20nh\u1EADp</span><h2>Ho\xE0n\x20t\u1EA5t\x20tr\xEAn\x20trang\x20OpenAI</h2><p>M\u1EDF\x20trang\x20\u0111\u0103ng\x20nh\u1EADp\x20v\xE0\x20ch\u1ECDn\x20t\xE0i\x20kho\u1EA3n\x20c\u1EA7n\x20th\xEAm.\x20C\xE1c\x20t\xE0i\x20kho\u1EA3n\x20\u0111\xE3\x20l\u01B0u\x20v\u1EABn\x20\u0111\u01B0\u1EE3c\x20gi\u1EEF\x20nguy\xEAn.</p>'+(_0x20835a[_0x4c78c1(0x179)]?_0x4c78c1(0x133)+k(_0x20835a[_0x4c78c1(0x179)])+'</code><button\x20data-copy-login-code>Sao\x20ch\xE9p\x20m\xE3</button></div>':'')+'<div\x20class=\x22settings-actions\x22><a\x20class=\x22button\x20primary\x22\x20href=\x22'+k(_0x20835a[_0x4c78c1(0x2b2)])+_0x4c78c1(0x172):_0x20835a?.['status']===_0x4c78c1(0x2d3)||_0x20835a?.[_0x4c78c1(0x2ca)]?_0x4c78c1(0x20c)+k(m[_0x20835a[_0x4c78c1(0x2ca)]]??m[_0x4c78c1(0x129)])+'</p>':_0x20835a?.[_0x4c78c1(0x234)]===_0x4c78c1(0x231)?_0x4c78c1(0x224):'')+_0x4c78c1(0x2c4)+_0x29fd52['map'](_0x12b5f1=>_0x4c78c1(0xd9)+(_0x12b5f1[_0x4c78c1(0x2c2)]?'pool-active':'')+'\x22\x20data-account-card=\x22'+k(_0x12b5f1['id'])+_0x4c78c1(0x223)+k(_0x12b5f1[_0x4c78c1(0x27f)])+_0x4c78c1(0x28a)+(_0x12b5f1[_0x4c78c1(0x181)]?_0x4c78c1(0x1c7)+k(_0x12b5f1[_0x4c78c1(0x181)])+'</p>':'')+_0x4c78c1(0x1ce)+(_0x12b5f1[_0x4c78c1(0x2c2)]?_0x4c78c1(0x277):_0x12b5f1['state']==='ready'?_0x4c78c1(0x29e):'C\u1EA7n\x20\u0111\u0103ng\x20nh\u1EADp')+_0x4c78c1(0x20f)+(_0x12b5f1[_0x4c78c1(0xa4)]?_0x4c78c1(0x256)+k(_0x12b5f1['plan'])+'</p>':'')+ut(_0x12b5f1)+(_0x12b5f1['quotaError']?_0x4c78c1(0x149)+k(m[_0x12b5f1['quotaError']]??m[_0x4c78c1(0x1a2)])+'</p>':'')+_0x4c78c1(0x249)+k(_0x12b5f1['id'])+'\x22\x20'+(_0x12b5f1['state']!==_0x4c78c1(0x258)?_0x4c78c1(0x18a):'')+_0x4c78c1(0xe9)+(!_0x12b5f1[_0x4c78c1(0x2c2)]&&_0x12b5f1[_0x4c78c1(0x1fb)]===_0x4c78c1(0x258)?_0x4c78c1(0x2a9)+k(_0x12b5f1['id'])+'\x22>D\xF9ng\x20t\xE0i\x20kho\u1EA3n\x20n\xE0y</button>':'')+(_0x12b5f1['id']!==_0x4c78c1(0x1c3)?_0x4c78c1(0x1de)+k(_0x12b5f1['id'])+_0x4c78c1(0x208)+k(_0x12b5f1['id'])+_0x4c78c1(0xd4):_0x4c78c1(0x140))+_0x4c78c1(0x216))[_0x4c78c1(0x217)]('')+'</div><section\x20class=\x22surface\x20pool-add\x22><div><span\x20class=\x22eyebrow\x22>Th\xEAm\x20v\xE0o\x20kh\xF4ng\x20gian\x20c\u1EE7a\x20b\u1EA1n</span><h2>\u0110\u0103ng\x20nh\u1EADp\x20t\xE0i\x20kho\u1EA3n\x20kh\xE1c</h2><p>Phi\xEAn\x20\u0111\u01B0\u1EE3c\x20l\u01B0u\x20ri\xEAng\x20tr\xEAn\x20m\xE1y,\x20kh\xF4ng\x20ghi\x20\u0111\xE8\x20t\xE0i\x20kho\u1EA3n\x20g\u1ED1c\x20trong\x20Codex.\x20B\u1EA1n\x20c\xF3\x20th\u1EC3\x20l\u01B0u\x20t\u1ED1i\x20\u0111a\x20'+(_0x1864d2?.['maxAccounts']??0xa)+_0x4c78c1(0x1cf)+(_0x20835a?.[_0x4c78c1(0x234)]==='pending'?_0x4c78c1(0x18a):'')+_0x4c78c1(0x24f),_0x222782[_0x4c78c1(0x112)](_0x4c78c1(0x2f8))[_0x4c78c1(0xbd)]=_0x199cd0=>{const _0x3030fe=_0x4c78c1;_0x199cd0[_0x3030fe(0x1cc)](),_0x446a23(_0x199cd0['submitter'],_0x3030fe(0x2a3),{'label':_0x222782[_0x3030fe(0x112)]('#account-label')[_0x3030fe(0x2dc)][_0x3030fe(0xf2)]()||_0x3030fe(0x145)+_0x29fd52[_0x3030fe(0xab)],'type':_0x222782[_0x3030fe(0x112)](_0x3030fe(0xf6))[_0x3030fe(0x2dc)],'accepted':_0x222782[_0x3030fe(0x112)]('#pool-consent')[_0x3030fe(0x253)]});},_0x222782[_0x4c78c1(0xf3)](_0x4c78c1(0xb4))[_0x4c78c1(0x1f5)](_0x4f2803=>_0x4f2803[_0x4c78c1(0x290)]=()=>_0x446a23(_0x4f2803,_0x4c78c1(0x1ed),{'accountId':_0x4f2803[_0x4c78c1(0x10b)][_0x4c78c1(0xef)]})),_0x222782[_0x4c78c1(0xf3)](_0x4c78c1(0x2a4))[_0x4c78c1(0x1f5)](_0x5a44f0=>_0x5a44f0[_0x4c78c1(0x290)]=()=>{const _0xd73ed1=_0x4c78c1;if(_0x391d7c())return _0x863175(Error(_0xd73ed1(0x1c0)));_0x446a23(_0x5a44f0,_0xd73ed1(0x280),{'accountId':_0x5a44f0['dataset'][_0xd73ed1(0x21c)]},!0x0);}),_0x222782[_0x4c78c1(0xf3)]('[data-relogin]')[_0x4c78c1(0x1f5)](_0x46cad0=>_0x46cad0['onclick']=()=>{const _0x206edb=_0x4c78c1;if(_0x1864d2[_0x206edb(0x245)]?.[_0x206edb(0x234)]==='pending')return _0x863175(Error(m[_0x206edb(0x29b)]));_0x446a23(_0x46cad0,_0x206edb(0x2a3),{'accountId':_0x46cad0[_0x206edb(0x10b)]['relogin'],'type':_0x206edb(0x260),'accepted':!0x0});}),_0x222782[_0x4c78c1(0xf3)](_0x4c78c1(0x266))[_0x4c78c1(0x1f5)](_0x2fc9f8=>_0x2fc9f8['onclick']=()=>{const _0x3d170f=_0x4c78c1;if(_0x391d7c())return _0x863175(Error(_0x3d170f(0x1e8)));let _0x2d7767=_0x29fd52[_0x3d170f(0x183)](_0x381038=>_0x381038['id']===_0x2fc9f8['dataset'][_0x3d170f(0xa3)]);pt(_0x2d7767,async()=>_0x2a0071(await _0x7b799d('accounts/remove',{'accountId':_0x2d7767['id']}),_0x2d7767[_0x3d170f(0x2c2)]));});let _0x3ce9d7=_0x222782['querySelector'](_0x4c78c1(0x202));_0x3ce9d7&&(_0x3ce9d7['onclick']=()=>_0x446a23(_0x3ce9d7,_0x4c78c1(0x1e5),{}));let _0x4abe21=_0x222782[_0x4c78c1(0x112)](_0x4c78c1(0x1aa));_0x4abe21&&(_0x4abe21['onclick']=async()=>{const _0x5649c7=_0x4c78c1;try{await navigator[_0x5649c7(0x24d)]['writeText'](_0x20835a['userCode']),_0x4abe21[_0x5649c7(0xad)]=_0x5649c7(0x158);}catch{_0x863175(Error('H\xE3y\x20ch\u1ECDn\x20v\xE0\x20sao\x20ch\xE9p\x20m\xE3\x20\u0111ang\x20hi\u1EC3n\x20th\u1ECB.'));}}),_0x11081b();}return _0x56120d(),_0x7b799d('accounts')[_0x313c91(0x1f0)](_0x33cc86=>{_0x11fd39()&&_0x2a0071(_0x33cc86);})['catch'](_0x863175),()=>{_0x3856f4=!0x0,clearTimeout(_0x1e3eeb);};}var e=_0x4e0dc7=>document[_0x431d73(0x112)](_0x4e0dc7),f=_0x160869=>String(_0x160869??'')[_0x431d73(0x198)](/[&<>"']/g,_0x1d4164=>({'&':_0x431d73(0x1b7),'<':_0x431d73(0x22e),'>':'>','\x22':_0x431d73(0xf4),'\x27':_0x431d73(0x1c9)}[_0x1d4164])),F=_0x2b4ddf=>_0x2b4ddf?new Date(_0x2b4ddf)[_0x431d73(0x2ae)](_0x431d73(0x132)):_0x431d73(0x2ea),gt={'home':_0x431d73(0x238),'chat':_0x431d73(0x139),'settings':_0x431d73(0x2c9),'arrow':_0x431d73(0x292),'plus':_0x431d73(0x113),'check':_0x431d73(0x126),'link':_0x431d73(0x1b0)},D=_0x291631=>_0x431d73(0x1c6)+gt[_0x291631]+_0x431d73(0x1fe),a,V='',K=_0x431d73(0x241),$=[],b=!0x1,I,S=null,N=0x0,H=null,Z=!0x1,J=null,R=!0x1,T=[];try{let n=JSON['parse'](localStorage[_0x431d73(0x2d2)](_0x431d73(0x2bf))??'[]');Array['isArray'](n)&&(T=n[_0x431d73(0xf1)](_0x1b74f1=>_0x1b74f1&&typeof _0x1b74f1['id']==_0x431d73(0x2c3)&&typeof _0x1b74f1[_0x431d73(0x185)]==_0x431d73(0x2c3)&&Array['isArray'](_0x1b74f1['messages']))[_0x431d73(0x128)](0x0,0x1e)['map'](_0x34ab71=>({..._0x34ab71,'messages':_0x34ab71[_0x431d73(0x27b)][_0x431d73(0xf1)](_0x59a53b=>_0x59a53b&&[_0x431d73(0x275),_0x431d73(0x19a)][_0x431d73(0x270)](_0x59a53b[_0x431d73(0x247)])&&typeof _0x59a53b[_0x431d73(0x300)]==_0x431d73(0x2c3))[_0x431d73(0x128)](-0x64)})));}catch{}function z(){const _0x680332=_0x431d73;try{localStorage['setItem'](_0x680332(0x2bf),JSON[_0x680332(0x2bd)](T));}catch{M(_0x680332(0x230));}}function M(_0x117f0f){const _0x2ecfdb=_0x431d73;e(_0x2ecfdb(0x1ac))[_0x2ecfdb(0xad)]=_0x117f0f,e('#notice')[_0x2ecfdb(0x2f7)]=!0x1,setTimeout(()=>{const _0x4eabc6=_0x2ecfdb;e(_0x4eabc6(0x1ac))[_0x4eabc6(0x2f7)]=!0x0;},0x1770);}async function y(_0x490f3d,_0x1161e){const _0x404c1f=_0x431d73;let _0x267915;try{_0x267915=await fetch(_0x404c1f(0x1ba)+_0x490f3d,{'method':_0x1161e===void 0x0?_0x404c1f(0xea):_0x404c1f(0x29d),'credentials':_0x404c1f(0x28f),'headers':_0x1161e===void 0x0?{}:{'content-type':_0x404c1f(0xb8),'x-csrf-token':V},'body':_0x1161e===void 0x0?void 0x0:JSON[_0x404c1f(0x2bd)](_0x1161e),'signal':AbortSignal[_0x404c1f(0x28b)](0xfde8)});}catch{throw Error(m[_0x404c1f(0x137)]);}let _0x5e5885=await _0x267915[_0x404c1f(0xe3)]();if(!_0x267915['ok'])throw Error(m[_0x5e5885[_0x404c1f(0x2ca)]]??_0x404c1f(0x1dc));return _0x5e5885;}async function W(){const _0x1362d5=_0x431d73;a=await y(_0x1362d5(0x234)),V=a[_0x1362d5(0x196)];}var mt=()=>a[_0x431d73(0x1ee)][_0x431d73(0x2c2)]?'D\u1ECBch\x20v\u1EE5\x20\u0111\xE3\x20k\xEDch\x20ho\u1EA1t':a[_0x431d73(0x1ee)][_0x431d73(0x2ee)]?_0x431d73(0x168):'C\u1EA7n\x20ki\u1EC3m\x20tra\x20d\u1ECBch\x20v\u1EE5';function _0x22aa(_0x94b521,_0x41fd2b){_0x94b521=_0x94b521-0xa1;const _0x2b57a2=_0x2b57();let _0x22aa84=_0x2b57a2[_0x94b521];if(_0x22aa['uPdvqV']===undefined){var _0x32f75a=function(_0x568246){const _0xad4cc1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x40f29f='',_0x26e053='';for(let _0xe3ff08=0x0,_0x10ee2e,_0x216c68,_0x5ec2ee=0x0;_0x216c68=_0x568246['charAt'](_0x5ec2ee++);~_0x216c68&&(_0x10ee2e=_0xe3ff08%0x4?_0x10ee2e*0x40+_0x216c68:_0x216c68,_0xe3ff08++%0x4)?_0x40f29f+=String['fromCharCode'](0xff&_0x10ee2e>>(-0x2*_0xe3ff08&0x6)):0x0){_0x216c68=_0xad4cc1['indexOf'](_0x216c68);}for(let _0x4bca8d=0x0,_0x5deb2b=_0x40f29f['length'];_0x4bca8d<_0x5deb2b;_0x4bca8d++){_0x26e053+='%'+('00'+_0x40f29f['charCodeAt'](_0x4bca8d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x26e053);};_0x22aa['PDgFcX']=_0x32f75a,_0x22aa['WZeyrB']={},_0x22aa['uPdvqV']=!![];}const _0x30314c=_0x2b57a2[0x0];_0x22aa['AxmYTk']!==_0x30314c&&(_0x22aa['WZeyrB']={},_0x22aa['AxmYTk']=_0x30314c);const _0x39fda2=_0x22aa['WZeyrB'][_0x94b521];return _0x39fda2===undefined?(_0x22aa84=_0x22aa['PDgFcX'](_0x22aa84),_0x22aa['WZeyrB'][_0x94b521]=_0x22aa84):_0x22aa84=_0x39fda2,_0x22aa84;}function tt(){const _0x201144=_0x431d73;e(_0x201144(0x1e0))['innerHTML']=_0x201144(0x2bc)+D(_0x201144(0x2d7))+'Cu\u1ED9c\x20tr\xF2\x20chuy\u1EC7n\x20m\u1EDBi</button><nav\x20aria-label=\x22\u0110i\u1EC1u\x20h\u01B0\u1EDBng\x22>'+[['home',_0x201144(0x241),_0x201144(0x17f)],[_0x201144(0x122),_0x201144(0x122),'Tr\xF2\x20chuy\u1EC7n'],[_0x201144(0x14d),_0x201144(0x1b5),'T\xE0i\x20kho\u1EA3n\x20&\x20quota'],[_0x201144(0x12e),_0x201144(0x12e),_0x201144(0x171)]][_0x201144(0xf9)](([_0x6416b4,_0x157407,_0x3d2953])=>_0x201144(0x186)+_0x6416b4+_0x201144(0x2cc)+_0x6416b4+'\x22>'+D(_0x157407)+_0x3d2953+_0x201144(0x15d))[_0x201144(0x217)]('')+_0x201144(0x287)+mt()+_0x201144(0x144),et(e(_0x201144(0x21f)),{'api':y,'version':a['version'],'notice':M}),e(_0x201144(0x1ff))['onclick']=()=>{const _0x1b2a0a=_0x201144;if(b){M('D\u1EEBng\x20c\xE2u\x20tr\u1EA3\x20l\u1EDDi\x20hi\u1EC7n\x20t\u1EA1i\x20tr\u01B0\u1EDBc\x20khi\x20m\u1EDF\x20cu\u1ED9c\x20tr\xF2\x20chuy\u1EC7n\x20m\u1EDBi.');return;}S=null,location[_0x1b2a0a(0x279)]=_0x1b2a0a(0x122),A();},A();}function Y(){const _0xf6a5a5=_0x431d73;e(_0xf6a5a5(0x24c))[_0xf6a5a5(0x215)]=T['length']?T[_0xf6a5a5(0xf9)](_0x3ef623=>_0xf6a5a5(0x1e7)+f(_0x3ef623['id'])+_0xf6a5a5(0x1cd)+(S===_0x3ef623['id']?_0xf6a5a5(0x2dd):'')+'\x22>'+f(_0x3ef623[_0xf6a5a5(0x185)])+'</button>')[_0xf6a5a5(0x217)](''):_0xf6a5a5(0x18d),document[_0xf6a5a5(0xf3)](_0xf6a5a5(0x117))[_0xf6a5a5(0x1f5)](_0x2846a4=>_0x2846a4['onclick']=()=>{const _0x10a8bd=_0xf6a5a5;b||(S=_0x2846a4['dataset'][_0x10a8bd(0x1da)],location[_0x10a8bd(0x279)]=_0x10a8bd(0x122),A());});}function A(){const _0x44ee2c=_0x431d73;Z||(J?.(),J=null,K=[_0x44ee2c(0x241),'chat',_0x44ee2c(0x14d),'settings']['includes'](location['hash']['slice'](0x1))?location['hash'][_0x44ee2c(0x128)](0x1):_0x44ee2c(0x241),document[_0x44ee2c(0xf3)](_0x44ee2c(0x268))[_0x44ee2c(0x1f5)](_0x59d335=>_0x59d335[_0x44ee2c(0x109)](_0x44ee2c(0x2b5),_0x59d335[_0x44ee2c(0x10b)][_0x44ee2c(0xbf)]===K?_0x44ee2c(0x2c7):_0x44ee2c(0x25f))),e(_0x44ee2c(0x18f))[_0x44ee2c(0xad)]={'home':'Thi\u1EBFt\x20l\u1EADp\x20Codex','chat':_0x44ee2c(0x141),'accounts':_0x44ee2c(0x237),'settings':_0x44ee2c(0x171)}[K],Y(),K===_0x44ee2c(0x241)?yt():K===_0x44ee2c(0x12e)?kt():K==='accounts'?J=rt(e(_0x44ee2c(0x22a)),{'api':y,'initial':a['accounts'],'isBusy':()=>b,'onChange':(_0x315877,_0x329bb3)=>{const _0x36f496=_0x44ee2c;a[_0x36f496(0x14d)]=_0x315877,_0x329bb3&&(a[_0x36f496(0x2e9)]=_0x315877[_0x36f496(0x2cf)][_0x36f496(0x1b9)](_0x3a6385=>_0x3a6385['active']&&_0x3a6385[_0x36f496(0x1fb)]===_0x36f496(0x258)),$=[],N++);}}):O());}var j=()=>a['license']['salesChannel']===_0x431d73(0x2f4),st=()=>j()?'https://codexunlimit.tudonghoa.me/privacy':'/app/privacy',L=()=>a[_0x431d73(0x1ee)]['active']&&a['connected'];function yt(){const _0x59c6ab=_0x431d73;let _0x18bddc=a[_0x59c6ab(0x1c3)]??{'configured':a[_0x59c6ab(0xcd)],'managed':a['codexConfigured']},_0xe98d8e=a[_0x59c6ab(0x218)]??{'supported':!0x1,'installed':!0x1,'running':!0x1},_0x24cb35=a['codexConnected']??(a[_0x59c6ab(0x2e9)]&&a['codexAccount']?.['available']!==!0x1),_0x22a600=a[_0x59c6ab(0xcd)]&&!_0x18bddc[_0x59c6ab(0x25e)],_0x34a0b2=Number(a[_0x59c6ab(0x1ee)]['active'])+Number(_0x24cb35)+Number(_0x22a600),_0x8a5b24=_0xe98d8e[_0x59c6ab(0x192)]&&_0xe98d8e[_0x59c6ab(0x111)]&&!_0xe98d8e[_0x59c6ab(0x2ca)],_0x256744=[];a[_0x59c6ab(0x1ee)][_0x59c6ab(0x2c2)]||_0x256744['push'](a[_0x59c6ab(0x1ee)][_0x59c6ab(0x2ee)]?_0x59c6ab(0xe2):_0x59c6ab(0x267)),_0x24cb35||_0x256744[_0x59c6ab(0x264)](a['codexAccount']?.[_0x59c6ab(0x2ca)]===_0x59c6ab(0x2ec)?_0x59c6ab(0x106):'Ch\u01B0a\x20k\u1EBFt\x20n\u1ED1i\x20t\xE0i\x20kho\u1EA3n\x20trong\x20Codex'),a[_0x59c6ab(0xcd)]?_0x18bddc[_0x59c6ab(0x25e)]&&_0x256744[_0x59c6ab(0x264)](_0x59c6ab(0x195)):_0x256744[_0x59c6ab(0x264)](_0x18bddc[_0x59c6ab(0x2ca)]?_0x59c6ab(0x1d8):_0x59c6ab(0xdd));let _0x318c00=(_0x10187a,_0x5483c4,_0x2b2c4c,_0x293f11)=>_0x59c6ab(0x289)+(_0x5483c4?_0x59c6ab(0xbb):'')+'\x22>'+(_0x5483c4?D('check'):_0x10187a)+_0x59c6ab(0x211)+_0x2b2c4c+_0x59c6ab(0x11d)+(_0x5483c4?_0x59c6ab(0x231):'')+'\x22>'+_0x293f11+_0x59c6ab(0x20f);e(_0x59c6ab(0x22a))[_0x59c6ab(0x215)]=_0x59c6ab(0xa1)+(_0x256744[_0x59c6ab(0xab)]?'needs-attention':'is-ready')+_0x59c6ab(0x20b)+(_0x256744[_0x59c6ab(0xab)]?_0x59c6ab(0xc4):_0x59c6ab(0x2d9))+'</strong>'+(_0x256744[_0x59c6ab(0xab)]?_0x59c6ab(0x1fd)+_0x256744[_0x59c6ab(0xf9)](_0x399ef8=>'<li>'+f(_0x399ef8)+_0x59c6ab(0x2e1))['join'](''):_0x59c6ab(0x22d))+_0x59c6ab(0x25a)+_0x34a0b2+_0x59c6ab(0x2ed)+_0x318c00('01',a[_0x59c6ab(0x1ee)][_0x59c6ab(0x2c2)],_0x59c6ab(0x2ce),a[_0x59c6ab(0x1ee)][_0x59c6ab(0x2c2)]?'\u0110\xE3\x20k\xEDch\x20ho\u1EA1t':_0x59c6ab(0x1f6))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<p>'+(a[_0x59c6ab(0x1ee)][_0x59c6ab(0x2c2)]?'S\u1EED\x20d\u1EE5ng\x20\u0111\u1EBFn\x20'+F(a['license']['expiresAt'])+'.':f(m[a[_0x59c6ab(0x1ee)]['error']]??_0x59c6ab(0x156)))+_0x59c6ab(0x23a)+_0x318c00('02',_0x24cb35,'K\u1EBFt\x20n\u1ED1i\x20t\xE0i\x20kho\u1EA3n\x20ChatGPT',_0x24cb35?'\u0110\xE3\x20k\u1EBFt\x20n\u1ED1i':_0x59c6ab(0x11b))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<p>'+(_0x24cb35?_0x59c6ab(0x2e6):f(m[a[_0x59c6ab(0x1ef)]?.[_0x59c6ab(0x2ca)]]??_0x59c6ab(0x15f)))+_0x59c6ab(0x1c1)+(a[_0x59c6ab(0x193)]?'checked':'')+_0x59c6ab(0x182)+st()+_0x59c6ab(0x15a)+(a[_0x59c6ab(0x2e9)]?_0x59c6ab(0xc1):_0x59c6ab(0x2c5))+_0x59c6ab(0x1ea)+(_0x8a5b24?_0x59c6ab(0xb2):'')+_0x59c6ab(0xaf)+_0x318c00('03',_0x22a600,_0x59c6ab(0x2b9),_0x22a600?_0x59c6ab(0x305):_0x18bddc[_0x59c6ab(0x25e)]?_0x59c6ab(0x11e):_0x59c6ab(0x11b))+_0x59c6ab(0x282)+(_0x18bddc['error']?_0x59c6ab(0x105)+f(m[_0x18bddc[_0x59c6ab(0x2ca)]]??m[_0x59c6ab(0x1f2)])+'</p>':_0x18bddc[_0x59c6ab(0x257)]&&!a[_0x59c6ab(0xcd)]?_0x59c6ab(0x265):'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x18bddc[_0x59c6ab(0x25e)]?'<p\x20class=\x22connection-warning\x22>\u0110\xE3\x20l\u01B0u\x20c\u1EA5u\x20h\xECnh.\x20C\u1EA7n\x20\u0111\xF3ng\x20v\xE0\x20m\u1EDF\x20l\u1EA1i\x20Codex\x20\u0111\u1EC3\x20\xE1p\x20d\u1EE5ng.</p>':'')+_0x59c6ab(0x2bb)+(_0x8a5b24?_0x59c6ab(0x255):_0x59c6ab(0x251))+_0x59c6ab(0x2ef)+(!a[_0x59c6ab(0x1ee)][_0x59c6ab(0x2c2)]||!_0x24cb35||_0x18bddc[_0x59c6ab(0x2ca)]?_0x59c6ab(0x18a):'')+'>'+(_0x8a5b24?_0x59c6ab(0xb0):_0x59c6ab(0x1f1))+_0x59c6ab(0x1ea)+(_0x18bddc[_0x59c6ab(0x257)]?_0x59c6ab(0x24a):'')+_0x59c6ab(0x146)+(!a['license'][_0x59c6ab(0x2c2)]||!_0x24cb35?_0x59c6ab(0xc6):'')+(_0x18bddc[_0x59c6ab(0x25e)]&&!_0x8a5b24?_0x59c6ab(0xfd):'')+_0x59c6ab(0x153)+(_0xe98d8e[_0x59c6ab(0x2ca)]?_0x59c6ab(0x180):_0xe98d8e['supported']?_0xe98d8e[_0x59c6ab(0x111)]?_0xe98d8e[_0x59c6ab(0x2fe)]?_0x59c6ab(0x17e):'\u0110\xE3\x20\u0111\xF3ng':_0x59c6ab(0x23d):_0x59c6ab(0x227))+_0x59c6ab(0x21e)+(_0xe98d8e[_0x59c6ab(0x2ca)]?f(m[_0xe98d8e[_0x59c6ab(0x2ca)]]):_0xe98d8e[_0x59c6ab(0x192)]?_0xe98d8e['installed']?'\u0110i\u1EC1u\x20khi\u1EC3n\x20Codex\x20ngay\x20t\u1EA1i\x20\u0111\xE2y\x20sau\x20khi\x20\u0111\xE3\x20l\u01B0u\x20c\xF4ng\x20vi\u1EC7c.':_0x59c6ab(0x25c):_0x59c6ab(0x1a6))+_0x59c6ab(0x17d)+(_0x8a5b24?'<div\x20class=\x22codex-app-actions\x22><button\x20data-codex-action=\x22open\x22>M\u1EDF\x20Codex</button>'+(_0xe98d8e[_0x59c6ab(0x2fe)]?'<button\x20data-codex-action=\x22restart\x22>M\u1EDF\x20l\u1EA1i\x20Codex</button><button\x20data-codex-action=\x22stop\x22\x20class=\x22text-button\x22>\u0110\xF3ng\x20Codex</button>':'')+_0x59c6ab(0x226):_0x59c6ab(0x157))+_0x59c6ab(0xa5)+(a[_0x59c6ab(0x1ee)][_0x59c6ab(0x2c2)]?_0x59c6ab(0x2e2):_0x59c6ab(0x180))+_0x59c6ab(0x24b)+(_0x24cb35?_0x59c6ab(0x29e):_0x59c6ab(0x210))+'</dd></div><div><dt>Kết\x20nối</dt><dd>'+(a[_0x59c6ab(0xcd)]?_0x59c6ab(0x14f):'Ch\u01B0a\x20c\u1EA5u\x20h\xECnh')+_0x59c6ab(0x1c4),e(_0x59c6ab(0x2c1))[_0x59c6ab(0xbd)]=_0x2c91c5=>{const _0x1db93b=_0x59c6ab;_0x2c91c5[_0x1db93b(0x1cc)](),C(e(_0x1db93b(0xd7)),()=>y(_0x1db93b(0x12d),{'key':e('#activation-key')[_0x1db93b(0x2dc)]}),e(_0x1db93b(0x1b8)),_0x1db93b(0xc8));},e('#renew')[_0x59c6ab(0x290)]=_0x1aca73=>C(_0x1aca73['currentTarget'],()=>y('renew',{}),e('#activate\x20.error')),e(_0x59c6ab(0x14b))['onclick']=_0x148639=>C(_0x148639[_0x59c6ab(0x299)],()=>y(_0x59c6ab(0xc7),{'accepted':e('#privacy-choice')[_0x59c6ab(0x253)],'source':_0x59c6ab(0x1c3)}),e(_0x59c6ab(0xd1)),_0x59c6ab(0x1db)),e('#refresh-setup')[_0x59c6ab(0x290)]=_0x2d62f3=>C(_0x2d62f3[_0x59c6ab(0x299)],async()=>{},e('#sync-error'),_0x59c6ab(0x21b));let _0x5c0fd8=_0x538ebd=>y('codex/setup',{'enabled':_0x538ebd,'restart':!!e(_0x59c6ab(0x278))?.[_0x59c6ab(0x253)],'confirmed':!0x0});e('#setup-codex')[_0x59c6ab(0x290)]=_0x5a6770=>C(_0x5a6770[_0x59c6ab(0x299)],()=>_0x5c0fd8(!0x0),e(_0x59c6ab(0xbe)),_0x271375=>_0x271375[_0x59c6ab(0x25e)]?_0x59c6ab(0x2b3):'\u0110\xE3\x20\xE1p\x20d\u1EE5ng\x20c\u1EA5u\x20h\xECnh\x20v\xE0\x20m\u1EDF\x20Codex.'),e(_0x59c6ab(0xee))&&(e(_0x59c6ab(0xee))['onclick']=_0x3b7f2a=>C(_0x3b7f2a[_0x59c6ab(0x299)],()=>y(_0x59c6ab(0xc3),{'confirmed':!0x0}),e(_0x59c6ab(0xbe)),_0x59c6ab(0x190))),e(_0x59c6ab(0x278))&&(e('#restart-codex')['onchange']=_0x16c83b=>{const _0x541694=_0x59c6ab;e(_0x541694(0x160))[_0x541694(0xad)]=_0x16c83b[_0x541694(0xdb)][_0x541694(0x253)]?'C\u1EA5u\x20h\xECnh\x20&\x20m\u1EDF\x20l\u1EA1i\x20Codex':_0x541694(0x1f1);}),e(_0x59c6ab(0x297))&&(e(_0x59c6ab(0x297))[_0x59c6ab(0x290)]=_0x40531b=>C(_0x40531b[_0x59c6ab(0x299)],()=>_0x5c0fd8(!0x1),e('#sync-error'),_0xe9542a=>_0xe9542a[_0x59c6ab(0x25e)]?'\u0110\xE3\x20kh\xF4i\x20ph\u1EE5c\x20c\u1EA5u\x20h\xECnh\x20g\u1ED1c.\x20M\u1EDF\x20l\u1EA1i\x20Codex\x20\u0111\u1EC3\x20\xE1p\x20d\u1EE5ng.':_0x59c6ab(0x127))),document[_0x59c6ab(0xf3)]('[data-codex-action]')[_0x59c6ab(0x1f5)](_0x16d33e=>_0x16d33e[_0x59c6ab(0x290)]=()=>{const _0x57b1ec=_0x59c6ab;_0x16d33e[_0x57b1ec(0x10b)][_0x57b1ec(0x1d3)]===_0x57b1ec(0xd2)?C(_0x16d33e,()=>y(_0x57b1ec(0x29a),{}),e(_0x57b1ec(0xfa)),_0x57b1ec(0x124)):vt(_0x16d33e[_0x57b1ec(0x10b)][_0x57b1ec(0x1d3)]);});}function vt(_0x135991){const _0x1724e5=_0x431d73;let _0x582690=document[_0x1724e5(0x118)]('dialog');_0x582690[_0x1724e5(0x138)]=_0x1724e5(0x2e8),_0x582690['setAttribute'](_0x1724e5(0x212),'codex-action-title'),_0x582690[_0x1724e5(0x215)]=_0x1724e5(0x1bc)+(_0x135991===_0x1724e5(0x1c5)?_0x1724e5(0x11a):_0x1724e5(0x15b))+_0x1724e5(0x1a3)+(_0x135991===_0x1724e5(0x1c5)?_0x1724e5(0x219):'\u0110\xE3\x20l\u01B0u,\x20\u0111\xF3ng\x20Codex')+_0x1724e5(0x23c),document[_0x1724e5(0x236)][_0x1724e5(0xae)](_0x582690),_0x582690[_0x1724e5(0x189)](_0x1724e5(0x1a5),()=>_0x582690[_0x1724e5(0xfe)]()),_0x582690[_0x1724e5(0x1f9)](),_0x582690[_0x1724e5(0x112)](_0x1724e5(0x184))[_0x1724e5(0x290)]=()=>_0x582690[_0x1724e5(0x1a5)](),_0x582690['querySelector'](_0x1724e5(0x163))[_0x1724e5(0x290)]=async _0x54a370=>{const _0x3e569d=_0x1724e5;let _0x4ba0eb=_0x54a370['currentTarget'];_0x4ba0eb[_0x3e569d(0x18a)]=!0x0;try{await y(_0x3e569d(0x188)+_0x135991,{'confirmed':!0x0}),await W(),_0x582690[_0x3e569d(0x1a5)](),tt(),M(_0x135991==='restart'?_0x3e569d(0x125):'\u0110\xE3\x20\u0111\xF3ng\x20Codex.');}catch(_0x14e7dd){_0x582690[_0x3e569d(0x112)](_0x3e569d(0x1b2))[_0x3e569d(0xad)]=_0x14e7dd[_0x3e569d(0xac)],_0x4ba0eb[_0x3e569d(0x18a)]=!0x1;}};}function kt(){const _0x245bbb=_0x431d73;let _0x6fe9de=a['codex']??{'configured':a['codexConfigured'],'managed':a['codexConfigured']};e(_0x245bbb(0x22a))[_0x245bbb(0x215)]='<div\x20class=\x22page-title\x22><span\x20class=\x22eyebrow\x22>Theo\x20cách\x20của\x20bạn</span><h1>Cài\x20đặt\x20&\x20hỗ\x20trợ</h1><p>Kết\x20nối,\x20quản\x20lý\x20ứng\x20dụng\x20và\x20xem\x20phần\x20cần\x20xử\x20lý\x20tại\x20một\x20nơi.</p></div>\x0a\x20\x20<div\x20class=\x22settings-grid\x22><div>\x0a\x20\x20\x20\x20<section\x20class=\x22surface\x22><div\x20class=\x22section-title\x22><h2>Mã\x20sử\x20dụng</h2><span\x20class=\x22tag\x22>'+(a[_0x245bbb(0x1ee)][_0x245bbb(0x2c2)]?_0x245bbb(0x2e0):_0x245bbb(0x180))+_0x245bbb(0x262)+(a['license']['active']?_0x245bbb(0x1c8)+F(a['license']['expiresAt'])+'.':f(m[a[_0x245bbb(0x1ee)][_0x245bbb(0x2ca)]]??_0x245bbb(0x2e4)))+_0x245bbb(0x187)+(a[_0x245bbb(0x2e9)]?_0x245bbb(0x1a7):_0x245bbb(0xcf))+_0x245bbb(0x1ca)+(a[_0x245bbb(0x2e9)]?_0x245bbb(0x253):'')+_0x245bbb(0x182)+st()+_0x245bbb(0x131)+(a[_0x245bbb(0x2e9)]?'':_0x245bbb(0xda))+'\x22>'+(a['connected']?_0x245bbb(0xc1):_0x245bbb(0x2c5))+'</button>'+(a[_0x245bbb(0x2e9)]?_0x245bbb(0x1a9):'')+_0x245bbb(0x1d4)+(a['codexConfigured']?'\u0110\xE3\x20b\u1EADt':_0x6fe9de[_0x245bbb(0x2ca)]?'C\u1EA7n\x20x\u1EED\x20l\xFD':_0x245bbb(0x13e))+_0x245bbb(0x262)+(a['codexConfigured']?_0x245bbb(0x239):_0x245bbb(0x23e))+_0x245bbb(0x17d)+(_0x6fe9de[_0x245bbb(0x2ca)]?_0x245bbb(0x105)+f(m[_0x6fe9de['error']]??m[_0x245bbb(0x1f2)])+_0x245bbb(0xce):_0x6fe9de[_0x245bbb(0x257)]&&!_0x6fe9de[_0x245bbb(0x288)]?_0x245bbb(0x2f1):'')+_0x245bbb(0x11f)+(a[_0x245bbb(0xcd)]?_0x245bbb(0x221):_0x6fe9de['managed']?_0x245bbb(0xf5):_0x245bbb(0x2d6))+_0x245bbb(0x11c)+(a[_0x245bbb(0x1ee)][_0x245bbb(0x2c2)]?_0x245bbb(0x29e):'C\u1EA7n\x20ki\u1EC3m\x20tra')+_0x245bbb(0x29c)+(a[_0x245bbb(0x2e9)]?'\u0110\xE3\x20k\u1EBFt\x20n\u1ED1i':_0x245bbb(0xcf))+_0x245bbb(0x27c)+(a[_0x245bbb(0xcd)]?_0x245bbb(0x130):_0x6fe9de['error']?_0x245bbb(0xd6):_0x245bbb(0x13e))+'</strong></li></ul>\x0a\x20\x20\x20\x20</section>\x0a\x20\x20\x20\x20<section\x20class=\x22surface\x20desktop-controls\x22><div\x20class=\x22section-title\x22><h2>Ứng\x20dụng\x20trên\x20máy</h2><span\x20class=\x22tag\x22>'+f(a[_0x245bbb(0xe6)])+'</span></div>\x0a\x20\x20\x20\x20\x20\x20'+(a[_0x245bbb(0x2a5)]?.[_0x245bbb(0x192)]?_0x245bbb(0x2be)+(a[_0x245bbb(0x2a5)][_0x245bbb(0x2f5)]?_0x245bbb(0x253):'')+'></label><p\x20class=\x22subtext\x22>Biểu\x20tượng\x20CU\x20nằm\x20ở\x20góc\x20phải\x20thanh\x20tác\x20vụ,\x20có\x20thể\x20nằm\x20trong\x20dấu\x20mũi\x20tên\x20lên.\x20Nhấp\x20phải\x20để\x20mở,\x20khởi\x20động\x20lại\x20hoặc\x20tắt\x20ứng\x20dụng.</p>'+(a['desktop']['tray']?'':_0x245bbb(0xbc)):_0x245bbb(0x101))+_0x245bbb(0x2d5)+(j()?'<a\x20class=\x22button\x22\x20href=\x22https://codexunlimit.tudonghoa.me/download#upgrade\x22\x20target=\x22_blank\x22\x20rel=\x22noreferrer\x22>C\u1EADp\x20nh\u1EADt\x20\u1EE9ng\x20d\u1EE5ng</a>':_0x245bbb(0x2f3))+_0x245bbb(0x2b4)+(j()?_0x245bbb(0x1e3):'<p>\u0110\u1EC3\x20\u0111\u01B0\u1EE3c\x20h\u1ED7\x20tr\u1EE3\x20ho\u1EB7c\x20gia\x20h\u1EA1n,\x20li\xEAn\x20h\u1EC7\x20ng\u01B0\u1EDDi\x20\u0111\xE3\x20cung\x20c\u1EA5p\x20key\x20cho\x20b\u1EA1n.</p>')+_0x245bbb(0x1bb)+a['usage'][_0x245bbb(0x1b4)]+_0x245bbb(0x2b8)+a[_0x245bbb(0x2d1)]['errors']+_0x245bbb(0x19f)+a[_0x245bbb(0x1b6)][_0x245bbb(0x128)](0x0,0x5)[_0x245bbb(0xf9)](_0x9c0112=>_0x245bbb(0xd5)+F(_0x9c0112['ts'])+_0x245bbb(0x25d)+(_0x9c0112[_0x245bbb(0x234)]<0x190?'Ho\xE0n\x20t\u1EA5t':'Ch\u01B0a\x20ho\xE0n\x20t\u1EA5t')+_0x245bbb(0x16c))[_0x245bbb(0x217)]('')+_0x245bbb(0x17b),e(_0x245bbb(0x2c1))[_0x245bbb(0xbd)]=async _0x40916e=>{const _0x4c61fb=_0x245bbb;_0x40916e['preventDefault'](),await C(e('#activate\x20button'),()=>y(_0x4c61fb(0x12d),{'key':e(_0x4c61fb(0x2b6))['value']}),e(_0x4c61fb(0x1b8)));},e(_0x245bbb(0x135))[_0x245bbb(0x290)]=_0x4762fb=>C(_0x4762fb[_0x245bbb(0xdb)],()=>y('renew',{}),e('#activate\x20.error')),e(_0x245bbb(0x14b))['onclick']=_0x2e6cd8=>C(_0x2e6cd8[_0x245bbb(0xdb)],()=>y(_0x245bbb(0xc7),{'accepted':e(_0x245bbb(0x17a))[_0x245bbb(0x253)]}),e(_0x245bbb(0xd1))),e(_0x245bbb(0x169))&&(e(_0x245bbb(0x169))[_0x245bbb(0x290)]=_0x2289a2=>C(_0x2289a2[_0x245bbb(0xdb)],()=>y('disconnect',{}),e(_0x245bbb(0xd1)))),e('#account-error')[_0x245bbb(0xb7)](_0x245bbb(0x272),_0x245bbb(0x22b)),e(_0x245bbb(0x2e5))[_0x245bbb(0x290)]=_0x8e3869=>C(_0x8e3869[_0x245bbb(0xdb)],()=>y(a[_0x245bbb(0xcd)]?'unsync':_0x245bbb(0x2db),{}),e(_0x245bbb(0xbe))),e(_0x245bbb(0xc2))[_0x245bbb(0x290)]=_0x488cb2=>C(_0x488cb2[_0x245bbb(0xdb)],async()=>{},e('#sync-error'),_0x245bbb(0x1df)),e(_0x245bbb(0xf8))&&(e(_0x245bbb(0xf8))['onchange']=async _0x467116=>{const _0x1d32cf=_0x245bbb;let _0x3ed4bf=_0x467116['target'],_0x5848d3=_0x3ed4bf[_0x1d32cf(0x253)];await C(_0x3ed4bf,()=>y(_0x1d32cf(0xe7),{'enabled':_0x5848d3}),e('#desktop-error')),_0x3ed4bf[_0x1d32cf(0x1d5)]&&(_0x3ed4bf['checked']=!!a['desktop'][_0x1d32cf(0x2f5)]);}),e('#show-tray')&&(e(_0x245bbb(0x1d6))[_0x245bbb(0x290)]=_0x3d90cd=>C(_0x3d90cd[_0x245bbb(0xdb)],()=>y(_0x245bbb(0x220),{}),e(_0x245bbb(0xec)))),document['querySelectorAll'](_0x245bbb(0x206))['forEach'](_0x47d4fd=>_0x47d4fd[_0x245bbb(0x290)]=()=>bt(_0x47d4fd[_0x245bbb(0x10b)]['stop']));}function bt(_0x37d385){const _0x31aea3=_0x431d73;let _0x337985=document[_0x31aea3(0x118)](_0x31aea3(0xfc));_0x337985[_0x31aea3(0x138)]='stop-dialog',_0x337985[_0x31aea3(0x109)](_0x31aea3(0x212),_0x31aea3(0x103)),_0x337985[_0x31aea3(0x215)]='<h2\x20id=\x22stop-title\x22>'+(_0x37d385===_0x31aea3(0xa9)?_0x31aea3(0x271):_0x31aea3(0x2eb))+_0x31aea3(0x21e)+(_0x37d385===_0x31aea3(0xa9)?_0x31aea3(0x173):_0x31aea3(0x165))+_0x31aea3(0x1ab)+(_0x37d385===_0x31aea3(0xa9)?'D\u1EEBng\x20\u0111\u1EC3\x20c\u1EADp\x20nh\u1EADt':_0x31aea3(0xe5))+_0x31aea3(0x23c),document[_0x31aea3(0x236)][_0x31aea3(0xae)](_0x337985),_0x337985[_0x31aea3(0x189)](_0x31aea3(0x1a5),()=>_0x337985[_0x31aea3(0xfe)]()),_0x337985['showModal'](),e(_0x31aea3(0x1a1))[_0x31aea3(0x290)]=()=>_0x337985['close'](),e(_0x31aea3(0x263))[_0x31aea3(0x290)]=async _0x5eb223=>{const _0x188b2d=_0x31aea3;let _0x32ad63=_0x5eb223['currentTarget'];_0x32ad63[_0x188b2d(0x18a)]=!0x0;try{await y(_0x188b2d(0x21a),{'mode':_0x37d385}),Z=!0x0,_0x337985[_0x188b2d(0x1a5)](),e(_0x188b2d(0x1e0))['innerHTML']='<main\x20class=\x22opening\x22><span\x20class=\x22mark\x22>cu</span><h1>\u1EE8ng\x20d\u1EE5ng\x20\u0111\xE3\x20t\u1EAFt</h1><p>'+(_0x37d385==='update'?'C\xE0i\x20g\xF3i\x20m\u1EDBi,\x20sau\x20\u0111\xF3\x20ch\u1EA1y\x20l\u1EC7nh\x20b\xEAn\x20d\u01B0\u1EDBi\x20\u0111\u1EC3\x20ti\u1EBFp\x20t\u1EE5c.':_0x188b2d(0x177))+_0x188b2d(0x2f9)+(j()?_0x188b2d(0xe4):_0x188b2d(0x1d2))+_0x188b2d(0x1ae);}catch(_0x3857f8){_0x337985[_0x188b2d(0x112)](_0x188b2d(0x1b2))['textContent']=_0x3857f8[_0x188b2d(0xac)],_0x32ad63[_0x188b2d(0x18a)]=!0x1;}};}async function C(_0x28e6ef,_0x3ab753,_0x34d39e,_0x43bd47='\u0110\xE3\x20c\u1EADp\x20nh\u1EADt.'){const _0x198268=_0x431d73;if(R){M(_0x198268(0x2fb));return;}R=!0x0;let _0x19d3c2=_0x28e6ef[_0x198268(0xad)];_0x28e6ef[_0x198268(0x18a)]=!0x0,_0x28e6ef[_0x198268(0x109)](_0x198268(0x150),_0x198268(0x12a)),_0x28e6ef[_0x198268(0x10d)]==='BUTTON'&&(_0x28e6ef[_0x198268(0xad)]='\u0110ang\x20x\u1EED\x20l\xFD\u2026'),_0x34d39e['textContent']='';let _0x458712=!0x1;try{let _0x2db1af=await _0x3ab753();if(_0x458712=!0x0,await W(),N++,$=[],tt(),_0x2db1af?.[_0x198268(0x10f)]){let _0x1c4424=e(_0x198268(0xbe))??e(_0x198268(0xfa));_0x1c4424&&(_0x1c4424[_0x198268(0xad)]=m[_0x2db1af[_0x198268(0x10f)]]??m[_0x198268(0x25b)]),M(_0x198268(0x207));}else M(typeof _0x43bd47==_0x198268(0x13a)?_0x43bd47(_0x2db1af):_0x43bd47);}catch(_0x202e5b){_0x34d39e['textContent']=(_0x458712?'Thao\x20t\xE1c\x20\u0111\xE3\x20th\u1EF1c\x20hi\u1EC7n\x20nh\u01B0ng\x20ch\u01B0a\x20c\u1EADp\x20nh\u1EADt\x20\u0111\u01B0\u1EE3c\x20tr\u1EA1ng\x20th\xE1i.\x20':'')+_0x202e5b[_0x198268(0xac)];}finally{R=!0x1,_0x28e6ef['disabled']=!0x1,_0x28e6ef[_0x198268(0xaa)](_0x198268(0x150)),_0x28e6ef[_0x198268(0x1d5)]&&_0x28e6ef[_0x198268(0x10d)]===_0x198268(0x13c)&&(_0x28e6ef[_0x198268(0xad)]=_0x19d3c2);}}function O(){const _0x2acbc7=_0x431d73;let _0x42242d=T[_0x2acbc7(0x183)](_0x2aff1c=>_0x2aff1c['id']===S);e(_0x2acbc7(0x22a))['innerHTML']=_0x2acbc7(0x18c)+f(_0x42242d?.[_0x2acbc7(0x185)]??'B\u1EA1n\x20mu\u1ED1n\x20l\xE0m\x20g\xEC\x20h\xF4m\x20nay?')+_0x2acbc7(0x286)+(_0x42242d?_0x2acbc7(0x273)+(b?_0x2acbc7(0x18a):'')+'>X\xF3a\x20cu\u1ED9c\x20tr\xF2\x20chuy\u1EC7n</button>':'')+_0x2acbc7(0xd3)+(b?_0x2acbc7(0x18a):'')+_0x2acbc7(0x23f)+T[_0x2acbc7(0xf9)](_0x21ff63=>_0x2acbc7(0x1a8)+f(_0x21ff63['id'])+'\x22\x20'+(_0x21ff63['id']===S?_0x2acbc7(0x2dd):'')+'>'+f(_0x21ff63[_0x2acbc7(0x185)])+'</option>')[_0x2acbc7(0x217)]('')+_0x2acbc7(0xeb)+(b||!a[_0x2acbc7(0x14d)]?_0x2acbc7(0x18a):'')+'>'+ot(a[_0x2acbc7(0x14d)])+'</select><a\x20href=\x22#accounts\x22>Xem\x20quota</a></div><div\x20id=\x22messages\x22\x20class=\x22messages\x22\x20role=\x22log\x22\x20aria-label=\x22N\u1ED9i\x20dung\x20tr\xF2\x20chuy\u1EC7n\x22></div><div\x20id=\x22chat-empty\x22\x20class=\x22chat-empty\x22\x20'+(_0x42242d?.[_0x2acbc7(0x27b)]['length']?_0x2acbc7(0x2f7):'')+_0x2acbc7(0x104)+D(_0x2acbc7(0x122))+_0x2acbc7(0xb3)+[_0x2acbc7(0x1f7),'Vi\u1EBFt\x20m\u1ED9t\x20email\x20ph\u1EA3n\x20h\u1ED3i\x20kh\xE1ch\x20h\xE0ng',_0x2acbc7(0xba)]['map'](_0x28a62d=>'<button\x20data-prompt=\x22'+f(_0x28a62d)+'\x22>'+_0x28a62d+_0x2acbc7(0x20a))[_0x2acbc7(0x217)]('')+'</div></div>'+(L()?'':_0x2acbc7(0x162))+_0x2acbc7(0x233)+(!L()||b?_0x2acbc7(0x18a):'')+'></textarea><div\x20class=\x22composer-tools\x22><div><label\x20class=\x22sr-only\x22\x20for=\x22model\x22>Ch\u1ECDn\x20m\xF4\x20h\xECnh</label><select\x20id=\x22model\x22\x20'+(b?_0x2acbc7(0x18a):'')+'><option\x20value=\x22\x22>'+(L()?_0x2acbc7(0x274):_0x2acbc7(0x161))+_0x2acbc7(0x12b)+(!L()||b?'disabled':'')+'>'+D(_0x2acbc7(0x235))+'</button><button\x20id=\x22stop\x22\x20type=\x22button\x22\x20'+(b?'':_0x2acbc7(0x2f7))+_0x2acbc7(0x1fa),Ct(),e(_0x2acbc7(0xb9))[_0x2acbc7(0x200)]=async _0x13a0bb=>{const _0xa1d478=_0x2acbc7;if(!b){_0x13a0bb[_0xa1d478(0xdb)]['disabled']=!0x0;try{a['accounts']=await y(_0xa1d478(0x280),{'accountId':_0x13a0bb[_0xa1d478(0xdb)]['value']}),a['connected']=!0x0,$=[],N++,O();}catch(_0x180fd8){e('#chat-error')[_0xa1d478(0xad)]=_0x180fd8['message'],_0x13a0bb[_0xa1d478(0xdb)][_0xa1d478(0x2dc)]=a[_0xa1d478(0x14d)]?.[_0xa1d478(0xb6)]??_0xa1d478(0x1c3),_0x13a0bb[_0xa1d478(0xdb)][_0xa1d478(0x18a)]=!0x1;}}},e(_0x2acbc7(0x16d))[_0x2acbc7(0x290)]=async _0x351df0=>{const _0x6a1b7c=_0x2acbc7;let _0x4fcf93=_0x351df0[_0x6a1b7c(0xdb)][_0x6a1b7c(0x175)](_0x6a1b7c(0x119));if(_0x4fcf93)try{await navigator[_0x6a1b7c(0x24d)]['writeText'](_0x4fcf93[_0x6a1b7c(0x175)](_0x6a1b7c(0x306))[_0x6a1b7c(0x112)](_0x6a1b7c(0x14e))[_0x6a1b7c(0xad)]),_0x4fcf93[_0x6a1b7c(0xad)]=_0x6a1b7c(0x158);}catch{M(_0x6a1b7c(0xde));}},e(_0x2acbc7(0x1d0))[_0x2acbc7(0x200)]=_0x3815d6=>{const _0x55aa0d=_0x2acbc7;b||(S=_0x3815d6[_0x55aa0d(0xdb)][_0x55aa0d(0x2dc)]||null,A());},document[_0x2acbc7(0xf3)]('[data-prompt]')[_0x2acbc7(0x1f5)](_0x2c5cd3=>_0x2c5cd3['onclick']=()=>{const _0x4bd80b=_0x2acbc7;if(!L()){location[_0x4bd80b(0x279)]=_0x4bd80b(0x12e);return;}e(_0x4bd80b(0x24e))[_0x4bd80b(0x2dc)]=_0x2c5cd3[_0x4bd80b(0x10b)]['prompt'],e(_0x4bd80b(0x24e))[_0x4bd80b(0x2e7)]();}),e(_0x2acbc7(0x26e))[_0x2acbc7(0xbd)]=xt,e(_0x2acbc7(0x24e))[_0x2acbc7(0x1d9)]=_0x587c96=>{const _0x3071a5=_0x2acbc7;_0x587c96['key']==='Enter'&&!_0x587c96[_0x3071a5(0x20d)]&&!_0x587c96[_0x3071a5(0x152)]&&(_0x587c96[_0x3071a5(0x1cc)](),e(_0x3071a5(0x26e))['requestSubmit']());},e('#stop')[_0x2acbc7(0x290)]=()=>I?.['abort'](),e('#delete-chat')&&(e(_0x2acbc7(0x2d0))[_0x2acbc7(0x290)]=()=>{const _0x4bd788=_0x2acbc7;let _0x103330=e(_0x4bd788(0x2d0));if(_0x103330[_0x4bd788(0x10b)]['confirm']!==_0x4bd788(0x214)){_0x103330[_0x4bd788(0x10b)][_0x4bd788(0x252)]='yes',_0x103330[_0x4bd788(0xad)]=_0x4bd788(0x2c0);return;}T=T['filter'](_0x1938bf=>_0x1938bf['id']!==S),S=null,z(),A();}),L()&&ft();}async function ft(){const _0x2fd40f=_0x431d73;let _0x480940=++N;try{let _0x2036c=$[_0x2fd40f(0xab)]?$:(await y(_0x2fd40f(0x1bf)+(a[_0x2fd40f(0x14d)]?_0x2fd40f(0x194)+encodeURIComponent(a['accounts'][_0x2fd40f(0xb6)]):'')))[_0x2fd40f(0x1bf)];if(_0x480940!==N||!e(_0x2fd40f(0xfb))||!a[_0x2fd40f(0x2e9)])return;if($=_0x2036c,e(_0x2fd40f(0xfb))[_0x2fd40f(0x215)]=$[_0x2fd40f(0xf9)](_0x581b86=>_0x2fd40f(0x1a8)+f(_0x581b86['id'])+'\x22>'+f(_0x581b86['name'])+_0x2fd40f(0x136))[_0x2fd40f(0x217)](''),!$[_0x2fd40f(0xab)])throw Error(_0x2fd40f(0x2e3));e(_0x2fd40f(0x1a0))['disabled']=b;}catch(_0x42ae46){_0x480940===N&&e(_0x2fd40f(0x19c))&&(e(_0x2fd40f(0x19c))[_0x2fd40f(0xad)]=_0x42ae46[_0x2fd40f(0xac)],e(_0x2fd40f(0x1a0))['disabled']=!0x0);}}function Ct(){const _0x58b56a=_0x431d73;if(!e(_0x58b56a(0x16d)))return;let _0x4ed866=T[_0x58b56a(0x183)](_0x113730=>_0x113730['id']===S)?.['messages']??[];e(_0x58b56a(0x16d))['innerHTML']=_0x4ed866[_0x58b56a(0xf9)](_0x2e6ed0=>_0x58b56a(0x167)+_0x2e6ed0['role']+_0x58b56a(0x2ba)+(_0x2e6ed0[_0x58b56a(0x247)]==='user'?'B\u1EA1n':_0x58b56a(0x209))+_0x58b56a(0x254)+(_0x2e6ed0[_0x58b56a(0x247)]===_0x58b56a(0x19a)?_0x58b56a(0x2ab):'')+'\x22>'+(_0x2e6ed0[_0x58b56a(0x247)]===_0x58b56a(0x19a)?Q(_0x2e6ed0[_0x58b56a(0x300)]||(b?_0x58b56a(0x229):'Ch\u01B0a\x20nh\u1EADn\x20\u0111\u01B0\u1EE3c\x20c\xE2u\x20tr\u1EA3\x20l\u1EDDi.')):f(_0x2e6ed0[_0x58b56a(0x300)]))+_0x58b56a(0x226)+(_0x2e6ed0[_0x58b56a(0x110)]?'<small\x20class=\x22interrupted\x22>C\xE2u\x20tr\u1EA3\x20l\u1EDDi\x20ch\u01B0a\x20ho\xE0n\x20t\u1EA5t</small>':'')+_0x58b56a(0x166))[_0x58b56a(0x217)](''),e(_0x58b56a(0x21d))[_0x58b56a(0x2f7)]=!!_0x4ed866[_0x58b56a(0xab)];}async function xt(_0x56b01e){const _0x4e3220=_0x431d73;_0x56b01e['preventDefault']();let _0x1b32cb=e(_0x4e3220(0x24e))[_0x4e3220(0x2dc)]['trim'](),_0x255f3c=e('#model')[_0x4e3220(0x2dc)];if(b||!_0x1b32cb||!_0x255f3c||!L())return;let _0x56dec7=T[_0x4e3220(0x183)](_0x142b09=>_0x142b09['id']===S);if(_0x56dec7||(_0x56dec7={'id':crypto[_0x4e3220(0x250)](),'title':_0x1b32cb['slice'](0x0,0x3c),'messages':[]},T[_0x4e3220(0x2cd)](_0x56dec7),T=T['slice'](0x0,0x1e),S=_0x56dec7['id']),_0x56dec7[_0x4e3220(0x27b)]['length']>=0x62){e(_0x4e3220(0x19c))[_0x4e3220(0xad)]='Cu\u1ED9c\x20tr\xF2\x20chuy\u1EC7n\x20\u0111\xE3\x20d\xE0i.\x20M\u1EDF\x20cu\u1ED9c\x20tr\xF2\x20chuy\u1EC7n\x20m\u1EDBi\x20\u0111\u1EC3\x20ti\u1EBFp\x20t\u1EE5c.';return;}let _0x486cae=[..._0x56dec7[_0x4e3220(0x27b)][_0x4e3220(0xf1)](_0x5dc014=>_0x5dc014[_0x4e3220(0x300)]&&!_0x5dc014[_0x4e3220(0x110)])[_0x4e3220(0xf9)](({role:_0x102d20,content:_0x29ea05})=>({'role':_0x102d20,'content':_0x29ea05})),{'role':_0x4e3220(0x275),'content':_0x1b32cb}];if(new TextEncoder()[_0x4e3220(0x170)](JSON[_0x4e3220(0x2bd)]({'model':_0x255f3c,'messages':_0x486cae}))['length']>0x100000){e(_0x4e3220(0x19c))[_0x4e3220(0xad)]=m['request_too_large'];return;}_0x56dec7['messages']['push']({'role':'user','content':_0x1b32cb});let _0x2340aa={'role':_0x4e3220(0x19a),'content':'','interrupted':!0x0};_0x56dec7['messages'][_0x4e3220(0x264)](_0x2340aa),z(),b=!0x0,I=new AbortController(),O(),Y();try{let _0x78f818=await fetch(_0x4e3220(0x174),{'method':_0x4e3220(0x29d),'headers':{'content-type':_0x4e3220(0xb8),'x-csrf-token':V},'body':JSON[_0x4e3220(0x2bd)]({'model':_0x255f3c,'messages':_0x486cae,'accountId':a[_0x4e3220(0x14d)]?.[_0x4e3220(0xb6)]}),'signal':I['signal']});if(!_0x78f818['ok']){let _0x19dcd8=await _0x78f818[_0x4e3220(0xe3)]();throw Error(m[_0x19dcd8[_0x4e3220(0x2ca)]]??m[_0x4e3220(0x115)]);}await nt(_0x78f818[_0x4e3220(0x236)],_0x5d55d2=>{const _0x5816bf=_0x4e3220;_0x2340aa[_0x5816bf(0x300)]=_0x5d55d2,K==='chat'&&H===null&&(H=requestAnimationFrame(()=>{const _0x475a95=_0x5816bf;H=null;let _0x95336f=e('#messages');if(!_0x95336f)return;let _0x5c9163=_0x95336f[_0x475a95(0x246)]-_0x95336f[_0x475a95(0x2ac)]-_0x95336f['clientHeight']<0x78,_0x3e8ae4=_0x95336f[_0x475a95(0x112)](_0x475a95(0x164));_0x3e8ae4&&(_0x3e8ae4[_0x475a95(0x215)]=Q(_0x2340aa[_0x475a95(0x300)])),_0x5c9163&&(_0x95336f[_0x475a95(0x2ac)]=_0x95336f[_0x475a95(0x246)]);}));}),_0x2340aa[_0x4e3220(0x110)]=!0x1;}catch(_0x2e79a7){M(_0x2e79a7['name']===_0x4e3220(0x13f)?_0x4e3220(0x228):_0x2e79a7[_0x4e3220(0xac)]);}finally{H!==null&&(cancelAnimationFrame(H),H=null),b=!0x1,I=null,z(),K===_0x4e3220(0x122)&&O(),Y();}}window[_0x431d73(0x189)](_0x431d73(0xc9),()=>{a&&A();});try{if(location[_0x431d73(0x279)][_0x431d73(0x1b1)](_0x431d73(0x16b))){let n=location['hash'][_0x431d73(0x128)](0x8);_t(),V=(await y('session',{'ticket':n}))[_0x431d73(0x196)];}await W(),tt();}catch(_0x39f90f){e(_0x431d73(0x1e0))['innerHTML']=_0x431d73(0x20e)+f(_0x39f90f[_0x431d73(0xac)])+'</p><code>codexunlimit</code><p>Ch\u1EA1y\x20l\u1EC7nh\x20tr\xEAn\x20trong\x20PowerShell\x20(Windows)\x20ho\u1EB7c\x20Terminal\x20(macOS).</p><button\x20id=\x22retry\x22>Th\u1EED\x20l\u1EA1i</button></main>',e('#retry')[_0x431d73(0x290)]=()=>location[_0x431d73(0x26f)]();}function _t(){const _0xe2abd7=_0x431d73;window[_0xe2abd7(0x295)]['replaceState'](null,'',_0xe2abd7(0x28e));}var X=!0x1;window[_0x431d73(0x189)](_0x431d73(0x2e7),async()=>{const _0x181b1c=_0x431d73;if(!(Z||b||R||X||K!==_0x181b1c(0x241)||document[_0x181b1c(0x112)]('dialog[open]')||e('#activation-key')?.[_0x181b1c(0x2dc)]||[_0x181b1c(0x285),_0x181b1c(0x2fd)][_0x181b1c(0x270)](document[_0x181b1c(0x1eb)]?.['tagName']))){X=!0x0;try{await W(),K===_0x181b1c(0x241)&&!e(_0x181b1c(0x2b6))?.[_0x181b1c(0x2dc)]&&!document[_0x181b1c(0x112)]('dialog[open]')&&A();}catch{}finally{X=!0x1;}}});
|
package/web/privacy.html
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!doctype html><html lang="vi"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Quyền riêng tư · Codex Unlimit</title><link rel="stylesheet" href="/app/style.css"></head><body><main class="opening"><h1>Quyền riêng tư</h1><p>Codex Unlimit kết nối ứng dụng trên máy với máy chủ dịch vụ để xử lý yêu cầu.</p><section class="surface"><h2>Dữ liệu khi kết nối</h2><p>Nội dung yêu cầu và thông tin xác thực cần thiết được chuyển qua máy chủ dịch vụ tới nhà cung cấp mô hình. Mã làm mới phiên đăng nhập (refresh token) ở lại trên máy của bạn.</p><p>Máy chủ ghi nhận key, thiết bị, lượt sử dụng, hạn mức và thông tin chẩn đoán như mã lỗi, thời gian xử lý, định danh tài khoản. Nội dung hội thoại và token truy cập không được ghi vào thống kê.</p><p>Lịch sử trò chuyện trên giao diện web được lưu trong trình duyệt này. Bạn có thể xóa từng cuộc trò chuyện hoặc xóa dữ liệu trình duyệt.</p></section><section class="surface"><h2>Quyền kiểm soát</h2><p>Bạn chọn đồng ý trước khi kết nối. Trong cài đặt, bạn có thể ngắt kết nối chat hoặc khôi phục cấu hình Codex ban đầu.</p><p>Để được hỗ trợ, gia hạn hoặc trao đổi về dữ liệu, hãy liên hệ người đã cung cấp key cho bạn.</p></section><a href="/app/#settings">Quay lại cài đặt</a></main></body></html>
|
package/web/style.css
CHANGED
|
@@ -51,3 +51,8 @@
|
|
|
51
51
|
/* Compact version information and update instructions at the foot of the rail. */
|
|
52
52
|
.rail{overflow-y:auto}.history{flex:1;min-height:48px}.rail-footer{margin-top:auto;flex-shrink:0;padding-top:20px}.rail-footer .rail-foot{padding:0 10px 12px;margin:0;font-size:11px}.update-details{border-top:1px solid var(--line);font-size:12px}.update-details summary{position:relative;padding:14px 26px 4px 10px;cursor:pointer;list-style:none;min-height:54px;border-radius:5px}.update-details summary::-webkit-details-marker{display:none}.update-details summary:hover{background:#ebe7df}.update-details summary:focus-visible{outline:2px solid #8b7560;outline-offset:2px}.update-current{display:block;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.update-state{display:block;font-size:11px;margin-top:5px;line-height:1.6;color:#78736a;overflow-wrap:anywhere}.update-state.update-available{color:#725035;font-weight:550}.update-available:before{content:'';display:inline-block;width:6px;height:6px;background:#a2754e;border-radius:50%;margin-right:6px;vertical-align:middle}.update-chevron{position:absolute;right:10px;top:17px;color:#8b7560}.update-details[open] .update-chevron{transform:rotate(180deg)}.update-content{padding:8px 10px 0}.update-content p,.update-content small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin:4px 0 10px}.update-command{margin:12px 0;padding:10px;background:#eae6de;border-radius:5px;white-space:pre-wrap;overflow-wrap:anywhere;color:#403b32;font:11px/1.9 Consolas,monospace;user-select:all}.update-content button{font-size:11px;min-height:34px;padding:7px 9px;max-width:100%;width:100%;margin-bottom:6px}.update-content .check-update{border:0;background:transparent;color:#78634d}.update-content small{font-size:10px;margin-top:6px}
|
|
53
53
|
@media(max-width:700px){.rail-footer{grid-column:1/-1;padding-top:0;width:100%}.rail-footer .rail-foot{display:none}.update-details summary{padding:10px 28px 8px 0;min-height:44px}.update-current,.update-state{display:inline-block}.update-state{margin:0 0 0 12px}.update-chevron{top:13px}.update-content{padding-left:0;max-width:420px}.update-command{font-size:12px}.update-content button{min-height:40px}.update-content p,.update-content small{font-size:12px}}
|
|
54
|
+
|
|
55
|
+
/* The home page is a setup workspace; chat remains a separate destination. */
|
|
56
|
+
.setup-home{max-width:1080px;margin:0 auto}.setup-heading{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:26px}.setup-heading h1{font-size:38px;letter-spacing:-1.2px}.setup-heading p{margin-top:12px;max-width:54ch;font-size:14px}.setup-heading .eyebrow{color:#8b6248}.setup-heading>button{flex-shrink:0;margin-top:29px}.setup-summary{padding:18px 22px;margin-bottom:30px;border-left:3px solid #b98050;background:#f5eee2;border-radius:0 8px 8px 0}.setup-summary strong{font-size:14px;color:#754f31}.setup-summary ul{display:flex;flex-wrap:wrap;gap:7px 26px;margin:10px 0 0;padding-left:17px;font-size:12px;color:#775f44}.setup-summary.is-ready{border-color:#6b8564;background:#eff2e9}.setup-summary.is-ready strong{color:#4d6947}.setup-summary p{font-size:13px;margin-top:7px}.setup-layout{display:grid;grid-template-columns:minmax(0,1fr) 254px;gap:32px;align-items:start}.setup-workflow{min-width:0}.setup-workflow>.section-title{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:0}.setup-workflow>.section-title h2{font-size:19px}.setup-step{padding:24px 0;border-bottom:1px solid var(--line)}.setup-step-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}.setup-step-heading h3{font-size:17px;line-height:1.4;letter-spacing:-.25px;flex:1}.setup-step-heading .step-number{width:31px;height:31px;font-size:11px;background:#f0ece4;border-color:transparent}.setup-step-heading .step-number.done{background:#e9eee2;color:#527344}.setup-label{font-size:10px;color:#8a6948;white-space:nowrap}.setup-label.complete{color:#617553}.setup-step>p{font-size:13px;line-height:1.8;margin:12px 0 17px}.setup-step label{font-size:12px}.setup-step .privacy-choice{line-height:1.8;font-weight:400}.setup-step .settings-actions{gap:8px 16px}.setup-step .settings-actions button{font-size:12px;max-width:100%}.setup-step .input-action button{font-size:13px}.setup-step .setup-caution{font-size:11px;color:#8c7054;line-height:1.8}.setup-step .subtext{font-size:12px}.setup-side{position:sticky;top:30px;min-width:0}.codex-app-panel{padding:25px;background:#f0ece4;border-radius:10px}.codex-app-panel .eyebrow{color:#8b7056;font-size:9px}.codex-app-panel h2{font-size:24px;line-height:1.3;font-weight:500}.codex-app-panel>p{font-size:12px;line-height:1.8;margin:14px 0 20px}.codex-app-actions{display:flex;gap:9px;flex-wrap:wrap}.codex-app-actions>button{font-size:12px;flex:1 0 auto}.codex-app-actions>.text-button{flex-basis:100%;justify-content:start;font-weight:400}.codex-app-panel>.button{font-size:12px}.setup-status{font-size:11px;margin:22px 0 0;padding-top:15px;border-top:1px solid #ded6c9}.setup-status>div{display:flex;justify-content:space-between;gap:8px;margin:12px 0}.setup-status dt{color:#837867}.setup-status dd{margin:0;text-align:right;color:#504b42}.setup-side .setup-help{font-size:11px;line-height:1.9;margin:20px 0 9px;color:#8b8275}.setup-side>.text-button{display:block;text-decoration:none;font-weight:400;min-height:35px;padding:6px 0;font-size:12px}.setup-home .connection-warning{padding:12px 14px;background:#f5eadb;border-radius:5px;font-size:12px;overflow-wrap:anywhere}.setup-home .error{overflow-wrap:anywhere}.setup-home .privacy-choice input{min-width:17px;flex-shrink:0}.setup-home .privacy-choice{align-items:start}.setup-home .input-action{margin-bottom:5px}
|
|
57
|
+
@media(max-width:1120px){.setup-layout{grid-template-columns:minmax(0,1fr)}.setup-side{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px}.codex-app-panel{grid-row:span 4}.setup-side .setup-help{margin-top:0}.setup-heading h1{font-size:34px}}
|
|
58
|
+
@media(max-width:700px){.setup-heading{gap:12px;flex-wrap:wrap;margin-bottom:20px}.setup-heading h1{font-size:32px}.setup-heading>button{margin:0;padding:4px 0;min-height:34px}.setup-heading p{font-size:13px}.setup-summary{padding:15px 17px;margin-bottom:24px}.setup-summary ul{display:block;line-height:1.9}.setup-step{padding:22px 0}.setup-step-heading{gap:9px;flex-wrap:wrap}.setup-step-heading h3{font-size:16px}.setup-label{width:100%;padding-left:40px;margin-top:-7px}.setup-step .input-action{flex-wrap:wrap}.setup-step .input-action input{font-size:16px}.setup-step .settings-actions{align-items:stretch}.setup-step .settings-actions>.primary{width:100%}.setup-side{display:block}.codex-app-panel{padding:23px;margin-top:4px}.setup-side .setup-help{margin-top:18px}.setup-status{font-size:12px}.setup-workflow>.section-title h2{font-size:18px}.setup-workflow>.section-title>span{white-space:nowrap}}
|