{\rtf1\ansi\ansicpg1252\cocoartf2639 \cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 Menlo-Regular;\f1\fnil\fcharset0 AppleColorEmoji;} {\colortbl;\red255\green255\blue255;\red109\green109\blue109;\red24\green24\blue24;\red70\green137\blue204; \red193\green193\blue193;\red140\green211\blue254;\red194\green126\blue101;\red202\green202\blue202;\red167\green197\blue152; \red205\green173\blue106;\red212\green214\blue154;\red183\green111\blue179;\red89\green138\blue67;\red66\green179\blue255; \red67\green192\blue160;} {\*\expandedcolortbl;;\cssrgb\c50196\c50196\c50196;\cssrgb\c12157\c12157\c12157;\cssrgb\c33725\c61176\c83922; \cssrgb\c80000\c80000\c80000;\cssrgb\c61176\c86275\c99608;\cssrgb\c80784\c56863\c47059;\cssrgb\c83137\c83137\c83137;\cssrgb\c70980\c80784\c65882; \cssrgb\c84314\c72941\c49020;\cssrgb\c86275\c86275\c66667;\cssrgb\c77255\c52549\c75294;\cssrgb\c41569\c60000\c33333;\cssrgb\c30980\c75686\c100000; \cssrgb\c30588\c78824\c69020;} \paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0 \deftab720 \pard\pardeftab720\partightenfactor0 \f0\fs24 \cf2 \cb3 \expnd0\expndtw0\kerning0 \outl0\strokewidth0 \strokec2 \cf5 \cb1 \strokec5 \ \cf2 \cb3 \strokec2 <\cf4 \strokec4 html\cf5 \strokec5 \cf6 \strokec6 lang\cf5 \strokec5 =\cf7 \strokec7 "es"\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cf2 \cb3 \strokec2 <\cf4 \strokec4 head\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cf2 \cb3 \strokec2 <\cf4 \strokec4 meta\cf5 \strokec5 \cf6 \strokec6 charset\cf5 \strokec5 =\cf7 \strokec7 "UTF-8"\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cf2 \cb3 \strokec2 <\cf4 \strokec4 meta\cf5 \strokec5 \cf6 \strokec6 name\cf5 \strokec5 =\cf7 \strokec7 "viewport"\cf5 \strokec5 \cf6 \strokec6 content\cf5 \strokec5 =\cf7 \strokec7 "width=device-width, initial-scale=1.0"\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cf2 \cb3 \strokec2 <\cf4 \strokec4 title\cf2 \strokec2 >\cf5 \strokec5 myBoostiq Admin\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cf2 \cb3 \strokec2 <\cf4 \strokec4 style\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf4 \cb3 \strokec4 *\cf8 \strokec8 \{ \cf6 \strokec6 margin\cf8 \strokec8 : \cf9 \strokec9 0\cf8 \strokec8 ; \cf6 \strokec6 padding\cf8 \strokec8 : \cf9 \strokec9 0\cf8 \strokec8 ; \cf6 \strokec6 box-sizing\cf8 \strokec8 : \cf7 \strokec7 border-box\cf8 \strokec8 ; \}\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf10 \cb3 \strokec10 body\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf6 \strokec6 font-family\cf8 \strokec8 : \cf7 \strokec7 'Inter'\cf8 \strokec8 , -apple-system, \cf7 \strokec7 sans-serif\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 background\cf8 \strokec8 : \cf7 \strokec7 #0a0e15\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 color\cf8 \strokec8 : \cf7 \strokec7 #e6e6e6\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 padding\cf8 \strokec8 : \cf9 \strokec9 20px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf10 \cb3 \strokec10 .container\cf8 \strokec8 \{ \cf6 \strokec6 max-width\cf8 \strokec8 : \cf9 \strokec9 900px\cf8 \strokec8 ; \cf6 \strokec6 margin\cf8 \strokec8 : \cf9 \strokec9 0\cf8 \strokec8 \cf7 \strokec7 auto\cf8 \strokec8 ; \}\cf5 \cb1 \strokec5 \ \cf10 \cb3 \strokec10 .card\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf6 \strokec6 background\cf8 \strokec8 : \cf7 \strokec7 #11161d\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 border\cf8 \strokec8 : \cf9 \strokec9 1px\cf8 \strokec8 \cf7 \strokec7 solid\cf8 \strokec8 \cf7 \strokec7 #1d242d\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 border-radius\cf8 \strokec8 : \cf9 \strokec9 12px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 padding\cf8 \strokec8 : \cf9 \strokec9 24px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 margin-bottom\cf8 \strokec8 : \cf9 \strokec9 20px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf10 \cb3 \strokec10 h1\cf8 \strokec8 \{ \cf6 \strokec6 color\cf8 \strokec8 : \cf7 \strokec7 #05fabd\cf8 \strokec8 ; \cf6 \strokec6 margin-bottom\cf8 \strokec8 : \cf9 \strokec9 8px\cf8 \strokec8 ; \cf6 \strokec6 font-size\cf8 \strokec8 : \cf9 \strokec9 2rem\cf8 \strokec8 ; \}\cf5 \cb1 \strokec5 \ \cf10 \cb3 \strokec10 h2\cf8 \strokec8 \{ \cf6 \strokec6 color\cf8 \strokec8 : \cf7 \strokec7 #05fabd\cf8 \strokec8 ; \cf6 \strokec6 margin-bottom\cf8 \strokec8 : \cf9 \strokec9 16px\cf8 \strokec8 ; \cf6 \strokec6 font-size\cf8 \strokec8 : \cf9 \strokec9 1.3rem\cf8 \strokec8 ; \cf6 \strokec6 border-bottom\cf8 \strokec8 : \cf9 \strokec9 2px\cf8 \strokec8 \cf7 \strokec7 solid\cf8 \strokec8 \cf7 \strokec7 #1d242d\cf8 \strokec8 ; \cf6 \strokec6 padding-bottom\cf8 \strokec8 : \cf9 \strokec9 8px\cf8 \strokec8 ; \}\cf5 \cb1 \strokec5 \ \cf10 \cb3 \strokec10 input\cf8 \strokec8 , \cf10 \strokec10 textarea\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf6 \strokec6 width\cf8 \strokec8 : \cf9 \strokec9 100%\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 background\cf8 \strokec8 : \cf7 \strokec7 #0b0f14\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 border\cf8 \strokec8 : \cf9 \strokec9 1px\cf8 \strokec8 \cf7 \strokec7 solid\cf8 \strokec8 \cf7 \strokec7 #1d242d\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 border-radius\cf8 \strokec8 : \cf9 \strokec9 8px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 padding\cf8 \strokec8 : \cf9 \strokec9 12px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 color\cf8 \strokec8 : \cf7 \strokec7 #fff\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 font-size\cf8 \strokec8 : \cf9 \strokec9 14px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 margin-bottom\cf8 \strokec8 : \cf9 \strokec9 12px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf10 \cb3 \strokec10 input:focus\cf8 \strokec8 , \cf10 \strokec10 textarea:focus\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf6 \strokec6 outline\cf8 \strokec8 : \cf7 \strokec7 none\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 border-color\cf8 \strokec8 : \cf7 \strokec7 #05fabd\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf10 \cb3 \strokec10 .btn\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf6 \strokec6 background\cf8 \strokec8 : \cf11 \strokec11 linear-gradient\cf8 \strokec8 (\cf9 \strokec9 90deg\cf8 \strokec8 , \cf7 \strokec7 #04b585\cf8 \strokec8 , \cf7 \strokec7 #05fabd\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 border\cf8 \strokec8 : \cf7 \strokec7 none\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 border-radius\cf8 \strokec8 : \cf9 \strokec9 8px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 padding\cf8 \strokec8 : \cf9 \strokec9 12px\cf8 \strokec8 \cf9 \strokec9 24px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 color\cf8 \strokec8 : \cf7 \strokec7 #fff\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 font-weight\cf8 \strokec8 : \cf9 \strokec9 600\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 cursor\cf8 \strokec8 : \cf7 \strokec7 pointer\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 margin-right\cf8 \strokec8 : \cf9 \strokec9 10px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 margin-bottom\cf8 \strokec8 : \cf9 \strokec9 10px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 font-size\cf8 \strokec8 : \cf9 \strokec9 14px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf10 \cb3 \strokec10 .btn:hover\cf8 \strokec8 \{ \cf6 \strokec6 opacity\cf8 \strokec8 : \cf9 \strokec9 0.85\cf8 \strokec8 ; \}\cf5 \cb1 \strokec5 \ \cf10 \cb3 \strokec10 .btn-red\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf6 \strokec6 background\cf8 \strokec8 : \cf11 \strokec11 linear-gradient\cf8 \strokec8 (\cf9 \strokec9 90deg\cf8 \strokec8 , \cf7 \strokec7 #c93030\cf8 \strokec8 , \cf7 \strokec7 #ff3d3d\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf10 \cb3 \strokec10 .btn-gray\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf6 \strokec6 background\cf8 \strokec8 : \cf7 \strokec7 #1d242d\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf10 \cb3 \strokec10 .status-box\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf6 \strokec6 background\cf8 \strokec8 : \cf7 \strokec7 #0b0f14\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 border\cf8 \strokec8 : \cf9 \strokec9 1px\cf8 \strokec8 \cf7 \strokec7 solid\cf8 \strokec8 \cf7 \strokec7 #1d242d\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 border-radius\cf8 \strokec8 : \cf9 \strokec9 8px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 padding\cf8 \strokec8 : \cf9 \strokec9 16px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 margin-bottom\cf8 \strokec8 : \cf9 \strokec9 16px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf10 \cb3 \strokec10 .status-box\cf8 \strokec8 \cf10 \strokec10 strong\cf8 \strokec8 \{ \cf6 \strokec6 color\cf8 \strokec8 : \cf7 \strokec7 #05fabd\cf8 \strokec8 ; \}\cf5 \cb1 \strokec5 \ \cf10 \cb3 \strokec10 .status-pre\cf8 \strokec8 \{ \cf6 \strokec6 color\cf8 \strokec8 : \cf7 \strokec7 #ffa500\cf8 \strokec8 ; \}\cf5 \cb1 \strokec5 \ \cf10 \cb3 \strokec10 .status-buy\cf8 \strokec8 \{ \cf6 \strokec6 color\cf8 \strokec8 : \cf7 \strokec7 #05fabd\cf8 \strokec8 ; \}\cf5 \cb1 \strokec5 \ \cf10 \cb3 \strokec10 .status-sell\cf8 \strokec8 \{ \cf6 \strokec6 color\cf8 \strokec8 : \cf7 \strokec7 #ff3d3d\cf8 \strokec8 ; \}\cf5 \cb1 \strokec5 \ \cf10 \cb3 \strokec10 .status-closed\cf8 \strokec8 \{ \cf6 \strokec6 color\cf8 \strokec8 : \cf7 \strokec7 #666\cf8 \strokec8 ; \}\cf5 \cb1 \strokec5 \ \cf10 \cb3 \strokec10 textarea\cf8 \strokec8 \{ \cf6 \strokec6 min-height\cf8 \strokec8 : \cf9 \strokec9 120px\cf8 \strokec8 ; \cf6 \strokec6 font-family\cf8 \strokec8 : \cf7 \strokec7 monospace\cf8 \strokec8 ; \}\cf5 \cb1 \strokec5 \ \cf10 \cb3 \strokec10 .whitelist-item\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf6 \strokec6 background\cf8 \strokec8 : \cf7 \strokec7 #0b0f14\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 padding\cf8 \strokec8 : \cf9 \strokec9 8px\cf8 \strokec8 \cf9 \strokec9 12px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 margin\cf8 \strokec8 : \cf9 \strokec9 4px\cf8 \strokec8 \cf9 \strokec9 0\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 border-radius\cf8 \strokec8 : \cf9 \strokec9 6px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 display\cf8 \strokec8 : \cf7 \strokec7 flex\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 justify-content\cf8 \strokec8 : \cf7 \strokec7 space-between\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 align-items\cf8 \strokec8 : \cf7 \strokec7 center\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 font-size\cf8 \strokec8 : \cf9 \strokec9 13px\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf10 \cb3 \strokec10 .label\cf8 \strokec8 \{ \cf6 \strokec6 display\cf8 \strokec8 : \cf7 \strokec7 block\cf8 \strokec8 ; \cf6 \strokec6 color\cf8 \strokec8 : \cf7 \strokec7 #aaa\cf8 \strokec8 ; \cf6 \strokec6 margin-bottom\cf8 \strokec8 : \cf9 \strokec9 6px\cf8 \strokec8 ; \cf6 \strokec6 font-size\cf8 \strokec8 : \cf9 \strokec9 13px\cf8 \strokec8 ; \}\cf5 \cb1 \strokec5 \ \cf10 \cb3 \strokec10 .row\cf8 \strokec8 \{ \cf6 \strokec6 display\cf8 \strokec8 : \cf7 \strokec7 grid\cf8 \strokec8 ; \cf6 \strokec6 grid-template-columns\cf8 \strokec8 : \cf9 \strokec9 1fr\cf8 \strokec8 \cf9 \strokec9 1fr\cf8 \strokec8 ; \cf6 \strokec6 gap\cf8 \strokec8 : \cf9 \strokec9 12px\cf8 \strokec8 ; \}\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf12 \cb3 \strokec12 @media\cf8 \strokec8 (\cf6 \strokec6 max-width\cf8 \strokec8 : \cf9 \strokec9 768px\cf8 \strokec8 ) \{ \cf10 \strokec10 .row\cf8 \strokec8 \{ \cf6 \strokec6 grid-template-columns\cf8 \strokec8 : \cf9 \strokec9 1fr\cf8 \strokec8 ; \} \}\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf10 \cb3 \strokec10 .loading\cf8 \strokec8 \{ \cf6 \strokec6 opacity\cf8 \strokec8 : \cf9 \strokec9 0.5\cf8 \strokec8 ; \cf6 \strokec6 pointer-events\cf8 \strokec8 : \cf7 \strokec7 none\cf8 \strokec8 ; \}\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf2 \cb3 \strokec2 \cf5 \cb1 \strokec5 \ \cf2 \cb3 \strokec2 \cf5 \cb1 \strokec5 \ \cf2 \cb3 \strokec2 <\cf4 \strokec4 body\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \ \cf2 \cb3 \strokec2 <\cf4 \strokec4 div\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "container"\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf5 \cb3 \cf2 \strokec2 <\cf4 \strokec4 h1\cf2 \strokec2 > \f1 \cf5 \strokec5 \uc0\u55357 \u56960 \f0 myBoostiq Admin\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 p\cf5 \strokec5 \cf6 \strokec6 style\cf5 \strokec5 =\cf7 \strokec7 "color: #aaa; margin-bottom: 24px;"\cf2 \strokec2 >\cf5 \strokec5 Panel de administraci\'f3n\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \ \cb3 \cf13 \strokec13 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 div\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "card"\cf5 \strokec5 \cf6 \strokec6 id\cf5 \strokec5 =\cf7 \strokec7 "authCard"\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 h2\cf2 \strokec2 >\cf5 \strokec5 Auth\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 label\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "label"\cf2 \strokec2 >\cf5 \strokec5 Admin Token\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 input\cf5 \strokec5 \cf6 \strokec6 type\cf5 \strokec5 =\cf7 \strokec7 "password"\cf5 \strokec5 \cf6 \strokec6 id\cf5 \strokec5 =\cf7 \strokec7 "adminToken"\cf5 \strokec5 \cf6 \strokec6 placeholder\cf5 \strokec5 =\cf7 \strokec7 "MyBoost_IQ_1009"\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 button\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "btn"\cf5 \strokec5 \cf6 \strokec6 onclick\cf5 \strokec5 =\cf7 \strokec7 "\cf11 \strokec11 saveToken\cf7 \strokec7 ()"\cf2 \strokec2 >\cf5 \strokec5 Guardar\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 \cf5 \cb1 \strokec5 \ \ \cb3 \cf13 \strokec13 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 div\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "card"\cf5 \strokec5 \cf6 \strokec6 id\cf5 \strokec5 =\cf7 \strokec7 "statusCard"\cf5 \strokec5 \cf6 \strokec6 style\cf5 \strokec5 =\cf7 \strokec7 "display:none;"\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 h2\cf2 \strokec2 >\cf5 \strokec5 Estado actual\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 div\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "status-box"\cf5 \strokec5 \cf6 \strokec6 id\cf5 \strokec5 =\cf7 \strokec7 "currentStatus"\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 p\cf2 \strokec2 >\cf5 \strokec5 Cargando...\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 button\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "btn"\cf5 \strokec5 \cf6 \strokec6 onclick\cf5 \strokec5 =\cf7 \strokec7 "\cf11 \strokec11 refreshStatus\cf7 \strokec7 ()"\cf2 \strokec2 >\cf5 \strokec5 Refrescar\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 button\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "btn btn-red"\cf5 \strokec5 \cf6 \strokec6 onclick\cf5 \strokec5 =\cf7 \strokec7 "\cf11 \strokec11 closeBoost\cf7 \strokec7 ()"\cf2 \strokec2 >\cf5 \strokec5 Cerrar (closed)\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 \cf5 \cb1 \strokec5 \ \ \cb3 \cf13 \strokec13 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 div\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "card"\cf5 \strokec5 \cf6 \strokec6 id\cf5 \strokec5 =\cf7 \strokec7 "boostCard"\cf5 \strokec5 \cf6 \strokec6 style\cf5 \strokec5 =\cf7 \strokec7 "display:none;"\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 h2\cf2 \strokec2 >\cf5 \strokec5 Programar boost\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cb1 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 label\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "label"\cf2 \strokec2 >\cf5 \strokec5 LP Pair (direcci\'f3n del contrato)\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 input\cf5 \strokec5 \cf6 \strokec6 type\cf5 \strokec5 =\cf7 \strokec7 "text"\cf5 \strokec5 \cf6 \strokec6 id\cf5 \strokec5 =\cf7 \strokec7 "lpPair"\cf5 \strokec5 \cf6 \strokec6 placeholder\cf5 \strokec5 =\cf7 \strokec7 "0x8f2e70b12bd1d55a64699a596b779e6a490a95be"\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cb3 \cb1 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 label\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "label"\cf2 \strokec2 >\cf5 \strokec5 Inicio (tu zona horaria)\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 input\cf5 \strokec5 \cf6 \strokec6 type\cf5 \strokec5 =\cf7 \strokec7 "datetime-local"\cf5 \strokec5 \cf6 \strokec6 id\cf5 \strokec5 =\cf7 \strokec7 "startTime"\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cb3 \cb1 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 div\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "row"\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 div\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 label\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "label"\cf2 \strokec2 >\cf5 \strokec5 Duraci\'f3n (minutos)\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 input\cf5 \strokec5 \cf6 \strokec6 type\cf5 \strokec5 =\cf7 \strokec7 "number"\cf5 \strokec5 \cf6 \strokec6 id\cf5 \strokec5 =\cf7 \strokec7 "duration"\cf5 \strokec5 \cf6 \strokec6 placeholder\cf5 \strokec5 =\cf7 \strokec7 "5"\cf5 \strokec5 \cf6 \strokec6 value\cf5 \strokec5 =\cf7 \strokec7 "5"\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 div\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 label\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "label"\cf2 \strokec2 >\cf5 \strokec5 Duraci\'f3n sell (minutos)\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 input\cf5 \strokec5 \cf6 \strokec6 type\cf5 \strokec5 =\cf7 \strokec7 "number"\cf5 \strokec5 \cf6 \strokec6 id\cf5 \strokec5 =\cf7 \strokec7 "sellDuration"\cf5 \strokec5 \cf6 \strokec6 placeholder\cf5 \strokec5 =\cf7 \strokec7 "2"\cf5 \strokec5 \cf6 \strokec6 value\cf5 \strokec5 =\cf7 \strokec7 "2"\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cb1 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 button\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "btn"\cf5 \strokec5 \cf6 \strokec6 onclick\cf5 \strokec5 =\cf7 \strokec7 "\cf11 \strokec11 programBoost\cf7 \strokec7 ()"\cf2 \strokec2 >\cf5 \strokec5 Programar\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 button\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "btn btn-gray"\cf5 \strokec5 \cf6 \strokec6 onclick\cf5 \strokec5 =\cf7 \strokec7 "\cf11 \strokec11 startNow\cf7 \strokec7 ()"\cf2 \strokec2 >\cf5 \strokec5 Iniciar ahora\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 \cf5 \cb1 \strokec5 \ \ \cb3 \cf13 \strokec13 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 div\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "card"\cf5 \strokec5 \cf6 \strokec6 id\cf5 \strokec5 =\cf7 \strokec7 "whitelistCard"\cf5 \strokec5 \cf6 \strokec6 style\cf5 \strokec5 =\cf7 \strokec7 "display:none;"\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 h2\cf2 \strokec2 >\cf5 \strokec5 Whitelist\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cb1 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 label\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "label"\cf2 \strokec2 >\cf5 \strokec5 Direcciones (una por l\'ednea)\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 textarea\cf5 \strokec5 \cf6 \strokec6 id\cf5 \strokec5 =\cf7 \strokec7 "whitelistInput"\cf5 \strokec5 \cf6 \strokec6 placeholder\cf5 \strokec5 =\cf7 \strokec7 "0xabc...\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf7 \cb3 \strokec7 0xdef...\cf5 \cb1 \strokec5 \ \cf7 \cb3 \strokec7 0x123..."\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf5 \cb3 \cb1 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 button\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "btn"\cf5 \strokec5 \cf6 \strokec6 onclick\cf5 \strokec5 =\cf7 \strokec7 "\cf11 \strokec11 replaceWhitelist\cf7 \strokec7 ()"\cf2 \strokec2 >\cf5 \strokec5 Reemplazar lista\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 button\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "btn btn-gray"\cf5 \strokec5 \cf6 \strokec6 onclick\cf5 \strokec5 =\cf7 \strokec7 "\cf11 \strokec11 addToWhitelist\cf7 \strokec7 ()"\cf2 \strokec2 >\cf5 \strokec5 A\'f1adir una\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 button\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "btn btn-red"\cf5 \strokec5 \cf6 \strokec6 onclick\cf5 \strokec5 =\cf7 \strokec7 "\cf11 \strokec11 clearWhitelist\cf7 \strokec7 ()"\cf2 \strokec2 >\cf5 \strokec5 Eliminar una\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 button\cf5 \strokec5 \cf6 \strokec6 class\cf5 \strokec5 =\cf7 \strokec7 "btn btn-red"\cf5 \strokec5 \cf6 \strokec6 onclick\cf5 \strokec5 =\cf7 \strokec7 "\cf11 \strokec11 loadWhitelist\cf7 \strokec7 ()"\cf2 \strokec2 >\cf5 \strokec5 Cargar whitelist\cf2 \strokec2 \cf5 \cb1 \strokec5 \ \cb3 \cb1 \ \cb3 \cf2 \strokec2 <\cf4 \strokec4 div\cf5 \strokec5 \cf6 \strokec6 id\cf5 \strokec5 =\cf7 \strokec7 "whitelistDisplay"\cf5 \strokec5 \cf6 \strokec6 style\cf5 \strokec5 =\cf7 \strokec7 "margin-top: 20px;"\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \cb3 \cf2 \strokec2 \cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf2 \cb3 \strokec2 \cf5 \cb1 \strokec5 \ \ \cf2 \cb3 \strokec2 <\cf4 \strokec4 script\cf2 \strokec2 >\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf4 \cb3 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 API_BASE\cf8 \strokec8 = \cf6 \strokec6 location\cf8 \strokec8 .\cf6 \strokec6 origin\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf4 \cb3 \strokec4 let\cf8 \strokec8 \cf6 \strokec6 TOKEN\cf8 \strokec8 = \cf6 \strokec6 localStorage\cf8 \strokec8 .\cf11 \strokec11 getItem\cf8 \strokec8 (\cf7 \strokec7 'myboostiq_admin_token'\cf8 \strokec8 ) || \cf7 \strokec7 ''\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \ \pard\pardeftab720\partightenfactor0 \cf12 \cb3 \strokec12 if\cf8 \strokec8 (\cf6 \strokec6 TOKEN\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'adminToken'\cf8 \strokec8 ).\cf6 \strokec6 value\cf8 \strokec8 = \cf6 \strokec6 TOKEN\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 showDashboard\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \ \pard\pardeftab720\partightenfactor0 \cf4 \cb3 \strokec4 function\cf8 \strokec8 \cf11 \strokec11 saveToken\cf8 \strokec8 () \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf6 \strokec6 TOKEN\cf8 \strokec8 = \cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'adminToken'\cf8 \strokec8 ).\cf6 \strokec6 value\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 localStorage\cf8 \strokec8 .\cf11 \strokec11 setItem\cf8 \strokec8 (\cf7 \strokec7 'myboostiq_admin_token'\cf8 \strokec8 , \cf6 \strokec6 TOKEN\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 showDashboard\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 refreshStatus\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \ \pard\pardeftab720\partightenfactor0 \cf4 \cb3 \strokec4 function\cf8 \strokec8 \cf11 \strokec11 showDashboard\cf8 \strokec8 () \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'authCard'\cf8 \strokec8 ).\cf6 \strokec6 style\cf8 \strokec8 .\cf6 \strokec6 display\cf8 \strokec8 = \cf7 \strokec7 'none'\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'statusCard'\cf8 \strokec8 ).\cf6 \strokec6 style\cf8 \strokec8 .\cf6 \strokec6 display\cf8 \strokec8 = \cf7 \strokec7 'block'\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'boostCard'\cf8 \strokec8 ).\cf6 \strokec6 style\cf8 \strokec8 .\cf6 \strokec6 display\cf8 \strokec8 = \cf7 \strokec7 'block'\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'whitelistCard'\cf8 \strokec8 ).\cf6 \strokec6 style\cf8 \strokec8 .\cf6 \strokec6 display\cf8 \strokec8 = \cf7 \strokec7 'block'\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \ \pard\pardeftab720\partightenfactor0 \cf4 \cb3 \strokec4 async\cf8 \strokec8 \cf4 \strokec4 function\cf8 \strokec8 \cf11 \strokec11 refreshStatus\cf8 \strokec8 () \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf12 \strokec12 try\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 res\cf8 \strokec8 = \cf12 \strokec12 await\cf8 \strokec8 \cf11 \strokec11 fetch\cf8 \strokec8 (\cf7 \strokec7 `\cf4 \strokec4 $\{\cf14 \strokec14 API_BASE\cf4 \strokec4 \}\cf7 \strokec7 /api/admin`\cf8 \strokec8 , \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 headers:\cf8 \strokec8 \{ \cf7 \strokec7 'Authorization'\cf6 \strokec6 :\cf8 \strokec8 \cf7 \strokec7 `Bearer \cf4 \strokec4 $\{\cf6 \strokec6 TOKEN\cf4 \strokec4 \}\cf7 \strokec7 `\cf8 \strokec8 \}\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \});\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 if\cf8 \strokec8 (!\cf14 \strokec14 res\cf8 \strokec8 .\cf6 \strokec6 ok\cf8 \strokec8 ) \cf12 \strokec12 throw\cf8 \strokec8 \cf4 \strokec4 new\cf8 \strokec8 \cf15 \strokec15 Error\cf8 \strokec8 (\cf7 \strokec7 'Auth error'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 data\cf8 \strokec8 = \cf12 \strokec12 await\cf8 \strokec8 \cf14 \strokec14 res\cf8 \strokec8 .\cf11 \strokec11 json\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 displayStatus\cf8 \strokec8 (\cf14 \strokec14 data\cf8 \strokec8 .\cf6 \strokec6 boost\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 displayWhitelist\cf8 \strokec8 (\cf14 \strokec14 data\cf8 \strokec8 .\cf6 \strokec6 whitelist\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \} \cf12 \strokec12 catch\cf8 \strokec8 (\cf6 \strokec6 error\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 console\cf8 \strokec8 .\cf11 \strokec11 error\cf8 \strokec8 (\cf7 \strokec7 'Error:'\cf8 \strokec8 , \cf6 \strokec6 error\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'currentStatus'\cf8 \strokec8 ).\cf6 \strokec6 innerHTML\cf8 \strokec8 = \cf7 \strokec7 '

\f1 \uc0\u10060 \f0 Error al cargar. Verifica el token.

'\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \ \pard\pardeftab720\partightenfactor0 \cf4 \cb3 \strokec4 function\cf8 \strokec8 \cf11 \strokec11 displayStatus\cf8 \strokec8 (\cf6 \strokec6 boost\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf12 \strokec12 if\cf8 \strokec8 (!\cf6 \strokec6 boost\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'currentStatus'\cf8 \strokec8 ).\cf6 \strokec6 innerHTML\cf8 \strokec8 = \cf7 \strokec7 '

status: closed

'\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 return\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 start\cf8 \strokec8 = \cf4 \strokec4 new\cf8 \strokec8 \cf15 \strokec15 Date\cf8 \strokec8 (\cf6 \strokec6 boost\cf8 \strokec8 .\cf6 \strokec6 start_time\cf8 \strokec8 * \cf9 \strokec9 1000\cf8 \strokec8 ).\cf11 \strokec11 toLocaleString\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 end\cf8 \strokec8 = \cf4 \strokec4 new\cf8 \strokec8 \cf15 \strokec15 Date\cf8 \strokec8 (\cf6 \strokec6 boost\cf8 \strokec8 .\cf6 \strokec6 end_time\cf8 \strokec8 * \cf9 \strokec9 1000\cf8 \strokec8 ).\cf11 \strokec11 toLocaleString\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 now\cf8 \strokec8 = \cf15 \strokec15 Date\cf8 \strokec8 .\cf11 \strokec11 now\cf8 \strokec8 () / \cf9 \strokec9 1000\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 let\cf8 \strokec8 \cf6 \strokec6 timeLeft\cf8 \strokec8 = \cf7 \strokec7 ''\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 if\cf8 \strokec8 (\cf6 \strokec6 boost\cf8 \strokec8 .\cf6 \strokec6 status\cf8 \strokec8 === \cf7 \strokec7 'pre'\cf8 \strokec8 ) \cf6 \strokec6 timeLeft\cf8 \strokec8 = \cf7 \strokec7 `Comienza en: \cf4 \strokec4 $\{\cf6 \strokec6 Math\cf8 \strokec8 .\cf11 \strokec11 max\cf8 \strokec8 (\cf9 \strokec9 0\cf8 \strokec8 , \cf6 \strokec6 Math\cf8 \strokec8 .\cf11 \strokec11 floor\cf8 \strokec8 ((\cf6 \strokec6 boost\cf8 \strokec8 .\cf6 \strokec6 start_time\cf8 \strokec8 - \cf14 \strokec14 now\cf8 \strokec8 ) / \cf9 \strokec9 60\cf8 \strokec8 ))\cf4 \strokec4 \}\cf7 \strokec7 min`\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 else\cf8 \strokec8 \cf12 \strokec12 if\cf8 \strokec8 (\cf6 \strokec6 boost\cf8 \strokec8 .\cf6 \strokec6 status\cf8 \strokec8 !== \cf7 \strokec7 'closed'\cf8 \strokec8 ) \cf6 \strokec6 timeLeft\cf8 \strokec8 = \cf7 \strokec7 `Termina en: \cf4 \strokec4 $\{\cf6 \strokec6 Math\cf8 \strokec8 .\cf11 \strokec11 max\cf8 \strokec8 (\cf9 \strokec9 0\cf8 \strokec8 , \cf6 \strokec6 Math\cf8 \strokec8 .\cf11 \strokec11 floor\cf8 \strokec8 ((\cf6 \strokec6 boost\cf8 \strokec8 .\cf6 \strokec6 end_time\cf8 \strokec8 - \cf14 \strokec14 now\cf8 \strokec8 ) / \cf9 \strokec9 60\cf8 \strokec8 ))\cf4 \strokec4 \}\cf7 \strokec7 min`\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'currentStatus'\cf8 \strokec8 ).\cf6 \strokec6 innerHTML\cf8 \strokec8 = \cf7 \strokec7 `\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf7 \cb3 \strokec7

pair: \cf4 \strokec4 $\{\cf6 \strokec6 boost\cf8 \strokec8 .\cf6 \strokec6 pair\cf4 \strokec4 \}\cf7 \strokec7

\cf5 \cb1 \strokec5 \ \cf7 \cb3 \strokec7

status: \cf4 \strokec4 $\{\cf6 \strokec6 boost\cf8 \strokec8 .\cf6 \strokec6 status\cf4 \strokec4 \}\cf7 \strokec7

\cf5 \cb1 \strokec5 \ \cf7 \cb3 \strokec7

start: \cf4 \strokec4 $\{\cf14 \strokec14 start\cf4 \strokec4 \}\cf7 \strokec7

\cf5 \cb1 \strokec5 \ \cf7 \cb3 \strokec7

end: \cf4 \strokec4 $\{\cf14 \strokec14 end\cf4 \strokec4 \}\cf7 \strokec7

\cf5 \cb1 \strokec5 \ \cf7 \cb3 \strokec7 \cf4 \strokec4 $\{\cf6 \strokec6 timeLeft\cf8 \strokec8 ? \cf7 \strokec7 `

\cf4 \strokec4 $\{\cf6 \strokec6 timeLeft\cf4 \strokec4 \}\cf7 \strokec7

`\cf8 \strokec8 : \cf7 \strokec7 ''\cf4 \strokec4 \}\cf5 \cb1 \strokec5 \ \cf7 \cb3 \strokec7 `\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \ \pard\pardeftab720\partightenfactor0 \cf4 \cb3 \strokec4 function\cf8 \strokec8 \cf11 \strokec11 displayWhitelist\cf8 \strokec8 (\cf6 \strokec6 wallets\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 div\cf8 \strokec8 = \cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'whitelistDisplay'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 if\cf8 \strokec8 (!\cf6 \strokec6 wallets\cf8 \strokec8 || \cf6 \strokec6 wallets\cf8 \strokec8 .\cf6 \strokec6 length\cf8 \strokec8 === \cf9 \strokec9 0\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf14 \strokec14 div\cf8 \strokec8 .\cf6 \strokec6 innerHTML\cf8 \strokec8 = \cf7 \strokec7 '

No hay wallets en la lista

'\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 return\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf14 \strokec14 div\cf8 \strokec8 .\cf6 \strokec6 innerHTML\cf8 \strokec8 = \cf7 \strokec7 '

Wallets VIP ('\cf8 \strokec8 + \cf6 \strokec6 wallets\cf8 \strokec8 .\cf6 \strokec6 length\cf8 \strokec8 + \cf7 \strokec7 '):

'\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 wallets\cf8 \strokec8 .\cf11 \strokec11 forEach\cf8 \strokec8 (\cf6 \strokec6 w\cf8 \strokec8 \cf4 \strokec4 =>\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf14 \strokec14 div\cf8 \strokec8 .\cf6 \strokec6 innerHTML\cf8 \strokec8 += \cf7 \strokec7 `
\cf4 \strokec4 $\{\cf6 \strokec6 w\cf4 \strokec4 \}\cf7 \strokec7
`\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \});\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \ \pard\pardeftab720\partightenfactor0 \cf4 \cb3 \strokec4 async\cf8 \strokec8 \cf4 \strokec4 function\cf8 \strokec8 \cf11 \strokec11 programBoost\cf8 \strokec8 () \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 pair\cf8 \strokec8 = \cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'lpPair'\cf8 \strokec8 ).\cf6 \strokec6 value\cf8 \strokec8 .\cf11 \strokec11 trim\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 startInput\cf8 \strokec8 = \cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'startTime'\cf8 \strokec8 ).\cf6 \strokec6 value\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 duration\cf8 \strokec8 = \cf11 \strokec11 parseInt\cf8 \strokec8 (\cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'duration'\cf8 \strokec8 ).\cf6 \strokec6 value\cf8 \strokec8 ) || \cf9 \strokec9 5\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 sellDuration\cf8 \strokec8 = \cf11 \strokec11 parseInt\cf8 \strokec8 (\cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'sellDuration'\cf8 \strokec8 ).\cf6 \strokec6 value\cf8 \strokec8 ) || \cf9 \strokec9 2\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 if\cf8 \strokec8 (!\cf14 \strokec14 pair\cf8 \strokec8 || !\cf14 \strokec14 startInput\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 alert\cf8 \strokec8 (\cf7 \strokec7 'Completa todos los campos'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 return\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 startMs\cf8 \strokec8 = \cf4 \strokec4 new\cf8 \strokec8 \cf15 \strokec15 Date\cf8 \strokec8 (\cf14 \strokec14 startInput\cf8 \strokec8 ).\cf11 \strokec11 getTime\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 endMs\cf8 \strokec8 = \cf14 \strokec14 startMs\cf8 \strokec8 + (\cf14 \strokec14 duration\cf8 \strokec8 * \cf9 \strokec9 60\cf8 \strokec8 * \cf9 \strokec9 1000\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 try\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 res\cf8 \strokec8 = \cf12 \strokec12 await\cf8 \strokec8 \cf11 \strokec11 fetch\cf8 \strokec8 (\cf7 \strokec7 `\cf4 \strokec4 $\{\cf14 \strokec14 API_BASE\cf4 \strokec4 \}\cf7 \strokec7 /api/admin`\cf8 \strokec8 , \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 method:\cf8 \strokec8 \cf7 \strokec7 'POST'\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 headers:\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf7 \strokec7 'Authorization'\cf6 \strokec6 :\cf8 \strokec8 \cf7 \strokec7 `Bearer \cf4 \strokec4 $\{\cf6 \strokec6 TOKEN\cf4 \strokec4 \}\cf7 \strokec7 `\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf7 \strokec7 'Content-Type'\cf6 \strokec6 :\cf8 \strokec8 \cf7 \strokec7 'application/json'\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \},\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 body:\cf8 \strokec8 \cf6 \strokec6 JSON\cf8 \strokec8 .\cf11 \strokec11 stringify\cf8 \strokec8 (\{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 action:\cf8 \strokec8 \cf7 \strokec7 'create_boost'\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 pair:\cf8 \strokec8 \cf14 \strokec14 pair\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 start_time:\cf8 \strokec8 \cf6 \strokec6 Math\cf8 \strokec8 .\cf11 \strokec11 floor\cf8 \strokec8 (\cf14 \strokec14 startMs\cf8 \strokec8 / \cf9 \strokec9 1000\cf8 \strokec8 ),\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 end_time:\cf8 \strokec8 \cf6 \strokec6 Math\cf8 \strokec8 .\cf11 \strokec11 floor\cf8 \strokec8 (\cf14 \strokec14 endMs\cf8 \strokec8 / \cf9 \strokec9 1000\cf8 \strokec8 ),\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 status:\cf8 \strokec8 \cf7 \strokec7 'pre'\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \})\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \});\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 if\cf8 \strokec8 (!\cf14 \strokec14 res\cf8 \strokec8 .\cf6 \strokec6 ok\cf8 \strokec8 ) \cf12 \strokec12 throw\cf8 \strokec8 \cf4 \strokec4 new\cf8 \strokec8 \cf15 \strokec15 Error\cf8 \strokec8 (\cf7 \strokec7 'Error al programar'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 alert\cf8 \strokec8 (\cf7 \strokec7 ' \f1 \uc0\u9989 \f0 Boost programado correctamente'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 refreshStatus\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \} \cf12 \strokec12 catch\cf8 \strokec8 (\cf6 \strokec6 error\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 alert\cf8 \strokec8 (\cf7 \strokec7 ' \f1 \uc0\u10060 \f0 Error: '\cf8 \strokec8 + \cf6 \strokec6 error\cf8 \strokec8 .\cf6 \strokec6 message\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \ \pard\pardeftab720\partightenfactor0 \cf4 \cb3 \strokec4 async\cf8 \strokec8 \cf4 \strokec4 function\cf8 \strokec8 \cf11 \strokec11 startNow\cf8 \strokec8 () \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 pair\cf8 \strokec8 = \cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'lpPair'\cf8 \strokec8 ).\cf6 \strokec6 value\cf8 \strokec8 .\cf11 \strokec11 trim\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 duration\cf8 \strokec8 = \cf11 \strokec11 parseInt\cf8 \strokec8 (\cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'duration'\cf8 \strokec8 ).\cf6 \strokec6 value\cf8 \strokec8 ) || \cf9 \strokec9 5\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 if\cf8 \strokec8 (!\cf14 \strokec14 pair\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 alert\cf8 \strokec8 (\cf7 \strokec7 'Ingresa la direcci\'f3n LP'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 return\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 now\cf8 \strokec8 = \cf15 \strokec15 Date\cf8 \strokec8 .\cf11 \strokec11 now\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 end\cf8 \strokec8 = \cf14 \strokec14 now\cf8 \strokec8 + (\cf14 \strokec14 duration\cf8 \strokec8 * \cf9 \strokec9 60\cf8 \strokec8 * \cf9 \strokec9 1000\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 try\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 res\cf8 \strokec8 = \cf12 \strokec12 await\cf8 \strokec8 \cf11 \strokec11 fetch\cf8 \strokec8 (\cf7 \strokec7 `\cf4 \strokec4 $\{\cf14 \strokec14 API_BASE\cf4 \strokec4 \}\cf7 \strokec7 /api/admin`\cf8 \strokec8 , \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 method:\cf8 \strokec8 \cf7 \strokec7 'POST'\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 headers:\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf7 \strokec7 'Authorization'\cf6 \strokec6 :\cf8 \strokec8 \cf7 \strokec7 `Bearer \cf4 \strokec4 $\{\cf6 \strokec6 TOKEN\cf4 \strokec4 \}\cf7 \strokec7 `\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf7 \strokec7 'Content-Type'\cf6 \strokec6 :\cf8 \strokec8 \cf7 \strokec7 'application/json'\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \},\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 body:\cf8 \strokec8 \cf6 \strokec6 JSON\cf8 \strokec8 .\cf11 \strokec11 stringify\cf8 \strokec8 (\{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 action:\cf8 \strokec8 \cf7 \strokec7 'create_boost'\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 pair:\cf8 \strokec8 \cf14 \strokec14 pair\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 start_time:\cf8 \strokec8 \cf6 \strokec6 Math\cf8 \strokec8 .\cf11 \strokec11 floor\cf8 \strokec8 (\cf14 \strokec14 now\cf8 \strokec8 / \cf9 \strokec9 1000\cf8 \strokec8 ),\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 end_time:\cf8 \strokec8 \cf6 \strokec6 Math\cf8 \strokec8 .\cf11 \strokec11 floor\cf8 \strokec8 (\cf14 \strokec14 end\cf8 \strokec8 / \cf9 \strokec9 1000\cf8 \strokec8 ),\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 status:\cf8 \strokec8 \cf7 \strokec7 'buy'\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \})\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \});\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 if\cf8 \strokec8 (!\cf14 \strokec14 res\cf8 \strokec8 .\cf6 \strokec6 ok\cf8 \strokec8 ) \cf12 \strokec12 throw\cf8 \strokec8 \cf4 \strokec4 new\cf8 \strokec8 \cf15 \strokec15 Error\cf8 \strokec8 (\cf7 \strokec7 'Error'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 alert\cf8 \strokec8 (\cf7 \strokec7 ' \f1 \uc0\u9989 \f0 Boost iniciado ahora'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 refreshStatus\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \} \cf12 \strokec12 catch\cf8 \strokec8 (\cf6 \strokec6 error\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 alert\cf8 \strokec8 (\cf7 \strokec7 ' \f1 \uc0\u10060 \f0 Error: '\cf8 \strokec8 + \cf6 \strokec6 error\cf8 \strokec8 .\cf6 \strokec6 message\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \ \pard\pardeftab720\partightenfactor0 \cf4 \cb3 \strokec4 async\cf8 \strokec8 \cf4 \strokec4 function\cf8 \strokec8 \cf11 \strokec11 closeBoost\cf8 \strokec8 () \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf12 \strokec12 if\cf8 \strokec8 (!\cf11 \strokec11 confirm\cf8 \strokec8 (\cf7 \strokec7 '\'bfCerrar el boost actual?'\cf8 \strokec8 )) \cf12 \strokec12 return\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 try\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 statusRes\cf8 \strokec8 = \cf12 \strokec12 await\cf8 \strokec8 \cf11 \strokec11 fetch\cf8 \strokec8 (\cf7 \strokec7 `\cf4 \strokec4 $\{\cf14 \strokec14 API_BASE\cf4 \strokec4 \}\cf7 \strokec7 /api/status`\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 current\cf8 \strokec8 = \cf12 \strokec12 await\cf8 \strokec8 \cf14 \strokec14 statusRes\cf8 \strokec8 .\cf11 \strokec11 json\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 if\cf8 \strokec8 (!\cf14 \strokec14 current\cf8 \strokec8 .\cf6 \strokec6 id\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 alert\cf8 \strokec8 (\cf7 \strokec7 'No hay boost activo'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 return\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 res\cf8 \strokec8 = \cf12 \strokec12 await\cf8 \strokec8 \cf11 \strokec11 fetch\cf8 \strokec8 (\cf7 \strokec7 `\cf4 \strokec4 $\{\cf14 \strokec14 API_BASE\cf4 \strokec4 \}\cf7 \strokec7 /api/admin`\cf8 \strokec8 , \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 method:\cf8 \strokec8 \cf7 \strokec7 'POST'\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 headers:\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf7 \strokec7 'Authorization'\cf6 \strokec6 :\cf8 \strokec8 \cf7 \strokec7 `Bearer \cf4 \strokec4 $\{\cf6 \strokec6 TOKEN\cf4 \strokec4 \}\cf7 \strokec7 `\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf7 \strokec7 'Content-Type'\cf6 \strokec6 :\cf8 \strokec8 \cf7 \strokec7 'application/json'\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \},\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 body:\cf8 \strokec8 \cf6 \strokec6 JSON\cf8 \strokec8 .\cf11 \strokec11 stringify\cf8 \strokec8 (\{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 action:\cf8 \strokec8 \cf7 \strokec7 'update_status'\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 id:\cf8 \strokec8 \cf14 \strokec14 current\cf8 \strokec8 .\cf6 \strokec6 id\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 status:\cf8 \strokec8 \cf7 \strokec7 'closed'\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \})\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \});\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 if\cf8 \strokec8 (!\cf14 \strokec14 res\cf8 \strokec8 .\cf6 \strokec6 ok\cf8 \strokec8 ) \cf12 \strokec12 throw\cf8 \strokec8 \cf4 \strokec4 new\cf8 \strokec8 \cf15 \strokec15 Error\cf8 \strokec8 (\cf7 \strokec7 'Error'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 alert\cf8 \strokec8 (\cf7 \strokec7 ' \f1 \uc0\u9989 \f0 Boost cerrado'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 refreshStatus\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \} \cf12 \strokec12 catch\cf8 \strokec8 (\cf6 \strokec6 error\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 alert\cf8 \strokec8 (\cf7 \strokec7 ' \f1 \uc0\u10060 \f0 Error: '\cf8 \strokec8 + \cf6 \strokec6 error\cf8 \strokec8 .\cf6 \strokec6 message\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \ \pard\pardeftab720\partightenfactor0 \cf4 \cb3 \strokec4 async\cf8 \strokec8 \cf4 \strokec4 function\cf8 \strokec8 \cf11 \strokec11 replaceWhitelist\cf8 \strokec8 () \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 text\cf8 \strokec8 = \cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'whitelistInput'\cf8 \strokec8 ).\cf6 \strokec6 value\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 wallets\cf8 \strokec8 = \cf14 \strokec14 text\cf8 \strokec8 .\cf11 \strokec11 split\cf8 \strokec8 (\cf7 \strokec7 '\cf10 \strokec10 \\n\cf7 \strokec7 '\cf8 \strokec8 ).\cf11 \strokec11 map\cf8 \strokec8 (\cf6 \strokec6 w\cf8 \strokec8 \cf4 \strokec4 =>\cf8 \strokec8 \cf6 \strokec6 w\cf8 \strokec8 .\cf11 \strokec11 trim\cf8 \strokec8 ()).\cf11 \strokec11 filter\cf8 \strokec8 (\cf6 \strokec6 w\cf8 \strokec8 \cf4 \strokec4 =>\cf8 \strokec8 \cf6 \strokec6 w\cf8 \strokec8 .\cf6 \strokec6 length\cf8 \strokec8 > \cf9 \strokec9 0\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 if\cf8 \strokec8 (\cf14 \strokec14 wallets\cf8 \strokec8 .\cf6 \strokec6 length\cf8 \strokec8 === \cf9 \strokec9 0\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 alert\cf8 \strokec8 (\cf7 \strokec7 'No hay wallets para agregar'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 return\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 try\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf13 \strokec13 // Limpiar lista actual\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 await\cf8 \strokec8 \cf11 \strokec11 fetch\cf8 \strokec8 (\cf7 \strokec7 `\cf4 \strokec4 $\{\cf14 \strokec14 API_BASE\cf4 \strokec4 \}\cf7 \strokec7 /api/admin`\cf8 \strokec8 , \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 method:\cf8 \strokec8 \cf7 \strokec7 'POST'\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 headers:\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf7 \strokec7 'Authorization'\cf6 \strokec6 :\cf8 \strokec8 \cf7 \strokec7 `Bearer \cf4 \strokec4 $\{\cf6 \strokec6 TOKEN\cf4 \strokec4 \}\cf7 \strokec7 `\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf7 \strokec7 'Content-Type'\cf6 \strokec6 :\cf8 \strokec8 \cf7 \strokec7 'application/json'\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \},\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 body:\cf8 \strokec8 \cf6 \strokec6 JSON\cf8 \strokec8 .\cf11 \strokec11 stringify\cf8 \strokec8 (\{ \cf6 \strokec6 action:\cf8 \strokec8 \cf7 \strokec7 'clear_whitelist'\cf8 \strokec8 \})\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \});\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf13 \strokec13 // Agregar nuevas wallets\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 for\cf8 \strokec8 (\cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 wallet\cf8 \strokec8 \cf4 \strokec4 of\cf8 \strokec8 \cf14 \strokec14 wallets\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 await\cf8 \strokec8 \cf11 \strokec11 fetch\cf8 \strokec8 (\cf7 \strokec7 `\cf4 \strokec4 $\{\cf14 \strokec14 API_BASE\cf4 \strokec4 \}\cf7 \strokec7 /api/admin`\cf8 \strokec8 , \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 method:\cf8 \strokec8 \cf7 \strokec7 'POST'\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 headers:\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf7 \strokec7 'Authorization'\cf6 \strokec6 :\cf8 \strokec8 \cf7 \strokec7 `Bearer \cf4 \strokec4 $\{\cf6 \strokec6 TOKEN\cf4 \strokec4 \}\cf7 \strokec7 `\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf7 \strokec7 'Content-Type'\cf6 \strokec6 :\cf8 \strokec8 \cf7 \strokec7 'application/json'\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \},\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 body:\cf8 \strokec8 \cf6 \strokec6 JSON\cf8 \strokec8 .\cf11 \strokec11 stringify\cf8 \strokec8 (\{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 action:\cf8 \strokec8 \cf7 \strokec7 'add_whitelist'\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 wallet_address:\cf8 \strokec8 \cf14 \strokec14 wallet\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \})\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \});\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 alert\cf8 \strokec8 (\cf7 \strokec7 ` \f1 \uc0\u9989 \f0 \cf4 \strokec4 $\{\cf14 \strokec14 wallets\cf8 \strokec8 .\cf6 \strokec6 length\cf4 \strokec4 \}\cf7 \strokec7 wallets agregadas`\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'whitelistInput'\cf8 \strokec8 ).\cf6 \strokec6 value\cf8 \strokec8 = \cf7 \strokec7 ''\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 refreshStatus\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \} \cf12 \strokec12 catch\cf8 \strokec8 (\cf6 \strokec6 error\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 alert\cf8 \strokec8 (\cf7 \strokec7 ' \f1 \uc0\u10060 \f0 Error: '\cf8 \strokec8 + \cf6 \strokec6 error\cf8 \strokec8 .\cf6 \strokec6 message\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \ \pard\pardeftab720\partightenfactor0 \cf4 \cb3 \strokec4 async\cf8 \strokec8 \cf4 \strokec4 function\cf8 \strokec8 \cf11 \strokec11 addToWhitelist\cf8 \strokec8 () \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 text\cf8 \strokec8 = \cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'whitelistInput'\cf8 \strokec8 ).\cf6 \strokec6 value\cf8 \strokec8 .\cf11 \strokec11 trim\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 if\cf8 \strokec8 (!\cf14 \strokec14 text\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 alert\cf8 \strokec8 (\cf7 \strokec7 'Ingresa una wallet'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 return\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 try\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 res\cf8 \strokec8 = \cf12 \strokec12 await\cf8 \strokec8 \cf11 \strokec11 fetch\cf8 \strokec8 (\cf7 \strokec7 `\cf4 \strokec4 $\{\cf14 \strokec14 API_BASE\cf4 \strokec4 \}\cf7 \strokec7 /api/admin`\cf8 \strokec8 , \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 method:\cf8 \strokec8 \cf7 \strokec7 'POST'\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 headers:\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf7 \strokec7 'Authorization'\cf6 \strokec6 :\cf8 \strokec8 \cf7 \strokec7 `Bearer \cf4 \strokec4 $\{\cf6 \strokec6 TOKEN\cf4 \strokec4 \}\cf7 \strokec7 `\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf7 \strokec7 'Content-Type'\cf6 \strokec6 :\cf8 \strokec8 \cf7 \strokec7 'application/json'\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \},\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 body:\cf8 \strokec8 \cf6 \strokec6 JSON\cf8 \strokec8 .\cf11 \strokec11 stringify\cf8 \strokec8 (\{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 action:\cf8 \strokec8 \cf7 \strokec7 'add_whitelist'\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 wallet_address:\cf8 \strokec8 \cf14 \strokec14 text\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \})\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \});\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 if\cf8 \strokec8 (!\cf14 \strokec14 res\cf8 \strokec8 .\cf6 \strokec6 ok\cf8 \strokec8 ) \cf12 \strokec12 throw\cf8 \strokec8 \cf4 \strokec4 new\cf8 \strokec8 \cf15 \strokec15 Error\cf8 \strokec8 (\cf7 \strokec7 'Error'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 alert\cf8 \strokec8 (\cf7 \strokec7 ' \f1 \uc0\u9989 \f0 Wallet agregada'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 document\cf8 \strokec8 .\cf11 \strokec11 getElementById\cf8 \strokec8 (\cf7 \strokec7 'whitelistInput'\cf8 \strokec8 ).\cf6 \strokec6 value\cf8 \strokec8 = \cf7 \strokec7 ''\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 refreshStatus\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \} \cf12 \strokec12 catch\cf8 \strokec8 (\cf6 \strokec6 error\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 alert\cf8 \strokec8 (\cf7 \strokec7 ' \f1 \uc0\u10060 \f0 Error: '\cf8 \strokec8 + \cf6 \strokec6 error\cf8 \strokec8 .\cf6 \strokec6 message\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \ \pard\pardeftab720\partightenfactor0 \cf4 \cb3 \strokec4 async\cf8 \strokec8 \cf4 \strokec4 function\cf8 \strokec8 \cf11 \strokec11 clearWhitelist\cf8 \strokec8 () \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 wallet\cf8 \strokec8 = \cf11 \strokec11 prompt\cf8 \strokec8 (\cf7 \strokec7 '\'bfQu\'e9 wallet quieres eliminar?'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 if\cf8 \strokec8 (!\cf14 \strokec14 wallet\cf8 \strokec8 ) \cf12 \strokec12 return\cf8 \strokec8 ;\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 try\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf4 \strokec4 const\cf8 \strokec8 \cf14 \strokec14 res\cf8 \strokec8 = \cf12 \strokec12 await\cf8 \strokec8 \cf11 \strokec11 fetch\cf8 \strokec8 (\cf7 \strokec7 `\cf4 \strokec4 $\{\cf14 \strokec14 API_BASE\cf4 \strokec4 \}\cf7 \strokec7 /api/admin`\cf8 \strokec8 , \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 method:\cf8 \strokec8 \cf7 \strokec7 'POST'\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 headers:\cf8 \strokec8 \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf7 \strokec7 'Authorization'\cf6 \strokec6 :\cf8 \strokec8 \cf7 \strokec7 `Bearer \cf4 \strokec4 $\{\cf6 \strokec6 TOKEN\cf4 \strokec4 \}\cf7 \strokec7 `\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf7 \strokec7 'Content-Type'\cf6 \strokec6 :\cf8 \strokec8 \cf7 \strokec7 'application/json'\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \},\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 body:\cf8 \strokec8 \cf6 \strokec6 JSON\cf8 \strokec8 .\cf11 \strokec11 stringify\cf8 \strokec8 (\{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 action:\cf8 \strokec8 \cf7 \strokec7 'remove_whitelist'\cf8 \strokec8 ,\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf6 \strokec6 wallet_address:\cf8 \strokec8 \cf14 \strokec14 wallet\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \})\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \});\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf12 \strokec12 if\cf8 \strokec8 (!\cf14 \strokec14 res\cf8 \strokec8 .\cf6 \strokec6 ok\cf8 \strokec8 ) \cf12 \strokec12 throw\cf8 \strokec8 \cf4 \strokec4 new\cf8 \strokec8 \cf15 \strokec15 Error\cf8 \strokec8 (\cf7 \strokec7 'Error'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 alert\cf8 \strokec8 (\cf7 \strokec7 ' \f1 \uc0\u9989 \f0 Wallet eliminada'\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 refreshStatus\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \} \cf12 \strokec12 catch\cf8 \strokec8 (\cf6 \strokec6 error\cf8 \strokec8 ) \{\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \cf11 \strokec11 alert\cf8 \strokec8 (\cf7 \strokec7 ' \f1 \uc0\u10060 \f0 Error: '\cf8 \strokec8 + \cf6 \strokec6 error\cf8 \strokec8 .\cf6 \strokec6 message\cf8 \strokec8 );\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \ \pard\pardeftab720\partightenfactor0 \cf4 \cb3 \strokec4 function\cf8 \strokec8 \cf11 \strokec11 loadWhitelist\cf8 \strokec8 () \{\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf8 \cb3 \strokec8 \cf11 \strokec11 refreshStatus\cf8 \strokec8 ();\cf5 \cb1 \strokec5 \ \cf8 \cb3 \strokec8 \}\cf5 \cb1 \strokec5 \ \pard\pardeftab720\partightenfactor0 \cf2 \cb3 \strokec2 \cf5 \cb1 \strokec5 \ \ \cf2 \cb3 \strokec2 \cf5 \cb1 \strokec5 \ \cf2 \cb3 \strokec2 \cf5 \cb1 \strokec5 \ \ }