From d38c7481276758621f57afcf37199c8837d701d7 Mon Sep 17 00:00:00 2001 From: malik1004x Date: Tue, 22 Sep 2026 16:46:42 +0200 Subject: [PATCH] remove old ui (#3629) * remove old ui * remove imports to nonexistent files * remove old buy/sell * remove unreachable pages * readd Routes.exchange * remove broken di --- assets/fonts/Lato-Bold.ttf | Bin 633240 -> 0 bytes assets/fonts/Lato-Medium.ttf | Bin 612812 -> 0 bytes assets/fonts/Lato-Regular.ttf | Bin 632632 -> 0 bytes assets/fonts/Lato-Semibold.ttf | Bin 645008 -> 0 bytes cw_core/lib/receive_page_option.dart | 5 - .../src/cards/cake_pay_buy_card_page.dart | 1 - .../src/cards/cake_pay_cards_page.dart | 2 - .../three_checkbox_alert_content_widget.dart | 2 - lib/core/address_resolver/yat/yat_store.dart | 280 ---- lib/di.dart | 248 +--- lib/new-ui/pages/addresses_page.dart | 21 +- lib/new-ui/pages/receive_page.dart | 55 +- .../action_row/coin_action_row.dart | 22 - .../widgets/coins_page/cards/cards_view.dart | 4 +- lib/router.dart | 140 +- .../screens/buy/buy_sell_options_page.dart | 48 - lib/src/screens/buy/buy_sell_page.dart | 511 -------- lib/src/screens/buy/buy_webview_page.dart | 108 -- .../buy/payment_method_options_page.dart | 47 - lib/src/screens/buy/webview_page.dart | 87 -- .../connect_device/debug_device_page.dart | 236 ---- .../connect_device/widgets/device_tile.dart | 78 -- .../screens/contact/contact_list_page.dart | 2 +- lib/src/screens/dashboard/dashboard_page.dart | 446 ------- .../dashboard/desktop_dashboard_page.dart | 135 -- .../desktop_action_button.dart | 71 - .../desktop_dashboard_actions.dart | 87 -- .../desktop_dashboard_navbar.dart | 45 - .../desktop_sidebar/side_menu.dart | 32 - .../desktop_sidebar/side_menu_item.dart | 58 - .../desktop_sidebar_wrapper.dart | 173 --- .../desktop_wallet_selection_dropdown.dart | 285 ---- .../desktop_widgets/dropdown_item_widget.dart | 32 - .../screens/dashboard/pages/address_page.dart | 330 ----- .../dashboard/pages/balance/balance_page.dart | 81 -- .../pages/balance/balance_row_widget.dart | 693 ---------- .../pages/balance/crypto_balance_widget.dart | 479 ------- .../dashboard/pages/cake_features_page.dart | 58 +- .../dashboard/pages/navigation_dock.dart | 83 -- .../dashboard/pages/transactions_page.dart | 250 ---- .../dashboard/widgets/action_button.dart | 66 - .../widgets/home_screen_account_widget.dart | 68 - .../screens/dashboard/widgets/info_card.dart | 97 -- .../dashboard/widgets/page_indicator.dart | 302 ----- .../present_receive_option_picker.dart | 163 --- .../dashboard/widgets/sync_indicator.dart | 87 -- lib/src/screens/exchange/exchange_page.dart | 803 ------------ .../exchange/exchange_template_page.dart | 378 ------ .../widgets/currency_picker_item_widget.dart | 78 -- .../widgets/currency_picker_widget.dart | 49 - .../exchange_trade/exchange_confirm_page.dart | 151 --- .../exchange_trade_external_send_page.dart | 156 --- .../exchange_trade/exchange_trade_page.dart | 423 ------ .../exchange_trade/information_page.dart | 47 - .../exchange_trade_card_item_widget.dart | 290 ----- .../exchange_trade/widgets/timer_widget.dart | 79 -- lib/src/screens/faq/faq_page.dart | 52 - .../monero_account_edit_or_create_page.dart | 69 - .../monero_account_list_page.dart | 95 -- .../monero_accounts/widgets/account_tile.dart | 96 -- .../nano_account_edit_or_create_page.dart | 69 - .../nano_accounts/nano_account_list_page.dart | 92 -- .../nano_accounts/widgets/account_tile.dart | 89 -- .../screens/nodes/widgets/node_indicator.dart | 20 - .../screens/receive/address_list_page.dart | 46 - .../screens/receive/anonpay_invoice_page.dart | 253 ---- .../screens/receive/anonpay_receive_page.dart | 158 --- lib/src/screens/receive/receive_page.dart | 125 -- .../screens/receive/widgets/address_cell.dart | 231 ---- .../screens/receive/widgets/address_list.dart | 209 --- .../widgets/anonpay_currency_input_field.dart | 157 --- .../receive/widgets/anonpay_input_form.dart | 141 -- .../widgets/anonpay_status_section.dart | 86 -- .../receive/widgets/copy_link_item.dart | 54 - .../screens/receive/widgets/header_tile.dart | 108 -- .../screens/receive/widgets/qr_widget.dart | 321 ----- .../release_notes/release_notes_screen.dart | 139 -- .../screens/restore/sweeping_wallet_page.dart | 116 -- lib/src/screens/send/send_page.dart | 845 ------------ lib/src/screens/send/send_template_page.dart | 189 --- .../send/transaction_success_info_page.dart | 33 - .../widgets/choose_yat_address_alert.dart | 116 -- lib/src/screens/send/widgets/send_card.dart | 1147 ----------------- .../send/widgets/send_template_card.dart | 256 ---- lib/src/screens/settings/attributes.dart | 1 - .../desktop_settings_page.dart | 119 -- .../screens/settings/items/item_headers.dart | 18 - .../screens/settings/items/settings_item.dart | 21 - .../settings/silent_payments_settings.dart | 8 - .../settings/trocador_providers_page.dart | 109 -- .../widgets/setting_priority_picker_cell.dart | 79 -- .../settings/widgets/settings_picker_row.dart | 9 - .../widgets/settings_version_cell.dart | 27 - .../widgets/wallet_connect_button.dart | 42 - lib/src/screens/splash/splash_page.dart | 8 - .../address_edit_or_create_page.dart | 82 -- .../support_other_links_page.dart | 4 - .../unspent_coins_list_page.dart | 217 ---- .../widgets/unspent_coins_list_item.dart | 213 --- .../screens/wallet_list/wallet_list_page.dart | 59 +- .../yat/widgets/first_introduction.dart | 68 - .../yat/widgets/second_introduction.dart | 70 - .../yat/widgets/third_introduction.dart | 98 -- lib/src/screens/yat/widgets/yat_bar.dart | 17 - .../screens/yat/widgets/yat_close_button.dart | 28 - .../yat/widgets/yat_page_indicator.dart | 28 - lib/src/screens/yat/yat_popup.dart | 154 --- lib/src/screens/yat_emoji_id.dart | 93 -- lib/src/widgets/adaptable_page_view.dart | 216 ---- lib/src/widgets/add_template_button.dart | 52 - .../widgets/alert_with_no_action.dart.dart | 30 - lib/src/widgets/alert_with_picker_option.dart | 113 -- ...ake_pay_card_info_bottom_sheet_widget.dart | 4 - .../payment_confirmation_bottom_sheet.dart | 305 ----- .../token_selection_bottom_sheet.dart | 497 ------- .../wallet_switcher_bottom_sheet.dart | 132 -- lib/src/widgets/cake_scrollbar.dart | 49 - lib/src/widgets/discount_badge.dart | 36 - lib/src/widgets/evm_switcher.dart | 349 ----- lib/src/widgets/evm_switcher_row.dart | 72 -- .../widgets/haven_wallet_removal_popup.dart | 84 -- lib/src/widgets/introducing_card.dart | 93 -- .../widgets/picker_inner_wrapper_widget.dart | 90 -- lib/src/widgets/service_status_tile.dart | 73 -- lib/src/widgets/services_updates_widget.dart | 158 --- lib/src/widgets/simple_checkbox.dart | 34 - lib/src/widgets/tab_view_wrapper_widget.dart | 1 - lib/src/widgets/template_tile.dart | 159 --- .../templates/exchange_template_store.dart | 50 - lib/store/templates/send_template_store.dart | 47 - lib/typography.dart | 3 +- lib/utils/feature_flag.dart | 2 - lib/utils/item_cell.dart | 18 - lib/utils/list_section.dart | 5 - lib/utils/mobx.dart | 106 -- .../anon_invoice_page_view_model.dart | 208 --- lib/view_model/buy/buy_item.dart | 29 - lib/view_model/buy/buy_sell_view_model.dart | 57 - lib/view_model/buy/buy_view_model.dart | 100 -- .../dashboard/action_list_display_mode.dart | 32 - .../dashboard/cake_features_view_model.dart | 16 - .../dashboard/dashboard_view_model.dart | 3 - .../dashboard/desktop_sidebar_view_model.dart | 35 - .../dashboard/dropdown_filter_item.dart | 19 - lib/view_model/dashboard/wallet_balance.dart | 6 - .../exchange/exchange_trade_view_model.dart | 102 +- .../exchange/exchange_view_model.dart | 29 - .../send/send_template_view_model.dart | 114 -- lib/view_model/send/send_view_model.dart | 14 +- lib/view_model/send/template_view_model.dart | 80 -- .../settings/regular_list_item.dart | 8 - .../settings/switcher_list_item.dart | 11 - .../wallet_address_list_view_model.dart | 3 - pubspec.lock | 2 +- pubspec_base.yaml | 7 - 155 files changed, 74 insertions(+), 18935 deletions(-) delete mode 100644 assets/fonts/Lato-Bold.ttf delete mode 100644 assets/fonts/Lato-Medium.ttf delete mode 100644 assets/fonts/Lato-Regular.ttf delete mode 100644 assets/fonts/Lato-Semibold.ttf delete mode 100644 lib/core/address_resolver/yat/yat_store.dart delete mode 100644 lib/src/screens/buy/buy_sell_options_page.dart delete mode 100644 lib/src/screens/buy/buy_sell_page.dart delete mode 100644 lib/src/screens/buy/buy_webview_page.dart delete mode 100644 lib/src/screens/buy/payment_method_options_page.dart delete mode 100644 lib/src/screens/buy/webview_page.dart delete mode 100644 lib/src/screens/connect_device/debug_device_page.dart delete mode 100644 lib/src/screens/connect_device/widgets/device_tile.dart delete mode 100644 lib/src/screens/dashboard/dashboard_page.dart delete mode 100644 lib/src/screens/dashboard/desktop_dashboard_page.dart delete mode 100644 lib/src/screens/dashboard/desktop_widgets/desktop_action_button.dart delete mode 100644 lib/src/screens/dashboard/desktop_widgets/desktop_dashboard_actions.dart delete mode 100644 lib/src/screens/dashboard/desktop_widgets/desktop_dashboard_navbar.dart delete mode 100644 lib/src/screens/dashboard/desktop_widgets/desktop_sidebar/side_menu.dart delete mode 100644 lib/src/screens/dashboard/desktop_widgets/desktop_sidebar/side_menu_item.dart delete mode 100644 lib/src/screens/dashboard/desktop_widgets/desktop_sidebar_wrapper.dart delete mode 100644 lib/src/screens/dashboard/desktop_widgets/desktop_wallet_selection_dropdown.dart delete mode 100644 lib/src/screens/dashboard/desktop_widgets/dropdown_item_widget.dart delete mode 100644 lib/src/screens/dashboard/pages/address_page.dart delete mode 100644 lib/src/screens/dashboard/pages/balance/balance_page.dart delete mode 100644 lib/src/screens/dashboard/pages/balance/balance_row_widget.dart delete mode 100644 lib/src/screens/dashboard/pages/balance/crypto_balance_widget.dart delete mode 100644 lib/src/screens/dashboard/pages/navigation_dock.dart delete mode 100644 lib/src/screens/dashboard/pages/transactions_page.dart delete mode 100644 lib/src/screens/dashboard/widgets/action_button.dart delete mode 100644 lib/src/screens/dashboard/widgets/home_screen_account_widget.dart delete mode 100644 lib/src/screens/dashboard/widgets/info_card.dart delete mode 100644 lib/src/screens/dashboard/widgets/page_indicator.dart delete mode 100644 lib/src/screens/dashboard/widgets/present_receive_option_picker.dart delete mode 100644 lib/src/screens/dashboard/widgets/sync_indicator.dart delete mode 100644 lib/src/screens/exchange/exchange_page.dart delete mode 100644 lib/src/screens/exchange/exchange_template_page.dart delete mode 100644 lib/src/screens/exchange/widgets/currency_picker_item_widget.dart delete mode 100644 lib/src/screens/exchange/widgets/currency_picker_widget.dart delete mode 100644 lib/src/screens/exchange_trade/exchange_confirm_page.dart delete mode 100644 lib/src/screens/exchange_trade/exchange_trade_external_send_page.dart delete mode 100644 lib/src/screens/exchange_trade/exchange_trade_page.dart delete mode 100644 lib/src/screens/exchange_trade/information_page.dart delete mode 100644 lib/src/screens/exchange_trade/widgets/exchange_trade_card_item_widget.dart delete mode 100644 lib/src/screens/exchange_trade/widgets/timer_widget.dart delete mode 100644 lib/src/screens/faq/faq_page.dart delete mode 100644 lib/src/screens/monero_accounts/monero_account_edit_or_create_page.dart delete mode 100644 lib/src/screens/monero_accounts/monero_account_list_page.dart delete mode 100644 lib/src/screens/monero_accounts/widgets/account_tile.dart delete mode 100644 lib/src/screens/nano_accounts/nano_account_edit_or_create_page.dart delete mode 100644 lib/src/screens/nano_accounts/nano_account_list_page.dart delete mode 100644 lib/src/screens/nano_accounts/widgets/account_tile.dart delete mode 100644 lib/src/screens/nodes/widgets/node_indicator.dart delete mode 100644 lib/src/screens/receive/address_list_page.dart delete mode 100644 lib/src/screens/receive/anonpay_invoice_page.dart delete mode 100644 lib/src/screens/receive/anonpay_receive_page.dart delete mode 100644 lib/src/screens/receive/receive_page.dart delete mode 100644 lib/src/screens/receive/widgets/address_cell.dart delete mode 100644 lib/src/screens/receive/widgets/address_list.dart delete mode 100644 lib/src/screens/receive/widgets/anonpay_currency_input_field.dart delete mode 100644 lib/src/screens/receive/widgets/anonpay_input_form.dart delete mode 100644 lib/src/screens/receive/widgets/anonpay_status_section.dart delete mode 100644 lib/src/screens/receive/widgets/copy_link_item.dart delete mode 100644 lib/src/screens/receive/widgets/header_tile.dart delete mode 100644 lib/src/screens/receive/widgets/qr_widget.dart delete mode 100644 lib/src/screens/release_notes/release_notes_screen.dart delete mode 100644 lib/src/screens/restore/sweeping_wallet_page.dart delete mode 100644 lib/src/screens/send/send_page.dart delete mode 100644 lib/src/screens/send/send_template_page.dart delete mode 100644 lib/src/screens/send/transaction_success_info_page.dart delete mode 100644 lib/src/screens/send/widgets/choose_yat_address_alert.dart delete mode 100644 lib/src/screens/send/widgets/send_card.dart delete mode 100644 lib/src/screens/send/widgets/send_template_card.dart delete mode 100644 lib/src/screens/settings/attributes.dart delete mode 100644 lib/src/screens/settings/desktop_settings/desktop_settings_page.dart delete mode 100644 lib/src/screens/settings/items/item_headers.dart delete mode 100644 lib/src/screens/settings/items/settings_item.dart delete mode 100644 lib/src/screens/settings/trocador_providers_page.dart delete mode 100644 lib/src/screens/settings/widgets/setting_priority_picker_cell.dart delete mode 100644 lib/src/screens/settings/widgets/settings_picker_row.dart delete mode 100644 lib/src/screens/settings/widgets/settings_version_cell.dart delete mode 100644 lib/src/screens/settings/widgets/wallet_connect_button.dart delete mode 100644 lib/src/screens/splash/splash_page.dart delete mode 100644 lib/src/screens/subaddress/address_edit_or_create_page.dart delete mode 100644 lib/src/screens/unspent_coins/unspent_coins_list_page.dart delete mode 100644 lib/src/screens/unspent_coins/widgets/unspent_coins_list_item.dart delete mode 100644 lib/src/screens/yat/widgets/first_introduction.dart delete mode 100644 lib/src/screens/yat/widgets/second_introduction.dart delete mode 100644 lib/src/screens/yat/widgets/third_introduction.dart delete mode 100644 lib/src/screens/yat/widgets/yat_bar.dart delete mode 100644 lib/src/screens/yat/widgets/yat_close_button.dart delete mode 100644 lib/src/screens/yat/widgets/yat_page_indicator.dart delete mode 100644 lib/src/screens/yat/yat_popup.dart delete mode 100644 lib/src/screens/yat_emoji_id.dart delete mode 100644 lib/src/widgets/adaptable_page_view.dart delete mode 100644 lib/src/widgets/add_template_button.dart delete mode 100644 lib/src/widgets/alert_with_no_action.dart.dart delete mode 100644 lib/src/widgets/alert_with_picker_option.dart delete mode 100644 lib/src/widgets/bottom_sheet/payment_confirmation_bottom_sheet.dart delete mode 100644 lib/src/widgets/bottom_sheet/token_selection_bottom_sheet.dart delete mode 100644 lib/src/widgets/bottom_sheet/wallet_switcher_bottom_sheet.dart delete mode 100644 lib/src/widgets/cake_scrollbar.dart delete mode 100644 lib/src/widgets/discount_badge.dart delete mode 100644 lib/src/widgets/evm_switcher.dart delete mode 100644 lib/src/widgets/evm_switcher_row.dart delete mode 100644 lib/src/widgets/haven_wallet_removal_popup.dart delete mode 100644 lib/src/widgets/introducing_card.dart delete mode 100644 lib/src/widgets/picker_inner_wrapper_widget.dart delete mode 100644 lib/src/widgets/service_status_tile.dart delete mode 100644 lib/src/widgets/services_updates_widget.dart delete mode 100644 lib/src/widgets/simple_checkbox.dart delete mode 100644 lib/src/widgets/template_tile.dart delete mode 100644 lib/store/templates/exchange_template_store.dart delete mode 100644 lib/store/templates/send_template_store.dart delete mode 100644 lib/utils/item_cell.dart delete mode 100644 lib/utils/list_section.dart delete mode 100644 lib/view_model/anon_invoice_page_view_model.dart delete mode 100644 lib/view_model/buy/buy_item.dart delete mode 100644 lib/view_model/buy/buy_view_model.dart delete mode 100644 lib/view_model/dashboard/action_list_display_mode.dart delete mode 100644 lib/view_model/dashboard/cake_features_view_model.dart delete mode 100644 lib/view_model/dashboard/desktop_sidebar_view_model.dart delete mode 100644 lib/view_model/dashboard/dropdown_filter_item.dart delete mode 100644 lib/view_model/dashboard/wallet_balance.dart delete mode 100644 lib/view_model/send/send_template_view_model.dart delete mode 100644 lib/view_model/send/template_view_model.dart delete mode 100644 lib/view_model/settings/regular_list_item.dart delete mode 100644 lib/view_model/settings/switcher_list_item.dart diff --git a/assets/fonts/Lato-Bold.ttf b/assets/fonts/Lato-Bold.ttf deleted file mode 100644 index 59c48434ce941ff0f3a38773105b91a5e15e3ae0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 633240 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�>_#S*8 z9tEp;M1BZAf*-?A;HU5ySmPtI2!0MKS`oG-!nQ=L^bxVnN8~A348MY3!_)BZ@Efq= zM`Q^sh5vwOVHx}ueh16pIUc7Peh(|)dH4go0DpuR;U#z(R>CW=3iONUy4s-YYJ;w; z4Z5y2=(^gV>uQ6ps|~uY8g*SY{-<46+dbz7pqsj{8Y6U5_f@0rt47^djk>QIBWbYb zm+q@Z-B%lRUbX7HYSnqws`IK<=T)mNt43W`jk>HFby+p)vTD?2wLzEF23=MgbXjfC zWwjw#rh>jiO!P#s)~vW#ela$DGd8?j7IhOwyj2!8ffX;titm?2-G~)GgcXPVKrhIe zE|E1|f*F5V)^w$;=@Jb2NwLy;EcxGMO`o&6Kuy7HxImP1p|v`Hl3#)~FP1@FGH_A; zep%Bc1D}GY^Gj67UsfT1S%rMbpnLL5u;?n;(C9<1KWH*<{ZZ47CTq3)}EoC zGawO4Y>*u}Ty(rc4r!0RoSAsbcf}Q(@R2nl+`pz*>m4GzgCe>xp7=`<+}l@9 zcypbB|3^Ca{_og(_J4kM*5NWhEA6y2P z!xeBPydSKXr?S_iviFF}-Xkh|O)7g$DtnKp>ZMfla;kYb)x4Z)UXC3f&3+GKt4Fid zH?!5_ja8WH+_b|fVd?~;S;a+av->Tn3x3$KtfJzakAMp?6)?Q!@X zSwRfath_c>waWOe^JJPmnQeo|n5AZoD|5-(%q43p^f%^`wV6xSRv7NZb(+1lPLZ|w zT>ekypti_j4^ee0Q2`omhwFnYPupZ_;xaWG`cx2jN1MkXsGla-Ol%E)A8WO6bxIT@Lpj7&~OCMP44 z>v`TM>MZZA1m$F8a{Venjr1U_1g(*gsg;qbm655Hk*SrDsqL%u#ARgSGBO+fLZxR{ zU!`Y*Y)sCGK2k@fxhMUy%iHP9DmoKZ(>v(Qc3yZ`L16TL25Vho1TVl`UkTR0+Wc^% z`AMVsehl_qM)ac??5Lic?)vC63oK3OR(({Y`X;8F2S}-u+jO7|B7z?UApymMa!Vv?-g)7jE4z6tAvR#$?vX3xBf2O`n$0A z;n@3d?0q!$J`sB#j=c}Z-bZ8aRoMG*?0q=)J{)_WjlEC6-lt*j!?E|_*!yVgeIoWg z9D5&*y^qG;tFZUs*!ytoeK__$8+#vxy^q4)Pr}~M#NJ0???EQRJe+u^g0QPwgON{s8v=0QO#ry}t{4e}G4r!XrG$Bb4HkbluKl_`g{q*E zSGY&@>?NMzk1A*>-r;WE;nzIfVFeTNAK>kd;qAt$rhWXN5o<(Z$nWLxZsF~Q@OBps zx-|bA9L3~#*JAa?q!grYke3zNO_u?=|<1p`K?b_vU zAAkE*;xjK7T;qX0PhcHK4Kjm`b$r%L)qBlU zy;t7u3OT#$6o@%0;)C4)HKgmf=kdvAqCsipYHCb-yw{l6Jj(k1;)yRGMha#={FNTtr z?>Htnw9k*!k?uCq-A%gNNOvP^yrnPB*g|Uce9D11Bju{LxvD}}G1yfU2eUl8C4GGJ zpFFEkj`l4_dd87%W&acGe>i*oHtVbnRhv3oZR%*XsS%#r^Pbzwp4$%3ZHMPJ*>kJ* z+?IQ8f5ePlcNMEWySrV*C&H`n{9g0?-tgQW^t`_0S>5S5z1OpO+Ov7uvw7OHdD^qN z)3bTpbNRC8@=4F+cJb+0a=wk6A0^}4$#}lIS?O*n$+(h?XOZy?GJe0+7Y=uace=xq z#ji(@<*j77k1T&pmR}^x7+Jm)yvyCU;CE^KE=>w)TKq4hP(lhn@6*_4N#bFW*hvzv zlf=XBJmJp6J04MBuT^)w)?Kf0*X!MNJ3hD<9}MTNY4JJMQod?ofw2ye9j#3U_z{ zclavquo`b@!W(`hLI^tq{)juY;|_aqhsC(VV%*{DxWjVXVKMIT81AqZclZ_VuoORd zp!UGoL z059{?FZ0tc^V2W$(=YSWS$_IuemcufXZh)u`RSMW>BanX6FBao?Vt#rtKfRcrUd&JD_~{%!o#Ur-{B(|=&hgVZemcib=lJOyKb_;JbNqCUpU&~q zIet3FPv`jQ96z1or*r)DGJbj)KfR2fUdB%^W89!aePuKC&b^LT4KV8R9 z*YVSJ{B#{ZUB^$a;-^>f)2sODRs8fSetH!@y^5b+#ZRx|r&saQtN7_v{PZe*dKEvt zil1J^Pp{&qSMk%U_~}*r^eTRO6+gX-pI*gJujZ#`@zbmM>C(O|+iHG#H9vhcKYcPk zy_%n%#ZP~gpMDoVy_%oi$4?iE;Ev;`FXgBA^3!|y>E-81SiQhs_VKfRQnUdm4|<)@eO(@Xj3rTp|#etIcC z{W3qjhAnQ_|Ird0&PV^6Z+?<*{)5?PL;2?K@X0^pga3`s{jFK2NAs(r_|z6Y^?5#Z zF+bYgbA)49oh2+zGmDcIRldmnHnXc+*wrnp%t)4{on_hGV_EJFCb2BvXIb{KEOo3( zJOaBuJ?iRy@9KWvXZ7!9|GwfXzwRp6ySi_U22dwGIeRo6~*C$reVAF+WyVgrA~2L6aQxRo7z zh&Nck8+?d2_!JNQE)}rz+;s^r`~c4|pJ#X=63L&-JAA6oJ3QHw5jl?6E#(Qu1t0G7 z40ow0{R0ntDerrt3X#4a{_tb@>)Fm-Z08SoiP`MuipX>Mk4IkSbz1YkCB0QV@1?&$>y=Ei`dmgZ0bX7>gUB{pJr3P%ATg!(r>e+mx#d{*wJsXq2FUeKge$0&R&jS zFCS$uFZr(|&Tf8Q9Q6@)^O6J7WE-y%7tIqF%@Y^R6Bi}LMM-hdJaN%HaZyrSloS`u z6Bo@B7tIqF%@Y^R6Bo@B7tIqFCB;QaanU?+(L8ZcQe2c27tLc|TiDhXwzY+gT*O8$ zVk2AG$W}J8m5p4)Mz*q%t!!i~8@Y&$T*O8$Vj~x^k*#cGD;wF$MlNC_TiM7~HnNp% zJcn((lubN?O?)3acmg{(n;rZV`*#lecPYDf2D|q@w(bNr?!#={JofE!_U%*b&MoZD z2iTpb*qv$Y&IRIwr`Vmx*qu|@o%7k9$Jm_@usct&J6Ewg{}BCrFo4}DXLsJs?%cwL zJi>-N!d`qRe6qnvTzj5z{4-qpNn`moWBEq~Bf49Ri0-o*#U`QSKR`VAjk#|Ovh)EYXqjZVGD z2e0RYI}2vR1#)8-%H;hdznw0LP?@qoq&iBUo-ZLP zZ=COq^SyDtH_rFQ`O12}vYtNF(}#M#vYxN3rx*3~qMom;=PT>^%6d9dPe z&3xr%zH&2PxtXur%vWyaD>u{GEp+x0I=h9=7Sq|$bao4!-9l%F(b)<*yM@kPLT7(K zXD^_$TlmT?bhd)dj-j(B@s+#y%3XYA9bZ|;SJv^Bb$n$VUs=aj*722fd}SS9S;tq_ z(epZbUdLC~@s)LaWgTBx$5+-oy{eC2w+aywu7hA6N%@3jHH zF6MK>U75Q1oLziLJ6{s==6!s}8or~O?+80y!^+gjBCt;Od@9ej7u!FKO+S{0o5ZFc z#-<;~!_C2cj}k%c4hjY~_RRXs47&P|U4QoaRrtxE7Y^Aq_|-rAzuv!|amb^G{K~86 zx9C53m5(_xd=<_pyrA&8!n>fO=+vSMi|+1yO(~i-v*+)^zdi6OkCylTT=bjhKSZ8; z^Ygd2IPB5GgTt>oX3gQhIbzt6Hy`=MBmLFL zqLIfRHTlig)uYCZ8h3QFe=i?(|EP7x9C^%|V=jE_$Zz{;&9T?@e;u=H)|IoaJa%~a z+32(2>Hh!w*3aQz^?&t#|TH;=i~PYq*dj7|2v9v-_U{OP#SrK68)fGbPG zpMDhj5_ zPQLln=;R+ye&K{CPQ2%&@0_&eaTg7 z{^)<>wf^+Cz0UmQ857U^<=^s}HR#OMGtZiN!K^_Czh+)F^QnVA37_l2zv}h;taWEi z`x{?3pM9j)htIC-eVsGh4BNwtzFYJ{5ERuEy%L;QR9ln?rW9=`YQP_NM1}ygP;V7xDK3S05bNR^c~zZE$xa$fM=$oUcb??f((d^>n5^4&;7 zU`3!vN5PEf(a|p!h)<$V6)cVZD*7J<;o6D+6E^JKRxBM6d=##MYvCrC2cLum@Hw~- zU$|fWXR29A(}EIf<6EII7-enz!PdqfrI+{|4CTET%6S;dJs8T}*1o8-Qsc1&SHlg# z309?OlD&9qt&f|75mr7OVdc{iEOFO>hrB-=jIjFY2&MzT-1l<}NFtj<5>q z2&FxU!YUuThs;*F z9QC$49d13o26sBtdVCG;bf~)=?=Hu?%M;z@q`td6!d)KWE-U`*E_+rq2@Y{5hlF?X z=9!M_J(D9&l}Vc>lQzT3Ei>W#{Iga#*{nWxU@fF%fi-BXgR$T09?gH@41=9v@Ihw? z_jdY{YkkDE{<~{^N|nbt$0EgS?{n-~!D-Rk&Q&Lh+-Gf)RaORBRk%}KB3!ZQZ5r^- z-*k1W-}&l#k9N@2g)3Cn_TA$uvo=oWo8MXus?q=M^}l<~nAuInZ#Z@f?b$E(+wban zR)zA!mi*Z_H~D6`&P>ub8~VPP{HwlM-S^D{QV-9$>7BocvH$nhulmo{e>zwKNmmoj z#oFUOn)~i!?>k=2-?lR7U$+;={qB6K`tLMz6lPd`=ggptZXRL;lo{(68wFRwn#T82`;ZFpR(~ z&G`=d+IyE<+~u*x`EGZ4m~p<_T^{BRr?|sY+~Mi&aJoC(;SNW;!_n^Wls~(}-f@0l zzD+pJd(U#1>PeSz_l9w2bz3?=&8(u{mD6IL?;kwh7eo0OcU|hy;i_a=6_gfQ{-QDX zqA{2>26OU0z1RB}k3e5nz4LYT9;t8q^4(>#w31XQqhBEVExYfa(E7N9}b7YVQ@J3JHBF)>tE4# z?N__@54iRRU3aBxzRood<4Y#-C6oA)Nqos9zGM<#GKnvl#FtFsOD6FpllYQJe90uf zWD;L8$%@MtM(ztvh?w=@e*dXQk}XC;i;=L$S;KjPLrKgE*1F)vnT6JO)}9$?|GUrR zXwRg;8IE*@6P#g;GgQ38GbuRenH185aF$|d@0$BYZO>CTQtHY7G7(gypM4J3IonC! z!qo!byf=RvcefK%4yV%bX{w0l=O62{st4BndWBv;N3Wj?iutEVf!%2e>`qf~UNDsg zPNadA#@mGc$8{%fb)?OvFIDuVioR6Qmn!;FMPI7$l`8sDMPI7y<#Tv}{c()!ce7vP zjO=sSuW?59x$M_Cqx+N2_9kRrIck-c`}NDtcE%@2cos6}_wKe>ZfjijGy$u_`(i z^291SRz=6E=vWmUtD<97bgYVwRnf63I#xx;E~jHt>DVzrXwfT4q>@A`Nu-iQDoLc0 zL@G(7l0+&= z-|6?PNu`ohDoLf1R4PfOl2j^5rIJ*xB9*I1ZsLl}b{n zB$cqD_U1Dtl}b{nB$Y~1sU($3QmG`BN>ZsLl}b{nB$Y~1sU($3QmG8g98^vFC|mZT$%A)gKXj9B%UYJoqFmfX~5wX6oMGBN=Ok2eV0LEXkZoGGj^RR8l#I zzRaaBm(iEGq;n$aRFO^<>0ClO!`~*I64EIlof6V1A)OM^DIuK_(m9=UPG?V#Ae|D@ zDIuK_(kUUG64EIlof6V1A)OM^DT$0!S3DXP&QOsd7CI+j$& zlImDe9ZRZXNwt_%i%GSZREtTqm{gA?)zb^6lHN2G+Zn-Wqnl+`}rh(DG6R? z>|X&_8l4{@?W^GiBk@Kf_+XtYCe>n6Ehg1sQY|LcVp1(8)$>U8JW?G?s>P&QOsd7C zT1=|Nq*_d>#iUwHs>P&QOsZo^bu6il?XkU&Ty79lsZF&GgLUkyZ`Gm6r9A4P7Tg*^h!sc?C3{3 z`ea8BElK!vCpdbAqfc=3QyqPbqmOaDr@G!#ahtukO(t?=aBbu$Ua?G^Tn;A&L!&R5 zZ9n3_qdNz5!IAek>e#-cKH#WhgDcsH@w9n7Z5~gX$J6Gaw0S6P9!i^s(&nMGc|2_% zPn*XF3*d8bAFDaVef928@E-R&#{GtVWsLg`{mMx9{6Y78qkI0Od;XYvKFmE|=$<$J6NXG5F9Z9+$q)nj(zJzp7Al*wy_XN@%LAq6> z8)g{JBi%Wq`w`MTpLEYB-RszkcfC!*6(n3i!WAT3LBbUzTtUJWBz!duyqbiklki9q zt{~wG60RWO3KFg$;R+J2AmIuUt{~wG5}r=N(@A(b2~Q{C=_EXzgs1n}jOipiorI^8 zaPR&rlfCy^;^`zjorEh$xPpW$NVtN8D@eG4geyq6f`ltbxPpW$NVtN8D@eGaXFb<& zt>$ob*LX03%+4UM6Xc~y~BD4$}oiIC0Yeq-5g7wkYkTk8I&y8o#MS&Si$c!VPj zbEIK!`|F6mjvVyY1A4|+x!#~cvBdiRe}B;5olP&w=tUX5D5Do;bfAn5l+l4QI#5Oj z%IH9evtLaIj&M&$x~H+OZ=>AX9M64@=RVfG9mE%ntTNBN z%yTdE+{--oGS9utb1!q>?{g>b^UOopj0V z?75N5y0PtU-Q1JKSWS`d>t$HqvtP`wjhwZ*TwCirQKgwY4g0YgN?Ns;I41QCq8`wpK-Lt%}-O6}7c0YHL;0)~cwjRZ&~3qPA8= zZLNyhS{1b>6}2W6wI&s{CKa_N6}2W6wI&s{CKa_NRi#a;N}E)bHmNFYQdQcdsm^qYR`PToIQi$ue@~zMx08R$SzmEK zuaN(1yg=$PsTI zJ+wh@tzF-{W_`HEU04;^`Sv5c`K`gOW3$ZUX7f+N`pag2-PvRL-+rwBdj0!hWG}Pq z80Yi8m)gzgGGpTk?^haCH|Xx|&98k8j{APF;wSDId*-N;Be|Q)5Z~Nw3cX8mH;Wz*6YX8%3o{TAl`{d2V zfaZ!F=87HWiXG){6Y7V!? zclW~AT>X9W`uD31O%a(*4X*d3uJxq8;YrOYnCX3%_c?IB|G!i%$#s%SsV8;4C-r$x z>hqq|Cp@W}tbKEowQr6JB{tyO!Px_T_`j%o5BMmm_5c6O&TeLAH$6Z?PiV#ngbt$8 z6&1vW-m899uv{w^z}~PS_O91i($mfwqK94-|dE}ALBhPsjc@Fsp@=xS>FRRv5dTw7|5P~rftu6DBHbcAV@3GQMflA{_{~q@ zHy7bI>$@ycQ;_SMd+GSSMfkl%_`OB=y+!!FMfkl%_`OBkWf8Nnw&E^}@OO*wcZ+Nn zwkMNu99c*K5r4)s(X^kxYIYe)7!bz>D=iNNq4%6J1xQ&F2WZs!WS;W7cRmV zF2WZs!WS;W7cRmVF2WZs!WS;W7cRmVE@D2}!@0xpJl%T1fu4;_Kqjhdcn%ft94g>B zr016{;5lS)*XfD7PUo)Ex$8aaHl4dp=dRPa>vZlqox4uwuG4Ajx?d)pyH4k>)4A(( z?l_%0PUnu(x#M*1IGsCAr@a=?UJGci1+>?b5>Nj-D1k>QfyXISuslw&64m`OQiQjVFFVPQ=MD49#8G)~#0Oz)#i zkKk%9=4!6tYHs9eW+auVo)x$kXVF;oEGgSU%C?ZQEu>@zQnrnJvDQ(|7i%3YOq6XQ zWm~w9vMr=+3n|+|%C?ZQEu?Gu@=;feyWIL?V`YO``{CydTauHs3q z;%2VmR<7c&jpfL{&gOZU%F&0QYZK{bNG|mb>K2YXlOu<7}5`7Ne`h=xQ;#T1)I1x*g=K3%hwY1tDoU^8Z+??o$J~yA#BY zI@F;<9Xj0I6f~_JZLM9Rt+h+EH78N84tqHJs8@$OcBof}dUdE*hkA9WSBGa*JMLP? z)i~6vL%llGt3$my)T=|iI@GH}y*fOj+R@J1(azdY$Hyhw+0B%|1C+o+)U!qslWAw| zXlL!DzPs}ox1;UQ_&X^PhkAFYcZYg+sCS2Ycc^!VdUvRIhkAFYcZYg+sCS2Y*U$W; z#E$+oxh}biqp5@25?3&tE4Ya(xHd`CW^m+4ysTd2vppM`fK24+e~!wg9J3SUn4Kuc zK%yK2lw)8Yfcnt-bPtez?l<-T?fKl_Zx0UTcVN9X?Le+N zPkl#FR6fu90(Bu*`9{)J>UiP*s5ghZJBhpN%k!l@cX<6?wy=3m*`E2ec0Ymf?R$Z8 z&qgNTn@_}lJ_irxTqKU%`X)54AW>QcXk5WQG_C-RD?sB4(75K2mGe|zO6$yO`LVoBS+qS>$Qh;-{f zM14o12J*pj@wPoasg`GP-fq&Khc`R21MR3ImNuVp`~}UP$hS6|A$J+Pm+p040q?c% z8FFoyx+q-VY8W0pJLT>^+Q#?>&D_E}ov0o)PF6EvI{ww{AM`Ar`k4LC!J7)7sdLjW zg`xZuhV*TY_%}!BSmj0B)i3bJ5tu}s3u-N1^d^}xa|>MN7P!nU?7fY>^_-O3KoK7D z_K_KtbN$4*^uL$$tDa9&_u}gKzZ%Y^NBqX*Tz=x6H!?yo%xL34oW+XwVVWCNDkF|d zxzAnj#SzJ5ujd7Z=SuW)CStY|J)G+udN?^}JvHfJq~c)uvIn{!lIv$axqjv+?rb?n z>lsgf;A&QLHLJOr^<2$5xf*@_O-IJd;`fh8=h`db#{U7US|R_p$5GrzTX^v2xR)sR zvYvZsVDxk~{`G#3WaPss%Cp}ib$=4MjvwDQg>Jjei6!LX#C0|z!`MM%xR*#TbeXP+2Y0G*$q&?Ds9*2&6 zcH*-$pIwk{$U(@#ND*=f{WjhCy$9<(-OtTW=`mj9K1k;D2g%PBA#-|!%;^y`imYMI zrYb(yBI}SEWIa-gY;YHnhbuy6^az>J$C8IDLT2;`Ik+NZL|;e_t_T^?BVLPjzdM%P zTM;k0mb~K-ax8htC*Wm zTgf_8Lr$#-SG-kWTL4Ld`>UCW1mEZmTB%Men)Mdj~!HF~-|&V!Z7pdiZPU;jcB{b!&a`IZM^r!^Q2}*C1=JB0P)Afi9Z>;wLM^r!^Q2}*C1=JB0P)Afi9Z>;0i3-?BRKQN60(KG= zu#>2OokRufBr0GhQ2{#{2m9yDM>>sh>CE}eIM_PI!PYSjwvKVIb&P|pV;pQ9<6!F; z2V2KD*gD3+)-evYj&ZPcjDxLX9BduqVCxtMTgN!qI>y1)F%Gtlh=qD07V3#us3&5f zo`{8dA{Oe2Sg0prp`M6^dLkC;iCCy7VxgXhg?b_u>WNsWCt{(Vh=qD07V3#us3&5f zo`{8dA{Oe2Sg0prp`LtB4Lo6&p(!iSF0ElJdFEEKbv3yc))95mpXW1i8fehVXpoN1 zUPzx#h1MP-i+7Epo=^)e&eeV=L59WEe6W8G(#MMj=NcM))m}OQm%dBFSS#=9C4Y?J$4Y?h;1Gy8K z!3g=giL<$vEdEWiSTCY?zMOuzU+9M`ryuSY?sz758D?}=V}H5KXzk(r9?tK1j10KX zlS$(RUjlu6?qMri73{7ktN6v$Wpg9r5jmj zYTR187TJK*A@#^cWD~L(i6L8%t;lc4He@@p1KEk}LK3a|xCe(B z&>Ut!bC?0mc^hGlB992rgxvL2~LHc*c?`n($5T}umCPws+h^j6PJ zzNoPl@s@ug`_M8nA^aQ755s({;Cm_Urd;*l$cXxxUam?I)N13lN{i4>=z4ma3S_2sjdK=CWM7na_zm9{ z5cTk%TuFZrVf=m`Pv9rrqIG^m`NzG^+9&D$dL`~}=wA2tM`zW~ilkCwy|L7!#Aro( zme?PiQ9rkq@uc~YYtl0W)l%LOYHTSrw%=$HEMG0ib{S8&a>*a1pKxKyBMhe0&!(?< zHZ7)H=2ODo%d_bf_63)NyierUlfl)ekgGipJhcowwGKSB2^_T?9JL%=6w^KOV4ij4 z8?6P?EN3>CTH+^a!7t0fD4WRJSxfJGjNbPcz3(x4-(&Q?$G{isz!&Sl7n{HlF?lYp z=PH+Re;c{K827hLXVc({7bj})J+A3{uIWpz>07Qg!u@Sxgu^EHBC>{j1`d2bk)dx2 z2=yg0hfF8#=1`+&!w1A^;$a z!#mz>O@_WgvWT3Sl%ekwFjNOHR9omIJ^pXNuPmCwoZYq)pu?_Y3sBax?Q zULsFXIcE#e_q>VLaxJs#?AuJs>DcYZh5@EK9*7I*JU-2IpQ_iW0tlDiMX zjLg=VCFsAeGeYsV=ONES1uZ-aJT;!}W-s2Sn&+95z1h6IdTGu#*TvTgUi0?z4)Koi zK9bVQJ}2>>W{Ss&*D0eay?HK zokRLL+DrrJV*^i>I@(Sh&*4oxhc}_^x}{grZW?{rFi*anw3{mL!;*P zv-%^)B4gYgWHQ=8CZlC!GFnC^qa9>2+Ce6xWn?m1Mkb?WWHMStCZlC!GFnC^qh(|= z+Ce6x9b__EMkb?WWHQ=8CZio>GFk?zUIMEA9z?wfG`$Hly$LkE$$pHiB-b*hTu*fR z3iRVEbox_tQTt$hk%9jL|xO zQcLgwmSMfhSzkrIoz=9^wfGF1$j9h&AL2?rr;axn*I+lVr-bi!zwz9KKQN!?VEh@q zo$}j4na!ij<`Lz%-5R3~vBs)Ht>gJTL5;Bf%I9f(|1Unz3ZvLssqVCX=6j{l(OP8;v?6@}MP*vQs-Co|r|j;k-0q?3 z>|#}F_fqwCA7KZk^8{FG->Qb$Gt_wdZsT729^-cVUKOb>3EZz(FUC-6Ih;2*IkWFOG z-HfgM&7BUrG@bd0w;LXqLLZhj6|XLhtg2*hWCnnR=BIAR{DN5-=OOc%s}sh={D$=s z=Is0ySwuGOANT|flF@xDwY<|@K~{F={)9c6ZXM#zw7Mfbke)~}(hKR0^g;R}{gD31 z0C$!(kk3KLp~zt5FywIL2xJH{6d8sLM@Aqckx|Hz$Wh2>v+!3 zgoT;~3pLA{$oe_%z1F$NdG3A8RyGCAn8J)@Q|uGm)%JyHJCHk(>BwCOGhSn3Heh2mz}PH=v02Fc z#EW6KLa5KG3`Xd97f$kY<5OOGT z7~c;^j$j_9A;?f<7&06gfs90$B@B+D4344sQDYD9)>RaQU!K{c2QaZbH z;Z(|*5pgQHLT_evzMIMPeKR>jZzgBx&GvK1KahVS&m%7)FCi}@|3Y3tUPWF*W+Ja6 zvyeBCH<7oHw~^V%JIK4phsa0B$H*thr$~_h{}TBMnTM1h-;#s$J7fX!J+c^C!uB7K zrO1!SPYBsS$x%Ah4k4vT8B&f^AS;odkxGR7wj;=|$Z8~ttU;(RdmU1Z)VO7EOJ#6N zWpGPna7$%yOJ#6NWpGPna7$%yOJ#6NWpGPna7$%yOJ#6NWpGPna7$%yOJ!s$pH8mS z>5hST5EJntJ|xARMh5d~j*U1-8j_A=Afw#5&XLGb$T7&V$QWcSavU-aIUYFyIT1M- z8BgZ&Q;<`UzaW1_PD4&d&OpvaCLj}$bC7e9^N{nAzabYO7a|uS7bBM-mm-sp%aCi4 z>yYaa^w_xxxfQt$xgEI!xf7X=+=bkY+=JZf-a~%Zd&uv4kMjV6o;wdCk06gCk0Fd- zgM%xFgDZ!FD~E$Chl4AJgDZ!FD~E$Chl4AJgDZ!FD~E$Chl4AJgDZ!FD~E$CcNo70 z2UiXUR}KeP4hL5b2UiXUR}KeP4hL5b2UiXUR}KeP?l6BW99%gZTsa(EIUHO$99%gZ zTsa(EIUHO$99+5c1zFGMB0=O!1UowC%_aWGAxAT@aw1 z8Jj^=l_080(9{l9$h@uxgKvxQJ`aIS>;basi4-HfVA*?vi~Asbk$y;jWB|hauUMHF zRwjm(iD6}8SeYPJCWw^@Vr7C@nIKjsh?NOqWrA3lAXX-bl?h^Hf>@a#Rwjs*31Ve} zSeYPJCWw^@Vr7C@nIKjsh?NOqWrA3lAXX-bl?h^Hf>@a#Rwjs*31Ve}SeXb`CdRzE zHEIGf5jh9^&U^^!Jmhc41;~YLXMRfh<7=2Rw+4$;g+;2uB2{6L^n7nIEK&@MRHdfy z`&8DiV*P67+r0+47P$@~zciL9h-E6lGL>MNO0Y~NSf&yzQwf%-1j|%{Wh%ikm0+1_ zuuL^rrg>PVu)4>62g@`E%d`Ni62q$0fJ%P_mHz6vg7qtrDfCwJ|5%wS&vksikx%{y zOH+cSS%9U9U}<7lngv*zD3&IMrJ3V-ihZ9(o?-j*ZV-zT#Nq_8I6*8<5Q`JU;smic zK`c%Xixb4+lwfg6usAXARQe`cAamUymL|xYyY*O`Al4>`wFzQvf>@g%)+UCviD7MO zur^gGUHI(gmSAyWAmd7qaV5yO5@cKnGOh#}SAvWyLB^FJ<4VwQC1|)3G+YT9t^^HN zf`%(W!BwEk-`#4gW;Ir`8mn22 z)vU&9R%11*v6|Ib&1$S>HCD44t67cJtj20qV>PR>n$=j%YOH28Rejn%BiYF1-4tL@L+8vAqP3nWM{?3c(_$ULM3`4;&OS%Bcb zVnJhA&=?jph6RmbL1S3Z7#1{!1&v`rV_47_7Bq$hjbTA!SkM?2G=>F@VL@Y9&=?jp zh6RmbL1S3Z7#1{!1&v`rV_4827Bq+j4PrrqSkNFAG>8QaVnKsg&>$8xhy@K|L4#P( zAQm);1r1_BgILfY7Bq+jjbK3|SkMR-G=c?3Xo1nSEL(Kh;&DKAjL>; zq%Y^`hxA7VAOn%X$YIFg$Pvg8WGFHW8IFuVMlrYQk;qZVG03sV7-TGR95N1pqs6LM zVb!a!>Qz|v7*;)oRgYoSV_5YVRy~GQk73ngSoIiIJ%&|}Vbx<;^%zz?hEQz|vDy(`HR=ouChvFcH*dK9Z3#i~cK>QStE6sul>RWHG+mtfUPu<9jP^%AUl z30A!Xt6qXtFTtvpVAV^o>Lpn960CX&R=otPUV>FG!K#;F)l0DIC0O+mta=Gny#%XX zf>kfUs+VBZOR(xCSoIRDdI?s&1glNQyP8mxK^R=ozRUV~My!K&9_)oZZoHCXi;ta=Sry#}jZgH^A=s@GuEYq07y zSoL{W^?6wJFjhT`RS#p;!&vn&Ry~YW4`bEe!K%N5RiA@ZpMzDOgH@k{RiA@ZpMzDO zgH@k{RiA@ZpMzCjfK^|BRbPNrUw~C#fK^|BRjb!?u;?{d^cpOB z4Hmryi(Z38k4X&HHF&6x?2f_u&wHB4UdhD{-00VMO5frsecR~0YW|Ks zzj&U|V&QZ@VxJG#=L6$JII%e6`8Ay1TsXfuaDHDB4;at(KS?ddzr%XKgTJNXv#)i7 z3x5PIJPH^7gerB1!@lWk|7XC3zY7a@C@kEus;c2vn7HHM#D{QIm*dB2@BAvbl}T_b zli))p!H2Ad4_OT#G6_Cp5`4&N_>k4`A(P-kCc%eHf)AMlA2JC(WD0fk@FA<= zLngt8Oo9(t4Ii=^K4g;2WR{r4j12xkGWZAm&1WME?lBu#(BGAPx*-Q4&1WMElEHuX zY-An}9{rojf@`#qbfhiP4r!0%BL~B^_MrEG*e>u`1$Zn99t(lTLg29wcq{}S3xUT% z;IZZ4vE|^g<-}*L1e1lpWFasaBiWFl2y@wk$--c=FqkY1CJTef!eFv6m@Et?3xmnR zV6rfnEDRVM$--c=FqkY1CJTef!eFv6m@Et?3xmnRV6rfnEDR@fXQ_B@(tj!HQ=%};Ib&VEDA1*g3F@dvM9JL3NDL+ z%R=C?5V$M^E{lT8qTsUS;Ib&VtO8tC0WPZmmsNnvqTsSHxU3XhRthdF1(%hA%Sypz zrQotsa9Jt1tQ1^U3NDL)%Oc>iRp7EJa9JI=Y!$dHVnm4#tb(s67R)n>NQN=UiOAW= z72vHaktxhp$+dvdqF}Tr7%d7$D+QyKg3%&iv}JI_b>Ot+;Is%htpc339GtcaoE8PA zMZswia9S9g76zw1nS@-1Oh$-|u!xMXh>Wm^jIfA|u!xMXh>Wn)5cJn3meS5dvXE>f2Wf%iA+3=% z2s&<~<2E{OcR)HK=(=5ibV52KU68Jbjs`ghDMSuNijaQDWa1d7AXAa6kgJhvkiWYX zV6_UcS_N3G0<2a6R;vK3Re;qhz-kp>wFDtX2V5s{pH2fYmC%Y87C$3b0xQ zSgiuARsmM40IOAi)hfVh6=1aruv!IJtpco80amL3t5ty2qF}WsSS<=x3xU-_V6_lf zEd*8zfz_6S)s}1Xc@y)k0vk5Lhh)RttgELSVHJSS1Xc@y)k0vk5Lhh)RttgELSVHJSS1XhcJ)uLdvC|E5DR*QnwqF}WsSWVAJ76q$C!D>;kS_N3G z0<2a6R;vK3Re;qhz-kp>wFVtX2wED+Q~Sg4IgFYNcScQm|SnSgjPSRti=t z1*?^U)k?u?rC_yEuv#fttrVJ zoOr2CL~Hqo0}2rJnn7epCK0eLh<@owo~wQJ{}WqARLDm9t3IP&DoUT!FZ4Rr(sTY3 zJ?CX!W^VBw=f2=Qo~V!$-F4pa?&fB(0_VA((4RAp9_D&_$2a+(Al5*mI-T*PAIOi) z`TYN%oAD-vyIjd#uH!CixXVra!#mtzCDCFnhz}#P3z@6`FJ=b#J8<5OL?$G? zIP)s`rII^{|Myz?&cE;b#SuH1B~iJX-6h=bR@pnod288LhtS5kqD}Fm;U*RL_m%rC zS5Cyb`#!&}VZF>PMSqfBoJ-0J^rzhAiR&%n?$+^rXX0!-x#RftR=9fJCtfh0l%1^Y zi0{Ss-x}9gZy-X47m)&3La?e{|H=K7SsS@tI6eKnj{1}<=B(AMpU$>_P>(OUr&FKT zxgWcyy5rflly8h|kz;mJ0;O!*OsW0?cGc%00thXV>veazF-j_?x63cJv=Y4rL(DN7 z*mIZOch46k8NWvA)crM4C#%o_ecr_Wl%re&TX=dUN`x8)J@en(gWOf~GxLA(^HP3j zPQ1j3P?ck-JN-iIDrH4$<1Wfxm+imNj1|0VDf^$@?a5`E*msHkbU#Mka-U?0M@;5F zc@fhR|NMq|5tRF(`xN`Ime?w~*rbv4yYkw7Y^6H_O<3%XcVBhKy7cW*57fCk5V^=b zj(Ox1*R_aWu60jvuOgx#@q!(1_Hv2vW#1d!_gL0ZLT~W7nc8g9-%ZliwEkk7*e6+k zH`A738_=G5?jYha+JUlI9xwOCKcc+okK*_riRaz@;=lAc(FMJU&!xM6(%LkEnpo*R z!}1J%)ipEP9mO)fH=57-M$Y&-SNj!OORJG>KlAVUj<`zN(JERPOo;qaMvZuRr1*{*eJ94j!$L!we zzRQ`PVcWZ0JH4Lz9DFO0pXoDr6yV- z+vdxXnvl;zS$1Z>hnW>qQIk)&C%NNT+ojvJe0Gwy^N8NV?Lg$OatB})ySjs@k$Rk<4bwdV_w7@QLnm|M6@80sZA^l=NIL6YbwZN&QG3S-ro0mdTYi?#1_Q z^2>IX9@Sf!MC2-!k9BV68SWWQ#`lq)BgrvywC8Bm!*i@>jOytb=NYGZc~0;!Z-(b& z&&lMgPGzbG91bInQ&x8tA#ebE!Ji*TF}wD_@1LLJjl%?5kA6eNkUjjZEp3 z(n*c74zc>GBdvkf(Q2GE(K=U6ur9DJQ|DTft!vdK*7eryYO-~=^{Behdfa+S-DSOG z%~JPSZ(HxF$E^};v3lBCW|gWJt+m!VHPfoG)~i|825Y-|(`vB2>JvM~4iJx(X17q^ z*m-u5T5K}~ms({Hv=3Dg`w06Owb~wIpQtw4#8byJR10Neb0t*5QjGmMfY#?th5i}`8@mh>K@DSzVr~Cp$vUtfRm&Whu zyi>>qkL~-raf;jWlyFANhDU%QFDb_X0 zw63M@TT=Houzn*N;1vz?_F?F&Q1oMu%=7)6|XjEzDzuCb2}5R79WBqb+ztH8jpUEB)O2+h z`aOep9(m;M#>2UXHyM|B+eA0sM;6<`2Klj#!;Qnq4t<0{CM9EtF@*J@jJZiSh8e@j zXg|Ur6S*C{aE8z^5Tv)#~f9~HKOEHU1O}FU!cmUB3^B+ zu~wx@JMl{kX(=tlFRh}bw1k$@68zE+vrDQ&`Yi^)BFfot$@;=L63N%HuuDOWk>= zl6@k>d%O2`@;TkA_-e>n)H$WIN=xZNeu12nZsg9hQnsaRQ*Gq=-9et; z9e93ER2`&k=S!<@DXqGtwAGf@I-byNrA@Y#mex{QT1#nZEv0oGEUoKcX;y0WBo zWl8JuO6y8VYF+K5b(zw-Ole)+q;++(|8768I@vGU@3Q>R{*>is=0W@ndPsI{i}_J*z4?SmNjGu4A_jGW9d3R<_Ar29L8~^IT;JMdbJj3k zk071>or`PP!4(~c>~LplR6|^}ytul)O-Hd`8UOfO9Q`zH*K2VPP@{7Gaig41uWR3f zQJ3+3xnsQUeZS-=?b)qx+i)jq+}ps#A@>~ar#Q(va%sJMBxOI7eRK>@raz{4q$8p@3c)y_h zJ?|`m5H&`vcmE~jp>aErSoq?29P!tlM>TFw{Mv+vH*&SqQDQq|R^$8zXZ)Qq)q5xK z{ll`pM3!IZCBLk7Pl>O|w}tL^=+O!yf)lTVhhIy5uNUp=uDyQrv<{EpYL2es9mYrc zV?8Af4ZR8D@wDgIRqkD!Z!vXS>AoYrPdas73%=e%PxtodN)Wag^_NP4?&B0WhhpPx-X(LJKZxA`&{9^#&7WJ{PGJLSjBVhBd$pJLAKTF{lo{Z zaler3cr$V2Dth~OzqoszBJQ?E)++IXhrE(HU#bGx{T2Lm1_{1t>URh=%V4t%4wK7X)#Kb)9t`qiuFr zJJfVL)lOA+iS?c#*85?x-Y<&vepRgZ>sasa)mzx@ka|xn_Ge6WTW>@$&2*yoL6pErwr-XZpRm)Pe9ZJ!OL?Xw~F+3+|coDqhl?XzKP`)mZT z&u17dv}HEhYs+l((3aWgr7g432h03`aj3S*#!zhX*TyJqjg2W-{s&kg72qrW{vGL1ly;A?XN+@u0^ZT(W;wS-oo3brjaq)CS&w%Y`LAc zkF3#TCKSw{A(%f?Fn^X{{%pbgIfD6Hh+Z0koIQe^P0>zAw9^pnOc(8JA(%NJm^nps zw1wzsnxN$jLCZO4>Ql<^d0J<-6U^K~wAL1_4T#oSqP4bYtu0z>i`J%#)&@jtP0`v6 zLBC|~M0fq7yXm640nyzSqPw=}u5Et;+VqOP8ltZrL7N^yn`RQ)^os6!MR&b|Hoby2 zeQ5ADe9`UXnfBQ`&}LhZXNn+COOU4}$kQ*HZHs2xqS>}+wk?`%i)Pz`JZ(XqwjfV( z=Yc$JL7sj=o_;}|wjj@dAkTmx&wwCLLy%{xAkS1mo@s(S)6nwg$hh_o@TV>KGehua zhTzW(!JnCeKeGgXW()qz5&W4W__KxJPrufCjWE@l;sdu5HpLbn*hCxC&>rmxo5G;j z_>wsw&=&Zews^&wtLn(Q=1WZBOKkCw{Yf5joG(cg57`mEBwak@6!DNV#6xZ;zA-aC z@tkZe?J8G%VK;@=jCXKRROn=SgCCi?9W{ca)pZHa#8h)>HrNBFb> z@oBx{(+0$+^@>m1L44Xg@n-YHk8LAhV+>$N+swv!(E!>hV+>$Nak`1@CmZP*c+fuyQmclUE!aBxTC0kg> zIG<#SmurfbYYLxa3!h|*$Lkl5*S{Z+H_j)eipT2+pOh{hZ;E)lDdO>Fh{u~DHnW}B z%ywck+sV@>SDrq(^7LsfPoLJ}>*mVSCs&?6x$^YMm8Xv(zOIqv>$a6APFs08HjXF-8@q1n>r)1=LNq|LXGHg8Frx1`PIh_~5ByiHTQ%}nt&bA=DHg%7jE z=WI(%_>lj`7uk*QDLL&WFUR-L{XUEE zCRc*L|H(0akh}DuizoL!{n~Lq;z{>@Des5e=kX60;ZYE6NI%lNX8-d|yhp5Yn?w_Q z!+yHA_dVo0?&Y!guUtU@FKa7(#IN8TF2(|?L_gj}_Zsc{=vTatH@?2VWs|?c{`iRa zI}!mA*9`7_qwaY`@5O&ab85K9DtwkIekn`rwO&euaajBP7x81_zlyJ;d5VOO!`Z7j zFWws-kZjYXh)=YOWn^Fd>y7{7ex2OM%kjEizNTh$iM@m95^F3A?dg$|hyQ)WeVjhn zOukQZuV=X#-ye@tzsMc5*UP=tot?Z9|MP76&VF(~z{?#<-Jij6L3-nEBsO_f!!PL5 z#pu?3Z2O8{*=OldehRPdGJ5Q|F8$Ia+W6vnr0==$d*i3{?JbCZYh-9#?MvRIw>7ME zduVnm{=(nC&3%AA_a~Em^~PWIC!V3^2p&MTyVII}fh~}JzGhoKVXqBw@0B%OraS4a z#dGJ`@f5YP7=LyLC2*?y7w&UC+lT>f&M!2bPp`>2w1>MgA+`Lk^gPD*)0{=}5u6+L zq4~Dt-}QQ&iD-< zE3xHnUC#S@{odVBu9fJ1>AsHR+=*7jXze{-JjuV0Z=whIE4_xsFOttB?k~QFY$YDB z>09$PGLA^Ub@Q!q6y?-m!e}~|j+BbO znrhvBDY510{gwaz>Z|cw`~TFv?9E@a!RQ_gjO_6HR@S{(m%Mvn^KgfjP+N?j^gCV>o1h2p9oodrLRcReK}LXhkN8JR^^Oy*5T0`u^G* z?a6JHZxqn4*V*XIoYMyxh4kq0W>ziU%oE(p=%sp^ADSPlV)IjTj_PB6ZU$99^BeP9 zHOO3KE>(w_|29Kvn7P7Sp+=a$nyb}FbB$T0jx^Vq>(ywp&a6{o%*|#@jWu_eJJdLH zm$^$FZ@Q+dPVkyuuR75?+&f&I>>cYJtH%3Q`c|q_eCvJd)v3OiFQ)!ty=A?n{%ZYb z{iIH_)>u{Q3~QIQOP%R2_MfEA@{jjls&4aN?!Q?*!Wr*RhBu2I`&h?U$C5O&Q&R9 zkoxvf-zBVnORYQ9`XbgBn~ParVlH9*2lEHkm!b_Rq76RL1_y2URkbo#qZ66v#2S@t zR-qX=Xht>58nZ@and{M#7NR9BL`$+nOR_{uvP4U=L`yP7OVUM4az#r_(UJ_&5?i#y z5iM~$A66fL}mC-LRUQK%Ec@%L1RqO7*jOHi^j}WKL0!Zca`OT&;OpX{qOrf zV*Z1V(Ih{b#M}b@FVH7P^eGj6nn%W!`Dj(PXjO)2RgP$tjx~5wTCJsiQNN-$QQo#% z!#gF>UbQCm5>4uZ?reis*}*$i^rpM$O%KCkcvMfrHf&~p)U7$yNHx-Eqgm*LU$mh> zw4tq$OPlr^t!dM(jkdIDztO?yfZlX8Iqr4+#D-NV5>~|!R;5T-6+>8+mcpudBvK$l zxD}5?3S1ImHCxQHRqZ0 zSf6jsSB2)+=GQ!dzA?XHO9@)o(_CPFuMQDi%oqLZY5r*bsPfEZ<}!{Ao6FgMg;}cF znH6S*$~S*8qv*8O!UD8#9qZL-VJEb(mh}zh26R+Et2&wWWFhZhZZbEiE@LPv=~NS7FdEQvu#ml%XBX(4TWwZ2+rozhR!KE5r!E#v{( z>f5SPe82g4a#;hc0jiaCwl#s}<<{lQ|C4JoGm_oc?#uFI`($;neVxtxH1B(}WGm*#C0pYSyoDu3`NK=LUYA=1gN* z=~SvNPL;Ek`C#gtjj9FK;AmR!ZGPf7q*ce;b1!MneWVR{rwxChdisO@pz19xxrel5 zzqI56X~}K<-}x8N<`-fm{Qjl>rS#$d=>L)RpZq_muF}E}5{AVj`{KjO349V@How59 zflukl|19vC$_{)^CdN!MF_L{R@Lk|LqJBKiNm?bGm;FQFSdRx;e1j)Qz94$dR^VTi z;&05O2m1@6Cy&DGy_0S8@CG~66E=?s;TKhE6E;@=2QM(^o#cq(MZfot;Gr+@n?GdR zFt*&xwlBE;F7o^J?z3zQ(+mC^UfC+HewBN${^kG0s}c3NuQmPqK5+i?c&aaf?%tzs z@JRP>yqEH=hkG#FSGjMpehcq6>Epbv={yI%w!dE8#+Zr5GvPgNCBOY1FZ#PLY1%|I z>Ws#3joTYBaijm+`1^r9&>3+7aUuYY5Hs6kyJe&M` ziC3f7O`FmAPUMA7-tOL>SYM^%ll4o-W6S54)N};h-cH>wrMH*7i#l$5|1avLlCv*o z?<%~@HSRr{U*aBL(=36GhL-O=@a2DmGkT@*OpUSqZjZ(-|2v=VEUp5UM!$&B`9QNQ z@%U-k@^@LjD9bnXl3$}dfxbzsCt8f~64LTj?!IbF{NmjBF^MBzb>G)(L=DV^p;<{O z&1)VzAiox~$DxTMdQf|P_&zB9oi%=C`8QcU7~cvDa;bZMV*OHjmUs!{agl5ru6yz2 z)hhAHhwMLW_xFR?GSR(Oe|OI%?)xR;6lM_@p7@8|`yJ3qV+{M=J129Q^lrspz2w7b zw)fy>-;(!JL?<_uYW6<%OWGvy@LQ8Muo{0_CvR(HKgspe^g2AT+Fw31ntotyNV9M8 zFY)~py?*U>|Jrn&Y-(5?-`-H&uygkwd#$*ayJ-z;8#gC2W{umLf9{JnY`(|7zsV?s zQSRaHkj99Rrv3J24TM{+OWuQ)owy6_-^YFYy_uAzBbu*CJjo`#t?>!n{P*N@!2?qJnID^Uevc^4O68}rDlj$Mxk}F&B`#cl-|D|#NJwNwu&w3BH68Sj3 zuO6wUc}bQL(a%`?sSyA5PhWcQnhz%yS&4_?7Y`#K9!4sCxNB9q`JDM2{-*X4a?Dcv zfR^|HEAd7(y3gC)N486~C3E&iM1y$no^%|vk>uBS#IG^MukngsV~Stnm4Efgzxw1~ zQ>5qElAdE*dX625fcDFE1mrqWRi+>7ylTWwi9q`z0cMwDi)aO1#Qw>8rP; zuYQ#D)sK{jlo8Tne~|RpA0j>WL#4;Qzx3D-QQz_IF5a?Fn3xn;ndM~Q)g0GY;kd@A z2ya7t=~m)PA1l6eEAgdU3M(^Myl7Lr=sw~_w-*1oP(0^8;yHH~&v~49&WDQU+(A6& zapF1WiRU~{Jm+ljoX3gh+(mrmZ1I`LiO)PheCBcDGmjIWIbVF{Z1I`LiO<|oeC8J7 zGan;b)l+=tV??)liqBjiy47BEtDWdpd(o|SqFZf6x7vzs^$^|aD!SE6bjvTgHA156 z`$~jDSBb9gD-jA^B`Tq-MAz#vL#H#YNRKl)OkxwdN>svO5|z+P;t`4@9-)^+A{-`> z2!4q~NR_zy(GndrTA~t0N>sv-r05`zMAWBBRKgI6O0Xp=AyuLh`b$*85Q$0{B~b|@ zJGOhGGQ3WoW%`L?O< z5~(#>;z34AJcwW7LE=0@rbLA}!X{)&Y=|SH71AX(q^s}?eXJ|3D^+)i6X`0EAYCQa zBUfTQa%JQ~SG%Rn*mYqd`bd07SNjnA5VrKRd$R0Je(>(XQ1p?wkFFBmQ7mjlXBpQ} zEaMuAWn4oq8P_mSqC7eYmvMx|dK@mX9!2&vdm0?aZT4*}^*Ev;`vLnw)-~UeAu%9_ zNeswg5(APY42UI>AX&nLSP~DCC2WW#Q6YZeM6!hwX(bUNeu)rC6@DaJ;zUv#kGD;#xJQAzs6;>r%;zzu~t#lMtWt?-Ub13tb zYCdJ0#G#FrIJD6chc;RwP2xODE8$tPCF;a4Y)dO)Te2kr#V?%8IEhjlEzHX}iB%gd zv1+3wKE;;!6kFm`MoN_02#Hb~AyH~0Bx2p6 zw*zmh;eihVAF|XOP#@ud+6V`fEm1biujo{1_Q$_CP{UZlqd-U-;81SCPr4aKB@t`? zrz4~TJYgbp!MgbFTp9T?h)K|+#6MsyOeDs7;tAF!j|@M+Q~wWk!<&AIUhH3Yvm>44 zWJP+(oF6*s`zQCd|G^*pHx4D{U>fCuuixyI$yJCCMlWS~vtR!7FYz90J-UVeBzC^( z)#$ymors|SVQ*v8X%A?P`+kc5{CW4zIlI?n#r=Ep@BjPXG&}JBmzTr^kwpWxNRRWX zN89x`@gD#Ddx&!YGH#;=PVPgAg}OWbKd_J?>X96jEbo>q80!*a=EFq5+zwY$|7TuN z^M3xsD5wN0#}z~y|BDO&!i^?!LadSz`Cm5v`saMY237E%{JV~FBE!M2tligmZsyO? zc?eeNZ8C;NXN=V2sXmd<#~WG4#{K_$pFHCpl`}sCgV+EU_gUijw(=Qg*WtK`uUhUt z^!w+QXCfI;U?XeLqLmymi*q)>13t#_vw#2Sre9(9e?||ho3_ZBe%A5a;e6ljKNe+= zV}z^Ym<@=2M&wHtn>9@=#h&~BzxYmBZQzb|{FNT(wU)@NJ@5Vh?6Qc?(>XrM_*{$S z3t@Gcsc~-|qvvHM`_N`7Sy-y3m);k)ec^%C5&Zp5$=dQ{&U$-lAv&;GY~tj`~vRbo2HxI;{3JyAyMG+)Ttaxj3w zNS@Qw=`w!*JN3O1?xrY4eL$oed`13 zL+c~!W9t*^Q)`a(nf1B#g*Dd-T3=dUS@W#<*4NfI))MOnYpGRcm0K0oO6zB<(pqIj ztY55Ot<_f4+G+c=uZ4Hj-R^;RRc!at-j&_J`02x(!<{3XA@qTRaGt+b# zs&qFM>t)pZuGu0XiDu0(vKz{**~e{_bwOJiM+wCOA(ZSsY^ z>nI~_@`c0eEF*0+kC)FrIx`8e8?3b#RgLKw9{!l(@qM(uE6)P@P8HdGk3LxoWrDva82Vbn4uIwf0pwJhP)a)np(OLR(q zVb}5`Iwc?+Tdr_yEresUg<~^>V{0iKn=Kq$x^Qf^aBPlnY_@Q0DH5GBP?$DHm^NFO zwpPNl*}}Bh!nEZG)8+`%W((8SSD3a@!nFB>X)}ds^9j>t3e$F^Fl{4*V;doinnxJ5 z&cdj*5f<%WVbMAZi*~S#_Q@A6t+R~w$(PYS`NFGp7GCXO;ng|`uhvC)wazl;CtujL zF2b(0kt{Cx!m)J{j;#$@TrN@h!nAb}4(uS|zy=EkHdHvUVZwn86%K5ua9~4)1IrW+ ztc7r3xx#_9NQ#X~6Ar9}aA0}DfejE2EK4}BJc*4tM3}H#VZzdc3F|3LSe7thwlHCa zFk!YZVJX6d*}{Z5!i1#=6V_XpFt0FSDZ+%c5+=+RCaj+@VYV<~>B5BB!i2RFCX9qZ zxWYxkggL^5*}{Z*g$Z+n2}>6y%$Da!vG8HJ@&qXsRxDSZBi)4?vxOV8g&VVl8*_vk zbL5%QL!K!;A2wLVN979#Rv=HJ4B@~ENSw>9d%ZRCb88MYFBc}3Y#8kepXdQ(`>nJ0p@-3aG zDPQvN+v9RqbU| zReNFGItc65LRhyB!n$=3)~$`OZmorNYbUH*ny_wdg>~yBtXnr>-MR_u)=5~mZiy%( zoyn(*ux?$1Z%Y-XEmb(SRAJW~Vb_KVqvi;U<_L@C2y^BLH|7W{)>k5q`Up2>OTL6jN4w8{z`4YKwh_F_4@T0xe#D$q}u@89D?e&fCkGTO}NRxnZo zRIRf)RO~-a{*Un1zJJ%52KV=JN5_BRikQ0uRKEy(R)%lHY$C*N{JOv6_T0{0=uDDz z-0ex+!ze}{HN;sk@OJ}es^phCSeZ2akGtbbVom4K|ERwms8{dyCL3KJ_CL{W<#u8G z$<;|?QntGE)-yt604HqiPGkM)ct(qOUPAppY@6;*kk1MH_x<<+e<63wC1jxd)IFZ% z5Bj&{7x!3_@a`FFrGIIPsbT$Xk%*#6Ief7AE*6r`6Nav&J)PDv1GK^ z9WTV#v_o8airsq}wz~Pmfm{(kCcbp@`Q=G!cs-vNBG<>qglTT8@dZmOu~F_>{Qfxd z1ahx?CHkd3__z1%FEt*$ug|6t75n;i?`=(EH}HTGT&>Q=SReQ$5 z{XWM6XHl2v9e5Tt=cDHT-Bd!HSz_m!{~rIgr=|K`D`JpqB!U;W1D{OC|98S)>S4a3 zJqrAZx9}I{(^vi@9srT?;CG_fLE;{by*0wt*cq(5)%P2iu&>?U9$*i)4+Ga-2THpY zj5fo*+rG!X*S^obU!ycI+6x+wfyU;8!ouLLwIHpL8bg7gE_beQu5>0lQ=F;JRnFDm zs2jjfl^QpJn(Cd68WDkVegd0(0s{Grh-r@+Bz|eC_@b%eC8mi_m?pkons|L_+|w(> z_rK2gfmHF4;^PEN@r6<(9>6Oej#s>t4Dm_g5&3E2b)<>Ek-=S$hO0QqdlJi&iKxbEgv94p{O+mC?%I7w+h|HkB*eA#}CDA*qKE24;GI+?u+*kU%a1kU%a>Y;s=Q@-dlWezxd)g;)~~qFP;Q9^z}}$g{?j(J;LvPNI`MclwG?*++cJ-r`ewl19TEBtE4do}6F^<7!_Y z^@S=T*Z9bBC!joa=Cz6Bf za-tP)lJjTrjCA;yws5OG$o(~x_>AM!cyf82L)7CHJ+kmoeLL!CAqq8Aq#@%q~njvS3}01G$x;j$@o2Z84a4jTpaCTbPM6n2QaR8 zxH_7VK&KLCc^*9aWb%AXOYH4qBw!}d;2q$84~$PZa;V8rBlro2ezDYzS-{F ziGRF2@6wAdFgxvIdD-QY%);{yVEMPn6VEk!9>|ivnrM#QYdQYX%dVPao_-)pcARWZ zIFRM#`ka3|pylNAE;BE^e6Qsd`V5l~WI09G%Z#MuwMpyo?b8xlF1qY*=Ic`qWI3f* zZ}WjE2e#~EKE|F0vg~U<%bo|a>}S5ro`1Z&>YORu(E%;5m}1VJa@8L%r|Odb@IaP4 zTRc1=+VN?yrkDA$)K8r>+P#n78{K!KGtTRL^JzSZGHGr4IGqzs9}!=+lJy)}wv=Ui zS?03zuvdY6D*23mGicrVx6VA(^k-L|K>B=)Sz(zi%hs~Y<0&wnC)Pd2RFB7VJ(0Du zJ&QfHW~SNCJl(tvT(Z)8p7#Oo``+!oVZN_Yu1@*Qdc*GN%=bSMxHz>T?b@^#vnFJH zn%ygVNcQCHY1vO_zm@$f|Dpd!=hIIoo8B?b1NMo|lWg&FMc3Hloxkti!=M!OFm}Vp z*uBle6KjBaP|aej^V{kj^}hO0eXKrJpQ)hw3M((Yny~P9VE6C!-s649`>^*B@1x$w zypMbD_daRdWy~<{HtsR*HSY61W!&$5+IYZt(0Isr*m%Tv)OgH$mGQXuYU2s+>Oo(f zf2BXlKMzp%tJl>V>Mb=}y{A4YkdT;Ud z#iFfFy3;mIL<6`3y<5J@?V{-C+8;=`L7_*J{jQ5R? zygA+$-d5hLyjOdlpavA$n2FBx!}gtyCDOGwiYVr(=2SivTTJsD^BnA-p>3dS(fi~p zk9mUVwaMBr&S4<>rEBykjx)?6)>|Y#^_dK1a;38q|Esk`{?GJs#HswM_t96h`xnnT zGOVW?hwt;Z#hh*9|3}?>$46DA|Ks=EUS=kllnE)5Ov$A8kWRvc5Rwpj2?-^H-iyEj zf*=ZFSFC^y3u0GP>;(&JU;D0Y70bH1wpCG4A;b55&YejnAwk^V>+{DidF9^BoqNwc z=Q+=L`tuz8y88TfFDk~r&3@@RIlkp>0PjBY7kWxxcP!;(U`_BB_}AAx!#M@8?)v4f z>GQ5sP9=@uzgTsBv_??lfw+49LK5ifPGkJJnX&l5eivK6ZvR*hAHlLLG5L6SOz2YFZV9!{*doRa{Pm6DY4tCEx;l4+?kv!Z7 z>{&;@4z5*+F)atH{;l8gd=E zp4>ogBsYmai9d_KkZZ{<)~X4cEogZ24e}`|<{|w#kIbO^alLg|< z;vVr9vP|6FgEFn_MU}RIBJC5O5ci8ui4TYmi4Teoi;szqi;swpicgBSinockgL0h( zind<7L%dVGOT1gW2Xy0J@jmf>%$p861DiHz&0@?bupet}1zCX=bv6M_0iD^;IVhds zyr47=&PS;YmnQBMZ-SiK-RE(*b`zN|UL#&BUMKD%OU0{Cnu1?1-XPwHw=#NX(lqo; zM$aG}qfg7wn-yd$r?7q`v3?|ryT#i8Bpts$MmN6m`6Z81R=nd(S1OBcNdn>d0xPvwvxcJ0@z=KS`g7< zG^$L{xr)XZ?%|R#@ArdycSG$3ZicbL*hzjet}?DBKO5H=*BaLuyNv6N8;l!`o1}PS zH~Gc5nH)Cu7`KpLja$iYUCC|dc5pknt3Wfa<*ws)ao2M< za5r){al5&jxjo!1+^yVg;(x@i#P`JY;;G^~@qO_F@t@*{;z#1aKfLx~uY2g{x5dAU z|KP4h8z0d>jAsVpHwxr1l&XZh5&;=38Z;*sdQUubw`9%*$;tysDh+s>2|WmzBGBgw zpbt^)sTx|=bZB&Qq5Ca{Mzjpl%PMG%tD!e;MTXkB$V@w*yMXcLlav&~@t;6p~{r&8d_q&B_R6q%v9=ql{I?DdQ3OMPt5# z5nqVVqVZXw=&Uok?XhTsD6e(3iuK;rYUUrciWo98f~+fktmk|51l_48>nXZh_vl_d zRrk@ishijv7+ogcadVV`{rhS;n=e_`?I{aZq< zIz4~6*Zca_(|Z0QW0dkX5g1182vjx#ED4pE#<3A6GAR4;KcZo~uF(I!!RpL_Re;VX zy^9BSVz(05T0{2%Zn(;Wsy&asaESi7i3`QG{e~#ED8R6Ui&2Iv?Wn^tN14NAGn-Zp zi(kuSF>CoOTCI#lt5vXQwGk{@ZM5>8@*V18(U`TVEM{#QvxK#?n6(aO$DYqD*bCG_ z>L6~RI!+zOEmGI2Yq`aM)S288X2D*rUanrwt;MV-aHr}?dLFlq*@`YiCh9%hMd*Dr zFscM5nc>PrVBIA2)e1a43w3&FOq~PxbQkug*{3|gr63Lw)p`(n_&Qg}dRYYAa$pxz z8b>#n^`-&7g)_KD_Un+bG8vj;M8V+7{68q@^wjX2VIt?s^4xEoh>eh@54n?PB%fp%UG3b_~B(No+D znE7|PkGU@)H~mT%5{X1DFBhtG6%cBnZUhBtg|;#mn!yTaDjT7doCmGwN=QdHLiW2G zH04q96nT!kLf$0rl8?y0$XDch@(Vc%%~0iSd<>t!yZAId2k)o7EP&;Ro~Oh1MbERK zNz(IdSf1#4uJjZ;&x5syex46&7CoQF-%QWs5YsiP#Z~IB^t0qtf1zhBUOmjt39y#Y z&q=7LPR~xr!StLA+ZH{ifXdOc3-%~_c4H;cvj?@;>DkBcVdpgUC_ATP*Cl#A16A4S zIa58t&e{B}?3}~j!p^y{=-+R10LgP zz|jTU9gndz;pkC+#L>s!fMc5a6OQTpZX7ezpK;7o58;^2--Kfhez(3K2!h zYn6y+<+Up5bsV=dEq^Ndz8JjeG;Rwrq%Q~0-3^U*AN1-2h^>8_`zI=jeFKlo@4y}z zo|Y)!Pclg*S-_xD_&$aJheko`oor$e_6HEqR<(9FJI_R`^z$t27(man`8(*D9MT@8 zXUVBOM9*4+b`LuzX?xk(sol%Y$=W`4PSNgTXP0(AJG-?9*x92!$j)hq6Qb>;YmcyV zhV~dcXKIhLa}Fxn)9-U(F~$68*Wox5>xItW892^{y%O`p-%e*p!x25Z1u#m`cHx+$ zVdgZaMj@W8QCO#F6tXUjLfNg|jH5@}gJYU@D~{>fZ8&CVci@<*-HBt4b{CG=H41M5 zu6M6q%rT|@8KC}y&_h}mKL*xgid_S7oDZun`i192SR+FJ&B1?j*|oJ@*XW)SGlSZr zNjb_PskC!%aqrXhFSZNUQkrT!Wb8HWHSRO+H}=ukEKSigO+{{}RkLCLt2t;j95^gzptLqaFDrWTkUi6!1e1K!Lm`W%n z%_XQo_jcGP(-I_xdKCT*`8z&QN*j8XhjgZK*fp)!sIUzPHw|Oy(d)3MAhmL{u`=gL ziCU%{rGFx4$XRlZoF^B^Me;zoR4$h*`Igpt;8s?${XsLS~l>b$N*pr+0YEbuo=;c zXv7&w@)0A?C^QBd6~-WAurbVNHbxucj22^x(QeEzW*hU2g~k$Nxv|n%ZLBjk7@LgE z##ZBe<7wl7@jS*e0~jz1R474m%62(XPM0&~Y&loXmkZ@$xkN6LE95HKFAtIH3Jr|^%%^2AANv6~%72AF5m>YK&G z%EU)VU_7G03!iX2wkrDO81Tl8KW^2jV@7Z;)Q34H4-c#(+mr{%?Jf=)J$^)9+Jh6_ zeUsXI%sz$XH1nw~-%>cuA838?{;r@BseUF5plwcB;4 z>jBrJt`FUkJK7!RcDX(7G_VJ9TC1SE)bwI3Mq`_#%BVz5%`)e0TU>@xA8zcN&*AC~ZOd={bvY*5t+Al5mUr z*JDS-fH!aq{xACD;;u*h`BX%Wuf={XTTp#rCw~)vCoF&Kge@5NMetR>E}nyNb55%> z0^`nd);Vu-KIRNy+}EdYDFaemDUB&(g5#c^vMJ@kl;=|Zk@8{6k14;nI9C+Lo$o4g zRk#LW-0iOAu2rseu1&6sUDvyAcHQNAI5=)c*tkc!$GbPXw*|*-$GGD?$-!}VcxJP4 zyHYza?ypmi^%(cf|P9Hpnj=t(@1n zj)Fuyj~?mI;gruIi+_IfyQQBa7wYr<^x7BHhTiq_pM3o0bbSo_=M!qF=RQG=rcV}s zE^^$z=HfqC>_1zMza^jBKAZXRqL1(9xR2{U9`fbSA7A!KHr1;27L6vM*}`& z8I|v(v|rVJg#~X^I^?q$*8fE9Y?6hxYW_$rd@eu<*?sckI6fzTqYP2eCsY%BiXL&s zb$zXVCC3@BS~gj3x9o$>Up2q8Mp{Q$_gP=Jer5g1Ho%r-%dw5%INL(oVjP#!d+3q< zVTIW?noqIoXNLX1&UTvZavR>jzPS;1-e}t${B*r}4jpZmhyF9qwsXQi+cw#Dgg%Gb z1CJj_+Nu3RTtlWK`hwanTVQ1=gFT;G%)>P6kY9jQKwf?nR-MO43F!dEpnjS^WgUQb zpb7qgDP$yk3Vm7%Apf7pRxp7yP~QTi$Fc!K<4dO=ebmR@>D7i|WlCKnj&Z^jrcZ0G~*@Wo+7nB#3 zmpNS(5VLPnBh*OMP9ETr5L-V*ovOC08=yQ(C1>NV;vc$SM$Q{r{?4fQQZ zNlr*dF0N8*M!koLT8lPGYb6hI%Tc3YzxI^&wDvi-Qu{(FP_I=A)$1V99|^gCfSaXuNU< zEE|#B4CN&)MR`SYD}Td2ol)3j`c-bW@*gcu`AREPzSWAk1KJ(RecVQMn)Ho2U3*6D(4JLiXb04p*tatsJD#o5K2SGm|5i^|FVPOE zmuWw%muf$8>#-+Rt$q)G3O|Hjf&H9^@++0~$O0OM3OIk^8?c{q6S9F;BNu1{_|8Zv z8Tmk`YJ=c~8_kc=$Ma*6N%SQ@j$eorF!~SQ%C{j~ zXcKtX8KC0R_%p%1uH@T6$+z=s^$+xa@;mguBhvmA<7Modd_)_9y^<~3c%@FgTloic ziWF_GI!Aj^ovXd1&eL92=WDO13$(xSXDLI~dz5;0uQE%06gfy+m0LAI`L8w*nJu5F zE^VH1p>#lc7JEIPs=lh+ripw9KSPzZkxH?8y)qN~XbsfXDZ|u3by3);%eqxKUDza?p-1Vl#%;#! z`aAl2;G0{8vxKvSbM!Cu{|M&_=TWbsa6b2t{GA*veJ*_}eJ1@2y!Aqc2`*jzhR{z0ymYYd-}W@O02)A);rgfg zXY#L*G3}5tzcB7JGL0-Fo63ZcNU2mg+K7<{%WX!w{x3r@oJKK~FO3qTluruEjQNJ& zs5OQd^@`PKFd892j$kt6cw?fJV6^rxNlHz|B{Zf~{|9u|Z|JwU3wuG?qF%1t$-M}B)_2@XG#{0FS&ijhLG0zRnJ81QxjsI z7U^3M(fB6x;lCrM@g3My-s3(%#hZU3p7A5@pf;8J1ir$5A)@hf#4~=u{fGOC`&#-) z->gkTOw@K^w{VN82f=rKo3KyVg{Z!p5Yu;^aF=ksaF1}KaIaV>mWxGVg;*?BiUY+e zu|ymsmWtJ4nOGy-D%`FQ9_hb?t5h}YRex|wnCTxnfpcGhf4ClqGI{osJwhsEmf8w!nBh+ zrk)CwiYEdp$4k)n6&BrVs5g)Z#8*a<81)@QSUO0Y{vzxEwEB0F)=pBi_38oQ(!L}f z?PKIq`e^hdY)q)~O{0QIp8Br(9?93AB{|x~h*L||@=#0OsX0)^{3Y!_Bo)zq&8S0P zfQsuQkjFa`*~_Dl$vYYu%wxo1;#fT%(#8?g7!MFPBFElFT;Mpw5RXS>-~^f@jM%`5 zQk(IlsY6JUr75U4{~4;y|4XgXHgP|aXw;nlTzEwIHzFv%Kz7}?s5}3q@VM|FRG$9| z@swYq_WU=fJpZlmwD27wEB}i)!0!-S`MtUgQI7|N9}!!52$7XPA>Z+5RHgq#co9*L zFCpgfW#KpF3&gq|5MDv-5gLYYP_zgii&o(i z(I$K8=%+>%G~>dzaG zX^GM?VT$&aFjbhQbqejmbfH5h!VF!|9neA63#SPisMg3=8|Q>;rp6lRkrya4)Q6S% z>f_1+^$BI6`lPZ#eO_6mzM%X?eNkDhzJ#pHFO)Uv%gPn%zmzN0&z0@!zm*;87s^ic zOXVi@8|8LQQubIi}UCoHk5Vv{9<6jaD^njH+v6)pTuS*n9wME;hPSUPYTeYjzHtiaI zf%dApSbI%fqP?yz)!tB-X>Y2_wSTCmXz!>iwD;7N+WYEXw129rwGY)b+DGa-?Gtsq z_NjWd_MLi#_KSL@c39o6{i?;vY1%>Uzs6AQN~KJ_Q7Kn%QYzHlN~LYdOD?o!TG-&f94KTytB|EXM{eyCiiexzKa9#k$?KUTJ> zpD1r@KIQMQZw}C=tMOWgnxM^46SbLYk~T|qYO~d3Z4UAVf6~9!f7ZXzf6>3y59{CQ zzpAse=aKpM0Jij8cnndkEA>LRr(5jHT($&QO)2J)HL`QH4Q#Rto#aO z9IQg#!AkfS^57{efWItXKTAJXKU+Uv->RRdpQB%(p0DrFuhFm4uhVzx*Xmd6yWnqd z!NcW&pUVwDmshXQ%k{DP7=4;PRbQ{KL-xX7^h@+@`VIQ^dW}9r_v=IT!FruutJlN- zF-2)prYWt;RAsW#u6O9O^_luyeTF_qpQX=(2jp2)V)!fSF&scWhUfI%`mOpN{dWCk z{Wkp;{SJ6Jvh_?oSI^LM^ejD3AEa054SKacOs~`%m5Is(cmc;LEz&TlNh+5HN%i^y zeY!qhZ`T*12E_HK_VBp!q*NnSOM~@|`UYr$YxL9fQ&H97b5wWuOd5iCuv-0c{WAR` z{X&*=ajAYWvNtY57RLo@r8HEkldAN)^qcfM^&9oOQT3rv_rc4TCRIumQnNHd8YvBz zMoFWkG16FRoHSmVAQedkQlT_m>LA0VVj6Fye<=M|`T@4*YT}m$BIbTDsg+8|BzQ7L zNi)PvROXU?lzt+m(joCZT{8W<)MLzDD}JXP(K+4FV}z@F?6}(m$kkr4OWkN^kN@jBVsa@-le|{*X7|5qXvTjl4!) zC(pxAGMfCAJR_!(hs88$u9!_;AYYSjq=Q*5Colqj51H4gt_o9xX^jXeu7Cdg|8EVKW4fuTY=9aargtj>m`euvP3Vm}wbWLcQz=gR?M{a{}Vluam%px<$Z1^=EAlP|^ zOCrw%qcWC4M}8Kw_Z;^LIe=)ti}Xb3w9CcQp=0kSf8|$`M=%*Q(hpfU(46zsNU9sM zs6UE#6bBz9FKAz=rz47PK8*{cvk6Qb4ewg5xCxr}M(Ep{pk*`dT6vyo){+AnHr1&o z!}D-AqYE&`x_yeaioD0uvLpdmT*MmiMR+i z^8&|r;1LP64LUeYlUq1hp4o_PhLsjhQD!MkgKO;en2a=UR+2~8oY~Peq_`-VkBza3 z5yYFGRwI@SO!Indyw{T+J+OukeuoM1EJ}?H+$Q{Z)K)7jIJ#Y2pEo$IenwT<=&CGV zs-t6tuO!=-S?u-Z*dlGt&h(@r`dCqtvoJL_HnmVZ@At{|5)EjDk@sh23*H0Yh=a@b z=ZNrykOm1WgeM$7ofE~GjRLkinnjv8&Ji0E6=5?p+zde_CYuO(B;7_7fp|S>>4ICZ zK_De=;o7~{B%3wKdXI3+>)sq=ap!G|)jZFed(NtYjJU#JK*m8$eTdY1MkJ9 zG5axp>`>qqXjrr_1ze-Q9(|GWVENY|Vhar_`Xun2FrAa6nT@gtL-j0d5u%V*jvzJ; z-OI{wyHb*!i38$dqO1n(q}HR8HrmaSfu&_VdP}@EAvVTQTtw$3PPn?O@9(;2mCan( zG*sz5gz|wgX~|J(p6CG)2BO!(hjjE|hjUzQ*_^EIk^Mf|Nb+VllD$aHi!@>W4J?00 zF-{2{l~Mj?LR1BK2Y3Sm+ck_+5;&<{CqV?8*@#$Bu~jCbI7@7jWjsAV9uVhq!roO@- z6bpF||9J7_w9do)-GODV1?Ig&W(VF)bW3~w0c+e1SSxR!zZOL3WO76OwJriJ2A)&e zXVRe%+C3HB!@SVmw_=KBNlkGMtCesWX^zaeOlzz)CX%8K_C2Dr;sdx#2IlczcRave zO4mn;xny`n#KOTBcK*rcxz&lu{y7bSAO3OPg`3W~=%q6TB@doaN3w=(J+QI!qc>9r zjmgb#E=dZsiejLB_L5UNUN4<}QCsn}u|wkOj!nJh6hC@RxRJ-cN1X42pgr~eA<aSnTgB5~M2NufY4N+Gi7 z^`xd@3{j=2#YK)dg<@A8F50l}lQE_mzO06bXFBW)TLZ`T-4HnT;EefC5P8>iKetR) z;~f#Mw4x!CDrVfU%3r_w`l)4Y&2?_wK_=Q)E?Kqo0ExWeCK7RA$@~c$EK&CO;i%ZgoTYf);)M9hxn?dL_gAd`n;X+5Hs2GIjqTR6eKzR1$%M@==tWs6;AYN!dRZR-N1(*wl%hv}dX=?(gtvBb zX=Z~rPL8v|gW+y$&e`_GjV*r+U5ms1#;j9}d`I&@Pib0=VT_E6h>vo{8=I_ao+12> z6M~!-OW^5RkYEYIT8QUT{7D!s!xXkg5p==9McCxdaHopefNT=O15H5Oi$q71#IPOz z*YMKK3!e)7cys4_eEQAA_SC|_H-p#QwlMGoiC=izn!)^Ay8^#FwNTo#Xn)|BU2C4$ zJnX1EY%?-yssBiN81IgRPj0Y(kV1GUhG0+apnzg4_M^iBq+~L*0Hf@LqZBbI!S0T7 zGg_fxGq6a##{#s2PS^?UVr;O#-jZTF|G~oBR{Q;{S-#3ejJKau#|81fv~TCW$SKu>g1i;#P!N0;o6cGVJt6 z(c-fS>lE#nJC@u-ehO|=h;cf`rB37b(A6M(I@xqvbYbw??7PBl$ z?P!^A!80$(fAl#B6OGICr-fi5Vd@wp&{eQCo`M500JMKH#Uryv3>JKH z=cj=m86+mW(|JDy1Z{_FQLSwY|gfk9yr zVqQ4V#e8o@PKMWnJOxBIWlQEMX-m%&x+z;}nH`|2CQ{SV-!8g0@X5Fh zjawgIb=tFMH+Y;xcE-{?6}rY|GrURnr(!m#Owuk(ydca3QR3(lL$7<`iyd>uex=!g zA3NIuKN1@cVdD46{MycQq&=ON@^FpOI6iEYhPDOxD@y&v23#F7C>Bu=&4Ks8G{+e4 z%ti@Z4TuRg8xtL6Vv5}!X`!eB{P1~$Z^K$C!DsvxiyfV9{4M0>?dJQpZ>K#Vw(X+j z?YEEoM7tqcuIuhp=sN1cYTDl(*i60+V)Hm+OYaYfdkZgwa~%7g ze*yg%z>RC(>lxGf09|#YA(5UT6M(niq93`HY_5QSlqLer68!_fkHC5PCG0zNJoHuD zgR!2tAi<~>$e&n0UK*?3uL8Fbw$ zLS%(*Btd&Y@*vLAX(o3MPAiHc7sr=neHn<)&U2RxAisQDkRKVC7hRM;F>r`jg~r%8 z@|!EZ^OmwWOSZRjN@4=nWaIq;ClGFl1gWaW^7L`3g^rRS{qouemJvCdc+#l=VE5Xo z3KWO`<1p2vMktn_{#Fh&r})$SDS=^v`0dM439)vS+-rB*Y{_-V7`Q0~}QlA<+{al33R#o~P@C-Y@`EjdE=)iCLz+MVAYc zw~#JjE|>6ILaPRMwE1ng6)`CGIJeJdl5Q$DQ^_j0cuK2LwXye*GA5lrvt(jnqUy9q zc-_s-o%UYCJ7dx%3#y`H7dfLXlc#40`;Q+frK8|C;IR)fjUY@8>cLtvvNFQtpm3%l zGHEDGR+hyDR3zFR`0?q53!f&o-AkXj@r=p&fp4h<0;$OFhlE5W5-J`2@Z7Rx&yk2- zyGX=y%ZjI+wfm`sYo6FLY}gi4BB8<(egyRK67=y)MCm(_p}o)_T^t9M-eKsJr(}4r z{Dg+)y{VXo6sVTMatN`rVFiFJ1zL)cV4PGRSj2;Rr9elJmYKKpbw`_DOV9A-XSo?U zVd^B5ntad@lW{uYNJzlK41uL)ljtz@p{z!zBK(-?r_wRz=dLYY-#|xQSuRYScM1c| zocl(NaE?h|`0UD!3_#1C9#>^`3`lXDOT;`XjLo~vzdYGRfw1zyA;NjH17Gi9pvuZv zkl`Yh*~GJ#0j#KCTvU9df;k*{><2Xsa~KVM`=jQ)$pD0&j={x2P@@P-KS<^W;4A&w z3u>UE4hp0=3Ir;*ENnD19Z_F=DL7osnFEc=1+-=<-rQfy)%Q{b| z65wl%TlcS7v;XYI#@dF&zL|dY%Gn;CssWXFGMF(|d#-I2#!nBcIt?<=T|H@^lL=mb9oHI zN$d#Y&n$|E^^KYu1b%ssmB}W5ky8vGA0+xua_{(ObZH`9-<~8 z>LUK|QNc*p+r^72dsCo{=Ee2=TU6086&^-rj$EDK{mN$RO@wCLd(|0*CTx*Wya#kA zmCBfICV?=(g5uEGW(r!D7(%!KRLHbj4Nc*6qIb`A8s-<{=$1r6CK51CzGcKIO{te$ zai=i#P<=|^b$e#UN=PD)T=v%4{_L@9MkM4!@xP?iO)XoxI^gQmOUY{qj?R~*J=IHh zPHj4K;h4CHOd6w^ckFwpOAjJ$y2f7xej&LC3dlfS0(0jC$Z8_=h()13gD3`#Bp`}a z6aD_0F01A5No1+HOZY$4lC z+7#Uan_C5ul;R{_kkVoA6+!NfyDEy5Pivri`G5x|P+r2x3M51d549DlB;cVaY&Mrd zsD!>r`Nc9u1MMgE*rMK#4LGUCj(c0eNj-Ml+o;j#Pmj%C+8Y`)SzZufGCv+FA$$Q) z+USozdcwH6+L}Q?hMcTSpVtfRyHDil-&7?08JsGadqqb?A10&h!RwdLO#f4eHtFhh z<049qGahXelM9Dr^oM-_74jK5@iNc@g@YDE71)rj&+O{ZEhCw=h>HDCB*n`DBLas4 zBamwN;*m1(#ScLj3G-L%LK_i5D?M~RYE4lUUXnr%3C4bLcLWy^R9H1Fk+KM;QJ`ts zd@TPpsR%reH$0CsdrRPgot;DZ$9IxdAL3<%yBM~F8oVo>OZB^{a!E;5w=e`w8*Q^F zGIm&umqNT1eP_~V9#z=vpvC+bqt;KzCD!p*e{}u@A6-43SaT*73s3qt~7B z!LGKpT_2o*|96ewI(;A;*pUOWIu8-e0yIqu8UR8FwTQ}RA>%(} z4!YiY-?OyWJu!XU)4LtIlK!Zjq(1KH+0KcZFjoSV--|fvo5{@WlHZjuZ$wJB`kp5Q z!AcFw&`fHEY}mIV+LIXB<%URO>ipo!GhW>`g28$eg}=1t=yj`}ziLjDk?2l~HJuPs zsEw+4db%?Gy0=aXO@KKu=n+S{d_qy2+n;PO{T`|lMFV_o8egI~%rezhX@z%c|L)S| zNU^lG^Wj6C55Eh)3GCS^HcOJ7j92qLRCSW}coL6Zls&J!d|tM&B92+Wpwn`y5BQeO zL0@-A!}|ekO%g#)d#G#ah^%+VF^!VGHI2HSf^UxwX_C<3X=fa9rDfC$r}_ee4+Rcb z5mBQAp8hG||HPZG{(|6JHQFFa=+kK0$;4Q@HS!m^ko8dbXX?QCoam#e(jIrx(Os_Q z%&g%qVMbgUI=-uB>}bC*BR-YE2^t0mKmHy_b1uI#G1>|*0y<8`;4UpQ!;|5ni#wB0 zg94Zb75p{grk!LK2S^7}dElocw;s4xH3IuBDe*_h$AMyENs2c}lWrq zK07`tz}cPrm;93v_RjC(g~+@CN)Qi`geq)Q5lN#?3t5qtz;439 zzS#j2FJrz-r~)UnQf3V6U7|nh1UFKp8+S8xZ;=R%+VFZ4(tW9EkCho0iV+SafM?+Q^y_%St+5y7#xq7tJhQ?oBfs>BGlNDXU#N zCMTh){oDut(mH<7=s|_a38@BoP)f`ych{DemGcX4tXgpCq|UXmuHoL2)M)Rp`Ss}| zht=dcg+cRXC3%w)qbR-sE`eKw?-*Q0aV`GwWe{K}Tn5L-3IYn{sDg#?s?-1jrw9Z1 z5@@+_Vgod&TGI+SB?ubW8bGU5m4Ry>-;|SzQRn*7B26>6=?ul7yG)09D9G67sPjXB z38PtYVUQp#j3$j37BfKY9}+nxxO$i%!=Tgo1|?VJ^RmRaxch*6C^Z)8Ez^+2Sf9k;BleX zqXh_9sc~^OTilem$>YY17+zoJuc@jm$jeA`B`3z)95zR0T4W@p16^}g;-j7^4;+Tc zAPm$C4!#2<2Yu}e)$?H{rSyXyS&Rek<*!(nbQJ3qmd5I3QqHa&9Y{L&FcacNCU8q!A%_ZKA#-gygCQd1J6 zMvooaI(lYFrnT{r8F{UBx`W0+=wUT10m5fPA|Z1|2)?TleT*cB+{RPv`- zkQg!wg{TXpH%48cdj>5X{oVrG1T!3&R;5q_P^l>&4YOWoc9@RRphdwDZO#FsEV5D( z24oN&(`;lfCZ}Z0Dyx{{_bgw~u&|(J`;4}W=akm0ym3~+s3B$XhU|>L=`hiYvoa^0 z-G1Bl+N!&2M-JQk=&B8`TrwuwQi zAGX0-8l75HUtBx0*5w`2URBjp&8=_zHrR&dH@?^4P3*)=T~7xaZGiq?uyt)&`pFQ$Fk z+1mETwk;|)?=k!yx`h`GlB+Z$qN3-1Hq&58;&^0lYIi$B#qs83O7M8psQGs z>IQ9_G2zTfxrbX?{mY9E%kJE=q|)*D%TF$e?+@TT5jxsuk8zaDy?px6`Qz(cM7X?s zSjD`HTRKk z*bBQ(lE6i$Mw$39WbW9y6xh%6;++x4BGXeo4Lt41h;>JhmV?eLTi|zFa&mbujQb?g>y*!iE{UN_ZQ!)DfpYi}A&^lUo0Z7c zMZhRxMO2oCS_T^5VIUk6<|P^xx1`Ymtl}VYnXYB?U3Dk*JOtk*jjS!bh12yp$2FCY zuJ}*f6nG!A{-Gg=etov%AAVdD7Gkw@ji%2gKm>z>q7i6aL8*YFh^d04R$>NZz=;&Hep4D23QFt6ANnU@PO7JY{+LprBTl}m^n&KC7cYoO zx=)Xe&|?b53>vnm$(NH;S#WaHEH*vb9$7SJ``p@2&9JG>xp~`> zVUmzAGdam$>rcvPC{4*}>KIslO0m1}4~Uw;r;p2Q*fO`KvVGm)xA%6wT~KORQ0sx= zW#Afymz(*=O|(i_4ZCeo63lK3Mn(!EKYuK55vLNvB2grzJc-_6>-P?d#{J!4Wo=N5 z3EiRgdJDay_m^6z3;2>+f|~c*(83^2!B!87z62To(IIa|fT%{u9V-0nh@!9o*XJ~X zA%=vnMk}#cj5f|du?I?0=@J^!-G)GPVG%em6W#i33e46N<9fG5VKTD+mTaL;*;+Z9 zZAqiq!4^;j^snDWDHtd8)2KzXiWchZPhE6A7?8&u_>TF_q?w_2Ot$r5ZqEsc zo-rT^5h0Qw{MNmA*LD#EXOe%&U}qRXuxAeFgChKapxT2-P@cte_0V^IhUyauOXC86 zL>i=26nIBW6V1sC3aCjmJ`u7D%v)5)VK$R)*ES6$>Gd^??xx8Jb`|Q3_S;~4PlraA znwsHZX5BoH=ulKJqytQ%>6h%5BJF%2YgR@1WWUE*I;vpg;)2853$3v=H!PZP!JM+1 zRX5IQSy#XxEzZiCxVdfehS6Ssm3ZCnMY*#YT8Eu=VB?Ad+s2mW@lIAj9%Dp)4~^X^ z!x#{|BcR#@#@+xOcqN; z%>M5SH>okj&z7HOw?}8dtee4dBf0`2m`kvXc>4fH2@R?%jxFYoF{lg%R7MtzT#`@D zzIaEWHD)m2az5a)@}@a0rxtwr>8}^_2a7X&V>Y%;UfY;5xJnpw?tJMbz`zd}WJo&@?@-50@yEahB)|uc*qp&NRmFL^F^W)c>b^15d#aNUsnh1)cV=_#n%m~@Ul%*8<*)e>miXo& zBO((bh?X?xu?hDS+AOhmWlg(cp>IfGQr7U96-~=Vq>E8S8@As!@3Jp$m{7Ozft6GD zY#6?E;f{(;qvCRGIRj$FXlMF>iT0X;Q^q(lsW$>J8iFhxzyWoD1Pub| z93swS2>S@6Rf!B?tpiW=WfM55I~jHi&|sj^a(G@3&I1;3OaI{Z?wnJjq9UzV&3E>hVI8Cnhn37^>A(R}~lKW_w&+NMZDY6r_KT zSy!r6znC)Uy7AH8A7cPuvIc3Ti^0r8147bMOAjZo#u9-HQKPzF+LPtQXpT(N0sfL(%F zDNJGgnKq|)XUVLK+8U}QVv9?*=hPR(6C=fm;+zq!7t9wEjzhKsVNG4opuz)1Nt~jS1Q1x3N!^UIH2QSdE9dp zt^HBMhSm(KDDye&_E>LvhKEIw_i5WTWd(C?y*=g~@v_DC9@b%TWS^$rw22x18GbiK zg2NO$D%L-9UjBrZ>6P)}R%2ny@kZect39J(21Ak{`V6HxRH#!&jtuHHCx`GyyAb#@ zj+?>XZ{kQicoC_M(%=yDqNKeU7i z6jT+fi_Ru2g|uJ(p|Ar(uhOWu@;HF@*`Yp~VLXH`I2XrFpEhYCuyfqlF{4L~9MKF< z7({Z9j}p}=C|Lax)oy#P{UlZ>oasH*WZ(3dt-+#6Q|8u^zL)F-bIIy~z~R6$IEKUA zJHeG$$q4y+Ta-!2i`dFku`)X!I`KkoI{Hw!FNoSmz>`o3;8kb{SD3bkh#+HvO}@cL zNIiU_IElDQm!XR6+n|xcja)x0PU`WT31weVxE4r+6wwTw$DFE|$xO^(_)2DY)#tr1 z&4ZSdab=|?AdEgXHJ?dP5AZ$(J2(dns%Bq zf^y37;FJPj7lfDmHfY^IBAJ|$s!vKZIAtn=B_-xPOeaG4m7q=24fH0hl;_U|xF`#R z+-QPJ7FcX8Xc%4B*}ZOL-oYiIXP9tcfC`2lp-V3xbP_9tz5pOL+dtuBep(?H$=XT> zdy@9&MEBEmMCWH9H?X)U)(gLh*W+^>KR;09LMx?*FNIL8H%v;Qe5j~(%3Oa>FG(1? z3THY%?at?pbAE(zC=-vhDVUd0Daug({JSVa`19|gI8(vK)n^Zb1T)lI6X$vi zkz!D_No#vThb>q3;2$;OuL8}6Pe<=fvrpz}lT`Z=8i^9)j6gRvHVmsBJgCYW8zj^A zKPCmhJ>`#(k7mC0LmwDQGP2wYCwtK2e&|Iv1%CcSc*=-~8NZn)y~(+_N`D!W{3uNj zX%af6r)>RVGD3O)QWDup2XI`Ri_u1h3fFm0!Wd2mvGUyZXQ{YXv+?Q8S(98UpXZse zd90T|?Qmdoa0Kr58&=n8`ldL|Q#YqB{;1NcZyuT-ABS$yv@XQH5X8Pvk1Sk$94HOQ z1q5qBpn3}H9(E{7GSed?BXms`IS)#dvAh6B3RXW0mI47_eG3<6`LF6H#9VYik~ez( z_>~PV)N~9}Z?zBy-Kmn+IQa>1 zO6Tt9y}%`zYsOJv*T2T~XnZq_8}4r?hfWHzsR12jnOSsZvqW2hoF2;Qsn8kJsX}}{ zBO_y2#<2RKbhrulkjiwL9%im&Uh4Ik^w4M=aXmpIT;xbAb|x1391dS$qO&;7L8du; z#i({dub}!#vCnbjU5ewq!6aFd%+e-F^eNg(ug|}~(?8q*k|3-;Vz7Fs8&<*VpRntX zbYBPW$wKb=YOLox;_t%OHDxoVey?i^W#JU*7;&8^Q(eE3tF*^v zrc((Bh|^pA>AA{n-L*=9OH#t1hJt?!>CgoV(tIN`FnnWh*-#|(VR z11yrc3V&%NjOHgt!n#&PUnHz23iQ1QOjAZ5C~x*jeh~9e#(igMgArczD%F%+6&13X zX?ct2y2Ll&4l3gIx{;bKs5+U2*$EdH7(=9P=Pp^-VxTZd^Sxp)zU=yOni`5!_p zn(?im=-Lgq$xiQ8y#ZIfVgKf-({0yY;PghF;%J&%n{0BjeqcAH^}-ng;}ZhlZfoL8 z$5)Ow$u@(S`bLu=87pE-4$suHP@-h3^>+S5CooO2elS!PFv*<}#kB zu)bJm`lhX!NNO1)?S`d`3sz|eR1MnA=)W+v&?qajvO?Df8=T8xi>^QpnbQctQ82K# z02Pf*!4tb$n3gv-nSY`Ie<^rL_p^-GgkEj(n!ewRg^&y`Gc9A<)G3qO5Uw+E!uTi`kr*`Sh`1dXgeaQ{`AkdN@Z)caW)!BNe8_#-Qj7HA!7u zI0-bWq3Qck(S`rRYk^xyfX`SiWGZSJI)rg!N;If5{tt-;3l$8K+Wt9o7nkl$ zNRFex@qKdbroiTtrpx`X@gS-0;+xNNCERBweYQm~hOVeV{@A=X3Uh(0R9)`6>bFsp z30(wH3Ch-k#XPT9~P7w71@`{>`06snu-R>yak0u=puBP1TlM=NJYj1u7KLhATZJlzn=Kn zLttbyF<23TCXV%|Bzi|~nCu;tqVWl7zM>RsfAZmxf7PvSE7tV0VvGoPX@;;E1~MuO z?_e@m14%IHN=z7C(Y5k2W{e50?wBA^30@b16s6BcLgb`4H2QGMu*v*`=0~fAXMvq4 znMX~^%a|F55)(=i`V}|&e;A&DK1j(Qyb^?jN*)bd0~DjWA+>CVPFnH^BO=Go+R4+7 z;7qDQg3nh>XYwRzMjumaQVV7;Ry5ezs=3GfwgSZcB5*=?Aq0SW#Hsx%0|JRG2?z*K z)sVRp#wo4^n-oxMr^QeN=Gg=eP{UJB*Zs_dNgpz?zRzbMFyoyF_U-8TSYI~>1?Fn5 zdQeqmg_joiaeMos0nD9t!f0J+=*QVFO+VTRV{rSiXHqBH(YyK!vF&Nsgr22c0(eg# zdH$#fVqiOTngAzTiwUeOL3z3a>b!S<|>t+P8TDcaBV*1VOkv3g41!{A` zdOqCSgm{97>FiZ>y_vacdcK}%OZ_$g-i~m8UPOd=sP{eHJ^eiybm~Ajo-jV>(rKt4 zg0gRHe(4(P)2S1h!;n)4F4U8q^L|%c#rkK@%O6kusVByRZX05ME3nJEdQyndgLjL~ z(g6es%y|GyQKk_(w3<*dqDH!wA7vo4!pNLPcy$n#MRSonU@!}5Y)NRn9e-0Bs*#!D z2hp{5ci;S_7ZPF=kDxYRg$h+6nA0F_ikSBx#qdn9FI{>OiA~M-^rU zTL=aL6qQOv^ z8)PI^9N0*CDV-)*I=x<&In+mBE}fBnqI8glj@fg^ien2h;!@1$_u-}IH*eh*n9i); zRLJZRzO%1HN^)!>Q9@H!XnQa^7Cy66S6USz*pygvVS> zx>kpcOqflKPF(1+5xU&tiVZi0#QP#dLi4bmF9{d(kqb+0Hfqp=W+1i3G6}3kuvlhU z=)BP~2`KAiKFOg>lxFBBY5^ic&jx5GYtev2Xr_0tfskN^#TWFQ%xvt{m0k@YRp`&R z0omMUgWQciwIMNMk%iVT@w))vF1v@-vGQtJ;Uw&#q1WrDSSs_2SDWCYL7`go+oP{>bW8cdjU(G$OMARen9A z+Nzga(K=*R0iO_`Q{x-a);1!wCO5wG;pDVf?3y6Q)nq2-d!l1~#bWl<9Nk_rc*Oda zd|7g)rZ_Ev9$z}GY3Qce)w#_xOB!c5V~1756&7UMvo2^Kv3^osVgmJp)d#K?enx(~ z1-mET+`N}oE{U!}wu^-ZwWnj%3_y4St89d;O0TQns`Pye+#@kki3N(fY6TmEU zK>uL5CtA}8@dLqosY;58rBAS!qdxD4Bw@8$Ypm57nO+)t!)nnmv4NFar;+eMi(Pj; zpBlcpyVL+C4pKVGM6>Al4+MS|5@$afZJ?%s3Dj=_WYhmHoUXRN40A3ZZe>>)~+Jv@VEtxlp@tJ}66Ch>tUgueux z+Nhh$GEXbS6+54Ob|=L<^o(31y$o$Ej!Q=dILbKFis7?aB?N{StVm2ulujci1-nE; zcLA2(7Fx3ISCWvBUFmjJWW~p4Rk+-h*$ENCr^M~w@@WoLTW?f?VeVxvU?Y5ltBu84fI zkU_MK&}2I1P=kycX32{?8s0^8`A$~ZqG{;JUmZPcb>gLAeRk6^{N5NW2~7tUW|jk= z-i%(agN7_{@qP#Orgg)P!A%IkZQWrLD!4i^aFy@@gF!m>YCq(+jU<{_39+mQ)!Rc6 z>X`=WR#1>ollpAb1ZUB(n#QOqVzq-#-eoKqvXX+l%#0LgOnPj(Icv0(Bk473?p~jzVw0`}tzIaCN~aZx19p7D zavRHps$SFCd4;PyJ3c;}qFYWvLQW;Q{cvu_jz!+alt?i#eeS%%Wn){;oRo8T@}%T^ zA1WUmH_g4LecREv@fXgm(DW@ambPUzMa30!FK*#4=v>u4PmA$TMSwrHFR+8HBkIE$ z=r7bYl%pUGSV=)GgbG`Xe};+#a9pYX8nXu_Tj_$U zVu;ClT*VgL2R*EMqOXtD2W&d_0QyVuHJVHFdxO2D)sA}g(d-{B4n>ad-@1^cQHW=j zMj&?Yw^O>ufd-4YjP4cs^Q@5h0T_@%T0k+Ff<>20u#hvp!Dh+K*kcybI+2o3PC238 zF1^~nHvTGJ6zUt`;N(yTxmVw4w&wpyzeGN8YCq;9YGkARLIw-J7BGw8lKqJh7F7{p zWuX|w0$n%`R5>n|mKTRugdGRHcC$7#iv6$kY&(2w@_C0v^}j!x<3L&Bn~^mAhp4Y>g2;rt<6Crg*XI2 zGBcp6NJ7vOk$?uwI3m+vfi%+4m!<_Ghs#00VQgBO+q7`g5+SG)O$*Q92zni4vq-G# zX1MFN7equRR@IHno3SBfKx4~{!iifZ=O1nvpH^F#^y~OBrPDG*K6gYiw$E8GskkZ6 zF>v;_X|%S&%vlMA!wcwt^V&=DI@w+i3+?44^tLK8WTA$WlxZ z1}Eg;+NOC3l=8C56%L3ESRnKpjJfNJwujtc&t~P)o+DzFD6rcFnUPXIvUOlsK?#gb z*pgD>i|ttw0z*Q}6fYsC)Ba|0&zK#u(fUuRh)JQ{WNIHZ6Va=3*wr2vVAG{a9~}<1 zY{%Tux}}f^VZOzff(q9%mWe^za)C8qbivZ|eck6zhu0t40Ak7dxD~{XF>bU7+ONB# zeQsZ7szS>ahM*E|3eSU*P5mdOO94s+D20PT7 zT#N0M6e^Y!RU%@DvYco zH3=w31p><7`>0-xxx%tOQGM&~J6M{dmX?v8lg{c}``A3t^47F+N^A_R{uk1%ke-xH zx-_XcR@j<6ST%and65w_%ExU!-_6e&Tu%qvczUVV=1tFvo_y7iVRY2nmX%pz<6Vw* z&%5^Rsp?2u>v>?$no)f1(EV#D44g^%F-dmijrylgrJ$&6j!KA7z!T`a$yZ|D3{=0X z=ic|*%8}Fx9Tl}~G7|?x(~eph!grZ>}6)nF4TauSO^zeA3JnVW$D12thChRr1&^Xj3p*25*rU0#IUhS zn{1~fhBVy?lD(^TnbJ5yvh3m0Ctb0$hF0Xd$HcrncanWw<+!>sDQC`~u^@z_bEi*U z)LniHa{Ic#yX7wUFLIQ6DBn)(R%0yOGcxAUhh8lYJRI>u<4=XbN_s=&EuCy8$>2 zCCn(lRarinr6m_4S=&1J`o&!d$?K52U4U40Bx|?OWbIL@wN=;CJnd&Uu0)=8Nq%6e zG?vlpAY8z&BRL;8_c)Mrt=yjF!+`Kq+3JD;8z3}53Z}jX=+}^d-S_x<6c{td*L!r; zSI-R%uJzRX!>q7a_t5V4kE-AD3>(_u(m=C~%)BMZjFayAd2L&qIxaO_5G`pZ8!s&3nuoeM~uR2%M?Anb0km zax+OkEyEkrUy{B(s5J!F5i>(%&hC+fte;HAN2dYd`@22ufWj_)WvQ=kyXu%&*%ZlEk`GyKNb!sS*_4#?#_h%q%vmV9Vr& z|Hs;Uz{gcy>BINlnL8tCr0KnBdevwojd~qPR=4FQ7rDy47jUH+Fb300fY2chV0w=Y zp@bUJ*mOdY-A(e#X7eYc5Fo4*u&%%7ymv;;GG)Idu`SKq^44?C`<&;TlhlhSJ=f%p zXERa5i5ntbQ88!PrqXX3bw&16HjX+sf-8uAQXbDV&Nw|sUE zF{0GvhRMe4{ z;kz@>2XcNcKwhfz`D3!HyLf#Ia+@tdLTW5Mh@BSr64qmU*(Yowi04Ej%M#wB5VpK3 za~aKw3$Twwq?)2MW>jKLSge6Ek{wgTeQ2I=XCbdB#2m`G&?emp)?@BQd6kbpgQD!m zwglcj-7}!Vkn@UK!YYnJww>{D1kTLLH;Gf=fkj)mqC&ptw1$1*ha#61!kz);A>CV1 zf&4sF+#c&FRx3k`DJ@s7WaSxK2!v-i>pXksnpG>1%4*&mIWn`Uf$etfm)`9F>slF1 zEXSFRrLG$DqX5rqK{2UGd9jdg<9{P1+|^EB`N&r{uKUW0l$9gaswYRxreYHMh`Ka%_q(N1pmgNvz z_csdX$m`yE!4N!lXVp|GN>r6jK~X}&Xe^%JF~k?DFW~vYDHpIX%tdr~OAN>#ELX^(Pc2l8S}ZeQnwXCP=_gXN?_o^GUp zn(kR3xlI2k+CGC{@KJCXZ|h}EEL?~kghhI$r_wG04?8bx(M_aoE7tJEXKdyde>Tbe zxg3rnMNIA&7s<~qn&#Q#dO!>3>Ss4P3wYr(pQ$KOmQay~-0*(Rvq=}{RS4U({wofj zyMNEF?OTzFZq4dd%aC4pqFT}aU#XSeo!}Q@j4?WcvUN@(F$^3qAV-Z|?iK=X>ZC34^m2+wnZGCMCTh(CQ zC5KP+UjCZ+@{IL+GmZ0F%M&S&zoNW)VDqd67cWkYn`;Bj>DJ10+mfz^dD%>DYr+ql z`^X(9D-^%n{PaN(Xjv?i@FvF0!6mX$xIKB`da#WND`h|(8yiRnqyZ87tdDGWE9&vi-eHhj-P>>|!=+l1?&&&Mu9P$GgeU3M!< zS0Z{t4$UN&mpGm*@(lC?{>Loi5Y>=)Zjy?TM8;qaiSXVI3-P%>CKyaiwN^qEu;XRbu9U`VwiELwy;AW zZFj_5y_@x=7d%W!VggFon7^ z(+w~)&2rNq+i}=gdEOi5L~)kXK6S*$r{v|+Xj7E+=rqRE`1DMd3Q6FCh~xY@^QX?^ zaeQVlegm&8N+CDg9KM(w%*AYWCVZ%tKg`VzBAP&lDde`HN?P6vO&-@=URd&0DHdrM z2eTJMqP$Bw_p+A!-5g34DzT%de+oADv=7O)f3f>DR1bqteDyFk2*9K9hG63SJU6o+ zg!OD&OKo*!n#y`n-RQipoS?_4Ue}4f^3R>!$-Z=@dd#;Eu?%O@UkpcUJAJs07a*hSzZB3_;da^r`ziPvUhXS@s#BR!)WhGM2NB&b7@ z+dQleiJzEY)5xcZ+edln2`O~Oy(0YVvxY>*F`$zmqng1ax+1F~ozxr^xG@18grgN& z2QlyX2DD<*OQ=DMC|GW|5G648WIPlo z^`N?-&1%jmt5&|1*4*jJYD{QPGayq2X|f)Bge{_JS#ql;joTCjcLr|UWVM&m=>;0d z_yyeGvbqI)39?cMe3b`0IP$@e6t4oe9hG@YKwafH!(z^00PhuLeBo1Ds7Jj*xQ&rS z0dW#Y4W4Ig%L1uk>`tgVK@=b*&iDwH)n)tv*_JPHF9i7-mU2ctOtXayTUd+Up?Nr@ z_aUOC16;@IbSe=eA}lnjB|v;f#;(W*N=(00r_2m-Yz&i>@MI-`gu)Z^^<<~Y1Znb& z$r-A1iaIyXuaI)+Y7;AR6i1fKXX2!h88h{FsEVAFkY`<17{IfkBh*Wnj@ZUG$x~vQ z#VfV#WtiSA;ORmi7#YuQ;-{n~@M%siQ*wvYe@~Jw+{DpPM7mpQ>Z054uv8<+&=QUwHV&C)1D2UnxnxY+r z#4yn;q-fZ6y=ri;Ny`+FIXJG867r=;)*>sVN%v5S!U=a|%RlR4$eA^)E{AfMY#LcT zS+i}J=K8vt@-j#QCJpoy#Bc^p^+o4Vtv-P%no45++|4e$e7bh~ys?*c-cFoV{)UmW zadWdpR%mY=C~ySK?Qn#TFlrMK0B|T|!<)6`Kc#Wua^wYeEH1$_ZJZ694!Fqe#CIG| z^PFRz)z%ple?w+xL))zzhHzdzv4|L#MD0t>%g%1tm?wxeR0)41ow5_Q>3p=Wg1bg; z6Uve(;k-t{XR1buvxBn74|}5dp3;A)cS-tuCr;v->20l%vA`4rpYL6(x%@@o8EGVRd4F;g++G5_thbX%&>Ht zNB^T@S$X-g3L#{6VjyvZQ)K{{q=@MnwHHjNO(+MdFsduQE^GEv@o#$)wFv`J1yVet zJfQ+L@8LnV+Qwhc3KY_>a)m-wMtc6uK*@83I#H!7e4#l0E$M}CyCSL^H3pT&p?z2t zbZm2mRri+ zvZXo|)+j0^!t{|juULg>sg<(?f^tzwmJ?~p$Yqq?(Vu97q32$aR{hH3FZi`ar!F*V zepnF3V)*0_P8WZt;+Wew`WIKN+g;}pOqf8{|7!Tmm*U+zE}RV@c$F2D7IN?kT`^v< z&@5LhM4?8Y0{N1Kils)KR_R9%d~1UtZ4s_`2{yu9MZ2(F zd>$N>8m=wdoUd8vga}sjoK}Mn3^{zh44aUt_|2-mV9*{7qX^%W%7bIf?MbBvg^8sH z`B$4}ri|fWq{$;aUVqtO!;&`te7i$aY%eRX@h4_fx&lMjZcV2GWdX0nlMT_uD@j1qe0$K(# z2K>nUGKfFf{k&Px_hl(h{8#$+FHENw?(ge6XHiAPqI3E>+uJ+4+uOzG%I5Cr>)$uO ztZe?i{=PkP%OuN!;o+g7;o$|;mSu`Q;m0D?(zS5$Yy>nrf!_(aO%8NnC4|>%3XrFA z+S(G(&(#=uvOIv(QK~Hw%R9{n5o(>}O&R_tWui){DlFsoTw!*o9N%|{4)c|NzDHSo z3AUccdhpL?-N1m>A}ptMBya)6HT);yQ<&pQt|Qy_Idhzw+b)^KK#tt3qR$kxhS@Z$ zCl#2SJk1aw3LG@95;x0y9M|`D;-t4K)h8bx)ptfa4Z}*s?^RTBpSupJ zgv>^tU8^yJw4KuA8lUT)t4(+P3EP zeTk6UZYmKzA$b7-lPhvGRQ&2W_7rGeS5>2zC=7m>!u82T*k&Y3h2CbO5F(vXRtJZ&w(7l z3tI>;!XPV^T?}o=3Vj4#vU(D6qgw4qPN|?UZ9NJ8LKTSC1w4S6k#oGqwC5xe`=C{;~p-&mK(`6gHMS z!d{ooT9|P*wKTcvSNA8wGgh_KA|_a8SN>M(wd)g!4YlcFU9mj;p`Oh>)hl}w{SF5gs4qTHp0d_@_Lj_k1G(&;t5e4y;DO&^xGFa#!$Y4^4JA{c)DB5TN zVIEvr4}A@rnvUP6e?R;zf*HF^+(asc^|>pqPm<<24j16JmxXkd%g8@tIa-> zDjq0J8_tzB@OP+1qp8Q18mRR^OM~0!7ye6#icdo3IJw#UX1SSm0;+t_V_k6s;k6kA zK?JK2_1OSP>Cg@OzTgbs6KCPf_n-MzI05CCC&uIT(2B)~*;T7C?V`w3S(ZkOg@yI7 zaBON$`Pdy45s2ZW`+%pN`7UbYmwC^ZeFd=)JT5E)*KF79!I|~7=~OJ@u<3O&*HWW~ z%9udVHC31M0Twj~vOz8Qy-+2&U_$okn9D04OPG%+B(|V7==BEi=f=`Zo6n}UM7)jV z59!Q)WuS3R%4RC5=o{**2+mlOZCl#pi39+vgcB8k=DF#P8s!_MPFHEE%i)vW&=rdc zqp`@SEhrU&9a@7}ptr`_Qg($}qeIxVtG+taRqMA!s+@r`ZE@J+s4-Z3D`M?sb_cEh zUd7Eq8Zzkgm^LQS*;#-j4$o&%x|zkaVI7mXJb`R4Q`0|owWX4sDf^?PUR%`k*kj@a zHfL#Ve^PpipY035RJxYLG-O8u_ME7?8LQaF^$tAg$D~@Zl^CUO1`8I$THtWp#nzhg z1*^=2FTm8}xbZ+T$PUOmLtQR#P~KBs;loE?)_ahWE9BDaT_L3A^616Gl9vDQAxp@u z*Sqmin7#_*ZHT*hSNJ^`@HfMriE^us=K@*e_IbxNUM>n}27<{1fwi-T+IfZx*!bZB zRD&50(y@e9YAYH%k-<(uI#ZkfktsD$XAYQDyvAg-7K`7~yC-(WO`UN@yK1~jafPNt z)H=-kA5ZU@Jjbgr$8L&SL`gp-LO-BcpkGF?DKXEY*v9gDVqhcCDq$Z}gv=%?heZTw z#qwjcp*AKG_oMMPVbxuxQgJ?%Md@RY*>omxNbNS?eV)PZ(kX5(F+8PJ|3UafT2@ee zm9FGisYx5itu^i+XvbJw8(z((8GkDf52(mZ<3Ao%T{o(dbvo9kVm9Q&K^9FiEJ6Q+PE6exfd#g?dCj@ZgVK}e&Mf0?N1GH=oL8+W!U z-C}SpuUtOzXsajmm?vQJ>mJ+cEfBZ3qZQF~Y||=Qy)!~S`o|yCl}J|zhEl}7^wGW% zA4dh#@0@y1aWhx=6vscOxcSM7BwI^NKh8wEDP{oCKw~y>7h5+hwxOFp-8^OjhPliU zkStpq6C(onrsj3Mu~_fA=H_*Mu~^@_=F0N&%Bu2m@$qoa+P3Vvo=Bu;UAAp)Pgq(r zqpz>Cv#)Okt!=JX_(14`jY{_1MFUTkVb6Ubt~FhVWXw>7#Pfnx%{bSP(6IB!8fhmk zHO;Pk0j(r<6|)8>Tm&{Xv5luS3a7BCX}RHO{Bhn?F}ZZUm{DIkyCG*4l9}?@R=rg@ z(I~W-*9OYM-Rqc9Xf?bp9MkI1?gkb9V%TUE%??rH6;0aWjyYtc;fS?ibl_KRf8Iv( zISim%%d(yS8v1VKR>&RFU<2`pi-)O#UbEkjvyFbs^>_kznDqfC6B5BnCCP^z10w$g zMJff%0WxcHdrb}NW_)*9ZGUvM#Y}EZvC>-T)0Bow9^2qFiQ-VQs;J-}Kjr~%?wPu@YV7r6w$T?y9;*^|UTw`=rMk_=+a*$NF(3c8E%R&Yww$KP7 zlYBPg1S4;?@pmGS0y@fs!eT8oK~KYiI#*pLrHiS}2A$RJv-|DA+Lqd&vt~|h;~I|` zGa*%l&tNu~1GULmXQiviXw!Crod$Ed*l5z5!!4D;*0eiL*~`(VQuOI-szykF+H8hw zO1G7uM65M*iu`6{dyZuIgk*c~0?*M@QfHxIDqq+P)+|M|!d}XwdOz z)4O@d%naT=6`x}pM}8ylIfFq7?Z_*F6xCNsMbKJ#(mWX<^Mkv-f4$ME%odcW)VhKW zg~LEE6Odcvtw7f2%Lad-)#E*8=!{{!C&l@*-iWmTo#J~~tYI5Fpkh@g{AJC0wsi9^ zLDeNfh;Wou;sA5h$ED!$cZI=k4!8&4H#zN)bmud|(C>-3Za8Ci?>pN7G)iD{pJ!C_(w zaX>~O*J+beE4{CA*bc7$@$Dw7*rzHI#bQ;j=+I+^_Bl+ymH09;{ALQ)`1zkXzxP{dX|evh?;u=y zWwi7Zcc@;}IOc1D~(Q9}QQ?o+3|_ z3E`588Pbd9ko%dR6q)TFv${+Ay|IATX$=K1p6FS1%Ik$cVIK6HD{BX#45j_>K!Mu{ zCB7OsLsG9OwB?rGgv|89pQa|EpOR{xo}IzieXRE3*`_Q-aS1!{Xm0%(pZW1Kx}JtYDs0+K1#Yc)RC|Z%ty)}cNb1x+>90sEVcjDZV^fH`Z3S2dM&(|i6nwZ6d2NDRNNaN~kF{A`#Fg+R zxwT2*lQJyH|Bt(bPKhNk-{MyB$ByE{(x&CT9zDN=hG3rZKH(?g5y%kO_;3ONGU5b+ zVr3rZY6Tu_2lA%_`l(cKF5V^6Giz%yxkD4#$H5$Jp8wPv_-bkGKq}N)n>Ks=x0Tip zl!e-A%f;FLWc||iATp%{6Zj#7AJ}+hkTdfWs2HZ}@P36AwxZAjN(}ln1S5&CH&!>3 zY+sI_$#ZU}L5IGU@}*Q9lP8pLye){|&NoIVvHC4Vx43F%Rb>WRGcKFYTy&e8ew*1` zt-9Cf^6RUX_9T2^pV1xAS1#{K;zzQ1o0XRde-NpzXOv^R1Op{kF5qB1#~5{UYGQ=b zvO~`~E!Fc)NcHS-%f$y!SRicu+zifWOF2xh57kAiEuO3s2Wm8Ch|bk)=0UXj!Yyh< z(F3H?mD3oAPUE-<;na!aJSH5h*l;7E$ty6wWctOM>A-RU; zU=`8l@Op53Kk{5*6Pe)dSSKtTeOO#}H@j!8Dj>Y5dh+w`St~3aeNgq}wd|hN$}5C# zLB3c>AA?IwvSk@{9Xl4`ZTjLOmB?9m3tI+s>dEA?GqLr+U%zlykM}W+rz#q)@@O9O z_Uu+(ks93C=&kS@js6O610CwO_oG=7A#yk=Nhh;|@rtv=H zdYSS*c`NYO51hL&{gM`GY-hK=lwNqQs>t8Dq1#*TGqgA3fF)xE+*8W6!cOs1cD`FF z*As#$k`qy2t@G@qwA2NDCeSwmu8e5Rn12M`@)ENGiyIQZ)a-y7iq#PfrkEgVpc;S&@d|z?{5g~E0>#4u6j7xQ{{G7^&}HB zs$8zB8Hs3BRa9;QR?t(*EeeZzgtZ|~nNDzuQi?l(O(;p3v7{bT$I|EX#eK0bwTn`E zeAdwLV`}uwgT(*lgfXvRt1(_44~^GAwZ~IEkYbIks1O8bUj08v^D4Nv#9t`p70hOB zPJZz=Cw=iR)@G4eS5Vq-`D(f&D0c1h)%L_9-8H`L$wVZbjwF(TU3$wLbU*V7Q|GG7 zVjUGuXGKRW+FtH-mbXX4>2x?&Ud|u+sj=X7S<4IDSC!W)&SG|lg$rfxW6iRGE z7(_^!%N1FQ%qX-=Mu>_M42_MRKlhU&BbdLVkGR(z(8goDbkZ2~?0%}yU~!wrY!hap zl$f+?w#F`njq(6=KN2f(W!X4;8%aI+wRyS6-fb$PBEMtrW*UzSAb)N=Umwy$Ge5#x$>yMrLbk1i%nz|7 zCsRN|Aw4zojaWIB2B?9u|1{v4|56nTQFR@jNwSg&ZxWcGN|5ND{=reC(kb=S#_jfa zt)~<@pHyG-*3fS?-qJeyw@z;Fe@k}?Te%=&4))67pBfvfOAW*@JE!M=gFeMMol2J( zK`Z4IYuK5bPK`Sl>y#ph4ERQ|W6~FBFMUR`2l5acANd9d7;C^BCC4@baPw&z5YJqd zlP=M^4FB3RHQSr7Y_Seh2Wlf`jb@fj=P-I48f2K{xt~i92uqQ5&cPwi4DcYh^5IGZ z(O(`Y;*_MqGzB7(wv2H_Y-6kt!D|%dQZz$@7mbrZUeL3OGfmqP#p5JhypOj@=L?0W zj>3kj8+bB=&KJwe8edT+5{iVTS0mm{UIVZ?z@eRJV2M=>uFn}*zjFgbbz8MD-=eA| zu&;cX{)}7CC+J-v<#j@t_%I|uZcPz4U^Uk#t4TfxukpX$-gbxbI-U%4o;w1_s1iC) zB>NGc2n#Xv3BtybIM5jM3KcABBEb8Vm7@ow4;9xd-}#gd=8(e1nX5D}c zV3EtWedwiq`(C=F8=3ylNSw<)!Z_{4I2q_1fMR6%QNo9hZ2Hr3JJ{N~g8-~2|{@<)0itr>AG-lwMiV3rvZCBcw+>JCJ}#}X8GQ+x^$va=eA1!<14cz`$~nYKYi9? z=3kO3ON`1s@qbusgHNN2)0&n;s}C%R0}y(p{l>K!fr4)4R(WFU!(%% zxRu58Mp=eFI*+qHDAkr=O*y`41wAIC`1$g$ZfM9yH9-}{*9Fc&fyY+*2^3sqpv zksnBn8ATfj__i2e{o3$5dSj@r&8U)txBu}L>BC$8aNFQFlIh@_gDZLM$R%@wX}oLn zUl;x8tBcjr{ru8`#b5o=g@U>|BF!JVWND2`vHRrJs_LbeEZ`rDfa!$xfhYr9<~U+; zFuqO|Jl6Fg&^N%4fKQ0r+Eu*(xyi3W5)(@fcQtX1$zUQ8RI41xFuC7ZyC&>%w3H$a z&~O_YWFB%rDeDtjII5zG#OPnU&RJUBbIy?^OOEXCsa|?c*XUmp6@N^xt{A>)bJMn0 zc*R%0$}3*p-n99q;fhu1|GXlc<|~R99DH!)j{CRP)^5Fj$I1r}E-03MoDN@6sP>(G z`wN?{|LEzpYoGq;`b{s~w#%n3L_;ArDNoZA$e&^6+PJUD$uRU)SUh!*44lu3Lp*`~ z^pQC6qnu8KI}|8C(v>M|z@Npc6L3}(1V}yD@03{M3>TEk3;`Rdw7*~ z7K^3L(i)0EgoX-8fR+PW92b;zISq{P$jM}rIzW3cz?io{VbLb)XGANObj5?sgJsE? zO|b(0X-ljz6zOTH)CcA+98N6y>h`wo^B!Ei>XwX7m%gQ1D4?o&!Vg`Uh%L78@{vX7 z4g`GNI|iknuhx6*T64TLnQo68yDxch?*(t&FuSjzBQ^TBij~Pwb%5}ibENx~RpK$^ zv}@qDXSJX$;t<2}b*WEK(J3mCI#4yM3*RLgP-)Jj8;-x*%g(YZG3OZBa&Z1q*o ztMja0P&2c_cA|F2!@IZLxi-CiP1m;mXm;Px_4kaN;0@L3vVrvt{VQtBubNYRHJjJO z7G1Tr;Qa4g-QTwUVCUw0BBt(@`#KkY?VR2b31Q!)FIQlVwTjPzGe{${EUWQ)2wBFE z5J8x7YJm&_!A9h$9K8r3qqvjhtDzI$XMDdM;d0N$%HuXU|C<*eD?kx!HY6N^0Arn3 zhx0uq_n;A5jAam0@w1iT?Be>SRb7$9%~OuKt*2q#oZ2G(SMBS&!*i~DVaxf) z_BJfI^=AiGT{<_oT3EmDfsN^kq1`jO*42ydZ#bGe2cj)K)n`3(VQ*pkx=Uy7e&JBh z$dmuP^$kAt)~1HVTdNmej-K#{dw5DYSE+%;3aj2#AOc>8eUj@n1+EA+)a5i2AVDq= zj#@=BceD!fyOxWXO?d)&BeM39nXjDdShVBdj1&4;Ra5u8bfm~t5ngl4_FhZ0qb8;; zh=GNB*5BX%@AXnY|Bc~e58kk~b&1LE(5`=8`q$Tb?*96b{xTmHVcV&XlwR>k*yuC3 zmTcn;c#mp|FgGONCQnHMUfA56loK-6-dbMfaoMbd3aFq2!?|(CUZjo3jMdXp%`j32 z(S`D7+`DseZRds0?cVd;MKkVy zIMHA0OD(->Wn^USn)qYU{>`1eI~I3&O-&1T&1~H^uR_`BGwaRzsK;Af+tR;$|E()G zK5kjd4%`r?J# z|Lr^9UT@Ud+}eG#kBrzyRhY8?aT^MV+u#C^KhJF-D;84&CpYoT(n24V+Kz_8JivN(4 z9ST41%;x0VBFHzg!{W4yVBo^i#R+l+lV=p|fg?d)bc=m9E2_6~{!(k)7S~ub7K0A= z7KIAQ@RbEv9mbd?i{h)iywPG7n75mkr5D6jY{p1S^UBVcl2^q$mp3AndR)a9?~+p= z?%MU@Wqo~@y(nCJ;MlIZx?RT(Jh<5N&U!Duub zGE!VPZzj72s~c+vYlI9Nx&2rxG}aITwEI1{P8Qa=1x5CdV7T|$l4yNTS#z84&q!jn zAhaL+&ZQgg+EneY>YX=`S<(?1Sw(~n#kIe=bxvyGd9$AVph9_5-wb8riq25ew^x-` zxEj2VNbh}nbL+1A);&>Ev)Y&ObZ(#f#GXS_W4(}^ckbNg^#h4_evS3C>(s|W zGx+QV&JAOQP*$0e2*X4WV1|T)?8s=Me8!2mli@YpWXal(I+AnuQR7!9<#H?CYx2 zzNSPfV_%wU!Q(AA6{cjkC;bN!ldA=vLe@S{k(#E;WILt55bfp0sDu zm@CSK_&nw=#vPZ@VsKKFfPhrU?k12FXDpSmPmm2Pj|ByZ3WX`okADWso8&po1?(>- zI&ui~)Jw}JTw0#LH0vLGAOp^lxr=Dba@UYOi(g}06ojitBuw_~_#iT52WLnRkCS&k zyEbB+Sek9+^Okr+C^6VxRZ@H9;^q~hBK3LI4JQ^aoO4#-M7I7B7^OC?y>ez|XsNF> zxitFsnkwacqhDXXbMYMElF`(REXJw;W;Q5aoQ?bmIwtp-1CSZu^0CFn!DpmY!3(IO z+z~-`K4HN&vb~}5EZ=|a;BC2RAFZvhtg9xb7vnHA4oZKMKK^8r96wXGAkqKW@#8~L z;sSL--&8^0bR#ZIQ;#z>-xCT7!i<3@sZ5ZGb{sFjv4Q3-#B@OYxaiOT@QquS`;ts# z_8ly}Y*BYtN7f&yX2ubgAXE??2xN6iKb=Wg<;qfEcu8Re4X&VZdE?3%;e+R_y$x(p zH|+b_&2ux>^3=r`|dg3#$V!A70Fb7K=8f*KSD^?~}E}7#A?VejUtG&jONiIQ$vKWtYj7K|H zkxfNONA#GCq<=xwfht*swZ~Qve8{-CwH|5Pxpux?cDsCj|6~z0VNir{+tNn2uPfI% z=w!KbA?lp9dU5;Qg`MX;zU3{0D_~rgUC~;4$^Lc1S3kFBWviFZbA_+iyy7dXGwW$c zyfwYajVoWl3g@{Qr%ouJRY+VN_u#Qgf*^9D52##Dz_Mb2jJKQuyMzf^Y&WVHedcQb z7Ug8*nXh5z$^euXj;kyR0MdNRG%q88rU{!PR$Dk4C{Q7OgcKDPk1{Xg<)9J2N{|gX zI;;Z=2{O^cx*rqtBn)>lTZR#rJpK{QjdGwWUr2G|)E4 zwF;#PNM@8vBd;NLYZ&{1VGaT%CS^wjrhp-=l*+WS&lHQt0^;NYAUpQu9m0968YjNB zsa;69nhgY67gVQ*T0D~c$S0bZkkSJitBA%X3^OUF@as^-<9pEyGKCPDLv{7xu>$aG{ zB7vt~%}_IyMbDga&>~C}%C>^6SJ+4kS3Q2`=*8!0ODp_>OJnvJf7#aCbLfR#XTNY+ z|J+-Db%mnq;YX!cjy_nkakxYO!XAyoQd0NOuAMJlF|+5=m-nCd`e7o%ab)w}2Ai>( z181fhr*Y(Sax$A2R1!2(9#g)rsv;Orko=RWg?Xr9s_`qz`ps%nEY=`6Dpb{#XHE}Pxog{_3P8%~{2+>gEFA`cXPXZ8sbmjpiLt(2f89F(V@ zp-q!a6$23N+KgXue_34mLv7nKvRc~Lb_S%k;|WE(;;v-b=wBvSFG65bX@&gm9ms_R zERlO37S^u0a;Uvf zC^QreE-7Dp;hYB)uRh(scYayV@Y0LtM`s;=cJoDVT|b+bUg5LC;8m~fS^Bk0Hw4yb zeQujFb#&+8fhASgDiHYX=+F0|59sWW=2pu_U=VOERq`f?kq!@(>7GsxlsOamW>l&T z1P^`IRY=dvt^$!ZT@Jt(a4!MAFwVo%0=_IOZSGiS$SBU4d+~5OJ$&)pcjsP2KU_5T z-9x{=bJ3zZe|?C4Sh$dWcz~xba6tvnSI9r5dBqlf;ELDwpY!^a1FZA>z?H9`v;Va# z26+A^tmjjbbdTaaWG}AcuE`cw#w^83#Nb0eka6pRFB_Nx)wL%Znd0JV7?}^K2t+^C z%Pgf!crZdIUV`aQ=fD$;%J>zz{lTOVMCSNakp2jTKpSe4;Ycz}z!{Dzd3!b=vCAta z8M7el*5MC=cY%>-6z>%x4x(b=K-P7GQd{td+V6RqA3UOU2h05tK_83OEgNXE-JmQf z_&R+hee-dR-Iwq@y4vY8s`ce_JNQ9gi%q)452BpQoeru;lii>^mzW-V`6aqE`Gp2nw2ydWMGMx)+PLzh3%7%>3Qj5H?v zT@4{`G*VbBT1wH^UDD`W6k*(75^VpeNS5 zw&|mfn%4HlJcEZfH(sz~Nbij~ajZuU0p)&hQ~w{QqRIyp3J2~c`bcOfzYx0`OrhN2 z0?t?b3WqpXMb6jLufs|O%>YkQ`4xl?m~ci`BgC%Z)}X!kEaiTFM=~V+4sxVHd7+|F zd>>ajac0{tr^x|934&utDIgUxlrfEVf|Z+~vm(AEkb+-A23YP(g5`;_ftzqKz90e` zYc{*IAI*WIH5vDp+AN4cq-Lqdn-$K@R{s2V8ZWFb%mBaG-U|4fEF@-Io=Q{#ZJfWW^DTf(PxI8EIJ{N*bW zDVGcU!|(#5Rfu6llmcuFU?tEe@UXK}Hh>b;HI)l0GfF*KA@C>{EO@4AzC-$@t0QyU z=xtSL-X6>yKic|*w7 zm$)gwZX%Q5OWZ_n`ZCw!C3Fll5_+Fbl_9da)MGUV3b2$|Yz}S3aaS4aSaP~xgXT^w z$b*n46q1gLL*8}39KI>mzbX3` z|NI5lTza5y)2tec**za$4sXcxeO^ny+JqQ>4VuNHpDa;anc3M^zcO_4>pHJZCmuby zH*;27{YXf$f_~4*8gVQ3g^xo{7v##F5GP6M#?F`+XcabtA?j0!&irnWTjPgOQj6A* zStT!daqB-K8LRYGv8y!dI3j(-ms}oicJeLe+Q=WJeU6S;^L!M~;s0oH8C0W(;LZQK zJHr3m7aM&sQl&NYWnp8UJoSN?Mw=X5m&^^bLiFV%GS;Q+sz;k#S!7cg`vQYUtCk%G z1MojTYY#>YdQo&R_DGSyW|`ptN|GpITKYiRqs{az-Fp6v-i}$$8Z4u@-=R|6qI^gC zyR=LC)8ngxPRE1A(f$jLL(k6r6+|Vqt$_Fr#b9jYm}~yRF~y-&vZVA-9293DD`lt- z7ZrrfE0?L)kam%;XP)7J2$al4%BCVsd4-w6snk}=3a9AI3g@&Q8dT1KbuBJu>$-tI z|M{BlUDVWb82U$bhE7kblFl>|qYvlwXTd5q7C~;SjNp3JMFPmqOpQXkl0LwyMr0D! z5*vtM5szZ#U<#}0Dm6bc%~gm;r~U{0lz20za#0;g9s$jnM*w?8{-0_#Q@kzfCMsSv z5r=rK@Bpu!wy(ne(aW(MQR9<(henU_#OQ37JcC~dk}~HP^5y+PLBBO=OHT9)K_pG% z7eb``BrX}hM$@%VOeYi0U32HwhK8+ouKDhY zn>N(eZn$ZMuv_MhO(By}Uu2#Y;kc7{R%5$6uk*)vR#nmmqgR7xbwl2=z%x#Lh<)kC zGkje4aVN@av4bC}24hZwk(Erwu#fiU)DHs`5l%^Td|YWH7$)h4a2>dr7?Y+|Xp^%; zL6zpxL5c3s=SsWhF0bkB7z8SlFgA?7cruvK@(x>A>x_S_DT4v>X|R2$!h~&FU@r^p zR{T%EIr_JVV94mesy78P~%28CeBqFW)X!N;Xf^5exFqCSG z-3H~)c5YMQi1xt7Pro7_4Y*ET3(8%?h9rhUfqF2gQ7ryf4nF`Q@)_(el|$7x5e4mo2;Z_lHki_WS#mExYgcm!0Cz z7n;`{9-N7K3xd$R{_xDf!|R#_#kZ6z?*8%KeLuN-h4Rryl`HT1$-ccmzH5c}5L;8Q z0eP$kEg?B%;6d&Ymx|FfA=4PI3TPvO@JXv_IjS^d2&y5H!+9eww_$lQ>TbdA+|BEL zBwKNq+c>R0+)3+KdQhbGt0lfBdopGU?w>_O+k)Wdc{dA%l3#*yj(78gC+erL3mNUTKE0gnbvn2n*2-5O284*Ft{tFh0uBj76uPt~Gll9NP=ika} zr%YIG(x@gVC%%k#pLV`dD#e93Wc~j-U)3Nf_G8nXucVE_{nH9~<&S>>$&T~p5$w6E z(XI%u#vrLVgYrM|@5J+u0}ksJ~ePv=3U(hjJD^cX2?`6$TrvP8Hl3O2l6UW?Nk?o|1jN#03@doW}$heI)##JSWEN$l#u?z<~*USAVR zgp9@L(=6agCiJO_LyAWekZCM*HSI6tZ&irfz-C5@X-v2^MiN2F87 zS8aTWSKV{>#|xJfIIKEfq^e_4!-B8u?AHo+jIJr3x%7_x3k< z{gHcl-5c9B4qZ@eG&sBtL(Te|SAKWhU0dsmopEm=FeI!c*okWN)dV!>2Qn%QJ5dcD zk{Wf&3Gb%dqot@vjb+7<9UtsOIYZ^=To_;%Qs6^){E1|0vByH0O?)a{oQ-E;DL&n#;}Qsj?)pc2UMEEOM~KCK{i4=ZajKbe!TML}ke&E*-gbQ+@rW zTSs#Lj($_O<;lNZf7j^KBO_0b-gVtypV+FCJ|TyjhkJVu)4!MX3Y)He z@8K0Y-jqJL2e!<&cPxMK-K$1#A=`{(nsDkv$mz$JT#1oX^MLuq_YlAZ7l&d5moP(G z7NJn=aN0+lb_2i$NFt42P1YEW@v<{E1DJ!Y4;JtP$t{EE@V9*JqrCMjaMDLN*;DbD z=@d@yKj3FJFQ2n-Fhb@usKhb;F@NJMpgHxWCx0m{EVM;SrEQ4}e{v*l>0PyN#_~IN zwxLZ}|3K!%H_>iChg@xJ;&J;3IR$dq3FeLmQo?W^o*TD*wZ)hKKkt{7_ z+ypNXK~9Qed7x?G!n_TPbIwQ7L1ju>p_r4$n#N?$=t1RA-hNxUkhSmBDe)-UXCsV+ z=z}_}Q|wQSIpp97xdn4_8v`z5Q3j*gVpKy>I1udFE>ZlxW78dqmy}fxuu7 zz?aypmJ-xTB{;V@T~aP*?2>iScy&~hR-p!5kjEwi5Jcg-`#iJcgOAbKBBa#S~gs_ zDB7NO_8$7?&fU*n(%t)YUh%?Ry!Hp@7rQTtH{kG#v1tc4)rYw>0f~C{c#3GLc`AX8 zY6Gw#p>2wb$t{jkdyXM6?bkl`HDgho`EJIdn(k}58!3yYe=Wpbu2yk;$ErW5p_{-mDjYNLLaWd0b!sZ3+tYU}S_-18ZxOgUvyA^9pNoWz)!c7oRuM)O+dk zXYW0JUfZ45mJK%gE0!N##Q!iJd@M3>*39nBbDEvzrny_XvO9+=l*X{fo2jgBAKHHH z(w)aHoY8yHQ=9MlajUhuV_r?&nt{|kA%d@Al>#hQJOuwt5q4}j?Un%cD>;?qjY45M zvj5S^fNUle9b%uuu0cRpDrqlwlxu7ntG2jMjp8vyBwfN3V@up~2lLJ_Z);s{<>YDS z0Jc4YOLdX1-+WooMx9xQ78}U2pu|tuJd{?z9j6l8>k&{KIGRM`{so$n)B|kMss@@JSc(l z5)NHJ41pfV0s(9RmO#VF(lNsQ1sIyjHv@-epmT1$u`D$Cl`6Yogx?xlgRi~spoQi9 z`y=hWj$6!aiRC9w%t>U7idQ`$T0&Y~Q%V{xi_6PSDbVtwJq}Y6dL8NLAz7zl(2yC^ zW6=2GGz{9B$DmOUASjd3WVnmAwzBHP$>OT61taUL>oQILj@J5gs7UyhqU$B;{cr8c z0$aG<+`8)}-iWAGk~?UVYAf1Q1S{!`*fV7P=VH%e*N_2q8upCZj$BzX9Q1jq42>pL zoRal}Z2sr;!$e=_X&o~t-y51|jAv8Fk8QnaS-g79b<3o=({=T!p$>O-%qIOi|917_ zU2VO{e?3j_r9;$zrX$2sU_LB%z*Pe09WfHXtOJa<4d@KnR}2nfa8rQu`>nM(c!sTH z%4QXa0#M0lY3#6Y~E1VTp>4)mV-@fI{7(Udyi;G?QzZb?f6*8ELwL|~VVR8c2 zj!;a2A0kK|EfJI}2y35m6|i=i@3FH6&A7kVFVDD)wNEqS`SxZE$|r~Bn_}72v&Xk! zrZY6tbL1|Zm}YXvyCl!4g2gX3LUyB2FnYF8wwis@1Ykhq<_>lM+EJ$AGcRFI6sJy$ zGE1DpruFOm>JoJc4pCq{1PU1(4_{y{qBMZz!k;^C8^fe)75G~16}!$ltmO@tZQpsh zfiFB;4$L@v*Nd0-!7%2ZyZnkPE4~{dVpf!S-A}=oD|BHI>4_z$BuUc8Ld@VW#PT+$qrd@?7jwJUBWX%K&gj2!TVS!emzQrVKSxzn*Y6)zh8&_1N8~eUrbD&Ju_fAm~Ki zRVJf~ENkK}MyAARPoeGg+#j`+0Mj!*m@tw=dpUeI6f~6Kj|r$xYAQO z`6qoyHm&>;))!D}75AYp1`hbVo-J1VH5s3ml`vBPC@^L=BOf5c=YxdL^DHuh;q!|7 zP8|CE{mW0php%44gzb&K!nSMo@(ZM&w9N{r%>3)}9wNC5)iM#AhrRsS*t|Sme!TgU zJtz42_`h6GMIJ51KyF@Cuj0AmxV-a!hs)<*mNBSa#pr!iGb z0gYQG7 z&y)Z=$BJ`Vn;h^NApQ>aABiaNa#Sb^=0q?KWWMZ}X8Pt# zGfvbNc`YVz&bb=8GR0k(Eh1izk@*B3dFwZv#MmRxc0!QBTf4vU@`zlcY|7~Gd1 zgB1J+E};JTFmxOTq2@SfFiN*1BK#LdGo&2>?krjbW1v*BjQl=gV1J4011g;JG_gn+ zqYz{s74TgM0wPUFz6A;}!3a#Po1s{yv6xH|baKZbBma~%({Sa6Xj56h?bLhpo$-+k z+iF)nc%ZNSfE;5`snw&e2X{Ys@Cw#@>->uLsGf*}XT5sO92QgnTM*{}0b`)yBA?+~ z@PAR?!o&;D;9FpJ2gB&5UOd^iF!8$SeGA2aD~lt=vkITGH5w=xIn-^;5Do4 zSCHA1w8C(FA|2$|fA-n?_n&>1bXW1LbMIff;~N)s_a6MlmW>abGf?z{6DOW{^ytyY zpSb_%qx@6rj_hpCn`W)Mk8YG^V4T$XN)>Q~O;*Z(=`jk-)l_Z7Q> zY5yaO=ksjCmofgv;{mW;ARexy)9R z)z9n}x$ZZa{*;7l>bKjO_mnoubl=jw(|&>5$gD?8oOY<9Laxv(QpP|6#DZj4D#r4& zknSrN_-l>Y2erniEne>{t*6X)^`*Z0xD9U1Hg0a*oca(s9*%QSWVU$a7~8@*;%)Rro9hg5~g+c4&OLfZWxg2|L}2p5e~bZRQgp1|A{ z+p~+VTVG$+F}ph>+8#2fqV03K)2@onXv6Hfh%Tf*-xjO)`Q%)JK3{#zCI-E=FV|vh8DZ=+C^2p7z=A!-HsaQRue0 zv7s&;$`>V<(;AQ4V}xNSNMy5*Xxs^~uajfJa}jim)BgO#am2Xtft8hmhem4Z7pz^< zQBZQ5r_uhx9}bF!g5dCAjX6>qKuJfJQ^}W3ShHB&F}w2YVr_JA_pJFl2J32CQg`&+ zGbpTTkc!MR63M29_6m0;a?)GOw7!uuO!@1mPoBH(hxRz>gU&dtg{xF3yOoO8m}!@>vJO` zuq)jXsMx%DZ33L1J$UDRig&^JsRJ!g&7(qr@I6GD@ceVa_bAc?*KCG-xs6@Z2#AEP zF;BjR+Ky{3McYl>99aUvHjtBTjxUC>kH#l{>?1bGW53B0`VBdkX5ADCvT*7`zkKQ{ zMw`(d@hP+?g4S|ely6j);a{{}VB(FNsW`%KQ`vE5Ry~8T>QvHHPWB0Tezk&?{<*s% z;2s{BWmak|5uGt))H@VMW3IDCauX?7^Y}6z4(1O(BEM!I#f|Au;dIpr_6td=^(g0t>Ba#&54^Z}pf5TAZn|lh^ z&h-@;uGAWhT3+d`)<*cNef-rCZH@QOPQ9M$dhW!t{*rr^UZ7`LsMsPZ71W{9Vg%I| z_`jUOQ#6LF=qXnjG`_h)!YA#HXsf+{p@;n0TceGzF+;l)UOX$pcd+($5W5lmz&jK* z?DJ0cc_(8%@?7JoBZ|$i3qjP$!sjOkMkBR)Fu;=uxmu%c8w-=_&PJE1fwLu@Xm%`+1Jc+2r z&1D^Wp?6bsz##rGmG~r4Ue4}6oBvqYFT9TSQf^w3AM@yQq(GXK$NOwSHTsG0`VZMX zPvA88E8&UHyXOf-;^Z%cC!S#U?1M}C|D*0b;M=Uu{c)Z5)v{&F)|O=rYgv-FEy?n> zyl3`u;y7_^XJBUsk`M?ZKp3G(AdoTx0a^$I2&Dm9N_$JWbleVTX-muPytlnAr7d)q z#PaX^oLBP7g8uIB|M~nwYf0~W-uJBMJm)#j_&%>)`k7sdIUhcsdZsh+V{zrg9@JAQ ziR4n4AfOUufP>{2tq>U5LTF?;fFdL-DNK+jgo0F|0P>``^6Y#2AAT6+WQS$Pp<9z< zJ;-m#P*%NhaPU*d2Gdshj+HM?R(?P_h^b!^4*2Y0r%?tGBm zxs=_@z9VMgovHET;f+8I24bwlk7mDksUzGPKsq9)Gu##ow1yqRq5x7>I>K#%Kns1g z;Nh;sYwY(*4`f8;^M*8914ca$%FZJ9Sa3LmXbW)j6PRmcAYD}J(l_HM;Bqx@=-!;J zQ;X>XBf^evC$>LpbXj!DmhHcO_x-(lKX~_7+nbd-i_7#(VjD&g^~6xmJ2UEu0M`l( zqLKWNXr~C22$iu)JyQ%1Xi$%a>Tx=$9u4Zz3=E?lcIX)s)ziHFSMPqXcklb}{(5^0 z)nj~?9hB<%RN|XLBWOL7d)3rhhhpqQ=C`d;HLkG{;5w5<65nLs=5-^MkLosn zq@<8eiEt!xvQAyaQ;Uf}Kx#x(FBsfjz77c`7nq7Tq!M}x`*vcT&v5`1v-=X?L~V)* z)Qc+dP&N8nh&o$kqw(}cz;I-8fk>*~4zElYv=p*I*pozH^$emiE)=aN?;7`cZo{LE zT117I04QR}E)8|%Wu+xvw=D;OoGn~-;a)ZTu%C1?;fOF0U&zuRNdN=|7?r$Jh>Vgr zAME$--5Hq~reL+tSB+@&%#7~#G?iYbiLN@(UzDlKtZr1yxp@ux2Nd%D~5oJDr6*qAtW_UGC7 zC+4xCg~*ShPuFHC*l+1l!lKC1rt6*gCTxgPZEvECweajxs-ndLFpmi~965w>h$M_; zC=gke>egKu#l7PZ-G>oQXo6z_IaVcxrN8r z5$aT4+ssb2yQov_$i=#x*u-L!9ZguMqwKen9Tn7*_s$&zoRBAO7VlG>mSy3L0WUe= z6)5Hek#S0tMFE$I8N@VV3^w7Y2WB_MZRNsBkR?A+BTv!N#f|kfRpq6WOope>CX^}( zizJ|Bl;D;WV%(t^x=RF|P6Ex%3_4YEe?iy*f!aUwQJ_6-72n4g00jm}4}!i*oYH3WLR!?JMgR+z|AyY3ttGA2xVO za#!i}NMzGm7py7v7lhjfo9AEc4~+FTZd)2|ujXsIX`)oI2l^I+3~?zK74l_(&6u&x zARfud8ffrA2zwB>anxs|q^18-hc>rj&kx@I-P;?U*wxgu>xm8GHu(=f>{C4PVV~I1 zwB@cv{YN+Apul9q!U?$_^>9q{^W|d7OXXq;i1`?B7577f`;q^&#hLcSJe}I2{j54K z=ZowU4+|%(dUjn?)KQ(6xK3{s#_|5O?4Ud(;_amE1=2fG0>}mVR%~S=bZ6kzNEa-^ zy%{_k+Z5NKee|?J!h2N>Uk%OK+8JH5tT%7kcj1=Kra60;m)YI+$uAgIv}XhG4jR$l zbQv%_d0;5qSa5@|B^X8&-w95Vr^V92@d{j{l<8QbS?w$E2i0bzZ~FNIMWv-h53oEs z6X1OU>BaKd03KDrbD4x`LDq$Mi{sEEX=I(iG1eD4;YZ!sputQk;HNC3XmIi)aYJ{+ z6=%>QDHIGq*o+Mm6H9)T)DknxU~%vweDfb8wQ)vUOQa&;_j?0;>q??GQ*bbEzGN&R z%7^pdB#%%jlQ@|i_l+O#;82JeWYv{`wFOequ7lp+w?F<@!3L5v=bq;jT$j07Bs z#Yx4ST+zE~r7u`e5DbR$-2~*rIJ7bC)__52WJ(DSC8Zoo;iJSVu@6qhwUC7=2{cYy z$>gBove_b6wa8x3Q{`T8=ht`N`14NIMC>F)GWK=NZ;JeVbPh+{qym~I)~qsm0?}px^(;ZS;d#ezVRGD z&R0J-@$lHox6O-pbT$;txvZi3icPCKfD(dn6-jTQw1GAYfGjx3(&OpLcpwGY@<{O( zNh#jIX+W@0bwUj%$Vs$fY6WZ>K*aAuEC7gBt>(tPF;z+%_wk?I%%3Gy=*NGS>iriU zLzP^k+`qh_s37R|2Yu4+n#>cD(tD+%m{J=I_sjN2h!UKXYa7u`CGwbrrbDV#igtp{ z+?chn>Zu(gk8E#fzxwf^Ee}^V0jy2uER2Wi2AVux03en(7JAPvj1J!X=oi+ld*!j4 z2c!7@*emPSec@4jzj@%1|Gaj|12=D(TUa=E%gqlgS#sb0O>+z2e6g&fr(^Gl;dM`5 z)!I|DT%B#S8UtM$np!t>_z@@eqv@|&`wG2Es$$XhCT&36?gJ5f5c96;%U~+iXr~6^3WvBIQ>Ui? zV?MZ*t8~~Y$i1zlazSiCVaOhJL}!K+W~Pic+#i3^cYw@} zIwX#poNM9~hH10_<|-E(VlDZZ8J@bbv9Z;+EiWuwabR%64_WZs38iVCK4sGE^C=U) zXNDrx1wCuxXY4Cw3pY2`Zdz24ct^bc%y-Y3$z?RZin$UAO`mt^<+JA5gNTqmWcyhxK@o8hi085?`~nU!nIF74@W73&YD=j6nG$l5<15&T)_smODcy0Q`z z?9u&um*3>n25gCMxq-5m1zg5|jTQviLa|4&8ZwItmTbu6PNN|MIc0HB1n?($eRDZe z)|aMMi82{XE|l$j@+aX4sr_o7+Zdr(W$;Y|xVn);8~^$7Cnj=FU(tf^*cn}na-#Em zx(nH#9((FhMdne>J%*q)q`OCR^oZH0-3J6BZQ4y*qe=1U+Y{yNJGYO2ij@o|zVG+5 zqBV){3jJxi2|%FubQ3!4^Vo~V#AdYr1zDwRF*_phD}5!@0drcKYip1lAQv(K0F0%0 z6x_j)WA+^_2=M&RkW_ZQXZXdmnJ)rqC6jsh5n3w9Rq%e1s{zj@7gj(}ftZf;JfcE@ zeNq(Ha^ok3$iPaFJoL-54<;KChh3ax*jcCt%+CBA zM<7_+RvUCyFN)ghs>6nm!l22_br(4NdHjYWwjffy&MmgxopB#0uA}Kk@3a`S`?58P zEcH!VlTi^cL-%5{8ccdis5x5HQ=OM#cItc6GO`R=?i{OCZwj?l`&uF{zoUXEa5(W@ zP+(|Pk^|_;9RfFUc3gHoFndDts03Q#L<) zY+_x7p#bH6gx*V%W+t1+xS*RKPzCte0dCtdtY;E=V-|kaR;n!QR?<#GA5Gfn0M||% zKUpwT8ChL$?^U0)IdXIE-Fvifs4}{`;GX1f;ds7OJU^+_PN=D%^`5I!1@|1K2T{IY zm|k=bb|o9IwMG@6m31(GJPY~SVJT9l2^}3cRkllPpo)?j;9$8)mZnmx($t&CIfEy0 z!q%l>sx+l)4d#g(kh$=h-X}{>A4^Z|X8+proB8v!r~PZsQ~m$qqo|s%!+2vueRZt7 z3_3TjKHuca&cr%20KkoAiXUT1I3;g6=)K)aqsh)J(s%AWM=B91MIO0(MZ@`#XdR1r zZ8up)4!EP5By9ds{J0HnofAi-deweW*@?D7&_J?+ME{plin(VZ(_O}o1 zeEGIz`fD#|>~itpJ^y}N&shH|jV{}2w`Mt`<6)r{=kG_B`V$9)Nzn`BtlE&GNtU^wb>x zD^K$o{#PDM&2Mc@bycLI7(ok0uiooF-~58hPR%cD9DJtv0r%X=g-X|(alNVk*5^0v zeXg}p8!#I~k+#wucRJaZg3iPh0=p*QOng7`PW|HALU3_iL(_lk-~7z=3-x=qVcNF~ z@2tLWW6k{bt}H8DCbx|h=LEENZK%W={EfroFdDj+_SbJawq|p>QG@Gr=4_d8%d3@J zWNL7!IV=*-nbV4$Q7kta)Ce&z3y>Yfg*{WAJc9b*Mk>I6l)I5)%g0fkb5}t4CWDuu z8%zcvT&OI7d}ov;x1`iwY%oXv4RsN0xTUzU`cyhBw@HzUkNAIhu z%d{J_3L;H`FKc%U}es!@otIQl-ym!^WqkHG6j#vUe$R6z2mSu2- z3ewq^jFro8S=W2V_HM;B*8JCW%PRYgMnkS0!ki%6IpLA#$bSb-PJ}%b&noi5QX?0N zVY-k_sv{7~1$1;AMky*$0a{4zw0zLG77ROBQrx>xSw0Wb%2M#kh04x;uS7TJZ^P{O z>OaPNB^vu^@3nu7_mT*Bp}x&*?*)s^7y?d@M3QL*7O%~l!}ZOiWHeilE;mJg+`@b= z&2jsRMObsqmBan)gN|3$WePr!+VXq1Hnv><%AQQo>*zPmyRNb^-DJ=@1Lb)&(T;Gy z=*SkA=uREk|0#!Oey{3?HSqn+g*Tnvw&|7I7b_mL1b(G$saU4fW*Uv^@zqFsWu+Xs zu-wXra4x8pHOCvX;Hy_rn2+#TM5!dD0_+azWKPE^A%N5wIO7hhx-9;DufcEjd(vq0 zB%|##WobUwmMT+>m5zp3Zs4+TrgKLd06*pRhYH53x1YRx-nGMBxx?N@n*qvw_xg40 zUhveX%L{y+`9gP=J!n1K>~1Kve^GecQ~utn6W4Z!+E>RK^>U}#pR2uj_wR?S!B?Bt z7pc=W=<{8M`_+!(`VfOvllI0y;&Jh-iZ7wBv3LZyM1WGop$!>Wn7~1MQp#koQgZ5o z&jbGYWqy;_kmEI}$x;CRK}J1}K4b`xDUTQjZ5P~)8lJf~FUst_{&Rc$pKxjS7FQ(SnD84_P+jfpS+L;Aqa?ceqmYksV^rKzp@9|5fH4dKe$R^OWVCsWoHh{mDmdwez;3U9z+-=W8)o6x!_(6HM*VkRfg7#AA>O4NCA^0j0&8IlBu}n zQcv^eluC|;0y%o-8wldB;bXpmn=~{Uu1qAIV7zhq3zULt?3^CVYQwBI5W8|{(&x|Z z?re@%RhAUx``j*aA5JgVlzTmyaCG9^Bi}qZepSlZVM<~qiAu5sz?p?5?XD@7fW)W# zHYBV{`8P6rdC#Buc81^f5<8KZ+0*yZ(*3K-D~E1fxa9g!qf(cZWpR}T<_$TJ3#YK! zo+V#aweC>gvcv1Ds@5G|)(4;4FRxp*YW@0EtJW#5&9Z)YZMI3gU$fxKnsv7=Sa|zL zb#>8lbw-vxYs+X9NhY(cnd5KHyKQ}K?fTp1%{#D;f3DlHW8L~4J3z*=SAg^UBb-ky zGA~YqwX$73r)c}|%M==>R4bH&kiyb%bi&GmRJBxv0~6?go1Q=d@z6QtC{}f-lS*?| zIhra9yehvh$4bI!X|XTnk0FPjH^-~9xU)0TfXoN)GgwL{gT7(7r8q$DT0z4G{|PZ= zu1rP&E3nk%M}B|6RcIW~5XJXy*ISKxjqo>^AKvR;u%NqZ!Gg}Y*RH6jSaI##(w=ZZF9agXLEjuvR+)3c#pllKHr~suQ)b0u_4>;H?fMut7Qf3p5n@R z%!pg8Iarh!Wk<{XiGSn$Uj?k7WAdxHKI5Qtkmkvy5RW`KDQm%LMDlGv=hhg%MaSQB zZf)kb2p8y_TlCbqSMdNz8!rTdq>cayowMpDt^M2>BR{tE?yqj$`udS2OOCw0b?aB} zUi!Dll8v$0=;BCZ@n|fzaY;mo-TcF&^XDJ^;mx>W;Y`J1{JtSwx?d)Kjo-iVyY#yse)NA)4B-Av8T7kh zqEvhnbE#ze|34tyg-4c7Lz79tP_85_P>$Q{bgs9zMI|umFJ&-Uhp)w-e^|ZMp^#Z zHoO5e1a~a)$C%qPS#7)u$aq3ATrHt}lYzlP0;NQ#NR28C5}YOXUc`>eWL_vA_1Unq zma$TP%;O%4(ImPo$z=Ta24b6x<`7g0NNnN_!P2uk*vX2ym3C`!JXqFNmZwR#+Le0M zCo(&>KRDEf{l(w1GM4yf*8DJOACC;;)r+UzK8%a0FFHcWh;~j@Jy=K&@IYKGKe9a;ZkP~ z>a0a2aKOr)3PhRdpHpd0qF{1`C<)O?#i-Qdz`D%#Z4V3$+;v&i*w~((4VOQD+2E0_ z^X=P9YP4B})tv?5#Wi_(otH1E-7u#px1u#v)>e@k0pTCiugZaIy2kDf=0AEv@1f1j z1xv17Twydh5aDHWR?R7mEsW-#U^(Hru@GDsa!cy@fKdOj{IM=gpcy%K(YAOqc0joi zw1UZ$%j8>#dbT3Htq3+DTgbo2*m52gHb((TU13pJ%q9dZYSPv8fSOE8ASbSs;dUf9 z_5!dEgd!i*Cf0~nx9#dT#^21anz96=u=nS1aCk7jaQw|{a-E6OtS3!p)@~9z&%TDX zF<@i6#IJ$}6cU~Jh_t+z7`T-Pm>f9{$&_ptv`7etvnR!C%r6MK`3Vju03M?t z9~}zF+Y_p!0IWKsEM$9@&0BwLEY^MF3mY4^k1X-D>+2oit*s5Ko7^|-E*UDjbF=VB zX?bF;uvcHd@yN2VXRm3q6;o)E(WEBX9_5`D76~-1ZR* zJpg2AT94AUlS9ry7+rJ{Cdf(H*Quzo3lx|NEW1Df9$R*Sd&%%J9g~%p`n|b1um)0E zX41Iu(U{tC;BrTYzG=foPGww<6uh+qagVoYMXYw9$?I-hDP)*6`76S6?%3Aae(h&A zZhrQvrnw7P%+^-&)-$1wfoRRjxI5I+S5`IH9uQuHmds!bufKQQs!#9jY`f;v*qU!_ zV#mEfj2E_`i8AqTm~SKZ1;d4{*qJeE3-OWiUqwNq%;*crNwB5E>0~&poBWQ&zol!& z|Dv?IJh~Tz3`5W|eutw_K6XV;ndQtcwKijh_@1}c=JjGT6lL?Ur~C$cN*3hD7TNPJ zM0{|3PEC;m$(%uGz=lFeXkFPLIdAckz!-;BByGt>3T@_vNLsi^A$rrr?&BpS;9GRr zOjci8T!`pkm>+>ekj1iStw|Fn3FxrUOYVVOU?2{I^H|D@a=KF>Ee55KTe+y(xpQ>G zP6upFWu2u~%G4h1E-_lmIzPL6Ys-~Su3z`$l`UJZT(zox^F1s3@7vt4>M3{4ywXkE zwrwh%SK}5Fu5g<_*i-BE*7gMbZDCi!9(sId|B>}oRqK!R?|eK|aL?GBo7PlSt+{E= z=)EBJPVCw5V2{>eJs>l)iO$EA?Mc2hHN;poAS!SSiM(-SgD?4Ub>ZXenw6C4OUU zD0oYFd&>@Q{i3qU#nnzv{h~ynrP%BXman;U&5DP1x5Y1iWT)2 z+qO544^GG;%dco^y1XwE>ASqC>5AnM;d`$ne)|HXMP_;Bi_A>l67PQT!Ef&=FW>X+ z2a}(mQCJm(y^1G*!vg&BOzg?D|6`D`Im6T~2si_$WIRBaTXcL4LE(V4jg6>;k(jsl z?}G4zHb38!(Z!CF8>L*H8*?1W$YfdCKDM662eo4z2v|hWRS!w$^`3|#4FCXr^_2N#4D_$ zu=st5S9vB2doi}G#^sF7DJ$x!38w2R!~3$9UjO*u$ftKUm(CllNqoL^py1cV{<{|D z#LVoas&ymlt0VI&b90L8d?ik`1^Kt5wHxmln19RFm)9kp*CO=``p}HIEI=RPvbuOR zB8m~qAj<8Me3g=?AW4u84+@s#YC-@b8Tm>}@)3TD2w%#!gTrNVl}~XsxayxPS%DjJ zQ8KVmYX0%<^{$$wmHV!nf6MbDn;zM{*tw~&N2f2WTTs=ws?lX`zhQI#?hgC*)kWR4 z=yt3^ZlJDIuf1hn+hubr^`R%O-T3KkH5Ee#2a5H&Ja22%9co?>iY%$~oML&^^UKza zCWnA%SB*Ja0@{}&p9iEClBa;6f?4CjljH-x26{EDML`%Ay0{c&LS{ij)=lok1*8xJevCb>vm#kj zyupv)A(;=p=mh8j`6-o^3GIc~BYC@V+-0;YsWQeSAPKcMKj$L`QA}#&#)(vgmTlcTuc;9Z}8_n|)JH&g_(^_{Q zAK3B5o4f6ZqP@(Mm!DTOZ&Q5dP5DK_7cYx8Qy<`MEN?|0^qkv*K`oud$&gCG7nmju z&<=pzflCAOR%813f9e_{&kLmnzh%7Ff@~gRWwpjL_jt?Y3p~{}kL7Vt9_DQk>T!ck zX>S7eOzus%gR{)wq zdCPNqTPy{2{={irYvF&1f4TD7{N@!A61M!!{Rx#RXv}j*F1vrjnkTR8ZolT#Wi7k6 zj7Abcs~gQHo;qO`Mg@(iVxPuuC&kSQFHJZn<7VeiIE5yhYE%rgDcxt&@7LmfAAkM{ zpr7;SXWXyC`xo;2C(e7{gy%Q%_dl6>|BU*Z@q8D*|J209dEOt#{nh;bNt{W}ZU0=n zzn|ZKI`#e;?Q6mF%X#~rN%dcx-oG|HKabykb|P_}_b;5-D|E9PM3wy2)blgmzgE^H z#AL7H{#VX_f8rNHjJa?hXP5K5zcg`_`Gw86|K@qyAHsbXzyIBd@!8|U_r!l-et*y9 zj$cZd8_!WSL49)}-Ib)EBBR{}o+2CFIk%*zNY8%GEvc@Ls|=&3&V5%>8TN7XVZvzf zoDFq#>w60ed)L?1ZJ1O1e3m0%wFYvv*^YdZIpEN-?Q0GWl#~n{T(joTs^a2Rht~A0 zjOg`|l|9|kCl(IhV}*L*SBTB#GLwQ%9OqY>WXrN`QyY3%my(%cV9WK11qT#!GJqf@ zkNx)U?c2Ar4dMDUxguTJ^Xm8~s2<2T!cxp%5#iqFU_%I{bS9WwQQ!cyQ(L*qVbEbK zFJgr=wsKe{-aQyT<=3Gy6?*(5?%3-N8()$2*)>+PSK#roS;S zCsgUU&R%JG*qL)#wJtyV+vf7}a*MCn?K10?S=CFbay>QkN5@ey90Q`zOBR*hN)&s^qS9N5f-hNAdMi=% zC5uXLC3Wv5i_%*!T}r}eAdPT59YKNSkEBlG@OX$`_>(yWBPF@an`|Dcd5xXOr*ry{9gaHfY*kz$b`?XX><{2T1E`mDOU5%TR=?d*&vdc(u#7gb z>q}yfvi}t2?wSQchT6gQcYDh?4K`xlS7F{YvJmSyoi$Cz zX2a|X@?o%7P$XN!m28wBW0?CV6GhC>lg%zbOzQ##BrP1VstXj5svrh+fdbMSh%H^9 zfb<4pMi(d`y@6QJ1q#p`E_4qM6R)9vai{}B0Y|O@S-)f&rjgWvWU`d3zUNg1O5QJQ zQBhsEyu7M%o~bg&7WaF*>jHs}k^1=Bc7H*^@yv4P{nykMN2+SdOKRD{oYGvQ#Ts5z z6J6C&5bPYPt=$}ZTW6uQ3pit88RpO^^TzXFi^2|!ZJ19R!OKZjDQNwSQ(8axc1)A= zg=J}qgj}P~HQfrY%ABmkH?=v!uU6~q8RPGz8+GaIukgpTW)WHj@rmWw(=;-htcJ~x zYs|1;6y_4*L6T2gL|q5bKPg~cq>!ZeBkH(FA?Zy-Ar~nmy@{ygB88+kT|&<&y@{yh z5^uWLeMuR~iN-=1VImbikI9f>%d|9Z;015&R=)j)^nD=x<0|GT&E9oASnq4Zv z&w0tyUBCwvjhsSgs=4tVD*=Y<^C%o8m$3I&7e^{XW#uh8Z?>s4$KO+*?{8aES3lU| z)#l_|Z^|fhJS3=xD$0t(;l#^EpD|5skIoAhEo~|AG%k-7z;VO#r7SD8lO?V|Qy#&2 zSHjpqsBThcCt>UaxPp@`>7TaM1}+nut@TBt9U-S;Nq!+7$2oB6#6J|bDV_xm(kbC~ zTnex!WDem~gp!^R3B5@|qk47nT(}tJhmz%QO_tB)<)0F%Ni)i0Ne;-KkQd4C#`?*} zjw%O0$3nO_Vbh09K*`idhLy8!?%E^;Y$sis2n|tQl(_oqiEG%tud^G4*2D;V;6pe@ShAx#$-B3D@;jm6TK z1tQA5iKi1!-oTb7KEIE(v(_6EFSEtpV2ct@UC)-W_I-)Zv(|lymlG%PD%84C_9=Ox z{62iMz}{2@=MaeHFgXq4E<*qr`ZhDt7D`^f6p{}6k((tE2~sq!oArC8_?@%mY~F03 zzS+OgGxnuf2wdZRvo4@Tg6vjympCDwL>pBy4-nm?)`DF^*))CRQXom>T897g@#ACI z`;uU#VWhE_oe(GFx5^B%?NTgJ0djXMRoFVgi${Rcke&v2RHb4yBs_XO`BO3IVF-C9 zHy%V`m1HTrcu~N9qB;N!r5xXM-0_W&ZB^bF#6AM{jfGWVlknDJc5TAH^VH7Yv5v)w zwe0VkPi_8=@YfSB{qA=!op|vlKcR*TvIp22@weiC!LOxJc6(fJ#+p{5#g&L<&WHOW zxmc5z7gBwoy($?S#8@d6D&=4rW)!yFl_^c?T0)j7r1=IZBU^B?IEujpj5NZNPjUQ1 zgjvHO$el+BdE^n3*XVAv+jLnO=`t5{rIQI1GI`7*0akErBmhlGduF)6bp=;+$jg_pQ5UZ*u#(jLt5TQ#nHSC%O!?WjFy%W(N! zi3cupN1FRj%DyX}l5fNLSNVJf$5J9ZGKG^NPj{3X*aTZ?RaGe)vl!3*kCx1OGQrKi9+4}*g67ZKWnCCt?`#(kt8>2TS?zR|( zw?+~}r;HxW%k<9AXSj{0Ft00R^TA_&g!#ylRmQ_=6)*+3DGs>NxTqA*A#=DWWy!OM zuJpR>G&01~noN09g7vHv-#A+)zLB`1i?N?EkQR6^)G*Y%tG4gJsS`MZ*6Wv|8iw zOrP-ycFi!m>ItJSlg3Msy^1>DnX1!>8i9Lsu{urg)SW(_uTq`#e@h-4q?!{C<(a9@ zzYiz&QANj%TCL$2)s1z2BMXUVz+)A%2FVN!XHYES5x&kBlJXtQTc9;fXlH&s7rn@BJjJR!uH?~eD2yI6?jO6zf8;&)1`;(0g_6;rlevq|77b`Y_MXiJjhQht<4 z0|t!M#)5#~#4$Ws(r5$6V<|SPQd&X2d;(`AOaims;+B6aI(%@&vcnr{#I&=2Z@A*| z(F4C&dQ<712VULvOyalyK3cKz#>ZaW^gPS_?119TN%4-p!|SVSNAK!$Cf;0j{}rv9 z_N?yMIw!RGD@^&lcyFo`0yQBnSWYys6 zpH%2tio-xCPz4~LG$>LUdX-oh8C%_BSo7%RO%;jtI(M1N(^Olb|E7KQ)t_A4zI|aa zbJn|@1q%Y1)r&XpJG!uCZL@pu)ZdQE6AKUh+m_&}(e1UB_2Z$j0}I{Wnz@DL^KTxi zs@(J1LA6%(s9K-C?%$ugdt-g^+|jz>XYaWVpwS{Q4q-_bUj%y($mYow#pm}hCeO)& z6dz*%Kj}b%7zhi{5CCvrP$TF;AzRG9Ab1oBo@I*OP|$>&pdD@Xwc+yMywE(C!x%6H zBqs$;lBrJm%{WCj@zN6b8gfV+VS0KM~4J&^X~*e zU6HaNmW;f4Z@5%dw#=zJAx@wkBghzvAW<#lU^YCMgtaFY%=KJLM3l3(`BhxMgHR z6d=`;;EA1G6#38qBQ6jMNG_GM=TcB0rxD=!;1g;Ix(do+|CZUd{+9W^Mczz7t#{_s z%!}BS*JrkFxOqYHnoGJSe{20G*OX@IHvpbZVX2rCJF{v7T`;UCyf#buoEUFk9=O|& zlutr>gdQ2*8gQ!w&=aKrln%0kC?y?aEi$tgiNfK0m&Ux*rh4W^JCn}yq{x;3X#B@- z{Qk=P7#pjjI8JZ(PtH;se~+Mak$QHOJb zMh340C_dnuwG{L+#FN<&#wPunLQo>191@qJ?(vDlQlxMBoBW6W{IN2h{{J1`pN_#8eq+Kcv9tG%{eB$iu zf-s&CYtD3LXoW@NPir&eFUfy6zPn?5_ji`+13KX+!rQulo*YmSvp?}Ed8OhEc7Bs= zNnB&d&QQy->vMEBf^0bl&kY=yj?tGweOvwl@*(O3;v;}KAeJd6M;x<|1}k{ioBEtI zb&l>kUpMBarQ40{rNqcdI-;Bu-e8~2?+pZc{E6uvqi1nrDml6M5E4+y=95o@Me1VqZ3X=mC}vz z0G6mNN2i9wL9V0g?2K^txUVVZ02%?w`9zAXg34D>)n}`;e#cRQzWrRIHWWMFMBkPR zz2Xm-*ff^!*~6Bm!<}a?m*3uXxY-(Zyk$+dEfIQnor%X3RiM`#nJKQ}d$F?S zLtXOQ&s?6Y7BfM0`X~OZ7*$lFpI9T>Ov0GP)$=>8*wq{IC8rzAJ`1GA zUYQ>aC`PaLyF__tRpjiqj)~#u=BTqhlz7`yBq*Y1|DCZSH!BFXIwKpyXTSb{7>le5 z;lSe=qb)D;ws_-tPX1c-2O`{C$^#2o>S*`g~X0nV?&9PW%lJ913FsAvH#U|#fS0_&jJA;DTkX_AFyXqN!z z3zW{0<(Q>;3F|D#U_e;=SPjfVYZIwvaLKYAvmzIRt0Q6vc>vQ~cl8F@hMf-)8ZMNUUS%=V*$nhSLo?xe zC)W_>Ng`ijV5JO+-zh{ONl+39ii-)qPcABxKYRL8rn;mxo|c~NGrwtx+4>TXB^R10 zU=Z(|v9`xwNUi+lL!D>)b>J+97ojUg}ycVbTZ0cz+ z48Z3uf5Dq?^>Acu^7%pcDCx|s{(UCzil+6OOullvZfB$@kY{k^n9?+vDrLgz>aEKy za9h-oEvj6d!K&7%GiY#V1EM$hTpA#F2al&sum20_7ldef0Q|D$q^{d|qk$)ESINSqiI+NWfKdj%9 zuGOY*QE8a@o}U(^`9ga$j9L|{2`e+@RjL!vdDux>Gn0J?Hh&3G0}YXFhUg}4;1J_> zc<~ixCmRAPKYvU9`g~TQWnsEPk-pGUnDx{LKcCSQWu_)~RI65NM{_mIaI4goOarwg z@f-PJ;kOtQ4aNj|Jj8&J3o@Okwt#Pmm_Jb*LQ6vV62;Miqhp?nDP|4Kc1L%?Ki@an zO}exJVacqaQ4IUi3Vy268Z-8uoi;9fUJ}1iW(t2*J&88hW!OD5R4;-#z%4=jXa&e$ zCfgwE(iJAjenul^4$6#HteHJ5%I`?cFl6ri-Sjb;qz~~S*1NG9Ug2>J)HT(;@FWuUP}tSBNz5u!4q7=kb--$XWe zpV{gK{c*>)S;L$JA2{ElKZhWrc}pX~whBjQRrcyg#O2UhP5QKqOw|n9d^pEx$gjzd z%rh2Tq4Zmfxk-+|=~R3OiFUK0PdOe>*I_)c-A)b%tlZES2?$UjZRT*Y#|nkG7&OCA z)uJNB3*h}Xt*mV90)^vX^~nK3T%Z77e0ue{#Q|CYC1`4(3bT^~HIo!BHd5y-m1v-W0Lxn3MavY#-1<=dt?e6UIf%Zat)#ZA!$Df_C68U@!AF9`&4`q_Ktkegbxsa+< zhDapz1ED%NUSNtRJHyeKL|Lz{(DacyGINrI4|Ah)(DsIKt_5ws*G|8B>ms>kw<-P3 z+3Q!`U$L^IAkUwtw|mf)j>)ckX69-ZWX1AZfwXrT`i)$g4}_931t4*;BgqNt1e!JI zd7%(uL##`$XEJ@R-exgnW~8g3c1`Lf2y;9dCeQy$d}zTLIRXfFC3blDmPP)PONNG) zob)fch3WpT_uB6|s0{_>w-(RcP*c~|R#&rOZn035IAhHIiw#-7P+vr;5SOWIz~>y~ zn+sck$hN?GB@?&c^bXMwYm0-a3VjIukPE#?#3swJnsIQv0 zcUlX@Wr>qUpZ)gFryH#f<7bEWFYp{&IW)BLn0LWV>YBtab!jYHo2?ec|D&LLZB1Q6 zLtV|z5oek}^XyIGA|_ftO?OxLGhcct~`KkX??Cpp>Wfnu1vmD1oax zIoz|Jh?k|tkshK-fO>;U=$X`b&U|FnfO`EG7|@j5dd`5(n=Y@GOp{~TgIJ}*lN6}h zuH^D7$>&Wu&Yrs5!aS=gYNi#NTD_9oLTi`y9`YRr0=^Zw5reQlf^Sb*4zZLeT2X*; zafh z^YJ507hwYt5U={a@;+r1-dQJWh}V{5e*wY@xDT>ris0t>Eg6u=7cFH$ zGQ#L#tTWb@7W=)Dv4gUe%#O$;YzeeUMIXW>RJXp;2fG+BS4cAtooiSOj-J>VkMBG& zI(h#|4X^Cl z^~#Oy?Kjfr4eg2{b6sBDroI+^-*b^ZEZ%C&tP|Wtr6~b zc?f;}Ir>~ee$9aA5rBP$?L$Oj5^VN}i-Ii5BjgZHf`KoQ73)lXli$J-dXk;erA8aT zcqv#$I4ewbOZi=;I)b2_Mfd;o!0kW1e-Xq=dboQY|`yqL++P_E~`nJ$mnrgTJKd=uJD)~d$(<8DCaZOPO(gkJ$ zlO-8n>@(+VQ|I(K%Z*?7HremuCZ2*ek`WI09l4Tslr*bT-ci$Ml=gusEbgg(3-Rl& zy6U=pd-sZU2qJ+LgZ%9EXAb6bncNe{Laxcxoof01lE{AJy6A92Dd zA`>R46l8xMW>ds$0wW#p$dEln5y?8BaFoFN$*Qgb zKIjDqnkhB$BvvP_Ofb@ONiU`gPn&r~gHlzn^oA9mEYH+6-m`x3^?k*EU$%^rzP7aT zp35IXhnuhHiz&t}#S7!}sy7^3D%?JP`KtBR6~eDisvCo;PK#Kdg8VwzhzgChV zU{vTKjwQdDl02JXj49QX!so5f5Cp`q&#U7|mcXiXLy$HxMLMRp9dMVV`?Mv_e+O}<9yL)Ns^PR}@-K}lAS41K!cDJ?eMqul$({EF; zwkzrGm2GW%Rzv|~gC=0Ew#wGX|4sfZ)+!SC zQ1itvy!66nPMv)6(~muT?7n;My7S=ex9s0{-PL<`UcPnn=!TJ@RV(|JE}Y-n-QF5+ zsHyTL|9SEVIEb*>NPCKdf#qXu9#NFKkfU+y*|C2!h(>)QBdG;gkGRO z^y5MNp)aAesapl9FXJPrZx5uttWQ1WOMMaVP2D?tVDefvuJM#0R99O>#T? zh!03L&=UQK4^R!H|CnrkDo0K-J@{1PlYyP_^nlys_XlPuS(7NfaO|s`Me43pV53f9 z?>qkApIHCG{nwQA>5UnNqUz37yLz5HdHoGZV*iQ-#9qH?bW=U83&DQNcW&?S$Cp;@ zwr1sq%0ju1e3HE`%}v4~ej@1F6`xP8U?4#7VxNF+)OBqw~5$6=!f>^e6K zOk;6M6}&(=huc@w+tCr|+|yU_<>#zHpU2=-TeC7<4tIq|*R`;FWB3nG8@+;fpfF-r zR}Ws>o_OTsb8>ZtdZR5%sr6PDvW;^Vw>OP9$ptU>&$w?wDb25Jbv(=Kfw3qTix9dA zz6fbNa!4@+N}!|$(#qrAqnMhwWAdIt!DW6<=9`ib0O(_Ycaozc_(_PlNZ%$&T0C>H zt_hO^Fnsbk5k1>PJ@Zr-3M;32R$G+pKIh#FC;le>5;R=O4kT%~lxP_GCt}{<%DM3@ zx}u!Ag1wXL^(Ogiid~~`aLeS|DZWmf+b0=NiXmV00g0MOjfxnGBnQ9f0}^=>`F_L) zq#7g^_c3aq3I7;1Oxu8{`50|JKAZ|TJ#e+gB+(PiBQf2@_I1j>mSlEQM1R@joHy)z za%|2mI|e-SvUD12q-W#&?Ze&YBm19?+`B%STN3wgG-d|Nf*V${G9nLTAHN-h4}8AF zTvk!lu~T0=aM|p|N{|W~UeW^lS_k>MRjI zA)HX&APdNL#?$rKFSzay$Luo9gfEqQ4bmH^ZaAeeSjrOwE{ABfj989;dNCLy2_Rn} z=j$2ec+Ov+#|{%xwpJ-e)KfsErZ^1bwVSS50n8Eo=%k( zJ$f|pTjAG7Y5ag`DQ1bo7(b27FPnebPbW_do*RRQS!Uds9;1L$I%yS`Q5B2GtK0@x z1_7R5=ahg8@QYxpK9538!EKn`q&fgg!G1NW0l7{(M-lBH~T`rTg zbWwZZ!bY@2>W@ae8wQ`N;1}zTJ2hBYh*ib8gJFhcaC|2nr(On;U9KkQN-sIkq+ELu zLl_nniMO9jynT-~PkEijl&&_UU#rZsD6bl~3BR@&5)V1M1A%TQTa!)e*b16@A9dMf zh)A&;wXnoXp|Qf;PTIFnT}U6wlM^ZN8BBrH8_4q+dk)+<0q!me?|;EyR^5W!0@oN7|;tNPIdz)OX*ru_a{*`#QA>*$~jpAn+26io5pO*25bVK@U*2Hm|KOlGAExd*{ z7-f#QEd!=f>M{B|+2JCOPE=FIab%3+wQ>+}aw)B4?4>Ux{_^P@hk8(BP^;~ z9VZCDq{lHbkh_H)Y3ju1Snv3kp~LG)d{rn?MzZXgiPEDz+8ho0-ccDFKc+Y<3@M*S zUoIGHNUt0}CV%Zro$`4Ew=h;EzlZ%sx#XhH00x>>ojRpll4wDH1li;AdxR_bGb$QA z3X(+h96lza=g23Uds@+>`2XXlPBD-42KEZxB21i;9~2JY9FYcpXk^GG_ATp!X9j#2 zkQhXR>~;F=bd$yerkBRjD0-VsT7A9TPl(K}B6~U%)Ly&R;m`i+Q`|-9xhw2m{aM8e zNrSISYsgGmeuar^;SY3Nm4`YFvf_9FuMO2Mma1iaXoQUQQr&#T zoDp*9A7^+AFd0QJOc~3h;RLehRS%S0Bj1S3vIIAE~^!VV`QLuT2&YzRDo~~gzEr(ivl=Cm&VQQofDoA7tWQoFBguh4^(dN*W>J%Qvl6Y-&0RExOg03X`=a7Bs0BW_ zm?-i9B#Rt{FO3R-;nihlq{GF+#7sP@h_nyh6kZI;)6R|^ ziqm93c9wbcdQTZQDD%3QK|Ub(l~KqU-gq8NnbRFwiP&YmOa_ydgE>T^OX_ZNK4^Cd za9N{4jIn#2g!q5uSNa2w7OvHpI$%R?}aM@&-9LgCz}J0LC=DIJ=F|BYxI^oRaq5qVA6W~26UdN z*ID5;DqeC{_)P_MRGUugYQJxhx2`zH;3<~I_{exd*gx?m44~MK3$Ps<;4g@67(r0j z3Wz}=-~#(F1%Svz1lFM~0$W8+g#@!L%DR!t7_U;vRA2z)Td1I54E!hTKb3fewUj1` z?|<-qKA%%{A!d*2($nh%*d(Nv$soez;#>#WN?3?j6H%^8HUpu2%U?*b7;rSmbtbp4 zKkUfcz!Q3i260-@VzR#t>){hTTXwI6i*jRO0>zA7qsYSTbntr^c;Gs?&mt zGB!d(gejrHL*X%J}=G*#Q#Ch2rFqYX%cE8JPp{8_Bd2=5-xE^$4a3q>!Aa#J!-qO0=|Cs&6vr zh0`0PZZPI)!Qab2tK;FSWK}xC{+!7ChBP0;iED&a6Yt5avc}WMo57_@Qp({40=%F| zjfyvMB^&}l`6WyjS@x3_pyj8F{5%j;fpjX8@iM8-;U^sS>6h}FM_Thc8p4KM8l5~t z3*Rnpk#Svkbyu-I*i=@m5cDQpIr)CPjJCYM+tQ7;pjs>`YKsYOZscYpgPRfBKob8J zNw}SM9gK}4Yv?X{F27*P4|B(5Me5{2$=(oRRU#ny3)@lTwb=BCKGJ3EG=v*E@>@rm z^IqChR<1MY1x0aLQ&3;rwK}|x-Y7ej$Pu`6lp=$@#vF_{#<7Tagq*j9d-@zDwd^;g1uqfZybR*d@Q-RkZZLJBapp0s_!C z7=&B+1Fxw*M>%Zj=you^8RP8FB7n5!4XY%ct>#THeY%}qk1*&Jt06!DDy z+>soQ)skw}K->n@4c8`tN2(B0m8`*fehWl6?M~b>c@d;Sfz$L5{6EnA*?b+!dvGb? zkK;8@uw5;Qw^-3b4^i0^PfX!Aq&PPg2uFiYkHTvTTY%ue{_vHrJUl)w zh_9Wvn|%*`DTavqyNQ=!8C@RFG-C#`v*2rjM=?jmm?ItBcrjzN$_LR<#Om<_B4FL= z2Ffp{PgzQ+<9I+uERyszxGh+ig(OM^&M>Ncl}82k1VB&tp*p{i}(lHy9C#^I>^05S+nAa$GsSrj=C%UYpbAr7v#9Qe#PFqpzr^(sh)%9mdk+ zkGq+N)}KM~dqJnJ_`j*QqVjz8Dqk{sLlIw5N7#OpSsZ{f5BrKc!nt=_slT#Pc>(;% z&|C5Xw&y_D*T4%LQ<`fN#5RC&K+?e!W3yR_R*HQPO%Wu({cAijPr#=m#VcWEOY4TG zH1&E^l1Fngp()P(G2ySS%AVr9xNBg?Qms`}FB}G9PLa3Gy?RHV#*pUpFvb1ILgCeA ze6rzog<=V1q%dgjuRn|swL-Mhn#h!oO&kZ0td6G}fcVgshJ+%mQWhQ!5f{aDUPb~6 zT&&PDB5b+_$fxC>&9QJ#D<^|2r~vZ;Km=hMV718G^#+4J@kU}<;thiyUSwtL#D{6Q zc3axfO`GmZ=U=vM!>jSSo#Q_fGr-$4vX-7xl#wY5iwpl-K}(czK565t70U_II{rv5 zYG{R!lEXAI4KPV~j0bJNIH%L0UAX_HP4}neI&5j5OpM)rJ1f!SU*fxH{2$~ygjOZO zYeCDfH-eTqAq%a48oBGP5yjd+5%HqjyYf5PPn5kl&k)_BX2@uuTVi@7fIy`Pw{4@& zDly=ccx<9%Oy)5AN#*h;ueWJ=rMIliE5FlKvoIW9Q0>}VT3%j4eHUbYd57?!vh;R`8h+wjVr%8WL}PFbuwuSaama@CP4YG+N|$3zf?G$$7!b0$B`VGDI#-kTy*w z_F8pDX17-)}uz28T7P4Sg#!3(j z6vL^;LdosuOodQh3ws!G_PM$7qDHMHEq$3>k!IG$3mWYXtwUR1Sg*CFX>d`W+gS9n zS|cd3{oOvOW~_NVUD@_bjZW?B_Gc^Lx9#uts|}hQPfvHYBh!?XPpU0Z_F!V4XrA~n z)|&-6x2}k%L#HSAGjh0=HXPe*qz4J$L9vB=r9885o(lu9JnqV|61-TrJOmI^Yb+;b z&}CRMEs`6Zgak3=M(0iGFtKKESd`{yQdp1EAKmFUvcHqsjxa zOxdlHpAa3#AQcgR0=f!V^in$efkQ*6&|vN@llLh?cgAhWN_e5iA-+Mk3yGM}S*ATm zHaC(yGG&==1F*}Wk0WG(M&_kdTSyW4f5>~!z{bimZTOs{YD-qJx-7|(Rox_4$=!0d z$91aPjK?z`Pwz7@%mfC8q1T~>nuMXIk-!olBuhzvl-*52LN;u&Z%8(~n`HBDNFjs( zW6gKn&pEPWk39_e@qItO1h6eVM>^*zcfIcG{^S*xIrZw+Gndnk7R6Umce-qk@VoIJ zeAHm7RK54?%{ULO&*o`CLPP!xf39<4d&xl z1yDR|Q_6kbKsezMDxDb<@Sr*$M^FgrvA3a%fo6JwGD*Ys8TX zMhBCVA1uN@te*|bHBy&rNa#4=BP@kptzPx^2Rpy^`O}X)vFVPhzmxsD;@_WmzAze( z7Ovj##ji=fu;(0<-;4SF0PEf&tvhu0!gb$5${W?O*ao5=p)J6jv+PCSW>tmb0iRcH zQ$>YLzu5eT8Ef$JmV;r%O=SEP-GXUSL)xV7>zFogBsdn&p6k~*|X z2Z|5v)~TWe(u>v+4LyKqRS3#ya^&&)dR)m;6Ce`6TGQrwJQ>vC3icI6; zQGi85PU3@+S*6L8At;A$pgKB@-){{DgCT=D$Av_kn0f;xu2dO9?FB^)C}L(HFUb^- zg!vta(&bw1_K-PMzPq`sr?Q~OYE|b1TBE%~j+R}k(5kS|j>cOyrNSlT=<{>UdQ|vW zLqT_SS8?i1t;y;s>`ppr%L@g4un@(x2Amp!TPYtG?8dJULAgK<(KN82s2*WMLSt1Ulemyo zh;WPiEvkICwOh}t<0W=qfn8@(M{Tut;BkXG#OH_>1d-E)c8}bTly216;r5c?^ zS6|@ES9+7v$%=JtAx}N(d!P=uN%=HyQjvFVBP2b{H?am6fFWU8j$KM|G7A2S<}#o$P=Vb_oDzOxf|>i77%MNo?{j*G-<0pO>-BbDzRB;|S`+g{U0{>D48e%{Akq-V4OH+ZvTxcm2%N4|&Lt68S-*3v&%6wm9q79ww zCK8Fs_5j)+B+5%l%A=*F%I>1%WPSbmWKmIaeSQ68vM6SiGW~0HNOI(b{YBI^OiIP7Z5$bMRv~a2Z6RS2Pv`4sliQU;N^mIlg^-07qmvh zO(oX*kyr~Fl`W|vU7p2J=&I}p^Rd(q-97`@rXlKZ4*0)eULxFaQ9|TKkgvAlJg^G0 z2ojg#9}*(bha17X(Z;8nqVv9J-w}2SG5~KP`$@~Y3ugqM3FWeAB!YvHkUs!PPnh|v z)U}kCU$`X!5&UN*She%bPD^E3WvRWuWYC#%%5Bv(HTJTR=0IWdL}UG^U-61M7stG_ zskK9^(~8>>eY_g0CptnQWI4sN?^S{C9#5T2Hix0;4CFc47<>(7*GS8(B4q|d=QR9M zfr&E#c_G9d1`x7{7$cDoqlJbSN^o|OqlXu_`K$Fs`9_a5FE`(=a|ez0 zPb1Q=b#+xjj5$4UQUeuc#q&B%USV~}A9HC0MC`uO_xkje1BxFK$r zd|L41-YpzDOi>n|+QkXzGKHI^&?p`QJ{a+oA}B&crKm~};Sck&mH{tCfCjI$H$=kC z#n$^>v`y~6U+FMAXpf|R$j98^I7vMzJjwRzZuztA|93nd=zp2O+C?bhZnPIq`?7xf?hm<>xv`F=jU+CTUZShcfgTb*jwsQ1- zbS}9chtQ|Hk7i0~w0X(`Wr68Yx~~>5*zWk4&#lv@p5Wio!7zkv1o`p+bf1MVA+XkY zPKP}xfTRk)lXU|jgCoC=M9K;u?u<38x7(?G5FtabiEORn6kcIUc%+WXhr z^5u%Z1xpMUo8)ds>c9B6j4VIXC?DhRP`(O4{mx{rmVFEA2BAg>iQ^S5Ss8>Hnl4Nc z2OOtZgC7cR9KUgc1;9}-V;8SMB{Qf1N%ARDDd?&@dLFHfbH%dfK7M%sUC(6<_QI7T($jE_LE0gaR!_pKgHgX1|NM|EMBV5XQ!XIOlO4UN`b2mSC!f2Bva&!u< zsX?&oNYL9x;C`h&eA&ub`#%eCS=`tThETqx-;$jb9$yR5+?A$(@)m_zf5WHmzRRFjjwo|$a&0%?EuS`MZp<~P zc4`do|F=5#T8nAD<(GH}D!lx&tN^hJk^dHF2VY2D2#Y(BOv4_Y#=WNPK)P?L1c|Wp zb%IyT*I7y_zQx(j+b`u$9Z$WF^rfqyl0pTQ1umpB1pz^WOl2K{2#QB8O&z>+##I@# zSb~+PuM^`6Wv)ulrGRimdSR)1rjQ^VaQp+b6Wz6J8aKLte{24p!@Nx<-D^6Dv6#j8 z>}C9^ORu%U!b;yVvZB_x6zcvmF%i@O%B`33w_KX~SLxPV(!KLrGB2=u2cBYkO3r-| z{&Od{vj54Vk+H7?y#n7^KtF^|=n%XFdpmQ_IGk{^D8olPfZ)O;)UvZ4&$YESHUy|) zuS$9xiECSme#$LoTNPO=V%`&_f^sqhoiE43QMDgJR8)7KNd|y{Uv^*!{aal zXepG{ctc)GVW7}bT3u?_YBhOUV`;cx6pg;Y>Y`U^fshGWG)kq)Q0Or`^TEZEW6Dv= zR4TvQ?gZP7OsUeCTxL(eny1o&k(cKU76i<+`y2FnNVC=g|W2>UT-Y$8PWOG`9$UVYu41ktaw6kr8i<# zSxZ|ZotLbyb+yc{ppDG^7;(H3DUNq;TuL!3#-(7mE{Hdw`8+zYl~PD15mr#RDX|@4 ztUK?N)#Jylw=^J_b<3^IfBMtR9e3cFunT?gR&C%W(?a?Z+hcAVs=>?jl9=rB(b8hu zPAk*W+7m8L!^3vfb8kcKrhflJft=q7*x$8hd%Jzj}S$s%ti)l9txmg=b%j zIWur>ih|>L1k_^TTvHt;6(mkWK5gz*k~2kMLA0*OM=JyHFuU{JdU{*~kE}jHQY6#V zXADzM5!x+e+WU;M=uJPkzN7ovZ=INX<8OTHYrJb{M~le}9$L>QGOt{p+Vc!z*9dzUkRi>cOw1&W`Og@@q9Yo?@rA>&h38 z9ev?sSD+-2uf1%|_C2qr{`Bza)E{5ndw9cDo@*ey zko{4UGGBNdF64xzFGFZ6f;?-;>bJu)qq;Hj$G|9|(g{Tfi^4K-Qv-VBc@Y&!o0@Qw zX$AoR#ft$V5oXoWR+~KF?Z0$=QGIoV)2}dE?OJ`<+}SjdvWP#?KvqnqwUfNdf3L@}jzO@whLjB==$O&+n(D zkGLMyxCiysyA)qXzljR2J=v;(Sm@61`64R8 z$;pyU6Z+yS*iwVf7e(@A#bIjDY}DiO+yFiKJm)j3jhSD@bk4{pI$4k#VZOg|>blXf zo35jl?Z0SK;TSHBgr6(Nd7=_ll-wZ0-Cf~64~Te zC$6~p-r=d|@0bjBY^-k`jobTf`tFJ0YY%TKZZZaRmg=E{YuYz9yKlbgkE!?j_jLOr z!-oeuH+5He=yOoJGZ3nkym1$d$=P^bfZ-gMVJccr<^B#9Fpg(9uUsp6oQ~i z=?GBjf}Kl-zrh)yz$liN9pD8cact59MI48R^O*ehpb;$72w+hEiL63Lp$c{?ys}!n z&VO0(%>All{JN=db8UsA2y)pW%4OLp`Rl1QZ_fQ}^!8ni3XMMJ29r5QrjSofDlY#C z_9Jm_T*GwNr^QDw!3R=S-~=Kr!wVoa;N_@+!K>=UuS(Ah_G~q@94f@6<3Ei@V|EvI zDkQF?v}ymS)Cx7leU+SArBt7PJhYbI9*zV}{z!yrE$k3j+ZhEFPf#cX49P~?QP~#LXYwjEWbn4x2?AiGWZ+&9y zlkJNXoFQcHY?i-&3~4-5$d%uF%|9N#?3HVJe9)S1%RO_?MH)jUNkti6-CclQPK$LL zW&~K|A7ftb#2!*3MhSdwzBWfTk4Q%YWT-2C6f*`>jN@z;eV!&4L)ENB3^8ZI5g_r94%Xhs>+3pZit76!J-hpY zipM{ExUXZ>TUMZ{9KEC)&v+Vhex>4RuAKXdxW9Ar5M^`0wnY4~|4Ay^qgPbYEA)p< z`h$uR=};589x_@nO`!xH)Mh-t6WW&bI+8wu&OIB#sZ>N6E(UwEhOt--MTF_xXGUgZ zy7YOJ%P<;)#eQqp%W@ek=0_EPjEP;e)>Lo{5hQ`Ygu03%f`NJoAOEG+P~7q#MXNU* zXzN<%wJVGkn-XgKdOFr?7Xzkv^!Veg96C#Y8gsTW?X;(!tkS|TAIkCk;J#}|X@z@7b zt+&>$K|lM}@w&Fj#)7^Z|M^PUU1xT!xqNMD>DtTJ(C+0?ec*Z_}vQa)Y3?qn81?ySJ>Q-eK28h$X;!)J9Fdc?K>M6SmTO^WjRLOnL2-`8!%Ghe)*$P z4u36|BA{GzvO&dzKomiESYcrO17nq3&YUzR`FAP$Y*q~tVSb;r)K-cWfwME5e*_|TD?AnF|-7@d*mELDvA{rZNtBH`xX%}-m=`IoJ4iFSt5)))} zlGCjscyhAH=@LWP@VkL0{b1ugJL~Fp-m_8qDf>>oKOTs#4K=k+JvH~>gQ=&crk+YY zc->oTyC2^@di6v!^`{^7Uh~qCBQIUs+j}kjyrx&SInWYy2EFV5>m(-RwSD_uOVd$} z^mVU_&z>6p;0WdgewE@6*!No4+}oc)o`(5VgeES)o~J@W8S+`=Wgrw!)KsDfO!}xn z4X>D;AH;mD>@nj>8+ljm0w?)b6}p({U(vLr0}7C0CMndw1lkfI6xoX__Vxw>y?a;u z(?8wz;~Uz$Z~D>A|CD;?9Op{-L9lD4xnZi^Kli@yX6Lcb&+hp0@$QstY41t^*G8ox zm+kEk*P3kdQ#c>-Pr0z4L+1qa#G0m15_^1j9O>sq;@fTm{ffz$r^!)qxqNQsaYA?m zi06!Sw$SM$rA2~UST}H>FL2vkUzDwXr`wZy-B=tsL=yRncf4_JvSj6v0Y_QB5Ds;$ zPwc%o<()&g>jzG2>ORG@zi8fj@A|$gcaGR~#R%|_Ty8=fMTdKDrYH|3l-w*W0UbjG zv`Dd2=9!86#6V(c;8V_Uiu%-G>YY!utg0~Q zKzHR>Ob?hW4f`M2Dcd0b?uQBaca4EW$X>3|+AT)Kd?*cZs?ZqG9m!y&Cl zGT%lR75O?$>}FO=$PD)#%v>Uy!Hhe_i4xXlhEY7WfSh)OWXTFx{4NAOY8fm+A4^v< z2tH+8kfg*;q6{oNW|W`&qH~42M6dU%3o19%Z9lcXI5i-@C^b;9c2=A3-eoa0?znAK z{+*xy9CNo8GCLRd-pHYLv?>>xIbw#>LNP!(#Pj@eV#zvuJf5qFmKIa znzbiCw{hPiyW{cQkL=s{xsz)(d_^pHeU8d^=-#jIIQ7m`TiE`;3vq(I@TX(k1j8&n z6T=xGzYISCxqyZyAd{6H0NOY>0g@k0W%E?)D+;po@yNV6{+tuGNhY_6qb^9k>%3Wl zOaS?;N|myRu!OQe)rN*wUToQW@3Y_Az5f3FEqtDytcpb=<}D${^?A-d$z5xcJ|h<{P>dSn%0n90YsST2G}Ei!WsBF z&UlD}k4BH9rTC)XX~WGjE0&50@S2c$jr}Q44GTY3QSCF%E=kwXJ8^=u;X0psJ(6`2uPWF_z-RRskWLz1aVwkgwSl-2{bO?Go& zaBQa0Qyl~S4s%mA#nx!MD|LVBow+~#-e02Q)mFbQFJP1ZOLDx+K?74=^-`b~qCADlZadqd}xU8C;Y zebdOX7f*H_y7(f4JlAZ9`0eEbTN0J48hwY%WoEwPCo|Sc#!CWjAo+1=u8}2Brjb>^ zE0AA8bFD;td>7({G773A{(@={I_JoFFASVr@FkhB*#%$1f@T*yS_+xvhR_z(Vi#Fa zDD*A@f)Y?<2z7wnkUC3df*?|q9#Q$@8&hX*-T(UO>8jnIJCeH7sgu1icbXrx7+)E^ zq~909oHtB#Rv7FKo!XxF?-w8HI{D(Uk(+mQs`>TKO6$x|QZHbV5BVBbRVKC!l-vCg zgE^NGQSe+Ddabo%zMHu(B=wcVURwb|CQ#af9!1=;h-zV%Q&bB;92u{eCQ~qd_@t?JGJ`l0~*~Om@@uM0QPqy^oEKHEpSk^>>;gTW-3PD|j-zOu0CmCLB zCdDngAX%hTg-yyLR$Pnul{?#qQ@2jGCa(F`$zw6~~ zS03o~l@9H0YrZUg?`fS|U*!tfHL@2J&9&{RpXYQPeQeXn_50Q}c-#%6jl1-@W^<|E z8XepcZyarKn@nYbAn5Hb-Q^@R;8Q7n3c23GbtgNhk9L%DVDLR;J)9cwN3{x_R)NmP zc1EOMiXuYp5{D=(ADrcuW)oObB4v@FA(t{ce#^pG7)$aj44V=B5vm%1cku@btQ0@J zH5~){=ANCeQVi_gEBBPA17;n&o;b<^X3^p9R?ks8%Pq|SVCU2NAEF8$UVl-Jzt!rn956UXW=dgjt~lS)*mz%NOCS+NrPLl4a# zP6ntSL!q96NI+*`9*IW)Atp#RRHgZx#pv#CFAcUJrY^?OQD=s@5xaY(e4YmHOAoyJ zx$$uCmgf51n@59+hP`|DH6D5P($*W^OMU)dQtuG`-M_X!@Z6inlUsX3g>}P~XA*s7 z`D<@{a^efApMLm*RjD7U1H;&& zhs{F`b>Sdq;!Om;OegdabYgzFM6R1wbdmt3Ttz$qgB)>a8iuZzSbKDTs}^oZ?pYbF z9zB$7+%{MqUAb2<`wC*iJDb{$Ow{(D`q4Gl{^(SHV*SyM<~^$_T%m6k+I718=+KVF z8XyMqb$RyKE3T%EoedMcjjn>mzKMp;jZH53f5vuK_8u7T@%Tn|-Y~iO!Go=>2Or!# zcGc{Fx3F*O$YAYMeYwZcS{z^1o^aR`oonO%R!1TB4R}D1tGFHW;paZV0#H zeu_3RxhOu!5h+DM*$UA>>J=?SY%g$mQ*UalD2z;K)FsBUg%*d3`3gVhH(D&dAgenK ziZNPh8A%2pc?&o`G>M{xpyK7X7q7c^s(P}rK<(A(OWeVDk@3t`I*ssKvb3CY&Np8h zxnXOA$+F9B(mG1(y=Jnx^%`9#{E5bzXhp-0E=gPfC|e9>SS35bWwC{eoHc-YzLi6YQC z{+HDF{NYGA96?GF1p`q8ohfJ_?uLZqaW{)U=c95s^VrHrmow%kiqgq9`MZb4Yo;H% zsJ&s^Evsv`ZyE~;?G>V5KKYxIm%sU`@$Jw4_14qkpue4yY}=Dh2CYI%LIA#CZo z_O%m7pF7sQaFCjdhg z7VP(2E$&Vx@dktp_(U$m5Jcj#P_~Q6F0vS+zyB zD)qN6vo}wRSkcPVyQz0le@Xr1<$HhcFV^kmU)!ZAD|-9hmu3HYed$0jI8b_h%A3;g z@AAKVkvA1N-+a>=O8x#t>^Rg?-I}^l(V}=v2toI9yo!5z!bFP7{jjIN8#jBL{G^#+_T(p z?Eds<#8FXxA1?9|P9+m~Ty8zn8#OD2l)biDVaW8_iu)76C213X#5%vZCM)WsxNO0K z!_Grb-A9l=3ZT9@?ggw1QB~0xgMUC49vLt*y~rM`n4JgK08D;>3j}@0f%*KD6$%23 zi(o2Ce56xdfOA8MFoG;G5vF(~7CIfH?AA6@RctNAQd>h+`TVVpM9FVcj?$MRwa8(5^oc&-Tc%l|+}{J)8Xds=H-4h#1#uyCpu zwr_q0Sh%NCb7Q*<9|H^5j4l5!I1?g|pM(dZ*<+eGtBq-z#}BiIvn&CEWdCyJfN)~& zKLs}>r{3hh@TM?``6izMdSD$smob4MA4S4~GEeMdAuFKSMQFFEx_$C>Y5QBagxS~l z0LY-Tzk@GZj2;FCWFNmFhH~{(;(!7Tj;F{!L+fR|f}{sU5h*Yeghi2q?k!5i6dV#( zgUIv>*evnXRE@^^iHo0l0fW&~9RA7jAByyf_{s47FqSfcRh4AI02U$nCmxtqY22ey z1)7F*o`IzYVXD&EsjaT9CJ;Y=pk$`LZX#Lajt^A~?uj+uw{^{pvx$~N56{Mik_m@K z;c+~4>ePF``W2s3T^t-aK0a|tUtzN0iR57N_>0F6zI4N&si?}+?X=2wq22AU z)J?Qv+6F5JcULsuzi8T&ZpXv2b%?g)R+pgJ#`wf#LxHx&FC~Y%uKMQjL$97%X)3Dp zbUCex?|+%?!Ea;E)=G2sS#i$HB@mCrMj>k>l2Lfh%P53R@5TbyJ0CG|%MM|4R=D^B z&Yi9t6WeO6e(FMI3kYHU0or7f=bx>&c=uO7YPMuQx{Ke2`9d)(=IbHFeOxQ|OA+s_ zuLVY_3>GvI5;KB(yrRy2MLMxDk`q~#Vx(%AE@fharK+*xD1Qwl3uH0uXi9f}tjqQi z*>QXx+qCct0pVTt`*0zSwAL2{HrF5VL){^Qvj7Jt+M|nWCv76Wi2xxy^di+d$?k8{ zAQKs=>Z)$r+~)PSPc=67RRwJxeNXZ9wmtEUpFQ5!cKmBc2im>e2UeDir#-HCiR|Qr z&R}!fVq=#LuexHi956WBL`7TJ&~x2u#}9nt=8^pVByxPr2g~d0r2Wfvo&A&SUABLV zxjjjJ5bg}CZ-Xnt3V}%oc(J)ygd1B_GT|}P5VTa~CIF&}?l(&gAp;5Hn3F?757B3| zc=1QX;-n~^IBlt;81CHGE~H9?RJNSkUGW~e-&k5s?^<&cgx%qXX4f67n0rXJRyc#> zx|WXXus_+DdcAz6XRQ0`SC1dWiH%43y*R7_=RNz5?5u)#tU7_%)YOvO*2$_DMc>Sg z{Rzzh51Hf^1T_oDWbG%0C|G_F?H;j>+(&*Ap{C9=Nc<#1;d#Ua_O2 zci(tdD(1BqO-3~3sEs%EZ@A>1joZI`c~9@+el^o#;&kZtIxqI@MkYh zT_ilMcnQt2o)7^zx+u@7yjV2^s1RI5Ka8vwfX|1tpgrru)y#QfYsjx7MD;8){bb`< z*&R^V;^%o_&;So0+pyFHw6%kj?Lh*b%C}{T<;Ia88nh!^0tRX3hthf032ut>ix8ho z@B}bVWYj2X%O>0=JRwy2%DO5Xd~PaLI(f_H+O;^;Zlm7s>+c_T`|qutxn;bkSyAEE znPP+Wollga7d8tEM8YbQ6#W^_t-!R)};O`B^>Bx8>uS6qiP9i}>6^3!u|2t?=e zsK&s2(H~0j56l(4?Z$*K?IRykp~tWshntcsI2{a@j2WQ!DMkV7h~P93uuRnAbZ4?K zV%R9mg~NWMDa^t~aIeKkjM&vcESfY*hK=ZY*BX^|6|?v6+I|0Q#kw(SX7ygvsZDFH z94%k7a^-5dFn4&}t=sFVlNE29+SX7t=Tv-u?pt-;_1kV;m-?TbGc!Ado0#pAdP-g* zw*b5D<2Hx|1k`toFVKiV)`BGcDNFx}C#R4ItNCEDSN1%N5e#)!)Z7abNpZ&X>*LS* zT*2^sRF;*1GVU*m$?6c2rNUGje_;Bdi`#ck_Fq(;mwbHR@U@%knzr9?-y?(Xp%>Mu z$d+TL*6!WW)^xgOta9T`lN%qq_2|ryEA@ND%5t`D5U%C$9irT2;@->+AZ4J1Ax>KjE7i%-w5`-Qtim-;~G@zlM?_Vc=m`TZ<> zBG1e>TCAy)<#v6TyH+&wmm49b04aR7+z1hnPn%@95#nc1z-+k@;%CrO zEjNNbBS|6%)}kECH2)abddy)EQ;8(S^RR{qE*>l?4>C739pwzmz=njH1M&}eMk5zR z0ajX;7lMLD#UrmPcN+?$p2$dFi}k7;twLjZR$b)&H~xD2*Q&o}(AbM&zQH_SqNI3D ze~ZQTV%0zLt{khk)cyI*PG7z%KejT-U*wG1qS3iO=DTEfb+_Ht7A=g}awdp3!C1PY zp{?V#_A|e61ntDVBXAvv7yL<{&*``tZUeR#&Rz}a+cYo_O#{=;0gf2i5_tAqBu};x zInt7E1D40$h8+>K1R}+Oj2)3iI@K;@e#n6DuyI9nhfL<2>PH*FD_aLk^4_c2^Z0xV z!7WdA*WWO<^2ku=yrOanZd%U=N*jc5(l%~s{qlCI+U#Azv#2m!%34t8kop0Wt!|f&O#_mmHFpNgk_zq zv7@nbB*L=JLu)+MuefBPR3JH72PXD7_7=m*6~ex3hSf^BD$;PIr{$=_*@aETL;_|{ zLd@Yf5>75;iUrsSk`O=)5eI=zstVYANj;f$*i#v!T^9F@Y}(hn{?;uuWqli_H}sXQ z?T>cWmYVdI+`5K;xM<>rjg{qn8#Zm|D>s$2N8`PrpvzY*I?S5*-V`jL|j2Yr;0RVYO;9HzaQPk>*6 z%GbzTVhN^nVL-OsB&b8B^&8p(JIt;}YZNZ)6?}f`?O3s`(3YRGo4G?PD@|&zUSI64 zipsU&zMbttv(ve`fVZ2isTZD{`*B5Fqt*PS_2`Crvv~{5r}loFEle%qcEZn@?)_J3 z&W%Wy278muxe-!2^8(H*&AETRB#7z=FdS5fXptkvL6M`A3cKjEmT-8LSF12f z^ZEa*ORz8;s+}d9s}eS;LN3E@mM+33W(Rh`*JNLV33gCGIZ#ySaf7bSYS!n0jXugp zsnS_d6so1jYcu*F&<@Yi;F68XCLM23fSG^&np-i)kCobP*k3bLoUiuj^gb^fsmye1 zbm|rHn+$hfEl%*8NA?=>H)BEvhAvG{vqp1Cc@%Rihi&#W&a0ohM>IG!)XczVXZS^F zC(=vu^h-(nC8Yl%z#CbqS%5bjX_;)>ya`W;z}ZZ;bN*d&jwB=;4S<44LlD^2gmw%1 zf|*2i)|{v?321B2Cdz~~1qecap{wlO+*&hKf(=Hq;VL(#%0X83)t6J#KlOOkKhqdg zMvJU3(wFcVj5C-DXXL{doCW-+WM6UR&;4&f!c~`Gdo2!Wz5#}djktVZ(ZQY}U zDWfb`_JFg>@UNduefZ)wW6Z*bxEX2+g{=+h!mvLSFd8V1WTJ=~gNrhlE`=|}4a5pR$OIv*Q|*4?-BcA{ z=6$|ny4iK}rSU$@97)cnY`?!6YbHdQ=3!2HoN4)3#nV3;X!}vSnXxk+X`&? z#wik@ea9c48oY8QspSXFwLUh7$cxLGasP2b{iC9kE5hkaXKOr^nm{Us%w87hr(Qo& zWN06G%?MW@?##Nl6G73g%s6Zk=HFl#Os;rMBvj}|Aw9qa)>2bVA}9jlK!pW-fl@^% z1Du=qf~Srnfdx20DgSFPxc!QRcMEJk8#&lp^xbb&w*_^{#z;i3^QsH&<>giG!B4D< zJ^txKJI5xU61-vOf4#8PS7-cYZbkp*rhERurp&iG^1LCW3-_VATH$To*m}t+qjsdT zwTom{1^QieVh-y0D)jFqJ2;HBGf}=jQYeS5Xc~HiGf1|_ zg^U()iqz5SLPirrQ6!4HkkR62Q`F-^Ml<;1g$!hHAeJchTh@dCeyn82XkO2g+FuNS z6#cs_G#OSK=JmyvQtQT>r=nd4?-<(p+R7fSB}ZdX8=?(ep;%|RW!GeAo%hy@Re37A zGib{de%!L+cfyr|tbFDE_VKI7N>@$~>T`0{x4AMmad7v6&9+wAR0q}<4Y%VI9&aw|F3jwF^BL}i*9P-a)C8(|j-J3oS z->A+iucoA&ggBC1crx>RV$9BuY6y2hd{y1fPvp-{7SHZG6yNpybwiz3Ja=f*!$;Z` zc~+xvsphVuO=E3UR*#;)sbXz1cx*ra77Iq+_`Pd(Jb%MT%aJGcxq_CQPv7Y(a)JC% ze)gTz-ST}vQz(IwD&(ekZPL&KOKxRc&?+jlf{;hsn*6PL9A9moLOadn!5YaErgb?6 znM|$JQ+$};$Z0gQz0lV3+%a^kX0yXWL89G5x}=HII&6kQW1&i~(xYlr z$tjESQT47MGaS4|QCS%Lk|qR-(}0(n5bqaF*)Y;W#Dq&~K?M4fq9+8e9+hS+7DLqW zxKe4W<|_>c_g;Avw6_BXukQ#oX#R6@(pKJ89_=i*O$x#Z``U{?Illcf2ikLIuZ~Su zG`4pRjW_SPYpnfnB_Fc8*ISx*-LbB)p}=O1PaHgUWV%f?b8)aXT6V%ykf&4|OB}NG z;{$<~a)+a=B{(pC#uQuK;t#Z}j-KxDn>!NaW8RXRrUpJS3a@^>&8aZfwhllTDis== z(Pqn4>Rj=$4u~zp0scL8x2yx=D@wWwF?l)qn-De)d|6Oaz^TG@h76ZrO&LWG*pty5 z@rR4WoCjpJxRu4jF5314up@7I9_q}$w)xalwC%)8$CEq9dp-3Ux7A)!+ZS)y+!b&& zPj@`;<4aRj!n-ar|KFOnnJWjUK6m*FQ&F^F%9sz073i92sU2(e4@MmP0Z8*&95SeT zt}AsfY8$?f_>>FCwg-}qK`K<$!aQllL)3%EoR7x@1*ecsdpWVR!6ukS)&a3Osoy#? zZCDb5%y~dCB$Z4B+2cfojODh?0z_qDZ_mr^;u0R%;yhSxAtF-=&A`X;FF>>$0( z1yhL9k~S;zmS`*LP%Hry2h~ha%u|He(Y`ZQ%dbF7h!RiSkzbcOy(o^)_m0%9t^-?) zvthbx#kNq6QJo+04!9b;dS{-t^)uNK{`dYR=ypczmRLmgo$NUO4|J})NU(V@5*|qw zSC;EMdZ)%(Q!ySco~Y{S8O6^X)7>ni?L zo27hUCegTOO;!7)Pwn6T)TQlJt9LiXXZp*n1z&Mn)VUfQm{_E{#+{p^ww8UdpnjsI zecS4GkGp;4mX`JnO$G7~%J)|G?j7wa^bKyme*M-*54W}){Pgt1RkQtGZ~xTM;p*vl zsn^lusUPoYa5@@#M(aE+4qqAB4>dSf2XL;6C{9csN-kpRAOOIDqBybi2Tqz4Z}esz zv1LGpVI0o|AVZwS`Jvdw%mBx^L@{;sZ}?FB~fMz zPe+K*^pi`SZkd*Zj9EOCL6usY!L?gm5p@@sjN*(CR7sH~ENDhVt4b6Pi>4%t!4duV zMB_q!a$Z7g=L7vEb*mE)3693;u9F*-c}io%H()DwI19wo0D|bo!mh!w8p;p+aKXfx z&A}$f0XB11O+l`;1~b=i`xyVBm^F|K62B`_Dw$fCf9(8(sFc8M*6 zxkzuBf(5~kg|i?D!?wt@plAva;Mu}FZ?S5ex+IfULab2%${#ZRDH(U(VS6dw>p$m% zAU3D~pM4sf7L1|@(m+4aUj>)J%&wswHyF)v|X>HUknOA!(3dUZki9 zS;Lae4{xbi-Bn*8^jE|dr=Z^>kWB_I63SLm!kP?t#9CbM*WA4@IZe8W?1QJ2Uy_4B zlcV*xRa%d(to5j^O0NgKnj@`}^eQAYn`nZ3gELRfvUr)T zS1doz-IVfwg@JTxW2tHWdu@YVSG~d@0KH9JE^|5Qyvo#5vdbVt*K&`FI!_-(;G#UjervdqvWIWt?0AZ-m*Kh%=-54-^n6Oj9VNFf+;7H1@F|S#{2EU}IIg zhzVVleH9iaeG!;6R<9fxs*6`wmX-LUh`yr?TAa#oRI$ivm9q6x%qj{emOKLdi@J1? zLyw{oHrZvBtE*bqbvB3mEe-K_++DBn*lfk|zPhs3VpD0)*t`f@TZ+o< zfoM^Ix3qn_v-RNG>hAh+LmtB1Emgj9yj(RJ0COQ7zNTat0T0tNh3**uNmH1grOd$8ODS8HGRq7C@WEGVw1l%L zqv6A6iWXp3cobsr#wIsmn%buOo9Y_-r;`sG$+R%Qw9ut&!-vMYI{GRy&+m>kwKm1v z*(S!N%DVowJu&uV{Mq+$pbyCN5bvbUop`EzJ-{^Nu;3BNVaWs{am#$4zr@KHJY^Y= z8||fx8K?&QZIy58;1%t&j~{8T9KUqMdqbCvRd|}l8=J@5tF484*=(q#%$}INWpv=` zJ*yqR;x}lb-P0`Tm$Em`i%T9$d4PiI_?i*^4nB`*=ArLV*NL!YZvgUV$rKO z0TdtdL3N0=3$PKS?21$uFpg&;PAu`0ml`NR{WAku0*eL9*~h~A%6#gg!3*jFu+VfH zi^k&^3DRdvH35N0IGw>-=)_1zN-7BePX~)y+7e(4&XfZPsp2geeC6&6{;!qm8b%He z1hd4_^p(|ld6jpUSG$X;h<_mlY3^=|38V_iJKILmen@*=L-~h4?Qa(kfWSFZpOv4$ z{#QZfU&Ji8XZ0v^qLO#^3+j9@^JLID)WBtc=>X=coZCo2Jm%#xyn+XgARsKO#UbPi zFBkw;TPlGG6WDr24xY2ud3$%IAYF2 z@0))9%il{~qA3b|^_4&VpS!mI8v@?L{OAgG(DtpZ*9j+INyJ@=f^Qnm>_ou(Q6Y5t zZCC!wFPoij!`3=`3;c{LmASCBD!Bd3uK@olFg37NX%o29t}A2afXx9!xkLuYXx4xS z1@4AeuO%0kje`|3jorg?A{fS~TB2p8#ncct?adO2hbe8KB2t@nP>o{Zi7hIr+EQ zqm&rLvlN>_@(LX*MPHDJX{EdviN0}Mh*T`nfKh*_l>9$1I*M$&j0cI?%Muh?i5jkj z*+Kr@sug1^sv39QHJLcPdxNi6S7@zj8Lo|XMQ!ei=45k)dz;yv$qvdq(WY3ebIah$ z>t_9%Nhg44P}8)ScPApJiLVMHyI@Ic!O~XtI6|^yuIIBV2gj<_!8s@%=MTEW{hVCO$wKb%a}G_g$0vEQ^Jhsa6E> zb?`va?Mar!qJj~GE{r0X2rForKaP|VqF4p)Vea9D;fd6rY1*=F281QxU{*msxDoT# za`oJBGPgQrGQhIItVt{%G-wPQqJqG*Bdi59>7@iRQ-f&;2Qwp(ufqT8^XftYTM(Vj z0QQ7=6>&o3W)q1tjVDNR!cC=5odR#SqWvwPpo+P*;? z5&m&*5C3TDG`~?Ue3*Li!x#A*X&=G{(=gqNe%M(xChQ{@)|ddfXY|Q5si{Bwfq#g9 zHnl=7q;}HUB+vdy@m=@|d63@8q$Z4I0cMy=wncl0c<(YGLB@Hw@Fik0K<~O@84UUP zVs5dSpj6wz6Cty>64bnog;Oc8Z<8I~boJ_Bar>%BqW!m(>rbxS`Q&9?tDi`{^R=&} z{`%#$@tGUewB-mn#@wNa;L0mEd?mMT^0MI-7q2es8J|3{Iy`vob30Fb|J2~XO|Kl8 zeDLaRMKe0D%O)>>Y=75*wTWEZIOeD%^|<_);@hwYhm!*a-!~F$i7N4!LO1Kma<2~r~WwPrvihO0zyCt!C=Zel1 zsgtr^26??`)fHngh3Z;U-oW_9XH*)OKVtRx!KQ7Pw7OTdCAJpJ`p!Iu`$N13=j;PK zs|Pm7og#E2S9)X^B8YYx&>IQQk3V2@5wau95xKpJVGDV3sd*yf2i`S369ko=p=@$# zdL*$Npc)}FZ|9DNox*{csR$Ms?!^Q48a8Fl^Gz9*M=t88(a4`WTkoY#3I~7l{V(V} zid71&B3H9Y;n6?3^iRizsLy&bu~#PiTskt8fbhjc8xe%J*L6*0HJ!$ShP6|q41!zI2a8@ z3q4|iYravdQ7gFsAJCGaikw3s4^x0xCD}g0r1-OT8T#_F_ro&5UD8xqsQZVDTz=Dr zcn=D3F2&5eN1Lm9@^b!fkz(EDTU|lJcNE`N84Aqr=*^o2W3VNP4Mek&p0Cwcj75zF zPP`2zChni#vi(y-%aOjO!G^mcJBk5XPi&FujlCr*-9wRi_<=66u_qOtI< zXwoR_qlMOFla}6h>8r+*1=vGeMGW&6D6H|;WcE`Y6#IFOAnhlr9ra7LBkOLu^nT*j z9`5lxp>GNpjG@0AZ%i&k#YDkO{OLiP)0$iFI%4@3-Um^2~nEJR)kUK0SjdQ2bDA$2N1qgJV zR>;kr$;G*=r3(?J{dm`nC%siwkx11@)yVMB;6VS1o~~p|eO;t7QV~W&lz@J|U2r;; zwd&A&893$H$+k3`PgagGGU&Xs@NQR*|9e5Gi~S!6aBp*82izxh3H7){@F7QFw` z@@s>$&E&oEEcWm)UnGh+YbCPOe#9ie=O`F(pyfSXyt)fsJOMoLu6C(+lU5AUEPhkb zLqIJOoaI_RCr3Q(RBS7gsn+G?3M$oXuU@AFij9hbB*h6X5$VekoK~B@1|iDyuOEFm z`18?>WeghxyM!*prn!KxMKGCI7l%3Qffc zkNqH(d!)k&nT?>l&m8jPha@$o2>E89#`-$DQz!qH+Rx+?)pv9^E7DaU_mqqrUg0XW zcCyz)gq-R$}ZI>u&*Nt}$C+wu&EXC1vMm zVZ}=qxQaOo6?38PQMP~?g>&9TT&${@K2p_TO&hr`?yP8z=7PQ+DoCBf>=`hOOMhU| zD0){#jWYN#LmmQ2{N`SS(iNG%G&r){Iu)u(VB_hvxiYnSMx9=|7R+{LDAao9j|=(~ z;B}Nr7O}&^iC5!BGq=G0So#jIir(fXj%!agbv1Y4X&YJ2trlUCptzdnSexgZ#U(8V zQh{lUfvLX5XD~W(^=R6VC^Bz|uP8S$Ljq@3{$O!LcloS4X!y1yahF&;W?L9cn|Wg> zV_T4xd^T-Vr0p%$CU!Ra(^6R{uA@pV^!U*MRysd;m8d@FUrp-pCXg`Vil-pxv3-%gh%Hz8k7Yg~*|Fea zX`#iPVMNK1=4Z)a(#{ALkv-^$`pl`v z%>JmuF4~HAN7QdlZ=?&^bjmi-2uvMYWF0QH7GVea;rG9Zm~9Ky;4^4_5Ur>j$mlfj z@Ym49oQjn4vtC3Pk6x72e}q%1Rj4x&1ob*tTU2idT|b&b%;B)@a&za?bmGUy*mz|2 z&B)lNgiZdYWT*|N0u{wpFG@_rnuq>tPHi{49;sCn*e(~|FfB0d zQa@vXhuIQYpHyqYiXfya2?>I+AW|W&hiVe*G0rQ*39~oxg0`XnNka~_*9g4mFj7v)+cJJ{C-n_7A;7YnPPEd zD7|j;%a*PYT6QU=Vxp`SReAE~P4AIZT}8y^wHb5FdHwO5u%M~wWtW)$LM>Gq2`}Ym zR{HB%0VZjkt*CXOWnN<0rRpQzLHL{O#fNRa5BZaCF-%ttcQmOBqJoGztAdb~f%xfk zf?`!Az%(Neze>ibrZKe&^hJ}BfK1;qE&w$AUNn#m0U((Ost`ZUkYk|6&mIm2{OLC9 zlxwC)u}UhwViSv)9b8^&xI2&6B6I=2arbRwp@G(ceYIn&n?@QdJ%<9Zk5-;$2Y`519Pj z+q)VLtZxL-Bk_aC#5{E=_mG%P)<@ELYAXy}hS0z(VvbsT1$&=$jKc)U$AHR^Qpp*9 z3K1QHqEa>?G%B4w&WuTV&v~1GloCbC#OxO>e_Tk43#qGGtC-ichYFb8187$X;_<0r!5>4-tZ(~|u zpc3|o2x?e#J)M+De*z5w1Z>f}=MdBoTmw1#hzQs40128QLz-tl6;a13q7h@|_7%H9 z;}drmwNBJE%#@fN^&P_%vkxC?NzC53X4mN!i@xG+fCl-B#-xAvvWfANYfDP1A9R&@ zjVn*RdhqzGS9g#0Y%T{jFf*sDez%d=h!16|%&y<1d4*~e)7FdMB03*{s!8DmozB)-APmV5d+0JXZVSwKXK9AisZ}77XU9BF5)MGK}Hw!Q5C>|)v;LE z$EpGr8LEhCX)!y%vbDex?b0HW0Gd@C%S$nvGyDvUUhjkYtOaB+H=duif$a{{%$KwjZi z%Yc?{1!!r*(bi98Kuhtc;Ql}^ftDCwlp@AtWF7aKBnTbAdDNjwnxV#!KjfJpMDA$u ztB`|?n?^ghO{SNhnBki=aN({1cwRlXR{i7__b^;ACJ$nR z)1l|C=p4H4`Cait`(}%K^d4(f+gMZ6OmCS|II{m(FuAtkt{h9yweN`|EhE=IzvJ5P z-PmIYw^dBoU?K+l4-Mm?7RR~|-;^wn5bCqwhO?Cn6*c^5KT>g|BTha(7n z5n^vfvkoX9wAwoN!=>I1zVeX2q?|~izyqxCKyAX-1B8hjj%J>h{#zi@o`ICc^r4gI{hR)~k^ZC3PTAQbi#ceK?|2 zw<`7nh8=>O3(8KRr5SjcqZTsc(WRxJL=a4JP1H)TO)vDKUF;$%p#B&aiQhy9{>Qk8 zzUkwP$CtpY1VdtdBIFPG0)B{I;QquF7cB?yeXw6dvnrb?G24ESxpj7YQ`#qTEB^7mX#-<@oppKcx?W@^8-Xxd4REj{a`>e&C1 zhLNG3u7D3)F&6ZNS)edmqKI)OQ50oW4bN*k#_muHfFcW;FrPGS{JYT>>p!xDid~XM z-!JcvdsbX>?{L}7)=kAd1`ld52I`|dm5wcY4wb6PrY&d!P8q~hCq|By(JDvg{f@x@>Q!(jK{3uxYtt?ww~@S zIWUJK51w=mhlAJMQE|_b{lGLzKCAKYarW7CtDwCsIVGcTGix)4j zRnK=VqE3B1#r|*@CTl=!WkVW~P@RO4UBY0Ux6d+eDyki1qC%DYu(POd*nicb?LFHo zf&+&~8rG$Wld8+RPrh)ZpGCs- ze51tAB3Re?M$u=TcR*SK(Xj~!iFPA52OLc?K1RnTh}BFtauPLTI^RS&?W~6B!iK8; zqFJkx-#zrgW&2;gX?Wn~?_8SPzj3&*%TVocRn^o7I(GFJmk;mx2ZQb|yXl(LU_;ID z%`Y7|_>CKfEWv8`9*5SHZ`UhhYmW4eT(%C?;5Z{^{{v?PY%yTpNO0j~AQ9AOdYUu1 zF@uBd|fE_XJI(nHp`6=Hv^ej%Z*?gVYxTOO_0n9mX`-h z!R6>AJ4igt&?hn8B!*DL)^K_ru;8@A1#7sK_CYqiqZO!a{%y0l#BDFOnq0Trs#*pr zqA{}&@>NEBhR2%11^%wt_O{thxV#OI8+?%}UywJ)q7?%z)wXR;qt3|>d!uGwsXt(^ za+e6U!V0fZ=kS>(ax6ak+iPpLl_aKnONx8eS6A$+Uh^mLiR6l`kKT&H`+OxOJ{YLn ze$-XIjlE;xDw9z&EBwHJdZ>YqfW3nh66@MTUWV9l!NQ@5l;221d_2%p(tb~eG7?7F z+l&bI#8~-zqod%3l?xwynSZgqo2X!go8}HrZL6;mevOY4vEF|}Od^!#G0>p{JZgo| zr33+OmQ8oT3eUVC$#IqsV6p`OO9HFn)1;aSg4z2~1dfUiSQrv|Wr9tD;9@9Wp|3~wp8#T)vhmMMrF^8nkstc1owGS zDdiKI%gn1}aZtDj}`)dIkaC&p8$RBY$(0pt|8A3%5|k;}NU zYB6tOJ5hyNsaBvjk2F>1UYMRJMxI67x(N=9S;1ob8>E&m)#vCcH`O!|7Ig`ZWGNwa zZ1Dt1(>JfRz)e@|t}bV@xiCKbG`0)s{pZGr?=Q^_A$(n&RootA1PGIbIm8CFoS*AR zCJT{RqKOfD0JK372yt0VO9)n(&hwC*#7B3MEAEulYsIfut zC~fNyBMNvScBzbRD|(H^_}A`#uOYd!zu4C>6pbVu@7*s`#q%6yt>01T`_kOw!nn6- ztgd=x!ece@Kb@=pe`tFT__(SwefXA{(P(Bgy=i)H(nuqXdL8xZUS+w+mK(NZ8w>_a zZvhM@gkT^E2_Xp%5J(^aLV|&0DM@xyHeWX7pFi1TQ#S>&Az{4x3Vl~w$5B2x(g zGnktUx?cEf#J=%N5Hps@j0+YRf_x<|#LpFy-_DG(d^evu|Du%Tru^JLTBXD`xi5;3 zp)Xl(DA$iyPNHcx(FV^y!r)YGQ%Ivk9tXS$y;^?c9{eIlPZbB2-i{8HaNb=BC`N3TQO z3z@7ZHngj&aeZfSnKf?Wcfa$T^1Jy4M%e>-1`chct^mJ0nbRiWaH&8J6U$AekgQ!@ zrbI|xLc4Pll)21J6P2$^K7j$Eg@nW*oMrVL0Z+ie6qkb7v&3SBEGOn$gk}a_Ci+wU z5O9acpQPEOGTm2KVRX0mEl=;b%I6&3Fje=tFP~YzCfZx)IkR?U)8+(azNE)}^%2{i zjoIN^+rK7)oJ4ZA_jAqlS;AvrfzCIq`A`q<&}lEYF%`3T%EGKZv}QfG-}6W?nF zWFEvZQS>oO`OCDJB$5QFErh|+O>+ph0|iTkQi)Pwacfz@r|eYd@EvW~CP*5_B2qa@ zc)gH)D}{{CA^yN+QM#8<$a8AmJXm+*rrM$)3>fq&@Sd(;6YHt-{Lh+|Ov`D5K}tL`lBA4&k=Xc&jYj&ER2~K*qPQ7DaxG{_UTq37ARTy# zrsV%F+!150Aum5lRk9pYd8CVbGqaLp=08$kSx9+%kzhvJpCjX!z&Oe<(oc+Tng;Yn znMp?8qu)7Oy2B_k@T5tyT5*Pr-`zRA9XJ94cH%h3L>>_W7tjP`?=0=SMfoj{2s;a` zX9?{-?a;+`7!lB|fQ@1XLx~&BZ;BC-ThfRG;W&b1UV&)jyPI8(@cm(-Pc z96UAkQtCTx5EM5O9$w70Gdmy!k0d?q?~thu4mo)&r*YRXEiXt;jF*E0@mo+yoEHSk zild|tO@7i29K<4O690asCu+`nMB)2a8SEy5hX0)ibLH*4*&%H3G&yE}56q0(pqu@S zug!%bQ20kg-1IMsHhcpWtbiZ~v?VF_0pOCzYc3**m%JSSJ`wpqX?*nEo3O~J%b+Lz zzDkEaXb6Jyu|ivp$Ec*Ri4ST`6D3(fdgv{xRz_zDeQamC>yS5~}p z(Q`Kq58w2h%tX$A^Y{lpc>MYsZn@ynOkwmyeIiZVl)xJ!juieh0R*1-Wdf zIaGx=(xl-*h8YdT1-WeaMJ@e;rAMd3xC-0>;#O@rcB3-9a9P>RutEbdC?Sa`<^~tV z{8rElXNK7oGR}`(Kn%waoAk3BfG%B(V- z9Ls#B?B~W(Q`hc5!EvFbbE-ES?w#uF+D?CO7i#(5{0sbNW^d`Zf6IXd6CJ z?(YyTd$wl%v9Yns*VWdpyL@cy*!mjb#Baa+$LIGnb*wz`wL^zqJh7^?Y47uRuWr;9 z{Uv<5L2zdwQ=Q`GJP0|k90?vkONLmUW>^k`G$eoqghQ>(wdqh_xX*^fAT{YrMbgFj z?kyDau!;30S?on`i$XkMigl!d{VkEEBVW4es;7=LM_L8~sg9WG%oR8P+b0hX2HFmM zbgFgBc)Q)+F}|f`+kFSx0z-#C`EUH!+jkBpV`CSNZMb&I;2xrAVkSTpmK~D<6rd>!K^6k zDro>A#7{`)A#f^ik&|-TDBl;frQJeqN*SE&gt73hpowOOmGa>n9TCw`J|e%fb8e+eg^`#rr!uDUJfcLA;&Pv11WYAu zXmrAIy;IDtd2KN&#iqFgb{>$6??Pb)1U-pt8(K=iBZLu~Yf2G94FWQd76H=PEE4o| z;rPj57dcGRc#OtPUq`~DbU2}%uxVteTi=R_7F7uD@WmyAJG+TZq-jZaLANl@pNBu- z=h!E#+-kOUKCOYyM)kHem{E+6hxSub$*|xuX8JktmV`GWEsU)^rcvM&tnDaDU1RqM zE>$e!A*monNy#VS=3;p#Emgunzs~*-`juq;>PJ^3yPx%hB$-eEe=x@cFyeR*$OLf) zSI#>%@eB+Q$?j)5AJnX3y$e&A2fs}qY%qJ(ZrK4Ke0tj^t=YR@GXG~Ur@jDt3dQPc zkWCsc#5LuzQb1`@pr}}ei07OjAD*jlD@BM1+zF0!WVVN>f(>&52AQ5D)g1a}W}wQt zar2b0@kbr5&uM+0jyL$_hwh)Q**EP-7=@s-sx{a4@!!}yVMXn(DgGK$!nt!_&Gh|;@?Uzr)9uqfR@w36XGeR3tyRwakNMxb!WFUm zr+W^st_8outtJZ}OXE8=L(VrsKV8m!C}&s>y{*=btnU~&>BvYRW0VRQqMPu$fm}od z201jMBv(wYvNHC0_cI%od8b&Y2?;UtuPDI!m%0*@RlX3L_4sHw5e-Ia!%$*@%#buQ z7HX21SiR(rJ|LnCGb}64MEP1)rQH**I7;D)Y%T?)}Kl(Y|D}WHngoR#mUM z5c-d1J|*2&P}0@yxO3aSFSLqn3yI`LubRx7GyNl=S1K&rThGZthjo+7e+2%rFM-eC zbJB2XsP+U1&*1Zbpkul-icQEzayZR?As&drhUzGBm6D#re5I1fN|*bv5ukh%W1?f5 zz&<7^i>&}Jl^cK^K%pcQYM~u=Te%q|UpcBr2BRoVgTe|6yv9qoM;Ew7?4?>~a4x7Y8C0NnEK|i`UdCCHMl(4#5D98%+#hbXR5tlik;Ib=XN22TS2Y$) zn7}2w<;H=jHW$x(n%A_X#v=Up6B(;B;qpcm|0o3}zB9h@uC~7M2D`=$KG_wCo|W;$ zvd*Z@QsIV=hf|+@Q+P?)g|+o17>JVjD1HCD))W}}Sn zC_H*Y|`_%}NewbjS}v4b0xz zmt4eoR0Ti&w~_M|;-+&NC&mtX28?%UMnZ)LeOd`^8r$S$>O^Q=1$H&EUy)A-5iV67 zqTN|0K}4-p)LFuIPl}XMUPDEdiCiqDMVI)mF4UGN#|<@>9M@3MpPEulN!(ddQVIG% zJ!+oc4}Cz*g}HqsL6Mcl^l!<_<G=M5o^kgBq z3C?p0w@|Dg610Soz6|a(L;)BAB1%yf8KMiqxJGQx$o9maVl01{MGyI-*8r1i>b`H! zT0|6QX3p?;p1Fp9X&FTkKb!ANugGRAiU;0$B z5DL%-Elt&_fX`j2*8#5B&Qvn^+~!B`n~CHEG3RU${{B)RPu#?42*v-3tx9xkAB-)( z^|^xwpSxvwY;Z?MVpaU=>M(z0a-=0#HMXm@b=PQBuw^vCUlpzrb84ky`R-$VQ;%Fd zGII4JQ+>yFFLx-_mj{yhw^Z3x``Y`bdjf%;>HhY8tFkIyn+#lz@375 zO?ttc1;`#<7;S8FiRx4#t4UIn=3IeIB*95?GgwsV5JTx=PSDxf6^*;EA91h0>!q3X zw@o*Jvr40VE*wylsf@1Lu1MXMp(=AA?e<2rrhroXo3Ucx!Viso_y%0$p*e<5( z0FjpksV`J#5=yXCXfmsCe8(Lvd)4SD*EmhY0QVAq-!EKNA(EM_shP~ozGijdw(J?^ zvu9OV{F3H^IbY17hMB|DixJD=Pt# zNN=cGw@K=3_3RVgcCWYHC#)bq40-A~MWu2zXXiY*N;{D`vB4>N$HM0t9I9j|Dk|lw zV4zR^jyh(4RjAd5BhP-#V-{@gCO7y}XJ5CvlwOxRKh2(}gf#g-7$+-iJk_eXReGW)bzkLk|xnC}PtjrlA28-=TVj{MKU z-F|;}m=9Y*^lqsApcurnLXSf)8J#}ega&CN0@dL=i7z75yr z)Z8Vd4WV&2Hng=gbTxL-cTU78*@ZOjLP0kG)u30)x`eD&%lL!2B0=><^_>6V_782X z&1TF&!+0QJwzb~6YV+00LOdVro9>&qr(5gm+}6vA24#i6d93*Z+j`QwT5Do0{BLx* z>FdT;-QDSGbT!zuu1F|aGrXy~3Poain^T#lc~ykov8CggV5P4b-`)*1?>Xg@T<|^k z#bItCd$|gH>tPr-z0a<9L~<1KE8qqQ=i#==Va=x8@m{}xL#SF$;C}w z$DTgA_M_KN`|@F7lc9IpW&QV_WZdFB^nXr#S?&*FoSdIN21tPMVSzs>1q_KIR+IW77_!B@n1;oc zZrqd=f|Dn1_Mxr$Pl+$GxHV); z3Tb&R=vnxj=rkOQ7&D9}>K{hKzelG}D{uiE$24Wqp9KQo^j5R)wBv-Q~N8&AA) zMGJx6C#jg+_$glXRel4%hcZ1e4Y?7-`EG=LPke*zToQ5t<~+R4Q|Kg9%djX!k?l?x zZt(pfu*V>nR)OtJ=vsrBscF2qYypNnS`xygu(a~VsVC0dd(VGAv3>g!|9#KBXP%fk z(?0X@9Xswn*xr8d{vA6$KGUB6Yh|j%?`=vtoyjJzza>>E{NRE7UtT?Q=vChEzyrMD zmBWW$&A<7;<*(c}Hg?-9mmhoO_}JL-SC07_>54|5znT7~vZ2_&h7rqd!FM4X|GuYd zDSnOlEE&s)XXEp5^qO)gQ~p3K$Jr0C$~jxGaJC}=@LMY3Zwa(`-8Ks%w?OkV(FhB8 zzG_Op+mWw>h-V?L%_vr+<;?%0wl`^UWLLMXxp+7j9JzFT%d%SAy44@Q^41^RIX3p; zpWgA^*S3vUwMUG#yC3AgVUIWX0!?vy?ZkC!kp5h40a0R8*Mq{C9Qgj|J)5r!8S7fR zyiI#nW=MBI{9Ey5#oxF-K9jSwqP~3%21f~ih2Vol3=C_coNLw|6PbK?*R;bx4n|V&@X&Zf}uBTPB~hq zM%?Lm#NtyYtZJt&6%lV(h&W%2OV?LaRBarrR+Q_?jscD(A8+q9P<2)3=V#eYQ1ly}zuB!I@Yw*0eprl3;{AYoF zsIkM>W>)FSw%jo1Yg;+YpHbY!u4<#J+k$kLe|$oAzwy&>xCKXISqF-L*|aN?xmC>L zmVm=ee2Dh7v%pz@5xSF?aMq|bS%_$$>cbR#EDZl62ymUqFl#U8jl#)lVq_)Q^zk7J z79724oS6|o+Mx7>_{B3dm0rVHW8D8Ad{-c43mWo|{u~iBUa9x_S_pqF{8(?zziPMh zSEpQtxRZa=QklQPq33^u$6;L}E`%5*mLlf|*o({-3X_%accZ+a$)o@?c@(7gS(EUq z*?Zr3`DKOh&OhOL0XaHPDl?GXl&Al#f^U{`%bO4mXSwAuXoBl#3zfJ z%2}0#Y;h1qDV2MGb&>9Vj{NdMd}`<9RjGGNE&s=U{`+z+{~fD3vltT8nmYTJ zGA*zZN?5jyyl(6Xa)21?pg7w>8wHgK@eGFUBOM&a`T57$A$4g}ij>eje27TxWRNZu zAVx$vL=!+ULEaH!%9geILLC6P5jrLRxUfC>USjO7m`_acXHnGx9%+8-T;@F*LgGvK z4keL?(WZxQr88L)k)R_HwwA-E7)6>2A1ot*CvSQH9Wz>gTd?S3l!PP0a|gw@M75It zV_vzSZkVD1#e*vOzrVA+Zc()`(f(=F02FQ=nO7(504rAbLVB9&SiQ{ZRuTC^zJb;T zI4sI?_-00KEq{|V+KzGLu9*lC3+i5F2kL_a5R^gwnl#MC)2aohb96>a7cMv>f5v9a z48p-f(<@UTuX_e8Ydcw}v>Y7Xg&a2tL% zi7I+@I1;qR!tv@vNJsAH`I97Cs*uY8(NbfA8^e+bFGkhDX13DM7*#mM%nZZDeL zro|K!XGFWlI$sz(J+DIT7Lx@w`H4B3{GI0(Pd0{sS3pMesuP%RTFkg0nCVUw=G;mi zMF$v`gyVBML4{aZE3fL8=iEwOJjZF~Ma60DQdj33OP*2pWALR1rwVg&ip@n@`0^Ce z>l8@q;#3nTr~^DV!>`aZY?yZilz#aFsL1kx%z zf#?U3#bnv{EjL#Y#5kg+6q7>_;P9XOh z-;aXB4V(t9BaJvyqRkQYr!4L{jx8Fgw2_Qofea!I@I0@Tc$!MCC2HIAymrxZY0jPJ zwTqrhcHenkyXd(zd(ZRQMbDLFfu zjy#u4k4=I7lQT>7p-8F$a3*Szwq+?MYzju-6GKz1062eH@n399*KP^t|G?YlYu)kULom)_LK8q^JF`@R~OTjn4AWVgoA#pZsTU*Ms{Ul#wn`AS2{S?$1HC9kBMx=*Wwh54gGTYBFz+NguB40R9jASi zR!4@@Xf-IAA<+QI@Dwn^ilP>^MzmTKhXsE)S2jU80{a<3IL+?&cilmD9kGP8a~j<_ zo~PT0$_>alWzUxMxROUpx1bjtSab^kh#Gd;61TwaF7^H3FsfR>0HpVzo6*c$&=tB5 zECKm008+>T<{USnX_pJ~+?L6SjT_c2A0HVa^iDYF^He%zc0B$3{W&VlN2>9JGDiiD zBXXypCfD3H4Hvw`l?VHSg;^1BT~gXBwryGy_JcpqtDoJGX^3^Xe1YoptoR%`QW=-t zb?Jn&V@T%GyMBY;2QIxtVq2L(9qIArKCeROG(y^j4EL$b23<0Bss+U91mu0ry|qNZ2=Ue&1bMQ)fkNL#WMRTVYm6uGa8 z2ucOzi@}tac8TISb?Ld>;=`gurb!br2}O{xX6$2WmQ;%f({_f1g-THTU@Is*B)jke z>{&DHTB+EGl)|^*(p($NB%){{8))9+&T%y~0p^CnbIER?+A=Los4HTj%s-Seg56N~ z>gP!L0|oDr^+n(}*9)k8ggVMk1_qX+20DN&bMi?NNDS+8CjWY|s>o2MlGi(YCLmNR z`7hR0h&KcZMbKyODT0i3liP$3NQqk|RYk^GRgo+8rgD+$iu8k)4(jbi&}oQEv6t)0 zwR;&RTE;z7fEeDlQuMQ|XyMXcuD87<9t{QDm5pT}jzFzdpU}=rB(FuxD7=l7FwNG- zoZ_QsH1QYs+BdZRa7WrAPu50fe`J z^fk(N07w|69Tl@?1M>&`cKwYLHD@|nop2iPqD#DAGW)#)N7gAm^Y+%(M&ah?>DdCe z9UH?p5yL72BS$8ehVKhg5e(|sE~MNwrIM+d5702nFfY=QNUY zz+ju%jDp*qG=IhGh0IK1M1V9{a!e$qPkpcmoVfYj#-}8=hUzhL3LE^nYWN9jbJeJP z3U4!tQ<7aJY{N_-2QP~-a~u%+;^l(amGv#A~aNv#3%rD!wib^=ZqOz6=ss zz6$;b`Nw%TK=Bohn?MPT;lUgVXf!vbtKw0D2bzu8v++q$6%8U=qFn684pu&LQtkLdrn|3ee88}zr$^sj4)*+Ry?Nz^7^?Ufa)_(=R89i`JOW7) z{$C26vV<)qu*HRxt+`FTfOC|v4uqA6VkF=vdAG)Mz=`u{Jcpt~HAeN;uCHEm$ycxIAG`VVMMs`& zU#YgD;$Q7xOZ$$&cxrUIrDtOj1#ndA-K*9RGuM%?-L`yL=OL}$?sinIzHHg@%T`yp zqLjqW@~sqZ%tsw;LyD{wkPIw|jv*Pa^#>Ed2*cD6Mgg^MFo_7hfNhoLmBKxK+sl{b zFXHdG?B(0W-;9qQ=zrjW{sW_60XlU0)@2G|`K_l9j$t9qUY1^q1Y0mCLFUHU8VGXT zxsEbWJVVr8YKJy7nLIF$R0Oi!Uz05FWg!|K%q#`vZ-F;-eR2rmzA&|| z{rkt_@v;5=54`#21JpmMua{i%Jo++5y*kU?l%Ev`sFT!P{%be!&tnc#9-1C~)Y9&R zk%F&}-%47jj1?J_d4y!kw^V!*{ntUyg=tuVA+6Y zlL09KFO+_ewug8mv7^A-x@}pqt;pNjQcCrD@x=#sPHk#m2BKH5Q9O{5$XiF(9SvHu zjJ$Pu%~0!BM)ca3ZR!8yP*?XFZ^&!MT;7;p!{3d0A{MlG%0E?*;zGzJmcVoY%@C_u zqedIiq{K^53ISihK*)IQV`uWeb5$W`-%7Fj)+jgrqSk~*!WKuFrD`xM z+=V43tx1Ie@9iOb2_>Z#Wn4mcBw%?YXfj0uWG@8^*m7n8P-10i)pv#Ahl!Z}_quqX z?Tt5LjrQMJGvV*%|1}Uraz_8 zN>`GbZHbfYvoCSH_~{AyR@^ekS}jcXg|IipUQ`jk?6OyGTej@BS1!BkrQ65<8Xw)? zKY;B68_7WbezuK#?Zm281q#wx{cpqwW` z5eI}^hGZ6ta8RUx#}p};kQhW*W~|y5!)?%7dGEFe?ia-Ed$%QgoaCc=@3zu?N#A(y zw$gnmocP{t>AujUkYj`-a;RNwFI!NrWDc}IUP$Ed#3CLStIB~g%Y2G*cr5kEB#{(J za-xv#J(uCl(2K;z@L8)lxv{r-dbBEzgq@Z_umxLe>Xq$ZJaXabo5%XE`^qJ6U$sqb zBZ=5oSJ|My@^A0$W0?^%&G33Fnagj$Mh;69$mi(~nNG-H4@o2$a*0tn@@I8pAS0 z)`vv++s#X<2xXLvBasUd&yd(j6sv?vrFgCb8!x{%_S8eyu9|Uw>D0`)==jOND_7CD z2K+forJ?NK2cElxhTH9GvwBQr!o6)1H{2fE(>!+F?VefTf&Nh%=kXg`YIU|szy0#h zboS5(7(CWgRROL(uqNW&z$>jf3H?ZmjFkcI2RXeB^4^OQf@!#?D1Ds-UKLX5)x1VM z!>M)9Ak`u)c2Xe;69l>)!2L_?SShk`-j@({eXj9cAD}JT$p|3{f@Cr?Hu_wUGCuly zyF1%k>rnV2=yzA@tU9ZlhbtLr(qPljM#fGJ$GdgF@6F1zTW z%Pzg}!gv1DSvO9`?(DGyGhLtWZ2$UoyFYj3z~EJ1xZujuZ7t7SyWyUhE@tSi*WW(V zva&Pd@EX4G_^DHm)Bk^wOk4h+C6jgg1*5mVe2l*4?y1TBeOG_!LQm9I{^8pg9$x?k z`YrJT*!wIfZ~anEGt!^&Xq0f;6jTrktToD6BM*S&z+*mg60D0(Ny;RB$3>?k<&?Iq zMW>{zNJ=g`#T3m&M+@pCq#C1lZ*NrV|KMtYfFB?5b3Cnwr1iMb0X6gsqTmv#5KW@KxSEI zz0KLad}nUx;3~7HD3yQ7y8ODVMjU-|Qdkj{+BqPJJpc2Qfxc2%h&yHYq9(nFYD3Yf> z|AmK0I*lHGnQ|r90wX?#JDRvIY5ke$0WkA0`HQMZZs9@F335900S^vYBkaL4*geYv zSdEIY;TxYL2|RN4%ImMaLf~ookD-cS-o!4l~*3Pe`ls{_s8~K z`G!!jetG}8{7d{>4U<<4Ex&eiHvbr&D!^OAiQDlL@sc2O0VEGl_!!R{@ZVD$8LN~F zR3s+RYGDf*AA${l(j{*L+r}`;*I<-#2T^tov(}CFX0xr#|&iB&u|YL_qb#T znaOo52_ZJ|rLr?5gchEm5;KLlyyP_`f|kC9B+$Y$^qfTpSy>v=s*ogPHt95AkGAnP zC6hhG3n|6wAZVETU5IYq_j>0=pWeOu(-(EVzVDwd-7jpN{nWNkT$IaQ^oecw`N4e{ zIG&s2+7$=IFT-n-$VHJQj!Z<11?7>0b`YO-E!HFnV1XaE1=DO0Ey!s%uv|3kD;P|+ zB;vtIg_vH=B6mnqC(_9+h-S>X#V?;kQhT7k5Dk25!^Yf2^)%ih*T=Oh|Hz)5=6bl% z9Q^ho%`lt;Vty+a4*`u-D5p5oZxhy{dNc=LGIAw~J*us7yIPxTdTM*3VOQFnrXFg_ z!GO1P52M9Y5J?;toje7@f=6O&@fFt5D{Q7$@Z|s7Qx~<_qIDi`HfFcSvfc&1FZqsl z*rW9xPkq!b|DB()$Fm-HhK^+1o^0HX@n3VcO|eVy6Y!UUr3ed4312$+?#M}lINDZ> z66As~g_az@7D9^TBhQVSY{6KtmWA@je<67>RPxt=7CHA_Kvrli6JH~K)eAOcM{4Z< z@>P1Z?K>*#hb2bU%?&lPX1u!imb<-w8Tfns5`XVAZ>?V&?XCB`wRTn0*2LfN9qGHl zZvelW73;)IdjpggNHFZyv{G;yb~FCO#t~%ZYB?W<5>lE5oK;x!JAa(t{h}|fc~$Sx zYAW@wsN)Duyq#AFJ}_iPHe@mzB7(yj#IvBqDSwA&CCF9}npHF&U~C7UA0#z~qwqYO zZVx&bQ#+nWaUH}=3Qs0INV3=G_e1%+{L4T2niBh{_T?YvU;c(aS$4Z#r!tnGQl)%@ zzL@qi<%TkqPIW?A#d;?kHb$-S(CnQG!Rwqo)6^g8atYe-+nNX!BA2SMU76#{VqeD4Z1^u|$ls zlh1DpdWFv-ctiH-8L6 zveWKew&SbIHtTFJ{bYa@6i{*R%x?ZZYpR#mvvVfcevM_P@j?=yg5ZV6HDnc3zFq0L~|z0$VZ`7rY(t z6@wRtSnvwQ9{d|~A(igVww7qv>#1}gDUph60QFH&ZySq2w*@wRnN43L=b+aWn|v#` zAMTvIbGo5v?cVyDRh{9rR@E(M`v<*3~VW%G7P@Pg+vFHBG|}DW}b= zJ?O3pS*n&D=;`0s8r1Jq>78+Zrrla;tuRis4yMNUcK57l^y~JP89mhzM|H@G;x1Qx}XdX&b z52V>iAQG9ZQ0n8~|D50UXYm@jlRP(wKHh@sqZD`Xz~_QIR9uWyeU6_|(FP*XP(v8w zouXW%G78=vDFclRH(R)|MuaK_A|(O=QCS2`ZWD-R6t^_(|Kz?mE_h&n(}R(eF*V%s zM$1Ubl#Id0dt%dF`@75De6uXK|E>xCNKGjJvxXJTL8Y)}_Hkvfc|`+{wZg{G30?Eo z=%0fdkQm;e4DfPHNJR2);Y~r;UvdI3Pv9k{jFLY1WqUYgGD@5zrm#w2l=o~ZiRR{@ z`0GFaN*inJU$MEqyP*T+RH`DCO5uy*`04zgU$~^lZnxc|&0cVt_k0Ikg1%oNo)lH8 zD;O@IIoCkZR%l~DAsm8EEAWS5EMa}DX6T9yXfKQ{fvJFt3Z4dJ{msKv@V{wMTgufI zbqoKKyPQ6CH2;^VGT^wI_k3OP)FZaGP^jJZaQ;7>=EH}LE>cP8g_2OK&fO4Or9xbd(PS_TQ87M|^CBe1shlce zg+?xejKn|(loAkwy_f^Ba6)6m!?5B37(saMXHjsEt>Np$K4`yS z07uLY`YydBKLr#h2NM;DKyt)J7B|2-G+9ec2s6$p@k;JWX9X~($+$CBnW}J9*o_2$ z(eXN#T3Xz5zA_@SkEYW{>+0ZQHi8zB|*n{NO;Kxo3c0tS|rl4I30Ln?I~K1u6}-Tk82= zyqIdNtGyntmabb>X<61uulDp7{s;I%_?9BizNL-pme5%i`fNaGP0`0D3PSizB;r%) zC=t7?#bHwEMQ$7vtg$8HJwh$rv4=gzya z!gww%o)EsPx`9h`jk$U=7E=QD73>tI=#XV4PGLM?M`K*b-3ujWh99vcS`*>IBV@E6 z^K606P`^}SdL#d3-q3pM9s%Ytz=-)6Er0hdmmJ+S5Z>x36im+Ly8AOctd- z|9n-XZTIn2t8d%Y+L2ms)fn|gwcu}ES=YR-9VB#HETk|NzTuzP*wy5!C~F!{s@1eU zAd|PUENX5&?PuI5n$P<%1wbXS%L#vaA^(TxpXcqWD`s7MUH*H*Z}Z>hiL8~|B%b6Q zxWC9b5tv&r&?cjRNF$HJ2E60>=kXP>e9^`$p5Ra78XMRDjHV3Jh=f%H-xYydUOYr? zux+7E8GTI$JBD9zbS)h%SgsS#Sb`KRAf9^iOP54*$&10C^mlLXZR&jZyb!zO8fVl$Gwwcb-<%-7oxh_8FWljK?GBLy+dWy8^IS zC_Kcr0RZp}6kGfyuBE@ll6e#40zrFIvA!Anaw5El;5wGeT1a*~ScGAvh>x5SglDbk z${Oo4f^h0ir(634t*zW@e?seWvI%y*DQVAtB$42E+mfdI)xvMp_WY;qHI))!GpLG;R0l^G~BQ(@uwh zUoME$4TFjQusvl4cKEkiOMb7j*2+&x&mP81{t0__RSp!Rj4SQj54W1)Kv_skW*8Zu zUr7=ZuPN076Mllx$Umd^*>{|R^Ln|#A&tRybIOrFU@~B(J!GwQ^7mQj^MO}RJRvqi z77<4T_6J%u?|XlcW0cauk!&uCrj?b%D8**lCpO%D)s6o}!3LnMWCA$@Qi&AGaBiDs2u_RVLvLQJVsaV7W8lcg6$m3Y{kybNUm`a$%FR!4_(&ju_0< zts^zrbzPxQ*Sc)FzbRod#xiYDN43vyEw>wNL61{wZ?4kX%WZy|D{Ma(?!$OcoB&m* zU>qwB%OtT7EwpW~Wx)e%?3_6M?$H99>}dp$60~?1bZ477R*0P?E%10^&dcvdF z3&kx^>7~dJE`1zm5;jRIm*rg{5{vb;CYbi>TDv;<&p+x6YWA1gtdZ0Ivl`qu!vk@b zGGy|^ZK;NDSfTvI?9;;7$8gOm%)cMw9yShp3gHpRC(ac@LTuiVPaO3C=pcT_ zq+Cmf$rR!QD7uTh;uNY`=oRPh&JCSTuVIM2>eGXYy5+mU8i1J0mwld>EMUS<20L1%NNSG})7t5hpDDMHwvv28!B15($c%Wo8Z z>#*b>vDUg=5NR8XE~h#FNTi{%+QM%zRnna86>k$<%Fja`$a0^~>0`j8kayO}NNA*_ z)ezyeF>i@>A3Jy%CXiCOL!uI(y=aCpV36}HR@zdWYe|k0C`!x(rPjG*v7uN-2rPE% zk_+bA(q3kdM`M;~jHQ17gvT)2sxpSJD1m50wvp-Wm*UtglKO|LCcn1Qy|frS2!!x8fzq8IPSG1&(ftKZI zepqjH8Y@le@gYxpeF*yw#;po-uS)qO?2;sRjbx1*Vo;^xN>__P)N@utK;)*EbJQ=e(CRB3%mi(aP> zwx(iPe+Br3_RRj-8w$jugFCxBc8{h4P9wq4uvF9H9b&KYi&(!FZYBSzoNk~K90IWb z%LR}$ntD0e8K`mw^%r5K8L(eVP<;@V5y=`s{iR)E7o#{JFZ27oa)w<=F6Z}qrSwdK zp}pTLrDu{C7(fjvshbuFmI_iEmVV#4SEY-=tDq?t%aIJe#C2dBoEs)Nxk1W0Dr~7L z$zPm{l|xHfxng9fucy7Wsi8hYm{pJ4Y1dc4dt$){DvKE5bG1<57kVs(RcQ^CoioD$ zyvU0Z9LV9!mee;uuxusfX-43D1Jgbj1#o~bIZ()V4&(hPe{+iV6_%fY z_hY1mg`&RF{3HuHh3CNRgODv;0=?{9SLD*g#!8ezRAL+#Uo`gwlFl`;a3mNGhZqf; z1l?jd1MujvzYB>p1&Tx(O&M>1EslRsW7KNRPQSw&8gFl}4tfKX!AiTqUS98NZOvNa z%Q|B#n0ah$OAY|pRTx`%3JdV}1+aHUJSuEtn;yd!k^2&8DSx9?xDT4Z!`KZRTqGBynIedr34u<|7j6f+$>)L3EzqsXWW*2aevL5v*mFit z%x;akjYc<;%3~fQTz;n6KYzp~9YPS@V>EiAwB~_}6n-t#;+w`f#t*FEf^Y*$<*@Nt zXrgb%jw$&(*$z|qQ8^N{M9k47D;q$jDe19Gr7C02N|me}zw`BHtNPMTXT$2YK&{83 zwCFUtih#G%5w|>kz^_#vafkd(qgDBzLEb@Q7`N&akvQMdXENmP5KIzY+Xw&0U$MRu z+@~dNN<&Gg32YOn(~^^a0a_Syj~GIHE1mUiw*AXrhAKb2t$eo=I&ka zoUm$A^1aUi2NQ;H+m4Q1BZ)88)YsK09+2-l($_bFdv}Nr3+t43V8#!CrXMa6m>wy7 zH#5%Rzs&{zr?`We9#|R##h{48JSfJ*GXP`6nL|qg{Vl{^2+qRXdXire2qDAzPE07p zU%UgDku}cG1>jz?Ji0GX&elXP`~)M&rw$PgH%PUQrJBz0VnJ0~FO@*1WNQ2hy^{c{ zY!pIV2(0OrNTjr8Gfy&w#JE(mnWh3+M3CZ0Qy$qLC@*())zo&H+*|6lY=5lV8+kl{ zR7B+|D2n#VP$piR*td;enSY`;6rjIi9uI#MukRK=C^X`G!~Drbqc(VniIiU$f~*iY z*nX(B11nX45}Zs%BS7j^7JPlB!OppzgXSaAShj=Lmap*pvOCi09a*2hg15PQ0`auJ zd09HWtl6KA2YTE#@p}~xv&Q3cc{FB6MYqmWb3t>mFXMJ+P_yZR8WSM|(T!o@Z^A0o z^}yRPL~|0G1bWU>O-+Qku_YXaGj(xz1=nI_nro7gU_ufvK8TlMWPWZj+2TdnM}3!8 zRNNMROCPd%6O~$v$6pc9)P`bSo7Y_SxVLLtPuKb;XR5ZRKh(LQaiIEfMaEKL30677 zQImMHH&qulM%t@X9Xm%7;pTx*W|iH(J(pgSi-k|qWYh_73M-Y5!+Qk2;7T>Ji78P8 zCl2EWxH-vp#)LFl_`-2J^IYjg7ROXd6*3?t2?;~atCgB``(WrXp~C8oq+OOkUBimD zXt^t>R=P~eQ?-{|aYf^Ae&HEiHr5vDcE!@m_jPt&UF$)j2A9Bk>{eaNRbVH+P!e<6 zW}a76gV_R-4^=yxArlL~7381|31^ra2<$MejocCi5$Fx z*}7=hVFL+O1=0{@_+^cNISq@^A}c5`mK4$lUHtMS|4RtpR^RL?supCW#cO)~g zHP^VgFCOWcY#BQoc68SFuU4qak+dyvN#RYgo7vnA9QY3s_!ty3g|~=(7c7e%D7-<+ zD*0&e+6`Hg$r+Cs%ZN`vhWx8+Mer;{b0PSQ3D%4>0Js#`>!RRQ?+U9osJHkY^ffQ9 z?btaOuUmg{--Eput*!Mnjisx>EvGGWg_n0Kw8Ge`5K5xB6Ahy^w#4AJmi`NdWBkWH z#-p5kcg>pqMpM7WZZ(LO?#%EAtqh&;8zG|n0f>PO{v{|qEbidx?vuRzf z?)9!_L8WL@+O1cf5^uNI`vF&X*TjyRf)zJbnD~RA^qadY941XBcdf~Pza=m7Ze9L;u#@1Xu^P~kzNmxPQ?Y}JP9v6uTUJM!7jyJ zPJG#th$qb?M(1VD%%3zQ>TTgaS*oq%7tlHUmT<#kfu8L>4O1gkp^i0m(Jt3x-9Qls zTT<}`e??Ps^QK%lKDZP6?nugN{wIw1*|S_Cf3?`fw~1xqinC|mzMU(7k`tbN`}QX? zRXC5{9|m{8mB0_FxgPHOIZFf3Aho;*-3OtCAs;6HproExaUclLz#D|R9Xc=z@R})H zuUcP@I!nkz2cQ!w5#?7%EYxIspZ6uiMV+f%`~aeJWf(+8fhcis-=hsvSc+@uq+%vCqoRNMN(fTgO~R$dG~B;rVZ65DOgPMC_mwDTHU<= zN|RDmJv`mfv9YJl;WG>+ckSDozV7AjmESwE{`!gZnGNg4Z)^;{n7Qk~nv;imlofW9 zaA{^;E_&?n$rVS&qLdr4iP9%_Pi)>vwVs6AXD{BmXGPD>OZflX)zsZ}>Enkeivr&P z4nO77_zpVkZ`b6UafsKD4*cm{z1szzqb6Cxn`IZQowMenZdUI`PA|-gt)n`aezar%v2>Uq){#7PoJR z3ile4)m4VOi5O+$eb3nQKjPc;IAY8v_&@1a4}av#R(?}@m0arnlztUVG|q-vUpHZF zCb;R`)CA9$qpY+z2mpUIkBWD+YZjIy>2p|;m?tP%Sw?u0{TzsL)u?|6dRV230C0u5 zgluW1!ehE_SQn`d$EzZ#a7Z&pi-NbOeaHdj3Wx*L{lVtT+$@K=29WNEM7au6BK9~T(K$|^fsi;p5ubCdaOfiLSf3rU0YW83biOlTdKPgmSFSn z$~DoL9}V5N@#gfZoVc(qr8nWPtn^sQQvrh~vt?z6!D^)nm6i}HpqR`+$k{?^r#}^_ zbb4(lXJz!%O|9yvaJsuMT9+MUyon-bMGeqjD6E`;3v*kk4(K2}G|OwSZAT#TD3OXn zT2+{t2r^1Yj>3j7Ga{?idl<1Lb5|T9va=dUkur|4(VXilVos4SVDyxmCN`|=?rg|X zWiY!HAr1p?p!|I$jXEt}mT4f;mykDCy&x8cm>Ly`oMg3=)^AaRi^YTF)IfELNk@7h zUDKa-OrDN(t=Y1pHkEa^Z|xu0+2h+~>)ik0^}bejZR^&{uD)z*Yu`1`9=+tT3tQHY zCo;xheQ5ba=gi5Cy+`ZvuQ|P^CzeIJsw*q2JEO}c#FM@lOmn5m(VcXI2E!K3zH@m) z_xKeXYE?>a*zeVen#!gvBmLLz>`aesZyes?wGFm9>M~Wvs@u0NJGP<52r6sKHVXGY|I_E6|0!wv-~P5> zdirVH6a1z4&QAiDW&%1NalkgLoO-G%B~Zz&0tk=dF3jcxff&#A^>()>Vy zXm7vtnJW%{YJX$v1@~?Zv{qMs{6uD3;9XJuWuv(~LxXQ?!6 z6|vQ0-4;hp>&VUzY+QNwMg2{amvrYYni_YSLb0@G?5Sy$DqFRQy>A+I8t8r1T#$Q1 z@^yR5%fOF-026ElBq6XprQrA3U({{hrO`pwh_IvY(nz`!L7LyCk#r}@5P6qIbf<;8Jm~9g5WY)>^};18Tq=EYF2<3%bE0G={m447ajz+5Fu$epkVP$ zb)fJMf}%@eh9_Wv6ib7GgXo!LAa(L^de^frZ7S?EuqdD}hC?P(me&zM<1K7)z>4*~R}f zXMkt6EC|L#r_pkK@5>fFjV9E4U$*FJG`p%7jHEo-7LO=l*D=)=47_Y|6{gyv?=Y9o zfJy{bR8JzFNX7`~gOry%*ODliH|tnxgRJuad_bfX0PB&nN9bL7(Qv5il2dy#Ya>)O z&!7(!XCG5rQ9Z5u!X6A~Wb0U$F49FXESr>+`3~C^B zWXIpkiGa~%(deB4vo&HeRkmm9)^r5D*?~mUxW7W{-@o6lRdicz75;22h4crVVK3CS z(cK;0I|rljK*-A+)$mD(H3&RYEUlTlP4dy0;gwO@p{Z3f2UwC<_9MfvnHLuvEPAdb zZDNYTBTVq@Ab&IyJPdtI3{~(s(c)!l2f1z*w?oLIF>6nRBau0G2Wh_8`AM|nC!3WK z%rZq8!nRPTP$oS4ECM+Jz!HKG3L zUh-CJ1)H&4Z~p^xS}z-E^Z_HJS>8r9Y`WppFZVZ9`mda9ogN|QHTkn{7kX7knLi6r zh#)q4iu?*g+4@?z8uVr204yh38B_Ssg?Oz1wTI~Lp?<5dP~fQnqGCWY(wL}G_>D&Q_Iv~Jk-6Rv8vyrO@?Oz z+H#ZH>~K_An|D@k32Vyr3S&j6tKJi8Pjq(jKX1Hq+s8f=?%CFnUeg_OIzr8k&K9G$ z93cKgsJ%Q`+0bI}BBD(4*eTw@zXYFc6Zcq-@kD8Xg+=JB$bk?h^eyp1Ns(<_gju~X z<|R2b{{N1Wg@ciZy@mxL<>(G`5X)LhX)!sHE7^KxeM*8T5!lpQzp}*_OoeM>oy+6a zYzuVt`EsPNcr zwnHhasa#vGmg2iA;n)0_@?rRt;px+A1m@~13QztZyzwwBQGIzU*2)egQJvbNQA~X| zu(YzEWKyw9QfnHahx20{mh@<|HDp%sI4$#@Gy_A6gDEFgSc+hGBDIxN<5A3fDYl z1G3N=biL%2`QgUTHsU|Ufgk>G>b2MKT=DGBgkSO-FwSl+#aMZ&jrz{FG&$umEycD>S+;Q=9wM8SEGW-Nyjey7!$xxD- zV>Zu7_vZG`-F)E%0E(TnZD~iy0(L%wskr_+S`UeQ9%sU#bj>>)z{Mil~q{5ngrr?xWfsZiRm z(`YUFOCM9%?+Era1hu+BY?hTSkMQ@|572aiuYo^_wV>o$WXwO-f+TH7Nnjv$J%#Nt zFq5=S$W=(#=LOJp{$&134=H@N3a0#JbYJ1u;tK3bS*|aa1NW?wOQSB64dO(k^4m}| zgv~^V!GX^a_udCWN5Ys%zo3g(6!!t?FN*Nj8 z>a3~lFnJIHopLs;Y4g{5txBt|T&MSYy9yCeh7h=fBBGi2zN!4bXI6KFv^rn}L|_D( z`@(@dLc4K~Cx2Xm3gEqZg}<;kZh$1EA0M+EB0(V_2NA(CDQ-)HSB&T~S51Hmupn;O zR8D(FL0rE}2=_5ZYkaBr?b!e0@Sh`m3vTHz0(X(Yn8!I}`B4lG#kT|$v7@{g1nEcy8Xf{+(hc3?uR?>npS~a5o`sgG4Lnl);)pw8;q5)82=%>YZ8l#kBK&w~|(X#Js<*Y&bTxLTpZ}-xIB$K^{ z@8pHL4c1ECKZ_sQV6*7Ii;Wd7x(dS|Q@Qcawxs!4nmW+)PYC1C^A%vh_Hv!M zHb`smu|Rf!y941BWC$v-L<@R51c(-%N90vlG+wP2nB#KLqanK!hyg$fF$&G(mM&{9 zY|JEwX`}vE-L}m--mr1fu#XTLGNd9gvP*IF;)^Ht@BevpXlHkB*H8?x#a#E!A)tFi zE+PC?>_V=e3LfJm_j$>)7C=W;<*H56B9OW#EpF&dEUj_u2?{DMZbxuQdXKqwv;!_~ zw_`!OC7LX_74wWG6HY{BO?H!2@{Ez|I2MNo3T7=xYM7N<5|wSt3X1L(E4m-_H^l6# zx*qI1vNn@hd!!FPtjlE9;Ri*9FpPf${{Lm|JpkjVuJ!S`GuyPQU1__vY5T5vTlKnD zv6|)HYWs#iKr%o0{6TP1(9alSK5)U2yQg)tI?~d#=^L-(pS-^ zY~(SiPsvlLOu|p>7sdRS(Dvn>qp+7S9bV9z0M5$03QsnS+A3l!_uQ}GLurCvnxW4KP|1)`bzxpxxksb-xi#6&TBAN#*%nN+ z+cU55!)5E?Gh(Bk0H4Q=q)uIR?Hdn-SDpG_XhXB*Twogq_fC`{eDV9YS zipcA9>vX^);=+os*&MgGLD4bL3mRu+fulju(S$f7Q`#q?Fd?9C6!4zZ z9S(8#yd6R-oXr=Lnq&)X$I&DJ?hYrrk=u^f-w^OYw*I*W(lmnrWstVT#gEOU=kE;6s+9koq3H_jsj~* zuIm*~NkeIALy6}nIl0BQ0!LL-UgwZ>W4Lj4S>rOdq?+gO{ZLg?T2WtLQCg$=q0cc- zCApV1Vh0gk0=YtaxQw-vjD`J6dMN2B6qf>Hnphrd(nO#sk-TpQoBL~P`pORKo+* zZJc)xq@jukq+f8a5Z`z_2u$uTA`nn+h5owEJX6W^)s4%}fm=bNxx(p$9+nYvSwfy{ zogq`LH)%5MlKTD(ZC>-VNZ*$E#pkY%Ev@r4g*|3(xua^1uPWbG)KwLYqVfW1A~bgf z@NEL`nd35*I!*NPITEr|NI%CQvyh$2D^=2#{N$X1p9*Ub6FYh7?Tt*A0;yWO z5NBA63I#aB&^K6w%#cn$liKk;1!V@IQl*#?on~Pnx_WYKmrkcE)0LU+?z|}SG)RT# ziUgFZ(JTaNqmuS>j$Z_ODL1M&x^|mF`DLDHRXCeGoHj}f@OazM;YpVD=>@4=qRpx^ zHkUO;O!i2bH&|EbGWpHmv>DDkYY#0hyI*>;5p>Mztp`TL;7u?ZAWln60$6)T5aRlz- zA7h0}@Ql>uJltu-?@qx9aUV=MG^utp4`z<4Dm7-d;VidRt;=bO+dKw?h*a31-XArR z9c6V!@=Nu)D>5@w0S_Z^3loZre1Y1YB|N?=pPm;v#4Df|er>Wg1QDx{SQr zRgPSHPV}6A*t|ODjIvNuiAOX)tTSB5^-_2iMb}{3}TEBDcHcgMkkKzK^S-Il%cxNKrOL~#t%PF7&1oAHl5sjQ| z`T^(^o+v!ci0a7>DBeb=@(2Y(Jn{(Mfn<`WiS;=Vo1}jkl^@oPd-T{zAVEOd$F^yF z5TcqV&6%tiKsaLUkf6B$qn3y$8qns-wji1wLkgL#ueaYDDpUVCqtI8sY2}<8Lp-yr z>8^c`&Y(TGK((CJsE^@Z%M|k~2TTi`Ss28jr>YjT=OBB;X(<;iB`M%nIw4#ISx%wd zQ(n~H|8x$FTb`vrQ8!1zp7z7Dnxc}DqT<<2kx0|*V)fPK$QM1wSJhKoGOb#9Z~d5C z-T1ks1tD}FVQy*)NIoB#8?ju8JTo+DaXAV3oDu0c;i55fvy#=6EfIFvTb9Qk^VHRv^QTrluDZrj-PRj#9%u<@trWt- zY#OF`stVCn?HQ~c^O`FKrAxsZ&@(ET16vSCbsQN=*$_p93d{uoUiFQXQYl6SH0d0o z@W-VOIsLlJ{T7S&0$sp$kj=hK3g%dtE?HZfl>cSP5w9G7|I_Q6C)WjqA_sj_x>P=J znfx98tn8c&vyUDImc3QH(rJRX;PGLGTC0t`I52@~8^ELCZ&8U729sSw#IU+Oy z>q!M@66WwjhYo4x$!&CvC_IY)O#vo_dKD^t08)Uq)RheIR;$%&;isgTXYB`(WI*Hy zvZ)y!pF87rdG#^9$BQ4>ZLGwC!SXM~w=MX?O6V@aqimHpMSK>|7*|&Zh#gdIwOV*x zo%AjDjoj&aeuq+w*~RL`J>oxceV@Vy+;~k)973=i;*-s$zrii&cD6UAuo`Euew(%32vXo-z) zCMoZL9H?}K<#d6EJ^K&u7qw!){3qtWcl>hvejT)0dD=aII&Hf|?eM?FmG`99daHOyYDR4BOr?-Np#5NG zogTD4R|y?xdgsA>=rgesA4#kON--rYSm>yLjo_~|AMs%4VK6HBjOQ=?Pep_Ibd;=6 z1krwudxId~M*&&dT`b3e;{74F&u7RA=yH7X>e?12?01R3URC1Dt;@*|Sd3O*SC+dd z*^?{Q6a7T!DesF*pr;rS#g8UKRbihINhp+WLeyYOpoq{puB?bgT+XP9@a$u3@={il zhU+Mf-4;gLAh-CM(@7FFtVy2%_d~Wpr&({Z7}S<{V?jY<9DWh2$@S6=W-mJCW~fwp zb&n?7y!$0ldeIinv^eokz-mhRV!58|V11FBS`cNs{c&$8JKJL13-?r}-LThak?#cg zXtsN?ptaydT7D9-!+9wrC?^6T+wgzwNW~-QtyJqvT>BIGI6w>gzFegG+tXO@n0thi z0nmpy8uzb^yUoZ6Q0`+Mb06u+r&-g)`TQU6C0_8fc+vk)_hOAtOWzxRFE!DLzhF{7 zi2(Tg?o+OMX4|K$naZ-ac)I< z_&#MG>HBDfP*M?RU<`PXbaJ7e;N*(@(ZHjD4S3=m#2 zsT}==tlTl*jJbxFav#0hm}__`_t9@gt{Hoy^l}SG}?bCzGSy543%0cl+R8t_Xkyb}=6mfLOd{Mg66{N@j ziaG@Jg%0HfwU{HS_or;#LWHTPfgjcWJIKoVRyMh$%p6Cb*xW7uPX1ilqk2o8>#3Vx zZ}d8|s$;`Xs`tHv^9eDmo{D#46$*qmp3bw0P}x(j2XaMG6)Skl4=$HSU(v|7l@q_E z*EI6&N!QY=8u|95Yw2~3d^_RV(J#hdri2AhYp5XK?^8f6YK;Q_8cjcdeKD%VkxN>O zqwwQ-S1+rmSa$Wi`8(X%u|qufZo0TZWT}cSrpoyRAWM zK&8pyoy%&hLCS^GLjChR5sO;>eEd_klK&uOmlcRvQd3#M@Mp^T*^4BtAnqF@ z$#vwU0z|d=BXB`Xh?<=>W(^*M-GS=3N|`kBYQm?3Pxz*04ky0A*46~&V=A@$En8tg z6DYLF_o~(MvG=Kpr-99NTWoGN*I=>cScu0g)rU#B!s`p8Hvr#@H z==KHJy+*U1R*iID^?>?mgaTmgny`&gvOuUPN0rb#0bO$?>~f+Gly2;DvPIITGCyXG z5rJ5gH_aedj)wYB;Q*=}7XH?teY0vnQK;jwRvl+p74x#2s?RK`*wnW9cPsKM9SeGI zy?6h>L6-USfG@eS`#Y{6Qbq$ar@qlcuw;CoOTg?5FF znQ>G_R2IY*p#D)6+>t_uV8R!b{0piWGT{rlV&Z2QOu;Uci7hG0iwV`NT19)Br_z8Y zk=8(s_tHm}Ex%}rt)%$*4D{sHg*sa<`{>ZB zv!7$y``YK0+tuqFIhj)7vO82iZ@TEo%@-WJct%c6+w{2wz1MYgXGP*McmzX%tlTX> z`0`u#GtDzAP+LDI%kIi(TGH&N+{6L&jcHaNMp>d?;cYVN?Ic}*Jg*YrNd=IPCb6VV z3L1{rr;f48FHqsg8|8Q2-w+H#E*E!wT-o3@lS#ywf_n8t518&sWF z|M-$~U$}mzD#MhqGA{>NZ#y>a-?2-rRp*l14pd2ic4wz)N5p{}SR>fLg*oj~zrc_l zp`8K`9T*{4)o8h^64>|38;Icmj_oo!c6gd9H2RdqQwGu$t0E!9sfh6tX*b4lCz_3> z*Hza*34(CK-X$}(H&9z!7rgP;*R=Is`{RqeoqaPxCQURi%M))b-Fj2DY-1l;cWn(- z!~@y6#cJsjkV`f5`WMc<Y`!ICkQ=liF1P}fl zr)A@bPgLuW8&@hMlTCRpoY1fV20z-RVF?KMiyaUc?P&>D#lwDl&n38~TPl?JP~$1A z)}Wex3OEd&1fIj<&0?w}0BsR`g3p=LB*LOlt*dEoS~V?SRoj@`kRu!JZR+-`{Z+vR z+2zcONA3Bph#p&AF@cn*S3F3l3NncZ1e-t$8%l#rM*#3Hm9!rU?}WK0L?xJG z^##F>x`@HzG#r1;;IJ4XbsfQi`k48s_+>nHvpZD3=8l2-Wql0}XXCVi+GTgFsSkO6 zmzfiCupc!n@5=K{-?=(AduET{-#cS=Z1v9RzPzsG4L|*<*t{uFH0`e5&9Cg4T|Sp^HUmwzjzxdERRSQIp<0E!@0d1&MV9j`n@ zSs5sxr>Hd8$tfRQAxZ(LR9XOYwA#`x?DTS8?2H`YF@O?Klj8K3AZfDqiE@lC0UmSm z(Fjd()CF#j3WE!gH&m*_aYKp-U7$vmks2LzCV9-5;T-u8gw_|!%g+mCXb@Oe*wKiJ zGqzd*owKxwtB3=x9#U`aVh%}G(Cosc|cLOOR^1E5z< zfW@`77oy|auB1s_oEsRdo4%~l{Kw8^bvcs3X`3oGw7+vy6t8&YidM4~V#!pxVEc?> zXT`MYOmyx{M27FilF3fMJFLf=4d6cL-Vn&-hQjD;qc}ge5K0MV9tt|`2wot7K$>_| z@gQ>_w{xNv9u||AZbfgpZQIoSHw;x%gSzv6cx6}h@*5T&J^0u@YE$>n?!de^(71`tyDxF69!#~U} zo7r$E)2`P$O;6}8HW%6vACtuyuDZrXkNj;<05P&9p2o&H*YPvev!o2O=`ZG7lPTBs zzR8?H=KqP~nEO)n%l+E=H<#;pacTYAdb0kla1rfT^*f7k_4{2`nOI(&H&8wA@T~j_ zM|aEiE3WO^^ShgSeD(cJd)xsdqRLa-D*Ur5Ppo2}TY|ERJ^iO}mCffbtF$ryxy8um z9ysu?yOuuw=wnNr;R0KD&5ei8VbR{;v$wES$x8VKdLOOw52f2xz0kdZdo~%eLZnlQ~C@fT1 zKYh)0i-#WBIyF+kwd2_pj$jLlRS8k~PE~>W*MdoC5e_7?C{k>~$1F%&35GURxGO@1 zI}r(Z>%a_P3Y{bf5`-7!l@3aIw4YFR`6Qb*pkAz&;&t4L8kK3|FHq!IYAiHHwQ3{? zH0Bb@NJg~SX{*bN#zLeFj|i9;8Ddok2aJ#oDnUADqlxeo3J{HINx-?u&Mg?Ksau>3 zowKTQby@T6XY}u0QQf@pfuYiA$(o#Sa$%J**JZ8<$66Ox8GUYZMTF@S1^Ekh4m^DO zl!gOS`lep~%%*KWyK$x^P~sy_#f13cpa&dcC#z zqDr0cpl(b6C;~swK-5QF-C4uba3xRvwWxdzeob!Wuz<>tDyqx@kOdXm;OCj9x++iShIha1RPOQN>66d(ud<_L9vgff5UI=AKiio(Pr) z&@5CU5x#4J8Y*cF1U|+T3lqrM2#&)?$Zvp}f@VZOe(|WCm+{ zfhEOV_R9M;C0ckIafW6l`zj-1h8CTJ^ibu64dh9HQ(=(ww;Ukk)M{6kfn{WHB$HRw zjrwSUx5eAi+*npxQWQV}6pB}6AxqH1kflOyqLGRq95RwkEh}b4L{NOo( z$xX_BvxEkjs*u}NGXKJ!o(t!fxZF2o=9b6M%P>>?*0Er08%zHE-0*J^BEKeaPD|~w$ngiVa-CV~ zeaAN^&TXk3j7S6Y`!T@ZK#vIgD{lCMGKH|vo}2;|3W^lc1PAocJjmfb2u6~_3wucY zFn3&1w+W7fP>@#7)4v?XuqmwcoH2j~QRw}oM`DrI^cfE#(*cbs`_8b~i8Y z{p(+^e{FjsnXpSF5~40HM2&)xhnmc&dPXFN=bKLiKY_X6Ve;pH z{i}4b>RtJ~SBJNYm%S=3eUm?9uY8BqAfkyC28B3uE43EIG8+M0MCqjjG8lD zv)P&#vgd_#YB1fgY&KPV6rfq<{SY4pJwO$9u;G&K)i2(>V8)(TFRETumnHhV=9+@8 z^XHb7_iyR$S{8@P_u}E3q>$IwuS63zj2#b6(UT!BR1r%;7FEvM@ zk(#5yuu<(RjN+V--bo%uMFYjpfOqrAHO>#9m*o0%LcZV}ApnYmGAz4+kxLIi4Xf^Z zrLhOR4Rc)bZ#=DuJBRPAXmiWIam}s&9@`S0Q&rUBldt`Ceutgqq0;&G;Y;&dyew|- zD0o}G*4JEIJtzF-n{q5%z!oM7*qcR>;VZ<8BSms~K|);7)MYU@m53#I5xKg^OYK*^ zMeOxR-taF=n#`82CV4gJ0e+)?8uW+@b;;^56V=fCU}mGcF8uK-RSq@>k%BnR7*fOq z)O-N)IT+4Rd&Uz%;U469ov>2%(`C^II%5fk{Ig7tKknKqf5D7b=Qp}pldU@Tfqa3h zHLr0_EWMt*IQzivF>8jeKn(r?Z;ZVi$Qyn(R$(%CCuQ1}JpQJB3Ud$B+-)$f0+>I= z79_p~V4~p7!8i?_KV>Zf3RiVg#SgRD5uiO742S5=p>$al!hHCLg4CSxjlLxHQ-AM` z%Kxw>Vn^1|q}LsB=bPbPu8aLazQfrRZJZmL!9IxQO2>{Xvt_yR2Wqb`HRWDP*#7Sx{`^UIR%4drYopyq6y)$te@I3%|nZW!kR4pjAa{=Q$<<7OB zcQOAnZs+nhPj5eH)+9<}dp{iRmp^AF@jJ|vI$q+1!&hS?-XyLk!Nm8T_7`}rk?2Ct z<+}~caz6Cik*9Nv^LRebxxDhIpjrEi;hW{p(+>lSI+j2BAZ3rscj&tDoHF4BMPcK- z9yNc*^ZL{W3a=-<4tp)dxHTGH)+C2#CQZuhQ8jAN_n9Cy zn7tET9BkhS{2r%_1i%=M&m&dJyHHm&Y#U|zXV;;|g5({`_9OM>g;x2q;p^njRX2`j z{qb3Oc8@X5{4=uchT;2F?;gts8SzIH`rum}Qa=S0PCxsVQlZYAhxC*r(wBvqj%+ki zgAi3jt8MfPl;3fns+|tGP)U5OPK_V^IGwo^1b6@@ivYYMTKo|{-`|x%l0|7x72;Bs zf+k-vFu(^=5alZdDt9EH=vNF>?nov1zG9$qM{?+(gW*Ywfy$Ly3KTD$ZtSv1d8ok7 z)2db4b?Hl?Wu(Y($}3NI5i-$6o(G5G$m4i06sCk}!Mxi1yl_66SQHVPX}q?* z_13Pgd*|IPKRq;bgxS9vtgEdJm?V?klZAE|6`?Z_j!JI+_6l3XGG#{T(rXr-asA@L z!MW~IYfWdazf>*W)4pM0hr9U)=M*pPE!}qfsKw$Bhr;V$X4!imWLYn*QzH_v!WQ$H z;r8#i{JD#^9NEz!i8KFn$LjqXn>x4b8`%B7i`0^_kn^HkdB5srY;F_rB3^lo8w84~ zNxmT-#(=7ZA58*v{0N)1Y6_@RJ1J6M2)bbx|M(_!k@w|ks`FK^9oHyoh3d86|DO0A zN0b5w4Pt70GYQ zU&wE>qT$az4(DYvoil983^|#`SP=T#@MmJvPvmRZ=AR^`{E%DjjVJy7DKYkxJ%0RM znv)3KWe{@;k>4ulvKo+>PLq-(l1QYs(6q*=Eg>P42e)#V7C%;VODSv_EJ&&v*IN=n z2;xD|quCqO%ZGFZ`T0!0>lph_Il(f$E(7bG4&nH$s-^a%&lpw2t%b%v?;0<$Gjal^_`Lp7=1xMB# z+CG(K4W4%-Hm{7r`(m5Hto`yYV$rHcx6!25Y%#D3`5lefAU;U6+KYMp9P=^@sCNz9 z9))%&G>HdutO~p(Db*N-HPFq#3_GfjRYw%mL1hUdGxTEE!2>M%>kH)1OE$l8KWP-w zP@#3!E04=z_J_F}68iY?QapoXk{&W?yZVR7@|Y^jPR=M|XaPm|7|ND}bVh$GxLf`!+uY{}H(L&Xd9BlFM8{qGcvv@d8%ht z2etAKSf_c_fzR*!3L0Ur%J-@Ju#d`wZHkVFa>o)%1!CJmRZ0JX-JA0H`2|$th0hPE zN1SV`RIX8fA5J`K@xq}%sZ;RMo-`6$F3nQmL?x9U27M8?=gFo;aCLmyi&X?q!{2YJ zSc`}L297TERs*SbHNd3@c;-p3RdM6SC%oHnBE*bLxq#5-msWwrr zkPAxKL-r_n1lYua9M}ZJ5BWdp<&75{+N`{DkGZy>Zb5@@)CBtSH|Kuuk~ZZHyBmj4 z96oJ$(Yqyog{BF#$U3dPN0pZp(Um1+kv4)q+*6^vrID#E;n5;z4R#32F{Eeaq#28l);Bbx`-c-QMMpAx!6p3_`-^|m6#woRp0p#g7eL> zf|DeaJRB-Ow0D6H`Q-b^Mdf`iG&M{Ep-E;(+Hu1r`6xN^h5S;a>yF*C zl{E}HAiN+XyOhWsxvLaCjl93wyY7>}T)$f*_xh8uq+gyYsXqRx#cen1*denI(Ks`E zRA;ffEkEVdllIk4IsVgz2B|if^c-J=ShCKNb^P~%_DHlNAO*85I+1T|QRoDYWet~k zWkPGR1x>iw)Kj+Hf~-rS7y=UHe@PKVz&x&$jMI^fOS!W-)K3A?fh>w}1C(hDEQj@$ z4_r+mEtz>-+jPU7_x0Vzr03TSK6ygetH`a~9O;PplQ$M@ALOD=?4EP&axTQgogIs+ z9YZh4|M}d_^6?kWfv~zKp2*GopAWcX<9jrC;&Wsc5I_F?Q^qkE;6muo zd8yb&5^8-b*}OQiDa4UtrjdpCwJ%W&HnJ7J_9gU`uRj_OAY6tX_Ixawr)c+SW*e8*6)K$WiXb zeh_-0H>rTX)T1I@;VEj+@U6pxTLE>q(?PmGIOr&J78>jZ#7C6OTG~L$^p(t7_##*Z z_4VL;C=ydFM>b^W-gNKa;60nV4U(y6`SXXqEr0&P z>eVm6eY9ohp0#y#YwsC)b>Nn>s;kesWkB4NSbF8Rf3*5O`LkCxY|crnM~-hM zgb*{JxI{>}or{5|P#FR&!$W_=l7kE(%e@5hM1xA5Xges7BNdSg1Jmm><_j4an1@E= z;s_!x6TKAht4LpfRA2(PjJc55qgq-r;d-o>x+j63=6df5eA?P{g5~{~a zQnE}ag8_<|Czp}{+nuyl?%_R^J$iw%^fD|Ru})ug{`p_WI9>9_hbGeabTaQK|c|`Y7}rm98z4S2pFj1WQ#%nBOQ=?)AK1=4YrRG|G?o_ zENU|O(f5$N0qV2mFFc`?MQsScqP`c3Zl8P(GkV;5)~(Lev0_IUR`pqImi)q)xo-c7 zI0%dSW24K+-ir?3{}a#?IZ3e7D)^c4@C-}|2MI~5iU*k26X~bpBX%2&f?)LEAvxJ5 zoG?RBixVG3w8jKy58OZ4euNhTlm#MBioV*jzAF;xTHnKdEf?PS_BE|julwcouf8hU z;$6#|>Id6nsy}?WsC~=BD^?x2qyuUZpUa8AYr>dIw$Q+Ka>(yf)R6?Ij05-R7Y!Y` zT*~ifDh7myiyET{C`Q08J(KU z4d(hpc}a0m0X0=YxHp@jy6Py3oXaJ%IxVqAI;tq|n>+?EO^|;Jsg)3y(#sFEE^De= zh!EkQGPyY&>&n%wOAA!rGUI zrY7rb%Whd&y>wph()O*7tXy?q8#c+Y=aJ)o-h@)&$nN=$2J={?-*!f5v{e?Yb+sb+78HvfI3w zt#kfz{rS&c*|}ut<~1gNX)sm^yf-MYF}>ufisg5#=vmq9`OVP4oS{H8V6$D?HM4fb zwR2WHlqi4Yw(|C3m&RSuRgxwHwtg1;m#={iWkOf71GNe@1&Ze*U1}2LPtezS5C#n| z@r>n95|RXKB^uyFj}1whzls8ILaJUvVDdwMaz)1*lP`8~S>?ROK+2`YF77)!dGhMc z`cA?zW!~D>Uy%KI;u9@$NQ6q^ET!H_fLp3l((W8S%W5+ii%?$-R1-f`s_*Z0r6=FI9-*rins-3|0! z&mDQM0Y-4D zQC$5Q-SLVjjR{fI-h#<_(xxA=?#7>LZ6QC$sdbNc_ikc`W6AJDQIgeywRIUbB;>I5~D7`tz1m%2UYliZQ@}k`5uE_kf zK1nALkqFe~Mld2JiEvtj)Rshjr2nChZhTb!%WLabzswwuFT8Wdy5c@deJI#EYen0d z$1egJ`PuWI{*nBqJ6HVmLs$IzwppnFLiWpRz2#F2w)l*8Ys_ouy6V|Y+g`e=bN{_Q z`yDuM-V=XUy@>Y{624SK5E3f!F)T+o^aV8>(%dbSsx1X`3-XJMk<$(f@nIx*PCHDw z8_As04pZ)?B+Y!q+`jTgTudZQcpXqW?fLOk@B^;%F~@@XdZb}~a8*>PZj}2{JL8(M z`$nFo-uL_Cw~cIxahpb3&0{5VVgFsJJ`7LpKa(a1dlciK+BpQ)SF)&1mAFG3KD~oR z_j`)^-{2x7P2eIj2EV~YoDF@0@puRsgqDuBriMg$SqWkJ+&K}l#G~mP3MxuJrk+GP z!-zJz1BLK{BU>H=Nh~>4SJqs5{hc!gesJ^RXxp;7mIc*0-PgT#*^Hf=&d6^xqu5kp z`gwC9n0?n@@u~dp-gQ%hc{4WkwVyGy+^TnGI6t&uYnd5OESwT^MGLYs3`!j__zmw+%QzP$!gm!LiEIN> z*hc(pgkVMG0F`z=uuVXnQBYSxhlZ1^0>#Ea)$8<7yjhnro{R9%1cz%ORq#P$hjloK z_?G~asb@^QkjK?&!su;7?nknq^Z>FCy*c2R?Xt``5J zJOHwYwUjzpgZ~loN;-RT1S7lS!}SlVRkj>4Qr8t-u-;VcyZxwI6VS~R(Wt%{7dD6uOTRGRN8w)CI>UR$AKBi3k%D7!z5#|D}^-Xu|Mg{L_xI? z(4*5~GXyh(fPU(kUV%MQJ0ftG6=GDZj^lUAb^$OV>pU%EZ4@uE=_9K?n_6*EKvRVRF19B6gGG9qF;~U;xDg zyPv)O`s+s@eN;Rw^?q?sUceqc$R0V&@4p58z@EnaON5O{l=oKS?P}Ci<&4#c00De9V zR?+=`!zxN+u!>6kDVXR$!BO@<>J5)#6;T+cfofg@4B=;*19AUdvDS9m9oCkDS$~_I zpS0d#Yj1tzQ&+MgTAB0dOQE{#1J*=A``=m$YODvc>%uR7no}9ANV;|%mK#EOY++t8 z^F|}`RQ60HD*qYXYQIz5kZml_W81>H@^1rv_8qz3A7Js^uzY!5xiPz;nAea1U!gq~ zC7(afqv{m2s3)dX!Oj;1(10^wZd78o;eEp)0f1&s8f7}VgtV&+Zi+Mw6i}x4M@w_~ z#lN{|y6&rA%Jbh9ozmsH-PTgD^ytx<1qqAvf-gdoGG$>>%4&-8mDQ+3nl)Y--q{xT zBR2E7!Y^+JCNTs|B2uPKfk|`&U&*~Fd8EslooP%WpPm9rq)PczZI!AN!5y!>45w=I zBdxPd=NU?T`+AQa?cJAey;|e)N6at1ZcjwYTO3Fw_xeJbV<+UPG`;_N&s4zT**V!6 z^5ywuCQ}1yRngg1?ZjNa5|8LUH69V!5otmaAW`8a6y+PUbDXN3j|3}XzRWwU$^4}_ z=SLrTWJW>4dcfKodg;@gDk8bT;kPT)1bbPw?BJcW4HSygHsG|S+8R2{H$XTS-{e@t zk*RVlVssRXn4Tq^QXGpoc7AHzqp6p@SjZLZa|}rv5&j zX%ym+5M%L&^ zFbX+L^Ihy74kl0G{@jxR48eC(!{F_KqZOd=@x!6cps5!}g}Ww42~N&%X(2)BU&X7F zX`Wj!y^yEF6VDBS=T>;pqmT1kEK|BfbOghv=ek4%tXQPHe$}fy|8JJCHJOdd&{CHM zogpllKzWkfQLuX&2w=4a-nvwfIH=%u6nGjBt^`qS{xoAKq=FKa!i>IYJyTk0D~saP zQxxt=UZyQ0d)nK61R$NkET2xfV z7Us?=>AI}0;nLRS-@USL%Jye2%9{~0NtsqxmceJ5a^{pk-n0#!C}GpsS~7QYC&~Ny z-KN|ux0jOp#qHfKy*o-vF7E2+8@?*T;B~vb>0JLz(+Zo*1Rb_?;kFsGFJD~7+77Io zzGY5f`TPqy1`l?MaC%bqKNE7~{nAIE^aQ+`qAE-Xbes;acJXt0xp)6czFGRE)H}RZ z;mK0(VJHs3d?PQ=j%U~e)F;VA{uycV1PbF2BE*J)Qj^q9@&KDTG!0S@lvdc5xa+9A z=?zar_eyq-F2iO1sV?k#sY_nP?v%dovC0|6^NNb*6|!Fh-z{Km{eDmm=Z=O60d6VJbqmLeJnK+T-Q!y3HMFn0o3v*F0ac^vAhF{4Vdc$ESx)a zj=nJ#j@VnmtiA!v^Y}jb6)E}!+nr{gVBOCQZ=fTt(5VA-8pN}62n%PQ6bpxUM)ZPX zPN~qL01D9926!*a$yhjK212{wSU7O-L8wZhll? zp`Pwk$d|Zn{^^ijL9#K@FgT>ie7&(DDv|5uE!kT#nro{o%7bIuv5%tWPHM*vork;{ zV*qo!ZWi~chgI30>Nz!Qwx&C=FF+@DKRU6m+_15F<)N$QXzN$aD7D&``mC7^ZKfI9 z_N_SM+nd{RLX$UQPi}i=3p1DZ_ZH16PeuL8O2vh@t>?YiYr#&5cG$}b?b?L7$yr69 zo!{j^2;ubT!BMgSAjj#@meJZ+5A;mT7cs*^Xio? zny*cb?jEE3Z`crXv!`#_clKA%gmT(%SJ|+)Dune(J#2(*ln#cu^E1=}Qk$J{L4g$jDH}Qc-v(6Us_ssB>t^&N3M@5pb$t6&VOPDGjK( zrOh?>@v3k-;+r-j#U*J)<-Zj(Ls2`;5yzePwyeK(!8oPnsmQGDOJ;9q^(s1jT0{2b znapoLbKbL8c8^+kt0za80_1jzUOy?`~GgjpMBAB=*uCSulzq9b!Lt6sR{!*vJJ#sLv;RCQNq)&~8GWC@pT z&dKp=Alb=yHOMwD+9u%Ds(|z!Bi*D2eudNf?1*q9Q6hgH$`iBxBcN*@C*AN2W&P?8 z(6j>G1d}zsES)qFtd^z&7qz2whzYTxprbksR!jN$CZN^0zhXplGpj$qKD$+`lYi+b zbC)^fpKCMz_%nCH{CT!FGt-m(singGGrr@*#_+<}@H>TtVsUIyWcX#3$`O=j=C*}G z?LPKI$bS4u%v}^(P^ao6E|-dh^Wg|ao%NJRLd6`Qxp@C*KxIfcBW%wdPGGE%oRs%N z(T?QT8HjiX$Hf#C0M!_o%o?W|ot7Uj` z{tAeiH9xp|di$k^H=gm}1+8kM!z^BGxb>pOg;OdVxmoPGvU$nqmUGx2%BIA#JFk7? zs#QO@W@hsRk8kis?HS*?#T)WEQD^GJ2lD;WbnGLI_&y+0lF$YjO?6Q;usVYj+at-0 z*yc$80+Pb;&!{*7(ts<^R}2Y}3Fyu;A;DB|IZeT=pw_5G$$UIUgS0V%Wr2%S1C_-n zwRR+FJ4FN5X1I9srmcEr+KDgnlEILKWOZj*K(64)x6WBf_QOef7q zWpeU4oQ1c^goXuD5Bb!Oo8i8B@*UhS`hUk;VG{qJ@K(z8r@>os$1ggUoQy#l1jr@Kptd*PlZ@&@NDs{;i ztQ8EKufkfL($1MNx^NyPDd-2*DrNMz{(~)(4}R=*kxF;>n~V65D{X9dSt#o^M-ALAWNn`aDOw{aF4tV&hM$K&Rj|M7pze;Yg7 zzkKxJnEA2ipI|qSPH^25#P`}ye5QV1{d3r6ZA?s>%D~_dxfcR(;iRLO1bo9zC*Tr~ z7h^>Wad?6V?xc}R3TlYh#McXIu(Xl*~pI z_BLy4*qRq9A*U1q0b|@O1eZawclzKcK~2T&!VNBpDq{$uEgVcVTrgBe1<26dprmX@ zeL(yv#ghqRbJp&7<>MRH?LV)fdD8!K$14lwtqDkRM0Nhd)z7+8|97*-tG^u7?v!d2k(o?f((-~(k?yu^pie{UgrrP?) zE?joYimL2rQ_;Ld4V-x6Q7dH&F6zmz4jA{g*CtvWE{D;vthTebZ>ZYWRF7`Un+G~t z$AXcl#@2r6CD3gIi&S)4EE32yiG%laSftY~-^ZkvAWzrKT&`<3UVMN*C$|>#*QPffPygi zI`^Yvdirr3d~o_93f@2gKUE7=Vb~m#fS*pbJkmQ#IgXl)G{SB6HOp%!vq$RMN6+8| zBZrP-f<8RSNEu!-$=Ta-;tTcvfaV3lCkoBI$e1Aj2z11h6-j4|fKQ|JKJ}PUTAzB1 zav!4esmCbyp_u8Z$IyL}fs>{?7J-#|56W3D5b`HSVR6(pR3)x1jbn)FH_~rl)-^-5 zDLZB?;~P)(v(tvuL{c*$dEy@`_*)ROJ@%9W#Zt(fdlDiG$8;2tg^f$N+tZC2eJ!UO zr4W=LPp2ED+>45RpKcUC0H+%;LUsZ&Axa&JjYpIz*yWS(WFUQY6}QAy;g(JN&f40eKK}|lT-=_z$-VXH>Lb>pmlEZ0oqtFJW|04NLsc|*>0kWtlgN4vp<)|>L*J<_Z zGAKSwHRuLWGJ^Z{&@NLD^z#M1eg&}uZs`qCx3}u_HK=UD#M!tKts@Cha{3Fw0Rej} z3P%AJ!5^h*DpDMjf8dHANj>ACI{xb@$P*d!>JE7^Yn6|%hlbaB>iy^c;Ij7KozI@T z@w*MPbT+FsSUR<~VQ6Z+uxF^YAz!>jO8)uj|9OsmTce$E?eiPXd*OzeeT^FoCWpsS zJny1ueHY9s(6d{}PM>!osP>{@q8^_6S@K zWBiLwFG~Ny_KjD6^4;s+nzEvQz2#14{7ot2UT2(X@~(X1or|vf^oQF$*XP83pt&q3 z_Mfh4W!o|>yhQaBLs?t_HKOt^@XEQsD|ZMVDAl9wQRpEZNm0-mm?+fSGx27rqD}g9 zHtutrDpD$n5$M*UCOyFu2|l$BM?}=3rZNAkU);DHL@Z=9%q|>N%BNyQv<1!s0 z<|CH@Mmcg-GBI)iAq9jLcn~(;nsjBXNw312&5Rbr?0J!bV2C%#rgMiXo-ikIYmzTDE7KdWI$DZLK!>V@)&@9mXO zJbebb325&7)<5Pi(zzU2fmlWBf;uYpQoi7#&K)tI##p#^D%`|Bvt;R=h0S^LTZYmC zyo!zMHl=I3yu9x0xp+}#7wUpiWtWxvFPUQzZ}f)O^{@1UK|yDq0uvT6W1QZaWF>t9 zn`;1RdC(nE^k9HW?r?DEnIv1m!7#)u5DVge^ckqEN4a$L5BZHb!Vb6itsG}j`91mb zLx-eAs<-58-+h0V{1J2PQfU=AMY&XGVXq`9ic|sIpffvDLNZFHpf~6YdfmEArbF8{ zrV}um5$*fb-XCd@NJkq*WU=wKD~ zw;<>cs;wi!oQ5x;`CN>H;x#@NlrE9aW_QH>@`3Wgo^G)x%Nx%*J|);(=6&wD=i<2+ z)}Hs+rWxCZx;;ao7LPSrkO-c&lHDQx;hgTAycw-$6`9Yr#QfH~b-v=J{F`>2)02~T z$-u+gd-A6)t7);Qavf2RY3GI8K}NMO2mkvY&>rj&UQVmfB%GC8Zer>z71P02Wyv;4 zYP;1aL7i6%1DP5dq9}$8q^F>k%7B?=Wu4ij$NL%5b=z!uy{*aC)Ywp8S6fqFR$5$; zpBIlsBjHdm*XwaP>{g53s5e^d=4?j>@;JlJ1Q-&C5sioKQZ7SvYc+gyqXh;j1~5t~ z>{;wwBu4@sW>>BH-?AU-RI2mj*UFwnsjQ9Si3j8UrN8x~%gLAWPyg`XgAeBAE`87J zvZB?Ao>l(-LGi?5`KD-BVBxOCi`nbpHs8>$#UR)4`*s)mc=&zM!+#ZXspzt76my6F zYZu8D_()aTKp!=z6Bas??LeIp3I@_rlK4hAvx}GJ7w4l|i6}zUYBWQdZYG37Shd^5 zn|&f=X3(PWEQ$!JGkM!hG)}OagH+m%g?ReMOdh8(XW6wx88CLws+C zzUQ)Mw$2#7{BkyJ$B(wRYcCb=KX=1_vek8Ss@?KkXWqTGP7XIGUUkn50i*N$XIxONDts?y2;u4E;Kk0M}{^+CjAO6jT|4 zYLL5xjYwR>+0*N#g*vKFGelngrf+gBS%E`z2VNn6y$&AmFyVKXEb8r^+TPSa+3naS zeviu#$&4r{UK6JiIhJBL-)T2ENh2`46bLV9<~X4eRJ8(hh_aW-xr=x;=YvYq1Ds1$ z+FK>gn09VY8!KHHx=JmDZRO`JCdnmuUAh*zyS-)WAg8IB!TW0m&QY`*6*0!W({bo5JKGC%P z&L!PDR?l>1<$H%es%CGx9m79GrPu#PcSv(qG~f^W0#$R{n$PMj$o9nSi?hvE*co=W zDH!zzYL`r_TGmz22#=PQ&ZRDwpUX_-SGrJqBZ9&m&n68)rn5LQL<0_|l5CX7%Fwuw zvTDlIBgq~@Zopv^EtWI8JUQ7~2_15E^PLDYy45<}iY_Bcd?KaWlPphtmKp>ex9n8+ zNnO*QY>Gy6bB)I6{OJ67bLY&O-q+LF-j-}`YN)M&hYK)vRN+NJVmy``$&FAkT8r73 zZOnE-SM;V1yf%!YJ5Iq9z;#92ZVrHJY&y2SD#6{!djft}sdksvG1m zM(CI5x5S~k3A?8LgWShFn~Zv&NoUi`kNfV*eQ$H7!Jc9C>908G`%nz(yat0;Cq;uS zE1vt;>*YUOEPr~5{DCNy zb~QHKG_CKZ`XBGYkBv7^pMG;Aek|SE+`P4P*RGzN`0%r0JN>t77x)SLNx&y>X4m9I zmA_pPxo#J}{wW4&M z{KadpG2^@%AKUG!Dfo-r76`CC@@`+b!{ZinJdWWV;w7(&gTwc0V(eJJHT=hX$E%qI z0n!gJKh^V?pP%>Tw%e>02w13R)Q2+*9IBIkP|Rj`XvZZxRy!&)SF+7iD^3y`1ZiumqH^aFY0u+B3s1|y?w#l**#q? zO=u*aAB%Y14jTuVl(90j?L;B(TxJ1;L!$}@Da%DU`(PIod8k29fHYfT{7sBUPkDM3 zj2(QMm5L+t@`r$#hou>ZPTUfU=Rf>`{L!tlF;qHzN_Ecm?9Qn--tX>h-n;n0ooD6x zjDyeYnYwylX`Mal%~t=^IlruU;q;{4sq!}$#HV-GTZi34*FU*>(d~n|x!w&oKi1#5 zI=bPX>V0dTm;ZU+eeyqlwE9A^bjh{LnB3YjeA!vwO3c{(lM60*>+VIqh%eg{wcU8^ z{Fa*1Wj8Dv+BrKC?Kx*!_SkMK6~%H7ct(wUg=&ZT@6gJ+gsDkOS6fqo!=?tSV4ba1 zm6C`aW#l)aG!C9cx14ZcsKxFf1T**vgXO_L=zqGiqqIcIaHL8_0?eh54E5#-%!Fz& zsYrXOo|V#l3`ye>tRrw^CO&2j6?@!4i^k%M*=!FMz=mg5bA0xQ-Z6I^wnrE0FBL-on_3-FzHQrhR$K3&aOZuH?nxpZbfK* zRCROM2zQJa2Z<+(~>VASbvFEzKgBSENbnq8xTL*j!!SW#Xe`-!>b46 zYw?FIIrqS}8J6ABCX+8K!;&!|e>ip4?d)Iqwc#xJulOL#XWB9A(*9EUEb;Rl1DCNm z#S1Q(1zL#0bof5{xbI^MB44gB49LntLDGl~dbCOacTri%y_3Rlgi*~xLT(lGSJW>V z#JS{E7uSr0{#R3toKuWiKXw%25(a}|ieXB4de|MFuFF74cN1?ki5-niyY--acF@Zf%May5*&PROJt%sH z-#-X0Fzdvpsx`22dnrTF0(V4jPv_K*b~4K-c@9ZeDikYGBfSiRVdPPeu)d(|BIwygXZNm|S?9I{ z^fL<9ZoR7G!e=gP>uz{7#DbyrfV^Ji*%_E!9jq^O`C<9mw|C8KS#{mC-t&s0+v=?T ztT~r#u@+Ug7tHBF)hes$vcjnqp8D0dEg86?yl`8$*`KwN&e9B=B?muC^}?>CC5~uf z8LVDC^ce$`8dd5Lm4G~|4X_BcXjh1uzZ(1tna<$9!)_uN6ljJDzWq>5*3fzSCKs%y z90^0z;l!!(X6wkekvdkR?mA-G6ORt?=jMghGbnCT4W!`D|uv9PNoOG^l+BFG4H!TEFmF z($oo~qLoP*sQixl(ux+-fc70)Nt*#R2F0gEHHv*`!IQMoAQ^}Ajc_Hvf<}-&tr$@y zWV9G%XcZ4dh=O@_C*1;933|A}myO)(6gNmVeY0!15|;Aat>>lxTy1Ur3m43rJ!|^3 zw%)eh(r~;8?e{_^dQW7Jz#N6NR9xZV(Bvj5C8lc97AYzr5O+ZDAbx~`T7H9sdO>C+ z@Z_Be zes}!G{N88a-i=_lF2R*_;1eh`;vhxZuol_qK6I%EtfN)3KIqvO)U=brcU zWgUA<=3m^`w{=0u{o=LD9@*a8yZw=6!{>|Fc3(KJq-5TO-NWaD>+cdikWQ$U;U_H| zAVmPwD_-9Lngw{`0205{s@ag1R8&)??%`%owgxf}oEttz<-c9h=Hu6-{}biIV$S!6 zkA5HbT8))nuYMe-Bt!5fT^VqqAYlhCYTSN4$c5!ttRl3t4AC64!a!lFU(0bhCO!H6 z|3}?-2ewsSec$I^ZP~JAS(Yu^vSdw5Ub1Y<+wz|A%yOm^J9`hZfDl3gfj~%U%Z9RA zRwz(LXbXihTA-yA-a_}FZ~ML-^rM587GnAPo##qkQ3AYQ-#ERik-)akeLnI8&L{~~99l|P+bT2@{yU^SV(Z`8DXO3Oq7kWGH6mDq`X|8ogXQdb zqzJE}+gO~3Y!t89K&+-YM){CuKBXZ{uE2Un09x(g)t5IY;;vhyeKtCoFQ=?y;aH_> z$Yl_0W%$=~s)(q)okrpIXp+>Rx(8(} zk#tC)6theaaFpPQWR!?&#Hy4U?oi$H!Fml?4Y>?|k5aHjvJ=kC)V!c9-ZxQthqPVP zo{j*UY=K!u5jSx6Q$C26q-Pj>HXACwE5G;r&k%y zoV-K4_jbiCXCzcZ?GUxR?@GZHap2m5iHKE(1U_nu@PVZE=?%^$Z4AYklj8SP_k6VG zc4>mwBYZBpQ%(BkL1D+~fntxO0ytmKBQC5omkuX|Qt8K43v?nl1SAQu&#f(cV-n;}Ml!iis!k`;;!&9)&b%CCuY|7YsGS#5)chEJ;q7W@0M4={=e#k&P z1=}))w@JvZ{3Ezm_3!IG`>$sT4xKz1?pYQ}W9{h{y_7S2!-Yjhjvw@Hy>+a}-m`Q| z%dy9bouk|K*X@7of@)^)w5_bEU(@MjhU}W9O)G9F0sQI9>+jlHjmrmhx+BYAwkA~$ zR_5Sqiod(&=BgzPj?1<+Ev?P&I{ux*(&x`?nt#cHKw!Zo^XYTn!Nny_ZI>;pC{B@8tn;^%GI_RD)L5`_*L~QYHfKgZYX}xgKIG%xH z;~*FtI_4Cd7H{EHEOn0V&Zi$YV_c2Q@5%`3U2#+NFBiY_>`j|${3~wWW)E2y0v{xo zHM)}PuX^Vm8C~6$lTyF)!M&qjy0BfT+-uHCRu*+H4~`zJ)%wJHFfVsTcXE97V&TpR z5B=;1(iy36`BF!75I;jjH}Gh)S}g~zl|5^*)Fmm%FP^FQE`->Uh|@fG0ooS++1V7J z5`es)t{AD9w?IfX}ZTBgI7@9-IU^jR6#T{e^^8}#X|AzL=#qy@HofXwO@9TgjET9;Iq{kvZO;!Gg;eJihD7uI=0$rz&2ff~Cmt)#DxT{*bD zQsM?~1ELkQ_f#j3eO0*yAB8J%%lDbN~&JwRul@-99QhXcZ zI)FTiX*bW3KN`S(@helh3?%{nje^qPhP!ucymNE7a`BEmI~G@xywP8iWy;e}%Nya5 zU3+(pgqJQZXbf1idacPUZ7AK<*>Y&Cu5#7o{VR`+wO5tb4^*#QJ}qTLcHOyp{=Sh& zWqD+NUE5%WJD8o8Yf0CpXD6Wt;^dD(Bu^-bOYqX|r#A!Z7IW1B!wgX-dS$RL#?B^2 zAwVH5^6k0V#*`!-#58PJHN{|sn}&lRwKxbZ$zXZ72quMjE|XPY3T^a(=mU!2hdpAW zF1NL7o)-vwupa z{E!(?-D!cgkO|Gkix*A4r(CQ25W1KyVc!!TIGhpPCW{mgZU$924J3)%Kwv#1k?u(; z_&a(_5fl-%8k9Sh5gZnj&7;!=W@dxKxCvrwTSIx7-wmX(@ ze?({rF`Fce#z=ZxAmxuJ77Fnq@~u!<{Oy8cE6d7O9$WD6vt=u<5Z9(>=%uXIeJh-c zMh0?*FJ4lWT>a|pC;#xpCCl#n)5%-^cJE?i@$k`SF162Jw$xMJir^hT2n-z<=)ZVj z(Jh}_aCBKv=`mzjldBfh<$-QHdM{cwxUm1kix=$s&gbVtg`v26{MiSu-B5!x4M;r3 zkU^gV=Pw_zk-5ni%@~i`I)a3xI0ipuq0u=gouu@aI5|_x} zKo$MbP0_zy=nmOa*}M#dHqEMEJMSo>_DGq9TmO~T%0?J*#E`CKiM&)^X{gLzb3zWt`oU^#M7@$9^q&Hyi_ z7{T1jCpT@{sZtP&i81|zr3ieBAL89Yx6_<&N^ppKW{io2ra5EwAueB$#CSs)3oUF^ z83X&?elVxGr6sq0QE3|MpkA*WyP?Te=1N~V9O^F4_|DhG zt0#89lvUPUN*~rQFE0{l8ZZc*u)%&0cAakF!dQGmBhG6VA?jf3@c4#CIATpdz>!U% zimartiESNmF zZvh{WPQikX<>h^wTWorR2nG~-*va=4CWRTkf&FBmL$@PXdQ4*i_ra=hN6lFjJkid0 z60^!F(1Cs+^t2jV1IN5l8pZC=EY?G{t3kgAD3v12gdmp4+J>UD3PAqXVlb!}&cZo` zBEebt5nX5Wto#ZEHb4xL6)&R8i&R9ONbOJU>p&JZ3Imepa<&KmTM}-(Mmb(f| zLU7Rxc2x&Fo{Y47n_2OKuB3ZyQ+0n^M@gXGYf5RjaryAU1%bjvM@E+3*{oLUjJet3 zll~%qQL5FJl9HE|%6h}Qt2-VVA3JqPS6X&ncA7rRm(#JMufS96@pW%#n%`Mm8R%RQ z3a#uaDlatxO-IAmYxU%xr7iFoh|u|5L+7(2;rWc=opC;UKIVLm#b+TZEg#QxbkpJd zm5e<9@WJ_g7cDFbbSz!5v?H*1Vbjv)vP@rkjcw7U{gKg|HdYmOEnl^~tFW!2vRP*~ zikI5E1HO@-(!zP`>m$qCg5G>jX@025YO^}GWEba~iiY=e)h=u-_P7eGeWCJ@$C#;2 zPgkLPIFo-5x_mkIqX-HO4^A-9QXVWA(9s#ka>bluIX62q!;qwfEy~of41j+J9BHOb zWy{o=3}{5#fBlzK{?QnFsbF1sO{me;+tr+%-Q3mdYACM_t@pjaE{p*AMY*j~{_(m;SjjIAs+CFR zR2nP7+kI4ehM%*f+ligC{B*@h3nwl@5aL7u%<$}!7DhR7jHvpLB%^I%!>U~~aiL&s#c+OIr=oByz|QZ_uzM8iPwq){%t z&&SdtZd_!&pj>2NpN3-ix(sBSpS9y;a&yi?BO^~178ZJ9`Y_^g$Pxy`rC1S$RSXCV zEMU0#pQ592*PSoCbKt-`FW$MU5uaat=fM77zktsxs@7fm@T*(4yz=n1>#FGUD_gd_ zN}t86_apPp#>Sn9Uh; zLq(aWQX^n5biq0{6)+D*mN0+75hVcnTM+U%%P<8g)Y{xw?=-n!a_sWu>!(60vNVJ# zAUYX?wdP^&_%e%Is)8dlrl;{!%VD%(0j5=?^5sco6pz>5eZe)~K3LOr@(0Hcy|Hk? z8;6d+b+W7G;LF$SzNfazkZDZKFKP%}as6%g_Fq=XQYsJk-+TM@R}|J4<)<1m4a!h; z*Up!sA6)xxA{Ihxp@=aK{U*4@c3&3ZPpyTn2J!l zktJzHNyo;)fnyumlf~r|cP4dizN#-Y+|gj?n5J)R*}d}AdnYF@NBq%Sum0T^mvRGA zm)}*f_VX)WUUS>#sw8WHjT`)mlYfLn@ig>D8gS7-C98-vvv)ajnnV+kjxNzkEm_zy2IokVvbUUAfcep0# zoDE0wfs;J3P<(*5A1Zp)U7(vuLX}V&DGHS$E*liV7+S1Vvh_gv!dWA1@iv*fj%*$Z z(I(-%Yh(_2SV=fl^Rb1YAC`-J1B&}9WI#^w>D*E;z-e+krMa(6)GHqTNq&*;3Zti@ zyVB0IlM0qw*E z;!R-_N5uBE7i*8r=&rk@t+F8PD&AdF zU&X|`G=1WqqbZ-X)6M0))4vV&T6w&%&xxDj9Y?pAV1_=*0vfcOy%sSPF%_yf+Ca&F3x; ziW4u6^DX{Sjy^u8Cen^Y&RdgiF$f>93#cMkb)2I`0o2nlRSyj5w#U1L*W#VYddS;T z9Yh1?R;#6ck^ZeNVJ%oqI<2UK;cSB1;!Q&xk*4z&7n1Zs(tP2(b#N7CBxCu~;lY8v z&i0lj?tAQTmE{}gfRrT-9CNZ1Ckqt>&vPzETm*idLIRH|QgCj{H~9vXlY(Mhd!{E) z>HYJsAH1buZK!%tjSb>KV|IK*M*R<`FSS9VAa`c21=8& z%*pUM>y19DTZ8rM5wfxN)WUI92iCO+y!u;J+f{mS?u|lmB#;UaX32{AB=sS#F2Kc) zg0T|We26Aw-@wG);)3Er1p*7X8@OE*7r;pEPtqDpRl&THB#et$;vMMjy+H==&OrDl z>BHe8OM|7$E*r|}FAWZ4&p*06ShoD~`PPBbl78_si|+jOaqE)G@M7yVzrB0$$X&m^ z#=1CMxx{+>*LN=ZW$N&u2iC8D;F6(KhsWzk89H=o{f1MQ45c`{2>yQZqvsBq{AEFZ z+QrX(blqppJa=)LzbxcWzv#IS(N9TO2>vQveGzQK0>Vz=?TE<=ONDf%*7OyM$?7_$ zHITUiDdoH1?Uk%luSsJ`$*^il*&@IiJ;ktz7-5A3y&LJ9fY*-o54cfS1sPd#GNfvp zO?jQE%wUi=sGU}CH`S$4CvW+GuWTe@-@bLzhBafWMprCbyl{B18^J1Ts+<`vt2sZ- znQEfN%oTYmvy&7O;A0su$Y3_YXF^`yr0(v${>V;xm{pc!s%y5#b7TfQwldR3A^ zsmX!uTFBuK_ttq^O0${g+{~rPS(-DGz1*^9&6ZiLCFuG*U<@+si&FMsM3)M&9M2H* zR`yrL#Wr@H2pgX%+dIQ}; zdC>>(Avl+&`VhYluv6F&F7(Phpw)k#?D=!DliYQl>~m|UU=8QVKDTya?d(@)l^O4dMxR&>PcJq1^nz7TN*+AD z7FUnnxjWKw!JR9sTLSisUH~<~Sbg*JESX|<&-Lq~h~04SnV87;5r44;eEGMaTW%D* z5m%Wj1zHhYYH*D3DU=rwvPPky(Bt>Av1A?Vm}vq*QM3xYvbK(#)T)Ti;uFpT|DZonKd&g%1noIU7rJK>)2lE*-gj zVAqQee!kUUthr_Bl3QwxhMFsHxNDd_R+t@q_@Wm&^B0eAt6?|d+f%!~*Y8}q>zal2 za0*OIcXHn8z~tYReTrnET-3|R_Bt!X2e9|D{3d^i$!}Ur`;`1f+<{J~Uz0$7gM%_e zun~}A0Wui2AMK`3Sx|N*r%m!H3(9Y#_5Udg%5S8L-A`FiexvNb9P>f?WP>BWk=VJi zxKzvwoqT7)c-%7yZhq5@x<%giNYcQPGT zq%v2L?iLYOI27U>AzAi{kY(gb#p@cQdgZ>quKm)19{m^Id+!dz&?R47z5T(e0kt_j z%^qm3Sav9#T^`-1D{dYvvIYI#^fZ>N(yYCw`GUJvMFDvmT|RpIj>dWQ+$GwwXX_)i zBMo^fLslBJUg9LU1jPyLKaz`~!<6OXX~|8cBKT@-)Dh6qnDCiUIG$;q2IKi@;W#8d z){taP)?4-U;#Z%ud9_Enf7O0OS#=raRCe z@MyqURjuP~%NJTBO|o1ZlZl5(-U1>3q+~SilZwXYY9&NtnhA#~q`11Cw>F7do9EFU z>H1a2Wtsxpb9YDo_TGDJ$?txPHs=nPmY&sSwEQ-Vwub$a+O7p%3!&{vK$w9{94tPE zObqat*uYx6L6aqcOk4um=8TENkci1E8#cky5^-jh-;t$JXF2>?tD_<5;^%S;v`Y=P zf+{c5{Yu3=l?ArsrP_kr=Z9d30Xu5;7moI8AN@7n&dy#dNAhs^oboW%PF!a} zj$g7oj6R+v56|qQd=o8qlEh&?F|zb8{cBENznNR0Stj>Yi@w5N)^9hg)cDZZi6Cg4FH+=dGwm{!KU+fSeG62@eVu7)1yFXi!NjjOm&(G>CyF4i84djDP_d`#katd zZhR>&taS#gMOd#&3hpm{_H(6zG;~Da>jikdU8y6G=xOGtU}DJn_Sl1Q77oRqw6&SJxUJ^xw*e~hK3 zRL0laG}GuH5p2b>1;Yb<-JKn6jrDakWpLaM6gc331y}%5kILGCsXI$((Wh-{WP1x) z>A;UZ+46?p_He)5vy~2EglEJ-2}cn4-^n_AGpbaJzS^brc7pp_vAlfzZxG*p#c zvGk2=vR#IG8iU4=(vsfjvHH@}td3-bkW$gw@6RQ?Fz2N`t-BVKYOFR-K7=A!wUC}% z=G8gd#+yTn8eM9Or!1$fYX;m{X+$4QP9N1-lCw>VtX8dhN45dFh?eN1n%i(6>JiBP z6S@cm`PPewt8lC0hl(Arp$(HRf?Sg%T52l(5XY0@iHL=H7MLk$Z9r z%gYOMzj)cQnDR-TWH~)QgQak^j)J-#25Gspv@Aln0 zw{2OsW^DE73Q{`tb~i`rYMdFKPo#7r17T>QV3jbXb&46B#V#Vrc!5j}XDFOVi%9p7 zT;s&i42Tip*O1>Pl~ZX|y38FmL$PO4mAmcF8_wmvJ=TYkLoz~XhESyE88 z_U3gL! ztBmA}MzW%j)iksX&zBV^VLU6XG2fH|NC}6GvA7xt0$a?R5y!8b|Kqd9tBxyBaM2v$ z3KUiTOe35r^&vM2#&k}pPsCP)=U#c=!LFu*U)#Uyp|&PH+|ylUZK0;sO?GGVirW0* zyfpO+s7{i_c;J}swk3vCORj~-jXAWaNSCCGx=3q6V`*e3M4MO-N(+An@+p8xJ^sW! z5s+ufx4;ZjAlt;>#QKLHrn2xuS6nXsMs*ixvlm)n2R8u&pQ!{QJgUL{I%BI5zdYUN z^SQ`*MK)o(3K77z z3PG_AJU{$9w1`A62&-9_*OQ*kgkXuM+FPCOPItTVGt9WbH8GP8-r=ShcAs23Po}SV zjE+p%?NlOjK-#qN-n~E_nbEP`zkM(zTeDG@q|_@nXmSi+{Otnj*o=-UZ=BnsMwX#h zZ_}lyla8&3KHRwn3xYH`YAxV# zW;B;BW6qi!>LQU5>61)Rw4%Ugxb~VHXW9oJKTki%w!WX5j{5}oc|0DygIy(@7BYn8 za*WU6(Hv$?))+~9foilc?adn3GgU|Nh@6#kI^>ej-^N+IgMbR zz!}$O1wu~52jX4!$lxvDAuB5$`+#LWISovml2VWxE;#*iWZ#NvlX*NhEvd5&ZM+L@ z+$VhFdE7>KQ}C%_+@loFN1jB8zf`jE31g&a zc=#$ORWG*i^*{7i<`$%+*fpl$VBz47cKc1wv~?z><&K+8)hqTz=rwX1+R%osCkPCU z=rpw<4dWq5+lbgqk4gp}GKrje_{7E&;46SxOc&D87{b;7s>YnA0D@u5+_toBnAsNK zWC~5uTNE2%2O5I?+7q%JsHq4Z`^`|Q>av(h4+9s8jLkhAwvk&z`FVIc^_Q-^VPh2`WCsUYs;&Cu;0^nuC;h9dcO1#B9<1nC zSK8OOuFKb0xhgFi_Ke|@n{KkYE&AG>_ikSOz`@ScTz^(+(U~ssnSk@!YrDo9vMWQ7 zQ5vILG>25D1h3K~9u}T}vG+JMY??;}@sTGUDGdmSe;_m<&m}yMSA0*-gC&7HEKwf6 z_~nnyQz*Xhv3ZKc&(6$~uss3sm6>@Gw#O&lH#1MddP?B7%KLtveievM&dehv>U)v+ zt(kcezRM#$E*)654zAd(K;?PefcvxcRzKwZFmtINoy}2ok{ljzXcN(W*5xnKBf@MnbPqj*wpm07#&8pldW>zMMNdGEy11bE{OF zDB4%aS-BO8)udDACna7mrv&bo4GZV{d~TBJuu-?4{% z7GNsb@i#Nm7v|@4opeMTQSFe_>^`*Nh@i#E{FHQrAK!F-S4kI%Lp=R{a7AaQ_oIA7 zwE^YtO;{duMtPa?Uct*A5rJ8NzxPf~h|dGM<^d@i-?cb_o)Vv*dS4InZ;It_iRGW< z`R|j!!=9BNqpAFi@?l;-XdV9EFJ#2(FPNJj>9pJ=<<1-g*jZrRZg*EibfW)WEfx=PfS?wuRg zkFJaQ6QYj8ZPEx+l-QD z8|Mj<0RE*_X_rCB(JUssopCiC2)uwoQf>KUB}O9N%8GnoQ8FRYP|;c0S?G6^=a&Of zD%)b#+I4ogziF68#&E?Qu_wUHVa{p5+?0{x0$0Ph?*{gWX%4S3SDV8gD#&xWJf7l+ z*XZ%+jmoCwnYvPClHM|QvSxLs&)2!Srg~L}kJyT?gUc%_mLKej{Z(9(Z?V|6o`yX| zmZv^dnX13cyiTjUid`Me_jip|RgZTC0$t$`1LMb0EvE9;2Sr%FumzN$ES4uyY3Gt4`4M z6F4@X0qs))*$4Mx+*N}(KKWP$_Ypr<0gNLE8R!)JJM6JfcEMCj}&No?Ka_#EyxxLr__b;C$I6 z0@pcM;&xdxW$mMiuqjFXGUJTrup#mzI&uu$j+joIF#8uB7c-j4s^bSvb#~jHWsdu^ z8@CUYW|y{ji+UQ$EsA5r0nBXtM<3ZLeU{P%d)gywR&VZn`oq%U!3AY>&KR@vQ)#^p zOs25+RWJ)>1L_`mW%b0@Ya7yj&(j7CbJHH1w21Rm3sG+9thAO%3;Q`w8%~*9t{LUZ zdD?vK+_Vm)Rr9n3bL*V^1;~*ea*G-^DH|~1)b^#5$5ma*Ut`UT3Kvn^#YZmUZO6&K z0=&ZwkQ2g$&lGlMt2s&n<|HN@K<^V%abwZ=O@6-MVma;hwgr(qGChUw++K`KpIMxc>ToJiMxW z?7HPYztUa8{-Up3a%kc56RXO~R-IVB@X(S7_L;DQ21dApIlpGAV7_jDt(lCWNp}8s+ z!=^Y8VZH}T)#QXKs}?3m_$9$)sw_h-Nd?glLQKPcZBhp-#>!84?3$z>&)Z?NnYGH= z=s#<<5$~4XT^@%f`PtChCUt4$_Ih=#cY80>%-iZMR@X}_qVKYAt@F5}?-qsoqU%!; zag&urpD*>Z8;dIYSvrzfv#&6^kzF5jN1x+k)H&%;GysQB#WpJCG0K-dRQwU&H@!pO z-58_Q$|pq?+f1ZFsK?r{W6bh}>PV%P32@>8QWS!e;^1649Y=s1Rv_f?5CZvjgfx%+ zH!F|{#B0*x;U8VMTOcvw79oZ=y9_wN&#_4Kxeub>WR3Vqj@JF$S)~8K;?(Q%EdSIM z=KoUMf7Qs9(Z8|eD@U%9itIVj%+SI>;leWZI}4i4`1~G5TmP-G4h*6Y6F8g- z@)hauS+NdiZ(+=?=j$vT5JB)Cz?c=H9SWR4HsRCY+T)1lp!R@aPEA6T1mFORaJN%% zTzk8Wjf#af8`j>gu!O`*nb8|9Vn0l|^)t6f?UyCZKmPoMw@iHYv+PEohh!KJiFf?! zS8T(sjnjbkSF+pQ{x+ZE{>i^8mxEq+F;7INhlZd6d~w{ay&B>Uxzhs2Uae7UHCsRp zk`ZP_P{JWc1^!m60%kx=4~+9gqv7s7n{*^S)Ai&3u!60;0=ks^A67su_@9==%jw!O zqpP#IDbiS59W2dvx}9lGuPc@KaZ`xQPiOf)z(+!z}V=8&)~VLbywkB_*J( zhdkwgx(z$~pUc{M-!HCgy=2Dc#k#MUeumtu{mvb-QH{Q!VNAdQ{Q9p zp1MEZpPyvtsvNG)?LYb5gIDS^laL4+2-#6#SCE5BwXk2lN`@s&l3t%Q#>pO$K&GFK z$r^)WMf73HnY8WWGLA%SA4fBt>X1w`figWsGaH$c(@_F)1^%<$n{keC%1!$}D_+Yn|8qqPHmeJC+%AKTmsj?PRX>in1RvfKlk6 zJ>1ctMZ^@N23Su;P*cF$3ET_-f62uMw{<|9hbSNbs}zSP`JBfv0-KvCVu#Ob&r^~L zO-6O~g0aQj4lK2lq`APE0T7G$Wd|Y&aX%=G00m@--H&_4{>9y9cgVKVUzKlY3m@|h z_B54dSFgKnaoW{s>mI19NY1yWddlIoU$=KTX1!-N}p*;vHL6Cr*!iw ztzMf2@eNc~S5a0;rOB(eI*S{JD>@IYYE-}RR`OuOu-Tkp%hRyJltB0P1$7s!Y*hc? zN6F2l%Z%o<%q%s?1=i5|$)NN@#hro*TD7eagD;P^e}Nj7OWYfVOeNhI3?{;W0Mv&r zCm}v5FgUmiap%uAa@ub(T65_t6NbEGuLacuAGAaR1)x?sUBr@| z8%GA&Pn?5`mlvmAmpXjyhT8hQ5AQTyXY9WySYyaBr)E0}a?47aie093Ym#I&-FamH zjk&IZDz{1T{I`<(4&J|E{L4oMHQ#?bxwU90Eya*-R!^KzWLeXbIZ~t0iiPqK?9s}E z#z-9kc}PVbU`Bz{NUL9TlRKdx~EE)V#;ykn0D@1vnA2*SaV zAalbCIEl7cOod-1gaHpzR2ZNkrTBbCqSJsrl?QB2NT9i6jDeM@H;uA1iIMBP_S$QG zwyu(~Telv2tgI`E207E}#2}BeHPKtx8Uzq}N9yy>FMNTIVR-ARqD-G{?nv9WtSZj* z?H$&`-CKe#K~VTG#?YvfMm`dOMpFXT<0wV9p+Gm-3@fH%;Hb`ybp!AEWG%P?Fkosq z)(u3TX~cA5LcwHBgQT;+RP=`(>gbcKS7{Fqh1ZF_8TFGndmuZ^P$~7g&>Ad(! z?7Z;4R;Y=1cQoxFw)>kUKOiQ2N1+A`cI|8Rn>{7!z$ZU1xa^TDJ&N-}rTF6Sh>sot zjeMDCq~c3|q3J<&qCj0djnA!?&o~_ zI;1b<=?{b`eGu_7S1Asl{DwB#OZ~zs>A!L3uNPpO1ceh86Nv2!*f{Xmglh{{~f*I<>*ap-OFqP`(^YnJNOhk7(I-QB?|jlmGrC>!OB$&`H?(4A&USI z1z0l-(GCV~p1=sPmzz$+@p|`5?PtD5KkU8JqUI@NM9C|eUV2E{#c^7eMixUI05?kb zrF1}sfCflxr@GN>Y<5(PSl}=?0F1t3KHg0@CiGQ7@~A@Do14Rg@-iOFBAgq}%t%Sr zY2d1yP4-HRlmQmmaD$8i5p98A!;vN|(R1GQ3D~X>xrP344QUSTbUJQ7PZk-r%_Nxk{&Lnttd`ix+9MG@OFVG{o&uF@OTNtUO7%B~n^$9{%628gb7g`y5K zX%KQFRs*7p=pY^7=1pEJ1ja1G{eosWK=0%A-Xgv`kR^8?Qfw>IcvW1*$n`{b(}yEd*e6S3DyAiJClNVw=;8GU2rH zIlSSmvFHsyy<1~Y=~KUmH!$Hj^!*|9Jqdls8H2vZssMB5u8y5dqofWpCSY!#fW?ilNor_5>yHvs%Y!TV3QaKaL6f&6q+(% zrf9X<0X`-`yN++oLFvXb>!lmx+w=5kN%>UtC06?sYma`7D#HH!rSzQ|XU<{lKHOhyXObS{Bwaix%cq(HEmHT*exrZ(hnuSmBZAo2>p~ zRu_H#Fs?L<594d$q3D~@7tvJoY7miPfyqjyeV{c`9>vhANOf&*8RasI-fW zqdbE}SzzsV^f=~a=P4}gOKX4Am2F+?@KnCw&%Nk!N6rg*o~pHYbS&HU&2QSRSI|7t zS+P>=7S~`+&>R96K`}JrghD7JoFfW;j>Hcrr_4oGgv=qa`}EaMJaP4D=6vzROTYO| zs&5T*Lg9PQ$F2J{?9FH~yXR80L4?or3t||D;-@^zx~Sh&8Sy2f1+N6HIzIW+D%NAWvtd-xm)1{FRFe zDqw+HfjbqH2cIFfiCJiy4?-AD6C;iku++p{&gY8Ug=DLY8XYEJeUeNCr6g}EC=Vg` z0(=ZH8<6O z%Pl?AldueIM-C-SE>RXQy6jbZ!x&!#IDy`fLg-r5a2HTpSZ}V+mz(YLJ>TmO7Ww)X z^k$g)7R>{tFZT5<>dQ#)XQ>6bIevdmZo%V7>s=Vj*Q3*?_buuzC`CTBt77tIaRtPB z73g=n@a2f5y|GRWq{_n76mTlafYT1bBNB)YL2G)jk|o6$!aEa*=YeTO5^*sL=7rZTw7gP;Q@T0HH)rFxM~3w%W=&D z$DK)GghRlU3w$|R;vuQ9kY+?5MzFate{q4`mFqOA{f;qbONGPPIu=o8r8nv;S3Am6 zEV>LV*EDBarNh-WE+>?AWCe67h7?!M5mkXJCr{5>rQ|eAQm!+}rq3>n6o(eK`lN~! z>$;@kyn%FmN}B3HT~29dMPM-E4W?MvCKYBzlJyxn+MkOiZ^9b76k}f|G(>9sG}aOe z#FPre2W>m2GGQ?-{9douX)T(iBZ!A!j_XrM`97sm!BCN+z{2`V!vzkO>0cdEiJ9nc zpeLM{-?BQQX84xmY0N298w@GA=3G;@IX%gg#IDmeHHI4vrKMhFh0!{$Eo@y{6<*m{ zC^e^8cWGVLIz0^6qwh({$=VdYC#%uHP2!&r!wxoBWS|^y~rf%7dQLT-J!f9mBwf?Rurz=)=(W#Yr2xH=HyLEcm7s%149e~ zB_6>!H{&h8o>Z+@*y6BB- zGi~bm%48*c2ZmI6mg`t+e|i7To%qG>%t-%5S|H2nPy0oxmA4NzFydOY?|-br;0>E< z9Ab~K;UE0q*s*VPb+I?Z{?A>$rtk3KKGA$V#-bMQ+JZR^3qz59n$r@WQ_^aP(#F)~ z)5@PDuKa;yuhIcTNTpr@B{>JwLYOo;x@U1Ag@5F;OwoB-kj*brYVtDR+hcTY|=^59y)b^Ky9yXwlS7SUukzt+H z@(J}7fHS4Iyc9_ikVuGUJSR4<(_9fE^90y<<2Q^HsQIL^3$cb^jpl|MHB}G;b~Ywm zezEJ`ii+0`U#4wfqXnU550<*_UccqP+0*?$*#&W!3I53s#r>FrMqxa%3fv{jU`oLb z?Eey&wF8Y4VWr!rrXzNHfnsr;oE&O+#wAAV>S9dSMLOG15Ox>NbhHmf>GG_|n#Gt# z)|n5nipZ-f9nqEfCs^yp75I ztme;Uj@g`%!Jup?mvghkW88Stc}80K|1 zH+Ro7q@=)jWPH`PhjVP2lAZ5ge)JzZigh_T3tr;;sSx$$&#Dh@vmUq>lc}dl4PXf9 z=C3LAq@uhfBoQDsdLN>nor3E=Ty5b%GIC}Z}J4-aSoZ)YC9flV+a=Xb!P60Mf zwxJVe+SmvA{_!mg8I9~Kf;Nj8tE@V zIdZlQUx#!MDhW#e*5qV@^fK50ZsazA0HI7!e+K%uh1&o=fCHS@KdXPuDBs1?A52(( z1nDbz`l)#PW|g0Z`j_zZhrlzO-ToGomu(oo9B-dAb9~!SzMr@M;mK%%_6*txSA7TRuf*FwtNz7OuGoVsOSR(Fgzc}w`}z1Oz7sD$Yko74euVm` z_-?%Yv(npKT|5m*Gtn?kIe-R=MsukZB(h`&(oZJg8dpqjK{3dvRdGsl9xwr=D zm|rhLGk95p$g7;@4{Rr6>}|nBN5H^#03vdCaezKCAtn$xQJAULNzCpuAsvUfip^7w!Kh4vFXG`I%vpJ0v+k zpS(y1eUj5>+3c>7ek+C*YmpB6lra4$(qBM2=u?9FyTk&Z2JS^V=x>7Z2;d2XXG#Zs zN{~K^_O~m3iu7+o^5gBF)xI+EYvM-b!>~~X{Yvou9+a=6{=+soQT+`_U&_nhhX{jb z*I$nM`*`~OlhFj}C?hW8^*=EAeuDQmqkI=n2YpOXz7gpwc>1Y??Qci@!#w?=$ukMc zx1jt8Zy)HRoG#6@x$Z>yA)b!to(bAFAZ3d^%5;qH%L&sf#AV_Nl@{r*B&>g-xD@?s zLHeul{)sc+Uyb)~qW3Gl6E8n&{xXq%g!)JHF+upMVbo(u#oXXh3Nn)wbapQ zfuf-+nJXF;xSfZV0dqxxw@8SQ??QyGU};IQ+nJY>mB|$i23*6FH3tcbRz#&@&R7VO z*hNBx(OUtuWphYsKx}jHbzuT-q1dJ3MGGz)ZSoj1yybaGwJTa&?N_~iC4276p$e_t zm|nKCVf0X+eSF_I6Tf^Faz=cqa?X{_Jg4%z)u(^<{(C=Luwd_!*8HUK?&GJn-waKA z_ForHlt&)`GbO#9o>9Ey$U;_F{F9{j&wR9^=82!a|9^h6aN+(XZTU%6yRSaA_2%ez zqQCts-GxH$o;CSh<)rc}u=B_Q&+ZW1LIKc3fm_DqC}L zr_<(b=4rU<-+;B-8Jwv0?D_6|x7C>LcNyq9 ze_An%`|e^9Hl0p40^BO`!_4Xm6Er>&ewfo6QbO(H#t*9qned_uZ+>MmvvL6cnL-`d1}r~Sk>7;*L6ap9DvVR2-0OOq?;CDZ)A5a67xNaN-Z_r_uFo>_p+I{crbdxyrhTZP*))&J$H_(UC&Xg(B%1DXh8- z@=~4vLW0BD1^7vc|&DoFvYOX4k9kiuz)!J(pFFLuls%q`YMT_C$ z^3Am?R;*jMV#QjervIvSwYBT6>hC|kmj7M5YuDO!yLRCY_oF{6Zc-Q#=SwXXesni& zUwWqehQg@MWBeI&%QTv~WgZb+*FT~+iV=l~bpq>dy$*UYhAUL4%E<6&1$h+poL z2&Zf)6`(#!RpWYzXqt?T0-=rM)Cz7V5Hg0u$kF`1i*1SILb~$ z`&;&mgtWS&P~AByeeBVP*-Oz{j9VE_pGM_(__zW85awaAYc76wi&z`vT&Yr_C6Y8I z!K@pu3pv?$3b+ct&Y84tte9>&%(xPIf|W8ph`g+ICd=C1@;W--C1S8?N`JE4SD^IIgf{V+jnx z(PyH6dFC0G@{D+LV!L?qR`I~Z?EgE zzA6!x6-s3S7s#2)hD54;*;IDII&e-ULmUIL1XogH{$}PP??W^!Q^ImO^`+ZzZ7#p<{6)6TE&@AINugCp+AV@gLqOd$?sP37a*v5Q@7qc~oblJu0JgXK z+z$Nn`trH^CLt0SV&1Wc?Zpqdn9Y#~`dR|qoeeQjPnf)P0LuFT)@xD!SasEsNPcc* zU+KKfrGcdh`_UH0xOZ{o{X3>q2om0D+S_$392@(yqEd0{A&)P&(cU&?qx~t$%M&}JJeg>Jit=Z@pYGB=MftPdPlWJOl%Mnd zNaI;UN6~Ar&dA8%TtgVQa>odA@Uuu}S4VTCu^vDs!9an}Lvchi((`GZ#e(~g0#?3< zB31X43YqRUacM(DVaj)Q#%hD*xV$RGn~E0uhHu*4wqjmEwaZws;g)rK9+1N+xhlFV zMwYH$wQJY5v8~F>aC0d((Jp?S{c}B}*!B>{F{U`_>$28NL5t7oDpIAR|AAdC=h&4u0Et4A<#k0Pz%( z+$c^&?z6Q9FidC?xzuISRg5ti_b`GE7(o19oe&$K_%~v0c@g=D8;v@qJV-6<<7y;^MdKtPkpKId%Vs^=-R#ta#&?#g{5NG6U6)=I-bZCw^JPJn5;?D-~kN(DtUW zTRq86x{572@G&gU#x~J#F z)|NAw-cU|<8KJk8W#@#vnd~ozpF3EOU@nIbKX-9`{l(86UbQ!3Hb?fZ!rzRH$X<*O z6LN_El-_}4-}NL+DTv*d1DB;ktwDU$7Bp1EhzbH38$@P3jvGjiL|}i6DiA?K0V@)+ z5e7K|5h{ii785P+!$QR1^5p9xEGWHmCQqD~9nNh|(z6u903$0D5qg)u<6iUE;Df!) z36w3lA!I;igXBRNbMSzWV-c?bEDF}+2yp=%fSCxu`EqULxo8!fFPB^wEr;{vlItRp zaK2n}UBqdhFBjECVqvU%usnk=*638{kjzQQNW{nl5Byf+#w*+$V}|ic+`xvj)x_gf z#+=^RsZgXj7;3C5NiWVUSlSy5E;-aUcxZ8PWzk)huEL*u^jvdeb8An1T?;#<)8}{Y z?C-c_b#)l=um`T|Vj8a}`XB~cSUmZ6aRPe{ngkHA;FHCOmj;*@nKgiO2HFjSn<=!H zHM7uOVg&lU*|sW(j?)C4Hyf~Hkd0>OyxHX1Xo}98O|Fgh>3OqJZIN7JL&*#WTUPEZ zkwngtB0V-smJ|aMD$CtYv&oQ^k_Cd8%#!B<+hmwx5X@wIWRhunoG~ZkBVq@MJA`4N zKRdZTR9;_MTUuUL77Uhs))#gdf{QQeop(4<;{A^Jq#itaNP#sCi47gE|Z57cJw;;j5lN^U2U`Von!NcK!(8UBZ_>0Gu?kC8+ zm1m{}{0TD4HPbTw1exWUX)%9-%yP{{c0NI7su|{z@qtibGF8Ip)PTf>0l8w!TZdSl z5J2;}vWM&v)Rpmxqy-#zFN5I8CtK|`ImD-$`W`ZSyq(*6yyYtn_k~90MY4O7^Nf~! zSFx+Cxw0i(a>F3|gS4-r>S}di-`3`NM@B0%yk)r?jVT${jHcR()~rI&j7H7FoW6^- zTElXoPyh~RGW@=**pu-o%>_SAK0Kq4o%x}Psf_Uho3LzU7U4XZw(?9gh3Cm6*F;ly zo=kF0G-c<>B-cb6?L3*Nrbsrc5WK1$=DXCH>l0I-mEO2 z)iAPV`Cv(@tu95aOU=m?zd^gMsC#*E)fTID&BCS~^Gowv*R+%vQ*%=6*~YZIg3QL^ zM_F}kAm}PcGU+7+x&WF1`*rcZF^77=FSN*11}0ymSOi^-fo1XyI7T!#BTj0kvT*P3 zk<*1fkBb|YGA=aBqy=YSSQRIv@pUQ3Ljoy~-QD(7Q{=klX)z;#U ze)9@b&YN%MS`LZJCccFBa-Vha7ie#qP%W$ej2LMVHo7yJx)gjxUJ=@R&gRMdT$+&P z@^XHTtZ^VI1{er-n8PoKzcA_G<62wx7;_mtmgp@R4(ZpMg4O1UC61tYwX-@a-;6+{ zZ1UI91A&0JD7-tK_jnX=_4RCT#AbblG zVSD8^D~qu z2CD6`HZMS%-vrk=6mKU;I{A{w7b#`@)TJ<^kRe22`^@JwiS!8Td}h2zw6ool%G;^p zoHDc}oJ#tcm*x#VNQTB0^?5y=bxp~(pi7mcRJvU`8H$C>-8jFbv#&Xn?#VGSd%i}M zmV*8_DVD<~;YHXL$8aC{*;7W~H+ZIUNGhlTWjqenRDF{(GijG%Ia^ogijpFm39sPW z+vhIt+>pmid+qqCF!}2oARo93SEtr z#mat1plWH86Od?5KR&qd0q++PFJoAIov$m0@ZDHM?CIr&Wklh=Vhav*9=dq?0w$Wi zj6nTP@mZ)Uv=_UYm2u5N{0pC8QoxZI62lmW~+6GnMfx|3&$ z?(9gGTt_So<>lzxWt@SJ7;>`hdD)H}2iCC)>liN6iPteft2j+}C0xzyubAMSC#uh} zs@V?A`+GPTL}4$+?Q5}d`^LwN8~E+mxIsjuFY$4s(^JNkEaQQFW1pu+4YH*a8#O{Y zETfB_SRO7C)0kmYkO#>)*f3<2Pg;nN5=JajE+0!mVJ`8Mak=!g(}sg?tBNoZeHt3%XS)+#O#? z)0E4Fp#jM>@QmD!a} z7l5TP7&=wXxyfIG-A1hPImjY=A<-^GK|go$>0U+1nUJPMv`z^&>dB_HP2?XXWKzu zY5TBqkXJ<7qwT{kB`Vw9S=XGL2P&&qD%|dD3ri;Yi0zY*+Oh_snrt2K*LL)a)9;VO}JvtI#wb^tJPXzt)R6Kz!>ngaE>uBontK| zK6>6c*Gfn@NaD&w3jw{rcs&_g2cz;j!0wKr(h~KUq9jwRfHVLyKfsgay-$k(IzV|5 zP^tLik&)9*3p!2|;aroilqmw+km!hI^G@*dE%D?R(3uA~hu;FvF2v7ED`J++?|Fm* z(dH;b6?ks>=Xk$JF>1!c*jA2T2zjBwcKVVvMaK(trP)uo`p2Y+z~sulLc(`zW&% zAKSW1Qdl!i)eT=ZKu5 zy4gXTkkdMY=tg&b`~?4h$%_kX6yFfPPA<{HdF7)uJeth1+p&(Buv&4Y_zmTk1hYW# zY@p@_)mTQ}p@<5DXgR4#Iv|ahnVH*2(v4Usegj6lDLc7vSBLE(eQuc-3L*VNwvOG3 zD~tNp*VsxOX=#p9Th02uBL1F*u+Z5(`E__zHuO9~=NG?V!6`*SOSp+ZkR(p z|I6Haz{gcwd%$;Y*cGauZWqW10H{5O6*vQ?+7#l+GEnrAujDbMt zrW&w~9Y8h&2oM51UJ_c8mxPj#2MLe@7|Lk&{tWl{NpQNmo<{3Ns5cY;&MA z#q-#Q+N5^8TQ+Gjv}+>ZBgiHckO(LZ7*AY9RFP*%A~__fSj)tbEoAvi{gjErjT>4L zN5H0j_$q1Y(ZG`va>s=sAfo*4=d|QvxU*|7w@HFc$rrVercBjjrHST+Ls9lpjs5&r4uJkKl!W~ z;kAor%~{fX)8&tOiYgUvW?`@}^QKIH(4TqB4Y-<11FXuxd7{Z?V+NJY*3i2ri)AR% zq%VqIKg7{E_z^hxkwEj1AlHTmqQic2?HW3~l0{k+X_71TX$TxU1VkGGiGj%qqn{~1 zQ4VswfI}g@fTWm9q>#I$S>b=Z_$)p70Xy{q_2&Qm&EM3W=d&#zs5>uUTmJg`N3dR$ z>eQ#cef&H1;5Ig^@9_wmLjO$Nratj4lpGdeN;KQD(=-8ohykFVDX_TRg!}{73%?7$ z1!Eag7BX^gF38J~vV9g`wq>&;%_gN-)2%7#o4pxs$qBuVldko^AzS^B!w}=b)Dy}L zN?G{~Ms&WOKx&a>u`_5|tUV>3Vkte7A%=vjrw|JmF4g#9tei_P*?iivrPHQ1HO=siVqP?XpEy2D1t~KAi8UKh! zu3-!(}liwoaALqUYMTcOI|(RhYr3&?jUK>5Yn`n|H9R* z^ehfUx|U)Ycm%&>di3U`W`>J!JR|WqC&rC9Vr}spFt|k~>c-s`fu?3=3X->QwG`sN zP=6>(aXwtlOd;g?!WaES0k8Q~2`Q4T_KNz(ERUOIX1J=eF~#X9UteBamfh6UkeOfaPc@5;=~jz1H!s`NI>lXtcwS?QoW6z`b+1~@HnTMk z+_60 zR;)xH_))`0iIQ(Iq~LC<=!8;!0+e&vL<7N<#lsR2zt^`$n_Of>m}>1FFV$%Mz0 z|7Lh~ckI#dAZms+$R`0*d&$Kq-7-MC>a z4*P-OVZV=3wgvAB_(iX*$t~WBbcuuqa<%|`$C_#9uJf?2|3`VaBGc})cXXa_GFP8+ z!)j@PtFY9Yp6&BzRn>V~3MQYwv;p_Z!V8Gk{W;=wTXDnYf;7`A^n{l;BJgsyTa=Yz zm|Rsdi&>r`zygZ|^B&yZT5Oh+5u#Z!Eun-YtEQ&HHc-$6b;J{KIBd4oW{PGGyT|ez zpTp$8a!0>tec%}DZsm7c*3BmD>gMnOl! zucoc;@a2tLHR-NfZ@uf((>9!b(Sb7>^T+pev9hi!p1nXU&ReE#VmH&zw^(t z{Js*gGI3T5Qz0r4-~~*E${j)UMD4y2<_CCP9K96$kY8ewQWWuXNE1yF&d4fG6sA)o zGdIl-!!;xiyB2B|#TRBRQQzud8y3wn-SfhXB}cxoOjNe#NR;uV?ntWyx= zEs-v|g79S8g(qEc4H`i$)2Z13O6=?euw(jl36djFl!Oppk83HESd4b3p3G8 zSvX(4mFyYvDE-W{vcx*piZ4;nnY&j19bh@U&xnK0hG|Lt($93?usdW`UNMiDzy?W8$2| zG!01GFtA{5zeg|z7?`ohxp)b3F6O|GZoGEW<;EA9rL3+yTctpDhf5l>mw;hwh+UwOshxAt7rHSvPIZymnkO8kD|MDd5H z|EX60Q(pf|s?Xa>yAgHvUN~{$g{aS;rQgvGI*s`Jv3IP|-VlKcQ5?I#ho!duaUJHF z363FGO#}r(I!xXNpw7Idg ztE`Jyp63JRz95Fj&N#6@7?B1{yEatH$H%nt-9F49E<$&vlfim*WJodp%|t5F?mlzKA$52*wS+u%Sjr?oeM3TZ@9l_9>$H)$U;i zLjJM(`5e0gfOtY)b57)O=>suy*f)>AcP0GGejm2NiXRr+m~-8L5ciJYdt@!3%WV9= z$qWvpIPKs-N$JLJ8Rxtr)WIFAAZ?CU;?_4wHEBdg)@rzH7~+Z|&C|OeDYJ+hz13Ar z=xD2&T0ONil#`7G3Ik1UUIc?ofNVO8c_dqJCdcWTL4+CkkGT0}Fu;c3PWj*dlgf4m zrgwy@7oIn*^SqT4Y**Bdu~}R4YU_{~ukdR?h-a!o>X*aJ47<}|zc(~%{>hEwPMcF* zGULoyg_i7s%HpPq!uIxY#mKbRlr`_i#np;qg!9#g)AypVy$xWc3Oj5eHUqK{FChcTYQW8y5gx(@#|D0=0hS)g%1yVL9Ub|#HFKA*?Y8?$ zv$I2a8D{&~iY=LKb2m+$d*OnL8M7x&Et!7$w9Ye^cGy_cFoP{El_i@ywXC?VqP>+J zs2-nHR^W2x6gqO#oi$x+Cl=K%IHPmXTAy$8%DUy#t7tZ))?vpzz8{l4T)ptKFuCjj zI%_xdWSAdJQ7ll16No};57=vptAQGEW|#nE5UZve!H8+xwK)p)tBnUX4O%^1IebmC znXdzCUNU1HgbT8`on5flTc1@=)^=_LJGZAoJp^kz8=Y4$;X08cNLK+k4rST01Wsie zEnx7v5mdKWIHS`;vIUIps;p>hshC_jxu~=hcEC_3LlxkM+^+FC-Cn?sD9+#X(Tw=7 zFmM=R_fRfZGw0q?)7;fGp&rJ-MP6q?+RU8rtnP-{SF9Klnz3bSD44N#cBlH@FoP=J z68T4E_Qb~aPFM>&oTuWhD6^^Os#z0GpIvGGVN0WU>F@&_=U@1p08d=}WC&*yxi-*- zftZ>&;E;O**%dI3Wc`nT1hn7NE^k@_m&c8ik+poddhl0Wpx2g67|HCiQYL8dpd>)s zu@;b2b66+6hc==Tl9ZTe6HfFBqaybZ<0&s_>KNZpHz8bb^iP%3y!Tc$RWG@0?(EB! z*452iR+d%maSk(%?Ch?Nu`?#Z8-)FuEewX#Z>H^>bJEo-n_E|1I_0D@rxw|)(hr6o z$^@+7!p%Hv42Ho7-N(WRgs5cHV)86t1P@?!QK7rqQwc8f-M!=cU@%sn_EIcw98$3d z6KaPmhOKBeD+_dAas}rVcEPb7F9@F09u_%4WhPn`$tqQnm| z!~#Z<8#dz_P{{BkB*vq{ApzQ|_NK988pfvOl;_uy2TT2!FSo*xZ^DE#=hvK3)>LG# z>%Mr_%!`)P+5OF*4KpEZ)1*3bZ^^1Cbd!Ti)wuDM6mHp>(F9gZGlW231Wz`x&Uqi z8jV#mnYds`l|>UBSn0-=TUuFETx8+VQexX}5XSrf$Z_Q za}I#E8MYya4#40uZAe|(QKmVARUhM-xVUFLMHZ!_r9`_~lSYXwd$*(@R2uYVdJm!e zfXaq^6sez^sGl%C?J>uO^)1{mlKK`4(#PtrBmv#h`tpzMsDhlV9gJ1& zRftwqUl*5`c`~FC%F82LamxRVNP6x|QgRHp>P9L`i{Fltfgml%*Iyf=;;j`9hts<{ z+9Xqwj7<|fCY7ZqDO+q75mFVhfO0vH^d6E`l5yjX<1R_?wpusxAR#o@E!wm2eNwjA zkRQx4;^)H?hkO*`pNxQkh_*o;*d$o36sJ$`1h!aG#*&+>C=oo$o-w_>y?gQWwKLYX zPivp%&DP}lG^nkQL#`hgBglJ3E#<4Xwy+nmO%sVO*Lt(u|%Ns@YEiUyl)qYaZbx&On01^c#z)*&^q31%aw584b&fJycv z=)(Yg!oK!4qNyUJ(g}_<0z*% zzQ$}Cb{2MrZ3Ldh5JEPQVwz^HCKU+Ovc-mLLw<%Ul&`fMOqDR~d7iZqg868~5vvkRfbu-s>Oz)UJZE9z@zpjU$dGTdA zVqMP&SLw;4(ERjm7%4LymmY}ybCe8+HJrHD^3#-Mhi!C_B03QehOQ%muwjubTdZa* zZ-jzYFa@Ln&~-dpqypr;$--E!`=UIF0(!B@ixUy*S#*({V|D+2f6Rv0s5 z1+=orm~UObWyZdqz%f?TFCU~nmtF9Xw03I0C+Oy_Eb$3Jv@Ed7A_+T#K0qcCqa#6E z=4f7mqmx*daFdc^W-0w&-b_j}vpM$eVMM9ZhiTX+Sc-X`{+yXJEb(m4qJ?FpYgR4X zx@ha1le#)_>9U|~KIzR;VQ_OSy%`&!v_F)-$9&eYHEJJ^NCj}kFxsJGs@l{a|3@y^ zu_q$t9yZ2qcyUo23W{e9e2%5FRQagW3IJ|X!ZSDN6;qaFEwYMWbXnui~C$u0RKgFBJYhRDY*EKcsw{#lc z>Oav1fgSx!Myv?L0Z$Pco-ip$C#hX=P|QAV$*228#lbxd(#-BBygclQvq;9RLa3?O ze{)p$^v`E@zA2hmn=;W`5iYxT@di{C^f=?xKJ?)%*1mpYvWA>+;R}Y32?HH#zfeYI z1hF{4+C%^4*5T_m+h#ym+e5Cf|(yABDfus<0KY@Ss7$KRASGA5Ad6 zq%kHRU{RQf4VZQ`vfzYeCW;_Wiu^qXuaCGOMXqA9)^t`&xMqdJ5f5GB9e42+KbU#r z)vx~hyO}?@{QM625AIN*d%?+jo_6L0$jwlY&z8PY-T}-m4CkfLJq0L=WUq_=PbQ+` zG*?*>w*y7UU$O&%r7K;GH%MQh(Q7Zipkw^SS6l}guPE>Aeae|r?0&&hS^yf2l650B6W3cNp7*fAlXY+OIC?=PF_z8hU!5t)N}FyG)h1VtKfQk0l=8xoLRW54dfoCV75J6E3;bR&{%>OKz-}sB z27ya6#Kz?m*|Lzmue6x@Jp-8*kdGP_Edhn%KgUNE=HrqlHh^lFd}K{;V#w0J^5v*M zfU_*@&B(u2r&AR!$1cl_EV(j1nGPZ!fsRQQQb^Sb;hNGL0(*rdO2*8BrKOJTKgjGW&bBy5&$v!k*P?0#!`); zcL>AxMHC!}SYqG&-C6MnDY6_SB@;zUWA5eZH<@IjNFF=Y2b7Oon$wk@%O8A{u&|IFC zRo+Z%yII~Leu7vfZXqbl(M~NySOL_Bw>aP}DdSAIj+4OJ6!s2!3;2uo`=UFX;qfrR z6ZDi&nhPz<1&_9jBPAX-)Q)TC0FIZ$jHeB3J0-HkPvh`~Mvv#!FVI`n@1s*L#kN(OnqAH@b;drvm)i;ur}+)?iA zhM%=$R+cy`9A+P%E^Su$^qJIuF}Ef2Yy~mCQkAp3$a2Y|Z_87pS%`CxC(PBHNOK@G z(W|UM4hUFzLoSBFH|4li7$PM3__xB=LB7-yU*rk7Zv4qKD+r6?frXqM%Fr5~H9hes zGH6P(WO1zG@p|NvUxXA-CVsw5KQrW3*q)ti_oTjtWXSeQFOC2EU$#ud!W7P64&;?S z7pv6tIQm)zPKG$>Vl#KCPe|uR)OC0Rf+N3G9}-s!g?P7(JOa#XrxM>ZuH1Q48?0o(#J4F`L>Qd%OyUhWmw}0?c8Vkc}v~X{k7!@>m`P8BlN{ z5ZWOtg=X^9=1VJxh?LB!*c@5zs;U%Ub%}fYy2-)3=9B7LRu`6-ekPmbmXIfy?4ek> zAE%Rqb8*How*Or1jAQCs(HrCzZH3c6CsUV`@6D2$~I-C5AN~1U3&p7)e=7n2tKo zGdU#!7a9IWaarUxsrk9*P|U|g!2bMuj0?_l7R0zai8_Zltw*E38iLjuQz~!dflC#b`>^z)-o4GZ(hDE@`6X?K| z?U-@FqMB#NomAT7w?A96=mK+2aPr!4N2jx}I)C!|E@BQY2Z(Q)?g2(B5Sqhda5)3l zR`Uu&2#81g-mZ>PRsPHt0Iigz-0b#>Yp-6)@nJhju&SH#O989Ea$Ah0$3^iJ?# z)WW?D?%Bva3>kN86t7mFd5nFj>{VZ5Z`0V`D4)~6eOixbKUrBr?V~y%S#mjfPHOGL zgR#*sUcFy^mVGIo!(@4;jyuI| zs)bEO(^Yq}CT;Aes+Y;PMW4nhI7P!3Zqk@g?`h*80$Tbl%6jACUy(Uh{F|^hR*0VR z$-+aTFa!Ed2+nBNjAcSGg%l(oYrr`n-*$B0dD5!M>dUO{P7ELuj6NvB$yy)!k6*kC z{RWY~06@?OmO5aJuhs)nDaFQDq4CY&br=4yI+m$ku=zG?POdNI z$7i4wjL9Z>j(C%4Bi5Q%fVPN+)Jx6tLg^4w&;W0)*Fd=edN0P+p z7*&r4pv;?5T1=zbU;JuDm|?ctSBYeCv4nD!zJK1OEQx*A%0G|%UCh?{b+23@rJAng z{ep+L*FykvN@fN$bJT;xAd{LlvOiG@XwTk9*180u6+Tw2UbU57r2HdJnS=SY>Q!6V zMHr7O<*nkKrXO>?D|4YRGjoPFSsK&oXy`-SVp{q7+DyU7|-x^(E|sx`i8~o8=G1EA)1t2_+|_iSc&a)J{o833df8+Vd$ie$+?}ryY#9Z{|cw_zxh8*KX&p(&+{1X0ryYTvmpZ|sF!x;V6=yIL@*&}*B zH~P6ud}k87RGR5>^;WrBc?BLS&`hS&)($ljAUd)^Ou;^@?Fl@Y8Du=V+pr+~;A%?9 z$Hkm2GO=s5P>r;g?vj$s6kLEdIN{nimNjTnc&3+9yA_$>JUJjCrr-IC?!3THC{0#Q zWrp9|UN2r0n5Cu06n#NTjj3KKO|_fya@L+b@3JK|iuoFM+RW~Aj((VwDpNYG@1XWB zre3_uWM%#)xAchSaI%4`F^3cFFmn)Hp#g9}qo&2rpJ zTFeOXU^cJfL77d9VD&|5H_3JuLxSyk2?k>e4;V@`#=xq}cmS5~#;;_OH_Wr)dOXI> z{g8-~p29ueu?XU@^Gur9IUc$9>WfP-#jNSfAnP@l}UB|ls>#(iO)!(B70wZ7lfVhj-%QNCJyNx2n!b4c)pJ=mHw!G$4o zpK)O{;27wqrea$M=qeZVkK3uF8j7_%O%XXD1Su1~gv?c=ypF!O>DnfCP!4_=i8atD z@l>gXhDoXGcLGJD(Fc)Nc8T(!5ERy9Gd2tRqmZsq{*HQ&)TKNq2E~s+$t3Le;sq>Ho;fqW)gR3)ZDD4=5J^3Nbu^DKP@CY=anmkBqZ_=}^q7*L3o?)>d zs9&lpW%e$b{M@wpzoh;GipcBHUwB4^8%q3zFsy~~ z1Ct7Jd^X6aB5oC-076PObQHbC5O!J|13@V_m1AOv@5q>|72O(RUhoQ##=D% z$p5h^OP>m)%|3JK(?w~s#RgiV(MQ#L*yX@InZj~z)r7Qd+}wqJ!ig68M6wYf;gYM; zR^t=_uBMwC?;ErBL1_QW9ri+tM^E5-@Uw~2(%gBgwY02wQQoh6 z#Jff^cA88yaO{j>(}kv?#;yzrTLz9Ddqv&7mc6DApW9OCaFpdWmG>V$%<&VLO#YSFUre366r2HJ^%Xs}?iqC50(a%k?@;p`ynLQM}LwpfhSAb#hMXvcG3_LUXjdHqHPsAEW{fDr2Uqtpv=zBr{n3(*~`-M}i)D(E6(et-lYp-hziLbZX$t#?}Y2I6KYDBL8|dY;0e{pq-Bt5{aYjD>LAtnw?;~rL8>LUHdu|M zhRA!aJ8W%hDa{Dd4K-bJ#c>4LG2zw&J2za&n-R|nfsL9F<|Jb?suT?0sUN|D~z~WvS^0|O%7CrNO%W$OPv7>fTkG$ zxCaN+Dp-IbbrdNOk*5{^<_fvRt|CM^vA}46x}jzHX+}5r@u^(|gq*Uc?||#6{H7U| zEG^SrQubuYgk?=R+3&wE9&(j6Eb1&bi`9`Iq!d-QuIMT@sh}lHP#=_Aku%&Tv=F~H zf!}fB59D_qEAH6*9NdOiLda* zuhcumUAV*GdNxR)ntly&{-7u0=0+6OO))OYB=!V1HOdXRkF@DVMp`@fqMb{lzeGD) zPAm=nK~I3M$vlc~FqN2jlz1sjqjGP)-d*eA zJaFKE+QrZ3U6F5;2S|oQ>o|o)S@`|8w_{g_ChFVUb=}*f$T!m0%5PAoS+8^LfI4&3 zXT{f}PfKRu@u>P;Hd=so>$`0292dms`Oz;RPy7ac;1h)Rw3x~c2SgSM2+90}&0*@D zSOQ>6D43+pDl*nrOlGA=NU_0@ImJZ50if}~^Mr_X?k0pBPaZsqhfXKkk-B3OK@LTd z9QdllGuXOa6UMb6UZ>0Ba)wGvfoaM9L{Q%(@4o``*2)YiCbr&bFEIvhOP@c`DeotkHZ# zGV41ItWcP>p}cJIH7g#zrL%os=d8(BK7H23zq(&pGgo1$LBT?Y%>QtL(fdd>n>|T2DNr7;?oKJiA z(fw7cr!1NL{g*B|^Q9ego2n19KqZYQyYM$GP);~?7x?0HoH;=pWLQVS3+(>LCmK46 zaN|JK*&6*^`nR$R>*#8X9#)EQKYlWySbabmi!)(9^J-=!?mAfb0}7cYJ0U*JWmZAP z>KIVUpm5YyNGn3Mo6Hut2FFviz)!n0Qz?mDymK!j*=(+<%-DD5Gegs9yu& zaDU=(sKT`zf*T45r8RgjifI0gK42l`G2x_HjSbb6Wubt-FyEJz;ZCz*=ySz%!Y0F&9~qV@pntbsYco99Qoez z=9#U_dsc5b>#UUWND^~j&n-qH~>w0V{r+T=Fa z(?gxLOTBr4yanUOP2M%JrC~y5c4k`UDJ@f~X02|@8{g63D!gb}$EsOl(tPu4V+J`) z=)%0;k9nUc{6(90M>#XW{z8tJdVPL|F_V#J@CEk3;PbN*b`{vdd<8I8_lx@Gfmz6cD+?(vX2H423un`Cie# zRN{LDX?j}(BqvF+f_D_`84C6c3!Ee^X4=;I{1wm@4rixAUHOZ(nhQS!ZLb-{^F{ri zCm1=3=LgUyCLYD}{pg3s4|sKm0uTs>83M4it_H>kaB(eb{@mF!r%s;KHMYH_siwLt zR9uvwTVzv^IoH^DkUv@r$Zdq$r+p{BV}-!t+ARwSd)&ScCN%svoMW1YSFfKbXJnfrhNklTIG9_$TMjclhR1CoPD)277M(*6A-1 z>jAS3wPTU|f9%Kl?N}O*9{aHY`y=TGj{VpGY83D6*pCgMHr#F;ACi95j=38rKAE%| zbH+^#mIgCQGmgC@$5joP+I1ffpRJ=XJwmHjanJhGja796c{2aUU+iAC;aO(7`>wAS zEwyB4ItqjJ6Bf6w+;vuX(mD5>+}u5*%Wut0&2+xGa%-AzMr9Hs;yksS^$TXX{XXV+ zY4e5!7pJ=4#Sh_wj~>^C?K@Ke4;aFHy;exn};@-5UPogK2cTM9})gOT+;!nJ)QbqV63J}!0f z@4IpJ)G8@hV!(?LxW`aC5i5V3o?py1vt|m>BYhv=r|93OXy0SaR;$~j9eDRn;ngtm zEt`d)OJulQ$BqYdPm)y)@PlHukc&JW1xTM_=0^ZPy~)Hczc%qLoSz1`zsC_k*AmBm z?DXWvz`6Yh;o<;L0{LP36NJJb;mSb65oIO*lG5T72n6KAlwb+X^#a&gVY06w2bdD@ z>ucIrafPkNcf-X~by?5))0;S4xb*4sLsR_aO?hPwN1?^7Uo@~J{7^h$MH}!#vA4h> zom$%&N}qBK!G-N}QY_;pO-*&>t!zCxpyHo=YIHoc70muU(<>!bdvnV{@ zmyJ7B8xzfC2yP%vp|F&=k`h)5a9(CM3+sU##fKPLPV9!bzazI~B%!gbwvpi9DnQ6Y zS`TMNup|?*CW%IVLx^l>>~}v8A3T0P54{zMqK4gSFyv%8`TnPZ6P7g^H}X@)D$MRh zEJM1Jx2X|?kJ4pIi`~rrAQqQG`YHK2H>#M)@8K`9J5waOiJ!P%{WmkDNv56;Z9^u2 z%J0E%sjwNF&O926Y_?U3GPJs?^t@cCx)>FvZ%!VvAKHtlBeY{+y=erOM-%Z#%N;(K+ADf3)YwyqB)I{+3!tdQN-Stm>5) z7i3Lcw6bpDRZD9oi50#Q`GHldeRb1oE9Igr*ZLKW)eEoMTde+!RY`s?Qd%6$DO0e= z{iS@vHT#O#@~WBn^~D(*7dK3+&K$F5$MTCSPC=g4bJYWKxtsyrK{hn^@QL77$v$8K zs1O8}1yG7G%PAa-qSV^2R7VB4K|qiz0g-i5fI(BtJy;|N7;F+Dxsq1FiiLo^NS2{! zG?~`(n4z?9jrck2CdPAwJxBap0zG=M5kD8B2ZNrWUyYcDzaOwAe?8+deop7Ooa4u~ zw_)8P4NOf%D43t?%ywm$Lc0W0JzCPn&PEZ9Q4MU9AsN^c31I9}0IDRI^y%5@q4A?T zf-}ljx3w%C4}Hk2I_N{7J+kxI)AV9wN%r5S1@B6H%GR^PVAsrxf$S*EA^Tq4ui}mwb3)tF2no30a1hIEm^gZlEwi)`%>PZ-e2cmQiU9jO*8Tz-$oRpKu$ve8PW z0oULW2kqvJ*j9_d$1*lFQhf9?z3jhhuUa~#B3(h&hW6aDa6`yx?6nAcbA;(SsMH&R z`HD2>)Yh-bB{hjr;*26`|ZxZ5W@#2UC+Dgk7HT9PI6IeAicE zCHtMuP?5*w=E_azL~yq^7Qr$MWibEP3^5WsLv}ieLl?UO$@EH-ntnLr>g$a$+UUuB zU<^{PUB+DMzY_+rrp#O5b*0$smKjymw|xKC+K4^x^R3EZS)NSw+5PH2^#R>j+hj|% zq04+caWf#jjHsk_!pY(8EM}4YP%priMyz8g5_xeeQxMwTEL(7}!d_CO$Y=;B3rQOK zM%u|!2+-&wNG&eLX1AJ6tEut?o$g}%!>xl#@QQS^>E`Q4cSO(hl4TILo66)Hop#p- zr|28mw|yU{r+<{;NX^S~K409mytQgU=`E^Lvbr2^x}B-M%=Eo^tqWT#7nVNv+(hv$43>*cFXx-?Kvr-%p5Ui)E}H&qJ3x$oDMj7aLeTo_}D_@8M4%&K2#z@H36? z#l-d<@FAMdS`mG4mLLt%zFj>-41!^f% zr5S2jB<6x70AM63n_={-Kv`?rM2cHs6~7S0)+z{dWmH#_j^2QZ()00UV9;%jf5lW z6JwilS_;@KmnU*^A^Tn^4-w_*}q0mwMFe3&i^~=)tzUyf!@OavKkVvB5vx z>KN7<{cp@4WVCPJ&}6W0--z+gVtn7szlV%A@OyO=wxpZI$DrYx5qXA|Uo<+f4BOZo zc{_4O_hNOyjvt@dR-C57sg#>Ke!mzGXTX}vO6}MGC>Nm&l-?ZQmkvZRpp~fkQ$w!^ z`}1%X6>P=OFovw+_}V4l9!4gVG0;(1{A3Wn=LZM6ITH=_cJY(w0boPWK+*>oj)4=! zEp#~HCex{<-lNU0h6O|1uNN6a8pKZ?u;GF4~J*7I=REfb$>^&^yDgf!aQ<)adF@21$($TJzL>;+xS&;Wvor6)+dT zX2+x+WF$gJ6f(?){RtD2T?NUjTrmzjuF2LmcM@8MbQ64Npno8}YjguULtG-B1BH4p z9H7t!@&cHTqhoYf$+EBnEFcRrU4df!pBUf3fF8QavAIE9;vc(kO!Y~V$K~f0KU_3+ zQDgP&$>Z~VLH3}yl{Q0Pp|7}tHcI?bRLSS?R?Oi(%wfxu6t9wO|48&tBX-d)rPtGu zXp4WQBxdM$y5P{5DCSL{>7{V{3=?dy5MrRFlH>e5;vbu7tJRT~x>ZT#^ZNki_eIPv zJp5=%APfmPK*Frcq^a}&JQDr+8o|T;V{(IvFPHr?Bxl8F2SD7Ee-r0wt zhUOhT|4Q?7{)#VNtnD&+vG|#CmSh&8Z&D6wYg;*}>sPQ(MqZY;MfY>RO!7yhxcegF zDq*w|(`I5#@vu((NXMBcZ##M({Z%hM$UZ#;IuAvTiswfUA>k_AEWTZ>ok8EOj_n~g zM&1#xj_yN0EckwnzQ?SIeScfzFYw3w1-{1``Sx`E`_p6JuZ!lhJ78#H7IA<79ci}c zZk}tl_?kLfy+c`pJ)uPSp?2wO%O^ts7mquGDKIxo4@bIZI#LmZ43+>!G;aa^e9cr#s2@VG6- zg8RLEmZ!TEHxs&{8*P#n%sdni?yuoP)gZb8rR>?@#FLxtN93X)dp*}-2@?w#%a z87s4!gy>slE6RFfWs~IRqPHU^g;_WlE1PI4ir!(`kFrCtvI+9F(YyG2JQXVonyk^M z;iGOAo{p8>Ag_teK|C!pbj|wsMeb2Pi-ygoqU@Pi**WrdVJ;uPpU2A9V*IY*}~nxs002Y&|b&N{%A^#n$689dofn_OZATEOd)`>U&P9uP#=o6gA>idOR=(S`BK5B ze1@`r#mdU%E2F*iZmcd|ru0R7%`TKR7-i~N>h9K0*)h6a^>&mUKv_ntY=Zie=v}}ASedc1dUap) z0M2c*$r~%1r2Z{>J8Zhl%3ot;U(55c7BKcoOG4Q~l)Z(rR-;Vy%gdwH%1bC~Gs+?l z%gfbXUe+Efi}9|~5i8pS8jo=rV`F8DQFa?I8y72^gR<8V=fRgon(}$ld-;MqZeVL|iAU?oM z?!tceTkue-P#P}5p-+eae*uI50AN9hN}BCts*vh;aVKip))<62(#|(ZzkNl0TYZ6T z$SSixNqe&NcV_8zr{DdH|3Ld*x0Blcx%xY{A-6hhFW>W@5gU4a9`y}|jr#=quebk% z`WLn#&}_Mv+Gkfw8+%I&)P?NJ<8QxF8y~&>$JCG5hER*Vi`t(f-`!gii2PcFT!H=r zRfwnY{Rv3Jq~O|`W`NW;31d$V>^#H?jeN7WQ9SJx^{K0Vp$~V#wnu5Od0Tug9fWHU zamGd|NNG9&(%~V)U5n!r>JS{onoxjNxq$|R@n%*+Q+m)|>h<{T>aABX1otI6@>#p= zu2dWA*ruuLad0Zp%4jY^FPBy}g)*;5nCfE|j2ddNpMomZNUd7fbDe@E4u=uFBY@7P3Y*FrF zvhURv8GWzextY#Zs%83bJ3?MKxI(Ynj_Fg4CD7Z%-=aK0@k9sp&o^d;gXCByRETNT4`2yl?9WT$oIsl>`CNhO@ z1AEh|bFoO(TlX=je)(MfPJP4U^LfPcma2aC>SVp|$4f8Hqs=q}Puqi;I=#wIIJuVl z?CG3Z> zra9t$HW1%uO|)e2nvC=C!TcJ7V$&b_^hb6Ta(aDlJ}2%?7}GT3Ur1%c?6GM=T4wSd zOLX*2)*v(QSx%-yBeG3;B7w$8`L_|;9co(VUzdeX)5?9+@)%a&@L-DiR@^F|gSIE_U6bR)JJ|UUPW__w)DNDBwVDOZ={3L&NWg(X-FmMVC%O@-J`UG zN}5gTZOc8bp(ADza2n=JtXozB?TiOvgv0~(bFdZmxGbzzK~ zRlxi}c8<*rAPv7X(dNf0SfMN-ZDb-4P#g937aXGYwYKNWpQHZ(dZRn<%psVGpZ3a& zSFy>|mVDMD+gJgC7Ty-;p;XenL02BbyZz8ns*s|qOo3Md*sh`H@)I_$Pj6dC?8g$@vHKTuGvG5^O!;_Vt

d-J^`=pvyesqYN?+ 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

wP!)#{2So6MPeWH-e*X1wXCV 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 l=iTXy>VjrNY(+$4MUlI$s!v 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

?W&9O&owQl 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 z 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%0Aa7K2mD{V6?OyiUB|WSYJsqe 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 diff --git a/assets/fonts/Lato-Regular.ttf b/assets/fonts/Lato-Regular.ttf deleted file mode 100644 index f01f5589277a3178f9e479d1fe5dd976a8985def..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 632632 zcmcfK34B!L-9G%20Le_i4XrgIE=AOe3shX|zTk!{?x?t+f=k`0f(x#XOI5nMpe=5= z)>doXs@5He0um+yAqfHrlgW@wLJ~;Mq@4GALR4()|LODo-}m|Oxj2(#&N=tF@9Vnm z-|u&yGZPd9L9n6!dI!Pb#~(N9tw+PhgP@>aP`LP&!$+Nb@KZlnZ^NMQtM`JS^u^;w z?fR38H%i|Y6o!}D>zwm1JNJs?pI;dI`ST#yWcv9NuG#u8)ArdWNItTYzt>)P#YLC> z>bFx)50XE-92J7n;|bwTpvKl}N> z%g(*-iuHcA-XTHq_Ga(j`e)}}cEN{#zH>^DykkS{Yq{d`tFKuzEYO}uTy3!R6<1ww z#nUG~Hakd8pX}$q2611M1SbX81icR(G4iBf^YgF2>e67li>|uhlHezoo_o#Dg8k!u z3W6x=e($%h3)cC4;X1E-1-&o1;HsYmoB!+o4ild*-ZN?2FW55JF4!g5!#PF-#|Eba zX9pJsKMN*!N1?x;vv&Jj|L$$Ug=ehYR$te>E!^bzwcAstt=--*a_#osaP9Vy3)gO6 z_+;(&owwI+zi|A*4dWIU^eQ~Q&uc|{Z9Ji9c5y%dMih_OctY_TiIT+a{g)c4cu zS2wKOXtRy3@~^i4()i!Tz5Sc8@kg8V-|V5%{-xLX_r!qB25srz*lo`neCXg;wrkt| zjO}0Cd-~pOI~49vxYwh@&pzO;1Mb>k-yJR?@wVw*JZ=U0Z+sOV_`2?Rj2bdewGU9dXUlYwP2G z*DUp0fAg1p_|-Ve&`KPSo*9u$38co>X=Gon`t z$38oMt)ooI zHh%t5@XL}xe%`_BAN$*mUJvoNo&3DBzwP4ZQBiZrg6OHfheiwgz7+KC`={u=zJD$l z*7xOtefz!=+|>6k!A5;w4Yun0SHFJ^UJrg8Y#kI*$fi+9Rg;5#qWa(hxG(yBaDVix z;DPAXf<23SHoC3gg6Q#rT$C+X8RZL)h?W*!5X~#R zGuWQ8o+*4iYUzDz^y}Wgj+&|K2I{(jx}GViiC*e^UljJeKR)ljZNY`+℘kfx#vP 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

T83Vv8}Psu&O1ts^D+!y?)1r>1RrJ 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%0AZ?`j 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 diff --git a/assets/fonts/Lato-Semibold.ttf b/assets/fonts/Lato-Semibold.ttf deleted file mode 100644 index 0b95c6430cc140bcd56ea42df066915005dcf763..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 645008 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

5DQj2^`na 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 diff --git a/cw_core/lib/receive_page_option.dart b/cw_core/lib/receive_page_option.dart index aacbe4918..5a560575c 100644 --- a/cw_core/lib/receive_page_option.dart +++ b/cw_core/lib/receive_page_option.dart @@ -3,8 +3,6 @@ import 'package:cw_core/enumerate.dart'; class ReceivePageOption implements Enumerate { static const mainnet = ReceivePageOption._('mainnet'); static const testnet = ReceivePageOption._('testnet'); - static const anonPayInvoice = ReceivePageOption._('anonPayInvoice'); - static const anonPayDonationLink = ReceivePageOption._('anonPayDonationLink'); const ReceivePageOption._(this.value, {this.iconPath, this.description, this.isCommon = false, this.addAddressWord = false}); @@ -22,7 +20,4 @@ class ReceivePageOption implements Enumerate { const ReceivePageOptions = [ ReceivePageOption.mainnet, - // FIXME anonpay disabed for new ui beta. restore after screens are ready - // ReceivePageOption.anonPayInvoice, - // ReceivePageOption.anonPayDonationLink ]; diff --git a/lib/cake_pay/src/cards/cake_pay_buy_card_page.dart b/lib/cake_pay/src/cards/cake_pay_buy_card_page.dart index 64551ca65..3864b042c 100644 --- a/lib/cake_pay/src/cards/cake_pay_buy_card_page.dart +++ b/lib/cake_pay/src/cards/cake_pay_buy_card_page.dart @@ -90,7 +90,6 @@ class CakePayBuyCardPage extends BasePage { style: TextStyle( fontSize: 18.0, fontWeight: FontWeight.bold, - fontFamily: 'Lato', color: titleColor(context)), ); } diff --git a/lib/cake_pay/src/cards/cake_pay_cards_page.dart b/lib/cake_pay/src/cards/cake_pay_cards_page.dart index 9caee90ee..d6e88d377 100644 --- a/lib/cake_pay/src/cards/cake_pay_cards_page.dart +++ b/lib/cake_pay/src/cards/cake_pay_cards_page.dart @@ -168,12 +168,10 @@ class _CakePayCardsPageBodyState extends State { child: TabViewWrapper( labelStyle: TextStyle( color: titleColor, - fontFamily: 'Lato', fontSize: 20, fontWeight: FontWeight.w600), unselectedLabelStyle: TextStyle( color: titleColor?.withAlpha(150) ?? Colors.white70, - fontFamily: 'Lato', fontSize: 20, fontWeight: FontWeight.w400), indicatorColor: titleColor, diff --git a/lib/cake_pay/src/widgets/three_checkbox_alert_content_widget.dart b/lib/cake_pay/src/widgets/three_checkbox_alert_content_widget.dart index 9e8029ff7..60c7b784a 100644 --- a/lib/cake_pay/src/widgets/three_checkbox_alert_content_widget.dart +++ b/lib/cake_pay/src/widgets/three_checkbox_alert_content_widget.dart @@ -172,7 +172,6 @@ class _ThreeCheckboxAlertContentState extends State { S.of(context).settings_terms_and_conditions, style: TextStyle( fontSize: 16, - fontFamily: 'Lato', fontWeight: FontWeight.w400, color: Colors.blueAccent, decoration: TextDecoration.none, @@ -190,7 +189,6 @@ class _ThreeCheckboxAlertContentState extends State { style: TextStyle( color: Colors.red, fontSize: 14, - fontFamily: 'Lato', fontWeight: FontWeight.w400, decoration: TextDecoration.none, ), diff --git a/lib/core/address_resolver/yat/yat_store.dart b/lib/core/address_resolver/yat/yat_store.dart deleted file mode 100644 index bcae5331b..000000000 --- a/lib/core/address_resolver/yat/yat_store.dart +++ /dev/null @@ -1,280 +0,0 @@ -import 'package:cake_wallet/core/secure_storage.dart'; -import 'package:cw_core/transaction_history.dart'; -import 'package:cw_core/utils/print_verbose.dart'; -import 'package:cw_core/wallet_base.dart'; -import 'package:cw_core/balance.dart'; -import 'package:cw_core/transaction_info.dart'; -import 'package:cake_wallet/store/app_store.dart'; -import 'package:mobx/mobx.dart'; -import 'package:cw_core/wallet_type.dart'; -import 'dart:async'; - -part 'yat_store.g.dart'; - -class YatLink { - static const partnerId = ''; // 'CW'; - static const baseDevUrl = ''; // 'https://yat.fyi'; - static const baseReleaseUrl = ''; // 'https://y.at'; - static const signInSuffix = ''; // '/partner/$partnerId/link-email'; - static const createSuffix = ''; // '/create'; - static const managePath = ''; // '/partner/$partnerId/manage'; - static const queryParameter = ''; // '?address_json='; - static const apiDevUrl = ''; // 'https://a.yat.fyi'; - static const apiReleaseUrl = ''; // 'https://a.y.at'; - static const requestDevUrl = ''; // 'https://a.yat.fyi/emoji_id/'; - static const requestReleaseUrl = ''; //'https://a.y.at/emoji_id/'; - static const startFlowUrl = ''; // 'https://www.y03btrk.com/4RQSJ/6JHXF/'; - static const isDevMode = true; - static const tags = >{ - "XMR": ['0x1001', '0x1002'], - "BTC": ['0x1003'], - "LTC": ['0x1019'] - }; - - static String get apiUrl => YatLink.isDevMode ? YatLink.apiDevUrl : YatLink.apiReleaseUrl; - - static String get emojiIdUrl => apiUrl + '/emoji_id/'; - - static String get baseUrl => YatLink.isDevMode ? YatLink.baseDevUrl : YatLink.baseReleaseUrl; -} - -Future> fetchYatAddress(String emojiId, String ticker) async { - throw Exception(); - //final url = YatLink.emojiIdUrl + emojiId + '/payment'; - //final response = await get(url); - - //if (response.statusCode != 200) { - // throw YatException(text: response.body.toString()); - //} - - //final addresses = []; - //final currency = ticker.toUpperCase(); - //final responseJSON = json.decode(response.body) as Map; - //final result = responseJSON['result'] as Map; - //result.forEach((dynamic key, dynamic value) { - // final tag = key as String ?? ''; - // final record = value as Map; - - // if (YatLink.tags[currency]?.contains(tag) ?? false) { - // final address = record['address'] as String; - // if (address?.isNotEmpty ?? false) { - // addresses.add(address); - // } - // } - //}); - - //return addresses; - return []; -} - -Future fetchYatAccessToken(String refreshToken) async { - throw Exception(); - //try { - // final url = YatLink.apiUrl + '/auth/token/refresh'; - // final bodyJson = json.encode({'refresh_token': refreshToken}); - // final response = await post( - // url, - // headers: { - // 'Content-Type': 'application/json', - // 'Accept': '*/*' - // }, - // body: bodyJson); - - // if (response.statusCode != 200) { - // throw YatException(text: response.body.toString()); - // } - - // final responseJSON = json.decode(response.body) as Map; - // return responseJSON['access_token'] as String; - //}catch(_) { - // return ''; - //} - return ''; -} - -Future fetchYatApiKey(String accessKey) async { - throw Exception(); - //try { - // final url = YatLink.apiUrl + '/api_keys'; - // final bodyJson = json.encode({'name': 'CW'}); - // final response = await post( - // url, - // headers: { - // 'Authorization': 'Bearer $accessKey', - // 'Content-Type': 'application/json', - // 'Accept': '*/*' - // }, - // body: bodyJson); - - // if (response.statusCode != 200) { - // throw YatException(text: response.body.toString()); - // } - - // final responseJSON = json.decode(response.body) as Map; - // return responseJSON['api_key'] as String; - //}catch(_) { - // return ''; - //} - return ''; -} - -Future updateEmojiIdAddress( - String emojiId, String address, String apiKey, WalletType type) async { - throw Exception(); - //final url = YatLink.emojiIdUrl + emojiId; - //final cur = walletTypeToCryptoCurrency(type); - //final curFormatted = cur.toString().toUpperCase(); - //var tag = ''; - - //if (type == WalletType.monero && !address.startsWith('4')) { - // tag = YatLink.tags[curFormatted].last; - //} else { - // tag = YatLink.tags[curFormatted].first; - //} - - //final bodyJson = json.encode({ - // 'insert': [{ - // 'data': address, - // 'tag': tag - // }] - //}); - //final response = await patch( - // url, - // headers: { - // 'x-api-key': apiKey, - // 'Content-Type': 'application/json', - // 'Accept': '*/*' - // }, - // body: bodyJson); - - //if (response.statusCode != 200) { - // throw YatException(text: response.body.toString()); - //} -} - -Future visualisationForEmojiId(String emojiId) async { - throw Exception(); - //final url = YatLink.emojiIdUrl + emojiId + '/json/VisualizerFileLocations'; - //final response = await get(url); - //final responseJSON = json.decode(response.body) as Map; - //final data = responseJSON['data'] as Map; - //final result = data['gif'] as String ?? ''; - //return result; - return ''; -} - -class YatStore = YatStoreBase with _$YatStore; - -abstract class YatStoreBase with Store { - YatStoreBase({required this.appStore, required this.secureStorage}) - : _wallet = appStore.wallet, - emoji = appStore.wallet?.walletInfo?.yatEmojiId ?? '', - refreshToken = '', - accessToken = '', - apiKey = '', - emojiIncommingSC = StreamController.broadcast() { - //reaction((_) => appStore.wallet, _onWalletChange); - //reaction((_) => emoji, (String _) => _onEmojiChange()); - //reaction((_) => refreshToken, (String _) => _onRefreshTokenChange()); - } - - static const yatRefreshTokenKeyBase = 'yat_refresh_token'; - static const yatAccessTokenKeyBase = 'yat_access_token'; - static const yatApiKeyBase = 'yat_api_key'; - - static String yatRefreshTokenKey(String name) => '${yatRefreshTokenKeyBase}_$name'; - static String yatAccessTokenKey(String name) => '${yatAccessTokenKeyBase}_$name'; - static String yatApiKey(String name) => '${yatApiKeyBase}_$name'; - - AppStore appStore; - - SecureStorage secureStorage; - - @observable - String emoji; - - @observable - String refreshToken; - - @observable - String accessToken; - - @observable - String apiKey; - - StreamController emojiIncommingSC; - - Stream get emojiIncommingStream => emojiIncommingSC.stream; - - @observable - WalletBase, TransactionInfo>? _wallet; - - Future init() async { - if (_wallet == null) { - return; - } - - refreshToken = - await secureStorage.read(key: yatRefreshTokenKey(_wallet!.walletInfo.name)) ?? ''; - accessToken = await secureStorage.read(key: yatAccessTokenKey(_wallet!.walletInfo.name)) ?? ''; - apiKey = await secureStorage.read(key: yatApiKey(_wallet!.walletInfo.name)) ?? ''; - } - - @action - void _onWalletChange( - WalletBase, TransactionInfo> wallet) { - this._wallet = wallet; - emoji = wallet?.walletInfo?.yatEmojiId ?? ''; - init(); - } - - @action - void _onEmojiChange() { - try { - final walletInfo = _wallet?.walletInfo; - - if (walletInfo == null) { - return; - } - - walletInfo!.yatEid = emoji; - - walletInfo!.save(); - } catch (e) { - printV(e.toString()); - } - } - - @action - Future _onRefreshTokenChange() async { - throw Exception(); - - //try { - // await secureStorage.write(key: yatRefreshTokenKey(_wallet.walletInfo.name), value: refreshToken); - // accessToken = await fetchYatAccessToken(refreshToken); - // await secureStorage.write(key: yatAccessTokenKey(_wallet.walletInfo.name), value: accessToken); - // apiKey = await fetchYatApiKey(accessToken); - // await secureStorage.write(key: yatApiKey(_wallet.walletInfo.name), value: accessToken); - //} catch (e) { - // printV(e.toString()); - //} - } - - String defineQueryParameters() { - throw Exception(); - //final result = {}; - //final tags = YatLink.tags[_wallet.currency.toString().toUpperCase()]; - //String tag = tags.first; - - //if (_wallet.type == WalletType.monero - // && _wallet.walletAddresses.address.startsWith('4')) { - // tag = tags.last; - //} - //result[tag] = '${_wallet.walletAddresses.address}|${_wallet.name}'; - //final addressJson = json.encode([result]); - //final addressJsonBytes = utf8.encode(addressJson); - - //return base64.encode(addressJsonBytes); - return ''; - } -} diff --git a/lib/di.dart b/lib/di.dart index 160709171..34c9b2336 100644 --- a/lib/di.dart +++ b/lib/di.dart @@ -9,7 +9,6 @@ import 'package:cake_wallet/bitcoin_cash/bitcoin_cash.dart'; import 'package:cake_wallet/core/address_resolver/address_resolver_service.dart'; import 'package:cake_wallet/core/anypay/anypay_service.dart'; import 'package:cake_wallet/core/address_resolver/yat/yat_service.dart'; -import 'package:cake_wallet/core/address_resolver/yat/yat_store.dart'; import 'package:cake_wallet/entities/bitcoin_amount_display_mode.dart'; import 'package:cake_wallet/evm/evm.dart'; import 'package:cake_wallet/buy/dfx/dfx_buy_provider.dart'; @@ -83,22 +82,11 @@ import 'package:cake_wallet/src/screens/anonpay_details/anonpay_details_page.dar import 'package:cake_wallet/src/screens/auth/auth_page.dart'; import 'package:cake_wallet/src/screens/backup/backup_page.dart'; import 'package:cake_wallet/src/screens/backup/edit_backup_password_page.dart'; -import 'package:cake_wallet/src/screens/buy/buy_sell_options_page.dart'; -import 'package:cake_wallet/src/screens/buy/buy_webview_page.dart'; -import 'package:cake_wallet/src/screens/buy/payment_method_options_page.dart'; -import 'package:cake_wallet/src/screens/buy/webview_page.dart'; import 'package:cake_wallet/src/screens/contact/contact_list_page.dart'; import 'package:cake_wallet/src/screens/contact/contact_page.dart'; -import 'package:cake_wallet/src/screens/dashboard/dashboard_page.dart'; -import 'package:cake_wallet/src/screens/dashboard/desktop_dashboard_page.dart'; -import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_sidebar_wrapper.dart'; -import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_wallet_selection_dropdown.dart'; import 'package:cake_wallet/src/screens/dashboard/edit_token_page.dart'; import 'package:cake_wallet/src/screens/dashboard/home_settings_page.dart'; -import 'package:cake_wallet/src/screens/dashboard/pages/address_page.dart'; -import 'package:cake_wallet/src/screens/dashboard/pages/balance/balance_page.dart'; import 'package:cake_wallet/src/screens/dashboard/pages/cake_features_page.dart'; -import 'package:cake_wallet/src/screens/dashboard/pages/transactions_page.dart'; import 'package:cake_wallet/src/screens/dev/background_sync_logs_page.dart'; import 'package:cake_wallet/src/screens/dev/exchange_provider_logs_page.dart'; import 'package:cake_wallet/src/screens/dev/monero_background_sync.dart'; @@ -109,29 +97,15 @@ import 'package:cake_wallet/src/screens/dev/qr_tools_page.dart'; import 'package:cake_wallet/src/screens/dev/secure_preferences_page.dart'; import 'package:cake_wallet/src/screens/dev/shared_preferences_page.dart'; import 'package:cake_wallet/src/screens/dev/socket_health_logs_page.dart'; -import 'package:cake_wallet/src/screens/exchange/exchange_page.dart'; -import 'package:cake_wallet/src/screens/exchange/exchange_template_page.dart'; -import 'package:cake_wallet/src/screens/exchange_trade/exchange_confirm_page.dart'; -import 'package:cake_wallet/src/screens/exchange_trade/exchange_trade_external_send_page.dart'; -import 'package:cake_wallet/src/screens/exchange_trade/exchange_trade_page.dart'; -import 'package:cake_wallet/src/screens/faq/faq_page.dart'; import 'package:cake_wallet/src/screens/integrations/deuro/savings_page.dart'; -import 'package:cake_wallet/src/screens/monero_accounts/monero_account_edit_or_create_page.dart'; -import 'package:cake_wallet/src/screens/monero_accounts/monero_account_list_page.dart'; import 'package:cake_wallet/src/screens/nano/nano_change_rep_page.dart'; -import 'package:cake_wallet/src/screens/nano_accounts/nano_account_edit_or_create_page.dart'; -import 'package:cake_wallet/src/screens/nano_accounts/nano_account_list_page.dart'; import 'package:cake_wallet/src/screens/new_wallet/new_wallet_type_page.dart'; import 'package:cake_wallet/src/screens/nodes/node_create_or_edit_page.dart'; import 'package:cake_wallet/src/screens/nodes/pow_node_create_or_edit_page.dart'; import 'package:cake_wallet/src/screens/order_details/order_details_page.dart'; import 'package:cake_wallet/src/screens/payjoin_details/payjoin_details_page.dart'; import 'package:cake_wallet/src/screens/pin_code/pin_code_widget.dart'; -import 'package:cake_wallet/src/screens/receive/address_list_page.dart'; -import 'package:cake_wallet/src/screens/receive/anonpay_invoice_page.dart'; -import 'package:cake_wallet/src/screens/receive/anonpay_receive_page.dart'; import 'package:cake_wallet/src/screens/receive/fullscreen_qr_page.dart'; -import 'package:cake_wallet/src/screens/receive/receive_page.dart'; import 'package:cake_wallet/src/screens/rescan/rescan_page.dart'; import 'package:cake_wallet/src/screens/restore/restore_from_backup_page.dart'; import 'package:cake_wallet/src/screens/restore/restore_options_page.dart'; @@ -139,12 +113,8 @@ import 'package:cake_wallet/src/screens/restore/wallet_restore_choose_derivation import 'package:cake_wallet/src/screens/restore/wallet_restore_page.dart'; import 'package:cake_wallet/src/screens/seed/seed_verification/seed_verification_page.dart'; import 'package:cake_wallet/src/screens/seed/wallet_seed_page.dart'; -import 'package:cake_wallet/src/screens/send/send_page.dart'; -import 'package:cake_wallet/src/screens/send/send_template_page.dart'; -import 'package:cake_wallet/src/screens/send/transaction_success_info_page.dart'; import 'package:cake_wallet/src/screens/settings/background_sync_page.dart'; import 'package:cake_wallet/src/screens/settings/connection_sync_page.dart'; -import 'package:cake_wallet/src/screens/settings/desktop_settings/desktop_settings_page.dart'; import 'package:cake_wallet/src/screens/settings/display_settings_page.dart'; import 'package:cake_wallet/src/screens/settings/domain_lookups_page.dart'; import 'package:cake_wallet/src/screens/settings/manage_nodes_page.dart'; @@ -156,7 +126,6 @@ import 'package:cake_wallet/src/screens/settings/privacy_page.dart'; import 'package:cake_wallet/src/screens/settings/security_backup_page.dart'; import 'package:cake_wallet/src/screens/settings/silent_payments_logs_page.dart'; import 'package:cake_wallet/src/screens/settings/silent_payments_settings.dart'; -import 'package:cake_wallet/src/screens/settings/trocador_providers_page.dart'; import 'package:cake_wallet/src/screens/setup_2fa/modify_2fa_page.dart'; import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa.dart'; import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa_enter_code_page.dart'; @@ -164,7 +133,6 @@ import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa_info_page.dart'; import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa_qr_page.dart'; import 'package:cake_wallet/src/screens/setup_pin_code/setup_pin_code.dart'; import 'package:cake_wallet/src/screens/start_tor/start_tor_page.dart'; -import 'package:cake_wallet/src/screens/subaddress/address_edit_or_create_page.dart'; import 'package:cake_wallet/src/screens/support/support_page.dart'; import 'package:cake_wallet/src/screens/support_chat/support_chat_page.dart'; import 'package:cake_wallet/src/screens/support_other_links/support_other_links_page.dart'; @@ -172,7 +140,6 @@ import 'package:cake_wallet/src/screens/trade_details/trade_details_page.dart'; import 'package:cake_wallet/src/screens/transaction_details/rbf_details_page.dart'; import 'package:cake_wallet/src/screens/transaction_details/transaction_details_page.dart'; import 'package:cake_wallet/src/screens/unspent_coins/unspent_coins_details_page.dart'; -import 'package:cake_wallet/src/screens/unspent_coins/unspent_coins_list_page.dart'; import 'package:cake_wallet/src/screens/ur/animated_ur_page.dart'; import 'package:cake_wallet/new-ui/pages/bridge/bridge_detail_page.dart'; import 'package:cake_wallet/src/screens/wallet/wallet_edit_page.dart'; @@ -200,8 +167,6 @@ import 'package:cake_wallet/store/dashboard/trades_store.dart'; import 'package:cake_wallet/store/dashboard/transaction_filter_store.dart'; import 'package:cake_wallet/store/seed_settings_store.dart'; import 'package:cake_wallet/store/settings_store.dart'; -import 'package:cake_wallet/store/templates/exchange_template_store.dart'; -import 'package:cake_wallet/store/templates/send_template_store.dart'; import 'package:cake_wallet/store/wallet_list_store.dart'; import 'package:cake_wallet/themes/core/theme_store.dart'; import 'package:cake_wallet/tron/tron.dart'; @@ -209,7 +174,6 @@ import 'package:cake_wallet/utils/device_info.dart'; import 'package:cake_wallet/utils/payment_request.dart'; import 'package:cake_wallet/view_model/advanced_privacy_settings_view_model.dart'; import 'package:cake_wallet/view_model/animated_ur_model.dart'; -import 'package:cake_wallet/view_model/anon_invoice_page_view_model.dart'; import 'package:cake_wallet/view_model/anonpay_details_view_model.dart'; import 'package:cake_wallet/view_model/auth_view_model.dart'; import 'package:cake_wallet/view_model/backup_view_model.dart'; @@ -217,7 +181,6 @@ import 'package:cake_wallet/view_model/bridge/bridge_details_view_model.dart'; import 'package:cake_wallet/view_model/bridge/bridge_history_view_model.dart'; import 'package:cake_wallet/view_model/buy/buy_amount_view_model.dart'; import 'package:cake_wallet/view_model/buy/buy_sell_view_model.dart'; -import 'package:cake_wallet/view_model/buy/buy_view_model.dart'; import 'package:cake_wallet/view_model/cake_pay/cake_pay_account_view_model.dart'; import 'package:cake_wallet/view_model/cake_pay/cake_pay_auth_view_model.dart'; import 'package:cake_wallet/view_model/cake_pay/cake_pay_buy_card_view_model.dart'; @@ -225,9 +188,7 @@ import 'package:cake_wallet/view_model/cake_pay/cake_pay_cards_list_view_model.d import 'package:cake_wallet/view_model/contact_list/contact_list_view_model.dart'; import 'package:cake_wallet/view_model/contact_list/contact_view_model.dart'; import 'package:cake_wallet/view_model/dashboard/balance_view_model.dart'; -import 'package:cake_wallet/view_model/dashboard/cake_features_view_model.dart'; import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart'; -import 'package:cake_wallet/view_model/dashboard/desktop_sidebar_view_model.dart'; import 'package:cake_wallet/view_model/dashboard/home_settings_view_model.dart'; import "package:cake_wallet/view_model/dashboard/nft_send_view_model.dart"; import 'package:cake_wallet/view_model/dashboard/nft_view_model.dart'; @@ -263,7 +224,6 @@ import 'package:cake_wallet/view_model/restore/restore_wallet.dart'; import 'package:cake_wallet/view_model/restore_from_backup_view_model.dart'; import 'package:cake_wallet/view_model/seed_settings_view_model.dart'; import 'package:cake_wallet/view_model/send/fees_view_model.dart'; -import 'package:cake_wallet/view_model/send/send_template_view_model.dart'; import 'package:cake_wallet/view_model/send/send_view_model.dart'; import 'package:cake_wallet/view_model/set_up_2fa_viewmodel.dart'; import 'package:cake_wallet/view_model/settings/connection_sync_view_model.dart'; @@ -325,7 +285,6 @@ import 'buy/meld/meld_buy_provider.dart'; import 'dogecoin/dogecoin.dart'; import 'new-ui/viewmodels/card_customizer/card_customizer_bloc.dart'; import 'new-ui/widgets/addresses_page/address_info.dart'; -import 'src/screens/buy/buy_sell_page.dart'; final getIt = GetIt.instance; @@ -403,11 +362,6 @@ Future setup({ getIt.registerSingleton(OrderFilterStore()); getIt.registerSingleton(TransactionFilterStore(getIt.get())); getIt.registerSingleton(FiatConversionStore()); - getIt.registerSingleton(SendTemplateStore(templateSource: _templates)); - getIt.registerSingleton( - ExchangeTemplateStore(templateSource: _exchangeTemplates)); - getIt.registerSingleton( - YatStore(appStore: getIt.get(), secureStorage: getIt.get())..init()); getIt.registerSingleton( AnonpayTransactionsStore(anonpayInvoiceInfoSource: _anonpayInvoiceInfoSource)); getIt.registerSingleton(SeedSettingsStore()); @@ -546,7 +500,6 @@ Future setup({ getIt.registerFactory(() => WalletAddressListViewModel( appStore: getIt.get(), - yatStore: getIt.get(), fiatConversionStore: getIt.get())); getIt.registerFactory(() => BalanceViewModel( @@ -557,7 +510,6 @@ Future setup({ getIt.registerFactory( () => ExchangeViewModel( getIt.get(), - getIt.get(), getIt.get(), getIt.get(), getIt.get(), @@ -585,7 +537,6 @@ Future setup({ orderFilterStore: getIt.get(), transactionFilterStore: getIt.get(), settingsStore: settingsStore, - yatStore: getIt.get(), anonpayTransactionsStore: getIt.get(), payjoinTransactionsStore: getIt.get(), sharedPreferences: getIt.get(), @@ -775,17 +726,6 @@ Future setup({ return walletKitService; }); - getIt.registerFactory(() => BalancePage( - nftViewModel: getIt.get(), - dashboardViewModel: getIt.get(), - settingsStore: getIt.get())); - - getIt.registerFactory(() => DashboardPage( - bottomSheetService: getIt.get(), - balancePage: getIt.get(), - dashboardViewModel: getIt.get(), - addressListViewModel: getIt.get(), - )); getIt.registerFactory(() => NewDashboard( dashboardViewModel: getIt.get(), @@ -797,27 +737,6 @@ Future setup({ nftViewModel: getIt.get(), )); - getIt.registerFactory(() { - final GlobalKey _navigatorKey = GlobalKey(); - return DesktopSidebarWrapper( - bottomSheetService: getIt.get(), - dashboardViewModel: getIt.get(), - desktopSidebarViewModel: getIt.get(), - child: getIt.get(param1: _navigatorKey), - desktopNavigatorKey: _navigatorKey, - ); - }); - getIt.registerFactoryParam, void>( - (desktopKey, _) => DesktopDashboardPage( - balancePage: getIt.get(), - dashboardViewModel: getIt.get(), - addressListViewModel: getIt.get(), - desktopKey: desktopKey, - )); - - getIt.registerFactory( - () => TransactionsPage(dashboardViewModel: getIt.get())); - getIt.registerFactory(() => Setup2FAInfoPage()); getIt.registerFactory( @@ -829,43 +748,9 @@ Future setup({ getIt.registerFactory( () => Modify2FAPage(setup2FAViewModel: getIt.get())); - getIt.registerFactory( - () => DesktopSettingsPage(getIt.get())); - getIt.registerFactoryParam( (pageOption, _) => ReceiveOptionViewModel(getIt.get().wallet!, pageOption)); - getIt.registerFactoryParam, void>((args, _) { - final address = args.first as String; - final pageOption = args.last as ReceivePageOption; - return AnonInvoicePageViewModel( - getIt.get(), - address, - getIt.get(), - getIt.get().wallet!, - _anonpayInvoiceInfoSource, - getIt.get(), - pageOption, - ); - }); - - getIt.registerFactoryParam, void>((List args, _) { - final pageOption = args.last as ReceivePageOption; - return AnonPayInvoicePage(getIt.get(param1: args), - getIt.get(param1: pageOption)); - }); - - getIt.registerFactory( - () => ReceivePage(addressListViewModel: getIt.get())); - - getIt.registerFactory( - () => AddressPage( - addressListViewModel: getIt(), - dashboardViewModel: getIt(), - receiveOptionViewModel: getIt(), - ), - ); - getIt.registerFactoryParam((param1, param2) => NewReceivePage( addressListViewModel: getIt.get(), @@ -878,10 +763,6 @@ Future setup({ (WalletAddressListItem? item, _) => WalletAddressEditOrCreateViewModel(wallet: getIt.get().wallet!, item: item)); - getIt.registerFactoryParam((dynamic item, _) => - AddressEditOrCreatePage( - addressEditOrCreateViewModel: - getIt.get(param1: item))); getIt.registerFactoryParam((dynamic item, _) => AddressLabelInputPopup( @@ -897,16 +778,10 @@ Future setup({ walletAddressEditOrCreateViewModel: getIt.get(param1: item))); - getIt.registerFactory(() => SendTemplateViewModel( - getIt.get().wallet!, - getIt.get(), - getIt.get(), - getIt.get())); getIt.registerFactoryParam( (coinTypeToSpendFrom, _) => SendViewModel( getIt.get(), - getIt.get(), getIt.get(), getIt.get(), getIt.get(), @@ -921,14 +796,7 @@ Future setup({ getIt.get()), ); - getIt.registerFactoryParam( - (PaymentRequest? initialPaymentRequest, coinTypeToSpendFrom) => SendPage( - sendViewModel: getIt.get(param1: coinTypeToSpendFrom), - authService: getIt.get(), - initialPaymentRequest: initialPaymentRequest, - paymentViewModel: getIt.get(), - walletSwitcherViewModel: getIt.get(), - )); + getIt.registerFactoryParam((params, _) { params ??= SendPageParams(); @@ -943,8 +811,7 @@ Future setup({ ); }); - getIt.registerFactory( - () => SendTemplatePage(sendTemplateViewModel: getIt.get())); + if (DeviceInfo.instance.isMobile) { getIt.registerFactory( @@ -1017,27 +884,6 @@ Future setup({ 'Unexpected wallet type: ${wallet.type} for generate Monero AccountListViewModel'); }); - getIt.registerFactory( - () => MoneroAccountListPage(accountListViewModel: getIt.get())); - - getIt.registerFactory( - () => NanoAccountListPage(accountListViewModel: getIt.get())); - - /*getIt.registerFactory(() { - final wallet = getIt.get().wallet; - - if (wallet is MoneroWallet) { - return MoneroAccountEditOrCreateViewModel(wallet.accountList); - } - - // FIXME: throw exception. - return null; - }); - - getIt.registerFactory(() => MoneroAccountEditOrCreatePage( - moneroAccountCreationViewModel: - getIt.get()));*/ - getIt.registerFactoryParam( (AccountListItem? account, _) => MoneroAccountEditOrCreateViewModel( monero!.getAccountList(getIt.get().wallet!), @@ -1045,11 +891,6 @@ Future setup({ wallet: getIt.get().wallet!, accountListItem: account)); - getIt.registerFactoryParam( - (AccountListItem? account, _) => MoneroAccountEditOrCreatePage( - moneroAccountCreationViewModel: - getIt.get(param1: account))); - getIt.registerFactoryParam( (NanoAccount? account, _) => NanoAccountEditOrCreateViewModel(nano!.getAccountList(getIt.get().wallet!), @@ -1057,11 +898,6 @@ Future setup({ wallet: getIt.get().wallet!, accountListItem: account)); - getIt.registerFactoryParam( - (NanoAccount? account, _) => NanoAccountEditOrCreatePage( - nanoAccountCreationViewModel: - getIt.get(param1: account))); - getIt.registerFactory( () => DisplaySettingsViewModel(getIt.get(), getIt.get())); @@ -1129,16 +965,16 @@ Future setup({ getIt.registerFactoryParam( (ContactRecord? contact, _) => ContactPage(getIt.get(param1: contact))); - getIt.registerFactory(() => AddressListPage(getIt.get())); getIt.registerFactoryParam((isPow, _) { final appStore = getIt.get(); return NodeListViewModel(appStore, isPow); }); - getIt.registerFactoryParam( - (showHidden, _) => NewAddressesPage( - showHidden: showHidden, + getIt.registerFactoryParam( + (args, _) => NewAddressesPage( + showHidden: args.showHidden, + popOnSelection: args.popOnSelection, addressListViewModel: getIt(), dashboardViewModel: getIt(), ), @@ -1154,7 +990,6 @@ Future setup({ getIt.registerFactory(() => PrivacyPage(getIt.get())); - getIt.registerFactory(() => TrocadorProvidersPage(getIt.get())); getIt.registerFactory(() => DomainLookupsPage(getIt.get())); @@ -1239,8 +1074,6 @@ Future setup({ wallet: getIt.get().wallet!, )); - getIt.registerFactoryParam((title, uri) => WebViewPage(title, uri)); - getIt.registerFactory( () => FeesViewModel( getIt.get(), @@ -1258,11 +1091,6 @@ Future setup({ ), ); - getIt.registerFactoryParam( - (PaymentRequest? paymentRequest, __) { - return ExchangePage(getIt.get(), getIt.get(), - getIt.get(), paymentRequest); - }); getIt.registerFactoryParam( (PaymentRequest? paymentRequest, CryptoCurrency? initialCurrency) { @@ -1276,17 +1104,9 @@ Future setup({ ); }); - getIt.registerFactory(() => ExchangeConfirmPage(tradesStore: getIt.get())); - - getIt.registerFactory( - () => ExchangeTradePage(exchangeTradeViewModel: getIt.get())); - - getIt.registerFactory(() => - ExchangeTradeExternalSendPage(exchangeTradeViewModel: getIt.get())); getIt.registerFactory(() => BackgroundSyncPage(getIt.get())); - getIt.registerFactory(() => ExchangeTemplatePage(getIt.get())); getIt.registerFactoryParam( (paymentFlowResult, _) => SwapConfirmationBottomSheet( @@ -1394,8 +1214,6 @@ Future setup({ getIt.registerFactory(() => RescanPage(getIt.get())); - getIt.registerFactory(() => FaqPage(getIt.get())); - getIt.registerFactoryParam?>( (type, additionalParams) { final restoredWallet = additionalParams?['restoredWallet'] as RestoredWallet?; @@ -1470,17 +1288,12 @@ Future setup({ getIt.registerFactory(() => PreSeedPage(getIt.get().wallet!)); - getIt.registerFactoryParam( - (content, _) => TransactionSuccessPage(content: content)); - getIt.registerFactoryParam( (trade, _) => TradeDetailsViewModel(tradeForDetails: trade, appStore: getIt.get())); - getIt.registerFactory(() => CakeFeaturesViewModel(getIt.get())); getIt.registerFactory(() => CakeFeaturesPage( - dashboardViewModel: getIt.get(), - cakeFeaturesViewModel: getIt.get())); + dashboardViewModel: getIt.get(),)); getIt.registerFactory(() => BackupServiceV3(getIt.get(), _transactionDescriptionBox, getIt.get(), getIt.get())); @@ -1514,39 +1327,6 @@ Future setup({ getIt.registerFactoryParam((mode, _) => NewBuySellAmountPage(buySellViewModel: getIt.get(param1: mode))); - getIt.registerFactory( - () => BuySellPage(getIt.get(), getIt.get())); - - getIt.registerFactoryParam, void>((List args, _) { - final items = args.first as List; - final pickAnOption = args[1] as void Function(SelectableOption option)?; - final confirmOption = args[2] as void Function(BuildContext contex)?; - return BuyOptionsPage(items: items, pickAnOption: pickAnOption, confirmOption: confirmOption); - }); - - getIt - .registerFactoryParam, void>((List args, _) { - final items = args.first as List; - final pickAnOption = args[1] as void Function(SelectableOption option)?; - - return PaymentMethodOptionsPage(items: items, pickAnOption: pickAnOption); - }); - - getIt.registerFactory(() { - final wallet = getIt.get().wallet; - - return BuyViewModel(_ordersSource, getIt.get(), getIt.get(), - getIt.get(), - wallet: wallet!); - }); - - getIt.registerFactoryParam, void>((List args, _) { - final url = args.first as String; - final buyViewModel = args[1] as BuyViewModel; - - return BuyWebViewPage( - buyViewModel: buyViewModel, ordersStore: getIt.get(), url: url); - }); getIt.registerFactoryParam((order, _) { final wallet = getIt.get().wallet; @@ -1584,11 +1364,6 @@ Future setup({ ); }); - getIt.registerFactoryParam( - (coinTypeToSpendFrom, _) => UnspentCoinsListPage( - unspentCoinsListViewModel: - getIt.get(param1: coinTypeToSpendFrom))); - getIt.registerFactoryParam( (coinTypeToSpendFrom, canEdit) => NewCoinControlPage( unspentCoinsListViewModel: @@ -1665,11 +1440,6 @@ Future setup({ useTorOnly: getIt.get().exchangeStatus == ExchangeApiMode.torOnly, wallet: getIt.get().wallet!)); - getIt.registerFactory(() => - DesktopWalletSelectionDropDown(getIt.get(), getIt.get())); - - getIt.registerFactory(() => DesktopSidebarViewModel()); - getIt.registerFactoryParam( (AnonpayInvoiceInfo anonpayInvoiceInfo, _) => AnonpayDetailsViewModel( anonPayApi: getIt.get(), @@ -1685,10 +1455,6 @@ Future setup({ themeStore: getIt.get(), )); - getIt.registerFactoryParam( - (AnonPayReceivePageArgs anonpayReceivePageArgs, _) => - AnonPayReceivePage(args: anonpayReceivePageArgs)); - getIt.registerFactoryParam( (AnonpayInvoiceInfo anonpayInvoiceInfo, _) => AnonpayDetailsPage( anonpayDetailsViewModel: getIt.get(param1: anonpayInvoiceInfo))); diff --git a/lib/new-ui/pages/addresses_page.dart b/lib/new-ui/pages/addresses_page.dart index ee02aa88f..8944f3feb 100644 --- a/lib/new-ui/pages/addresses_page.dart +++ b/lib/new-ui/pages/addresses_page.dart @@ -27,16 +27,26 @@ import 'package:cake_wallet/utils/list_item.dart'; import 'package:mobx/mobx.dart'; import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; + +class AddressesPageArgs { + AddressesPageArgs({required this.showHidden, this.popOnSelection = false}); + + final bool showHidden; + final bool popOnSelection; +} + + class NewAddressesPage extends StatefulWidget { const NewAddressesPage( {super.key, required this.addressListViewModel, required this.dashboardViewModel, - required this.showHidden}); + required this.showHidden, required this.popOnSelection}); final WalletAddressListViewModel addressListViewModel; final DashboardViewModel dashboardViewModel; final bool showHidden; + final bool popOnSelection; @override State createState() => _NewAddressesPageState(); @@ -133,6 +143,7 @@ class _NewAddressesPageState extends State { fontSize: 10, color: Theme.of(context).colorScheme.onSurfaceVariant), ), + if(!widget.popOnSelection) ShowHiddenButton() ], ), @@ -148,11 +159,15 @@ class _NewAddressesPageState extends State { builder: (_) => AddressRow( selected: item.address == widget.addressListViewModel.address.address, - first: widget.showHidden && index == 0, + first: (widget.showHidden || widget.popOnSelection) && index == 0, last: index == filteredItems.length - 1, item: item, onSelect: () { - widget.addressListViewModel.setAddress(item); + if(widget.popOnSelection) { + Navigator.of(context).pop(item.address); + } else { + widget.addressListViewModel.setAddress(item); + } }, onLabelChanged: updateItems, onAddressHidden: () async { diff --git a/lib/new-ui/pages/receive_page.dart b/lib/new-ui/pages/receive_page.dart index 2948f9a93..c63d83cd7 100644 --- a/lib/new-ui/pages/receive_page.dart +++ b/lib/new-ui/pages/receive_page.dart @@ -20,7 +20,6 @@ import "package:cake_wallet/new-ui/widgets/receive_page/receive_qr_code.dart"; import "package:cake_wallet/new-ui/widgets/receive_page/receive_token_display.dart"; import "package:cake_wallet/new-ui/widgets/receive_page/receive_top_bar.dart"; import "package:cake_wallet/routes.dart"; -import "package:cake_wallet/src/screens/receive/anonpay_receive_page.dart"; import "package:cake_wallet/utils/share_util.dart"; import "package:cake_wallet/view_model/dashboard/dashboard_view_model.dart"; import "package:cake_wallet/view_model/dashboard/receive_option_view_model.dart"; @@ -116,53 +115,13 @@ class _NewReceivePageState extends State { return; } - switch (option) { - case ReceivePageOption.anonPayInvoice: - Navigator.pushNamed( - context, - Routes.anonPayInvoicePage, - arguments: [widget.addressListViewModel.address.address, option], - ); - break; - case ReceivePageOption.anonPayDonationLink: - final sharedPreferences = getIt.get(); - final clearnetUrl = sharedPreferences.getString(PreferencesKey.clearnetDonationLink); - final onionUrl = sharedPreferences.getString(PreferencesKey.onionDonationLink); - final donationWalletName = - sharedPreferences.getString(PreferencesKey.donationLinkWalletName); - - if (clearnetUrl != null && - onionUrl != null && - widget.addressListViewModel.wallet.name == donationWalletName) { - Navigator.pushNamed( - context, - Routes.anonPayReceivePage, - arguments: AnonPayReceivePageArgs( - invoiceInfo: AnonpayDonationLinkInfo( - clearnetUrl: clearnetUrl, - onionUrl: onionUrl, - address: widget.addressListViewModel.address.address, - ), - qrImage: widget.addressListViewModel.qrImage, - ), - ); - } else { - Navigator.pushNamed( - context, - Routes.anonPayInvoicePage, - arguments: [widget.addressListViewModel.address.address, option], - ); - } - break; - default: - if ([WalletType.bitcoin, WalletType.litecoin] - .contains(widget.addressListViewModel.type)) { - widget.addressListViewModel.setAddressType(bitcoin!.getBitcoinAddressType(option)); - } - if (widget.addressListViewModel.type == WalletType.zcash) { - printV("help me i'll kms if that wont work: ${zcash!.getZcashAddressType(option)}"); - widget.addressListViewModel.setAddressType(zcash!.getZcashAddressType(option)); - } + if ([WalletType.bitcoin, WalletType.litecoin] + .contains(widget.addressListViewModel.type)) { + widget.addressListViewModel.setAddressType(bitcoin!.getBitcoinAddressType(option)); + } + if (widget.addressListViewModel.type == WalletType.zcash) { + printV("help me i'll kms if that wont work: ${zcash!.getZcashAddressType(option)}"); + widget.addressListViewModel.setAddressType(zcash!.getZcashAddressType(option)); } }); } diff --git a/lib/new-ui/widgets/coins_page/action_row/coin_action_row.dart b/lib/new-ui/widgets/coins_page/action_row/coin_action_row.dart index f085a2d38..52082f0e9 100644 --- a/lib/new-ui/widgets/coins_page/action_row/coin_action_row.dart +++ b/lib/new-ui/widgets/coins_page/action_row/coin_action_row.dart @@ -53,7 +53,6 @@ class CoinActionRow extends StatelessWidget { ), label: S.of(context).send, action: () { - if (FeatureFlag.hasNewUiExtraPages) { final sendPage = getIt.get( param1: SendPageParams( unspentCoinType: @@ -74,11 +73,6 @@ class CoinActionRow extends StatelessWidget { ); }, ); - } else { - Map? args; - if (lightningMode) args = {'coinTypeToSpendFrom': UnspentCoinType.lightning}; - Navigator.of(context).pushNamed(Routes.send, arguments: args); - } }, ), CoinActionButton( @@ -91,7 +85,6 @@ class CoinActionRow extends StatelessWidget { ), label: S.of(context).receive, action: () async { - if (FeatureFlag.hasNewUiExtraPages) { final page = getIt.get(param1: lightningMode); CupertinoScaffold.showCupertinoModalBottomSheet( context: context, @@ -100,17 +93,6 @@ class CoinActionRow extends StatelessWidget { return Material(child: ModalNavigator(parentContext: context, rootPage: page)); }, ); - } else { - // ToDo: (Konsti) refactor as part of the derivation PR (I hate myself for it) - if (lightningMode) { - await getIt().setAddressType( - bitcoin!.getOptionToType(bitcoin!.getBitcoinLightningReceivePageOption())); - } else { - await getIt().setAddressType( - bitcoin!.getOptionToType(bitcoin!.getBitcoinSegwitPageOption())); - } - Navigator.of(context).pushNamed(Routes.addressPage); - } }, ), if (showSwap) @@ -126,7 +108,6 @@ class CoinActionRow extends StatelessWidget { action: () { final page = getIt.get(param2: lightningMode ? CryptoCurrency.btcln : null); - if (FeatureFlag.hasNewUiExtraPages) { CupertinoScaffold.showCupertinoModalBottomSheet( context: context, barrierColor: Colors.black.withAlpha(85), @@ -136,9 +117,6 @@ class CoinActionRow extends StatelessWidget { parentContext: context, )), ); - } else { - Navigator.of(context).pushNamed(Routes.exchange); - } }, ), CoinActionButton( diff --git a/lib/new-ui/widgets/coins_page/cards/cards_view.dart b/lib/new-ui/widgets/coins_page/cards/cards_view.dart index 1aec566a7..2dbbfac7d 100644 --- a/lib/new-ui/widgets/coins_page/cards/cards_view.dart +++ b/lib/new-ui/widgets/coins_page/cards/cards_view.dart @@ -349,7 +349,7 @@ class _CardsViewState extends State { } } - if (FeatureFlag.hasNewUiExtraPages && widget.dashboardViewModel.type == WalletType.bitcoin) { + if (widget.dashboardViewModel.type == WalletType.bitcoin) { final page = getIt.get( param1: SendPageParams( initialPaymentRequest: paymentRequest, @@ -396,7 +396,7 @@ class _CardsViewState extends State { unspentCoinType = UnspentCoinType.lightning; } - if (FeatureFlag.hasNewUiExtraPages && widget.dashboardViewModel.type == WalletType.bitcoin) { + if (widget.dashboardViewModel.type == WalletType.bitcoin) { final page = getIt.get( param1: SendPageParams( initialPaymentRequest: paymentRequest, diff --git a/lib/router.dart b/lib/router.dart index b30d37824..8f6325ca8 100644 --- a/lib/router.dart +++ b/lib/router.dart @@ -17,6 +17,7 @@ import "package:cake_wallet/new-ui/pages/seed/pre_seed_page.dart"; import "package:cake_wallet/new-ui/pages/seed/show_keys_disclaimer_page.dart"; import "package:cake_wallet/new-ui/pages/receive_page.dart"; import 'package:cake_wallet/new-ui/pages/send_page.dart'; +import "package:cake_wallet/new-ui/pages/swap_page.dart"; import "package:cake_wallet/new-ui/widgets/buy_sell/buy_sell_selector_modal.dart"; import 'package:cake_wallet/new-ui/widgets/hardware_wallet/sync_key_images_sheet.dart'; import 'package:cake_wallet/order/order.dart'; @@ -33,25 +34,17 @@ import 'package:cake_wallet/src/screens/anonpay_details/anonpay_details_page.dar import 'package:cake_wallet/src/screens/auth/auth_page.dart'; import 'package:cake_wallet/src/screens/backup/backup_page.dart'; import 'package:cake_wallet/src/screens/backup/edit_backup_password_page.dart'; -import 'package:cake_wallet/src/screens/buy/buy_sell_options_page.dart'; -import 'package:cake_wallet/src/screens/buy/buy_webview_page.dart'; -import 'package:cake_wallet/src/screens/buy/payment_method_options_page.dart'; -import 'package:cake_wallet/src/screens/buy/webview_page.dart'; import 'package:cake_wallet/cake_pay/cake_pay.dart'; import 'package:cake_wallet/src/screens/connect_device/connect_device_page.dart'; -import 'package:cake_wallet/src/screens/connect_device/monero_hardware_wallet_options_page.dart'; +import "package:cake_wallet/src/screens/connect_device/monero_hardware_wallet_options_page.dart"; import 'package:cake_wallet/src/screens/connect_device/select_device_manufacturer_page.dart'; -import 'package:cake_wallet/src/screens/connect_device/select_hardware_wallet_account_page.dart'; +import "package:cake_wallet/src/screens/connect_device/select_hardware_wallet_account_page.dart"; import 'package:cake_wallet/src/screens/contact/contact_list_page.dart'; import 'package:cake_wallet/src/screens/contact/contact_page.dart'; -import 'package:cake_wallet/src/screens/dashboard/dashboard_page.dart'; -import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_dashboard_actions.dart'; import 'package:cake_wallet/src/screens/dashboard/edit_token_page.dart'; import 'package:cake_wallet/src/screens/dashboard/home_settings_page.dart'; -import 'package:cake_wallet/src/screens/dashboard/pages/address_page.dart'; import 'package:cake_wallet/src/screens/dashboard/pages/nft_details_page.dart'; import "package:cake_wallet/src/screens/dashboard/pages/nft_send_page.dart"; -import 'package:cake_wallet/src/screens/dashboard/pages/transactions_page.dart'; import 'package:cake_wallet/src/screens/dashboard/sign_page.dart'; import 'package:cake_wallet/src/screens/dev/exchange_provider_logs_page.dart'; import 'package:cake_wallet/src/screens/dev/monero_background_sync.dart'; @@ -67,16 +60,8 @@ import 'package:cake_wallet/src/screens/dev/background_sync_logs_page.dart'; import 'package:cake_wallet/src/screens/dev/socket_health_logs_page.dart'; import 'package:cake_wallet/src/screens/disclaimer/disclaimer_page.dart'; import 'package:cake_wallet/src/screens/disclaimer/third_party_disclaimer_page.dart'; -import 'package:cake_wallet/src/screens/exchange/exchange_page.dart'; -import 'package:cake_wallet/src/screens/exchange/exchange_template_page.dart'; -import 'package:cake_wallet/src/screens/exchange_trade/exchange_confirm_page.dart'; -import 'package:cake_wallet/src/screens/exchange_trade/exchange_trade_external_send_page.dart'; -import 'package:cake_wallet/src/screens/exchange_trade/exchange_trade_page.dart'; -import 'package:cake_wallet/src/screens/faq/faq_page.dart'; import 'package:cake_wallet/src/screens/integrations/deuro/savings_page.dart'; -import 'package:cake_wallet/src/screens/monero_accounts/monero_account_edit_or_create_page.dart'; import 'package:cake_wallet/src/screens/nano/nano_change_rep_page.dart'; -import 'package:cake_wallet/src/screens/nano_accounts/nano_account_edit_or_create_page.dart'; import 'package:cake_wallet/src/screens/new_wallet/wallet_group_display_page.dart'; import 'package:cake_wallet/src/screens/new_wallet/advanced_privacy_settings_page.dart'; import 'package:cake_wallet/src/screens/new_wallet/new_wallet_page.dart'; @@ -88,24 +73,16 @@ import 'package:cake_wallet/src/screens/nodes/pow_node_create_or_edit_page.dart' import 'package:cake_wallet/src/screens/order_details/order_details_page.dart'; import 'package:cake_wallet/src/screens/payjoin_details/payjoin_details_page.dart'; import 'package:cake_wallet/src/screens/pin_code/pin_code_widget.dart'; -import 'package:cake_wallet/src/screens/receive/address_list_page.dart'; -import 'package:cake_wallet/src/screens/receive/anonpay_invoice_page.dart'; -import 'package:cake_wallet/src/screens/receive/anonpay_receive_page.dart'; import 'package:cake_wallet/src/screens/receive/fullscreen_qr_page.dart'; -import 'package:cake_wallet/src/screens/receive/receive_page.dart'; import 'package:cake_wallet/src/screens/rescan/rescan_page.dart'; import 'package:cake_wallet/src/screens/restore/restore_from_backup_page.dart'; import 'package:cake_wallet/src/screens/restore/restore_options_page.dart'; -import 'package:cake_wallet/src/screens/restore/sweeping_wallet_page.dart'; import 'package:cake_wallet/src/screens/restore/wallet_restore_choose_derivation.dart'; import 'package:cake_wallet/src/screens/restore/wallet_restore_page.dart'; import 'package:cake_wallet/src/screens/seed/seed_verification/seed_verification_page.dart'; import 'package:cake_wallet/src/screens/seed/wallet_seed_page.dart'; -import 'package:cake_wallet/src/screens/send/send_template_page.dart'; -import 'package:cake_wallet/src/screens/send/transaction_success_info_page.dart'; import 'package:cake_wallet/src/screens/settings/background_sync_page.dart'; import 'package:cake_wallet/src/screens/settings/connection_sync_page.dart'; -import 'package:cake_wallet/src/screens/settings/desktop_settings/desktop_settings_page.dart'; import 'package:cake_wallet/src/screens/settings/display_settings_page.dart'; import 'package:cake_wallet/src/screens/settings/domain_lookups_page.dart'; import 'package:cake_wallet/src/screens/settings/manage_nodes_page.dart'; @@ -117,7 +94,6 @@ import 'package:cake_wallet/src/screens/settings/privacy_page.dart'; import 'package:cake_wallet/src/screens/settings/security_backup_page.dart'; import 'package:cake_wallet/src/screens/settings/silent_payments_settings.dart'; import 'package:cake_wallet/src/screens/settings/silent_payments_logs_page.dart'; -import 'package:cake_wallet/src/screens/settings/trocador_providers_page.dart'; import 'package:cake_wallet/src/screens/setup_2fa/modify_2fa_page.dart'; import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa.dart'; import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa_enter_code_page.dart'; @@ -125,7 +101,6 @@ import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa_info_page.dart'; import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa_qr_page.dart'; import 'package:cake_wallet/src/screens/setup_pin_code/setup_pin_code.dart'; import 'package:cake_wallet/src/screens/start_tor/start_tor_page.dart'; -import 'package:cake_wallet/src/screens/subaddress/address_edit_or_create_page.dart'; import 'package:cake_wallet/src/screens/support/support_page.dart'; import 'package:cake_wallet/src/screens/support_chat/support_chat_page.dart'; import 'package:cake_wallet/src/screens/support_other_links/support_other_links_page.dart'; @@ -174,7 +149,6 @@ import 'package:cake_wallet/zcash/zcash_network_type.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'src/screens/buy/buy_sell_page.dart'; import 'src/screens/dashboard/pages/nft_import_page.dart'; late RouteSettings currentRouteSettings; @@ -427,7 +401,7 @@ Route createRoute(RouteSettings settings) { case Routes.receiveAddresses: return handleRouteWithPlatformAwareness( - (context) => getIt.get(param1: settings.arguments as bool)); + (context) => getIt.get(param1: AddressesPageArgs(showHidden:settings.arguments as bool))); case Routes.seed: return handleRouteWithPlatformAwareness( @@ -445,14 +419,11 @@ Route createRoute(RouteSettings settings) { builder: (_) => getIt.get( param1: settings.arguments as List)); - case Routes.sweepingWalletPage: - return CupertinoPageRoute(builder: (_) => getIt.get()); case Routes.dashboard: return CupertinoPageRoute( settings: settings, - builder: (_) => - FeatureFlag.hasNewUi ? getIt.get() : getIt.get()); + builder: (_) => getIt.get()); case Routes.send: final args = settings.arguments as Map?; @@ -472,27 +443,12 @@ Route createRoute(RouteSettings settings) { settings: settings, ); - case Routes.sendTemplate: - return CupertinoPageRoute( - fullscreenDialog: true, builder: (_) => getIt.get()); - - case Routes.receive: - return CupertinoPageRoute( - builder: (context) => getIt.get(), settings: settings); - - case Routes.addressPage: - return handleRouteWithPlatformAwareness((context) => getIt.get(), - settings: settings); case Routes.newReceivePage: - if (FeatureFlag.hasNewUi) { return handleRouteWithPlatformAwareness( (context) => Material(child: getIt.get(param1: false, param2: null)), settings: settings, ); - } - return handleRouteWithPlatformAwareness((context) => getIt.get(), - settings: settings); case Routes.transactionDetails: return CupertinoPageRoute( @@ -505,9 +461,6 @@ Route createRoute(RouteSettings settings) { fullscreenDialog: true, builder: (_) => getIt.get(param1: settings.arguments as List)); - case Routes.newSubaddress: - return CupertinoPageRoute( - builder: (_) => getIt.get(param1: settings.arguments)); case Routes.disclaimer: return CupertinoPageRoute(builder: (_) => DisclaimerPage()); @@ -625,9 +578,6 @@ Route createRoute(RouteSettings settings) { (context) => getIt.get(), ); - case Routes.trocadorProvidersPage: - return CupertinoPageRoute( - fullscreenDialog: true, builder: (_) => getIt.get()); case Routes.domainLookupsPage: return CupertinoPageRoute( @@ -667,11 +617,6 @@ Route createRoute(RouteSettings settings) { param1: args?['editingNode'] as Node?, param2: args?['isSelected'] as bool?); return CupertinoPageRoute(builder: (_) => page); - case Routes.accountCreation: - return CupertinoPageRoute( - builder: (_) => getIt.get( - param1: settings.arguments as AccountListItem?)); - case Routes.accountCustomizer: return handleRouteWithPlatformAwareness( (_) => getIt.get( @@ -679,11 +624,6 @@ Route createRoute(RouteSettings settings) { ), ); - case Routes.nanoAccountCreation: - return CupertinoPageRoute( - builder: (_) => - getIt.get(param1: settings.arguments as NanoAccount?)); - case Routes.addressBook: return handleRouteWithPlatformAwareness( (context) => getIt.get(), @@ -695,7 +635,7 @@ Route createRoute(RouteSettings settings) { builder: (_) => getIt.get(param1: args[0], param2: args[1])); case Routes.pickerWalletAddress: - return MaterialPageRoute(builder: (_) => getIt.get()); + return MaterialPageRoute(builder: (_) => getIt.get(param1: AddressesPageArgs(showHidden: false, popOnSelection: true))); case Routes.addressBookAddContact: return handleRouteWithPlatformAwareness( @@ -712,12 +652,6 @@ Route createRoute(RouteSettings settings) { (context) => getIt.get(), ); - case Routes.exchangeTrade: - return CupertinoPageRoute(builder: (_) => getIt.get()); - - case Routes.exchangeConfirm: - return MaterialPageRoute(builder: (_) => getIt.get()); - case Routes.tradeDetails: return CupertinoPageRoute( fullscreenDialog: true, @@ -732,35 +666,19 @@ Route createRoute(RouteSettings settings) { (context) => Material(child: getIt.get(param1: BuySellPageMode.buy)), ); - case Routes.buyOptionsPage: - final args = settings.arguments as List; - return MaterialPageRoute(builder: (_) => getIt.get(param1: args)); - case Routes.paymentMethodOptionsPage: - final args = settings.arguments as List; - return MaterialPageRoute( - builder: (_) => getIt.get(param1: args)); - - case Routes.buyWebView: - final args = settings.arguments as List; - - return MaterialPageRoute( - fullscreenDialog: true, builder: (_) => getIt.get(param1: args)); case Routes.exchange: return handleRouteWithPlatformAwareness( - (context) => getIt.get(param1: settings.arguments as PaymentRequest?), + (context) => Material( + child: getIt.get(param1: settings.arguments as PaymentRequest?)), + settings: settings, ); - case Routes.exchangeTemplate: - return CupertinoPageRoute(builder: (_) => getIt.get()); - case Routes.rescan: final page = getIt.get(); return MaterialPageRoute(builder: (_) => page); - case Routes.faq: - return MaterialPageRoute(builder: (_) => getIt.get()); case Routes.preSeedPage: return MaterialPageRoute(builder: (_) => getIt.get()); @@ -768,10 +686,6 @@ Route createRoute(RouteSettings settings) { case Routes.walletGroupExistingSeedDescriptionPage: return MaterialPageRoute(builder: (_) => WalletGroupExistingSeedDescriptionPage()); - case Routes.transactionSuccessPage: - return MaterialPageRoute( - builder: (_) => getIt.get(param1: settings.arguments as String)); - case Routes.backup: return handleRouteWithPlatformAwareness( (context) => getIt.get(), @@ -845,13 +759,6 @@ Route createRoute(RouteSettings settings) { (context) => getIt.get(), ); - case Routes.webViewPage: - final args = settings.arguments as List; - final title = args.first as String; - final url = args[1] as Uri; - return CupertinoPageRoute( - builder: (_) => getIt.get(param1: title, param2: url)); - case Routes.advancedPrivacySettings: final args = settings.arguments as Map; final type = args['type'] as WalletType; @@ -879,15 +786,6 @@ Route createRoute(RouteSettings settings) { ), ); - case Routes.anonPayInvoicePage: - final args = settings.arguments as List; - return CupertinoPageRoute(builder: (_) => getIt.get(param1: args)); - - case Routes.anonPayReceivePage: - final anonReceivePageArgs = settings.arguments as AnonPayReceivePageArgs; - return CupertinoPageRoute( - builder: (_) => getIt.get(param1: anonReceivePageArgs)); - case Routes.anonPayDetailsPage: final anonInvoiceViewData = settings.arguments as AnonpayInvoiceInfo; return CupertinoPageRoute( @@ -901,24 +799,9 @@ Route createRoute(RouteSettings settings) { builder: (_) => getIt.get(param1: sessionId, param2: transactionInfo)); - case Routes.desktop_actions: - return PageRouteBuilder( - opaque: false, - pageBuilder: (_, __, ___) => DesktopDashboardActions(getIt()), - ); - - case Routes.desktop_settings_page: - return CupertinoPageRoute(builder: (_) => getIt.get()); - case Routes.empty_no_route: return MaterialPageRoute(builder: (_) => SizedBox.shrink()); - case Routes.transactionsPage: - return CupertinoPageRoute( - settings: settings, - fullscreenDialog: true, - builder: (_) => getIt.get()); - case Routes.setup_2faPage: return MaterialPageRoute(builder: (_) => getIt.get()); @@ -1032,11 +915,6 @@ Route createRoute(RouteSettings settings) { builder: (_) => getIt.get(param1: settings.arguments as bool), ); - case Routes.exchangeTradeExternalSendPage: - return MaterialPageRoute( - builder: (_) => getIt.get(), - ); - case Routes.backgroundSync: return handleRouteWithPlatformAwareness( (context) => getIt.get(), diff --git a/lib/src/screens/buy/buy_sell_options_page.dart b/lib/src/screens/buy/buy_sell_options_page.dart deleted file mode 100644 index 900810f68..000000000 --- a/lib/src/screens/buy/buy_sell_options_page.dart +++ /dev/null @@ -1,48 +0,0 @@ -import 'package:cake_wallet/core/selectable_option.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/screens/select_options_page.dart'; -import 'package:flutter/cupertino.dart'; - -class BuyOptionsPage extends SelectOptionsPage { - BuyOptionsPage({required this.items, this.pickAnOption, this.confirmOption}); - - final List items; - final Function(SelectableOption option)? pickAnOption; - final Function(BuildContext context)? confirmOption; - - @override - String get pageTitle => S.current.choose_a_provider; - - @override - EdgeInsets? get contentPadding => null; - - @override - EdgeInsets? get tilePadding => EdgeInsets.only(top: 8); - - @override - EdgeInsets? get innerPadding => EdgeInsets.symmetric(horizontal: 24, vertical: 8); - - @override - double? get imageHeight => 40; - - @override - double? get imageWidth => 40; - - @override - Color? get selectedBackgroundColor => null; - - @override - double? get tileBorderRadius => 30; - - @override - String get bottomSectionText => ''; - - @override - void Function(SelectableOption option)? get onOptionTap => pickAnOption; - - @override - String get primaryButtonText => S.current.confirm; - - @override - void Function(BuildContext context)? get primaryButtonAction => confirmOption; -} diff --git a/lib/src/screens/buy/buy_sell_page.dart b/lib/src/screens/buy/buy_sell_page.dart deleted file mode 100644 index a157e6c98..000000000 --- a/lib/src/screens/buy/buy_sell_page.dart +++ /dev/null @@ -1,511 +0,0 @@ -import 'package:cake_wallet/buy/sell_buy_states.dart'; -import 'package:cake_wallet/core/address_resolver/address_resolver_service.dart'; -import 'package:cake_wallet/core/address_validator.dart'; -import 'package:cake_wallet/di.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/new-ui/widgets/buy_sell/buy_sell_selector_modal.dart'; -import 'package:cake_wallet/new-ui/widgets/currency_picker/currency_picker_args.dart'; -import 'package:cake_wallet/new-ui/widgets/currency_picker/currency_picker_sheet.dart'; -import 'package:cake_wallet/new-ui/widgets/currency_picker/fiat_currency_picker_sheet.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/screens/exchange/widgets/desktop_exchange_cards_section.dart'; -import 'package:cake_wallet/src/screens/exchange/widgets/exchange_card.dart'; -import 'package:cake_wallet/src/screens/exchange/widgets/mobile_exchange_cards_section.dart'; -import 'package:cake_wallet/src/widgets/keyboard_done_button.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/src/widgets/provider_optoin_tile.dart'; -import 'package:cake_wallet/src/widgets/scrollable_with_bottom_section.dart'; -import 'package:cake_wallet/src/widgets/trail_button.dart'; -import 'package:cake_wallet/utils/responsive_layout_util.dart'; -import 'package:cake_wallet/view_model/buy/buy_sell_view_model.dart'; -import 'package:cw_core/crypto_currency.dart'; -import 'package:cw_core/currency.dart'; -import 'package:cw_core/wallet_type.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:keyboard_actions/keyboard_actions.dart'; -import 'package:mobx/mobx.dart'; - -class BuySellPage extends BasePage { - BuySellPage(this.buySellViewModel, this._resolver); - - final BuySellViewModel buySellViewModel; - final AddressResolverService _resolver; - final cryptoCurrencyKey = GlobalKey(); - final fiatCurrencyKey = GlobalKey(); - final _formKey = GlobalKey(); - final _fiatAmountFocus = FocusNode(); - final _cryptoAmountFocus = FocusNode(); - final _cryptoAddressFocus = FocusNode(); - var _isReactionsSet = false; - - late final String? depositWalletName; - late final String? receiveWalletName; - - @override - String get title => S.current.buy + '/' + S.current.sell; - - @override - bool get gradientBackground => true; - - @override - bool get gradientAll => true; - - @override - bool get resizeToAvoidBottomInset => false; - - @override - bool get extendBodyBehindAppBar => true; - - @override - AppBarStyle get appBarStyle => AppBarStyle.completelyTransparent; - - @override - Function(BuildContext)? get pushToNextWidget => (context) { - FocusScopeNode currentFocus = FocusScope.of(context); - if (!currentFocus.hasPrimaryFocus) { - currentFocus.focusedChild?.unfocus(); - } - }; - - @override - Widget trailing(BuildContext context) => TrailButton( - caption: S.of(context).clear, - onPressed: () { - _formKey.currentState?.reset(); - buySellViewModel.reset(); - }); - - @override - Widget? leading(BuildContext context) { - final _backButton = Icon( - Icons.arrow_back_ios, - color: Theme.of(context).colorScheme.primary, - size: 16, - ); - final _closeButton = currentTheme.isDark ? closeButtonImageDarkTheme : closeButtonImage; - - bool isMobileView = responsiveLayoutUtil.shouldRenderMobileUI; - - return MergeSemantics( - child: SizedBox( - height: isMobileView ? 37 : 45, - width: isMobileView ? 37 : 45, - child: ButtonTheme( - minWidth: double.minPositive, - child: Semantics( - label: !isMobileView ? S.of(context).close : S.of(context).seed_alert_back, - child: TextButton( - style: ButtonStyle( - overlayColor: WidgetStateColor.resolveWith((states) => Colors.transparent), - ), - onPressed: () => onClose(context), - child: !isMobileView ? _closeButton : _backButton, - ), - ), - ), - ), - ); - } - - @override - Widget body(BuildContext context) { - WidgetsBinding.instance.addPostFrameCallback((_) => _setReactions(context, buySellViewModel)); - - return KeyboardActions( - disableScroll: true, - config: KeyboardActionsConfig( - keyboardActionsPlatform: KeyboardActionsPlatform.IOS, - keyboardBarColor: Theme.of(context).colorScheme.surface, - nextFocus: false, - actions: [ - KeyboardActionsItem( - focusNode: _fiatAmountFocus, toolbarButtons: [(_) => KeyboardDoneButton()]), - KeyboardActionsItem( - focusNode: _cryptoAmountFocus, toolbarButtons: [(_) => KeyboardDoneButton()]) - ]), - child: Container( - color: Theme.of(context).colorScheme.surface, - child: Form( - key: _formKey, - child: ScrollableWithBottomSection( - contentPadding: EdgeInsets.only(bottom: 24), - content: Observer( - builder: (_) => Column( - children: [ - _exchangeCardsSection(context), - Padding( - padding: EdgeInsets.symmetric(horizontal: 24), - child: Column( - children: [ - SizedBox(height: 12), - _buildPaymentMethodTile(context), - ], - ), - ), - ], - ), - ), - bottomSectionPadding: EdgeInsets.only(left: 24, right: 24, bottom: 24), - bottomSection: Observer( - builder: (_) => Column( - children: [ - if (buySellViewModel.isBuySellQuoteFailed) - Padding( - padding: EdgeInsets.only(bottom: 15), - child: Row( - children: [ - Expanded( - child: Container( - alignment: Alignment.centerRight, - child: Icon( - Icons.warning_amber_rounded, - color: Theme.of(context).colorScheme.error, - size: 26, - ), - ), - ), - Expanded( - flex: 8, - child: Text( - buySellViewModel.buySellQuoteFailedError ?? - S.of(context).buy_sell_pair_is_not_supported_warning, - textAlign: TextAlign.center, - softWrap: true, - overflow: TextOverflow.ellipsis, - maxLines: 3, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - color: Theme.of(context).colorScheme.error, - fontWeight: FontWeight.w500, - ), - ), - ), - ], - ), - ), - LoadingPrimaryButton( - text: S.current.choose_a_provider, - onPressed: () async { - if (!_formKey.currentState!.validate()) return; - buySellViewModel.onTapChoseProvider(context); - }, - color: Theme.of(context).colorScheme.primary, - textColor: Theme.of(context).colorScheme.onPrimary, - isDisabled: buySellViewModel.isBuySellQuoteFailed, - isLoading: - !buySellViewModel.isReadyToTrade && !buySellViewModel.isBuySellQuoteFailed, - ), - ], - ), - ), - ), - ), - ), - ); - } - - Widget _buildPaymentMethodTile(BuildContext context) { - if (buySellViewModel.paymentMethodState is PaymentMethodLoading || - buySellViewModel.paymentMethodState is InitialPaymentMethod) { - return OptionTilePlaceholder( - withBadge: false, - withSubtitle: false, - borderRadius: 30, - padding: EdgeInsets.symmetric(horizontal: 24, vertical: 8), - leadingIcon: Icons.arrow_forward_ios, - isDarkTheme: currentTheme.isDark); - } - if (buySellViewModel.paymentMethodState is PaymentMethodFailed) { - return OptionTilePlaceholder(errorText: 'No payment methods available', borderRadius: 30); - } - if (buySellViewModel.paymentMethodState is PaymentMethodLoaded && - buySellViewModel.selectedPaymentMethod != null) { - final selectedPaymentMethod = buySellViewModel.selectedPaymentMethod!; - return ProviderOptionTile( - lightImagePath: selectedPaymentMethod.lightIconPath, - darkImagePath: selectedPaymentMethod.darkIconPath, - title: selectedPaymentMethod.title, - onPressed: () => _pickPaymentMethod(context), - leadingIcon: Icons.arrow_forward_ios, - isLightMode: !currentTheme.isDark, - borderRadius: 30, - padding: EdgeInsets.symmetric(horizontal: 24, vertical: 8), - titleTextStyle: Theme.of(context).textTheme.titleMedium?.copyWith( - color: Theme.of(context).colorScheme.onSurface, - fontWeight: FontWeight.w600, - ), - ); - } - return OptionTilePlaceholder(errorText: 'No payment methods available', borderRadius: 30); - } - - void _pickPaymentMethod(BuildContext context) async { - final currentOption = buySellViewModel.selectedPaymentMethod; - await Navigator.of(context).pushNamed( - Routes.paymentMethodOptionsPage, - arguments: [ - buySellViewModel.paymentMethods, - buySellViewModel.changeOption, - ], - ); - - buySellViewModel.selectedPaymentMethod; - if (currentOption != null && - currentOption.paymentMethodType != - buySellViewModel.selectedPaymentMethod?.paymentMethodType) { - await buySellViewModel.calculateBestRate(); - } - } - - void _setReactions(BuildContext context, BuySellViewModel buySellViewModel) { - if (_isReactionsSet) return; - - final fiatAmountController = fiatCurrencyKey.currentState!.amountController; - final cryptoAmountController = cryptoCurrencyKey.currentState!.amountController; - final cryptoAddressController = cryptoCurrencyKey.currentState!.addressController; - - cryptoAddressController.addListener(() { - buySellViewModel.changeCryptoCurrencyAddress(cryptoAddressController.text); - }); - - _onCurrencyChange(buySellViewModel.cryptoCurrency, buySellViewModel, cryptoCurrencyKey); - _onCurrencyChange(buySellViewModel.fiatCurrency, buySellViewModel, fiatCurrencyKey); - - reaction( - (_) => buySellViewModel.wallet.name, - (_) => _onWalletNameChange( - buySellViewModel, buySellViewModel.cryptoCurrency, cryptoCurrencyKey)); - - reaction((_) => buySellViewModel.cryptoCurrency, - (currency) => _onCurrencyChange(currency, buySellViewModel, cryptoCurrencyKey)); - - reaction((_) => buySellViewModel.fiatCurrency, - (currency) => _onCurrencyChange(currency, buySellViewModel, fiatCurrencyKey)); - - reaction((_) => buySellViewModel.fiatAmount, (amount) { - if (fiatCurrencyKey.currentState!.amountController.text != amount) { - fiatCurrencyKey.currentState!.amountController.text = amount; - } - }); - - reaction((_) => buySellViewModel.isCryptoCurrencyAddressEnabled, (isEnabled) { - cryptoCurrencyKey.currentState!.isAddressEditable(isEditable: isEnabled); - }); - - reaction((_) => buySellViewModel.cryptoAmount, (amount) { - if (cryptoCurrencyKey.currentState!.amountController.text != amount) { - cryptoCurrencyKey.currentState!.amountController.text = amount; - } - }); - - reaction((_) => buySellViewModel.cryptoCurrencyAddress, (String address) { - if (cryptoAddressController.text != address) { - cryptoCurrencyKey.currentState!.addressController.text = address; - } - }); - - fiatAmountController.addListener(() { - if (fiatAmountController.text != buySellViewModel.fiatAmount) { - buySellViewModel.changeFiatAmount(amount: fiatAmountController.text); - } - }); - - cryptoAmountController.addListener(() { - if (cryptoAmountController.text != buySellViewModel.cryptoAmount) { - buySellViewModel.changeCryptoAmount(amount: cryptoAmountController.text); - } - }); - - _cryptoAddressFocus.addListener(() async { - if (!_cryptoAddressFocus.hasFocus && cryptoAddressController.text.isNotEmpty) { - final domain = cryptoAddressController.text; - final parsed = await fetchParsedAddress(context, domain, buySellViewModel.cryptoCurrency); - if (parsed.isNotEmpty) { - buySellViewModel.cryptoCurrencyAddress = parsed; - } - } - }); - - reaction((_) => buySellViewModel.wallet.walletAddresses.addressForBuy, (String address) { - if (buySellViewModel.cryptoCurrency == CryptoCurrency.xmr) { - cryptoCurrencyKey.currentState!.changeAddress(address: address); - } - }); - - reaction((_) => buySellViewModel.isReadyToTrade, (bool isReady) { - if (isReady) { - if (buySellViewModel.skipIsReadyToTradeReaction) { - buySellViewModel.skipIsReadyToTradeReaction = false; - return; - } - if (cryptoAmountController.text.isNotEmpty && - cryptoAmountController.text != S.current.fetching) { - buySellViewModel.changeCryptoAmount(amount: cryptoAmountController.text); - } else if (fiatAmountController.text.isNotEmpty && - fiatAmountController.text != S.current.fetching) { - buySellViewModel.changeFiatAmount(amount: fiatAmountController.text); - } - } - }); - - _isReactionsSet = true; - } - - void _onCurrencyChange( - Currency currency, BuySellViewModel buySellViewModel, GlobalKey key) { - final isCurrentTypeWallet = currency == buySellViewModel.wallet.currency; - - key.currentState!.changeSelectedCurrency(currency); - key.currentState!.changeWalletName(isCurrentTypeWallet ? buySellViewModel.wallet.name : ''); - - key.currentState!.changeAddress( - address: isCurrentTypeWallet ? buySellViewModel.wallet.walletAddresses.addressForBuy : ''); - - key.currentState!.changeAmount(amount: ''); - } - - void _onWalletNameChange(BuySellViewModel buySellViewModel, CryptoCurrency currency, - GlobalKey key) { - final isCurrentTypeWallet = currency == buySellViewModel.wallet.currency; - - if (isCurrentTypeWallet) { - key.currentState!.changeWalletName(buySellViewModel.wallet.name); - key.currentState!.addressController.text = - buySellViewModel.wallet.walletAddresses.addressForBuy; - } else if (key.currentState!.addressController.text == - buySellViewModel.wallet.walletAddresses.addressForBuy) { - key.currentState!.changeWalletName(''); - key.currentState!.addressController.text = ''; - } - } - - void disposeBestRateSync() => {}; - - Widget _exchangeCardsSection(BuildContext context) { - final fiatExchangeCard = Observer( - builder: (_) => ExchangeCard( - cardInstanceName: 'fiat_currency_trade_card', - onDispose: disposeBestRateSync, - amountFocusNode: _fiatAmountFocus, - key: fiatCurrencyKey, - title: 'FIAT ${S.of(context).amount}', - initialCurrency: buySellViewModel.fiatCurrency, - initialWalletName: '', - initialAddress: '', - initialIsAmountEditable: true, - isAmountEstimated: false, - currencyRowPadding: EdgeInsets.zero, - addressRowPadding: EdgeInsets.zero, - isMoneroWallet: buySellViewModel.wallet == WalletType.monero, - showAddressField: false, - showLimitsField: false, - currencies: buySellViewModel.fiatCurrencies, - onCurrencySelected: (currency) => buySellViewModel.changeFiatCurrency(currency: currency), - onTapCurrencyPicker: _presentFiatPicker, - imageArrow: Image.asset( - 'assets/images/arrow_bottom_purple_icon.png', - color: Theme.of(context).colorScheme.primary, - height: 8, - ), - currencyButtonColor: Colors.transparent, - addressButtonsColor: Theme.of(context).colorScheme.surfaceContainerHighest, - borderColor: Theme.of(context).colorScheme.outlineVariant, - onPushPasteButton: (context) async {}, - onPushAddressBookButton: (context) async {}, - fillColor: buySellViewModel.mode == BuySellPageMode.buy - ? Theme.of(context).colorScheme.surfaceContainer - : Theme.of(context).colorScheme.surfaceContainerLow, - ), - ); - - final cryptoExchangeCard = Observer( - builder: (_) => ExchangeCard( - cardInstanceName: 'crypto_currency_trade_card', - onDispose: disposeBestRateSync, - amountFocusNode: _cryptoAmountFocus, - addressFocusNode: _cryptoAddressFocus, - key: cryptoCurrencyKey, - title: 'Crypto ${S.of(context).amount}', - initialCurrency: buySellViewModel.cryptoCurrency, - initialWalletName: '', - initialAddress: buySellViewModel.cryptoCurrency == buySellViewModel.wallet.currency - ? buySellViewModel.wallet.walletAddresses.addressForBuy - : buySellViewModel.cryptoCurrencyAddress, - initialIsAmountEditable: true, - isAmountEstimated: true, - showLimitsField: false, - currencyRowPadding: EdgeInsets.zero, - addressRowPadding: EdgeInsets.zero, - isMoneroWallet: buySellViewModel.wallet == WalletType.monero, - currencies: buySellViewModel.cryptoCurrencies, - onCurrencySelected: (currency) => buySellViewModel.changeCryptoCurrency(currency: currency), - onTapCurrencyPicker: _presentCryptoPicker, - imageArrow: Image.asset( - 'assets/images/arrow_bottom_cake_green.png', - color: Theme.of(context).colorScheme.primary, - height: 8, - ), - currencyButtonColor: Colors.transparent, - addressButtonsColor: Theme.of(context).colorScheme.surfaceContainerHighest, - borderColor: Theme.of(context).colorScheme.outlineVariant, - addressTextFieldValidator: AddressValidator(type: buySellViewModel.cryptoCurrency), - onPushPasteButton: (context) async {}, - onPushAddressBookButton: (context) async {}, - fillColor: buySellViewModel.mode == BuySellPageMode.buy - ? Theme.of(context).colorScheme.surfaceContainerLow - : Theme.of(context).colorScheme.surfaceContainer, - useSatoshis: buySellViewModel.useSatoshi, - ), - ); - - if (responsiveLayoutUtil.shouldRenderMobileUI) { - return Observer( - builder: (_) { - return Placeholder(); - }, - ); - } - - return Observer( - builder: (_) { - return Placeholder(); - }, - ); - } - - void _presentFiatPicker(BuildContext context) { - FiatCurrencyPickerSheet.show( - context: context, - selected: buySellViewModel.fiatCurrency, - onSelected: (currency) => buySellViewModel.changeFiatCurrency(currency: currency), - ); - } - - void _presentCryptoPicker(BuildContext context) { - final items = [...buySellViewModel.cryptoCurrencies]; - appendEvmDefaultTokens(items); - CurrencyPickerSheet.show( - context: context, - args: CurrencyPickerArgs( - items: items, - selected: buySellViewModel.cryptoCurrency, - recentsSource: RecentsSource.orders, - onSelected: (currency) => buySellViewModel.changeCryptoCurrency(currency: currency), - symbolResolver: buySellViewModel.amountParsingProxy.getCryptoSymbol, - ), - ); - } - - Future fetchParsedAddress( - BuildContext context, - String domain, - CryptoCurrency currency, - ) async { - final parsedAddresses = - await _resolver.resolve(query: domain, wallet: buySellViewModel.wallet, currency: currency); - return parsedAddresses.isNotEmpty - ? parsedAddresses.first.parsedAddressByCurrencyMap[currency] ?? '' - : ''; - } -} diff --git a/lib/src/screens/buy/buy_webview_page.dart b/lib/src/screens/buy/buy_webview_page.dart deleted file mode 100644 index 488408d5c..000000000 --- a/lib/src/screens/buy/buy_webview_page.dart +++ /dev/null @@ -1,108 +0,0 @@ -import 'dart:async'; -import 'package:cake_wallet/buy/moonpay/moonpay_provider.dart'; -import 'package:cake_wallet/buy/wyre/wyre_buy_provider.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/store/dashboard/orders_store.dart'; -import 'package:cake_wallet/view_model/buy/buy_view_model.dart'; -import 'package:cw_core/utils/print_verbose.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_inappwebview/flutter_inappwebview.dart'; - -class BuyWebViewPage extends BasePage { - BuyWebViewPage({required this.buyViewModel, required this.ordersStore, required this.url}); - - final OrdersStore ordersStore; - final String url; - final BuyViewModel buyViewModel; - - @override - String get title => S.current.buy; - - @override - Widget body(BuildContext context) => - BuyWebViewPageBody(buyViewModel, ordersStore: ordersStore, url: url); -} - -class BuyWebViewPageBody extends StatefulWidget { - BuyWebViewPageBody(this.buyViewModel, {required this.ordersStore, this.url}); - - final OrdersStore ordersStore; - final String? url; - final BuyViewModel buyViewModel; - - @override - BuyWebViewPageBodyState createState() => BuyWebViewPageBodyState(); -} - -class BuyWebViewPageBodyState extends State { - BuyWebViewPageBodyState() - : _webViewkey = GlobalKey(), - _isSaving = false, - orderId = ''; - - String orderId; - InAppWebViewController? _webViewController; - GlobalKey _webViewkey; - Timer? _timer; - bool _isSaving; - - @override - void initState() { - super.initState(); - _webViewkey = GlobalKey(); - _isSaving = false; - widget.ordersStore.orderId = ''; - - if (widget.buyViewModel.selectedProvider is WyreBuyProvider) { - _saveOrder(keyword: 'completed', splitSymbol: '/'); - } - - if (widget.buyViewModel.selectedProvider is MoonPayProvider) { - _saveOrder(keyword: 'transactionId', splitSymbol: '='); - } - } - - @override - Widget build(BuildContext context) { - return InAppWebView( - key: _webViewkey, - initialSettings: InAppWebViewSettings( - transparentBackground: true, - ), - initialUrlRequest: URLRequest(url: WebUri(widget.url ?? '')), - onWebViewCreated: (InAppWebViewController controller) => - setState(() => _webViewController = controller)); - } - - void _saveOrder({required String keyword, required String splitSymbol}) { - _timer?.cancel(); - _timer = Timer.periodic(Duration(seconds: 1), (timer) async { - try { - if (_webViewController == null || _isSaving) { - return; - } - - final url = (await _webViewController!.getUrl())?.toString(); - if (url == null) { - throw Exception('_saveOrder: Url is null'); - } - - if (url.contains(keyword)) { - final urlParts = url.split(splitSymbol); - orderId = urlParts.last; - widget.ordersStore.orderId = orderId; - - if (orderId.isNotEmpty) { - _isSaving = true; - await widget.buyViewModel.saveOrder(orderId); - timer.cancel(); - } - } - } catch (e) { - _isSaving = false; - printV(e); - } - }); - } -} diff --git a/lib/src/screens/buy/payment_method_options_page.dart b/lib/src/screens/buy/payment_method_options_page.dart deleted file mode 100644 index 541f91ab4..000000000 --- a/lib/src/screens/buy/payment_method_options_page.dart +++ /dev/null @@ -1,47 +0,0 @@ -import 'package:cake_wallet/core/selectable_option.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/screens/select_options_page.dart'; -import 'package:flutter/cupertino.dart'; - -class PaymentMethodOptionsPage extends SelectOptionsPage { - PaymentMethodOptionsPage({required this.items, this.pickAnOption}); - - final List items; - final Function(SelectableOption option)? pickAnOption; - - @override - String get pageTitle => S.current.choose_a_payment_method; - - @override - EdgeInsets? get contentPadding => null; - - @override - EdgeInsets? get tilePadding => EdgeInsets.only(top: 12); - - @override - EdgeInsets? get innerPadding => EdgeInsets.symmetric(horizontal: 24, vertical: 12); - - @override - double? get imageHeight => null; - - @override - double? get imageWidth => null; - - @override - Color? get selectedBackgroundColor => null; - - @override - double? get tileBorderRadius => 30; - - @override - String get bottomSectionText => ''; - - @override - void Function(SelectableOption option)? get onOptionTap => pickAnOption; - - @override - String get primaryButtonText => S.current.confirm; - - @override - void Function(BuildContext context)? get primaryButtonAction => null; -} diff --git a/lib/src/screens/buy/webview_page.dart b/lib/src/screens/buy/webview_page.dart deleted file mode 100644 index b1c61a2cd..000000000 --- a/lib/src/screens/buy/webview_page.dart +++ /dev/null @@ -1,87 +0,0 @@ -import 'package:cake_wallet/di.dart'; -import 'package:cake_wallet/entities/preferences_key.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart'; -import 'package:cake_wallet/utils/permission_handler.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_inappwebview/flutter_inappwebview.dart'; -import 'package:permission_handler/permission_handler.dart'; -import 'package:shared_preferences/shared_preferences.dart'; - -class WebViewPage extends BasePage { - WebViewPage(this._title, this._url); - - final String _title; - final Uri _url; - - @override - String get title => _title; - - @override - Widget body(BuildContext context) { - return WebViewPageBody(_title, _url); - } -} - -class WebViewPageBody extends StatefulWidget { - WebViewPageBody(this.title, this.uri); - - final String title; - final Uri uri; - - @override - WebViewPageBodyState createState() => WebViewPageBodyState(); -} - -class WebViewPageBodyState extends State { - WebViewPageBodyState(); - - @override - Widget build(BuildContext context) { - return InAppWebView( - initialSettings: InAppWebViewSettings( - transparentBackground: true, - ), - initialUrlRequest: URLRequest(url: WebUri.uri(widget.uri)), - onPermissionRequest: (controller, request) async { - final sharedPrefs = getIt.get(); - - if (sharedPrefs.getBool(PreferencesKey.showCameraConsent) ?? true) { - final bool userConsent = await showPopUp( - context: context, - builder: (BuildContext context) { - return AlertWithTwoActions( - alertTitle: S.of(context).privacy, - alertContent: S.of(context).camera_consent(widget.title), - rightButtonText: S.of(context).agree, - leftButtonText: S.of(context).cancel, - actionRightButton: () => Navigator.of(context).pop(true), - actionLeftButton: () => Navigator.of(context).pop(false)); - }) ?? - false; - - /// if user did NOT give the consent then return permission denied - if (!userConsent) { - return PermissionResponse( - resources: request.resources, - action: PermissionResponseAction.DENY, - ); - } - - sharedPrefs.setBool(PreferencesKey.showCameraConsent, false); - } - - bool permissionGranted = - await PermissionHandler.checkPermission(Permission.camera, context); - - return PermissionResponse( - resources: request.resources, - action: - permissionGranted ? PermissionResponseAction.GRANT : PermissionResponseAction.DENY, - ); - }, - ); - } -} diff --git a/lib/src/screens/connect_device/debug_device_page.dart b/lib/src/screens/connect_device/debug_device_page.dart deleted file mode 100644 index bad20a96c..000000000 --- a/lib/src/screens/connect_device/debug_device_page.dart +++ /dev/null @@ -1,236 +0,0 @@ -// import 'dart:typed_data'; -// -// import 'package:basic_utils/basic_utils.dart'; -// import 'package:bitcoin_base/bitcoin_base.dart'; -// import 'package:cake_wallet/src/screens/base_page.dart'; -// import 'package:cake_wallet/src/screens/connect_device/widgets/device_tile.dart'; -// import 'package:cake_wallet/src/widgets/primary_button.dart'; -// import 'package:cake_wallet/utils/responsive_layout_util.dart'; -// import 'package:flutter/material.dart'; -// import 'package:ledger_flutter_plus/ledger_flutter_plus.dart'; -// import 'package:ledger_litecoin/ledger_litecoin.dart'; -// import 'package:permission_handler/permission_handler.dart'; -// -// class DebugDevicePage extends BasePage { -// @override -// String get title => "Connect Ledger"; -// -// @override -// Widget body(BuildContext context) => DebugDevicePageBody(); -// } -// -// class DebugDevicePageBody extends StatefulWidget { -// @override -// DebugDevicePageBodyState createState() => DebugDevicePageBodyState(); -// } -// -// class DebugDevicePageBodyState extends State { -// final imageLedger = Image.asset( -// 'assets/images/ledger_icon_black.png', -// width: 40, -// ); -// final ledger = Ledger( -// options: LedgerOptions( -// scanMode: ScanMode.balanced, -// maxScanDuration: const Duration(milliseconds: 5000), -// ), -// onPermissionRequest: (status) async { -// Map statuses = await [ -// // Permission.location, -// Permission.bluetoothScan, -// Permission.bluetoothConnect, -// Permission.bluetoothAdvertise, -// ].request(); -// -// if (status != BleStatus.ready) { -// return false; -// } -// -// return statuses.values.where((status) => status.isDenied).isEmpty; -// }, -// ); -// -// // late BitcoinLedgerApp btc; -// late LitecoinLedgerApp ltc; -// -// var devices = []; -// var status = ""; -// var counter = 0; -// LedgerDevice? selectedDevice = null; -// -// @override -// void initState() { -// super.initState(); -// // btc = BitcoinLedgerApp(ledger); -// ltc = LitecoinLedgerApp(ledger); -// } -// -// @override -// void dispose() { -// super.dispose(); -// ledger.close(ConnectionType.ble); -// ledger.close(ConnectionType.usb); -// } -// -// Future reconnectCurrentDevice() async { -// // await ledger.disconnect(selectedDevice!); -// // await ledger.connect(selectedDevice!); -// } -// -// Future disconnectCurrentDevice() async { -// await ledger.disconnect(selectedDevice!); -// setState(() => selectedDevice = null); -// } -// -// @override -// Widget build(BuildContext context) { -// final imageLedger = 'assets/images/hardware_wallet/ledger_nano_x.png'; -// -// return Center( -// child: Container( -// width: ResponsiveLayoutUtilBase.kDesktopMaxWidthConstraint, -// height: double.infinity, -// padding: EdgeInsets.symmetric(vertical: 24, horizontal: 24), -// child: SingleChildScrollView( -// child: Column( -// children: [ -// Padding( -// padding: EdgeInsets.only(top: 20), -// child: Text(status), -// ), -// if (selectedDevice != null) ...[ -// DebugButton( -// title: "Get Version", -// method: "Version", -// // func: () async => await btc.getVersion(selectedDevice!), -// func: () async => await ltc.getVersion(selectedDevice!), -// ), -// DebugButton( -// title: "Get Wallet Address", -// method: "Wallet Address", -// func: () async { -// setState(() => counter++); -// final derivationPath = "m/84'/2'/0'/0/0"; -// return await ltc.getAccounts(selectedDevice!, -// accountsDerivationPath: derivationPath); -// // return await btc.getAccounts(selectedDevice!, accountsDerivationPath: derivationPath); -// // return await ethereum!.getHardwareWalletAccounts(selectedDevice!); -// }, -// ), -// DebugButton( -// title: "Send Money", -// method: "Raw Tx", -// func: sendMoney -// ), -// Padding( -// padding: EdgeInsets.only(top: 20), -// child: PrimaryButton( -// text: "Disconnect", -// onPressed: () => disconnectCurrentDevice(), -// color: Theme.of(context).colorScheme.primary, -// textColor: Theme.of(context).colorScheme.onPrimary), -// ), -// ], -// if (selectedDevice == null) ...[ -// ...devices -// .map( -// (device) => Padding( -// padding: EdgeInsets.only(bottom: 20), -// child: DeviceTile( -// onPressed: () { -// setState(() => selectedDevice = device); -// ledger.connect(device); -// }, -// title: device.name, -// leading: imageLedger, -// connectionType: device.connectionType, -// ), -// ), -// ) -// .toList(), -// PrimaryButton( -// text: "Refresh BLE", -// onPressed: () async { -// setState(() => devices = []); -// ledger.scan().listen((device) => setState(() { -// devices.add(device); -// })); -// }, -// color: Theme.of(context).colorScheme.primary, -// textColor: Theme.of(context).colorScheme.onPrimary), -// Padding( -// padding: EdgeInsets.only(top: 20), -// child: PrimaryButton( -// text: "Use USB", -// onPressed: () async { -// final dev = await ledger.listUsbDevices(); -// setState(() => devices = dev); -// }, -// color: Theme.of(context).colorScheme.primary, -// textColor: Theme.of(context).colorScheme.onPrimary), -// ), -// ], -// ], -// ), -// )), -// ); -// } -// -// Future sendMoney() async { -// final readyInputs = [ -// LedgerTransaction( -// rawTx: "010000000001018c055c85c3724c98842d27712771dd0de139711f5940bba2df4615c5522184740000000017160014faf7f6dfb4e70798b92c93f33b4c51024491829df0ffffff022b05c70000000000160014f489f947fd13a1fb44ac168427081d3f30b6ce0cde9dd82e0000000017a914d5eca376cb49d65031220ff9093b7d407073ed0d8702483045022100f648c9f6a9b8f35b6ec29bbfae312c95ed3d56ce6a3f177d994efe90562ec4bd02205b82ce2c94bc0c9d152c3afc668b200bd82f48d6a14e83c66ba0f154cd5f69190121038f1dca119420d4aa7ad04af1c0d65304723789cccc56d335b18692390437f35900000000", -// outputIndex: 0, -// ownerPublicKey: -// HexUtils.decode("03b2e67958ed3356e329e05cf94c3bee6b20c17175ac3b2a1278e073bf44f5d6ec"), -// ownerDerivationPath: "m/84'/2'/0'/0/0", -// sequence: 0xffffffff, -// ) -// ]; -// -// final outputs = [ -// BitcoinOutput( -// address: P2wpkhAddress.fromAddress( -// address: "ltc1qn0g5e36xaj07lqj6w9xn52ng07hud42g3jf5ps", -// network: LitecoinNetwork.mainnet), -// value: BigInt.from(1000000)), -// BitcoinOutput( -// address: P2wpkhAddress.fromAddress( -// address: "ltc1qrx29qz4ghu4j0xk37ptgk7034cwpmjyxhrcnk9", -// network: LitecoinNetwork.mainnet), -// value: BigInt.from(12042705)), -// ]; -// return await ltc.createTransaction(selectedDevice!, -// inputs: readyInputs, -// outputs: outputs -// .map((e) => TransactionOutput.fromBigInt( -// e.value, Uint8List.fromList(e.address.toScriptPubKey().toBytes()))) -// .toList(), -// sigHashType: 0x01, -// additionals: ["bech32"], -// isSegWit: true, -// useTrustedInputForSegwit: true); -// } -// -// Widget DebugButton( -// {required String title, required String method, required Future Function() func}) { -// return Padding( -// padding: EdgeInsets.only(top: 20), -// child: PrimaryButton( -// text: title, -// onPressed: () async { -// try { -// setState(() => status = "Sending..."); -// final acc = await func(); -// setState(() => status = "$method: $acc"); -// printV("$method: $acc"); -// } on LedgerException catch (ex) { -// setState(() => status = "${ex.errorCode.toRadixString(16)} ${ex.message}"); -// printV("${ex.errorCode.toRadixString(16)} ${ex.message}"); -// } -// }, -// color: Theme.of(context).colorScheme.primary, -// textColor: Theme.of(context).colorScheme.onPrimary), -// ); -// } -// } diff --git a/lib/src/screens/connect_device/widgets/device_tile.dart b/lib/src/screens/connect_device/widgets/device_tile.dart deleted file mode 100644 index 7880dada9..000000000 --- a/lib/src/screens/connect_device/widgets/device_tile.dart +++ /dev/null @@ -1,78 +0,0 @@ -import 'package:cake_wallet/entities/hardware_wallet/hardware_wallet_device.dart'; -import 'package:cake_wallet/src/widgets/cake_image_widget.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; - -class DeviceTile extends StatelessWidget { - const DeviceTile({ - required this.onPressed, - required this.title, - this.leading, - this.connectionType, - }); - - final VoidCallback onPressed; - final String title; - final String? leading; - final HardwareWalletConnectionType? connectionType; - - String? get connectionTypeIcon { - switch (connectionType) { - case HardwareWalletConnectionType.ble: - return 'assets/images/bluetooth.png'; - case HardwareWalletConnectionType.usb: - return 'assets/images/usb.png'; - default: - return null; - } - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: onPressed, - child: Container( - width: double.infinity, - padding: EdgeInsets.all(24), - alignment: Alignment.center, - decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(12)), - color: Theme.of(context).colorScheme.surfaceContainer, - ), - child: Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - CakeImageWidget( - height: 30, - imageUrl: leading, - colorFilter: - ColorFilter.mode(Theme.of(context).colorScheme.onSurface, BlendMode.srcIn), - ), - Expanded( - child: Padding( - padding: EdgeInsets.only(left: 16), - child: Text( - title, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 20, - fontWeight: FontWeight.w500, - ), - ), - ), - ), - if (connectionTypeIcon != null) - Center( - child: Image.asset( - connectionTypeIcon!, - height: 25, - color: Theme.of(context).colorScheme.onSurface, - ), - ) - ], - ), - ), - ); - } -} diff --git a/lib/src/screens/contact/contact_list_page.dart b/lib/src/screens/contact/contact_list_page.dart index e8a336fa8..6e988384e 100644 --- a/lib/src/screens/contact/contact_list_page.dart +++ b/lib/src/screens/contact/contact_list_page.dart @@ -459,7 +459,7 @@ class _ContactListBodyState extends State { color: Theme.of(context).colorScheme.onSurface, ); return Padding( - padding: const EdgeInsets.only(bottom: FeatureFlag.hasNewUi ? 48 : 0), + padding: const EdgeInsets.only(bottom: 48), child: MergeSemantics( child: SizedBox( height: 58, diff --git a/lib/src/screens/dashboard/dashboard_page.dart b/lib/src/screens/dashboard/dashboard_page.dart deleted file mode 100644 index f4f151735..000000000 --- a/lib/src/screens/dashboard/dashboard_page.dart +++ /dev/null @@ -1,446 +0,0 @@ -import 'dart:async'; -import 'package:cake_wallet/entities/preferences_key.dart'; -import 'package:cake_wallet/di.dart'; -import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_sidebar_wrapper.dart'; -import 'package:cake_wallet/src/screens/dashboard/pages/cake_features_page.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/page_indicator.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/new_main_navbar_widget.dart'; -import 'package:cake_wallet/src/screens/wallet_connect/widgets/bottom_sheet/bottom_sheet_listener_widget.dart'; -import 'package:cake_wallet/src/screens/wallet_connect/services/bottom_sheet_service.dart'; -import 'package:cake_wallet/src/widgets/evm_switcher.dart'; -import 'package:cake_wallet/src/widgets/gradient_background.dart'; -import 'package:cake_wallet/src/widgets/haven_wallet_removal_popup.dart'; -import 'package:cake_wallet/src/widgets/services_updates_widget.dart'; -import 'package:cake_wallet/src/widgets/vulnerable_seeds_popup.dart'; -import 'package:cake_wallet/utils/device_info.dart'; -import 'package:cake_wallet/utils/feature_flag.dart'; -import 'package:cake_wallet/utils/version_comparator.dart'; -import 'package:cake_wallet/view_model/dashboard/cake_features_view_model.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/src/screens/yat_emoji_id.dart'; -import 'package:cake_wallet/utils/responsive_layout_util.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:flutter/material.dart'; -import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/menu_widget.dart'; -import 'package:cake_wallet/src/screens/dashboard/pages/balance/balance_page.dart'; -import 'package:cake_wallet/src/screens/dashboard/pages/transactions_page.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/sync_indicator.dart'; -import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_view_model.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:mobx/mobx.dart'; -import 'package:shared_preferences/shared_preferences.dart'; -import 'package:cake_wallet/main.dart'; -import 'package:cake_wallet/src/screens/release_notes/release_notes_screen.dart'; -import 'package:cake_wallet/themes/core/theme_extension.dart'; - -class DashboardPage extends StatefulWidget { - DashboardPage({ - required this.bottomSheetService, - required this.balancePage, - required this.dashboardViewModel, - required this.addressListViewModel, - }); - - final BalancePage balancePage; - final BottomSheetService bottomSheetService; - final DashboardViewModel dashboardViewModel; - final WalletAddressListViewModel addressListViewModel; - - @override - State createState() => _DashboardPageState(); -} - -class _DashboardPageState extends State { - @override - void initState() { - super.initState(); - - bool isMobileLayout = - responsiveLayoutUtil.screenWidth < ResponsiveLayoutUtilBase.kMobileThreshold; - - reaction((_) => responsiveLayoutUtil.screenWidth, (screenWidth) { - // Check if it was previously in mobile layout, and now changing to desktop - if (isMobileLayout && - screenWidth > ResponsiveLayoutUtilBase.kDesktopMaxDashBoardWidthConstraint) { - setState(() { - isMobileLayout = false; - }); - } - - // Check if it was previously in desktop layout, and now changing to mobile - if (!isMobileLayout && - screenWidth <= ResponsiveLayoutUtilBase.kDesktopMaxDashBoardWidthConstraint) { - setState(() { - isMobileLayout = true; - }); - } - }); - } - - @override - Widget build(BuildContext context) { - Widget dashboardChild; - - final dashboardPageView = RefreshIndicator( - displacement: responsiveLayoutUtil.screenHeight * 0.1, - onRefresh: () async { - unawaited(widget.balancePage.nftViewModel.getNFTAssetByWallet()); - - await widget.dashboardViewModel.refreshDashboard(); - }, - child: SingleChildScrollView( - physics: AlwaysScrollableScrollPhysics(), - child: Container( - height: responsiveLayoutUtil.screenHeight, - child: _DashboardPageView( - balancePage: widget.balancePage, - bottomSheetService: widget.bottomSheetService, - dashboardViewModel: widget.dashboardViewModel, - addressListViewModel: widget.addressListViewModel, - ), - ), - ), - ); - - if (DeviceInfo.instance.isDesktop) { - if (responsiveLayoutUtil.screenWidth > - ResponsiveLayoutUtilBase.kDesktopMaxDashBoardWidthConstraint) { - dashboardChild = getIt.get(); - } else { - dashboardChild = dashboardPageView; - } - } else if (responsiveLayoutUtil.shouldRenderMobileUI) { - dashboardChild = dashboardPageView; - } else { - dashboardChild = getIt.get(); - } - - return Scaffold(body: dashboardChild); - } -} - -class _DashboardPageView extends BasePage { - _DashboardPageView({ - required this.bottomSheetService, - required this.balancePage, - required this.dashboardViewModel, - required this.addressListViewModel, - }); - - final BalancePage balancePage; - - @override - bool get gradientBackground => true; - - @override - Widget Function(BuildContext, Widget) get rootWrapper => - (BuildContext context, Widget scaffold) => GradientBackground(scaffold: scaffold); - - @override - bool get resizeToAvoidBottomInset => false; - - @override - Widget get endDrawer => - MenuWidget(dashboardViewModel, ValueKey('dashboard_page_drawer_menu_widget_key')); - - @override - Widget leading(BuildContext context) { - if (FeatureFlag.isEVMChainSwitcherEnabled && - dashboardViewModel.isEVMWallet && - dashboardViewModel.availableChains.isNotEmpty) { - return TextButton( - style: TextButton.styleFrom( - minimumSize: Size(50, 30), - tapTargetSize: MaterialTapTargetSize.shrinkWrap, - alignment: Alignment.centerLeft, - ), - onPressed: () => showDialog( - context: context, - builder: (context) => EvmSwitcher( - chains: dashboardViewModel.availableChains, - currentChain: dashboardViewModel.currentChain, - onChainSelected: (chainId) => dashboardViewModel.selectChain(chainId), - hiddenChainIds: dashboardViewModel.settingsStore.evmHiddenChainIds, - onHiddenChanged: (hidden) => - dashboardViewModel.settingsStore.setEvmHiddenChainIds(hidden), - ), - ), - child: Container( - child: SvgPicture.asset( - 'assets/images/evm_switcher.svg', - color: Theme.of(context).colorScheme.onSurfaceVariant, - height: 30, - ), - ), - ); - } - - return Observer( - builder: (context) { - return ServicesUpdatesWidget( - key: ValueKey('dashboard_page_services_update_button_key'), - dashboardViewModel.getServicesStatus(), - enabled: dashboardViewModel.isEnabledBulletinAction, - ); - }, - ); - } - - @override - Widget middle(BuildContext context) { - return SyncIndicator( - key: ValueKey('dashboard_page_sync_indicator_button_key'), - dashboardViewModel: dashboardViewModel, - onTap: () => Navigator.of(context, rootNavigator: true).pushNamed(Routes.connectionSync), - ); - } - - @override - Widget trailing(BuildContext context) { - return Container( - alignment: Alignment.centerRight, - width: 42, - child: TextButton( - key: ValueKey('dashboard_page_wallet_menu_button_key'), - onPressed: () => onOpenEndDrawer(), - child: Semantics( - label: S.of(context).wallet_menu, - child: SvgPicture.asset( - 'assets/images/menu.svg', - color: Theme.of(context).colorScheme.primary, - ), - ), - ), - ); - } - - final DashboardViewModel dashboardViewModel; - final BottomSheetService bottomSheetService; - final WalletAddressListViewModel addressListViewModel; - - int get initialPage => dashboardViewModel.shouldShowMarketPlaceInDashboard ? 1 : 0; - ObservableList pages = ObservableList(); - bool _isEffectsInstalled = false; - - @override - Widget body(BuildContext context) { - final controller = PageController(initialPage: initialPage); - - reaction( - (_) => dashboardViewModel.shouldShowMarketPlaceInDashboard, - (bool value) { - if (!dashboardViewModel.shouldShowMarketPlaceInDashboard) { - controller.jumpToPage(0); - } - pages.clear(); - _isEffectsInstalled = false; - _setEffects(context); - - if (value) { - controller.jumpToPage(1); - } else { - controller.jumpToPage(0); - } - }, - ); - _setEffects(context); - - return SafeArea( - minimum: EdgeInsets.only(bottom: 0), - child: BottomSheetListener( - bottomSheetService: bottomSheetService, - child: Container( - child: Stack( - alignment: Alignment.bottomCenter, - children: [ - Observer( - builder: (context) { - return PageView.builder( - key: const ValueKey('dashboard_page_view_key'), - controller: controller, - physics: const BouncingScrollPhysics(), - itemCount: pages.length, - itemBuilder: (context, index) => pages[index], - ); - }, - ), - Stack( - alignment: Alignment.bottomCenter, - children: [ - IgnorePointer( - child: Container( - alignment: Alignment.bottomCenter, - height: 220, - decoration: BoxDecoration( - gradient: LinearGradient( - begin: Alignment.topCenter, - end: Alignment.bottomCenter, - colors: [ - context.customColors.backgroundGradientColor.withAlpha(5), - context.customColors.backgroundGradientColor.withAlpha(50), - context.customColors.backgroundGradientColor.withAlpha(125), - context.customColors.backgroundGradientColor.withAlpha(150), - context.customColors.backgroundGradientColor.withAlpha(200), - context.customColors.backgroundGradientColor, - context.customColors.backgroundGradientColor, - ], - ), - ), - ), - ), - Container( - margin: EdgeInsets.only(bottom: 110), - child: Semantics( - container: true, - label: 'Page indicator', - hint: - 'Swipe left or right to change page, or double tap buttons below to navigate directly.', - child: ExcludeSemantics( - excluding: false, - child: PageIndicator( - controller: controller, - dashboardViewModel: dashboardViewModel, - ), - ), - ), - ), - NewMainNavBar( - dashboardViewModel: dashboardViewModel, - selectedIndex: 0, - onItemTap: (index) {}), - ], - ), - ], - ), - ), - ), - ); - } - - void _setEffects(BuildContext context) async { - if (_isEffectsInstalled || !context.mounted) { - return; - } - if (dashboardViewModel.shouldShowMarketPlaceInDashboard) { - pages.add( - Semantics( - label: S.of(context).apps, - child: CakeFeaturesPage( - dashboardViewModel: dashboardViewModel, - cakeFeaturesViewModel: getIt.get(), - ), - ), - ); - } - pages.add(Semantics(label: S.of(context).balance_page, child: balancePage)); - pages.add( - Semantics( - label: S.of(context).history, - child: TransactionsPage(dashboardViewModel: dashboardViewModel), - ), - ); - _isEffectsInstalled = true; - - _showReleaseNotesPopup(context); - - _showVulnerableSeedsPopup(context); - - _showHavenPopup(context); - - var needToPresentYat = false; - - rootKey.currentState?.isInactive.listen( - (inactive) { - if (needToPresentYat) { - Future.delayed(Duration(milliseconds: 500)).then( - (_) { - showPopUp( - context: navigatorKey.currentContext!, - builder: (_) => YatEmojiId(dashboardViewModel.yatStore.emoji), - ); - needToPresentYat = false; - }, - ); - } - }, - ); - - dashboardViewModel.yatStore.emojiIncommingStream.listen( - (String emoji) { - if (!_isEffectsInstalled || emoji.isEmpty) { - return; - } - - needToPresentYat = true; - }, - ); - } - - void _showReleaseNotesPopup(BuildContext context) async { - final sharedPrefs = await SharedPreferences.getInstance(); - final currentAppVersion = - VersionComparator.getExtendedVersionNumber(dashboardViewModel.settingsStore.appVersion); - final lastSeenAppVersion = sharedPrefs.getInt(PreferencesKey.lastSeenAppVersion); - final isNewInstall = sharedPrefs.getBool(PreferencesKey.isNewInstall); - - if (currentAppVersion != lastSeenAppVersion && !isNewInstall!) { - Future.delayed( - Duration(seconds: 1), - () { - showPopUp( - context: context, - builder: (BuildContext context) { - return ReleaseNotesScreen( - title: 'Version ${dashboardViewModel.settingsStore.appVersion}', - ); - }, - ); - }, - ); - - sharedPrefs.setInt(PreferencesKey.lastSeenAppVersion, currentAppVersion); - } else if (isNewInstall!) { - sharedPrefs.setInt(PreferencesKey.lastSeenAppVersion, currentAppVersion); - } - } - - void _showVulnerableSeedsPopup(BuildContext context) async { - final List affectedWalletNames = await dashboardViewModel.checkAffectedWallets(); - - if (affectedWalletNames.isNotEmpty) { - Future.delayed( - Duration(seconds: 1), - () { - showPopUp( - context: context, - builder: (BuildContext context) { - return VulnerableSeedsPopup(affectedWalletNames); - }, - ); - }, - ); - } - } - - void _showHavenPopup(BuildContext context) async { - final List havenWalletList = await dashboardViewModel.checkForHavenWallets(); - - if (havenWalletList.isNotEmpty) { - Future.delayed( - Duration(seconds: 1), - () { - showPopUp( - context: context, - builder: (BuildContext context) { - return HavenWalletRemovalPopup(havenWalletList); - }, - ); - }, - ); - } - } -} diff --git a/lib/src/screens/dashboard/desktop_dashboard_page.dart b/lib/src/screens/dashboard/desktop_dashboard_page.dart deleted file mode 100644 index 4769b1efd..000000000 --- a/lib/src/screens/dashboard/desktop_dashboard_page.dart +++ /dev/null @@ -1,135 +0,0 @@ -import 'dart:async'; -import 'package:cake_wallet/entities/preferences_key.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/src/screens/release_notes/release_notes_screen.dart'; -import 'package:cake_wallet/src/screens/yat_emoji_id.dart'; -import 'package:cake_wallet/src/widgets/vulnerable_seeds_popup.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cake_wallet/utils/version_comparator.dart'; -import 'package:flutter/material.dart'; -import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart'; -import 'package:cake_wallet/src/screens/dashboard/pages/balance/balance_page.dart'; -import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_view_model.dart'; -import 'package:cake_wallet/main.dart'; -import 'package:cake_wallet/router.dart' as Router; -import 'package:shared_preferences/shared_preferences.dart'; - -class DesktopDashboardPage extends StatelessWidget { - DesktopDashboardPage({ - required this.balancePage, - required this.dashboardViewModel, - required this.addressListViewModel, - required this.desktopKey, - }); - - final BalancePage balancePage; - final DashboardViewModel dashboardViewModel; - final WalletAddressListViewModel addressListViewModel; - final GlobalKey desktopKey; - - bool _isEffectsInstalled = false; - StreamSubscription? _onInactiveSub; - - @override - Widget build(BuildContext context) { - _setEffects(context); - - return Container( - color: Theme.of(context).colorScheme.surface, - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Container( - width: 400, - child: balancePage, - ), - Flexible( - child: ConstrainedBox( - constraints: BoxConstraints(maxWidth: 500), - child: Navigator( - key: desktopKey, - initialRoute: Routes.desktop_actions, - onGenerateRoute: (settings) => Router.createRoute(settings), - onGenerateInitialRoutes: (NavigatorState navigator, String initialRouteName) { - return [ - navigator.widget.onGenerateRoute!(RouteSettings(name: initialRouteName))! - ]; - }, - ), - ), - ), - ], - ), - ); - } - - void _setEffects(BuildContext context) async { - if (_isEffectsInstalled) { - return; - } - _isEffectsInstalled = true; - - var needToPresentYat = false; - var isInactive = false; - - _onInactiveSub = rootKey.currentState!.isInactive.listen((inactive) { - isInactive = inactive; - - if (needToPresentYat) { - Future.delayed(Duration(milliseconds: 500)).then((_) { - showPopUp( - context: navigatorKey.currentContext!, - builder: (_) => YatEmojiId(dashboardViewModel.yatStore.emoji)); - needToPresentYat = false; - }); - } - }); - - dashboardViewModel.yatStore.emojiIncommingStream.listen((String emoji) { - if (!_isEffectsInstalled || emoji.isEmpty) { - return; - } - - needToPresentYat = true; - }); - - final sharedPrefs = await SharedPreferences.getInstance(); - final currentAppVersion = - VersionComparator.getExtendedVersionNumber(dashboardViewModel.settingsStore.appVersion); - final lastSeenAppVersion = sharedPrefs.getInt(PreferencesKey.lastSeenAppVersion); - final isNewInstall = sharedPrefs.getBool(PreferencesKey.isNewInstall); - - if (currentAppVersion != lastSeenAppVersion && !isNewInstall!) { - await Future.delayed(Duration(seconds: 1)); - await showPopUp( - context: context, - builder: (BuildContext context) { - return ReleaseNotesScreen( - title: 'Version ${dashboardViewModel.settingsStore.appVersion}'); - }); - sharedPrefs.setInt(PreferencesKey.lastSeenAppVersion, currentAppVersion); - } else if (isNewInstall!) { - sharedPrefs.setInt(PreferencesKey.lastSeenAppVersion, currentAppVersion); - } - - _showVulnerableSeedsPopup(context); - } - - void _showVulnerableSeedsPopup(BuildContext context) async { - final List affectedWalletNames = await dashboardViewModel.checkAffectedWallets(); - - if (affectedWalletNames.isNotEmpty) { - Future.delayed( - Duration(seconds: 1), - () { - showPopUp( - context: context, - builder: (BuildContext context) { - return VulnerableSeedsPopup(affectedWalletNames); - }, - ); - }, - ); - } - } -} diff --git a/lib/src/screens/dashboard/desktop_widgets/desktop_action_button.dart b/lib/src/screens/dashboard/desktop_widgets/desktop_action_button.dart deleted file mode 100644 index ebc502483..000000000 --- a/lib/src/screens/dashboard/desktop_widgets/desktop_action_button.dart +++ /dev/null @@ -1,71 +0,0 @@ -import 'package:auto_size_text/auto_size_text.dart'; -import 'package:flutter/material.dart'; - -class DesktopActionButton extends StatelessWidget { - final String image; - final String title; - final bool canShow; - final bool isEnabled; - final Function() onTap; - - const DesktopActionButton({ - Key? key, - required this.title, - required this.image, - required this.onTap, - bool? canShow, - bool? isEnabled, - }) : this.isEnabled = isEnabled ?? true, - this.canShow = canShow ?? true, - super(key: key); - - @override - Widget build(BuildContext context) { - return MouseRegion( - cursor: SystemMouseCursors.click, - child: Padding( - padding: const EdgeInsets.fromLTRB(8, 0, 8, 8), - child: GestureDetector( - onTap: onTap, - child: Container( - padding: EdgeInsets.symmetric(vertical: 25), - width: double.infinity, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(15.0), - color: Theme.of(context).colorScheme.surfaceContainer, - ), - child: Center( - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - Image.asset( - image, - height: 30, - width: 30, - color: isEnabled - ? Theme.of(context).colorScheme.onPrimaryContainer - : Theme.of(context).colorScheme.onSurfaceVariant, - ), - const SizedBox(width: 10), - AutoSizeText( - title, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 24, - fontWeight: FontWeight.bold, - color: isEnabled - ? Theme.of(context).colorScheme.onPrimaryContainer - : Theme.of(context).colorScheme.onSurfaceVariant, - height: 1, - ), - maxLines: 1, - textAlign: TextAlign.center, - ) - ], - ), - ), - ), - ), - ), - ); - } -} diff --git a/lib/src/screens/dashboard/desktop_widgets/desktop_dashboard_actions.dart b/lib/src/screens/dashboard/desktop_widgets/desktop_dashboard_actions.dart deleted file mode 100644 index 1a063a220..000000000 --- a/lib/src/screens/dashboard/desktop_widgets/desktop_dashboard_actions.dart +++ /dev/null @@ -1,87 +0,0 @@ -import 'package:cake_wallet/di.dart'; -import 'package:cake_wallet/entities/main_actions.dart'; -import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_action_button.dart'; -import 'package:cake_wallet/src/screens/dashboard/pages/cake_features_page.dart'; -import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart'; -import 'package:cake_wallet/view_model/dashboard/cake_features_view_model.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; - -class DesktopDashboardActions extends StatelessWidget { - final DashboardViewModel dashboardViewModel; - - const DesktopDashboardActions(this.dashboardViewModel, {Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Container( - color: Theme.of(context).colorScheme.surface, - child: Observer(builder: (_) { - return Column( - children: [ - const SizedBox(height: 16), - DesktopActionButton( - title: MainActions.showWalletsAction.name(context), - image: MainActions.showWalletsAction.image, - canShow: MainActions.showWalletsAction.canShow?.call(dashboardViewModel), - isEnabled: MainActions.showWalletsAction.isEnabled?.call(dashboardViewModel), - onTap: () async => - await MainActions.showWalletsAction.onTap(context, dashboardViewModel), - ), - DesktopActionButton( - title: MainActions.swapAction.name(context), - image: MainActions.swapAction.image, - canShow: MainActions.swapAction.canShow?.call(dashboardViewModel), - isEnabled: MainActions.swapAction.isEnabled?.call(dashboardViewModel), - onTap: () async => await MainActions.swapAction.onTap(context, dashboardViewModel), - ), - Row( - children: [ - Expanded( - child: DesktopActionButton( - title: MainActions.receiveAction.name(context), - image: MainActions.receiveAction.image, - canShow: MainActions.receiveAction.canShow?.call(dashboardViewModel), - isEnabled: MainActions.receiveAction.isEnabled?.call(dashboardViewModel), - onTap: () async => - await MainActions.receiveAction.onTap(context, dashboardViewModel), - ), - ), - Expanded( - child: DesktopActionButton( - title: MainActions.sendAction.name(context), - image: MainActions.sendAction.image, - canShow: MainActions.sendAction.canShow?.call(dashboardViewModel), - isEnabled: MainActions.sendAction.isEnabled?.call(dashboardViewModel), - onTap: () async => - await MainActions.sendAction.onTap(context, dashboardViewModel), - ), - ), - ], - ), - Row( - children: [ - Expanded( - child: DesktopActionButton( - title: MainActions.tradeAction.name(context), - image: MainActions.tradeAction.image, - canShow: MainActions.tradeAction.canShow?.call(dashboardViewModel), - isEnabled: MainActions.tradeAction.isEnabled?.call(dashboardViewModel), - onTap: () async => - await MainActions.tradeAction.onTap(context, dashboardViewModel), - ), - ), - ], - ), - Expanded( - child: CakeFeaturesPage( - dashboardViewModel: dashboardViewModel, - cakeFeaturesViewModel: getIt.get(), - ), - ), - ], - ); - }), - ); - } -} diff --git a/lib/src/screens/dashboard/desktop_widgets/desktop_dashboard_navbar.dart b/lib/src/screens/dashboard/desktop_widgets/desktop_dashboard_navbar.dart deleted file mode 100644 index 31caa08da..000000000 --- a/lib/src/screens/dashboard/desktop_widgets/desktop_dashboard_navbar.dart +++ /dev/null @@ -1,45 +0,0 @@ -import 'package:cake_wallet/di.dart'; -import 'package:cake_wallet/themes/core/material_base_theme.dart'; -import 'package:cake_wallet/themes/core/theme_store.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; - -class DesktopDashboardNavbar extends StatelessWidget implements ObstructingPreferredSizeWidget { - final Widget leading; - final Widget middle; - final Widget trailing; - - DesktopDashboardNavbar({ - super.key, - required this.leading, - required this.middle, - required this.trailing, - }); - - MaterialThemeBase get currentTheme => getIt.get().currentTheme; - - @override - Widget build(BuildContext context) { - return Container( - padding: const EdgeInsetsDirectional.only(end: 24), - color: Theme.of(context).colorScheme.surfaceContainerLowest.withOpacity(0.1), - child: Center( - child: Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Flexible(child: leading), - middle, - trailing, - ], - ), - ), - ); - } - - @override - Size get preferredSize => Size.fromHeight(60); - - @override - bool shouldFullyObstruct(BuildContext context) => false; -} diff --git a/lib/src/screens/dashboard/desktop_widgets/desktop_sidebar/side_menu.dart b/lib/src/screens/dashboard/desktop_widgets/desktop_sidebar/side_menu.dart deleted file mode 100644 index 69fa14114..000000000 --- a/lib/src/screens/dashboard/desktop_widgets/desktop_sidebar/side_menu.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_sidebar/side_menu_item.dart'; -import 'package:flutter/material.dart'; - -class SideMenu extends StatelessWidget { - const SideMenu({ - super.key, - required this.topItems, - required this.bottomItems, - required this.width, - }); - - final List topItems; - final List bottomItems; - final double width; - - @override - Widget build(BuildContext context) { - return Container( - color: Theme.of(context).colorScheme.surfaceContainerLowest.withOpacity(0.1), - width: width, - height: MediaQuery.of(context).size.height, - child: Column( - children: [ - ...topItems, - Spacer(), - ...bottomItems, - SizedBox(height: 30), - ], - ), - ); - } -} diff --git a/lib/src/screens/dashboard/desktop_widgets/desktop_sidebar/side_menu_item.dart b/lib/src/screens/dashboard/desktop_widgets/desktop_sidebar/side_menu_item.dart deleted file mode 100644 index 1f169d202..000000000 --- a/lib/src/screens/dashboard/desktop_widgets/desktop_sidebar/side_menu_item.dart +++ /dev/null @@ -1,58 +0,0 @@ -import 'package:cake_wallet/src/widgets/cake_image_widget.dart'; -import 'package:flutter/material.dart'; - -class SideMenuItem extends StatelessWidget { - const SideMenuItem({ - Key? key, - required this.onTap, - this.imagePath, - this.icon, - this.widget, - this.isSelected = false, - }) : assert(widget != null || icon != null || imagePath != null); - - final void Function() onTap; - final String? imagePath; - final IconData? icon; - final bool isSelected; - final Widget? widget; - - Color _setColor(BuildContext context) { - if (isSelected) { - return Theme.of(context).colorScheme.primary; - } else { - return Theme.of(context).colorScheme.onSurfaceVariant; - } - } - - @override - Widget build(BuildContext context) { - return InkWell( - child: Padding( - padding: EdgeInsets.all(20), - child: widget ?? _getIcon(context), - ), - onTap: () => onTap.call(), - highlightColor: Colors.transparent, - focusColor: Colors.transparent, - hoverColor: Colors.transparent, - splashColor: Colors.transparent, - ); - } - - Widget _getIcon(BuildContext context) { - return icon != null - ? Icon( - icon, - color: _setColor(context), - size: 30, - ) - : CakeImageWidget( - imageUrl: imagePath ?? '', - fit: BoxFit.cover, - height: 30, - width: 30, - color: _setColor(context), - ); - } -} diff --git a/lib/src/screens/dashboard/desktop_widgets/desktop_sidebar_wrapper.dart b/lib/src/screens/dashboard/desktop_widgets/desktop_sidebar_wrapper.dart deleted file mode 100644 index a26f48928..000000000 --- a/lib/src/screens/dashboard/desktop_widgets/desktop_sidebar_wrapper.dart +++ /dev/null @@ -1,173 +0,0 @@ -import 'package:cake_wallet/di.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/src/screens/auth/auth_page.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_dashboard_navbar.dart'; -import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_sidebar/side_menu.dart'; -import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_sidebar/side_menu_item.dart'; -import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_wallet_selection_dropdown.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/sync_indicator.dart'; -import 'package:cake_wallet/src/screens/wallet_connect/widgets/bottom_sheet/bottom_sheet_listener_widget.dart'; -import 'package:cake_wallet/src/screens/wallet_connect/services/bottom_sheet_service.dart'; -import 'package:cake_wallet/src/widgets/services_updates_widget.dart'; -import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart'; -import 'package:cake_wallet/view_model/dashboard/desktop_sidebar_view_model.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:cake_wallet/router.dart' as Router; -import 'package:mobx/mobx.dart'; - -class DesktopSidebarWrapper extends BasePage { - final BottomSheetService bottomSheetService; - final Widget child; - final DesktopSidebarViewModel desktopSidebarViewModel; - final DashboardViewModel dashboardViewModel; - final GlobalKey desktopNavigatorKey; - - DesktopSidebarWrapper({ - required this.child, - required this.bottomSheetService, - required this.desktopSidebarViewModel, - required this.dashboardViewModel, - required this.desktopNavigatorKey, - }); - - @override - ObstructingPreferredSizeWidget appBar(BuildContext context) => DesktopDashboardNavbar( - leading: Padding( - padding: EdgeInsets.only(left: sideMenuWidth), - child: getIt(), - ), - middle: SyncIndicator( - dashboardViewModel: dashboardViewModel, - onTap: () => Navigator.of(context, rootNavigator: true).pushNamed(Routes.connectionSync), - ), - trailing: InkWell( - onTap: () { - Navigator.of(context).pushNamed( - Routes.unlock, - arguments: (bool isAuthenticatedSuccessfully, AuthPageState auth) { - if (isAuthenticatedSuccessfully) { - auth.close(); - } - }, - ); - }, - child: Icon(Icons.lock_outline), - ), - ); - - @override - bool get resizeToAvoidBottomInset => false; - - final pageController = PageController(); - - double get sideMenuWidth => 76.0; - - @override - Widget body(BuildContext context) { - _setEffects(); - - return BottomSheetListener( - bottomSheetService: bottomSheetService, - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Observer(builder: (_) { - return SideMenu( - width: sideMenuWidth, - topItems: [ - SideMenuItem( - // imagePath: 'assets/images/wallet_outline.png', - icon: Icons.home, - isSelected: desktopSidebarViewModel.currentPage == SidebarItem.dashboard, - onTap: () { - desktopSidebarViewModel.onPageChange(SidebarItem.dashboard); - desktopNavigatorKey.currentState - ?.pushNamedAndRemoveUntil(Routes.desktop_actions, (route) => false); - }, - ), - SideMenuItem( - onTap: () { - if (desktopSidebarViewModel.currentPage == SidebarItem.transactions) { - desktopNavigatorKey.currentState - ?.pushNamedAndRemoveUntil(Routes.desktop_actions, (route) => false); - desktopSidebarViewModel.resetSidebar(); - } else { - desktopSidebarViewModel.onPageChange(SidebarItem.transactions); - desktopNavigatorKey.currentState?.pushNamed(Routes.transactionsPage); - } - }, - isSelected: desktopSidebarViewModel.currentPage == SidebarItem.transactions, - imagePath: 'assets/images/history.svg', - ), - SideMenuItem( - widget: ServicesUpdatesWidget( - dashboardViewModel.getServicesStatus(), - enabled: dashboardViewModel.isEnabledBulletinAction, - ), - isSelected: desktopSidebarViewModel.currentPage == SidebarItem.status, - onTap: () {}, - ), - ], - bottomItems: [ - SideMenuItem( - imagePath: 'assets/images/support_icon.png', - isSelected: desktopSidebarViewModel.currentPage == SidebarItem.support, - onTap: () => desktopSidebarViewModel.onPageChange(SidebarItem.support), - ), - SideMenuItem( - imagePath: 'assets/images/settings_outline.png', - isSelected: desktopSidebarViewModel.currentPage == SidebarItem.settings, - onTap: () => desktopSidebarViewModel.onPageChange(SidebarItem.settings), - ), - ], - ); - }), - Expanded( - child: PageView( - controller: pageController, - physics: NeverScrollableScrollPhysics(), - children: [ - child, - Container( - color: Theme.of(context).colorScheme.surface, - padding: EdgeInsets.all(20), - child: Navigator( - initialRoute: Routes.support, - onGenerateRoute: (settings) => Router.createRoute(settings), - onGenerateInitialRoutes: (NavigatorState navigator, String initialRouteName) { - return [ - navigator.widget.onGenerateRoute!(RouteSettings(name: initialRouteName))! - ]; - }, - ), - ), - Navigator( - initialRoute: Routes.desktop_settings_page, - onGenerateRoute: (settings) => Router.createRoute(settings), - onGenerateInitialRoutes: (NavigatorState navigator, String initialRouteName) { - return [ - navigator.widget.onGenerateRoute!(RouteSettings(name: initialRouteName))! - ]; - }, - ), - ], - ), - ), - ], - ), - ); - } - - void _setEffects() async { - reaction((_) => desktopSidebarViewModel.currentPage, (page) { - if (page == SidebarItem.dashboard) { - pageController.jumpToPage(0); - return; - } - pageController.jumpToPage(page.index - 1); - }); - } -} diff --git a/lib/src/screens/dashboard/desktop_widgets/desktop_wallet_selection_dropdown.dart b/lib/src/screens/dashboard/desktop_widgets/desktop_wallet_selection_dropdown.dart deleted file mode 100644 index ed85dc81c..000000000 --- a/lib/src/screens/dashboard/desktop_widgets/desktop_wallet_selection_dropdown.dart +++ /dev/null @@ -1,285 +0,0 @@ -import 'package:another_flushbar/flushbar.dart'; -import 'package:cake_wallet/core/new_wallet_arguments.dart'; -import 'package:cake_wallet/core/auth_service.dart'; -import 'package:cake_wallet/entities/desktop_dropdown_item.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/src/screens/auth/auth_page.dart'; -import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/dropdown_item_widget.dart'; -import 'package:cake_wallet/src/screens/wallet_unlock/wallet_unlock_arguments.dart'; -import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart'; -import 'package:cake_wallet/store/settings_store.dart'; -import 'package:cake_wallet/utils/show_bar.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cake_wallet/view_model/wallet_list/wallet_list_item.dart'; -import 'package:cake_wallet/view_model/wallet_list/wallet_list_view_model.dart'; -import 'package:cake_wallet/wallet_type_utils.dart'; -import 'package:cw_core/wallet_type.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:flutter_svg/svg.dart'; - -class DesktopWalletSelectionDropDown extends StatefulWidget { - final WalletListViewModel walletListViewModel; - final AuthService _authService; - - DesktopWalletSelectionDropDown(this.walletListViewModel, this._authService, {Key? key}) - : super(key: key); - - @override - State createState() => _DesktopWalletSelectionDropDownState(); -} - -class _DesktopWalletSelectionDropDownState extends State { - final moneroIcon = - Image.asset('assets/new-ui/crypto_full_icons/monero.svg', height: 24, width: 24); - final bitcoinIcon = - Image.asset('assets/new-ui/crypto_full_icons/bitcoin.svg', height: 24, width: 24); - final tBitcoinIcon = Image.asset('assets/images/tbtc.png', height: 24, width: 24); - final litecoinIcon = - Image.asset('assets/new-ui/crypto_full_icons/litecoin.svg', height: 24, width: 24); - final havenIcon = Image.asset('assets/images/haven_logo.webp', height: 24, width: 24); - final ethereumIcon = - Image.asset('assets/new-ui/crypto_full_icons/ethereum.svg', height: 24, width: 24); - final polygonIcon = - Image.asset('assets/new-ui/crypto_full_icons/polygon.svg', height: 24, width: 24); - final bitcoinCashIcon = - Image.asset('assets/new-ui/crypto_full_icons/bitcoin-cash.svg', height: 24, width: 24); - final baseIcon = Image.asset('assets/new-ui/crypto_full_icons/base.svg', height: 24, width: 24); - final arbitrumIcon = - Image.asset('assets/new-ui/crypto_full_icons/arbitrum.svg', height: 24, width: 24); - final bscIcon = Image.asset('assets/new-ui/crypto_full_icons/bnb.svg', height: 24, width: 24); - final nanoIcon = Image.asset('assets/new-ui/crypto_full_icons/nano.svg', height: 24, width: 24); - final bananoIcon = Image.asset('assets/new-ui/crypto_full_icons/nano.svg', height: 24, width: 24); - final solanaIcon = - Image.asset('assets/new-ui/crypto_full_icons/solana.svg', height: 24, width: 24); - final tronIcon = Image.asset('assets/new-ui/crypto_full_icons/tron.svg', height: 24, width: 24); - final wowneroIcon = - Image.asset('assets/new-ui/crypto_full_icons/wownero.svg', height: 24, width: 24); - final zanoIcon = Image.asset('assets/new-ui/crypto_full_icons/zano.svg', height: 24, width: 24); - final decredIcon = - Image.asset('assets/new-ui/crypto_full_icons/decred.svg', height: 24, width: 24); - final dogeIcon = - Image.asset('assets/new-ui/crypto_full_icons/dogecoin.svg', height: 24, width: 24); - final zcashIcon = Image.asset('assets/new-ui/crypto_full_icons/zcash.svg', height: 24, width: 24); - final nonWalletTypeIcon = Image.asset('assets/images/close.png', height: 24, width: 24); - - Image _newWalletImage(BuildContext context) => Image.asset( - 'assets/images/new_wallet.png', - height: 12, - width: 12, - color: Theme.of(context).colorScheme.onSurface, - ); - - Image _restoreWalletImage(BuildContext context) => Image.asset( - 'assets/images/restore_wallet.png', - height: 12, - width: 12, - color: Theme.of(context).colorScheme.onSurface, - ); - - Flushbar? _progressBar; - - @override - Widget build(BuildContext context) { - final themeData = Theme.of(context); - return Observer(builder: (context) { - final dropDownItems = [ - ...widget.walletListViewModel.wallets - .map((wallet) => DesktopDropdownItem( - isSelected: wallet.isCurrent, - child: ConstrainedBox( - constraints: BoxConstraints(maxWidth: 500), - child: DropDownItemWidget( - title: wallet.name, - image: wallet.isEnabled - ? _imageFor(type: wallet.type, isTestnet: wallet.isTestnet) - : nonWalletTypeIcon, - ), - ), - onSelected: () => _onSelectedWallet(wallet), - )) - .toList(), - DesktopDropdownItem( - onSelected: () => _navigateToCreateWallet(), - child: DropDownItemWidget( - title: S.of(context).create_new, - image: _newWalletImage(context), - ), - ), - DesktopDropdownItem( - onSelected: () => _navigateToRestoreWallet(), - child: DropDownItemWidget( - title: S.of(context).restore_wallet, - image: _restoreWalletImage(context), - ), - ), - ]; - - final selectedItem = dropDownItems.firstWhere( - (element) => element.isSelected, - orElse: () => dropDownItems.first, - ); - - return DropdownButton( - items: dropDownItems - .map( - (wallet) => DropdownMenuItem( - child: wallet.child, - value: wallet, - ), - ) - .toList(), - onChanged: (item) { - item?.onSelected(); - }, - dropdownColor: themeData.colorScheme.surface, - style: themeData.textTheme.bodyMedium, - selectedItemBuilder: (context) => dropDownItems.map((item) => item.child).toList(), - value: selectedItem, - underline: const SizedBox(), - focusColor: Colors.transparent, - borderRadius: BorderRadius.circular(15.0), - ); - }); - } - - void _onSelectedWallet(WalletListItem selectedWallet) async { - if (selectedWallet.isCurrent || !selectedWallet.isEnabled) return; - - WidgetsBinding.instance.addPostFrameCallback((_) async { - final confirmed = await showPopUp( - context: context, - builder: (dialogContext) { - return AlertWithTwoActions( - alertTitle: S.of(context).change_wallet_alert_title, - alertContent: S.of(context).change_wallet_alert_content(selectedWallet.name), - leftButtonText: S.of(context).cancel, - rightButtonText: S.of(context).change, - actionLeftButton: () => Navigator.of(dialogContext).pop(false), - actionRightButton: () => Navigator.of(dialogContext).pop(true)); - }) ?? - false; - - if (confirmed) { - await _loadWallet(selectedWallet); - } - }); - } - - Widget _imageFor({required WalletType type, bool? isTestnet}) { - switch (type) { - case WalletType.bitcoin: - if (isTestnet == true) return tBitcoinIcon; - return bitcoinIcon; - case WalletType.monero: - return moneroIcon; - case WalletType.wownero: - return wowneroIcon; - case WalletType.litecoin: - return litecoinIcon; - case WalletType.haven: - return havenIcon; - case WalletType.ethereum: - return ethereumIcon; - case WalletType.bitcoinCash: - return bitcoinCashIcon; - case WalletType.nano: - return nanoIcon; - case WalletType.banano: - return bananoIcon; - case WalletType.polygon: - return polygonIcon; - case WalletType.solana: - return solanaIcon; - case WalletType.tron: - return tronIcon; - case WalletType.zano: - return zanoIcon; - case WalletType.decred: - return decredIcon; - case WalletType.dogecoin: - return dogeIcon; - case WalletType.base: - return baseIcon; - case WalletType.arbitrum: - return arbitrumIcon; - case WalletType.bsc: - return bscIcon; - case WalletType.zcash: - return zcashIcon; - case WalletType.none: - return nonWalletTypeIcon; - } - } - - Future _loadWallet(WalletListItem wallet) async { - if (SettingsStoreBase.walletPasswordDirectInput) { - Navigator.of(context).pushNamed(Routes.walletUnlockLoadable, - arguments: WalletUnlockArguments( - callback: (bool isAuthenticatedSuccessfully, AuthPageState auth) async { - if (isAuthenticatedSuccessfully) { - auth.close(); - setState(() {}); - } - }, - walletName: wallet.name, - walletType: wallet.type)); - return; - } - - widget._authService.authenticateAction( - context, - onAuthSuccess: (isAuthenticatedSuccessfully) async { - if (!isAuthenticatedSuccessfully) return; - - try { - if (mounted) { - changeProcessText(S.of(context).wallet_list_loading_wallet(wallet.name)); - } - await widget.walletListViewModel.loadWallet(wallet); - hideProgressText(); - setState(() {}); - } catch (e) { - if (mounted) { - changeProcessText(S.of(context).wallet_list_failed_to_load(wallet.name, e.toString())); - } - } - }, - conditionToDetermineIfToUse2FA: - widget.walletListViewModel.shouldRequireTOTP2FAForAccessingWallet, - ); - } - - void _navigateToCreateWallet() { - if (isSingleCoin) { - widget._authService.authenticateAction( - context, - route: Routes.newWallet, - arguments: NewWalletArguments(type: widget.walletListViewModel.currentWalletType), - conditionToDetermineIfToUse2FA: - widget.walletListViewModel.shouldRequireTOTP2FAForCreatingNewWallets, - ); - } else { - widget._authService.authenticateAction( - context, - route: Routes.newWalletType, - conditionToDetermineIfToUse2FA: - widget.walletListViewModel.shouldRequireTOTP2FAForCreatingNewWallets, - ); - } - } - - void _navigateToRestoreWallet() { - Navigator.of(context).pushNamed(Routes.restoreOptions, arguments: false); - } - - void changeProcessText(String text) { - _progressBar = createBar(text, context, duration: null)..show(context); - } - - void hideProgressText() { - _progressBar?.dismiss(); - _progressBar = null; - } -} diff --git a/lib/src/screens/dashboard/desktop_widgets/dropdown_item_widget.dart b/lib/src/screens/dashboard/desktop_widgets/dropdown_item_widget.dart deleted file mode 100644 index 17839195e..000000000 --- a/lib/src/screens/dashboard/desktop_widgets/dropdown_item_widget.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'package:flutter/material.dart'; - -class DropDownItemWidget extends StatelessWidget { - const DropDownItemWidget({super.key, required this.title, required this.image}); - final double tileHeight = 60; - final Widget image; - final String title; - - @override - Widget build(BuildContext context) { - return Container( - height: tileHeight, - padding: EdgeInsets.symmetric(horizontal: 20), - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisSize: MainAxisSize.min, - children: [ - image, - SizedBox(width: 10), - Flexible( - child: Text( - title, - style: Theme.of(context).textTheme.bodyMedium, - overflow: TextOverflow.ellipsis, - maxLines: 1, - ), - ) - ], - ), - ); - } -} diff --git a/lib/src/screens/dashboard/pages/address_page.dart b/lib/src/screens/dashboard/pages/address_page.dart deleted file mode 100644 index a055ffcf4..000000000 --- a/lib/src/screens/dashboard/pages/address_page.dart +++ /dev/null @@ -1,330 +0,0 @@ -import 'package:cake_wallet/bitcoin/bitcoin.dart'; -import 'package:cake_wallet/src/screens/new_wallet/widgets/select_button.dart'; -import 'package:cake_wallet/di.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/anonpay/anonpay_donation_link_info.dart'; -import 'package:cake_wallet/entities/preferences_key.dart'; -import 'package:cake_wallet/src/screens/receive/anonpay_receive_page.dart'; -import 'package:cake_wallet/src/widgets/cake_image_widget.dart'; -import 'package:cake_wallet/zcash/zcash.dart'; -import 'package:cw_core/receive_page_option.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/present_receive_option_picker.dart'; -import 'package:cake_wallet/src/widgets/gradient_background.dart'; -import 'package:cake_wallet/src/widgets/keyboard_done_button.dart'; -import 'package:cake_wallet/utils/responsive_layout_util.dart'; -import 'package:cake_wallet/utils/share_util.dart'; -import 'package:cake_wallet/view_model/dashboard/receive_option_view_model.dart'; -import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart'; -import 'package:cw_core/utils/print_verbose.dart'; -import 'package:cw_core/wallet_type.dart'; -import 'package:flutter/material.dart'; -import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_view_model.dart'; -import 'package:cake_wallet/src/screens/receive/widgets/qr_widget.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:keyboard_actions/keyboard_actions.dart'; -import 'package:mobx/mobx.dart'; -import 'package:shared_preferences/shared_preferences.dart'; - -class AddressPage extends BasePage { - AddressPage({ - required this.addressListViewModel, - required this.dashboardViewModel, - required this.receiveOptionViewModel, - }) : _cryptoAmountFocus = FocusNode(), - _formKey = GlobalKey(), - _amountController = TextEditingController() { - _amountController.addListener(() { - if (_formKey.currentState!.validate()) { - addressListViewModel.changeAmount(_amountController.text); - } - }); - } - - final WalletAddressListViewModel addressListViewModel; - final DashboardViewModel dashboardViewModel; - final ReceiveOptionViewModel receiveOptionViewModel; - final TextEditingController _amountController; - final GlobalKey _formKey; - - final FocusNode _cryptoAmountFocus; - - @override - bool get gradientBackground => true; - - @override - bool get resizeToAvoidBottomInset => false; - - bool effectsInstalled = false; - - @override - Widget? leading(BuildContext context) { - final _backButton = Icon( - Icons.arrow_back_ios, - color: Theme.of(context).colorScheme.primary, - size: 16, - ); - final _closeButton = currentTheme.isDark ? closeButtonImageDarkTheme : closeButtonImage; - - bool isMobileView = responsiveLayoutUtil.shouldRenderMobileUI; - - return MergeSemantics( - child: SizedBox( - height: isMobileView ? 37 : 45, - width: isMobileView ? 37 : 45, - child: ButtonTheme( - minWidth: double.minPositive, - child: Semantics( - label: !isMobileView ? S.of(context).close : S.of(context).seed_alert_back, - child: TextButton( - style: ButtonStyle( - overlayColor: WidgetStateColor.resolveWith((states) => Colors.transparent), - ), - onPressed: () => onClose(context), - child: !isMobileView ? _closeButton : _backButton, - ), - ), - ), - ), - ); - } - - @override - Widget middle(BuildContext context) => PresentReceiveOptionPicker( - color: titleColor(context), receiveOptionViewModel: receiveOptionViewModel); - - @override - Widget Function(BuildContext, Widget) get rootWrapper => - (BuildContext context, Widget scaffold) => GradientBackground(scaffold: scaffold); - - @override - Widget? trailing(BuildContext context) { - return Material( - color: Colors.transparent, - child: Semantics( - label: S.of(context).share, - child: IconButton( - padding: EdgeInsets.zero, - constraints: BoxConstraints(), - highlightColor: Colors.transparent, - splashColor: Colors.transparent, - iconSize: 25, - onPressed: () { - ShareUtil.share( - text: addressListViewModel.uri.toString(), - context: context, - ); - }, - icon: Icon(Icons.share, size: 20, color: Theme.of(context).colorScheme.primary), - ), - ), - ); - } - - @override - Widget body(BuildContext context) { - _setEffects(context); - - return KeyboardActions( - autoScroll: false, - disableScroll: true, - tapOutsideBehavior: TapOutsideBehavior.translucentDismiss, - config: KeyboardActionsConfig( - keyboardActionsPlatform: KeyboardActionsPlatform.IOS, - keyboardBarColor: Theme.of(context).colorScheme.surface, - nextFocus: false, - actions: [ - KeyboardActionsItem( - focusNode: _cryptoAmountFocus, - toolbarButtons: [(_) => KeyboardDoneButton()], - ) - ], - ), - child: Container( - padding: EdgeInsets.fromLTRB(24, 0, 24, 32), - child: Column( - children: [ - Expanded( - child: QRWidget( - formKey: _formKey, - addressListViewModel: addressListViewModel, - amountTextFieldFocusNode: _cryptoAmountFocus, - amountController: _amountController, - ), - ), - SizedBox(height: 16), - Observer( - builder: (_) { - if (addressListViewModel.hasAddressList) { - return SelectButton( - text: addressListViewModel.buttonTitle, - onTap: () => Navigator.of(context).pushNamed(Routes.receive), - textColor: Theme.of(context).colorScheme.onSecondaryContainer, - color: Theme.of(context).colorScheme.surfaceContainer, - arrowColor: Theme.of(context).colorScheme.onSurfaceVariant, - textSize: 14, - height: 50, - ); - } else { - return const SizedBox(); - } - }, - ), - if (addressListViewModel.hasTokensList) ...[ - Container( - padding: EdgeInsets.all(20), - decoration: BoxDecoration( - border: Border.all(color: Theme.of(context).colorScheme.surfaceContainer), - color: Theme.of(context).colorScheme.surfaceContainer, - borderRadius: BorderRadius.circular(18), - ), - child: Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - CakeImageWidget( - imageUrl: addressListViewModel.monoImage, - height: 16, - width: 16, - color: Theme.of(context).colorScheme.onSurface, - ), - SizedBox(width: 10), - Text( - '${S.current.your} ${addressListViewModel.walletTypeName} ${S.current.address}', - style: Theme.of(context).textTheme.titleMedium?.copyWith( - fontWeight: FontWeight.w500, - ), - ), - ], - ), - SizedBox(height: 10), - Text( - '${S.current.qr_instruction} ${addressListViewModel.walletTypeName}', - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - color: Theme.of(context).colorScheme.onSurfaceVariant, - fontWeight: FontWeight.w500, - ), - ), - SizedBox(height: 20), - Observer( - builder: (_) { - final walletImages = addressListViewModel - .getWalletImages(addressListViewModel.selectedChainId); - return Center( - child: SizedBox( - height: 40, - width: walletImages.length * 32.0, - child: Stack( - children: [ - for (int i = walletImages.length - 1; i >= 0; i--) - Positioned( - left: i * 25.0, - child: Container( - decoration: BoxDecoration( - border: Border.all( - color: Theme.of(context).colorScheme.surfaceContainer, - width: 3, - ), - color: Theme.of(context).colorScheme.surfaceContainer, - borderRadius: BorderRadius.circular(24), - ), - child: ClipOval( - child: CakeImageWidget( - height: 35, - width: 35, - imageUrl: walletImages[i], - color: walletImages.last == walletImages[i] - ? Theme.of(context).colorScheme.onSurfaceVariant - : null, - ), - ), - ), - ), - ], - ), - ), - ); - }, - ), - ], - ), - ), - SizedBox(height: 48), - ], - ], - ), - ), - ); - } - - void _setEffects(BuildContext context) { - if (effectsInstalled) { - return; - } - - reaction((_) => receiveOptionViewModel.selectedReceiveOption, (ReceivePageOption option) { - if (dashboardViewModel.type == WalletType.bitcoin && - bitcoin!.isBitcoinReceivePageOption(option)) { - addressListViewModel.setAddressType(bitcoin!.getOptionToType(option)); - return; - } - if (dashboardViewModel.type == WalletType.zcash) { - addressListViewModel.setAddressType(zcash!.getOptionToType(option)); - return; - } - - switch (option) { - case ReceivePageOption.anonPayInvoice: - Navigator.pushNamed( - context, - Routes.anonPayInvoicePage, - arguments: [addressListViewModel.address.address, option], - ); - break; - case ReceivePageOption.anonPayDonationLink: - final sharedPreferences = getIt.get(); - final clearnetUrl = sharedPreferences.getString(PreferencesKey.clearnetDonationLink); - final onionUrl = sharedPreferences.getString(PreferencesKey.onionDonationLink); - final donationWalletName = - sharedPreferences.getString(PreferencesKey.donationLinkWalletName); - - if (clearnetUrl != null && - onionUrl != null && - addressListViewModel.wallet.name == donationWalletName) { - Navigator.pushNamed( - context, - Routes.anonPayReceivePage, - arguments: AnonPayReceivePageArgs( - invoiceInfo: AnonpayDonationLinkInfo( - clearnetUrl: clearnetUrl, - onionUrl: onionUrl, - address: addressListViewModel.address.address, - ), - qrImage: addressListViewModel.qrImage, - ), - ); - } else { - Navigator.pushNamed( - context, - Routes.anonPayInvoicePage, - arguments: [addressListViewModel.address.address, option], - ); - } - break; - default: - if ([WalletType.bitcoin, WalletType.litecoin].contains(addressListViewModel.type)) { - addressListViewModel.setAddressType(bitcoin!.getBitcoinAddressType(option)); - } - if (addressListViewModel.type == WalletType.zcash) { - printV("help me i'll kms if that wont work: ${zcash!.getZcashAddressType(option)}"); - addressListViewModel.setAddressType(zcash!.getZcashAddressType(option)); - } - } - }); - - effectsInstalled = true; - } -} diff --git a/lib/src/screens/dashboard/pages/balance/balance_page.dart b/lib/src/screens/dashboard/pages/balance/balance_page.dart deleted file mode 100644 index 3718568dc..000000000 --- a/lib/src/screens/dashboard/pages/balance/balance_page.dart +++ /dev/null @@ -1,81 +0,0 @@ -import 'package:cake_wallet/reactions/wallet_connect.dart'; -import 'package:cake_wallet/src/screens/dashboard/pages/balance/crypto_balance_widget.dart'; -import 'package:cake_wallet/src/screens/dashboard/pages/nft_listing_page.dart'; -import 'package:cake_wallet/store/settings_store.dart'; -import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart'; -import 'package:cake_wallet/view_model/dashboard/nft_view_model.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; - -class BalancePage extends StatelessWidget { - BalancePage({ - required this.dashboardViewModel, - required this.settingsStore, - required this.nftViewModel, - }); - - final DashboardViewModel dashboardViewModel; - final NFTViewModel nftViewModel; - final SettingsStore settingsStore; - - @override - Widget build(BuildContext context) { - return Observer( - builder: (context) { - final isNFTActivated = isNFTACtivatedChain(dashboardViewModel.type, - chainId: dashboardViewModel.wallet.chainId); - return DefaultTabController( - key: ValueKey(isNFTActivated), - length: isNFTActivated ? 2 : 1, - child: Column( - children: [ - if (isNFTActivated) - Align( - alignment: Alignment.centerLeft, - child: Padding( - padding: const EdgeInsets.only(left: 8), - child: TabBar( - indicatorSize: TabBarIndicatorSize.label, - isScrollable: true, - physics: const NeverScrollableScrollPhysics(), - labelStyle: Theme.of(context).textTheme.titleMedium?.copyWith( - fontWeight: FontWeight.w600, - fontSize: 18, - height: 1, - color: Theme.of(context).colorScheme.primary, - ), - unselectedLabelStyle: Theme.of(context).textTheme.titleMedium?.copyWith( - fontWeight: FontWeight.w600, - fontSize: 18, - height: 1, - color: Theme.of(context).colorScheme.primary, - ), - labelColor: Theme.of(context).colorScheme.primary, - dividerColor: Colors.transparent, - indicatorColor: Theme.of(context).colorScheme.primary, - unselectedLabelColor: - Theme.of(context).colorScheme.secondary.withOpacity(0.7), - tabAlignment: TabAlignment.start, - tabs: const [ - Tab(text: 'My Crypto'), - Tab(text: 'My NFTs'), - ], - ), - ), - ), - Expanded( - child: TabBarView( - physics: const NeverScrollableScrollPhysics(), - children: [ - CryptoBalanceWidget(dashboardViewModel: dashboardViewModel), - if (isNFTActivated) NFTListingPage(nftViewModel: nftViewModel) - ], - ), - ), - ], - ), - ); - }, - ); - } -} diff --git a/lib/src/screens/dashboard/pages/balance/balance_row_widget.dart b/lib/src/screens/dashboard/pages/balance/balance_row_widget.dart deleted file mode 100644 index ce05dad05..000000000 --- a/lib/src/screens/dashboard/pages/balance/balance_row_widget.dart +++ /dev/null @@ -1,693 +0,0 @@ -import 'dart:math'; - -import 'package:auto_size_text/auto_size_text.dart'; -import 'package:cake_wallet/bitcoin/bitcoin.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/src/screens/exchange_trade/information_page.dart'; -import 'package:cake_wallet/src/widgets/cake_image_widget.dart'; -import 'package:cake_wallet/themes/core/theme_extension.dart'; -import 'package:cake_wallet/utils/payment_request.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart'; -import 'package:cw_core/crypto_currency.dart'; -import 'package:cw_core/unspent_coin_type.dart'; -import 'package:cw_core/wallet_type.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:fluttertoast/fluttertoast.dart'; -import 'package:url_launcher/url_launcher.dart'; - -class BalanceRowWidget extends StatelessWidget { - BalanceRowWidget({ - required this.availableBalanceLabel, - required this.availableBalance, - required this.availableFiatBalance, - required this.additionalBalanceLabel, - required this.additionalBalance, - required this.additionalFiatBalance, - required this.secondAvailableBalanceLabel, - required this.secondAvailableBalance, - required this.secondAvailableFiatBalance, - required this.secondAdditionalBalanceLabel, - required this.secondAdditionalBalance, - required this.secondAdditionalFiatBalance, - required this.frozenBalance, - required this.frozenFiatBalance, - required this.currency, - required this.hasAdditionalBalance, - required this.hasSecondAvailableBalance, - required this.hasSecondAdditionalBalance, - required this.isTestnet, - required this.dashboardViewModel, - super.key, - }); - - final String availableBalanceLabel; - final String availableBalance; - final String availableFiatBalance; - final String additionalBalanceLabel; - final String additionalBalance; - final String additionalFiatBalance; - final String secondAvailableBalanceLabel; - final String secondAvailableBalance; - final String secondAvailableFiatBalance; - final String secondAdditionalBalanceLabel; - final String secondAdditionalBalance; - final String secondAdditionalFiatBalance; - final String frozenBalance; - final String frozenFiatBalance; - final CryptoCurrency currency; - final bool hasAdditionalBalance; - final bool hasSecondAvailableBalance; - final bool hasSecondAdditionalBalance; - final bool isTestnet; - final DashboardViewModel dashboardViewModel; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - Container( - margin: const EdgeInsets.only(left: 16, right: 16), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(15.0), - gradient: LinearGradient( - colors: [ - context.customColors.cardGradientColorPrimary, - context.customColors.cardGradientColorSecondary, - ], - begin: Alignment.topCenter, - end: Alignment.bottomCenter, - ), - ), - child: TextButton( - onPressed: _showToast, - onLongPress: () => dashboardViewModel.balanceViewModel.switchBalanceValue(), - style: TextButton.styleFrom( - side: BorderSide( - width: 1.25, color: Theme.of(context).colorScheme.surfaceContainerHigh), - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(15)), - ), - child: Container( - margin: const EdgeInsets.only( - top: 10, - left: 12, - right: 12, - bottom: 10, - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - GestureDetector( - behavior: HitTestBehavior.opaque, - onTap: hasAdditionalBalance - ? () => _showBalanceDescription( - context, S.of(context).available_balance_description) - : null, - child: Row( - children: [ - Semantics( - hint: 'Double tap to see more information', - container: true, - child: Text( - '${availableBalanceLabel}', - style: Theme.of(context).textTheme.bodySmall?.copyWith( - color: Theme.of(context).colorScheme.onSurfaceVariant, - height: 1, - ), - ), - ), - if (hasAdditionalBalance) - Padding( - padding: const EdgeInsets.symmetric(horizontal: 4), - child: Icon( - Icons.help_outline, - size: 16, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - ], - ), - ), - SizedBox(height: 6), - AutoSizeText( - availableBalance, - minFontSize: 16, - overflow: TextOverflow.ellipsis, - style: Theme.of(context).textTheme.titleLarge?.copyWith( - color: Theme.of(context).colorScheme.onSurface, - fontWeight: FontWeight.w900, - fontSize: 24, - height: 1, - ), - maxLines: 1, - textAlign: TextAlign.start, - ), - SizedBox(height: 6), - if (isTestnet) - Text( - S.of(context).testnet_coins_no_value, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - height: 1, - ), - ), - if (!isTestnet) - Text( - '${availableFiatBalance}', - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontSize: 16, - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurfaceVariant, - height: 1, - ), - ), - ], - ), - ), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.end, - children: [ - CakeImageWidget( - imageUrl: currency.iconPath, - height: 40, - width: 40, - errorWidget: Container( - height: 30.0, - width: 30.0, - child: Center( - child: Text( - currency.title.substring(0, min(currency.title.length, 2)), - style: Theme.of(context).textTheme.bodySmall?.copyWith( - fontSize: 11, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - ), - decoration: BoxDecoration( - shape: BoxShape.circle, - color: Theme.of(context).colorScheme.surfaceContainer, - ), - ), - ), - const SizedBox(height: 10), - Text( - currency.title, - overflow: TextOverflow.ellipsis, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontSize: 16, - fontWeight: FontWeight.w700, - color: Theme.of(context).colorScheme.onSurface, - height: 1, - ), - ), - ], - ), - ), - ], - ), - if (currency.isPotentialScam) - Container( - padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 2), - margin: const EdgeInsets.only(top: 4), - decoration: BoxDecoration( - color: Theme.of(context).colorScheme.errorContainer, - borderRadius: BorderRadius.circular(8), - ), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - Icon( - Icons.warning_amber_outlined, - size: 16, - color: Theme.of(context).colorScheme.onErrorContainer, - ), - const SizedBox(width: 4), - Text( - S.of(context).potential_scam, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - color: Theme.of(context).colorScheme.onErrorContainer, - fontWeight: FontWeight.w700, - ), - ), - ], - ), - ), - if (frozenBalance.isNotEmpty) - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const SizedBox(height: 26), - Row( - children: [ - Text( - S.of(context).frozen_balance, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodySmall!.copyWith( - color: Theme.of(context).colorScheme.onSurfaceVariant, - height: 1, - ), - ), - ], - ), - const SizedBox(height: 8), - AutoSizeText( - frozenBalance, - style: Theme.of(context).textTheme.bodyLarge!.copyWith( - fontSize: 20, - color: Theme.of(context).colorScheme.primary, - height: 1, - ), - maxLines: 1, - textAlign: TextAlign.center, - ), - const SizedBox(height: 4), - if (!isTestnet) - Text( - frozenFiatBalance, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodySmall!.copyWith(height: 1), - ), - ], - ), - if (hasAdditionalBalance) - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const SizedBox(height: 24), - Text( - '${additionalBalanceLabel}', - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodySmall!.copyWith( - color: Theme.of(context).colorScheme.onSurfaceVariant, - height: 1, - ), - ), - const SizedBox(height: 8), - AutoSizeText( - additionalBalance, - style: Theme.of(context).textTheme.bodyLarge!.copyWith( - fontSize: 20, - color: Theme.of(context).colorScheme.secondary, - height: 1, - ), - maxLines: 1, - textAlign: TextAlign.center, - ), - const SizedBox(height: 4), - if (!isTestnet) - Text( - '${additionalFiatBalance}', - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodySmall!.copyWith(height: 1), - ), - ], - ), - ], - ), - ), - ), - ), - if (hasSecondAdditionalBalance || hasSecondAvailableBalance) ...[ - SizedBox(height: 10), - Container( - margin: const EdgeInsets.only(left: 16, right: 16), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(15), - gradient: LinearGradient( - colors: [ - context.customColors.cardGradientColorPrimary, - context.customColors.cardGradientColorSecondary, - ], - begin: Alignment.topCenter, - end: Alignment.bottomCenter, - ), - ), - child: TextButton( - onPressed: _showToast, - onLongPress: () => dashboardViewModel.balanceViewModel.switchBalanceValue(), - style: TextButton.styleFrom( - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(15)), - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Container( - margin: const EdgeInsets.only(top: 10, left: 12, right: 8, bottom: 10), - child: Stack( - children: [ - if (currency == CryptoCurrency.ltc) - Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - Column( - children: [ - ImageIcon( - AssetImage('assets/images/mweb_logo.png'), - size: 40, - ), - const SizedBox(height: 10), - Text( - 'MWEB', - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontSize: 16, - fontWeight: FontWeight.w700, - color: Theme.of(context).colorScheme.onSurface, - height: 1, - ), - ), - ], - ), - ], - ), - if (currency == CryptoCurrency.btc) - Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - Column( - children: [ - SvgPicture.asset( - 'assets/images/lightning-icon.svg', - width: 40, - height: 40, - ), - const SizedBox(height: 10), - Text( - 'Lightning', - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontSize: 16, - fontWeight: FontWeight.w700, - color: Theme.of(context).colorScheme.onSurface, - height: 1, - ), - ), - ], - ), - ], - ), - if (hasSecondAvailableBalance) - Row( - children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - GestureDetector( - behavior: HitTestBehavior.opaque, - onTap: onPressedHelp, - child: Row( - children: [ - Text( - secondAvailableBalanceLabel, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - color: - Theme.of(context).colorScheme.onSurfaceVariant, - height: 1, - ), - ), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 4), - child: Icon( - Icons.help_outline, - size: 16, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ) - ], - ), - ), - SizedBox(height: 8), - AutoSizeText( - secondAvailableBalance, - style: Theme.of(context).textTheme.bodyLarge?.copyWith( - fontSize: 24, - fontWeight: FontWeight.w800, - color: Theme.of(context).colorScheme.onSurface, - height: 1, - ), - maxLines: 1, - textAlign: TextAlign.center, - ), - SizedBox(height: 6), - if (!isTestnet) - Text( - secondAvailableFiatBalance, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontSize: 16, - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurfaceVariant, - height: 1, - ), - ), - ], - ), - ], - ), - ], - ), - ), - Container( - margin: const EdgeInsets.only(top: 0, left: 24, right: 8, bottom: 16), - child: Stack( - children: [ - if (hasSecondAdditionalBalance) - Row( - children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SizedBox(height: 24), - Text( - secondAdditionalBalanceLabel, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - color: Theme.of(context).colorScheme.onSurfaceVariant, - height: 1, - ), - ), - SizedBox(height: 8), - AutoSizeText( - secondAdditionalBalance, - style: Theme.of(context).textTheme.bodyLarge?.copyWith( - fontSize: 20, - color: Theme.of(context).colorScheme.secondary, - height: 1, - ), - maxLines: 1, - textAlign: TextAlign.center, - ), - SizedBox(height: 4), - if (!isTestnet) - Text( - '${secondAdditionalFiatBalance}', - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - height: 1, - ), - ), - ], - ), - ], - ), - ], - ), - ), - IntrinsicHeight( - child: Container( - padding: const EdgeInsets.symmetric(horizontal: 12), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Expanded( - child: Semantics( - label: depositToL2Label, - child: OutlinedButton( - onPressed: () => depositToL2(context), - style: OutlinedButton.styleFrom( - backgroundColor: Theme.of(context).colorScheme.primary, - side: BorderSide( - color: - Theme.of(context).colorScheme.outlineVariant.withAlpha(0), - width: 0, - ), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10), - ), - ), - child: Container( - padding: const EdgeInsets.symmetric(vertical: 12), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - height: 30, - width: 30, - 'assets/images/received.png', - color: Theme.of(context).colorScheme.onPrimary, - ), - const SizedBox(width: 8), - Text( - depositToL2Label, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - color: Theme.of(context).colorScheme.onPrimary, - fontWeight: FontWeight.w700, - ), - ), - ], - ), - ), - ), - ), - ), - SizedBox(width: 16), - Expanded( - child: Semantics( - label: withdrawFromL2Label, - child: OutlinedButton( - onPressed: () => withdrawFromL2(context), - style: OutlinedButton.styleFrom( - backgroundColor: Theme.of(context).colorScheme.surface, - side: BorderSide( - color: - Theme.of(context).colorScheme.outlineVariant.withAlpha(0), - width: 0, - ), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10), - ), - ), - child: Container( - padding: EdgeInsets.symmetric(vertical: 12), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - height: 30, - width: 30, - 'assets/images/upload.png', - color: Theme.of(context).colorScheme.onSecondaryContainer, - ), - const SizedBox(width: 8), - Text( - withdrawFromL2Label, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - color: Theme.of(context) - .colorScheme - .onSecondaryContainer, - fontWeight: FontWeight.w700, - ), - ), - ], - ), - ), - ), - ), - ), - ], - ), - ), - ), - const SizedBox(height: 16), - ], - ), - ), - ), - ], - ], - ); - } - - String get depositToL2Label => dashboardViewModel.type == WalletType.litecoin - ? S.current.litecoin_mweb_pegin - : S.current.bitcoin_lightning_deposit; - - String get withdrawFromL2Label => dashboardViewModel.type == WalletType.litecoin - ? S.current.litecoin_mweb_pegout - : S.current.bitcoin_lightning_withdraw; - - Future depositToL2(BuildContext context) async { - PaymentRequest? paymentRequest = null; - - if (dashboardViewModel.type == WalletType.litecoin) { - final depositAddress = bitcoin!.getUnusedMwebAddress(dashboardViewModel.wallet); - if ((depositAddress?.isNotEmpty ?? false)) { - paymentRequest = PaymentRequest.fromUri(Uri.parse("litecoin:$depositAddress")); - } - } else if (dashboardViewModel.type == WalletType.bitcoin) { - final depositAddress = await bitcoin!.getUnusedSpakDepositAddress(dashboardViewModel.wallet); - if ((depositAddress?.isNotEmpty ?? false)) { - paymentRequest = PaymentRequest.fromUri(Uri.parse("bitcoin:$depositAddress")); - } - } - - Navigator.pushNamed( - context, - Routes.send, - arguments: { - 'paymentRequest': paymentRequest, - 'coinTypeToSpendFrom': UnspentCoinType.nonMweb, - }, - ); - } - - Future withdrawFromL2(BuildContext context) async { - PaymentRequest? paymentRequest = null; - UnspentCoinType unspentCoinType = UnspentCoinType.any; - final withdrawAddress = bitcoin!.getUnusedSegwitAddress(dashboardViewModel.wallet); - - if (dashboardViewModel.type == WalletType.litecoin) { - if ((withdrawAddress?.isNotEmpty ?? false)) { - paymentRequest = PaymentRequest.fromUri(Uri.parse("litecoin:$withdrawAddress")); - } - unspentCoinType = UnspentCoinType.mweb; - } else if (dashboardViewModel.type == WalletType.bitcoin) { - if ((withdrawAddress?.isNotEmpty ?? false)) { - paymentRequest = PaymentRequest.fromUri(Uri.parse("bitcoin:$withdrawAddress")); - } - unspentCoinType = UnspentCoinType.lightning; - } - - Navigator.pushNamed( - context, - Routes.send, - arguments: { - 'paymentRequest': paymentRequest, - 'coinTypeToSpendFrom': unspentCoinType, - }, - ); - } - - void onPressedHelp() { - var helpUri = Uri.parse("https://docs.cakewallet.com/cryptos/bitcoin#lightning"); - if (dashboardViewModel.type == WalletType.litecoin) { - helpUri = Uri.parse("https://docs.cakewallet.com/cryptos/litecoin#mweb"); - } - - launchUrl(helpUri, mode: LaunchMode.externalApplication); - } - - void _showBalanceDescription(BuildContext context, String content) { - showPopUp(context: context, builder: (_) => InformationPage(information: content)); - } - - void _showToast() async { - try { - await Fluttertoast.showToast( - msg: S.current.show_balance_toast, - backgroundColor: Color.fromRGBO(0, 0, 0, 0.85), - ); - } catch (_) {} - } -} diff --git a/lib/src/screens/dashboard/pages/balance/crypto_balance_widget.dart b/lib/src/screens/dashboard/pages/balance/crypto_balance_widget.dart deleted file mode 100644 index 932a220bd..000000000 --- a/lib/src/screens/dashboard/pages/balance/crypto_balance_widget.dart +++ /dev/null @@ -1,479 +0,0 @@ -import 'package:cake_wallet/bitcoin/bitcoin.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/src/screens/dashboard/pages/balance/balance_row_widget.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/home_screen_account_widget.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/info_card.dart'; -import 'package:cake_wallet/src/widgets/alert_with_one_action.dart'; -import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart'; -import 'package:cake_wallet/src/widgets/dashboard_card_widget.dart'; -import 'package:cake_wallet/src/widgets/introducing_card.dart'; -import 'package:cake_wallet/src/widgets/standard_switch.dart'; -import 'package:cake_wallet/themes/core/theme_extension.dart'; -import 'package:cake_wallet/utils/feature_flag.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart'; -import 'package:cw_core/wallet_info.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:url_launcher/url_launcher.dart'; - -class CryptoBalanceWidget extends StatelessWidget { - const CryptoBalanceWidget({ - super.key, - required this.dashboardViewModel, - }); - - final DashboardViewModel dashboardViewModel; - final btcLockLight = 'assets/images/btc_lock_light.png'; - final btcLockDark = 'assets/images/btc_lock_dark.png'; - - String? get hardwareWalletIcon { - switch (dashboardViewModel.wallet.hardwareWalletType) { - case null: - return null; - case HardwareWalletType.bitbox: - return "assets/new-ui/hardware_wallets/device_bitbox.svg"; - case HardwareWalletType.ledger: - return "assets/new-ui/hardware_wallets/device_ledger_nano_x.svg"; - case HardwareWalletType.trezor: - return "assets/new-ui/hardware_wallets/device_trezor_safe_5.svg"; - case HardwareWalletType.cupcake: - return "assets/images/cupcake.svg"; - case HardwareWalletType.coldcard: - case HardwareWalletType.seedsigner: - case HardwareWalletType.keystone: - return "assets/images/hardware_wallet/device_qr.svg"; - } - } - - @override - Widget build(BuildContext context) { - return SingleChildScrollView( - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Observer( - builder: (_) { - if (dashboardViewModel.getMoneroError != null) { - return Padding( - padding: const EdgeInsets.fromLTRB(16, 0, 16, 16), - child: DashBoardRoundedCardWidget( - title: "Invalid monero bindings", - subTitle: dashboardViewModel.getMoneroError.toString(), - ), - ); - } - return Container(); - }, - ), - Observer( - builder: (_) { - if (dashboardViewModel.getWowneroError != null) { - return Padding( - padding: const EdgeInsets.fromLTRB(16, 0, 16, 16), - child: DashBoardRoundedCardWidget( - title: "Invalid wownero bindings", - subTitle: dashboardViewModel.getWowneroError.toString(), - ), - ); - } - return Container(); - }, - ), - Observer( - builder: (_) => dashboardViewModel.balanceViewModel.hasAccounts - ? HomeScreenAccountWidget( - walletName: dashboardViewModel.name, accountName: dashboardViewModel.subname) - : Column( - children: [ - SizedBox(height: 16), - Container( - margin: const EdgeInsets.only(left: 24, bottom: 16), - child: Observer( - builder: (_) { - return Row( - children: [ - Text( - dashboardViewModel.balanceViewModel.asset, - style: Theme.of(context).textTheme.headlineSmall?.copyWith( - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurface, - height: 1, - ), - maxLines: 1, - textAlign: TextAlign.center, - ), - if (hardwareWalletIcon != null) - Container( - child: SvgPicture.asset( - hardwareWalletIcon!, - width: 24, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - if (dashboardViewModel - .balanceViewModel.isHomeScreenSettingsEnabled) - TextButton( - style: TextButton.styleFrom( - minimumSize: Size(50, 30), - tapTargetSize: MaterialTapTargetSize.shrinkWrap, - alignment: Alignment.centerLeft), - onPressed: () => Navigator.pushNamed( - context, - Routes.homeSettings, - arguments: dashboardViewModel.balanceViewModel, - ), - child: Container( - child: SvgPicture.asset( - 'assets/images/home_screen_setting_icon.svg', - color: Theme.of(context).colorScheme.onSurfaceVariant, - height: 30), - ), - ), - ], - ); - }, - ), - ), - ], - )), - Observer( - builder: (_) { - if (dashboardViewModel.balanceViewModel.isShowCard && FeatureFlag.isCakePayEnabled) { - return IntroducingCard( - title: S.of(context).introducing_cake_pay, - subTitle: S.of(context).cake_pay_learn_more, - borderColor: Theme.of(context).colorScheme.outline, - closeCard: dashboardViewModel.balanceViewModel.disableIntroCakePayCard); - } - return Container(); - }, - ), - Observer(builder: (_) { - if (!dashboardViewModel.showRepWarning) { - return const SizedBox(); - } - return Padding( - padding: const EdgeInsets.fromLTRB(16, 0, 16, 8), - child: DashBoardRoundedCardWidget( - title: S.of(context).rep_warning, - subTitle: S.of(context).rep_warning_sub, - onTap: () => Navigator.of(context).pushNamed(Routes.changeRep), - onClose: () { - dashboardViewModel.settingsStore.shouldShowRepWarning = false; - }, - ), - ); - }), - Observer( - builder: (_) { - if (dashboardViewModel.balanceViewModel.formattedBalances.isEmpty) { - return Center( - child: Container( - child: Text( - 'Loading balances...', - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - color: Theme.of(context).colorScheme.onSurfaceVariant, - height: 1, - ), - textAlign: TextAlign.center, - ), - ), - ); - } - - return ListView.separated( - physics: NeverScrollableScrollPhysics(), - shrinkWrap: true, - separatorBuilder: (_, __) => Container(padding: EdgeInsets.only(bottom: 10)), - itemCount: dashboardViewModel.balanceViewModel.formattedBalances.length, - itemBuilder: (__, index) { - final balance = - dashboardViewModel.balanceViewModel.formattedBalances.elementAt(index); - return Observer(builder: (_) { - return BalanceRowWidget( - dashboardViewModel: dashboardViewModel, - availableBalanceLabel: - '${dashboardViewModel.balanceViewModel.availableBalanceLabel}', - availableBalance: balance.availableBalance, - availableFiatBalance: balance.fiatAvailableBalance, - additionalBalanceLabel: - '${dashboardViewModel.balanceViewModel.additionalBalanceLabel}', - additionalBalance: balance.additionalBalance, - additionalFiatBalance: balance.fiatAdditionalBalance, - frozenBalance: balance.frozenBalance, - frozenFiatBalance: balance.fiatFrozenBalance, - currency: balance.asset, - hasAdditionalBalance: - dashboardViewModel.balanceViewModel.hasAdditionalBalance(balance.asset), - hasSecondAdditionalBalance: - dashboardViewModel.balanceViewModel.hasSecondAdditionalBalance, - hasSecondAvailableBalance: - dashboardViewModel.balanceViewModel.hasSecondAvailableBalance, - secondAdditionalBalance: balance.secondAdditionalBalance, - secondAdditionalFiatBalance: balance.fiatSecondAdditionalBalance, - secondAvailableBalance: balance.secondAvailableBalance, - secondAvailableFiatBalance: balance.fiatSecondAvailableBalance, - secondAdditionalBalanceLabel: - '${dashboardViewModel.balanceViewModel.secondAdditionalBalanceLabel}', - secondAvailableBalanceLabel: - '${dashboardViewModel.balanceViewModel.secondAvailableBalanceLabel}', - isTestnet: dashboardViewModel.isTestnet, - ); - }); - }, - ); - }, - ), - Observer(builder: (context) { - return Column( - children: [ - if (dashboardViewModel.isMoneroWalletBrokenReasons.isNotEmpty) ...[ - SizedBox(height: 10), - Padding( - padding: const EdgeInsets.fromLTRB(16, 0, 16, 8), - child: DashBoardRoundedCardWidget( - customBorder: 30, - title: "This wallet has encountered an issue", - subTitle: "Here are the things that you should note:\n - " + - dashboardViewModel.isMoneroWalletBrokenReasons.join("\n - ") + - "\n\nPlease restart your wallet and if it doesn't help contact our support.", - )) - ], - if (dashboardViewModel.showSilentPaymentsCard) ...[ - SizedBox(height: 10), - Padding( - padding: const EdgeInsets.fromLTRB(16, 0, 16, 0), - child: DashBoardRoundedCardWidget( - shadowBlur: dashboardViewModel.getShadowBlur(), - shadowSpread: dashboardViewModel.getShadowSpread(), - marginV: 0, - marginH: 0, - customBorder: 30, - title: S.of(context).silent_payments, - subTitle: S.of(context).enable_silent_payments_scanning, - hint: Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - GestureDetector( - behavior: HitTestBehavior.opaque, - onTap: () => launchUrl( - Uri.parse( - "https://docs.cakewallet.com/cryptos/bitcoin#silent-payments"), - mode: LaunchMode.externalApplication, - ), - child: Row( - children: [ - Text( - S.of(context).what_is_silent_payments, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - color: Theme.of(context).colorScheme.onSurfaceVariant, - height: 1, - ), - softWrap: true, - ), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 4), - child: Icon( - Icons.help_outline, - size: 16, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ) - ], - ), - ), - Observer( - builder: (_) => StandardSwitch( - value: dashboardViewModel.silentPaymentsScanningActive, - onTapped: () => _toggleSilentPaymentsScanning(context), - ), - ) - ], - ), - ], - ), - onTap: () => _toggleSilentPaymentsScanning(context), - image: !context.currentTheme.isDark - ? Image.asset(btcLockLight, height: 48) - : Image.asset(btcLockDark, height: 48), - ), - ), - ], - if (dashboardViewModel.showMwebCard) ...[ - SizedBox(height: 10), - Padding( - padding: const EdgeInsets.fromLTRB(16, 0, 16, 8), - child: InfoCard( - title: S.of(context).litecoin_mweb, - description: S.of(context).litecoin_mweb_description, - leftButtonTitle: S.of(context).litecoin_mweb_dismiss, - rightButtonTitle: S.of(context).enable, - image: 'assets/images/mweb_logo.png', - leftButtonAction: () => _dismissMweb(context), - rightButtonAction: () => _enableMweb(context), - hintWidget: GestureDetector( - behavior: HitTestBehavior.opaque, - onTap: () => launchUrl( - Uri.parse("https://docs.cakewallet.com/cryptos/litecoin/#mweb"), - mode: LaunchMode.externalApplication, - ), - child: Text( - S.of(context).learn_more, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - color: Theme.of(context).colorScheme.onSurfaceVariant, - height: 1, - ), - softWrap: true, - ), - ), - ), - ), - ], - if (dashboardViewModel.showDecredInfoCard) ...[ - SizedBox(height: 10), - Padding( - padding: const EdgeInsets.fromLTRB(16, 0, 16, 8), - child: InfoCard( - title: S.of(context).synchronizing, - description: S.of(context).decred_info_card_details, - image: 'assets/new-ui/crypto_full_icons/decred.svg', - leftButtonTitle: S.of(context).litecoin_mweb_dismiss, - rightButtonTitle: S.of(context).learn_more, - leftButtonAction: () => dashboardViewModel.dismissDecredInfoCard(), - rightButtonAction: () => launchUrl( - Uri.parse("https://docs.cakewallet.com/cryptos/decred/#spv-sync")), - ), - ), - ], - if (dashboardViewModel.showPayjoinCard) ...[ - SizedBox(height: 10), - Padding( - padding: const EdgeInsets.fromLTRB(16, 0, 16, 8), - child: InfoCard( - title: "Payjoin", - description: S.of(context).payjoin_card_content, - hintWidget: GestureDetector( - behavior: HitTestBehavior.opaque, - onTap: () => launchUrl( - Uri.parse("https://docs.cakewallet.com/cryptos/bitcoin/#payjoin"), - mode: LaunchMode.externalApplication, - ), - child: Row( - children: [ - Text( - S.of(context).what_is_payjoin, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - color: Theme.of(context).colorScheme.onSurfaceVariant, - height: 1, - ), - softWrap: true, - ), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 4), - child: Icon( - Icons.help_outline, - size: 16, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ) - ], - ), - ), - image: 'assets/images/payjoin.png', - leftButtonTitle: S.of(context).litecoin_mweb_dismiss, - rightButtonTitle: S.of(context).enable, - leftButtonAction: () => dashboardViewModel.dismissPayjoin(), - rightButtonAction: () => _enablePayjoin(context), - ), - ), - ], - ], - ); - }), - SizedBox(height: 130), - ], - ), - ); - } - - Future _toggleSilentPaymentsScanning(BuildContext context) async { - final isSilentPaymentsScanningActive = dashboardViewModel.silentPaymentsScanningActive; - final newValue = !isSilentPaymentsScanningActive; - - dashboardViewModel.silentPaymentsScanningActive = newValue; - - final needsToSwitch = !isSilentPaymentsScanningActive && - await bitcoin!.getNodeIsElectrsSPEnabled(dashboardViewModel.wallet) == false; - - if (needsToSwitch) { - return showPopUp( - context: context, - builder: (BuildContext context) => AlertWithTwoActions( - alertTitle: S.of(context).change_current_node_title, - alertContent: S.of(context).confirm_silent_payments_switch_node, - rightButtonText: S.of(context).confirm, - leftButtonText: S.of(context).cancel, - actionRightButton: () { - dashboardViewModel.setSilentPaymentsScanning(newValue); - Navigator.of(context).pop(); - }, - actionLeftButton: () { - dashboardViewModel.silentPaymentsScanningActive = isSilentPaymentsScanningActive; - Navigator.of(context).pop(); - }, - )); - } - - return dashboardViewModel.setSilentPaymentsScanning(newValue); - } - - void _enablePayjoin(BuildContext context) { - showPopUp( - context: context, - builder: (BuildContext context) => AlertWithOneAction( - alertTitle: S.of(context).payjoin_enabling_popup_title, - alertContent: S.of(context).payjoin_enabling_popup_content, - buttonText: S.of(context).ok, - buttonAction: () { - Navigator.of(context).pop(); - }, - )); - - dashboardViewModel.enablePayjoin(); - } - - Future _enableMweb(BuildContext context) async { - if (!dashboardViewModel.hasEnabledMwebBefore) { - await showPopUp( - context: context, - builder: (BuildContext context) => AlertWithOneAction( - alertTitle: S.of(context).alert_notice, - alertContent: S.of(context).litecoin_mweb_warning, - buttonText: S.of(context).understand, - buttonAction: () { - Navigator.of(context).pop(); - }, - )); - } - dashboardViewModel.setMwebEnabled(); - } - - Future _dismissMweb(BuildContext context) async { - await showPopUp( - context: context, - builder: (BuildContext context) => AlertWithOneAction( - alertTitle: S.of(context).alert_notice, - alertContent: S.of(context).litecoin_mweb_enable_later, - buttonText: S.of(context).understand, - buttonAction: () { - Navigator.of(context).pop(); - }, - )); - dashboardViewModel.dismissMweb(); - } -} diff --git a/lib/src/screens/dashboard/pages/cake_features_page.dart b/lib/src/screens/dashboard/pages/cake_features_page.dart index 08d5dbd57..7cff07a89 100644 --- a/lib/src/screens/dashboard/pages/cake_features_page.dart +++ b/lib/src/screens/dashboard/pages/cake_features_page.dart @@ -8,7 +8,6 @@ import 'package:cake_wallet/src/widgets/cake_image_widget.dart'; import 'package:cake_wallet/src/widgets/dashboard_card_widget.dart'; import 'package:cake_wallet/utils/feature_flag.dart'; import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cake_wallet/view_model/dashboard/cake_features_view_model.dart'; import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart'; import 'package:cw_core/utils/print_verbose.dart'; import 'package:cw_core/wallet_type.dart'; @@ -18,10 +17,9 @@ import 'package:url_launcher/url_launcher.dart'; import 'package:cake_wallet/src/widgets/gradient_background.dart'; class CakeFeaturesPage extends StatelessWidget { - CakeFeaturesPage({required this.dashboardViewModel, required this.cakeFeaturesViewModel}); + CakeFeaturesPage({required this.dashboardViewModel}); final DashboardViewModel dashboardViewModel; - final CakeFeaturesViewModel cakeFeaturesViewModel; @override Widget build(BuildContext context) { @@ -38,7 +36,7 @@ class CakeFeaturesPage extends StatelessWidget { child: ConstrainedBox( constraints: BoxConstraints(minHeight: constraints.maxHeight), child: IntrinsicHeight( - child: !FeatureFlag.hasNewUi ? _buildOldUi(context) : _buildNewUi(context), + child: _buildNewUi(context), ), ), ); @@ -52,19 +50,6 @@ class CakeFeaturesPage extends StatelessWidget { } Widget _buildHeader(BuildContext context) { - if (!FeatureFlag.hasNewUi) { - return Padding( - padding: const EdgeInsets.only(left: 24, top: 16, bottom: 16), - child: Text( - S.of(context).apps, - style: Theme.of(context).textTheme.headlineLarge?.copyWith( - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - ); - } - return Align( alignment: Alignment.center, child: Padding( @@ -81,45 +66,6 @@ class CakeFeaturesPage extends StatelessWidget { ); } - Widget _buildOldUi(BuildContext context) { - return Column( - children: [ - const SizedBox(height: 2), - DashBoardRoundedCardWidget( - shadowBlur: dashboardViewModel.getShadowBlur(), - shadowSpread: dashboardViewModel.getShadowSpread(), - onTap: () => _onCakePayTap(context), - title: 'Cake Pay', - subTitle: S.of(context).cake_pay_subtitle, - image: Image.asset('assets/images/cakepay.png', height: 74, width: 70, fit: BoxFit.cover), - ), - Observer(builder: (_) { - if (dashboardViewModel.type == WalletType.ethereum) { - return DashBoardRoundedCardWidget( - shadowBlur: dashboardViewModel.getShadowBlur(), - shadowSpread: dashboardViewModel.getShadowSpread(), - onTap: () => Navigator.of(context).pushNamed(Routes.dEuroSavings), - title: S.of(context).deuro_savings, - subTitle: S.of(context).deuro_savings_subtitle, - image: Image.asset('assets/images/deuro_icon.png', - height: 80, width: 80, fit: BoxFit.cover), - ); - } - return const SizedBox(); - }), - DashBoardRoundedCardWidget( - shadowBlur: dashboardViewModel.getShadowBlur(), - shadowSpread: dashboardViewModel.getShadowSpread(), - onTap: () => _launchUrl("cake.nano-gpt.com"), - title: "NanoGPT", - subTitle: S.of(context).nanogpt_subtitle, - image: Image.asset('assets/images/nanogpt.png', height: 80, width: 80, fit: BoxFit.cover), - ), - const Spacer(), - const SizedBox(height: 125), - ], - ); - } Widget _buildNewUi(BuildContext context) { return Column( diff --git a/lib/src/screens/dashboard/pages/navigation_dock.dart b/lib/src/screens/dashboard/pages/navigation_dock.dart deleted file mode 100644 index a5e1e32b2..000000000 --- a/lib/src/screens/dashboard/pages/navigation_dock.dart +++ /dev/null @@ -1,83 +0,0 @@ -import 'dart:ui'; -import 'package:cake_wallet/entities/main_actions.dart'; -import 'package:cake_wallet/themes/core/theme_extension.dart'; -import 'package:flutter/material.dart'; -import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/action_button.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; - -class NavigationDock extends StatelessWidget { - const NavigationDock({ - required this.dashboardViewModel, - }); - - final DashboardViewModel dashboardViewModel; - - @override - Widget build(BuildContext context) { - return Positioned( - child: Observer( - builder: (_) { - return Container( - height: 84, - alignment: Alignment.bottomCenter, - child: Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(50), - ), - margin: const EdgeInsets.only(left: 8, right: 8, bottom: 16), - child: ClipRRect( - borderRadius: BorderRadius.circular(50), - child: BackdropFilter( - filter: ImageFilter.blur(sigmaX: 50, sigmaY: 50), - child: Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(50.0), - color: Theme.of(context).colorScheme.surfaceContainer, - ), - padding: const EdgeInsets.symmetric(horizontal: 8), - child: ClipRect( - child: Row( - mainAxisSize: MainAxisSize.min, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.center, - children: MainActions.all - .where((element) => element.canShow?.call(dashboardViewModel) ?? true) - .map( - (action) => Expanded( - child: Semantics( - button: true, - enabled: (action.isEnabled?.call(dashboardViewModel) ?? true), - child: ActionButton( - key: action.key, - image: Image.asset( - action.image, - height: 24, - width: 24, - color: Theme.of(context).colorScheme.primary, - ), - title: action.name(context), - onClick: (action.isEnabled?.call(dashboardViewModel) ?? true) - ? () async => - await action.onTap(context, dashboardViewModel) - : null, - textColor: action.isEnabled?.call(dashboardViewModel) ?? true - ? null - : Theme.of(context).colorScheme.onSurface, - ), - ), - ), - ) - .toList(), - ), - ), - ), - ), - ), - ), - ); - }, - ), - ); - } -} diff --git a/lib/src/screens/dashboard/pages/transactions_page.dart b/lib/src/screens/dashboard/pages/transactions_page.dart deleted file mode 100644 index c699fb0f9..000000000 --- a/lib/src/screens/dashboard/pages/transactions_page.dart +++ /dev/null @@ -1,250 +0,0 @@ -import 'package:cake_wallet/bitcoin/bitcoin.dart'; -import 'package:cake_wallet/core/csv_export_service.dart'; -import 'package:cake_wallet/di.dart'; -import 'package:cake_wallet/entities/balance_display_mode.dart'; -import 'package:cake_wallet/order/order_source_description.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/anonpay_transaction_row.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/order_row.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/payjoin_transaction_row.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/trade_row.dart'; -import 'package:cake_wallet/src/widgets/dashboard_card_widget.dart'; -import 'package:cake_wallet/utils/responsive_layout_util.dart'; -import 'package:cake_wallet/view_model/dashboard/anonpay_transaction_list_item.dart'; -import 'package:cake_wallet/view_model/dashboard/order_list_item.dart'; -import 'package:cake_wallet/view_model/dashboard/payjoin_transaction_list_item.dart'; -import 'package:cake_wallet/view_model/dashboard/trade_list_item.dart'; -import 'package:cw_core/crypto_currency.dart'; -import 'package:cw_core/sync_status.dart'; -import 'package:cw_core/wallet_type.dart'; -import 'package:flutter/material.dart'; -import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/header_row.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/date_section_raw.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/transaction_raw.dart'; -import 'package:cake_wallet/view_model/dashboard/transaction_list_item.dart'; -import 'package:cake_wallet/view_model/dashboard/date_section_item.dart'; -import 'package:intl/intl.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:url_launcher/url_launcher.dart'; - -class TransactionsPage extends StatelessWidget { - TransactionsPage({required this.dashboardViewModel}); - - final DashboardViewModel dashboardViewModel; - - @override - Widget build(BuildContext context) { - return GestureDetector( - onLongPress: () => dashboardViewModel.balanceViewModel.isReversing = - !dashboardViewModel.balanceViewModel.isReversing, - onLongPressUp: () => dashboardViewModel.balanceViewModel.isReversing = - !dashboardViewModel.balanceViewModel.isReversing, - child: Container( - color: responsiveLayoutUtil.shouldRenderMobileUI - ? null - : Theme.of(context).colorScheme.surface, - child: Column( - children: [ - Observer(builder: (_) { - final status = dashboardViewModel.status; - if (status is SyncingSyncStatus) { - return DashBoardRoundedCardWidget( - key: ValueKey('transactions_page_syncing_alert_card_key'), - onTap: () { - try { - final uri = Uri.parse("https://docs.cakewallet.com/faq/funds-not-appearing"); - launchUrl(uri, mode: LaunchMode.externalApplication); - } catch (_) {} - }, - title: S.of(context).syncing_wallet_alert_title, - subTitle: S.of(context).syncing_wallet_alert_content, - ); - } else { - return Container(); - } - }), - HeaderRow( - dashboardViewModel: dashboardViewModel, - onExportCsv: () => - getIt.get().exportToCsv(dashboardViewModel.items, context), - key: ValueKey('transactions_page_header_row_key'), - ), - Expanded( - child: Observer( - builder: (_) { - final items = dashboardViewModel.items; - return items.isNotEmpty - ? ListView.builder( - key: ValueKey('transactions_page_list_view_builder_key'), - itemCount: items.length + 1, - itemBuilder: (context, index) { - if (index == items.length) return SizedBox(height: 150); - - final item = items[index]; - - if (item is DateSectionItem) { - return DateSectionRaw(date: item.date, key: item.key); - } - - if (item is TransactionListItem) { - if (item.hasTokens && item.assetOfTransaction == null) { - return Container(); - } - - final transaction = item.transaction; - final transactionType = - dashboardViewModel.getTransactionType(transaction); - - List tags = []; - if (dashboardViewModel.type == WalletType.bitcoin) { - if (bitcoin!.txIsReceivedSilentPayment(transaction)) { - tags.add(S.of(context).silent_payment); - } - } - if (dashboardViewModel.type == WalletType.litecoin) { - if (bitcoin!.txIsMweb(transaction)) { - tags.add("MWEB"); - } - } - return Observer( - builder: (_) => TransactionRow( - key: item.key, - onTap: () => Navigator.of(context) - .pushNamed(Routes.transactionDetails, arguments: transaction), - isShield: transaction.additionalInfo['isAutoShield'] == true, - direction: transaction.direction, - formattedDate: DateFormat('HH:mm').format(transaction.date), - formattedAmount: item.formattedCryptoAmount, - formattedFiatAmount: - dashboardViewModel.balanceViewModel.isFiatDisabled - ? '' - : item.formattedFiatAmount, - title: - item.formattedTitle + item.formattedStatus + transactionType, - tags: tags, - ), - ); - } - - if (item is AnonpayTransactionListItem) { - final transactionInfo = item.transaction; - - return AnonpayTransactionRow( - key: item.key, - onTap: () => Navigator.of(context).pushNamed( - Routes.anonPayDetailsPage, - arguments: transactionInfo), - currency: transactionInfo.fiatAmount != null - ? transactionInfo.fiatEquiv ?? '' - : CryptoCurrency.fromFullName(transactionInfo.coinTo) - .name - .toUpperCase(), - provider: transactionInfo.provider, - amount: transactionInfo.fiatAmount?.toString() ?? - (transactionInfo.amountTo?.toString() ?? ''), - createdAt: DateFormat('HH:mm').format(transactionInfo.createdAt), - ); - } - - if (item is PayjoinTransactionListItem) { - final session = item.session; - - return PayjoinTransactionRow( - key: item.key, - onTap: () => Navigator.of(context).pushNamed( - Routes.payjoinDetails, - arguments: [item.sessionId, item.transaction], - ), - currency: "BTC", - state: item.status, - amount: dashboardViewModel.appStore.amountParsingProxy - .getDisplayCryptoString( - session.amount.toInt(), CryptoCurrency.btc), - createdAt: DateFormat('HH:mm').format(session.inProgressSince!), - isSending: session.isSenderSession, - ); - } - - if (item is TradeListItem) { - final trade = item.trade; - - final tradeFrom = trade.from; - - final tradeTo = trade.to; - - return tradeFrom != null && tradeTo != null - ? Observer( - builder: (_) => TradeRow( - key: item.key, - onTap: () => Navigator.of(context) - .pushNamed(Routes.tradeDetails, arguments: trade), - swapState: trade.state, - provider: trade.provider, - title: "$tradeFrom → $tradeTo", - fromSymbol: dashboardViewModel.appStore.amountParsingProxy - .getCryptoSymbol(tradeFrom), - toSymbol: dashboardViewModel.appStore.amountParsingProxy - .getCryptoSymbol(tradeTo), - createdAtFormattedDate: trade.createdAt != null - ? DateFormat("HH:mm").format(trade.createdAt!) - : null, - formattedAmount: item.tradeFormattedAmount, - formattedReceiveAmount: item.tradeFormattedReceiveAmount, - ), - ) - : Container(); - } - if (item is OrderListItem) { - final order = item.order; - return Observer( - builder: (_) { - // TODO: Refactor Amount Hiding Logic it is not working properly for Orders and Trades - final hide = dashboardViewModel.balanceViewModel.displayMode == - BalanceDisplayMode.hiddenBalance; - - final formattedAmount = hide ? '---' : order.amountFormatted(); - final formattedReceiveAmount = hide ? '---' : order.receiveAmount; - - return OrderRow( - key: item.key, - onTap: () => Navigator.of(context) - .pushNamed(Routes.orderDetails, arguments: order), - providerTitle: order.providerTitle, - providerIconPath: order.providerIcon, - from: order.from ?? '', - to: order.to ?? '', - createdAtFormattedDate: - DateFormat('HH:mm').format(order.createdAt), - formattedAmount: formattedAmount, - formattedReceiveAmount: - dashboardViewModel.balanceViewModel.isFiatDisabled && - order.source == OrderSourceDescription.order - ? '' - : formattedReceiveAmount, - ); - }, - ); - } - return Container(color: Colors.transparent, height: 1); - }, - ) - : Center( - child: Text( - key: ValueKey('transactions_page_placeholder_transactions_text_key'), - S.of(context).placeholder_transactions, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - ); - }, - ), - ), - ], - ), - ), - ); - } -} diff --git a/lib/src/screens/dashboard/widgets/action_button.dart b/lib/src/screens/dashboard/widgets/action_button.dart deleted file mode 100644 index f2a3d5b09..000000000 --- a/lib/src/screens/dashboard/widgets/action_button.dart +++ /dev/null @@ -1,66 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -class ActionButton extends StatelessWidget { - ActionButton({ - required this.image, - required this.title, - this.route, - this.onClick, - this.alignment = Alignment.center, - this.textColor, - super.key, - }); - - final Image image; - final String title; - final String? route; - final Alignment alignment; - final VoidCallback? onClick; - final Color? textColor; - - @override - Widget build(BuildContext context) { - return TextButton( - style: TextButton.styleFrom( - padding: EdgeInsets.zero, - minimumSize: Size.zero, - tapTargetSize: MaterialTapTargetSize.shrinkWrap, - ), - onPressed: () { - if (route?.isNotEmpty ?? false) { - Navigator.of(context, rootNavigator: true).pushNamed(route!); - } else { - onClick?.call(); - } - }, - child: SizedBox.expand( - child: Container( - color: Colors.transparent, - alignment: alignment, - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - image, - const SizedBox(height: 4), - Flexible( - child: Text( - title, - maxLines: 1, - overflow: TextOverflow.fade, - softWrap: false, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.labelSmall?.copyWith( - color: textColor ?? Theme.of(context).colorScheme.onSurface, - ), - ), - ), - ], - ), - ), - ), - ); - } -} diff --git a/lib/src/screens/dashboard/widgets/home_screen_account_widget.dart b/lib/src/screens/dashboard/widgets/home_screen_account_widget.dart deleted file mode 100644 index 55572d568..000000000 --- a/lib/src/screens/dashboard/widgets/home_screen_account_widget.dart +++ /dev/null @@ -1,68 +0,0 @@ -import 'package:cake_wallet/di.dart'; -import 'package:cake_wallet/src/screens/monero_accounts/monero_account_list_page.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:flutter/material.dart'; - -class HomeScreenAccountWidget extends StatelessWidget { - HomeScreenAccountWidget({this.walletName, this.accountName}); - - final String? walletName; - final String? accountName; - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: () async { - await showPopUp(context: context, builder: (_) => getIt.get()); - }, - behavior: HitTestBehavior.opaque, - child: Padding( - padding: EdgeInsets.all(25.0), - child: Row( - mainAxisSize: MainAxisSize.min, - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Container( - child: Text( - walletName ?? '', - style: Theme.of(context).textTheme.headlineSmall?.copyWith( - fontWeight: FontWeight.bold, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - ), - SizedBox( - height: 5.0, - ), - Row( - children: [ - Padding(padding: EdgeInsets.only(left: 20)), - Container( - child: Text( - accountName ?? '', - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontWeight: FontWeight.bold, - color: Theme.of(context).colorScheme.primary, - ), - ), - ), - Container( - child: Icon( - Icons.keyboard_arrow_down, - color: Theme.of(context).colorScheme.primary, - ), - ), - ], - ), - ], - ), - ], - ), - ), - ); - } -} diff --git a/lib/src/screens/dashboard/widgets/info_card.dart b/lib/src/screens/dashboard/widgets/info_card.dart deleted file mode 100644 index 42552aa09..000000000 --- a/lib/src/screens/dashboard/widgets/info_card.dart +++ /dev/null @@ -1,97 +0,0 @@ -import 'package:cake_wallet/src/widgets/cake_image_widget.dart'; -import 'package:cake_wallet/src/widgets/dashboard_card_widget.dart'; -import 'package:flutter/material.dart'; - -class InfoCard extends StatelessWidget { - final String leftButtonTitle; - final String rightButtonTitle; - final String title; - final String description; - final String image; - final Function() leftButtonAction; - final Function() rightButtonAction; - - final Widget? hintWidget; - - const InfoCard({ - super.key, - required this.title, - required this.description, - required this.leftButtonTitle, - required this.rightButtonTitle, - required this.leftButtonAction, - required this.rightButtonAction, - required this.image, - this.hintWidget, - }); - - @override - Widget build(BuildContext context) { - return DashBoardRoundedCardWidget( - marginH: 0, - marginV: 0, - customBorder: 30, - title: title, - subTitle: description, - hint: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - if (hintWidget != null) hintWidget!, - if (hintWidget != null) SizedBox(height: 8), - Row( - children: [ - Expanded( - child: ElevatedButton( - onPressed: leftButtonAction, - style: ElevatedButton.styleFrom( - backgroundColor: Theme.of(context).colorScheme.surface, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10), - ), - ), - child: Text( - leftButtonTitle, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - color: Theme.of(context).colorScheme.onSecondaryContainer, - ), - ), - ), - ), - const SizedBox(width: 8), - Expanded( - child: ElevatedButton( - onPressed: rightButtonAction, - style: ElevatedButton.styleFrom( - backgroundColor: Theme.of(context).colorScheme.primary, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10), - ), - ), - child: Text( - rightButtonTitle, - maxLines: 1, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - color: Theme.of(context).colorScheme.onPrimary, - ), - ), - ), - ), - ], - ), - ], - ), - onTap: () => {}, - icon: Container( - decoration: BoxDecoration( - color: Theme.of(context).colorScheme.surfaceContainer, - shape: BoxShape.circle, - ), - child: CakeImageWidget( - imageUrl: image, - height: 40, - width: 40, - ), - ), - ); - } -} diff --git a/lib/src/screens/dashboard/widgets/page_indicator.dart b/lib/src/screens/dashboard/widgets/page_indicator.dart deleted file mode 100644 index 05b03a1be..000000000 --- a/lib/src/screens/dashboard/widgets/page_indicator.dart +++ /dev/null @@ -1,302 +0,0 @@ -import 'dart:math' as math; -import 'dart:ui'; -import 'package:cake_wallet/entities/page_indicator_actions.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart'; - -class PageIndicator extends StatefulWidget { - const PageIndicator({ - super.key, - required this.controller, - required this.dashboardViewModel, - }); - - final PageController controller; - final DashboardViewModel dashboardViewModel; - - @override - State createState() => _PageIndicatorState(); -} - -class _PageIndicatorState extends State { - static const barHeight = 37.0; - static const iconWidth = 16.0; - static const iconHeight = 16.0; - static const iconSpacing = 5.0; - static const barHorizontalPadding = 4.0; - static const pillHorizontalPadding = 8.0; - static const edgePadding = 5.0; - static const barBorderRadius = 50.0; - static const pillBorderRadius = 50.0; - static const pageSwitchDuration = Duration(milliseconds: 300); - static const pillMoveDuration = Duration(milliseconds: 300); - static const pillResizeDuration = Duration(milliseconds: 200); - static const textStyle = TextStyle( - fontSize: 12, - fontWeight: FontWeight.w400, - ); - - late int selectedIndex; - late final VoidCallback _pageListener; - - @override - void initState() { - super.initState(); - - selectedIndex = widget.controller.initialPage; - - _pageListener = () { - final page = widget.controller.page; - if (page == null) return; - - final rounded = page.round(); - if (rounded != selectedIndex && mounted) { - setState(() { - selectedIndex = rounded; - }); - } - }; - - widget.controller.addListener(_pageListener); - } - - @override - void dispose() { - widget.controller.removeListener(_pageListener); - super.dispose(); - } - - void _onItemTap(int index) { - if (index == selectedIndex) return; - widget.controller.animateToPage( - index, - duration: pageSwitchDuration, - curve: Curves.easeOutCubic, - ); - } - - double _estimateItemWidthForAction(BuildContext context, PageIndicatorActions action, - {Color? color}) { - final text = action.name(context); - final textPainter = TextPainter( - text: TextSpan(text: text, style: textStyle.copyWith(color: color)), - maxLines: 1, - textDirection: Directionality.of(context), - textScaler: MediaQuery.of(context).textScaler, - )..layout(); - return iconWidth + iconSpacing + textPainter.width + pillHorizontalPadding * 2; - } - - @override - Widget build(BuildContext context) { - final visibleActions = PageIndicatorActions.all.where((action) { - return action.isEnabled?.call(widget.dashboardViewModel) ?? true; - }).toList(); - - // Don't show indicator if less than 2 actions - if (visibleActions.length < 2) return const SizedBox.shrink(); - - selectedIndex = selectedIndex.clamp(0, visibleActions.length - 1); - - // Theme setup - final theme = Theme.of(context); - final backgroundColor = theme.colorScheme.surfaceContainer.withAlpha(122); - final pillColor = theme.colorScheme.onSurface.withAlpha(30); - final activeColor = theme.colorScheme.onSurface; - final inactiveColor = theme.colorScheme.primary; - - // Size calculations - final screenWidth = MediaQuery.of(context).size.width; - final isRTL = Directionality.of(context) == TextDirection.rtl; - - final pillWidth = _estimateItemWidthForAction( - context, - visibleActions[selectedIndex], - color: activeColor, - ); - - final actionWidths = [ - for (final action in visibleActions) - _estimateItemWidthForAction(context, action, color: inactiveColor) - ]; - - final totalItemsWidth = - actionWidths.fold(0.0, (sum, width) => sum + width) + barHorizontalPadding * 2; - - final barWidth = math.min(totalItemsWidth, screenWidth * 0.95); - - final count = visibleActions.length; - final firstLeft = edgePadding; - final secondLeft = barWidth - (isRTL ? actionWidths.first : actionWidths[1]) - edgePadding; - - final List positions; - - if (count == 2) { - positions = [firstLeft, secondLeft]; - } else { - final lastLeft = barWidth - (isRTL ? actionWidths.first : actionWidths.last) - edgePadding; - - final centerLeft = - (isRTL ? actionWidths.last + edgePadding : actionWidths.first + edgePadding); - - positions = [firstLeft, centerLeft, lastLeft]; - } - - final left = (isRTL ? positions.reversed.toList() : positions)[selectedIndex]; - final currentAction = visibleActions[selectedIndex]; - - return Align( - alignment: Alignment.bottomCenter, - child: Padding( - padding: EdgeInsets.only(top: 10), - child: Container( - width: barWidth, - child: ClipRRect( - borderRadius: BorderRadius.circular(barBorderRadius), - child: BackdropFilter( - filter: ImageFilter.blur(sigmaX: 30, sigmaY: 30), - child: Container( - height: barHeight, - decoration: BoxDecoration( - color: backgroundColor, - borderRadius: BorderRadius.circular(barBorderRadius), - ), - child: Stack( - alignment: Alignment.center, - children: [ - AnimatedPill( - left: left, - pillColor: pillColor, - currentAction: currentAction, - pillIconHeight: iconHeight, - pillIconWidth: iconWidth, - pillIconSpacing: iconSpacing, - pillBorderRadius: pillBorderRadius, - contentColor: activeColor, - estimateWidthForAction: pillWidth, - pillTextStyle: textStyle, - pillMoveDuration: pillMoveDuration, - pillResizeDuration: pillResizeDuration, - ), - Padding( - padding: const EdgeInsets.symmetric(horizontal: barHorizontalPadding), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - for (int i = 0; i < visibleActions.length; i++) - Semantics( - button: true, - label: visibleActions[i].name(context), - value: i == selectedIndex ? 'Selected' : null, - hint: 'Double tap to open ${visibleActions[i].name(context)} page', - onTap: () => _onItemTap(i), - child: GestureDetector( - behavior: HitTestBehavior.translucent, - onTap: () => _onItemTap(i), - child: Container( - height: barHeight, - width: i == selectedIndex - ? pillWidth - : _estimateItemWidthForAction(context, visibleActions[i]), - alignment: Alignment.center, - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - TweenAnimationBuilder( - duration: const Duration(milliseconds: 300), - curve: Curves.easeOutCubic, - tween: ColorTween( - begin: inactiveColor, - end: i == selectedIndex ? activeColor : inactiveColor, - ), - builder: (context, color, _) => SvgPicture.asset( - visibleActions[i].image, - width: iconWidth, - height: iconHeight, - colorFilter: ColorFilter.mode(color!, BlendMode.srcIn), - ), - ), - SizedBox(width: iconSpacing), - TweenAnimationBuilder( - duration: const Duration(milliseconds: 300), - curve: Curves.easeOutCubic, - tween: ColorTween( - begin: inactiveColor, - end: i == selectedIndex ? activeColor : inactiveColor, - ), - builder: (context, color, _) => Text( - visibleActions[i].name(context), - style: textStyle.copyWith(color: color), - overflow: TextOverflow.fade, - softWrap: false, - ), - ), - ], - ), - ), - ), - ), - ], - ), - ) - ], - )), - ), - ), - ), - ), - ); - } -} - -class AnimatedPill extends StatelessWidget { - const AnimatedPill({ - super.key, - required this.left, - required this.pillColor, - required this.contentColor, - required this.pillIconHeight, - required this.pillIconWidth, - required this.pillBorderRadius, - required this.currentAction, - required this.estimateWidthForAction, - required this.pillIconSpacing, - required this.pillTextStyle, - required this.pillMoveDuration, - required this.pillResizeDuration, - }); - - final double left; - final Color pillColor; - final Color contentColor; - final double pillIconHeight; - final double pillIconWidth; - final double pillBorderRadius; - final PageIndicatorActions currentAction; - final double estimateWidthForAction; - final double pillIconSpacing; - final TextStyle pillTextStyle; - final Duration pillMoveDuration; - final Duration pillResizeDuration; - - @override - Widget build(BuildContext context) { - return AnimatedPositioned( - duration: pillMoveDuration, - curve: Curves.easeOutCubic, - left: left, - top: 4, - bottom: 4, - child: AnimatedContainer( - duration: pillResizeDuration, - curve: Curves.easeOutCubic, - width: estimateWidthForAction, - decoration: - BoxDecoration(color: pillColor, borderRadius: BorderRadius.circular(pillBorderRadius)), - clipBehavior: Clip.hardEdge, - alignment: Alignment.center, - ), - ); - } -} diff --git a/lib/src/screens/dashboard/widgets/present_receive_option_picker.dart b/lib/src/screens/dashboard/widgets/present_receive_option_picker.dart deleted file mode 100644 index 8d4ea99cd..000000000 --- a/lib/src/screens/dashboard/widgets/present_receive_option_picker.dart +++ /dev/null @@ -1,163 +0,0 @@ -import 'package:cake_wallet/src/widgets/alert_close_button.dart'; -import 'package:cake_wallet/src/widgets/rounded_checkbox.dart'; -import 'package:cake_wallet/src/widgets/alert_background.dart'; -import 'package:cake_wallet/typography.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cake_wallet/view_model/dashboard/receive_option_view_model.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:cake_wallet/generated/i18n.dart'; - -class PresentReceiveOptionPicker extends StatelessWidget { - PresentReceiveOptionPicker({required this.receiveOptionViewModel, required this.color}); - - final ReceiveOptionViewModel receiveOptionViewModel; - final Color color; - - @override - Widget build(BuildContext context) { - final arrowBottom = Image.asset( - 'assets/images/arrow_bottom_purple_icon.png', - color: Theme.of(context).colorScheme.primary, - height: 6, - ); - - return Padding( - padding: EdgeInsets.only(left: 6), - child: TextButton( - onPressed: () => _showPicker(context), - style: ButtonStyle( - padding: WidgetStateProperty.all(EdgeInsets.zero), - splashFactory: NoSplash.splashFactory, - foregroundColor: WidgetStateProperty.all(Colors.transparent), - overlayColor: WidgetStateProperty.all(Colors.transparent), - ), - child: Row( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisSize: MainAxisSize.min, - children: [ - Text( - S.current.receive, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 17.0, - fontWeight: FontWeight.bold, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - Row( - children: [ - Observer( - builder: (_) => Text( - receiveOptionViewModel.selectedReceiveOption - .toString() - .replaceAll(RegExp(r'silent payments', caseSensitive: false), - S.current.silent_payments) - .replaceAll(RegExp(r'default', caseSensitive: false), - S.current.string_default), - style: Theme.of(context).textTheme.bodySmall!.copyWith( - fontSize: 10.0, - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - ), - ], - ), - ], - ), - SizedBox(width: 5), - Padding( - padding: EdgeInsets.only(top: 12), - child: arrowBottom, - ) - ], - ), - )); - } - - void _showPicker(BuildContext context) async { - await showPopUp( - builder: (BuildContext popUpContext) => Scaffold( - resizeToAvoidBottomInset: false, - backgroundColor: Colors.transparent, - body: Stack( - alignment: AlignmentDirectional.center, - children: [ - AlertBackground( - child: Column( - mainAxisSize: MainAxisSize.min, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Spacer(), - Container( - margin: EdgeInsets.symmetric(horizontal: 24), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(30), - color: Theme.of(context).colorScheme.surface, - ), - child: Padding( - padding: const EdgeInsets.only(top: 24, bottom: 24), - child: (ListView.separated( - padding: EdgeInsets.zero, - shrinkWrap: true, - itemCount: receiveOptionViewModel.options.length, - itemBuilder: (_, index) { - final option = receiveOptionViewModel.options[index]; - return InkWell( - onTap: () { - Navigator.pop(popUpContext); - - receiveOptionViewModel.selectReceiveOption(option); - }, - child: Padding( - padding: const EdgeInsets.only(left: 24, right: 24), - child: Observer(builder: (_) { - final value = receiveOptionViewModel.selectedReceiveOption; - - return Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - option - .toString() - .replaceAll( - RegExp(r'silent payments', caseSensitive: false), - S.current.silent_payments) - .replaceAll(RegExp(r'default', caseSensitive: false), - S.current.string_default), - textAlign: TextAlign.left, - style: textSmall( - color: Theme.of(context).colorScheme.onSurface, - ).copyWith( - fontWeight: - value == option ? FontWeight.w800 : FontWeight.w500, - )), - RoundedCheckbox( - value: value == option, - ) - ], - ); - }), - ), - ); - }, - separatorBuilder: (_, index) => SizedBox(height: 30), - )), - ), - ), - Spacer() - ], - ), - ), - AlertCloseButton(onTap: () => Navigator.of(popUpContext).pop(), bottom: 40) - ], - ), - ), - context: context, - ); - } -} diff --git a/lib/src/screens/dashboard/widgets/sync_indicator.dart b/lib/src/screens/dashboard/widgets/sync_indicator.dart deleted file mode 100644 index 3c6dd6ade..000000000 --- a/lib/src/screens/dashboard/widgets/sync_indicator.dart +++ /dev/null @@ -1,87 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart'; -import 'package:cake_wallet/core/sync_status_title.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:cw_core/sync_status.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/sync_indicator_icon.dart'; - -class SyncIndicator extends StatelessWidget { - SyncIndicator({ - required this.dashboardViewModel, - required this.onTap, - super.key, - }); - - final DashboardViewModel dashboardViewModel; - final Function() onTap; - - @override - Widget build(BuildContext context) { - return Observer(builder: (_) { - final syncIndicatorWidth = 237.0; - final status = dashboardViewModel.status; - final statusText = - syncStatusTitle(status, dashboardViewModel.settingsStore.syncStatusDisplayMode); - final progress = status.progress(); - final indicatorOffset = progress * syncIndicatorWidth; - final indicatorWidth = progress < 1 - ? indicatorOffset > 0 - ? indicatorOffset - : 0.0 - : syncIndicatorWidth; - - return ClipRRect( - borderRadius: BorderRadius.all(Radius.circular(15)), - child: GestureDetector( - onTap: onTap, - onLongPress: dashboardViewModel.toggleSwitchStatusDisplayMode, - child: Container( - height: 30, - width: syncIndicatorWidth, - color: Theme.of(context).colorScheme.surfaceContainerLow, - child: Stack( - alignment: Alignment.center, - children: [ - progress <= 1 - ? Positioned( - left: 0, - top: 0, - bottom: 0, - child: Container( - width: indicatorWidth, - height: 30, - color: Theme.of(context).colorScheme.surfaceContainer, - )) - : Offstage(), - Padding( - padding: EdgeInsets.only(left: 24, right: 24), - child: Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - SyncIndicatorIcon( - isSynced: status is SyncedSyncStatus, - showTorIcon: dashboardViewModel.builtinTor, - size: dashboardViewModel.builtinTor ? 16 : 6, - ), - Padding( - padding: EdgeInsets.only(left: 6), - child: Text( - statusText, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - ) - ], - ), - ) - ], - ), - ), - )); - }); - } -} diff --git a/lib/src/screens/exchange/exchange_page.dart b/lib/src/screens/exchange/exchange_page.dart deleted file mode 100644 index 713d316d7..000000000 --- a/lib/src/screens/exchange/exchange_page.dart +++ /dev/null @@ -1,803 +0,0 @@ -import 'package:cake_wallet/core/address_resolver/address_resolver_service.dart'; -import 'package:cake_wallet/exchange/exchange_provider_description.dart'; -import 'package:cake_wallet/exchange/provider/chainflip_exchange_provider.dart'; -import 'package:cake_wallet/exchange/provider/thorchain_exchange.provider.dart'; -import 'package:cake_wallet/core/auth_service.dart'; -import 'package:cake_wallet/di.dart'; -import 'package:cake_wallet/src/screens/exchange/widgets/desktop_exchange_cards_section.dart'; -import 'package:cake_wallet/src/screens/exchange/widgets/mobile_exchange_cards_section.dart'; -import 'package:cake_wallet/src/widgets/add_template_button.dart'; -import 'package:cake_wallet/utils/debounce.dart'; -import 'package:cake_wallet/utils/payment_request.dart'; -import 'package:cake_wallet/utils/responsive_layout_util.dart'; -import 'package:cw_core/sync_status.dart'; -import 'package:cw_core/utils/print_verbose.dart'; -import 'package:cake_wallet/src/widgets/standard_checkbox.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:keyboard_actions/keyboard_actions.dart'; -import 'package:mobx/mobx.dart'; -import 'package:cake_wallet/exchange/exchange_template.dart'; -import 'package:cake_wallet/exchange/exchange_trade_state.dart'; -import 'package:cake_wallet/exchange/limits_state.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart'; -import 'package:cake_wallet/src/widgets/keyboard_done_button.dart'; -import 'package:cake_wallet/src/widgets/template_tile.dart'; -import 'package:cake_wallet/src/widgets/trail_button.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cw_core/crypto_currency.dart'; -import 'package:cake_wallet/src/screens/exchange/widgets/exchange_card.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/src/widgets/scrollable_with_bottom_section.dart'; -import 'package:cake_wallet/src/widgets/alert_with_one_action.dart'; -import 'package:cake_wallet/view_model/exchange/exchange_view_model.dart'; -import 'package:cake_wallet/core/address_validator.dart'; -import 'package:cake_wallet/core/amount_validator.dart'; -import 'package:cake_wallet/src/screens/exchange/widgets/present_provider_picker.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/sync_indicator_icon.dart'; - -class ExchangePage extends BasePage { - ExchangePage( - this.exchangeViewModel, this.authService, this.adrResService, this.initialPaymentRequest) { - depositWalletName = exchangeViewModel.depositCurrency == CryptoCurrency.xmr - ? exchangeViewModel.wallet.name - : null; - receiveWalletName = exchangeViewModel.receiveCurrency == CryptoCurrency.xmr - ? exchangeViewModel.wallet.name - : null; - } - - final ExchangeViewModel exchangeViewModel; - final AuthService authService; - final AddressResolverService adrResService; - final PaymentRequest? initialPaymentRequest; - final depositKey = GlobalKey(); - final receiveKey = GlobalKey(); - final _formKey = GlobalKey(); - final _depositAmountFocus = FocusNode(); - final _depositAddressFocus = FocusNode(); - final _receiveAmountFocus = FocusNode(); - final _receiveAddressFocus = FocusNode(); - final _receiveAmountDebounce = Debounce(Duration(milliseconds: 500)); - Debounce _depositAmountDebounce = Debounce(Duration(milliseconds: 500)); - var _isReactionsSet = false; - - late final String? depositWalletName; - late final String? receiveWalletName; - - @override - String get title => S.current.exchange; - - @override - bool get gradientBackground => true; - - @override - bool get gradientAll => true; - - @override - bool get resizeToAvoidBottomInset => false; - - @override - bool get extendBodyBehindAppBar => true; - - @override - AppBarStyle get appBarStyle => AppBarStyle.transparent; - - @override - Function(BuildContext)? get pushToNextWidget => (context) { - FocusScopeNode currentFocus = FocusScope.of(context); - if (!currentFocus.hasPrimaryFocus) { - currentFocus.focusedChild?.unfocus(); - } - }; - - bool get _shouldWaitTillSynced => - [CryptoCurrency.xmr, CryptoCurrency.btc, CryptoCurrency.ltc] - .contains(exchangeViewModel.depositCurrency) && - !(exchangeViewModel.status is SyncedSyncStatus); - - @override - Widget middle(BuildContext context) => Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Padding( - padding: const EdgeInsets.only(right: 6.0), - child: Observer( - builder: (_) => - SyncIndicatorIcon(isSynced: exchangeViewModel.status is SyncedSyncStatus), - ), - ), - PresentProviderPicker(exchangeViewModel: exchangeViewModel) - ], - ); - - @override - Widget trailing(BuildContext context) => TrailButton( - caption: S.of(context).reset, - onPressed: () { - _formKey.currentState?.reset(); - exchangeViewModel.reset(); - }, - ); - - @override - Widget? leading(BuildContext context) { - final _backButton = Icon( - Icons.arrow_back_ios, - color: Theme.of(context).colorScheme.primary, - size: 16, - ); - final _closeButton = currentTheme.isDark ? closeButtonImageDarkTheme : closeButtonImage; - - bool isMobileView = responsiveLayoutUtil.shouldRenderMobileUI; - - return MergeSemantics( - child: SizedBox( - height: isMobileView ? 37 : 45, - width: isMobileView ? 37 : 45, - child: ButtonTheme( - minWidth: double.minPositive, - child: Semantics( - label: !isMobileView ? S.of(context).close : S.of(context).seed_alert_back, - child: TextButton( - style: ButtonStyle( - overlayColor: WidgetStateColor.resolveWith((states) => Colors.transparent), - ), - onPressed: () => onClose(context), - child: !isMobileView ? _closeButton : _backButton, - ), - ), - ), - ), - ); - } - - @override - Widget body(BuildContext context) { - WidgetsBinding.instance.addPostFrameCallback((_) => _setReactions(context, exchangeViewModel)); - - return KeyboardActions( - disableScroll: true, - config: KeyboardActionsConfig( - keyboardActionsPlatform: KeyboardActionsPlatform.IOS, - keyboardBarColor: Theme.of(context).colorScheme.surfaceContainerHighest, - nextFocus: false, - actions: [ - KeyboardActionsItem( - focusNode: _depositAmountFocus, toolbarButtons: [(_) => KeyboardDoneButton()]), - KeyboardActionsItem( - focusNode: _receiveAmountFocus, toolbarButtons: [(_) => KeyboardDoneButton()]) - ], - ), - child: Container( - color: Theme.of(context).colorScheme.surface, - child: Form( - key: _formKey, - child: ScrollableWithBottomSection( - contentPadding: EdgeInsets.only(bottom: 24), - content: Observer( - builder: (_) => Column( - children: [ - _exchangeCardsSection(context), - Padding( - padding: EdgeInsets.only(top: 12, left: 24), - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - StandardCheckbox( - value: exchangeViewModel.isFixedRateMode, - caption: S.of(context).fixed_rate, - onChanged: (value) { - if (value) { - exchangeViewModel.enableFixedRateMode(); - } else { - exchangeViewModel.isFixedRateMode = false; - } - }, - ), - ], - ), - ), - SizedBox(height: 30), - _buildTemplateSection(context) - ], - ), - ), - bottomSectionPadding: EdgeInsets.only(left: 24, right: 24, bottom: 24), - bottomSection: Column( - children: [ - Padding( - padding: EdgeInsets.only(bottom: 15), - child: Observer( - builder: (_) { - final description = exchangeViewModel.isFixedRateMode - ? exchangeViewModel.isAvailableInSelected - ? S.of(context).amount_is_guaranteed - : S.of(context).fixed_pair_not_supported - : exchangeViewModel.isAvailableInSelected - ? S.of(context).amount_is_estimate - : S.of(context).this_pair_is_not_supported_warning; - return Row( - children: [ - if (description == S.of(context).this_pair_is_not_supported_warning) - Expanded( - child: Container( - alignment: Alignment.centerRight, - child: Icon(Icons.warning_amber_rounded, - color: Theme.of(context).colorScheme.error, size: 26), - ), - ), - Expanded( - flex: 8, - child: Text( - description, - textAlign: TextAlign.center, - softWrap: true, - overflow: TextOverflow.ellipsis, - maxLines: 3, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - color: Theme.of(context).colorScheme.onSurfaceVariant, - fontWeight: FontWeight.w500, - ), - ), - ), - ], - ); - }, - ), - ), - Observer( - builder: (_) => LoadingPrimaryButton( - key: ValueKey('exchange_page_exchange_button_key'), - text: exchangeViewModel.isAvailableInSelected - ? S.of(context).swap - : S.of(context).change_selected_exchanges, - onPressed: exchangeViewModel.isAvailableInSelected - ? () { - FocusScope.of(context).unfocus(); - - if (_formKey.currentState != null && - _formKey.currentState!.validate()) { - if (_shouldWaitTillSynced) { - showPopUp( - context: context, - builder: (BuildContext context) { - return AlertWithOneAction( - alertTitle: S.of(context).exchange, - alertContent: S.of(context).exchange_sync_alert_content, - buttonText: S.of(context).ok, - buttonAction: () => Navigator.of(context).pop(), - ); - }, - ); - } else { - final check = exchangeViewModel.shouldDisplayTOTP(); - authService.authenticateAction( - context, - conditionToDetermineIfToUse2FA: check, - onAuthSuccess: (value) { - if (value) { - exchangeViewModel.createTrade(); - } - }, - ); - } - } - } - : () => PresentProviderPicker(exchangeViewModel: exchangeViewModel) - .presentProviderPicker(context), - color: Theme.of(context).colorScheme.primary, - textColor: Theme.of(context).colorScheme.onPrimary, - isDisabled: exchangeViewModel.selectedProviders.isEmpty, - isLoading: exchangeViewModel.tradeState is TradeIsCreating, - ), - ), - ], - ), - ), - ), - ), - ); - } - - Widget _buildTemplateSection(BuildContext context) { - return Container( - height: 40, - width: double.infinity, - padding: EdgeInsets.only(left: 24), - child: SingleChildScrollView( - scrollDirection: Axis.horizontal, - child: Observer( - builder: (_) { - final templates = exchangeViewModel.templates; - - return Row( - children: [ - AddTemplateButton( - onTap: () => Navigator.of(context).pushNamed(Routes.exchangeTemplate), - currentTemplatesLength: templates.length, - ), - ListView.builder( - scrollDirection: Axis.horizontal, - shrinkWrap: true, - physics: NeverScrollableScrollPhysics(), - itemCount: templates.length, - itemBuilder: (context, index) { - final template = templates[index]; - - return TemplateTile( - key: UniqueKey(), - amount: template.amount, - from: template.depositCurrencyTitle, - to: template.receiveCurrencyTitle, - onTap: () { - applyTemplate(context, exchangeViewModel, template); - }, - onRemove: () { - showPopUp( - context: context, - builder: (dialogContext) { - return AlertWithTwoActions( - alertTitle: S.of(context).template, - alertContent: S.of(context).confirm_delete_template, - rightButtonText: S.of(context).delete, - leftButtonText: S.of(context).cancel, - actionRightButton: () { - Navigator.of(dialogContext).pop(); - exchangeViewModel.removeTemplate(template: template); - exchangeViewModel.updateTemplate(); - }, - actionLeftButton: () => Navigator.of(dialogContext).pop(), - ); - }, - ); - }, - ); - }, - ), - ], - ); - }, - ), - ), - ); - } - - void applyTemplate( - BuildContext context, ExchangeViewModel exchangeViewModel, ExchangeTemplate template) async { - final depositCryptoCurrency = - CryptoCurrency.safeParseCurrencyFromString(template.depositCurrency); - final receiveCryptoCurrency = - CryptoCurrency.safeParseCurrencyFromString(template.receiveCurrency); - - if (depositCryptoCurrency == null || receiveCryptoCurrency == null) { - ///TO DO: add support for user tokens - return; - } - - exchangeViewModel.changeDepositCurrency(currency: depositCryptoCurrency); - exchangeViewModel.changeReceiveCurrency(currency: receiveCryptoCurrency); - - exchangeViewModel.changeDepositAmount(amount: template.amount); - exchangeViewModel.depositAddress = template.depositAddress; - exchangeViewModel.receiveAddress = template.receiveAddress; - exchangeViewModel.isReceiveAmountEntered = false; - exchangeViewModel.isFixedRateMode = false; - - var domain = template.depositAddress; - exchangeViewModel.depositAddress = - await fetchParsedAddress(context, domain, depositCryptoCurrency); - - domain = template.receiveAddress; - exchangeViewModel.receiveAddress = - await fetchParsedAddress(context, domain, receiveCryptoCurrency); - } - - void _setReactions(BuildContext context, ExchangeViewModel exchangeViewModel) { - if (_isReactionsSet) { - return; - } - - if (exchangeViewModel.feesViewModel.isLowFee) { - _showFeeAlert(context); - } - - final depositAddressController = depositKey.currentState!.addressController; - final depositAmountController = depositKey.currentState!.amountController; - final receiveAddressController = receiveKey.currentState!.addressController; - final receiveAmountController = receiveKey.currentState!.amountController; - final limitsState = exchangeViewModel.limitsState; - - if (limitsState is LimitsLoadedSuccessfully) { - final min = limitsState.limits.min != null ? limitsState.limits.min.toString() : null; - final max = limitsState.limits.max != null ? limitsState.limits.max.toString() : null; - final key = exchangeViewModel.isFixedRateMode ? receiveKey : depositKey; - key.currentState!.changeLimits(min: min, max: max); - } - - _onCurrencyChange(exchangeViewModel.receiveCurrency, exchangeViewModel, receiveKey); - _onCurrencyChange(exchangeViewModel.depositCurrency, exchangeViewModel, depositKey); - - reaction( - (_) => exchangeViewModel.wallet.name, - (_) => - _onWalletNameChange(exchangeViewModel, exchangeViewModel.receiveCurrency, receiveKey)); - - reaction( - (_) => exchangeViewModel.wallet.name, - (_) => - _onWalletNameChange(exchangeViewModel, exchangeViewModel.depositCurrency, depositKey)); - - reaction((_) => exchangeViewModel.receiveCurrency, - (CryptoCurrency currency) => _onCurrencyChange(currency, exchangeViewModel, receiveKey)); - - reaction((_) => exchangeViewModel.depositCurrency, - (CryptoCurrency currency) => _onCurrencyChange(currency, exchangeViewModel, depositKey)); - - reaction((_) => exchangeViewModel.depositAmount, (String amount) { - if (exchangeViewModel.isSendAllEnabled) { - depositAmountController.text = S.of(context).all; - } else if (depositAmountController.text != amount && amount != S.of(context).all) { - depositAmountController.text = amount; - } - }); - - reaction((_) => exchangeViewModel.depositAddress, (String address) { - if (depositKey.currentState!.addressController.text != address) { - depositKey.currentState!.addressController.text = address; - } - }); - - reaction((_) => exchangeViewModel.isDepositAddressEnabled, (bool isEnabled) { - depositKey.currentState!.isAddressEditable(isEditable: isEnabled); - }); - - reaction((_) => exchangeViewModel.receiveAmount, (String amount) { - if (receiveKey.currentState!.amountController.text != amount) { - receiveKey.currentState!.amountController.text = amount; - } - }); - - reaction((_) => exchangeViewModel.receiveAddress, (String address) { - if (receiveKey.currentState!.addressController.text != address) { - receiveKey.currentState!.addressController.text = address; - } - }); - - reaction((_) => exchangeViewModel.isReceiveAmountEditable, (bool isReceiveAmountEditable) { - receiveKey.currentState!.isAmountEditable(isEditable: isReceiveAmountEditable); - }); - - reaction((_) => exchangeViewModel.tradeState, (ExchangeTradeState state) { - if (state is TradeIsCreatedFailure) { - WidgetsBinding.instance.addPostFrameCallback((_) { - showPopUp( - context: context, - builder: (BuildContext context) { - return AlertWithOneAction( - key: ValueKey('exchange_page_trade_creation_failure_dialog_key'), - buttonKey: ValueKey('exchange_page_trade_creation_failure_dialog_button_key'), - alertTitle: S.of(context).provider_error(state.title), - alertContent: state.error, - buttonText: S.of(context).ok, - buttonAction: () => Navigator.of(context).pop()); - }); - }); - } - if (state is TradeIsCreatedSuccessfully) { - exchangeViewModel.reset(); - (exchangeViewModel.tradesStore.trade?.provider == ExchangeProviderDescription.thorChain || - exchangeViewModel.tradesStore.trade?.provider == - ExchangeProviderDescription.chainflip) - ? Navigator.of(context).pushReplacementNamed(Routes.exchangeTrade) - : Navigator.of(context).pushReplacementNamed(Routes.exchangeConfirm); - } - }); - - reaction((_) => exchangeViewModel.limitsState, (LimitsState state) { - String? min; - String? max; - - if (state is LimitsLoadedSuccessfully) { - min = state.limits.min != null ? state.limits.min.toString() : null; - max = state.limits.max != null ? state.limits.max.toString() : null; - } - - if (state is LimitsLoadedFailure) { - min = '0'; - max = '0'; - } - - if (state is LimitsIsLoading) { - min = '...'; - max = '...'; - } - - if (exchangeViewModel.isFixedRateMode) { - depositKey.currentState!.changeLimits(min: null, max: null); - receiveKey.currentState!.changeLimits(min: min, max: max); - } else { - depositKey.currentState!.changeLimits(min: min, max: max); - receiveKey.currentState!.changeLimits(min: null, max: null); - } - }); - - reaction((_) => exchangeViewModel.bestRate, (double rate) { - if (exchangeViewModel.isFixedRateMode) { - exchangeViewModel.changeReceiveAmount(amount: receiveAmountController.text); - } else { - if (depositAmountController.text == S.current.all) - exchangeViewModel.changeDepositAmount(amount: exchangeViewModel.depositAmount); - else - exchangeViewModel.changeDepositAmount(amount: depositAmountController.text); - } - }); - - depositAddressController - .addListener(() => exchangeViewModel.depositAddress = depositAddressController.text); - - depositAmountController.addListener(() { - if (depositAmountController.text != exchangeViewModel.depositAmount && - depositAmountController.text != S.of(context).all) { - exchangeViewModel.isSendAllEnabled = false; - final isThorChain = exchangeViewModel.selectedProviders - .any((provider) => provider is ThorChainExchangeProvider); - final isChainflip = exchangeViewModel.selectedProviders - .any((provider) => provider is ChainflipExchangeProvider); - - _depositAmountDebounce = isThorChain || isChainflip - ? Debounce(Duration(milliseconds: 1000)) - : Debounce(Duration(milliseconds: 500)); - - _depositAmountDebounce.run(() { - exchangeViewModel.calculateBestRate(); - exchangeViewModel.changeDepositAmount(amount: depositAmountController.text); - exchangeViewModel.isReceiveAmountEntered = false; - }); - } - }); - - receiveAddressController - .addListener(() => exchangeViewModel.receiveAddress = receiveAddressController.text); - - receiveAmountController.addListener(() { - if (receiveAmountController.text != exchangeViewModel.receiveAmount) { - _receiveAmountDebounce.run(() { - exchangeViewModel.calculateBestRate(); - exchangeViewModel.changeReceiveAmount(amount: receiveAmountController.text); - exchangeViewModel.isReceiveAmountEntered = true; - }); - } - }); - - reaction((_) => exchangeViewModel.wallet.walletAddresses.addressForExchange, (String address) { - if (exchangeViewModel.depositCurrency == CryptoCurrency.xmr) { - depositKey.currentState!.changeAddress(address: address); - } - - if (exchangeViewModel.receiveCurrency == CryptoCurrency.xmr) { - receiveKey.currentState!.changeAddress(address: address); - } - }); - - _depositAddressFocus.addListener(() async { - if (!_depositAddressFocus.hasFocus && depositAddressController.text.isNotEmpty) { - final domain = depositAddressController.text; - exchangeViewModel.depositAddress = - await fetchParsedAddress(context, domain, exchangeViewModel.depositCurrency); - } - }); - - _receiveAddressFocus.addListener(() async { - if (!_receiveAddressFocus.hasFocus && receiveAddressController.text.isNotEmpty) { - final domain = receiveAddressController.text; - exchangeViewModel.receiveAddress = - await fetchParsedAddress(context, domain, exchangeViewModel.receiveCurrency); - } - }); - - _receiveAmountFocus.addListener(() { - if (_receiveAmountFocus.hasFocus) { - exchangeViewModel.enableFixedRateMode(); - } - // exchangeViewModel.changeReceiveAmount(amount: receiveAmountController.text); - }); - - _depositAmountFocus.addListener(() { - exchangeViewModel.isFixedRateMode = false; - // exchangeViewModel.changeDepositAmount( - // amount: depositAmountController.text); - }); - - if (initialPaymentRequest != null) { - try { - exchangeViewModel.receiveCurrency = - CryptoCurrency.fromString(initialPaymentRequest!.scheme); - exchangeViewModel.setCanonicalReceiveAmount(initialPaymentRequest!.amount); - exchangeViewModel.receiveAddress = initialPaymentRequest!.address; - } catch (e) { - printV('error: ${e.toString()}'); - // TODO - } - } - - _isReactionsSet = true; - } - - void _onCurrencyChange(CryptoCurrency currency, ExchangeViewModel exchangeViewModel, - GlobalKey key) { - final isCurrentTypeWallet = exchangeViewModel.useSameWalletAddress(currency); - - key.currentState!.changeSelectedCurrency(currency); - key.currentState!.changeWalletName(isCurrentTypeWallet ? exchangeViewModel.wallet.name : ''); - - key.currentState!.changeAddress( - address: - isCurrentTypeWallet ? exchangeViewModel.wallet.walletAddresses.addressForExchange : ''); - } - - void _onWalletNameChange(ExchangeViewModel exchangeViewModel, CryptoCurrency currency, - GlobalKey key) { - final isCurrentTypeWallet = currency == exchangeViewModel.wallet.currency; - - if (isCurrentTypeWallet) { - key.currentState!.changeWalletName(exchangeViewModel.wallet.name); - key.currentState!.addressController.text = - exchangeViewModel.wallet.walletAddresses.addressForExchange; - } else if (key.currentState!.addressController.text == - exchangeViewModel.wallet.walletAddresses.addressForExchange) { - key.currentState!.changeWalletName(''); - key.currentState!.addressController.text = ''; - } - } - - Future fetchParsedAddress( - BuildContext context, String domain, CryptoCurrency currency) async { - final parsedAddresses = await adrResService.resolve( - query: domain, wallet: exchangeViewModel.wallet, currency: currency); - return parsedAddresses.isNotEmpty - ? (parsedAddresses.first.parsedAddressByCurrencyMap[currency] ?? domain) - : domain; - } - - void _showFeeAlert(BuildContext context) async { - await Future.delayed(Duration(seconds: 1)); - final confirmed = await showPopUp( - context: context, - builder: (dialogContext) { - return AlertWithTwoActions( - alertTitle: S.of(context).low_fee, - alertContent: S.of(context).low_fee_alert, - leftButtonText: S.of(context).ignor, - rightButtonText: S.of(context).use_suggested, - actionLeftButton: () => Navigator.of(dialogContext).pop(false), - actionRightButton: () => Navigator.of(dialogContext).pop(true)); - }) ?? - false; - if (confirmed) { - exchangeViewModel.feesViewModel.setDefaultTransactionPriority(); - } - } - - void disposeBestRateSync() => exchangeViewModel.bestRateSync.cancel(); - - Widget _exchangeCardsSection(BuildContext context) { - final firstExchangeCard = Observer( - builder: (_) => ExchangeCard( - cardInstanceName: 'deposit_exchange_card', - onDispose: disposeBestRateSync, - hasAllAmount: exchangeViewModel.hasAllAmount, - allAmount: - exchangeViewModel.hasAllAmount ? () => exchangeViewModel.enableSendAllAmount() : null, - isAllAmountEnabled: exchangeViewModel.isSendAllEnabled, - amountFocusNode: _depositAmountFocus, - addressFocusNode: _depositAddressFocus, - key: depositKey, - title: S.of(context).you_will_send, - initialCurrency: exchangeViewModel.depositCurrency, - initialWalletName: depositWalletName ?? '', - initialAddress: exchangeViewModel.depositCurrency == exchangeViewModel.wallet.currency - ? exchangeViewModel.wallet.walletAddresses.addressForExchange - : exchangeViewModel.depositAddress, - initialIsAmountEditable: true, - initialIsAddressEditable: exchangeViewModel.isDepositAddressEnabled, - isAmountEstimated: false, - hasRefundAddress: true, - isMoneroWallet: exchangeViewModel.isMoneroWallet, - currencies: exchangeViewModel.depositCurrencies, - onCurrencySelected: (currency) { - exchangeViewModel.changeDepositCurrency(currency: currency); - }, - currencyButtonColor: Colors.transparent, - addressButtonsColor: Colors.transparent, - borderColor: Theme.of(context).colorScheme.outlineVariant, - fillColor: Theme.of(context).colorScheme.surfaceContainer, - currencyValueValidator: (value) { - return !exchangeViewModel.isFixedRateMode && value != S.of(context).all - ? AmountValidator( - isAutovalidate: true, - currency: exchangeViewModel.depositCurrency, - amountParsingProxy: exchangeViewModel.amountParsingProxy, - minValue: exchangeViewModel.limits.min.toString(), - maxValue: exchangeViewModel.limits.max.toString(), - ).call(value) - : null; - }, - addressTextFieldValidator: AddressValidator(type: exchangeViewModel.depositCurrency), - onPushPasteButton: (context) async { - final domain = exchangeViewModel.depositAddress; - exchangeViewModel.depositAddress = - await fetchParsedAddress(context, domain, exchangeViewModel.depositCurrency); - }, - onPushAddressBookButton: (context) async { - final domain = exchangeViewModel.depositAddress; - exchangeViewModel.depositAddress = - await fetchParsedAddress(context, domain, exchangeViewModel.depositCurrency); - }, - useSatoshis: exchangeViewModel.useDepositBaseUnit, - ), - ); - - final secondExchangeCard = Observer( - builder: (_) => ExchangeCard( - cardInstanceName: 'receive_exchange_card', - onDispose: disposeBestRateSync, - amountFocusNode: _receiveAmountFocus, - addressFocusNode: _receiveAddressFocus, - key: receiveKey, - title: S.of(context).you_will_get, - initialCurrency: exchangeViewModel.receiveCurrency, - initialWalletName: receiveWalletName ?? '', - initialAddress: exchangeViewModel.receiveCurrency == exchangeViewModel.wallet.currency - ? exchangeViewModel.wallet.walletAddresses.addressForExchange - : exchangeViewModel.receiveAddress, - initialIsAmountEditable: exchangeViewModel.isReceiveAmountEditable, - isAmountEstimated: true, - isMoneroWallet: exchangeViewModel.isMoneroWallet, - currencies: exchangeViewModel.receiveCurrencies, - onCurrencySelected: (currency) => - exchangeViewModel.changeReceiveCurrency(currency: currency), - currencyButtonColor: Colors.transparent, - addressButtonsColor: Colors.transparent, - borderColor: Theme.of(context).colorScheme.outlineVariant, - fillColor: Theme.of(context).colorScheme.surfaceContainerLow, - currencyValueValidator: (value) { - return exchangeViewModel.isFixedRateMode - ? AmountValidator( - isAutovalidate: true, - currency: exchangeViewModel.receiveCurrency, - amountParsingProxy: exchangeViewModel.amountParsingProxy, - minValue: exchangeViewModel.limits.min.toString(), - maxValue: exchangeViewModel.limits.max.toString(), - ).call(value) - : null; - }, - addressTextFieldValidator: AddressValidator(type: exchangeViewModel.receiveCurrency), - onPushPasteButton: (context) async { - final domain = exchangeViewModel.receiveAddress; - exchangeViewModel.receiveAddress = - await fetchParsedAddress(context, domain, exchangeViewModel.receiveCurrency); - }, - onPushAddressBookButton: (context) async { - final domain = exchangeViewModel.receiveAddress; - exchangeViewModel.receiveAddress = - await fetchParsedAddress(context, domain, exchangeViewModel.receiveCurrency); - }, - useSatoshis: exchangeViewModel.useReceiveBaseUnit, - ), - ); - - return responsiveLayoutUtil.shouldRenderMobileUI - ? MobileExchangeCardsSection( - firstExchangeCard: firstExchangeCard, - secondExchangeCard: secondExchangeCard, - ) - : DesktopExchangeCardsSection( - firstExchangeCard: firstExchangeCard, - secondExchangeCard: secondExchangeCard, - ); - } -} diff --git a/lib/src/screens/exchange/exchange_template_page.dart b/lib/src/screens/exchange/exchange_template_page.dart deleted file mode 100644 index 893238455..000000000 --- a/lib/src/screens/exchange/exchange_template_page.dart +++ /dev/null @@ -1,378 +0,0 @@ -import 'package:cake_wallet/exchange/provider/exchange_provider.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/widgets/keyboard_done_button.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:keyboard_actions/keyboard_actions.dart'; -import 'package:mobx/mobx.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cw_core/crypto_currency.dart'; -import 'package:cake_wallet/src/screens/exchange/widgets/exchange_card.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/src/widgets/scrollable_with_bottom_section.dart'; -import 'package:cake_wallet/view_model/exchange/exchange_view_model.dart'; -import 'package:cake_wallet/core/amount_validator.dart'; -import 'package:cake_wallet/src/screens/exchange/widgets/present_provider_picker.dart'; - -class ExchangeTemplatePage extends BasePage { - ExchangeTemplatePage(this.exchangeViewModel); - - final ExchangeViewModel exchangeViewModel; - final depositKey = GlobalKey(); - final receiveKey = GlobalKey(); - final _formKey = GlobalKey(); - final _depositAmountFocus = FocusNode(); - final _receiveAmountFocus = FocusNode(); - var _isReactionsSet = false; - - @override - bool get gradientAll => true; - - @override - String get title => S.current.exchange_new_template; - - @override - bool get extendBodyBehindAppBar => true; - - @override - AppBarStyle get appBarStyle => AppBarStyle.transparent; - - @override - Widget trailing(BuildContext context) => - PresentProviderPicker(exchangeViewModel: exchangeViewModel); - - @override - Widget body(BuildContext context) { - final arrowBottomPurple = Image.asset( - 'assets/images/arrow_bottom_purple_icon.png', - color: Theme.of(context).colorScheme.primary, - height: 8, - ); - final arrowBottomCakeGreen = Image.asset( - 'assets/images/arrow_bottom_cake_green.png', - color: Theme.of(context).colorScheme.primary, - height: 8, - ); - - final depositWalletName = exchangeViewModel.depositCurrency == CryptoCurrency.xmr - ? exchangeViewModel.wallet.name - : null; - final receiveWalletName = exchangeViewModel.receiveCurrency == CryptoCurrency.xmr - ? exchangeViewModel.wallet.name - : null; - - WidgetsBinding.instance.addPostFrameCallback((_) => _setReactions(context, exchangeViewModel)); - - return KeyboardActions( - disableScroll: true, - config: KeyboardActionsConfig( - keyboardActionsPlatform: KeyboardActionsPlatform.IOS, - keyboardBarColor: Theme.of(context).colorScheme.surfaceVariant, - nextFocus: false, - actions: [ - KeyboardActionsItem( - focusNode: _depositAmountFocus, toolbarButtons: [(_) => KeyboardDoneButton()]), - KeyboardActionsItem( - focusNode: _receiveAmountFocus, toolbarButtons: [(_) => KeyboardDoneButton()]) - ], - ), - child: Container( - color: Theme.of(context).colorScheme.surface, - child: Form( - key: _formKey, - child: ScrollableWithBottomSection( - contentPadding: EdgeInsets.only(bottom: 24), - content: Container( - padding: EdgeInsets.only(bottom: 32), - decoration: BoxDecoration( - borderRadius: BorderRadius.only( - bottomLeft: Radius.circular(24), - bottomRight: Radius.circular(24), - ), - color: Theme.of(context).colorScheme.surfaceContainer, - ), - child: FocusTraversalGroup( - policy: OrderedTraversalPolicy(), - child: Column( - children: [ - Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.only( - bottomLeft: Radius.circular(24), - bottomRight: Radius.circular(24)), - color: Theme.of(context).colorScheme.surfaceContainerLow, - ), - padding: EdgeInsets.fromLTRB(24, 100, 24, 32), - child: Observer( - builder: (_) => ExchangeCard( - cardInstanceName: 'deposit_exchange_template_card', - amountFocusNode: _depositAmountFocus, - key: depositKey, - title: S.of(context).you_will_send, - initialCurrency: exchangeViewModel.depositCurrency, - initialWalletName: depositWalletName ?? '', - initialAddress: exchangeViewModel.depositCurrency == - exchangeViewModel.wallet.currency - ? exchangeViewModel.wallet.walletAddresses.addressForExchange - : exchangeViewModel.depositAddress, - initialIsAmountEditable: true, - initialIsAddressEditable: exchangeViewModel.isDepositAddressEnabled, - isAmountEstimated: false, - hasRefundAddress: true, - isMoneroWallet: exchangeViewModel.isMoneroWallet, - currencies: CryptoCurrency.all, - onCurrencySelected: (currency) => - exchangeViewModel.changeDepositCurrency(currency: currency), - imageArrow: arrowBottomPurple, - currencyButtonColor: Colors.transparent, - addressButtonsColor: - Theme.of(context).colorScheme.surfaceContainerHighest, - borderColor: Theme.of(context).colorScheme.outlineVariant, - fillColor: Theme.of(context).colorScheme.surfaceContainer, - currencyValueValidator: AmountValidator( - currency: exchangeViewModel.depositCurrency, - amountParsingProxy: exchangeViewModel.amountParsingProxy, - ), - ), - ), - ), - Padding( - padding: EdgeInsets.only(top: 29, left: 24, right: 24), - child: Observer( - builder: (_) => ExchangeCard( - cardInstanceName: 'receive_exchange_template_card', - amountFocusNode: _receiveAmountFocus, - key: receiveKey, - title: S.of(context).you_will_get, - initialCurrency: exchangeViewModel.receiveCurrency, - initialWalletName: receiveWalletName ?? '', - initialAddress: exchangeViewModel.receiveCurrency == - exchangeViewModel.wallet.currency - ? exchangeViewModel.wallet.walletAddresses.addressForExchange - : exchangeViewModel.receiveAddress, - initialIsAmountEditable: false, - isAmountEstimated: true, - isMoneroWallet: exchangeViewModel.isMoneroWallet, - currencies: exchangeViewModel.receiveCurrencies, - onCurrencySelected: (currency) => - exchangeViewModel.changeReceiveCurrency(currency: currency), - imageArrow: arrowBottomCakeGreen, - currencyButtonColor: Colors.transparent, - addressButtonsColor: - Theme.of(context).colorScheme.surfaceContainerHighest, - borderColor: Theme.of(context).colorScheme.outlineVariant, - fillColor: Theme.of(context).colorScheme.surfaceContainerLow, - currencyValueValidator: AmountValidator( - currency: exchangeViewModel.receiveCurrency, - amountParsingProxy: exchangeViewModel.amountParsingProxy, - ), - ), - ), - ) - ], - ), - ), - ), - bottomSectionPadding: EdgeInsets.only(left: 24, right: 24, bottom: 24), - bottomSection: Column(children: [ - Padding( - padding: EdgeInsets.only(bottom: 15), - child: Observer( - builder: (_) => Center( - child: Text( - S.of(context).amount_is_estimate, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - color: Theme.of(context).colorScheme.onSurfaceVariant, - fontWeight: FontWeight.w500, - ), - ), - ), - ), - ), - PrimaryButton( - onPressed: () { - if (_formKey.currentState != null && _formKey.currentState!.validate()) { - exchangeViewModel.addTemplate( - amount: exchangeViewModel.depositAmount, - depositCurrency: exchangeViewModel.depositCurrency.name, - depositCurrencyTitle: exchangeViewModel.depositCurrency.title + - ' ${exchangeViewModel.depositCurrency.tag ?? ''}', - receiveCurrency: exchangeViewModel.receiveCurrency.name, - receiveCurrencyTitle: exchangeViewModel.receiveCurrency.title + - ' ${exchangeViewModel.receiveCurrency.tag ?? ''}', - provider: exchangeViewModel.provider.toString(), - depositAddress: exchangeViewModel.depositAddress, - receiveAddress: exchangeViewModel.receiveAddress); - exchangeViewModel.updateTemplate(); - Navigator.of(context).pop(); - } - }, - text: S.of(context).save, - color: Theme.of(context).colorScheme.primary, - textColor: Theme.of(context).colorScheme.onPrimary), - ]), - )))); - } - - void _setReactions(BuildContext context, ExchangeViewModel exchangeViewModel) { - if (_isReactionsSet) { - return; - } - - final depositAddressController = depositKey.currentState!.addressController; - final depositAmountController = depositKey.currentState!.amountController; - final receiveAddressController = receiveKey.currentState!.addressController; - final receiveAmountController = receiveKey.currentState!.amountController; - final limitsState = exchangeViewModel.limitsState; - - // FIXME: FIXME - - // final limitsState = exchangeViewModel.limitsState; - // - // if (limitsState is LimitsLoadedSuccessfully) { - // final min = limitsState.limits.min != null - // ? limitsState.limits.min.toString() - // : null; - // final max = limitsState.limits.max != null - // ? limitsState.limits.max.toString() - // : null; - // final key = depositKey; - // key.currentState.changeLimits(min: min, max: max); - // } - - _onCurrencyChange(exchangeViewModel.receiveCurrency, exchangeViewModel, receiveKey); - _onCurrencyChange(exchangeViewModel.depositCurrency, exchangeViewModel, depositKey); - - reaction( - (_) => exchangeViewModel.wallet.name, - (String _) => - _onWalletNameChange(exchangeViewModel, exchangeViewModel.receiveCurrency, receiveKey)); - - reaction( - (_) => exchangeViewModel.wallet.name, - (String _) => - _onWalletNameChange(exchangeViewModel, exchangeViewModel.depositCurrency, depositKey)); - - reaction((_) => exchangeViewModel.receiveCurrency, - (CryptoCurrency currency) => _onCurrencyChange(currency, exchangeViewModel, receiveKey)); - - reaction((_) => exchangeViewModel.depositCurrency, - (CryptoCurrency currency) => _onCurrencyChange(currency, exchangeViewModel, depositKey)); - - reaction((_) => exchangeViewModel.depositAmount, (String amount) { - if (depositKey.currentState!.amountController.text != amount && amount != S.of(context).all) { - depositKey.currentState!.amountController.text = amount; - } - }); - - reaction((_) => exchangeViewModel.depositAddress, (String address) { - if (depositKey.currentState!.addressController.text != address) { - depositKey.currentState!.addressController.text = address; - } - }); - - reaction((_) => exchangeViewModel.isDepositAddressEnabled, (bool isEnabled) { - depositKey.currentState!.isAddressEditable(isEditable: isEnabled); - }); - - reaction((_) => exchangeViewModel.receiveAmount, (String amount) { - if (receiveKey.currentState!.amountController.text != amount) { - receiveKey.currentState!.amountController.text = amount; - } - }); - - reaction((_) => exchangeViewModel.receiveAddress, (String address) { - if (receiveKey.currentState!.addressController.text != address) { - receiveKey.currentState!.addressController.text = address; - } - }); - - reaction((_) => exchangeViewModel.provider, (ExchangeProvider? provider) { - receiveKey.currentState!.isAmountEditable(isEditable: false); - }); - - /*reaction((_) => exchangeViewModel.limitsState, (LimitsState state) { - String min; - String max; - - if (state is LimitsLoadedSuccessfully) { - min = state.limits.min != null ? state.limits.min.toString() : null; - max = state.limits.max != null ? state.limits.max.toString() : null; - } - - if (state is LimitsLoadedFailure) { - min = '0'; - max = '0'; - } - - if (state is LimitsIsLoading) { - min = '...'; - max = '...'; - } - - depositKey.currentState.changeLimits(min: min, max: max); - receiveKey.currentState.changeLimits(min: null, max: null); - });*/ - - depositAddressController - .addListener(() => exchangeViewModel.depositAddress = depositAddressController.text); - - depositAmountController.addListener(() { - if (depositAmountController.text != exchangeViewModel.depositAmount && - exchangeViewModel.depositAmount != S.of(context).all) { - exchangeViewModel.changeDepositAmount(amount: depositAmountController.text); - exchangeViewModel.isReceiveAmountEntered = false; - } - }); - - receiveAddressController - .addListener(() => exchangeViewModel.receiveAddress = receiveAddressController.text); - - receiveAmountController.addListener(() { - if (receiveAmountController.text != exchangeViewModel.receiveAmount) { - exchangeViewModel.changeReceiveAmount(amount: receiveAmountController.text); - exchangeViewModel.isReceiveAmountEntered = true; - } - }); - - reaction((_) => exchangeViewModel.wallet.walletAddresses.address, (String address) { - if (exchangeViewModel.depositCurrency == CryptoCurrency.xmr) { - depositKey.currentState!.changeAddress(address: address); - } - - if (exchangeViewModel.receiveCurrency == CryptoCurrency.xmr) { - receiveKey.currentState!.changeAddress(address: address); - } - }); - - _isReactionsSet = true; - } - - void _onCurrencyChange(CryptoCurrency currency, ExchangeViewModel exchangeViewModel, - GlobalKey key) { - final isCurrentTypeWallet = currency == exchangeViewModel.wallet.currency; - - key.currentState!.changeSelectedCurrency(currency); - key.currentState!.changeWalletName(isCurrentTypeWallet ? exchangeViewModel.wallet.name : ''); - - key.currentState!.changeAddress( - address: isCurrentTypeWallet ? exchangeViewModel.wallet.walletAddresses.address : ''); - - key.currentState!.changeAmount(amount: ''); - } - - void _onWalletNameChange(ExchangeViewModel exchangeViewModel, CryptoCurrency currency, - GlobalKey key) { - final isCurrentTypeWallet = currency == exchangeViewModel.wallet.currency; - - if (isCurrentTypeWallet) { - key.currentState!.changeWalletName(exchangeViewModel.wallet.name); - key.currentState!.addressController.text = exchangeViewModel.wallet.walletAddresses.address; - } else if (key.currentState!.addressController.text == - exchangeViewModel.wallet.walletAddresses.address) { - key.currentState!.changeWalletName(''); - key.currentState!.addressController.text = ''; - } - } -} diff --git a/lib/src/screens/exchange/widgets/currency_picker_item_widget.dart b/lib/src/screens/exchange/widgets/currency_picker_item_widget.dart deleted file mode 100644 index 6a0bb7405..000000000 --- a/lib/src/screens/exchange/widgets/currency_picker_item_widget.dart +++ /dev/null @@ -1,78 +0,0 @@ -import 'package:flutter/material.dart'; - -class PickerItemWidget extends StatelessWidget { - const PickerItemWidget( - {required this.title, this.iconPath, this.isSelected = false, this.tag, this.onTap}); - - final String? iconPath; - final String title; - final bool isSelected; - final String? tag; - final VoidCallback? onTap; - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: onTap, - child: Container( - color: Theme.of(context).colorScheme.surface, - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 8.0, horizontal: 24), - child: Row( - children: [ - Container( - child: Image.asset( - iconPath ?? '', - height: 20.0, - width: 20.0, - ), - ), - const SizedBox(width: 12), - Expanded( - child: Row( - children: [ - Text( - title.toUpperCase(), - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - color: isSelected - ? Theme.of(context).colorScheme.primary - : Theme.of(context).colorScheme.onSurface, - fontSize: isSelected ? 16 : 14.0, - fontWeight: FontWeight.w600, - ), - ), - if (tag != null) - Align( - alignment: Alignment.topCenter, - child: Container( - width: 35.0, - height: 18.0, - child: Center( - child: Text( - tag!, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 7.0, color: Theme.of(context).colorScheme.primary), - ), - ), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(6.0), - //border: Border.all(color: ), - color: Theme.of(context).colorScheme.surfaceContainerHighest, - ), - ), - ), - ], - ), - ), - if (isSelected) - Icon( - Icons.check, - color: Theme.of(context).colorScheme.primary, - ), - ], - ), - ), - ), - ); - } -} diff --git a/lib/src/screens/exchange/widgets/currency_picker_widget.dart b/lib/src/screens/exchange/widgets/currency_picker_widget.dart deleted file mode 100644 index f3b157fa5..000000000 --- a/lib/src/screens/exchange/widgets/currency_picker_widget.dart +++ /dev/null @@ -1,49 +0,0 @@ -import 'package:cw_core/currency.dart'; -import 'package:flutter/material.dart'; -import 'currency_picker_item_widget.dart'; - -class CurrencyPickerWidget extends StatelessWidget { - CurrencyPickerWidget({ - required this.crossAxisCount, - required this.selectedAtIndex, - required this.pickerItemsList, - required this.pickListItem, - }); - - final int crossAxisCount; - final int selectedAtIndex; - final Function pickListItem; - final List pickerItemsList; - - final ScrollController _scrollController = ScrollController(); - - @override - Widget build(BuildContext context) { - return Container( - color: Theme.of(context).colorScheme.outlineVariant, - child: Scrollbar( - controller: _scrollController, - child: GridView.builder( - controller: _scrollController, - padding: EdgeInsets.zero, - shrinkWrap: true, - gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( - crossAxisCount: crossAxisCount, - crossAxisSpacing: 2, - childAspectRatio: 3, - ), - itemCount: pickerItemsList.length, - itemBuilder: (BuildContext ctx, index) { - return PickerItemWidget( - onTap: () { - pickListItem(index); - }, - title: pickerItemsList[index].name, - iconPath: pickerItemsList[index].iconPath, - tag: pickerItemsList[index].tag, - ); - }), - ), - ); - } -} diff --git a/lib/src/screens/exchange_trade/exchange_confirm_page.dart b/lib/src/screens/exchange_trade/exchange_confirm_page.dart deleted file mode 100644 index dbb99fc12..000000000 --- a/lib/src/screens/exchange_trade/exchange_confirm_page.dart +++ /dev/null @@ -1,151 +0,0 @@ -import 'package:cake_wallet/exchange/exchange_provider_description.dart'; -import 'package:cake_wallet/store/dashboard/trades_store.dart'; -import 'package:cake_wallet/utils/image_utill.dart'; -import 'package:cake_wallet/utils/show_bar.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/exchange/trade.dart'; - -class ExchangeConfirmPage extends BasePage { - ExchangeConfirmPage({required this.tradesStore}) : trade = tradesStore.trade!; - - final TradesStore tradesStore; - final Trade trade; - - @override - String get title => S.current.swap; - - @override - Widget body(BuildContext context) { - return Container( - padding: EdgeInsets.fromLTRB(24, 0, 24, 24), - child: Column( - children: [ - Expanded( - child: Column( - children: [ - Flexible( - child: Center( - child: Text( - S.of(context).exchange_result_write_down_trade_id, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyLarge?.copyWith( - fontSize: 18.0, - fontWeight: FontWeight.w500, - ), - ), - ), - ), - Container( - height: 178, - decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(30)), - border: Border.all( - width: 0.0, - color: Theme.of(context).colorScheme.outlineVariant, - ), - color: Theme.of(context).colorScheme.surfaceContainer, - ), - child: Column( - children: [ - Expanded( - child: Padding( - padding: EdgeInsets.all(24), - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Text( - "${trade.provider.title} ${S.of(context).trade_id}", - style: Theme.of(context).textTheme.bodySmall?.copyWith( - fontWeight: FontWeight.w500, - ), - ), - Expanded( - child: Text( - trade.id, - overflow: TextOverflow.visible, - style: Theme.of(context).textTheme.titleLarge?.copyWith( - fontSize: 20, - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - ), - ], - ), - ), - ), - Padding( - padding: EdgeInsets.fromLTRB(10, 0, 10, 10), - child: Builder( - builder: (context) => PrimaryButton( - key: ValueKey('exchange_confirm_page_copy_to_clipboard_button_key'), - onPressed: () { - Clipboard.setData(ClipboardData(text: trade.id)); - showBar(context, S.of(context).copied_to_clipboard); - }, - text: S.of(context).copy_id, - color: Theme.of(context).colorScheme.surfaceContainerLow, - textColor: Theme.of(context).colorScheme.onSurface, - borderRadius: BorderRadius.circular(30.0), - ), - ), - ) - ], - ), - ), - Expanded( - child: Column( - children: [ - if (trade.provider == ExchangeProviderDescription.trocador) - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Text( - S.of(context).selected_trocador_provider + ':${trade.providerName}', - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - fontWeight: FontWeight.w500, - ), - ), - ), - Flexible( - child: Center( - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - (trade.provider.image.isNotEmpty) - ? ImageUtil.getImageFromPath( - imagePath: trade.provider.image, height: 50, width: 50) - : const SizedBox(), - if (!trade.provider.horizontalLogo) - Padding( - padding: const EdgeInsets.symmetric(horizontal: 8.0), - child: Text(trade.provider.title), - ), - ], - ), - ), - ), - ], - ), - ), - ], - ), - ), - PrimaryButton( - key: ValueKey('exchange_confirm_page_saved_id_button_key'), - onPressed: () => Navigator.of(context).pushReplacementNamed(Routes.exchangeTrade), - text: S.of(context).saved_the_trade_id, - color: Theme.of(context).colorScheme.primary, - textColor: Theme.of(context).colorScheme.onPrimary, - ) - ], - ), - ); - } -} diff --git a/lib/src/screens/exchange_trade/exchange_trade_external_send_page.dart b/lib/src/screens/exchange_trade/exchange_trade_external_send_page.dart deleted file mode 100644 index 6788aedad..000000000 --- a/lib/src/screens/exchange_trade/exchange_trade_external_send_page.dart +++ /dev/null @@ -1,156 +0,0 @@ -import 'package:cake_wallet/entities/qr_view_data.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/src/screens/exchange_trade/widgets/exchange_trade_card_item_widget.dart'; -import 'package:cake_wallet/src/screens/receive/widgets/qr_image.dart'; -import 'package:cake_wallet/utils/brightness_util.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:flutter/material.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/core/execution_state.dart'; -import 'package:cake_wallet/view_model/exchange/exchange_trade_view_model.dart'; -import 'package:cake_wallet/view_model/send/send_view_model_state.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/src/widgets/scrollable_with_bottom_section.dart'; - -class ExchangeTradeExternalSendPage extends BasePage { - ExchangeTradeExternalSendPage({required this.exchangeTradeViewModel}); - - final ExchangeTradeViewModel exchangeTradeViewModel; - @override - String get title => S.current.swap; - - @override - bool get gradientAll => true; - - @override - bool get resizeToAvoidBottomInset => false; - - @override - bool get extendBodyBehindAppBar => true; - - @override - AppBarStyle get appBarStyle => AppBarStyle.transparent; - - final fetchingLabel = S.current.fetching; - - @override - Widget body(BuildContext context) { - final copyImage = Image.asset( - 'assets/images/copy_content.png', - height: 16, - width: 16, - color: Theme.of(context).colorScheme.primary, - ); - return Container( - child: ScrollableWithBottomSection( - contentPadding: EdgeInsets.only(bottom: 24), - content: Observer( - builder: (_) { - return Column( - children: [ - Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.only( - bottomLeft: Radius.circular(24), bottomRight: Radius.circular(24)), - color: Theme.of(context).colorScheme.surfaceContainerLow, - ), - padding: EdgeInsets.fromLTRB(24, 110, 24, 32), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - Spacer(flex: 3), - Flexible( - flex: 6, - child: GestureDetector( - onTap: () { - BrightnessUtil.changeBrightnessForFunction( - () async { - await Navigator.pushNamed( - context, - Routes.fullscreenQR, - arguments: QrViewData( - embeddedImagePath: - exchangeTradeViewModel.trade.from?.iconPath, - data: exchangeTradeViewModel.paymentUri?.toString() ?? - exchangeTradeViewModel.trade.inputAddress ?? - fetchingLabel, - ), - ); - }, - ); - }, - child: Center( - child: AspectRatio( - aspectRatio: 1.0, - child: Container( - padding: EdgeInsets.all(5), - decoration: BoxDecoration( - border: Border.all( - width: 3, - color: Theme.of(context).colorScheme.primary, - ), - ), - child: QrImage( - data: exchangeTradeViewModel.paymentUri?.toString() ?? - exchangeTradeViewModel.trade.inputAddress ?? - fetchingLabel, - embeddedImagePath: - exchangeTradeViewModel.trade.from?.iconPath, - size: 230, - ), - ), - ), - ), - ), - ), - Spacer(flex: 3) - ], - ), - SizedBox(height: 24), - ...exchangeTradeViewModel.items - .where((item) => item.isExternalSendDetail) - .map( - (item) => TradeItemRowWidget( - key: ValueKey( - 'exchange_trade_external_send_page_send_item_${item.title}_key'), - title: item.title, - value: item.data, - isCopied: true, - copyImage: copyImage, - ), - ) - .toList(), - ], - ), - ), - ], - ); - }, - ), - bottomSection: Observer( - builder: (_) { - final trade = exchangeTradeViewModel.trade; - final sendingState = exchangeTradeViewModel.sendViewModel.state; - - return exchangeTradeViewModel.isSendable && !(sendingState is TransactionCommitted) - ? LoadingPrimaryButton( - key: ValueKey('exchange_trade_external_send_page_continue_button_key'), - isDisabled: trade.inputAddress == null || trade.inputAddress!.isEmpty, - isLoading: sendingState is IsExecutingState, - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - text: S.current.continue_text, - color: Theme.of(context).colorScheme.primary, - textColor: Theme.of(context).colorScheme.onPrimary, - ) - : Offstage(); - }, - ), - ), - ); - } -} diff --git a/lib/src/screens/exchange_trade/exchange_trade_page.dart b/lib/src/screens/exchange_trade/exchange_trade_page.dart deleted file mode 100644 index 87bbc39f7..000000000 --- a/lib/src/screens/exchange_trade/exchange_trade_page.dart +++ /dev/null @@ -1,423 +0,0 @@ -import 'package:cake_wallet/exchange/exchange_provider_description.dart'; -import 'package:cake_wallet/reactions/wallet_connect.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/src/screens/connect_device/connect_device_page.dart'; -import 'package:cake_wallet/src/screens/exchange/widgets/desktop_exchange_cards_section.dart'; -import 'package:cake_wallet/src/screens/exchange/widgets/mobile_exchange_cards_section.dart'; -import 'package:cake_wallet/src/screens/exchange_trade/widgets/exchange_trade_card_item_widget.dart'; -import 'package:cake_wallet/src/widgets/bottom_sheet/base_bottom_sheet_widget.dart'; -import 'package:cake_wallet/src/widgets/bottom_sheet/confirm_sending_bottom_sheet_widget.dart'; -import 'package:cake_wallet/src/widgets/bottom_sheet/info_bottom_sheet_widget.dart'; -import 'package:cake_wallet/utils/request_review_handler.dart'; -import 'package:cake_wallet/utils/responsive_layout_util.dart'; -import 'package:mobx/mobx.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:flutter/material.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/core/execution_state.dart'; -import 'package:cake_wallet/src/screens/exchange_trade/information_page.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cake_wallet/view_model/exchange/exchange_trade_view_model.dart'; -import 'package:cake_wallet/view_model/send/send_view_model_state.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/screens/exchange_trade/widgets/timer_widget.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/src/widgets/scrollable_with_bottom_section.dart'; -import 'package:cake_wallet/src/widgets/alert_with_one_action.dart'; - -void showInformation(ExchangeTradeViewModel exchangeTradeViewModel, BuildContext context) { - final trade = exchangeTradeViewModel.trade; - final walletName = exchangeTradeViewModel.wallet.name; - - final from = trade.from?.toString() ?? ''; - - final information = exchangeTradeViewModel.isSendable - ? S.current.exchange_trade_result_confirm(trade.amount, from, walletName) + - exchangeTradeViewModel.extraInfo - : S.current.exchange_result_description(trade.amount, from) + - exchangeTradeViewModel.extraInfo; - - showPopUp( - context: context, - builder: (_) => InformationPage( - key: ValueKey('information_page_dialog_key'), - information: information, - ), - ); -} - -class ExchangeTradePage extends BasePage { - ExchangeTradePage({required this.exchangeTradeViewModel}); - - final ExchangeTradeViewModel exchangeTradeViewModel; - - @override - String get title => S.current.swap; - - @override - bool get gradientAll => true; - - @override - bool get resizeToAvoidBottomInset => false; - - @override - bool get extendBodyBehindAppBar => true; - - @override - AppBarStyle get appBarStyle => AppBarStyle.transparent; - - @override - Widget trailing(BuildContext context) { - final questionImage = Image.asset('assets/images/question_mark.png', - color: Theme.of(context).colorScheme.onSurface); - - return SizedBox( - height: 20.0, - width: 20.0, - child: ButtonTheme( - minWidth: double.minPositive, - child: TextButton( - // FIX-ME: Style - //highlightColor: Colors.transparent, - //splashColor: Colors.transparent, - //padding: EdgeInsets.all(0), - onPressed: () => showInformation(exchangeTradeViewModel, context), - child: questionImage), - ), - ); - } - - @override - Widget body(BuildContext context) => ExchangeTradeForm(exchangeTradeViewModel); -} - -class ExchangeTradeForm extends StatefulWidget { - ExchangeTradeForm(this.exchangeTradeViewModel); - - final ExchangeTradeViewModel exchangeTradeViewModel; - - @override - ExchangeTradeState createState() => ExchangeTradeState(); -} - -class ExchangeTradeState extends State { - final fetchingLabel = S.current.fetching; - - String get title => S.current.exchange; - - bool _effectsInstalled = false; - - ReactionDisposer? _exchangeStateReaction; - - @override - void initState() { - super.initState(); - WidgetsBinding.instance.addPostFrameCallback(afterLayout); - } - - void afterLayout(dynamic _) { - showInformation(widget.exchangeTradeViewModel, context); - } - - @override - void dispose() { - widget.exchangeTradeViewModel.timer?.cancel(); - _exchangeStateReaction?.reaction.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - _setEffects(); - - return Container( - child: ScrollableWithBottomSection( - contentPadding: EdgeInsets.only(bottom: 16), - content: Observer(builder: (_) { - final trade = widget.exchangeTradeViewModel.trade; - - return Column( - children: [ - trade.expiredAt != null - ? Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - S.of(context).offer_expires_in, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontWeight: FontWeight.w500, - ), - ), - if (trade.expiredAt != null) - TimerWidget(trade.expiredAt!, - color: Theme.of(context).colorScheme.onSurface) - ]) - : Offstage(), - _ExchangeTradeItemsCardSection( - viewModel: widget.exchangeTradeViewModel, - ), - ], - ); - }), - bottomSectionPadding: EdgeInsets.fromLTRB(24, 0, 24, 24), - bottomSection: Column( - children: [ - if (!widget.exchangeTradeViewModel.shouldHideExternalSendButton) - PrimaryButton( - key: ValueKey('exchange_trade_page_send_from_external_button_key'), - text: S.current.send_from_external_wallet, - onPressed: () async { - Navigator.of(context).pushNamed(Routes.exchangeTradeExternalSendPage); - }, - color: widget.exchangeTradeViewModel.isSendable - ? Theme.of(context).colorScheme.surfaceContainer - : Theme.of(context).colorScheme.primary, - textColor: widget.exchangeTradeViewModel.isSendable - ? Theme.of(context).colorScheme.onSecondaryContainer - : Theme.of(context).colorScheme.onPrimary, - ), - SizedBox(height: 16), - Observer( - builder: (_) { - final trade = widget.exchangeTradeViewModel.trade; - final sendingState = widget.exchangeTradeViewModel.sendViewModel.state; - - return Offstage( - offstage: !(widget.exchangeTradeViewModel.isSendable && - !(sendingState is TransactionCommitted)), - child: LoadingPrimaryButton( - key: ValueKey('exchange_trade_page_send_from_cake_button_key'), - isDisabled: trade.inputAddress == null || - trade.inputAddress!.isEmpty || - sendingState is ExecutedSuccessfullyState, - isLoading: sendingState is IsExecutingState, - onPressed: _onPressedSendFromCakeWallet, - text: S.current.send_from_cake_wallet, - color: Theme.of(context).colorScheme.primary, - textColor: Theme.of(context).colorScheme.onPrimary, - ), - ); - }, - ), - ], - ), - ), - ); - } - - Future _onPressedSendFromCakeWallet() async { - final sendVM = widget.exchangeTradeViewModel.sendViewModel; - - if (sendVM.wallet.isHardwareWallet) { - if (!sendVM.hardwareWalletViewModel!.isConnected(sendVM.walletType)) { - await Navigator.of(context).pushNamed(Routes.connectDevices, - arguments: ConnectDevicePageParams( - walletType: sendVM.walletType, - hardwareWalletType: sendVM.wallet.walletInfo.hardwareWalletType!, - onConnectDevice: (context, _) { - sendVM.hardwareWalletViewModel!.initWallet(sendVM.wallet); - Navigator.of(context).pop(); - }, - )); - } else { - sendVM.hardwareWalletViewModel!.initWallet(sendVM.wallet); - } - } - - widget.exchangeTradeViewModel.confirmSending(); - } - - BuildContext? dialogContext; - BuildContext? loadingBottomSheetContext; - - void _setEffects() { - if (_effectsInstalled) { - return; - } - - _exchangeStateReaction = reaction( - (_) => this.widget.exchangeTradeViewModel.sendViewModel.state, - (ExecutionState state) async { - if (dialogContext != null && dialogContext?.mounted == true) { - Navigator.of(dialogContext!).pop(); - } - - if (state is! IsExecutingState && - loadingBottomSheetContext != null && - loadingBottomSheetContext!.mounted) { - Navigator.of(loadingBottomSheetContext!).pop(); - } - - if (state is FailureState) { - WidgetsBinding.instance.addPostFrameCallback((_) { - showPopUp( - context: context, - builder: (BuildContext popupContext) { - return AlertWithOneAction( - key: ValueKey('exchange_trade_page_send_failure_dialog_key'), - buttonKey: ValueKey('exchange_trade_page_send_failure_dialog_button_key'), - alertTitle: S.of(popupContext).error, - alertContent: state.error, - buttonText: S.of(popupContext).ok, - buttonAction: () => Navigator.of(popupContext).pop()); - }); - }); - } - - if (state is IsExecutingState) { - // wait a bit to avoid showing the loading dialog if transaction is failed - await Future.delayed(const Duration(milliseconds: 300)); - final currentState = widget.exchangeTradeViewModel.sendViewModel.state; - if (currentState is ExecutedSuccessfullyState || currentState is FailureState) { - return; - } - - WidgetsBinding.instance.addPostFrameCallback((_) { - if (context.mounted) { - showModalBottomSheet( - context: context, - isDismissible: false, - builder: (BuildContext context) { - loadingBottomSheetContext = context; - return LoadingBottomSheet( - titleText: S.of(context).generating_transaction, - ); - }, - ); - } - }); - } - - if (state is ExecutedSuccessfullyState) { - WidgetsBinding.instance.addPostFrameCallback((_) async { - final trade = widget.exchangeTradeViewModel.trade; - - final isSwapsXyz = trade.provider == ExchangeProviderDescription.swapsXyz; - final isEVMWallet = widget.exchangeTradeViewModel.sendViewModel.isEVMWallet; - - final amountValue = isSwapsXyz && - isEVMWallet && - !widget.exchangeTradeViewModel.isSwapsXYZCanSendFromExternal - ? trade.amount - : widget.exchangeTradeViewModel.sendViewModel.pendingTransaction!.amountFormatted; - - final fiatAmountValue = isSwapsXyz && - isEVMWallet && - !widget.exchangeTradeViewModel.isSwapsXYZCanSendFromExternal - ? widget.exchangeTradeViewModel.sendViewModel - .calculateTransactionFiatAmount(amountValue) - : widget.exchangeTradeViewModel.sendViewModel.pendingTransactionFiatAmountFormatted; - - if (context.mounted) { - final result = await showModalBottomSheet( - context: context, - isDismissible: false, - isScrollControlled: true, - builder: (bottomSheetContext) { - final sendVM = widget.exchangeTradeViewModel.sendViewModel; - - return ConfirmSendingBottomSheet( - key: ValueKey('exchange_trade_page_confirm_sending_bottom_sheet_key'), - footerType: FooterType.slideActionButton, - isSlideActionEnabled: sendVM.isReadyForSend, - walletType: sendVM.walletType, - titleText: S.of(bottomSheetContext).confirm_transaction, - titleIconPath: sendVM.selectedCryptoCurrency.iconPath, - currency: widget.exchangeTradeViewModel.sendViewModel.selectedCryptoCurrency, - amount: S.of(bottomSheetContext).send_amount, - amountValue: sendVM.amountParsingProxy - .getDisplayCryptoAmount(amountValue, sendVM.selectedCryptoCurrency), - explanation: sendVM.pendingTransactionAdditionalCostNotice, - fiatAmountValue: fiatAmountValue, - fee: isEVMCompatibleChain(sendVM.walletType) - ? S.of(bottomSheetContext).send_estimated_fee - : S.of(bottomSheetContext).send_fee, - feeValue: sendVM.amountParsingProxy - .asDisplayStringWithSymbol(sendVM.pendingTransaction!.fee), - feeFiatAmount: sendVM.pendingTransactionFeeFiatAmountFormatted, - outputs: sendVM.outputs, - onSlideActionComplete: () async { - if (bottomSheetContext.mounted && Navigator.canPop(bottomSheetContext)) - Navigator.of(bottomSheetContext).pop(true); - - sendVM.commitTransaction(context); - }, - amountParsingProxy: sendVM.amountParsingProxy, - ); - }, - ); - - if (result == null) widget.exchangeTradeViewModel.sendViewModel.dismissTransaction(); - } - }); - } - - if (state is TransactionCommitted) { - WidgetsBinding.instance.addPostFrameCallback( - (_) async { - if (!mounted) return; - - await showModalBottomSheet( - context: context, - isScrollControlled: true, - builder: (BuildContext bottomSheetContext) { - return InfoBottomSheet( - footerType: FooterType.singleActionButton, - titleText: S.of(bottomSheetContext).transaction_sent, - contentImage: 'assets/images/birthday_cake.png', - singleActionButtonText: S.of(bottomSheetContext).close, - singleActionButtonKey: ValueKey('send_page_sent_dialog_ok_button_key'), - onSingleActionButtonPressed: () { - Navigator.of(bottomSheetContext).pop(); - if (mounted) { - Navigator.of(context).pushNamedAndRemoveUntil( - Routes.dashboard, - (route) => false, - ); - } - RequestReviewHandler.requestReview(); - }, - ); - }, - ); - }, - ); - } - }, - ); - - _effectsInstalled = true; - } -} - -class _ExchangeTradeItemsCardSection extends StatelessWidget { - const _ExchangeTradeItemsCardSection({required this.viewModel}); - - final ExchangeTradeViewModel viewModel; - - @override - Widget build(BuildContext context) { - final firstExchangeCard = ExchangeTradeCardItemWidget( - isReceiveDetailsCard: true, - exchangeTradeViewModel: viewModel, - ); - - final secondExchangeCard = ExchangeTradeCardItemWidget( - isReceiveDetailsCard: false, - exchangeTradeViewModel: viewModel, - ); - - if (responsiveLayoutUtil.shouldRenderMobileUI) { - return MobileExchangeCardsSection( - firstExchangeCard: firstExchangeCard, - secondExchangeCard: secondExchangeCard, - ); - } - - return DesktopExchangeCardsSection( - firstExchangeCard: firstExchangeCard, - secondExchangeCard: secondExchangeCard, - ); - } -} diff --git a/lib/src/screens/exchange_trade/information_page.dart b/lib/src/screens/exchange_trade/information_page.dart deleted file mode 100644 index ebd2b3379..000000000 --- a/lib/src/screens/exchange_trade/information_page.dart +++ /dev/null @@ -1,47 +0,0 @@ -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:flutter/material.dart'; -import 'package:cake_wallet/src/widgets/alert_background.dart'; - -class InformationPage extends StatelessWidget { - InformationPage({required this.information, super.key}); - - final String information; - - @override - Widget build(BuildContext context) { - return AlertBackground( - child: Center( - child: Container( - margin: EdgeInsets.only(left: 24, right: 24), - decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(30)), - color: Theme.of(context).colorScheme.surface, - ), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Container( - padding: EdgeInsets.fromLTRB(24, 28, 24, 24), - child: Text( - information, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium, - ), - ), - Padding( - padding: EdgeInsets.fromLTRB(10, 0, 10, 10), - child: PrimaryButton( - key: ValueKey('information_page_got_it_button_key'), - onPressed: () => Navigator.of(context).pop(), - text: S.of(context).got_it, - color: Theme.of(context).colorScheme.surfaceContainer, - textColor: Theme.of(context).colorScheme.onSurface, - ), - ) - ], - ), - ), - )); - } -} diff --git a/lib/src/screens/exchange_trade/widgets/exchange_trade_card_item_widget.dart b/lib/src/screens/exchange_trade/widgets/exchange_trade_card_item_widget.dart deleted file mode 100644 index 347498ca7..000000000 --- a/lib/src/screens/exchange_trade/widgets/exchange_trade_card_item_widget.dart +++ /dev/null @@ -1,290 +0,0 @@ -import 'package:cake_wallet/entities/priority_for_wallet_type.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart'; -import 'package:cake_wallet/src/widgets/list_row.dart'; -import 'package:cake_wallet/src/widgets/picker.dart'; -import 'package:cake_wallet/utils/show_bar.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cake_wallet/view_model/exchange/exchange_trade_view_model.dart'; -import 'package:cake_wallet/view_model/send/fees_view_model.dart'; -import 'package:cake_wallet/view_model/send/output.dart'; -import 'package:cw_core/transaction_priority.dart'; -import 'package:cw_core/wallet_type.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; - -class ExchangeTradeCardItemWidget extends StatelessWidget { - ExchangeTradeCardItemWidget({ - required this.isReceiveDetailsCard, - required this.exchangeTradeViewModel, - Key? key, - }) : feesViewModel = exchangeTradeViewModel.feesViewModel, - output = exchangeTradeViewModel.output; - - final Output output; - final bool isReceiveDetailsCard; - final FeesViewModel feesViewModel; - final ExchangeTradeViewModel exchangeTradeViewModel; - - @override - Widget build(BuildContext context) { - final copyImage = Image.asset( - 'assets/images/copy_content.png', - height: 16, - width: 16, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ); - - return Container( - width: double.infinity, - color: Colors.transparent, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SizedBox(height: 10), - ...exchangeTradeViewModel.items - .where((item) => item.isReceiveDetail == isReceiveDetailsCard) - .map( - (item) => TradeItemRowWidget( - title: item.title, - value: item.data, - isCopied: item.isCopied, - copyImage: copyImage, - ), - ) - .toList(), - if (!isReceiveDetailsCard && exchangeTradeViewModel.isSendable) ...[ - if (feesViewModel.hasFees) - FeeSelectionWidget( - feesViewModel: feesViewModel, - output: output, - onTap: () => pickTransactionPriority(context, output), - ), - if (exchangeTradeViewModel.sendViewModel.hasCoinControl) - CoinControlWidget( - onTap: () => Navigator.of(context).pushNamed( - Routes.unspentCoinsList, - arguments: exchangeTradeViewModel.sendViewModel.coinTypeToSpendFrom, - ), - ), - ], - ], - ), - ); - } - - Future pickTransactionPriority(BuildContext context, Output output) async { - final items = priorityForWalletType(feesViewModel.walletType); - final selectedItem = items.indexOf(feesViewModel.transactionPriority); - final customItemIndex = feesViewModel.getCustomPriorityIndex(items); - final isBitcoinWallet = feesViewModel.walletType == WalletType.bitcoin; - final maxCustomFeeRate = feesViewModel.maxCustomFeeRate?.toDouble(); - double? customFeeRate = isBitcoinWallet ? feesViewModel.customBitcoinFeeRate.toDouble() : null; - - await showPopUp( - context: context, - builder: (BuildContext context) { - int selectedIdx = selectedItem; - return StatefulBuilder( - builder: (BuildContext context, StateSetter setState) { - return Picker( - items: items, - displayItem: (TransactionPriority priority) => - feesViewModel.displayFeeRate(priority, customFeeRate?.round()), - selectedAtIndex: selectedIdx, - customItemIndex: customItemIndex, - maxValue: maxCustomFeeRate, - title: S.of(context).please_select, - headerEnabled: !isBitcoinWallet, - closeOnItemSelected: !isBitcoinWallet, - mainAxisAlignment: MainAxisAlignment.center, - sliderValue: customFeeRate, - onSliderChanged: (double newValue) => setState(() => customFeeRate = newValue), - onItemSelected: (TransactionPriority priority) async { - feesViewModel.setTransactionPriority(priority); - setState(() => selectedIdx = items.indexOf(priority)); - await output.calculateEstimatedFee(); - if (feesViewModel.isLowFee) { - _showFeeAlert(context); - } - }, - ); - }, - ); - }, - ); - if (isBitcoinWallet) { - feesViewModel.customBitcoinFeeRate = customFeeRate!.round(); - if (feesViewModel.showAlertForCustomFeeRate()) { - _showFeeAlert(context); - } - } - } - - void _showFeeAlert(BuildContext context) async { - final confirmed = await showPopUp( - context: context, - builder: (dialogContext) { - return AlertWithTwoActions( - alertTitle: S.of(context).low_fee, - alertContent: S.of(context).low_fee_alert, - leftButtonText: S.of(context).ignor, - rightButtonText: S.of(context).use_suggested, - actionLeftButton: () => Navigator.of(dialogContext).pop(false), - actionRightButton: () => Navigator.of(dialogContext).pop(true)); - }) ?? - false; - if (confirmed) { - feesViewModel.setDefaultTransactionPriority(); - } - } -} - -class TradeItemRowWidget extends StatelessWidget { - final String title; - final String value; - final bool isCopied; - final Image copyImage; - - const TradeItemRowWidget({ - required this.title, - required this.value, - required this.isCopied, - required this.copyImage, - super.key, - }); - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.symmetric(vertical: 8), - child: GestureDetector( - onTap: () { - if (!isCopied) return; - Clipboard.setData(ClipboardData(text: value)); - showBar(context, S.of(context).transaction_details_copied(title)); - }, - child: ListRow( - padding: EdgeInsets.zero, - title: title, - value: value, - image: isCopied ? copyImage : null, - color: Colors.transparent, - hintTextColor: Theme.of(context).colorScheme.onSurfaceVariant, - mainTextColor: Theme.of(context).colorScheme.onSurface, - ), - ), - ); - } -} - -class FeeSelectionWidget extends StatelessWidget { - final FeesViewModel feesViewModel; - final Output output; - final VoidCallback onTap; - - const FeeSelectionWidget({ - required this.feesViewModel, - required this.output, - required this.onTap, - }); - - @override - Widget build(BuildContext context) { - return Observer( - builder: (_) => GestureDetector( - key: ValueKey('exchange_trade_card_item_widget_select_fee_priority_button_key'), - onTap: feesViewModel.hasFeesPriority ? onTap : () {}, - child: Container( - padding: EdgeInsets.only(top: 24), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - S.of(context).send_estimated_fee, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.end, - children: [ - Text( - '${output.estimatedFee} ${feesViewModel.amountParsingProxy.getCryptoSymbol(feesViewModel.currency)}', - style: Theme.of(context).textTheme.bodySmall?.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - if (!feesViewModel.isFiatDisabled) - Padding( - padding: EdgeInsets.only(top: 5), - child: Text( - '${output.estimatedFeeFiatAmount} ${feesViewModel.fiat.title}', - style: Theme.of(context).textTheme.bodySmall?.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - ), - ], - ), - Padding( - padding: EdgeInsets.only(top: 2, left: 5), - child: Icon( - Icons.arrow_forward_ios, - size: 12, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - ], - ), - ], - ), - ), - ), - ); - } -} - -class CoinControlWidget extends StatelessWidget { - final VoidCallback onTap; - - const CoinControlWidget({required this.onTap}); - - @override - Widget build(BuildContext context) { - return GestureDetector( - key: ValueKey('exchange_trade_card_item_widget_unspent_coin_button_key'), - onTap: onTap, - child: Container( - color: Colors.transparent, - padding: EdgeInsets.only(top: 6), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - S.of(context).coin_control, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - Icon( - Icons.arrow_forward_ios, - size: 12, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ], - ), - ), - ); - } -} diff --git a/lib/src/screens/exchange_trade/widgets/timer_widget.dart b/lib/src/screens/exchange_trade/widgets/timer_widget.dart deleted file mode 100644 index 563cfdead..000000000 --- a/lib/src/screens/exchange_trade/widgets/timer_widget.dart +++ /dev/null @@ -1,79 +0,0 @@ -import 'package:flutter/material.dart'; -import 'dart:async'; -import 'package:cake_wallet/generated/i18n.dart'; - -class TimerWidget extends StatefulWidget { - TimerWidget(this.expiratedAt, {this.color = Colors.black}); - - final DateTime expiratedAt; - final Color color; - - @override - TimerWidgetState createState() => TimerWidgetState(); -} - -class TimerWidgetState extends State { - TimerWidgetState() - : _leftSeconds = 0, - _minutes = 0, - _seconds = 0, - _isExpired = false; - - int _leftSeconds; - int _minutes; - int _seconds; - bool _isExpired; - Timer? _timer; - - @override - void initState() { - super.initState(); - final start = DateTime.now(); - _isExpired = false; - _leftSeconds = widget.expiratedAt.difference(start).inSeconds; - _recalculate(); - - WidgetsBinding.instance.addPostFrameCallback((_) { - _timer = Timer.periodic(Duration(seconds: 1), (timer) { - if (_isExpired) { - timer.cancel(); - } - - _leftSeconds--; - _isExpired = _leftSeconds <= 0; - _recalculate(); - setState(() {}); - }); - }); - } - - @override - void dispose() { - _timer?.cancel(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return _isExpired - ? Text( - S.of(context).expired, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.errorContainer, - ), - ) - : Text( - S.of(context).time(_minutes.toString(), _seconds.toString()), - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontWeight: FontWeight.w500, - color: widget.color, - ), - ); - } - - void _recalculate() { - _minutes = _leftSeconds ~/ 60; - _seconds = _leftSeconds % 60; - } -} diff --git a/lib/src/screens/faq/faq_page.dart b/lib/src/screens/faq/faq_page.dart deleted file mode 100644 index 467431e18..000000000 --- a/lib/src/screens/faq/faq_page.dart +++ /dev/null @@ -1,52 +0,0 @@ -import 'dart:convert'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/screens/faq/faq_item.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/widgets/standard_list.dart'; -import 'package:cake_wallet/store/settings_store.dart'; - -class FaqPage extends BasePage { - FaqPage(this.settingsStore); - - final SettingsStore settingsStore; - - @override - String get title => S.current.faq; - - String get path => 'assets/faq/faq_' + settingsStore.languageCode + '.json'; - - @override - Widget body(BuildContext context) { - return Container( - padding: EdgeInsets.only(top: 12, left: 24), - child: FutureBuilder( - builder: (context, snapshot) { - final faqItems = jsonDecode(snapshot.data.toString()) as List; - - return SingleChildScrollView( - child: Column( - children: [ - StandardListSeparator(), - ListView.separated( - shrinkWrap: true, - physics: NeverScrollableScrollPhysics(), - itemBuilder: (BuildContext context, int index) { - final title = faqItems[index]["question"].toString(); - final text = faqItems[index]["answer"].toString(); - - return FAQItem(title, text); - }, - separatorBuilder: (_, __) => StandardListSeparator(), - itemCount: faqItems?.length ?? 0, - ) - ], - ), - ); - }, - future: rootBundle.loadString(path), - ), - ); - } -} diff --git a/lib/src/screens/monero_accounts/monero_account_edit_or_create_page.dart b/lib/src/screens/monero_accounts/monero_account_edit_or_create_page.dart deleted file mode 100644 index c046a6dfb..000000000 --- a/lib/src/screens/monero_accounts/monero_account_edit_or_create_page.dart +++ /dev/null @@ -1,69 +0,0 @@ -import 'package:cake_wallet/core/execution_state.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/core/monero_account_label_validator.dart'; -import 'package:cake_wallet/view_model/monero_account_list/monero_account_edit_or_create_view_model.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/widgets/base_text_form_field.dart'; - -class MoneroAccountEditOrCreatePage extends BasePage { - MoneroAccountEditOrCreatePage({required this.moneroAccountCreationViewModel}) - : _formKey = GlobalKey(), - _textController = TextEditingController() { - _textController.addListener(() => moneroAccountCreationViewModel.label = _textController.text); - _textController.text = moneroAccountCreationViewModel.label; - } - - final MoneroAccountEditOrCreateViewModel moneroAccountCreationViewModel; - - @override - String get title => S.current.account; - - final GlobalKey _formKey; - final TextEditingController _textController; - - @override - Widget body(BuildContext context) => Form( - key: _formKey, - child: Container( - padding: EdgeInsets.all(24.0), - child: Column( - children: [ - Expanded( - child: Center( - child: BaseTextFormField( - controller: _textController, - hintText: S.of(context).account, - validator: MoneroLabelValidator(), - ), - ), - ), - Observer( - builder: (_) => LoadingPrimaryButton( - onPressed: () async { - if (_formKey.currentState != null && !_formKey.currentState!.validate()) { - return; - } - - await moneroAccountCreationViewModel.save(); - - if (context.mounted && Navigator.of(context).canPop()) { - Navigator.of(context).pop(_textController.text); - } - }, - text: moneroAccountCreationViewModel.isEdit - ? S.of(context).rename - : S.of(context).add, - color: Theme.of(context).colorScheme.primary, - textColor: Theme.of(context).colorScheme.onPrimary, - isLoading: moneroAccountCreationViewModel.state is IsExecutingState, - isDisabled: moneroAccountCreationViewModel.label?.isEmpty ?? true, - ), - ) - ], - ), - ), - ); -} diff --git a/lib/src/screens/monero_accounts/monero_account_list_page.dart b/lib/src/screens/monero_accounts/monero_account_list_page.dart deleted file mode 100644 index 85e00b369..000000000 --- a/lib/src/screens/monero_accounts/monero_account_list_page.dart +++ /dev/null @@ -1,95 +0,0 @@ -import 'package:cake_wallet/src/widgets/picker_inner_wrapper_widget.dart'; -import 'package:cake_wallet/src/widgets/section_divider.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/view_model/monero_account_list/monero_account_list_view_model.dart'; -import 'package:cake_wallet/src/screens/monero_accounts/widgets/account_tile.dart'; - -class MoneroAccountListPage extends StatelessWidget { - MoneroAccountListPage({required this.accountListViewModel}); - - final MoneroAccountListViewModel accountListViewModel; - final ScrollController controller = ScrollController(); - - @override - Widget build(BuildContext context) { - double itemHeight = 65; - double buttonHeight = 62; - - return Observer(builder: (_) { - final accounts = accountListViewModel.accounts; - - return PickerInnerWrapperWidget( - title: S.of(context).choose_account, - itemsHeight: (itemHeight * accounts.length) + buttonHeight, - children: [ - Expanded( - child: Scrollbar( - controller: controller, - child: ListView.separated( - padding: EdgeInsets.zero, - controller: controller, - separatorBuilder: (context, index) => const HorizontalSectionDivider(), - itemCount: accounts.length, - itemBuilder: (context, index) { - final account = accounts[index]; - - return AccountTile( - isCurrent: account.isSelected, - accountName: account.label, - accountBalance: account.balance ?? '0.00', - currency: accountListViewModel.currency.toString(), - onTap: () { - if (account.isSelected) { - return; - } - - accountListViewModel.select(account); - Navigator.of(context).pop(); - }, - onEdit: () async => await Navigator.of(context).pushNamed( - Routes.accountCreation, - arguments: account, - ), - ); - }, - ), - )), - GestureDetector( - onTap: () async => await Navigator.of(context).pushNamed(Routes.accountCreation), - child: Container( - height: buttonHeight, - color: Theme.of(context).colorScheme.primary, - padding: EdgeInsets.symmetric(horizontal: 24), - child: Center( - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - Icon( - Icons.add, - color: Theme.of(context).colorScheme.onPrimary, - ), - Padding( - padding: EdgeInsets.only(left: 5), - child: Text( - S.of(context).create_new_account, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 15, - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onPrimary, - decoration: TextDecoration.none, - ), - ), - ) - ], - ), - ), - ), - ) - ], - ); - }); - } -} diff --git a/lib/src/screens/monero_accounts/widgets/account_tile.dart b/lib/src/screens/monero_accounts/widgets/account_tile.dart deleted file mode 100644 index 7a46a0f7c..000000000 --- a/lib/src/screens/monero_accounts/widgets/account_tile.dart +++ /dev/null @@ -1,96 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_slidable/flutter_slidable.dart'; -import 'package:cake_wallet/generated/i18n.dart'; - -class AccountTile extends StatelessWidget { - AccountTile({ - required this.isCurrent, - required this.accountName, - this.accountBalance, - required this.currency, - required this.onTap, - required this.onEdit, - }); - - final bool isCurrent; - final String accountName; - final String? accountBalance; - final String currency; - final Function() onTap; - final Function() onEdit; - - @override - Widget build(BuildContext context) { - final color = isCurrent - ? Theme.of(context).colorScheme.surfaceContainer - : Theme.of(context).colorScheme.surfaceContainerHighest; - final textColor = isCurrent - ? Theme.of(context).colorScheme.onSurface - : Theme.of(context).colorScheme.onSurfaceVariant; - - final Widget cell = GestureDetector( - onTap: onTap, - child: Container( - height: 60, - width: double.infinity, - padding: EdgeInsets.only(left: 24, right: 24), - color: color, - child: Wrap( - direction: Axis.horizontal, - alignment: WrapAlignment.spaceBetween, - runAlignment: WrapAlignment.center, - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - Container( - child: Text( - accountName, - style: Theme.of(context).textTheme.titleMedium!.copyWith( - fontSize: 18, - fontWeight: FontWeight.w600, - color: textColor, - decoration: TextDecoration.none, - ), - ), - ), - if (accountBalance != null) - Container( - child: Text( - '${accountBalance.toString()} $currency', - textAlign: TextAlign.end, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 15, - fontWeight: FontWeight.w600, - color: isCurrent - ? Theme.of(context).colorScheme.onSurface - : Theme.of(context).colorScheme.onSurfaceVariant, - decoration: TextDecoration.none, - ), - ), - ), - ], - ), - ), - ); - - // return cell; - return Slidable( - key: Key(accountName), - child: cell, - endActionPane: _actionPane(context), - ); - } - - ActionPane _actionPane(BuildContext context) => ActionPane( - motion: const ScrollMotion(), - extentRatio: 0.3, - children: [ - SlidableAction( - onPressed: (_) => onEdit.call(), - backgroundColor: Theme.of(context).colorScheme.primaryContainer, - foregroundColor: Theme.of(context).colorScheme.onPrimaryContainer, - icon: Icons.edit, - label: S.of(context).edit, - ), - ], - ); -} diff --git a/lib/src/screens/nano_accounts/nano_account_edit_or_create_page.dart b/lib/src/screens/nano_accounts/nano_account_edit_or_create_page.dart deleted file mode 100644 index ad5ff3cc8..000000000 --- a/lib/src/screens/nano_accounts/nano_account_edit_or_create_page.dart +++ /dev/null @@ -1,69 +0,0 @@ -import 'package:cake_wallet/core/execution_state.dart'; -import 'package:cake_wallet/view_model/nano_account_list/nano_account_edit_or_create_view_model.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/core/monero_account_label_validator.dart'; -import 'package:cake_wallet/view_model/monero_account_list/monero_account_edit_or_create_view_model.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/widgets/base_text_form_field.dart'; - -class NanoAccountEditOrCreatePage extends BasePage { - NanoAccountEditOrCreatePage({required this.nanoAccountCreationViewModel}) - : _formKey = GlobalKey(), - _textController = TextEditingController() { - _textController.addListener(() => nanoAccountCreationViewModel.label = _textController.text); - _textController.text = nanoAccountCreationViewModel.label; - } - - final NanoAccountEditOrCreateViewModel nanoAccountCreationViewModel; - - @override - String get title => S.current.account; - - final GlobalKey _formKey; - final TextEditingController _textController; - - @override - Widget body(BuildContext context) => Form( - key: _formKey, - child: Container( - padding: EdgeInsets.all(24.0), - child: Column( - children: [ - Expanded( - child: Center( - child: BaseTextFormField( - controller: _textController, - hintText: S.of(context).account, - validator: MoneroLabelValidator(), - ), - ), - ), - Observer( - builder: (_) => LoadingPrimaryButton( - onPressed: () async { - if (_formKey.currentState != null && !_formKey.currentState!.validate()) { - return; - } - - await nanoAccountCreationViewModel.save(); - - Navigator.of(context).pop(_textController.text); - }, - text: nanoAccountCreationViewModel.isEdit - ? S.of(context).rename - : S.of(context).add, - color: Theme.of(context).colorScheme.primary, - textColor: Theme.of(context).colorScheme.onPrimary, - isLoading: nanoAccountCreationViewModel.state is IsExecutingState, - isDisabled: nanoAccountCreationViewModel.label?.isEmpty ?? true, - ), - ), - ], - ), - ), - ); -} diff --git a/lib/src/screens/nano_accounts/nano_account_list_page.dart b/lib/src/screens/nano_accounts/nano_account_list_page.dart deleted file mode 100644 index c70dc89dd..000000000 --- a/lib/src/screens/nano_accounts/nano_account_list_page.dart +++ /dev/null @@ -1,92 +0,0 @@ -import 'package:cake_wallet/src/widgets/picker_inner_wrapper_widget.dart'; -import 'package:cake_wallet/src/widgets/section_divider.dart'; -import 'package:cake_wallet/view_model/nano_account_list/nano_account_list_view_model.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/screens/monero_accounts/widgets/account_tile.dart'; - -class NanoAccountListPage extends StatelessWidget { - NanoAccountListPage({required this.accountListViewModel}); - - final NanoAccountListViewModel accountListViewModel; - final ScrollController controller = ScrollController(); - - @override - Widget build(BuildContext context) { - double itemHeight = 80; - double buttonHeight = 62; - - return Observer(builder: (_) { - final accounts = accountListViewModel.accounts; - return PickerInnerWrapperWidget( - title: S.of(context).choose_account, - itemsHeight: (itemHeight * accounts.length) + buttonHeight, - children: [ - Expanded( - child: Scrollbar( - controller: controller, - child: ListView.separated( - padding: EdgeInsets.zero, - controller: controller, - separatorBuilder: (context, index) => const VerticalSectionDivider(), - itemCount: accounts.length, - itemBuilder: (context, index) { - final account = accounts[index]; - - return AccountTile( - isCurrent: account.isSelected, - accountName: account.label, - accountBalance: account.balance ?? '0.00', - currency: accountListViewModel.currency.toString(), - onTap: () { - if (account.isSelected) { - return; - } - - accountListViewModel.select(account); - Navigator.of(context).pop(); - }, - onEdit: () async => await Navigator.of(context) - .pushNamed(Routes.nanoAccountCreation, arguments: account), - ); - }, - ), - )), - GestureDetector( - onTap: () async => await Navigator.of(context).pushNamed(Routes.nanoAccountCreation), - child: Container( - height: buttonHeight, - color: Theme.of(context).colorScheme.primary, - padding: EdgeInsets.symmetric(horizontal: 24), - child: Center( - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - Icon( - Icons.add, - color: Theme.of(context).colorScheme.onPrimary, - ), - Padding( - padding: EdgeInsets.only(left: 5), - child: Text( - S.of(context).create_new_account, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - color: Theme.of(context).colorScheme.onPrimary, - fontSize: 15, - fontWeight: FontWeight.w600, - decoration: TextDecoration.none, - ), - ), - ) - ], - ), - ), - ), - ) - ], - ); - }); - } -} diff --git a/lib/src/screens/nano_accounts/widgets/account_tile.dart b/lib/src/screens/nano_accounts/widgets/account_tile.dart deleted file mode 100644 index da8080e70..000000000 --- a/lib/src/screens/nano_accounts/widgets/account_tile.dart +++ /dev/null @@ -1,89 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_slidable/flutter_slidable.dart'; -import 'package:cake_wallet/generated/i18n.dart'; - -class AccountTile extends StatelessWidget { - AccountTile( - {required this.isCurrent, - required this.accountName, - this.accountBalance, - required this.currency, - required this.onTap, - required this.onEdit}); - - final bool isCurrent; - final String accountName; - final String? accountBalance; - final String currency; - final Function() onTap; - final Function() onEdit; - - @override - Widget build(BuildContext context) { - final color = isCurrent - ? Theme.of(context).colorScheme.primaryContainer - : Theme.of(context).colorScheme.surfaceContainerHighest; - final textColor = isCurrent - ? Theme.of(context).colorScheme.onPrimaryContainer - : Theme.of(context).colorScheme.onSurfaceVariant; - - final Widget cell = GestureDetector( - onTap: onTap, - child: Container( - height: 77, - width: double.infinity, - padding: EdgeInsets.only(left: 24, right: 24), - color: color, - child: Wrap( - direction: Axis.horizontal, - alignment: WrapAlignment.spaceBetween, - runAlignment: WrapAlignment.center, - crossAxisAlignment: WrapCrossAlignment.center, - children: [ - Container( - child: Text( - accountName, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 18, - fontWeight: FontWeight.w600, - color: textColor, - decoration: TextDecoration.none, - ), - ), - ), - if (accountBalance != null) - Container( - child: Text( - '${accountBalance.toString()} $currency', - textAlign: TextAlign.end, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 15, - fontWeight: FontWeight.w600, - color: Theme.of(context).textTheme.headlineMedium!.color!, - decoration: TextDecoration.none, - ), - ), - ), - ], - ), - ), - ); - - // return cell; - return Slidable(key: Key(accountName), child: cell, endActionPane: _actionPane(context)); - } - - ActionPane _actionPane(BuildContext context) => ActionPane( - motion: const ScrollMotion(), - extentRatio: 0.3, - children: [ - SlidableAction( - onPressed: (_) => onEdit.call(), - backgroundColor: Theme.of(context).colorScheme.primaryContainer, - foregroundColor: Theme.of(context).colorScheme.onPrimaryContainer, - icon: Icons.edit, - label: S.of(context).edit, - ), - ], - ); -} diff --git a/lib/src/screens/nodes/widgets/node_indicator.dart b/lib/src/screens/nodes/widgets/node_indicator.dart deleted file mode 100644 index 0b6677e37..000000000 --- a/lib/src/screens/nodes/widgets/node_indicator.dart +++ /dev/null @@ -1,20 +0,0 @@ -import 'package:cake_wallet/themes/core/custom_theme_colors.dart'; -import 'package:flutter/material.dart'; - -class NodeIndicator extends StatelessWidget { - const NodeIndicator({this.isLive = false}); - - final bool isLive; - - @override - Widget build(BuildContext context) { - return Container( - width: 12.0, - height: 12.0, - decoration: BoxDecoration( - shape: BoxShape.circle, - color: isLive ? CustomThemeColors.syncGreen : Theme.of(context).colorScheme.errorContainer, - ), - ); - } -} diff --git a/lib/src/screens/receive/address_list_page.dart b/lib/src/screens/receive/address_list_page.dart deleted file mode 100644 index f310a5546..000000000 --- a/lib/src/screens/receive/address_list_page.dart +++ /dev/null @@ -1,46 +0,0 @@ -import 'package:cake_wallet/new-ui/widgets/receive_page/receive_top_bar.dart'; -import 'package:cake_wallet/src/screens/receive/widgets/address_list.dart'; -import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_view_model.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; - -class AddressListPage extends StatelessWidget { - AddressListPage(this.addressListViewModel); - - final WalletAddressListViewModel addressListViewModel; - - @override - String get title => S.current.accounts_subaddresses; - - @override - Widget build(BuildContext context) { - return Column( - children: [ - ModalTopBar( - title: S.of(context).accounts_subaddresses, - leadingIcon: Icon(Icons.arrow_back_ios_new), - leadingSemanticLabel: S.of(context).seed_alert_back, - onLeadingPressed: Navigator.of(context).pop, - ), - Expanded( - child: SingleChildScrollView( - controller: ModalScrollController.of(context), - child: Column( - children: [ - AddressList( - addressListViewModel: addressListViewModel, - onSelect: (String address) async { - Navigator.of(context).pop(address); - }, - ), - ], - ), - ), - ), - ], - ); - } -} diff --git a/lib/src/screens/receive/anonpay_invoice_page.dart b/lib/src/screens/receive/anonpay_invoice_page.dart deleted file mode 100644 index f71488b4d..000000000 --- a/lib/src/screens/receive/anonpay_invoice_page.dart +++ /dev/null @@ -1,253 +0,0 @@ -import 'package:cake_wallet/anonpay/anonpay_donation_link_info.dart'; -import 'package:cake_wallet/anonpay/anonpay_invoice_info.dart'; -import 'package:cake_wallet/core/execution_state.dart'; -import 'package:cake_wallet/di.dart'; -import 'package:cake_wallet/entities/preferences_key.dart'; -import 'package:cake_wallet/src/screens/receive/anonpay_receive_page.dart'; -import 'package:cake_wallet/utils/feature_flag.dart'; -import 'package:cw_core/receive_page_option.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/present_receive_option_picker.dart'; -import 'package:cake_wallet/src/screens/receive/widgets/anonpay_input_form.dart'; -import 'package:cake_wallet/src/widgets/alert_with_one_action.dart'; -import 'package:cake_wallet/src/widgets/keyboard_done_button.dart'; -import 'package:cake_wallet/utils/responsive_layout_util.dart'; -import 'package:cake_wallet/view_model/anon_invoice_page_view_model.dart'; -import 'package:cake_wallet/view_model/dashboard/receive_option_view_model.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:keyboard_actions/keyboard_actions.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/widgets/trail_button.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/src/widgets/scrollable_with_bottom_section.dart'; -import 'package:mobx/mobx.dart'; -import 'package:shared_preferences/shared_preferences.dart'; - -class AnonPayInvoicePage extends BasePage { - AnonPayInvoicePage( - this.anonInvoicePageViewModel, - this.receiveOptionViewModel, - ) : _amountFocusNode = FocusNode() {} - - final _nameController = TextEditingController(); - final _emailController = TextEditingController(); - final _descriptionController = TextEditingController(); - final _amountController = TextEditingController(); - final FocusNode _amountFocusNode; - - final AnonInvoicePageViewModel anonInvoicePageViewModel; - final ReceiveOptionViewModel receiveOptionViewModel; - final _formKey = GlobalKey(); - - bool effectsInstalled = false; - - @override - bool get gradientAll => true; - - @override - bool get resizeToAvoidBottomInset => false; - - @override - bool get extendBodyBehindAppBar => true; - - @override - AppBarStyle get appBarStyle => - FeatureFlag.hasNewUiExtraPages ? AppBarStyle.completelyTransparent : AppBarStyle.transparent; - - @override - void onClose(BuildContext context) => FeatureFlag.hasNewUiExtraPages - ? Navigator.of(context, rootNavigator: true).pop() - : Navigator.popUntil(context, (route) => route.isFirst); - - @override - Widget middle(BuildContext context) => PresentReceiveOptionPicker( - receiveOptionViewModel: receiveOptionViewModel, color: titleColor(context)); - - @override - Widget trailing(BuildContext context) => TrailButton( - caption: S.of(context).clear, - onPressed: () { - _formKey.currentState?.reset(); - anonInvoicePageViewModel.reset(); - }); - - Future _onNavigateBack(BuildContext context) async { - onClose(context); - return false; - } - - @override - Widget body(BuildContext context) { - WidgetsBinding.instance.addPostFrameCallback((_) => _setReactions(context)); - - return WillPopScope( - onWillPop: () => _onNavigateBack(context), - child: KeyboardActions( - disableScroll: true, - config: KeyboardActionsConfig( - keyboardActionsPlatform: KeyboardActionsPlatform.IOS, - keyboardBarColor: Theme.of(context).colorScheme.surfaceVariant, - nextFocus: false, - actions: [ - KeyboardActionsItem( - focusNode: _amountFocusNode, - toolbarButtons: [(_) => KeyboardDoneButton()], - ), - ], - ), - child: Container( - color: Theme.of(context).colorScheme.surface, - child: ScrollableWithBottomSection( - contentPadding: EdgeInsets.only(bottom: 24), - content: Container( - decoration: responsiveLayoutUtil.shouldRenderMobileUI - ? BoxDecoration( - borderRadius: BorderRadius.only( - bottomLeft: Radius.circular(24), - bottomRight: Radius.circular(24), - ), - color: Theme.of(context).colorScheme.surfaceContainerLow, - ) - : null, - child: Observer(builder: (_) { - return Padding( - padding: EdgeInsets.fromLTRB(24, 120, 24, 0), - child: AnonInvoiceForm( - nameController: _nameController, - descriptionController: _descriptionController, - amountController: _amountController, - emailController: _emailController, - depositAmountFocus: _amountFocusNode, - formKey: _formKey, - isInvoice: receiveOptionViewModel.selectedReceiveOption == - ReceivePageOption.anonPayInvoice, - anonInvoicePageViewModel: anonInvoicePageViewModel, - ), - ); - }), - ), - bottomSectionPadding: EdgeInsets.only(left: 24, right: 24, bottom: 24), - bottomSection: Observer(builder: (_) { - final isInvoice = - receiveOptionViewModel.selectedReceiveOption == ReceivePageOption.anonPayInvoice; - return Column( - children: [ - Padding( - padding: EdgeInsets.only(bottom: 15), - child: Center( - child: Text( - isInvoice - ? S.of(context).anonpay_description("an invoice", "pay") - : S.of(context).anonpay_description("a donation link", "donate"), - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - color: Theme.of(context).colorScheme.onSurfaceVariant, - fontWeight: FontWeight.w500, - ), - ), - ), - ), - LoadingPrimaryButton( - text: isInvoice - ? S.of(context).create_invoice - : S.of(context).create_donation_link, - onPressed: () { - FocusScope.of(context).unfocus(); - anonInvoicePageViewModel.setRequestParams( - inputAmount: _amountController.text, - inputName: _nameController.text, - inputEmail: _emailController.text, - inputDescription: _descriptionController.text, - ); - if (anonInvoicePageViewModel.receipientEmail.isNotEmpty && - _formKey.currentState != null && - !_formKey.currentState!.validate()) { - return; - } - if (isInvoice) { - anonInvoicePageViewModel.createInvoice(); - } else { - anonInvoicePageViewModel.generateDonationLink(); - } - }, - color: Theme.of(context).colorScheme.primary, - textColor: Theme.of(context).colorScheme.onPrimary, - isLoading: anonInvoicePageViewModel.state is IsExecutingState, - ), - ], - ); - }), - ), - ), - ), - ); - } - - void _setReactions(BuildContext context) { - if (effectsInstalled) { - return; - } - - reaction((_) => receiveOptionViewModel.selectedReceiveOption, (ReceivePageOption option) { - switch (option) { - case ReceivePageOption.mainnet: - Navigator.popAndPushNamed(context, Routes.addressPage); - break; - case ReceivePageOption.anonPayDonationLink: - final sharedPreferences = getIt.get(); - final clearnetUrl = sharedPreferences.getString(PreferencesKey.clearnetDonationLink); - final onionUrl = sharedPreferences.getString(PreferencesKey.onionDonationLink); - final donationWalletName = - sharedPreferences.getString(PreferencesKey.donationLinkWalletName); - - if (clearnetUrl != null && - onionUrl != null && - anonInvoicePageViewModel.currentWalletName == donationWalletName) { - Navigator.pushReplacementNamed( - context, - Routes.anonPayReceivePage, - arguments: AnonPayReceivePageArgs( - invoiceInfo: AnonpayDonationLinkInfo( - clearnetUrl: clearnetUrl, - onionUrl: onionUrl, - address: anonInvoicePageViewModel.address, - ), - qrImage: anonInvoicePageViewModel.qrImage, - ), - ); - } - break; - default: - } - }); - - reaction((_) => anonInvoicePageViewModel.state, (ExecutionState state) { - if (state is ExecutedSuccessfullyState) { - Navigator.pushNamed( - context, - Routes.anonPayReceivePage, - arguments: AnonPayReceivePageArgs( - invoiceInfo: state.payload as AnonpayInvoiceInfo, - qrImage: anonInvoicePageViewModel.qrImage, - ), - ); - } - if (state is FailureState) { - showPopUp( - context: context, - builder: (BuildContext context) { - return AlertWithOneAction( - alertTitle: S.of(context).error, - alertContent: state.error.toString(), - buttonText: S.of(context).ok, - buttonAction: () => Navigator.of(context).pop()); - }); - } - }); - - effectsInstalled = true; - } -} diff --git a/lib/src/screens/receive/anonpay_receive_page.dart b/lib/src/screens/receive/anonpay_receive_page.dart deleted file mode 100644 index 5b6ecc843..000000000 --- a/lib/src/screens/receive/anonpay_receive_page.dart +++ /dev/null @@ -1,158 +0,0 @@ -import 'package:cake_wallet/anonpay/anonpay_info_base.dart'; -import 'package:cake_wallet/anonpay/anonpay_invoice_info.dart'; -import 'package:cake_wallet/entities/qr_view_data.dart'; -import 'package:cw_core/receive_page_option.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/widgets/gradient_background.dart'; -import 'package:cake_wallet/src/screens/receive/widgets/anonpay_status_section.dart'; -import 'package:cake_wallet/src/screens/receive/widgets/qr_image.dart'; -import 'package:cake_wallet/src/screens/receive/widgets/copy_link_item.dart'; -import 'package:cake_wallet/utils/brightness_util.dart'; -import 'package:flutter/material.dart'; -import 'package:qr_flutter/qr_flutter.dart' as qr; - -class AnonPayReceivePageArgs { - final AnonpayInfoBase invoiceInfo; - final String? qrImage; - - AnonPayReceivePageArgs({required this.invoiceInfo, this.qrImage}); -} - -class AnonPayReceivePage extends BasePage { - AnonPayReceivePage({required this.args}) : invoiceInfo = args.invoiceInfo; - - final AnonPayReceivePageArgs args; - final AnonpayInfoBase invoiceInfo; - - @override - String get title => S.current.receive; - - @override - bool get gradientBackground => true; - - @override - bool get resizeToAvoidBottomInset => false; - - @override - void onClose(BuildContext context) => Navigator.popUntil(context, (route) => route.isFirst); - - @override - Widget middle(BuildContext context) { - return Column( - children: [ - Text( - title, - style: Theme.of(context).textTheme.bodyLarge!.copyWith( - fontSize: 18.0, - fontWeight: FontWeight.bold, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - Text( - invoiceInfo is AnonpayInvoiceInfo - ? ReceivePageOption.anonPayInvoice.toString() - : ReceivePageOption.anonPayDonationLink.toString(), - style: Theme.of(context).textTheme.bodySmall!.copyWith( - fontSize: 10.0, - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ) - ], - ); - } - - @override - Widget? trailing(BuildContext context) { - if (invoiceInfo is AnonpayInvoiceInfo) { - return null; - } - - return Material( - color: Colors.transparent, - child: IconButton( - onPressed: () => Navigator.popAndPushNamed( - context, - Routes.anonPayInvoicePage, - arguments: [invoiceInfo.address, ReceivePageOption.anonPayDonationLink], - ), - icon: Icon( - Icons.edit, - color: pageIconColor(context), - size: 22.0, - ), - ), - ); - } - - @override - Widget Function(BuildContext, Widget) get rootWrapper => - (BuildContext context, Widget scaffold) => GradientBackground(scaffold: scaffold); - - @override - Widget body(BuildContext context) { - return SingleChildScrollView( - child: Column( - children: [ - SizedBox(height: 24), - if (invoiceInfo is AnonpayInvoiceInfo) - AnonInvoiceStatusSection(invoiceInfo: invoiceInfo as AnonpayInvoiceInfo), - Padding( - padding: EdgeInsets.fromLTRB(24, 50, 24, 24), - child: ConstrainedBox( - constraints: BoxConstraints( - maxWidth: MediaQuery.of(context).size.width * 0.5, - ), - child: GestureDetector( - onTap: () async { - BrightnessUtil.changeBrightnessForFunction(() async { - await Navigator.pushNamed(context, Routes.fullscreenQR, - arguments: QrViewData( - data: invoiceInfo.clearnetUrl, - version: qr.QrVersions.auto, - embeddedImagePath: args.qrImage, - )); - }); - }, - child: Hero( - tag: Key(invoiceInfo.clearnetUrl), - child: Center( - child: AspectRatio( - aspectRatio: 1.0, - child: Container( - padding: EdgeInsets.all(5), - decoration: BoxDecoration( - border: Border.all( - width: 3, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - child: QrImage( - data: invoiceInfo.clearnetUrl, - version: qr.QrVersions.auto, - embeddedImagePath: args.qrImage, - size: 230, - ), - ), - ), - ), - ), - ), - ), - ), - SizedBox(height: 24), - Column( - children: [ - CopyLinkItem(url: invoiceInfo.clearnetUrl, title: S.of(context).clearnet_link), - SizedBox(height: 16), - CopyLinkItem(url: invoiceInfo.onionUrl, title: S.of(context).onion_link), - ], - ), - SizedBox(height: 100), - ], - ), - ); - } -} diff --git a/lib/src/screens/receive/receive_page.dart b/lib/src/screens/receive/receive_page.dart deleted file mode 100644 index 030c10a7f..000000000 --- a/lib/src/screens/receive/receive_page.dart +++ /dev/null @@ -1,125 +0,0 @@ -import 'package:cake_wallet/src/screens/receive/widgets/address_list.dart'; -import 'package:cake_wallet/src/widgets/gradient_background.dart'; -import 'package:cake_wallet/src/widgets/keyboard_done_button.dart'; -import 'package:cake_wallet/utils/share_util.dart'; -import 'package:flutter/material.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/screens/receive/widgets/qr_widget.dart'; -import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_view_model.dart'; -import 'package:keyboard_actions/keyboard_actions.dart'; - -class ReceivePage extends BasePage { - ReceivePage({required this.addressListViewModel}) - : _cryptoAmountFocus = FocusNode(), - _amountController = TextEditingController(), - _formKey = GlobalKey() { - _amountController.addListener(() { - if (_formKey.currentState!.validate()) { - addressListViewModel.changeAmount(_amountController.text); - } - }); - } - - final WalletAddressListViewModel addressListViewModel; - final TextEditingController _amountController; - final GlobalKey _formKey; - static const _heroTag = 'receive_page'; - - @override - String get title => S.current.receive; - - @override - bool get gradientBackground => true; - - @override - bool get resizeToAvoidBottomInset => true; - - final FocusNode _cryptoAmountFocus; - - @override - Widget middle(BuildContext context) { - return Text( - title, - style: Theme.of(context).textTheme.titleMedium?.copyWith( - fontSize: 18.0, - fontWeight: FontWeight.bold, - color: pageIconColor(context), - ), - ); - } - - @override - Widget Function(BuildContext, Widget) get rootWrapper => - (BuildContext context, Widget scaffold) => GradientBackground(scaffold: scaffold); - - @override - Widget trailing(BuildContext context) { - return Material( - color: Colors.transparent, - child: Semantics( - label: S.of(context).share, - child: IconButton( - padding: EdgeInsets.zero, - constraints: BoxConstraints(), - highlightColor: Colors.transparent, - splashColor: Colors.transparent, - iconSize: 25, - onPressed: () => ShareUtil.share( - text: addressListViewModel.uri.toString(), - context: context, - ), - icon: Icon( - Icons.share, - size: 20, - color: pageIconColor(context), - ), - ), - ), - ); - } - - @override - Widget body(BuildContext context) => KeyboardActions( - config: KeyboardActionsConfig( - keyboardActionsPlatform: KeyboardActionsPlatform.IOS, - keyboardBarColor: Theme.of(context).colorScheme.surface, - nextFocus: false, - actions: [ - KeyboardActionsItem( - focusNode: _cryptoAmountFocus, - toolbarButtons: [(_) => KeyboardDoneButton()], - ) - ]), - child: SingleChildScrollView( - child: Column( - children: [ - Padding( - padding: EdgeInsets.fromLTRB(24, 50, 24, 24), - child: QRWidget( - addressListViewModel: addressListViewModel, - formKey: _formKey, - heroTag: _heroTag, - amountTextFieldFocusNode: _cryptoAmountFocus, - amountController: _amountController, - ), - ), - AddressList(addressListViewModel: addressListViewModel), - Padding( - padding: EdgeInsets.fromLTRB(24, 24, 24, 32), - child: Text( - addressListViewModel.isSilentPayments - ? S.of(context).silent_payments_disclaimer - : S.of(context).electrum_address_disclaimer, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 15, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - ), - ], - ), - ), - ); -} diff --git a/lib/src/screens/receive/widgets/address_cell.dart b/lib/src/screens/receive/widgets/address_cell.dart deleted file mode 100644 index fe26d87f0..000000000 --- a/lib/src/screens/receive/widgets/address_cell.dart +++ /dev/null @@ -1,231 +0,0 @@ -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/utils/address_formatter.dart'; -import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_item.dart'; -import 'package:cw_core/wallet_type.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_slidable/flutter_slidable.dart'; - -class AddressCell extends StatelessWidget { - AddressCell({ - required this.address, - required this.name, - required this.isCurrent, - required this.isPrimary, - required this.backgroundColor, - required this.textColor, - required this.walletType, - this.onTap, - this.onEdit, - this.onHide, - this.isHidden = false, - this.onDelete, - this.txCount, - this.balance, - this.isChange = false, - this.hasBalance = false, - this.hasReceived = false, - }); - - factory AddressCell.fromItem( - WalletAddressListItem item, { - required bool isCurrent, - required Color backgroundColor, - required Color textColor, - required WalletType walletType, - Function(String)? onTap, - bool hasBalance = false, - bool hasReceived = false, - Function()? onEdit, - Function()? onHide, - bool isHidden = false, - Function()? onDelete, - }) => - AddressCell( - address: item.address, - name: item.name ?? '', - isCurrent: isCurrent, - isPrimary: item.isPrimary, - backgroundColor: backgroundColor, - textColor: textColor, - walletType: walletType, - onTap: onTap, - onEdit: onEdit, - onHide: onHide, - isHidden: isHidden, - onDelete: onDelete, - txCount: item.txCount, - balance: item.balance, - isChange: item.isChange, - hasBalance: hasBalance, - hasReceived: hasReceived, - ); - - final String address; - final String name; - final bool isCurrent; - final bool isPrimary; - final Color backgroundColor; - final Color textColor; - final WalletType walletType; - final Function(String)? onTap; - final Function()? onEdit; - final Function()? onHide; - final bool isHidden; - final Function()? onDelete; - final int? txCount; - final String? balance; - final bool isChange; - final bool hasBalance; - final bool hasReceived; - - @override - Widget build(BuildContext context) { - final Widget cell = InkWell( - onTap: () => onTap?.call(address), - child: Container( - width: double.infinity, - color: backgroundColor, - padding: EdgeInsets.only(left: 24, right: 24, top: 20, bottom: 20), - child: Row( - children: [ - Expanded( - child: Column( - children: [ - Row( - mainAxisAlignment: name.isNotEmpty - ? MainAxisAlignment.spaceBetween - : MainAxisAlignment.center, - mainAxisSize: MainAxisSize.max, - children: [ - Row( - children: [ - if (isChange) - Padding( - padding: const EdgeInsets.only(right: 8.0), - child: Container( - height: 20, - padding: EdgeInsets.all(4), - decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(8.5)), - color: textColor, - ), - alignment: Alignment.center, - child: Text( - S.of(context).unspent_change, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - color: backgroundColor, - fontSize: 10, - fontWeight: FontWeight.w600, - ), - ), - ), - ), - if (name.isNotEmpty) - Text( - '$name', - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontWeight: FontWeight.w600, - color: textColor, - ), - ), - ], - ), - Flexible( - child: AddressFormatter.buildSegmentedAddress( - address: address, - walletType: walletType, - shouldTruncate: name.isNotEmpty || address.length > 43, - evenTextStyle: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: isChange ? 10 : 14, - color: textColor, - ), - ), - ), - ], - ), - if (hasBalance || hasReceived) - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - mainAxisSize: MainAxisSize.max, - children: [ - Text( - '${hasReceived ? S.of(context).received : S.of(context).balance}: $balance', - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 16, - fontWeight: FontWeight.w600, - color: textColor, - ), - ), - Text( - '${S.of(context).transactions.toLowerCase()}: $txCount', - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 16, - fontWeight: FontWeight.w600, - color: textColor, - ), - ), - ], - ), - ), - ], - ), - ), - ], - ), - )); - return onEdit == null - ? cell - : Semantics( - label: S.of(context).slidable, - selected: isCurrent, - enabled: !isCurrent, - child: Slidable( - key: Key(address), - startActionPane: _actionPaneStart(context), - endActionPane: _actionPaneEnd(context), - child: cell, - ), - ); - } - - ActionPane _actionPaneEnd(BuildContext context) => ActionPane( - motion: const ScrollMotion(), - extentRatio: onDelete != null ? 0.4 : 0.3, - children: [ - SlidableAction( - onPressed: (_) => onHide?.call(), - backgroundColor: isHidden - ? Theme.of(context).colorScheme.primaryContainer - : Theme.of(context).colorScheme.errorContainer, - foregroundColor: Theme.of(context).colorScheme.onPrimaryContainer, - icon: isHidden ? CupertinoIcons.arrow_left : CupertinoIcons.arrow_right, - label: isHidden ? S.of(context).show : S.of(context).hide, - ), - ], - ); - - ActionPane _actionPaneStart(BuildContext context) => ActionPane( - motion: const ScrollMotion(), - extentRatio: onDelete != null ? 0.4 : 0.3, - children: [ - SlidableAction( - onPressed: (_) => onEdit?.call(), - backgroundColor: Theme.of(context).colorScheme.primaryContainer, - foregroundColor: Theme.of(context).colorScheme.onPrimaryContainer, - icon: Icons.edit, - label: S.of(context).edit, - ), - if (onDelete != null) - SlidableAction( - onPressed: (_) => onDelete!.call(), - backgroundColor: Theme.of(context).colorScheme.errorContainer, - foregroundColor: Theme.of(context).colorScheme.onErrorContainer, - icon: Icons.delete, - label: S.of(context).delete, - ), - ], - ); -} diff --git a/lib/src/screens/receive/widgets/address_list.dart b/lib/src/screens/receive/widgets/address_list.dart deleted file mode 100644 index 2f44b9a47..000000000 --- a/lib/src/screens/receive/widgets/address_list.dart +++ /dev/null @@ -1,209 +0,0 @@ -import 'package:cake_wallet/di.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/src/screens/monero_accounts/monero_account_list_page.dart'; -import 'package:cake_wallet/src/screens/nano_accounts/nano_account_list_page.dart'; -import 'package:cake_wallet/src/screens/receive/widgets/address_cell.dart'; -import 'package:cake_wallet/src/screens/receive/widgets/header_tile.dart'; -import 'package:cake_wallet/src/widgets/section_divider.dart'; -import 'package:cake_wallet/themes/core/material_base_theme.dart'; -import 'package:cake_wallet/utils/list_item.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cake_wallet/view_model/wallet_address_list/wallet_account_list_header.dart'; -import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_hidden_list_header.dart'; -import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_header.dart'; -import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_item.dart'; -import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_view_model.dart'; -import 'package:cw_core/wallet_type.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; - -class AddressList extends StatefulWidget { - const AddressList({super.key, required this.addressListViewModel, this.onSelect}); - - final WalletAddressListViewModel addressListViewModel; - final Function(String)? onSelect; - - @override - State createState() => _AddressListState(); -} - -class _AddressListState extends State { - bool showHiddenAddresses = false; - - void _toggleHiddenAddresses() { - setState(() { - showHiddenAddresses = !showHiddenAddresses; - }); - updateItems(); - } - - List getItems(List list, bool showHidden) { - return list.where((element) { - if (element is WalletAddressListItem) { - if (showHidden && element.isHidden) return true; - if (!showHidden && !element.isHidden) return true; - return false; - } - return true; - }).toList(); - } - - List items = []; - - void updateItems() { - setState(() { - items = getItems(widget.addressListViewModel.forceRecomputeItems, showHiddenAddresses); - }); - } - - @override - void initState() { - super.initState(); - - items = getItems(widget.addressListViewModel.items, showHiddenAddresses); - } - - @override - Widget build(BuildContext context) { - bool editable = widget.onSelect == null; - return ListView.separated( - padding: EdgeInsets.all(0), - separatorBuilder: (context, _) => const HorizontalSectionDivider(), - shrinkWrap: true, - physics: NeverScrollableScrollPhysics(), - itemCount: items.length, - itemBuilder: (context, index) { - final item = items[index]; - Widget cell = Container(); - - if (item is WalletAccountListHeader) { - cell = HeaderTile( - showTrailingButton: true, - walletAddressListViewModel: widget.addressListViewModel, - trailingButtonTap: () async { - if (widget.addressListViewModel.type == WalletType.monero || - widget.addressListViewModel.type == WalletType.wownero || - widget.addressListViewModel.type == WalletType.haven) { - await showPopUp( - context: context, - builder: (_) => getIt.get(), - ); - updateItems(); - } else { - await showPopUp( - context: context, - builder: (_) => getIt.get(), - ); - updateItems(); - } - }, - title: S.of(context).accounts, - trailingIcon: Icon( - Icons.arrow_forward_ios, - size: 14, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ); - } - - if (item is WalletAddressHiddenListHeader) { - cell = HeaderTile( - title: S.of(context).hidden_addresses, - walletAddressListViewModel: widget.addressListViewModel, - showTrailingButton: true, - showSearchButton: false, - trailingButtonTap: _toggleHiddenAddresses, - trailingIcon: Icon( - showHiddenAddresses ? Icons.toggle_on : Icons.toggle_off, - size: 20, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ); - } - - if (item is WalletAddressListHeader) { - cell = HeaderTile( - title: S.of(context).addresses, - walletAddressListViewModel: widget.addressListViewModel, - showTrailingButton: widget.addressListViewModel.showAddManualAddresses, - showSearchButton: true, - onSearchCallback: updateItems, - trailingButtonTap: () => - Navigator.of(context).pushNamed(Routes.newSubaddress).then((value) { - updateItems(); // refresh the new address - }), - trailingIcon: Icon( - Icons.add, - size: 20, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ); - } - - if (item is WalletAddressListItem) { - if (item.isHidden && !showHiddenAddresses) { - cell = Container(); - } else if (!item.isHidden && showHiddenAddresses) { - cell = Container(); - } else { - cell = Observer( - builder: (_) { - final isCurrent = - item.address == widget.addressListViewModel.address.address && editable; - final backgroundColor = isCurrent - ? Theme.of(context).colorScheme.primary - : Theme.of(context).colorScheme.surface; - final textColor = isCurrent - ? Theme.of(context).colorScheme.onPrimary - : Theme.of(context).colorScheme.onSurface; - - return AddressCell.fromItem( - item, - isCurrent: isCurrent, - walletType: widget.addressListViewModel.type, - hasBalance: widget.addressListViewModel.isBalanceAvailable, - hasReceived: widget.addressListViewModel.isReceivedAvailable, - // hasReceived: - backgroundColor: backgroundColor, - textColor: textColor, - onTap: (_) { - if (widget.onSelect != null) { - widget.onSelect!(item.address); - return; - } - widget.addressListViewModel.setAddress(item); - }, - onEdit: editable - ? () => Navigator.of(context) - .pushNamed(Routes.newSubaddress, arguments: item) - .then((value) { - updateItems(); // refresh the new address - }) - : null, - isHidden: item.isHidden, - onHide: () => _hideAddress(item), - ); - }, - ); - } - } - - return index != 0 - ? cell - : ClipRRect( - borderRadius: BorderRadius.only( - topLeft: Radius.circular(30), - topRight: Radius.circular(30), - ), - child: cell, - ); - }, - ); - } - - void _hideAddress(WalletAddressListItem item) async { - await widget.addressListViewModel.toggleHideAddress(item); - updateItems(); - } -} diff --git a/lib/src/screens/receive/widgets/anonpay_currency_input_field.dart b/lib/src/screens/receive/widgets/anonpay_currency_input_field.dart deleted file mode 100644 index d4840c2b6..000000000 --- a/lib/src/screens/receive/widgets/anonpay_currency_input_field.dart +++ /dev/null @@ -1,157 +0,0 @@ -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/widgets/base_text_form_field.dart'; -import 'package:cw_core/currency.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -class AnonpayCurrencyInputField extends StatelessWidget { - const AnonpayCurrencyInputField( - {super.key, - required this.onTapPicker, - required this.selectedCurrency, - required this.focusNode, - required this.controller, - required this.minAmount, - required this.maxAmount}); - final Function() onTapPicker; - final Currency selectedCurrency; - final FocusNode focusNode; - final TextEditingController controller; - final String minAmount; - final String maxAmount; - - @override - Widget build(BuildContext context) { - final arrowBottomPurple = Image.asset( - 'assets/images/arrow_bottom_purple_icon.png', - color: Theme.of(context).colorScheme.primary, - height: 8, - ); - - return Column( - children: [ - Container( - child: Padding( - padding: EdgeInsets.only(top: 20), - child: Row( - children: [ - Container( - padding: EdgeInsets.only(right: 8), - height: 32, - child: InkWell( - onTap: onTapPicker, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - mainAxisSize: MainAxisSize.min, - children: [ - Padding( - padding: EdgeInsets.only(right: 5), - child: arrowBottomPurple, - ), - Text( - selectedCurrency.name.toUpperCase(), - style: Theme.of(context).textTheme.bodyLarge?.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - ], - ), - ), - ), - if (selectedCurrency.tag != null) - Padding( - padding: const EdgeInsets.only(right: 3.0), - child: Container( - height: 32, - decoration: BoxDecoration( - color: Theme.of(context).colorScheme.secondaryContainer, - borderRadius: BorderRadius.all(Radius.circular(6)), - ), - child: Center( - child: Padding( - padding: const EdgeInsets.all(6.0), - child: Text( - selectedCurrency.tag!, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - fontWeight: FontWeight.bold, - color: Theme.of(context).colorScheme.onSecondaryContainer, - ), - ), - ), - ), - ), - ), - Padding( - padding: const EdgeInsets.only(right: 4.0), - child: Text( - ':', - style: Theme.of(context).textTheme.bodyLarge?.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - ), - Expanded( - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Flexible( - child: BaseTextFormField( - hasUnderlineBorder: true, - borderWidth: 0.0, - focusNode: focusNode, - controller: controller, - textInputAction: TextInputAction.next, - enabled: true, - textAlign: TextAlign.left, - keyboardType: - TextInputType.numberWithOptions(signed: false, decimal: true), - inputFormatters: [FilteringTextInputFormatter.deny(RegExp('[\\-|\\ ]'))], - hintText: '0.0000', - textStyle: Theme.of(context).textTheme.bodyLarge?.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurface, - ), - placeholderTextStyle: Theme.of(context).textTheme.bodyLarge?.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - validator: null, - ), - ), - ], - ), - ), - ], - ), - ), - ), - Divider(height: 1, color: Theme.of(context).colorScheme.outlineVariant), - Container( - height: 15, - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Text( - S.of(context).min_value(minAmount, selectedCurrency.toString()), - style: Theme.of(context).textTheme.bodySmall?.copyWith( - height: 1.2, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - SizedBox(width: 10), - Text( - S.of(context).max_value(maxAmount, selectedCurrency.toString()), - style: Theme.of(context).textTheme.bodySmall?.copyWith( - height: 1.2, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - ], - ), - ), - ], - ); - } -} diff --git a/lib/src/screens/receive/widgets/anonpay_input_form.dart b/lib/src/screens/receive/widgets/anonpay_input_form.dart deleted file mode 100644 index 9e0ba76f9..000000000 --- a/lib/src/screens/receive/widgets/anonpay_input_form.dart +++ /dev/null @@ -1,141 +0,0 @@ -import 'package:cake_wallet/core/email_validator.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/screens/exchange/widgets/currency_picker.dart'; -import 'package:cake_wallet/src/screens/receive/widgets/anonpay_currency_input_field.dart'; -import 'package:cake_wallet/src/widgets/base_text_form_field.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cake_wallet/view_model/anon_invoice_page_view_model.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; - -class AnonInvoiceForm extends StatelessWidget { - AnonInvoiceForm({ - super.key, - required this.formKey, - required this.anonInvoicePageViewModel, - required this.isInvoice, - required this.amountController, - required this.nameController, - required this.emailController, - required this.descriptionController, - required this.depositAmountFocus, - }) : _nameFocusNode = FocusNode(), - _emailFocusNode = FocusNode(), - _descriptionFocusNode = FocusNode() { - amountController.text = anonInvoicePageViewModel.amount; - nameController.text = anonInvoicePageViewModel.receipientName; - descriptionController.text = anonInvoicePageViewModel.description; - emailController.text = anonInvoicePageViewModel.receipientEmail; - } - - final TextEditingController amountController; - final TextEditingController nameController; - final TextEditingController emailController; - final TextEditingController descriptionController; - final AnonInvoicePageViewModel anonInvoicePageViewModel; - final FocusNode depositAmountFocus; - final FocusNode _nameFocusNode; - final FocusNode _emailFocusNode; - final FocusNode _descriptionFocusNode; - final GlobalKey formKey; - final bool isInvoice; - - @override - Widget build(BuildContext context) { - return Form( - key: formKey, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - isInvoice ? S.of(context).invoice_details : S.of(context).donation_link_details, - style: Theme.of(context).textTheme.titleMedium?.copyWith( - fontWeight: FontWeight.w600, - ), - ), - if (isInvoice) - Observer( - builder: (_) { - return AnonpayCurrencyInputField( - onTapPicker: () => _presentPicker(context), - controller: amountController, - focusNode: depositAmountFocus, - maxAmount: anonInvoicePageViewModel.maximum?.toString() ?? '...', - minAmount: anonInvoicePageViewModel.minimum?.toString() ?? '...', - selectedCurrency: anonInvoicePageViewModel.selectedCurrency, - ); - }, - ), - SizedBox(height: 24), - BaseTextFormField( - hasUnderlineBorder: true, - controller: nameController, - focusNode: _nameFocusNode, - suffixIcon: SizedBox(width: 36), - hintText: S.of(context).optional_name, - textInputAction: TextInputAction.next, - placeholderTextStyle: Theme.of(context).textTheme.bodyLarge?.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - textStyle: Theme.of(context).textTheme.bodyLarge?.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurface, - ), - validator: null, - ), - SizedBox(height: 24), - BaseTextFormField( - hasUnderlineBorder: true, - controller: descriptionController, - focusNode: _descriptionFocusNode, - textInputAction: TextInputAction.next, - suffixIcon: SizedBox(width: 36), - hintText: S.of(context).optional_description, - placeholderTextStyle: Theme.of(context).textTheme.bodyLarge?.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - textStyle: Theme.of(context).textTheme.bodyLarge?.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurface, - ), - validator: null, - ), - SizedBox(height: 24), - BaseTextFormField( - hasUnderlineBorder: true, - controller: emailController, - textInputAction: TextInputAction.next, - focusNode: _emailFocusNode, - suffixIcon: SizedBox(width: 36), - keyboardType: TextInputType.emailAddress, - hintText: S.of(context).optional_email_hint, - placeholderTextStyle: Theme.of(context).textTheme.bodyLarge?.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - textStyle: Theme.of(context).textTheme.bodyLarge?.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurface, - ), - validator: EmailValidator(), - ), - SizedBox(height: 52), - ], - ), - ); - } - - void _presentPicker(BuildContext context) { - showPopUp( - builder: (_) => CurrencyPicker( - selectedAtIndex: anonInvoicePageViewModel.selectedCurrencyIndex, - items: anonInvoicePageViewModel.currencies, - hintText: S.of(context).search_currency, - onItemSelected: anonInvoicePageViewModel.selectCurrency, - ), - context: context, - ); - } -} diff --git a/lib/src/screens/receive/widgets/anonpay_status_section.dart b/lib/src/screens/receive/widgets/anonpay_status_section.dart deleted file mode 100644 index c431be1a9..000000000 --- a/lib/src/screens/receive/widgets/anonpay_status_section.dart +++ /dev/null @@ -1,86 +0,0 @@ -import 'package:cake_wallet/anonpay/anonpay_invoice_info.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/sync_indicator_icon.dart'; -import 'package:flutter/material.dart'; - -class AnonInvoiceStatusSection extends StatelessWidget { - const AnonInvoiceStatusSection({ - super.key, - required this.invoiceInfo, - }); - - final AnonpayInvoiceInfo invoiceInfo; - - @override - Widget build(BuildContext context) { - return Container( - width: 200, - padding: EdgeInsets.all(19), - decoration: BoxDecoration( - color: Theme.of(context).colorScheme.surface, - borderRadius: BorderRadius.circular(30), - ), - child: Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - S.current.status, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - Container( - padding: EdgeInsets.symmetric(horizontal: 10, vertical: 5), - decoration: BoxDecoration( - color: Theme.of(context).colorScheme.secondaryContainer, - borderRadius: BorderRadius.circular(10), - ), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - SyncIndicatorIcon( - boolMode: false, - value: invoiceInfo.status, - size: 6, - ), - SizedBox(width: 5), - Text( - invoiceInfo.status, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSecondaryContainer, - ), - ), - ], - ), - ), - ], - ), - SizedBox(height: 27), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - 'ID', - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - Text( - invoiceInfo.invoiceId, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - ], - ), - ], - ), - ); - } -} diff --git a/lib/src/screens/receive/widgets/copy_link_item.dart b/lib/src/screens/receive/widgets/copy_link_item.dart deleted file mode 100644 index 11d17d20b..000000000 --- a/lib/src/screens/receive/widgets/copy_link_item.dart +++ /dev/null @@ -1,54 +0,0 @@ -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/utils/share_util.dart'; -import 'package:cake_wallet/utils/show_bar.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -class CopyLinkItem extends StatelessWidget { - const CopyLinkItem({super.key, required this.url, required this.title}); - final String url; - final String title; - - @override - Widget build(BuildContext context) { - final copyImage = Image.asset('assets/images/copy_address.png', - color: Theme.of(context).colorScheme.onSurface); - - return Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - title, - style: Theme.of(context).textTheme.bodyLarge?.copyWith( - color: Theme.of(context).colorScheme.onSurface, - ), - ), - SizedBox(width: 50), - Row( - children: [ - InkWell( - onTap: () { - Clipboard.setData(ClipboardData(text: url)); - showBar(context, S.of(context).copied_to_clipboard); - }, - child: copyImage, - ), - SizedBox(width: 20), - IconButton( - padding: EdgeInsets.zero, - constraints: BoxConstraints(), - highlightColor: Colors.transparent, - splashColor: Colors.transparent, - iconSize: 25, - onPressed: () => ShareUtil.share(text: url, context: context), - icon: Icon( - Icons.share, - color: Theme.of(context).colorScheme.primary, - ), - ) - ], - ) - ], - ); - } -} diff --git a/lib/src/screens/receive/widgets/header_tile.dart b/lib/src/screens/receive/widgets/header_tile.dart deleted file mode 100644 index 24918ad50..000000000 --- a/lib/src/screens/receive/widgets/header_tile.dart +++ /dev/null @@ -1,108 +0,0 @@ -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/widgets/base_text_form_field.dart'; -import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_view_model.dart'; -import 'package:flutter/material.dart'; - -class HeaderTile extends StatefulWidget { - HeaderTile({ - required this.title, - required this.walletAddressListViewModel, - this.showSearchButton = false, - this.showTrailingButton = false, - this.trailingButtonTap, - this.onSearchCallback, - this.trailingIcon, - }); - - final String title; - final WalletAddressListViewModel walletAddressListViewModel; - final bool showSearchButton; - final bool showTrailingButton; - final VoidCallback? trailingButtonTap; - final VoidCallback? onSearchCallback; - final Icon? trailingIcon; - - @override - _HeaderTileState createState() => _HeaderTileState(); -} - -class _HeaderTileState extends State { - bool _isSearchActive = false; - - @override - Widget build(BuildContext context) { - final searchIcon = Icon(Icons.search, color: Theme.of(context).colorScheme.primary); - - return Container( - padding: EdgeInsets.symmetric(horizontal: 24, vertical: 12), - color: Theme.of(context).colorScheme.surface, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - _isSearchActive - ? Expanded( - child: BaseTextFormField( - onChanged: (value) { - widget.walletAddressListViewModel.updateSearchText(value); - widget.onSearchCallback?.call(); - }, - cursorColor: Theme.of(context).colorScheme.onSurface, - cursorWidth: 0.5, - isDense: true, - hintText: '${S.of(context).search}...', - contentPadding: EdgeInsets.all(4), - placeholderTextStyle: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 16, - fontWeight: FontWeight.w600, - ), - autofocus: true, - ), - ) - : Text( - widget.title, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 16, - fontWeight: FontWeight.w600, - ), - ), - Row( - children: [ - if (widget.showSearchButton) - GestureDetector( - onTap: () { - setState(() { - _isSearchActive = !_isSearchActive; - widget.walletAddressListViewModel.updateSearchText(''); - }); - }, - child: Container( - height: 32, - width: 32, - decoration: BoxDecoration( - shape: BoxShape.circle, - color: Theme.of(context).colorScheme.secondaryContainer, - ), - child: searchIcon, - ), - ), - const SizedBox(width: 8), - if (widget.showTrailingButton) - GestureDetector( - onTap: widget.trailingButtonTap, - child: Container( - height: 32, - width: 32, - decoration: BoxDecoration( - shape: BoxShape.circle, - color: Theme.of(context).colorScheme.secondaryContainer, - ), - child: widget.trailingIcon, - ), - ), - ], - ), - ], - ), - ); - } -} diff --git a/lib/src/screens/receive/widgets/qr_widget.dart b/lib/src/screens/receive/widgets/qr_widget.dart deleted file mode 100644 index 5c2868c69..000000000 --- a/lib/src/screens/receive/widgets/qr_widget.dart +++ /dev/null @@ -1,321 +0,0 @@ -import 'package:cake_wallet/entities/qr_view_data.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/src/screens/exchange/widgets/currency_picker.dart'; -import 'package:cake_wallet/src/screens/receive/widgets/currency_input_field.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/screens/receive/widgets/qr_image.dart'; -import 'package:cake_wallet/src/widgets/bottom_sheet/base_bottom_sheet_widget.dart'; -import 'package:cake_wallet/src/widgets/bottom_sheet/info_bottom_sheet_widget.dart'; -import 'package:cake_wallet/utils/address_formatter.dart'; -import 'package:cake_wallet/utils/brightness_util.dart'; -import 'package:cake_wallet/utils/responsive_layout_util.dart'; -import 'package:cake_wallet/utils/show_bar.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_view_model.dart'; -import 'package:cw_core/crypto_currency.dart'; -import 'package:cw_core/payment_uris.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:url_launcher/url_launcher.dart'; - -class QRWidget extends StatelessWidget { - QRWidget({ - required this.addressListViewModel, - this.qrVersion, - this.heroTag, - required this.amountController, - required this.formKey, - this.amountTextFieldFocusNode, - }); - - final WalletAddressListViewModel addressListViewModel; - final TextEditingController amountController; - final FocusNode? amountTextFieldFocusNode; - final GlobalKey formKey; - final int? qrVersion; - final String? heroTag; - - PaymentURI get addressUri { - return addressListViewModel.uri; - } - - @override - Widget build(BuildContext context) { - final copyImage = Image.asset( - 'assets/images/copy_address.png', - color: Theme.of(context).colorScheme.onSurfaceVariant, - ); - - // This magic number for wider screen sets the text input focus at center of the inputfield - final _width = - responsiveLayoutUtil.shouldRenderMobileUI ? MediaQuery.of(context).size.width : 500; - - return Center( - child: SingleChildScrollView( - child: Column( - mainAxisSize: MainAxisSize.min, - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Column( - children: [ - Row( - children: [ - Spacer(flex: 3), - Observer( - builder: (_) => Flexible( - flex: 9, - child: GestureDetector( - onTap: () { - BrightnessUtil.changeBrightnessForFunction( - () async { - await Navigator.pushNamed( - context, - Routes.fullscreenQR, - arguments: QrViewData( - embeddedImagePath: addressListViewModel.qrImage, - data: addressUri.toString(), - heroTag: heroTag, - ), - ); - }, - ); - }, - child: Hero( - tag: Key(heroTag ?? addressUri.toString()), - child: Center( - child: Container( - padding: EdgeInsets.zero, - decoration: BoxDecoration( - border: Border(top: BorderSide.none), - borderRadius: BorderRadius.all(Radius.circular(5)), - color: Theme.of(context).colorScheme.surface, - ), - child: Column( - children: [ - ClipRRect( - borderRadius: BorderRadius.circular(12.5), - child: AspectRatio( - aspectRatio: 1.0, - child: QrImage( - embeddedImagePath: addressListViewModel.qrImage, - data: addressUri.toString(), - size: 230, - ), - ), - ), - if (addressListViewModel.isPayjoinUnavailable && - !addressListViewModel.isSilentPayments && - !addressListViewModel.isLightning && - !addressListViewModel.isBitcoinViewOnly) ...[ - GestureDetector( - onTap: () => _onPayjoinInactivePressed(context), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Padding( - padding: EdgeInsets.only( - top: 4, - bottom: 4, - right: 4, - ), - child: Image.asset( - 'assets/images/payjoin.png', - width: 20, - ), - ), - Text( - S.of(context).payjoin_unavailable, - style: - Theme.of(context).textTheme.bodySmall?.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context) - .colorScheme - .onSurfaceVariant, - ), - ), - Padding( - padding: EdgeInsets.only( - top: 4, - bottom: 4, - left: 4, - ), - child: CircleAvatar( - radius: 7, - backgroundColor: Colors.black, - child: Icon( - Icons.question_mark, - size: 10, - color: Colors.white, - ), - ), - ), - ], - ), - ), - ], - if (addressListViewModel.isPayjoinAvailable) ...[ - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Padding( - padding: EdgeInsets.only( - top: 4, - bottom: 4, - right: 4, - ), - child: Image.asset( - 'assets/images/payjoin.png', - width: 20, - ), - ), - Text( - S.of(context).payjoin_enabled, - style: Theme.of(context).textTheme.bodySmall?.copyWith( - fontWeight: FontWeight.w600, - ), - ), - ], - ), - ] - ], - ), - ), - ), - ), - ), - ), - ), - Spacer(flex: 3) - ], - ), - ], - ), - Observer( - builder: (_) => Row( - children: [ - Expanded( - child: Form( - key: formKey, - child: CurrencyAmountTextField( - hasUnderlineBorder: true, - borderWidth: 0.0, - selectedCurrency: _currencyName, - selectedCurrencyDecimals: - addressListViewModel.selectedCurrencyDecimals, - amountFocusNode: amountTextFieldFocusNode, - amountController: amountController, - padding: EdgeInsets.only(top: 20, left: _width / 4), - isAmountEditable: true, - tag: addressListViewModel.selectedCurrency.tag, - onTapPicker: () => _presentPicker(context), - isPickerEnable: true, - ), - ), - ), - ], - )), - Divider(height: 1, color: Theme.of(context).colorScheme.outlineVariant), - Padding( - padding: EdgeInsets.only(top: 12, bottom: 8), - child: Builder( - builder: (context) => Observer( - builder: (context) => GestureDetector( - onTap: () { - Clipboard.setData(ClipboardData(text: addressUri.address)); - showBar(context, S.of(context).copied_to_clipboard); - }, - child: Row( - mainAxisSize: MainAxisSize.max, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Expanded( - child: AddressFormatter.buildSegmentedAddress( - address: addressUri.address, - walletType: addressListViewModel.type, - textAlign: TextAlign.center, - evenTextStyle: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 15, - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - ), - Padding( - padding: EdgeInsets.only(left: 12), - child: copyImage, - ) - ], - ), - ), - ), - ), - ), - Observer( - builder: (_) => Offstage( - offstage: !addressListViewModel.isPayjoinAvailable, - child: Padding( - padding: EdgeInsets.only(top: 12), - child: PrimaryImageButton( - onPressed: () { - Clipboard.setData(ClipboardData(text: addressUri.toString())); - showBar(context, S.of(context).copied_to_clipboard); - }, - image: Image.asset( - 'assets/images/payjoin.png', - width: 25, - ), - text: S.of(context).copy_payjoin_address, - color: Theme.of(context).colorScheme.surfaceContainer, - textColor: Theme.of(context).colorScheme.onSurface, - ), - ), - ), - ), - ], - ), - ), - ); - } - - String get _currencyName { - if (addressListViewModel.selectedCurrency is CryptoCurrency) { - if (addressListViewModel.useSatoshi) return "SATS"; - return (addressListViewModel.selectedCurrency as CryptoCurrency).title.toUpperCase(); - } - return addressListViewModel.selectedCurrency.name.toUpperCase(); - } - - void _presentPicker(BuildContext context) async { - await showPopUp( - builder: (_) => CurrencyPicker( - selectedAtIndex: addressListViewModel.selectedCurrencyIndex, - items: addressListViewModel.currencies, - hintText: S.of(context).search_currency, - onItemSelected: addressListViewModel.selectCurrency, - ), - context: context, - ); - // update amount if currency changed - addressListViewModel.changeAmount(amountController.text); - } - - void _onPayjoinInactivePressed(BuildContext context) { - showModalBottomSheet( - context: context, - builder: (context) => InfoBottomSheet( - titleText: S.of(context).payjoin_unavailable_sheet_title, - content: S.of(context).payjoin_unavailable_sheet_content, - footerType: FooterType.doubleActionButton, - doubleActionLeftButtonText: S.of(context).learn_more, - onLeftActionButtonPressed: () => launchUrl( - Uri.parse("https://docs.cakewallet.com/cryptos/bitcoin/#payjoin"), - mode: LaunchMode.externalApplication), - doubleActionRightButtonText: S.of(context).ok, - onRightActionButtonPressed: () => Navigator.of(context).pop(), - ), - ); - } -} diff --git a/lib/src/screens/release_notes/release_notes_screen.dart b/lib/src/screens/release_notes/release_notes_screen.dart deleted file mode 100644 index 72b6755cd..000000000 --- a/lib/src/screens/release_notes/release_notes_screen.dart +++ /dev/null @@ -1,139 +0,0 @@ -import 'dart:convert'; -import 'package:cake_wallet/src/widgets/alert_background.dart'; -import 'package:cake_wallet/src/widgets/alert_close_button.dart'; -import 'package:cake_wallet/wallet_type_utils.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -class ReleaseNotesScreen extends StatelessWidget { - const ReleaseNotesScreen({ - required this.title, - }); - - final String title; - - Future> _loadStrings() async { - String notesContent = await rootBundle.loadString( - isMoneroOnly ? 'assets/text/Monerocom_Release_Notes.txt' : 'assets/text/Release_Notes.txt'); - return LineSplitter().convert(notesContent); - } - - @override - Widget build(BuildContext context) { - return Stack( - alignment: Alignment.center, - children: [ - AlertBackground( - child: AlertDialog( - insetPadding: EdgeInsets.only(left: 16, right: 16, bottom: 48), - elevation: 0.0, - contentPadding: EdgeInsets.zero, - shape: RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(30))), - content: Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(30.0), - gradient: LinearGradient(colors: [ - Theme.of(context).colorScheme.surface, - Theme.of(context).colorScheme.surfaceContainer, - ], begin: Alignment.topLeft, end: Alignment.bottomRight)), - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 24.0), - child: Stack( - children: [ - SingleChildScrollView( - child: Padding( - padding: const EdgeInsets.only(top: 16.0), - child: Container( - alignment: Alignment.bottomCenter, - child: DefaultTextStyle( - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - decoration: TextDecoration.none, - fontSize: 24.0, - fontWeight: FontWeight.bold, - color: Theme.of(context).colorScheme.onSurface, - ), - child: Text(title), - ), - ), - ), - ), - SingleChildScrollView( - child: Padding( - padding: EdgeInsets.only(top: 48, bottom: 16), - child: Container( - width: double.maxFinite, - child: Column( - children: [ - ConstrainedBox( - constraints: BoxConstraints( - maxHeight: MediaQuery.of(context).size.height * 0.7, - ), - child: _getNotesWidget(), - ) - ], - ), - ), - ), - ), - ], - ), - ), - ), - ), - ), - AlertCloseButton( - bottom: 30, - ) - ], - ); - } - - Widget _getNotesWidget() { - return FutureBuilder>( - future: _loadStrings(), - builder: (BuildContext context, AsyncSnapshot> snapshot) { - if (snapshot.hasData) { - return ListView.builder( - shrinkWrap: true, - itemCount: snapshot.data!.length, - itemBuilder: (BuildContext context, int index) { - return _getNoteItemWidget(snapshot.data![index], context); - }, - ); - } else if (snapshot.hasError) { - return Text('Error: ${snapshot.error}'); - } else { - return Center(child: CircularProgressIndicator()); - } - }, - ); - } - - Widget _getNoteItemWidget(String myString, BuildContext context) { - return Column( - children: [ - DefaultTextStyle( - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - decoration: TextDecoration.none, - fontSize: 16.0, - color: Theme.of(context).colorScheme.onSurface, - ), - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(right: 8.0), - child: Text('•'), - ), - Expanded( - child: Text(myString), - ), - ], - )), - SizedBox( - height: 16.0, - ) - ], - ); - } -} diff --git a/lib/src/screens/restore/sweeping_wallet_page.dart b/lib/src/screens/restore/sweeping_wallet_page.dart deleted file mode 100644 index 56a383dec..000000000 --- a/lib/src/screens/restore/sweeping_wallet_page.dart +++ /dev/null @@ -1,116 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:flutter/scheduler.dart'; - -class SweepingWalletPage extends BasePage { - SweepingWalletPage(); - - static const aspectRatioImage = 1.25; - final welcomeImageLight = Image.asset('assets/images/welcome_light.png'); - final welcomeImageDark = Image.asset('assets/images/welcome.png'); - - @override - Widget build(BuildContext context) { - return Scaffold( - backgroundColor: Theme.of(context).colorScheme.surface, - resizeToAvoidBottomInset: false, - body: body(context)); - } - - @override - Widget body(BuildContext context) { - final welcomeImage = currentTheme.isDark ? welcomeImageDark : welcomeImageLight; - - return SweepingWalletWidget( - aspectRatioImage: aspectRatioImage, - welcomeImage: welcomeImage, - ); - } -} - -class SweepingWalletWidget extends StatefulWidget { - const SweepingWalletWidget({ - required this.aspectRatioImage, - required this.welcomeImage, - }); - - final double aspectRatioImage; - final Image welcomeImage; - - @override - State createState() => _SweepingWalletWidgetState(); -} - -class _SweepingWalletWidgetState extends State { - @override - void initState() { - SchedulerBinding.instance.addPostFrameCallback((_) async {}); - super.initState(); - } - - @override - Widget build(BuildContext context) { - return WillPopScope( - onWillPop: () async => false, - child: Container( - padding: EdgeInsets.only(top: 64, bottom: 24, left: 24, right: 24), - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Flexible( - flex: 2, - child: AspectRatio( - aspectRatio: widget.aspectRatioImage, - child: FittedBox(child: widget.welcomeImage, fit: BoxFit.fill))), - Flexible( - flex: 3, - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Column( - children: [ - Padding( - padding: EdgeInsets.only(top: 24), - child: Text( - S.of(context).please_wait, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 18, - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - textAlign: TextAlign.center, - ), - ), - Padding( - padding: EdgeInsets.only(top: 5), - child: Text( - S.of(context).sweeping_wallet, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 36, - fontWeight: FontWeight.bold, - color: Theme.of(context).colorScheme.primary, - ), - textAlign: TextAlign.center, - ), - ), - Padding( - padding: EdgeInsets.only(top: 5), - child: Text( - S.of(context).sweeping_wallet_alert, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 16, - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - textAlign: TextAlign.center, - ), - ), - ], - ), - ], - )) - ], - ))); - } -} diff --git a/lib/src/screens/send/send_page.dart b/lib/src/screens/send/send_page.dart deleted file mode 100644 index 954796d50..000000000 --- a/lib/src/screens/send/send_page.dart +++ /dev/null @@ -1,845 +0,0 @@ -import 'package:cake_wallet/bitcoin/bitcoin.dart'; -import 'package:cake_wallet/core/address_validator.dart'; -import 'package:cake_wallet/core/auth_service.dart'; -import 'package:cake_wallet/core/execution_state.dart'; -import 'package:cake_wallet/entities/contact_record.dart'; -import 'package:cake_wallet/entities/fiat_currency.dart'; -import 'package:cake_wallet/entities/template.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/monero/monero.dart'; -import 'package:cake_wallet/reactions/wallet_connect.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/screens/connect_device/connect_device_page.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/sync_indicator_icon.dart'; -import 'package:cake_wallet/src/screens/send/widgets/send_card.dart'; -import 'package:cake_wallet/src/widgets/adaptable_page_view.dart'; -import 'package:cake_wallet/src/widgets/add_template_button.dart'; -import 'package:cake_wallet/src/widgets/alert_with_one_action.dart'; -import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart'; -import 'package:cake_wallet/src/widgets/bottom_sheet/base_bottom_sheet_widget.dart'; -import 'package:cake_wallet/src/widgets/bottom_sheet/confirm_sending_bottom_sheet_widget.dart'; -import 'package:cake_wallet/src/widgets/bottom_sheet/info_bottom_sheet_widget.dart'; -import 'package:cake_wallet/src/widgets/keyboard_done_button.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/src/widgets/scrollable_with_bottom_section.dart'; -import 'package:cake_wallet/src/widgets/simple_checkbox.dart'; -import 'package:cake_wallet/src/widgets/template_tile.dart'; -import 'package:cake_wallet/src/widgets/trail_button.dart'; -import 'package:cake_wallet/utils/payment_request.dart'; -import 'package:cake_wallet/utils/request_review_handler.dart'; -import 'package:cake_wallet/utils/responsive_layout_util.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cake_wallet/view_model/payment/payment_view_model.dart'; -import 'package:cake_wallet/view_model/send/output.dart'; -import 'package:cake_wallet/view_model/send/send_view_model.dart'; -import 'package:cake_wallet/view_model/send/send_view_model_state.dart'; -import 'package:cake_wallet/view_model/wallet_switcher_view_model.dart'; -import 'package:cw_core/amount/money.dart'; -import 'package:cw_core/crypto_currency.dart'; -import 'package:cw_core/utils/print_verbose.dart'; -import 'package:cw_core/wallet_type.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:keyboard_actions/keyboard_actions.dart'; -import 'package:mobx/mobx.dart'; -import 'package:smooth_page_indicator/smooth_page_indicator.dart'; -import 'package:url_launcher/url_launcher.dart'; - -class SendPage extends BasePage { - SendPage({ - required this.sendViewModel, - required this.authService, - required this.paymentViewModel, - required this.walletSwitcherViewModel, - this.initialPaymentRequest, - }) : _formKey = GlobalKey(); - - final SendViewModel sendViewModel; - final PaymentViewModel paymentViewModel; - final WalletSwitcherViewModel walletSwitcherViewModel; - final AuthService authService; - final GlobalKey _formKey; - final controller = PageController(initialPage: 0); - final PaymentRequest? initialPaymentRequest; - final FocusNode _cryptoAmountFocus = FocusNode(); - final FocusNode _fiatAmountFocus = FocusNode(); - - final currentPage = ValueNotifier(0); - - bool _effectsInstalled = false; - ContactRecord? newContactAddress; - - @override - String get title => S.current.send; - - @override - bool get gradientAll => true; - - @override - bool get resizeToAvoidBottomInset => false; - - @override - bool get extendBodyBehindAppBar => true; - - @override - Function(BuildContext)? get pushToNextWidget => (context) { - FocusScopeNode currentFocus = FocusScope.of(context); - if (!currentFocus.hasPrimaryFocus) { - currentFocus.focusedChild?.unfocus(); - } - }; - - @override - Widget? leading(BuildContext context) { - final _backButton = Icon( - Icons.arrow_back_ios, - color: Theme.of(context).colorScheme.primary, - size: 16, - ); - final _closeButton = currentTheme.isDark ? closeButtonImageDarkTheme : closeButtonImage; - final isMobileView = responsiveLayoutUtil.shouldRenderMobileUI; - - return MergeSemantics( - child: SizedBox( - height: isMobileView ? 37 : 45, - width: isMobileView ? 47 : 45, - child: ButtonTheme( - minWidth: double.minPositive, - child: Semantics( - label: !isMobileView ? S.of(context).close : S.of(context).seed_alert_back, - child: TextButton( - style: ButtonStyle( - overlayColor: WidgetStateColor.resolveWith((states) => Colors.transparent), - ), - onPressed: () => onClose(context), - child: !isMobileView ? _closeButton : _backButton, - ), - ), - ), - ), - ); - } - - @override - AppBarStyle get appBarStyle => AppBarStyle.transparent; - - @override - void onClose(BuildContext context) { - sendViewModel.onClose(); - Navigator.of(context).pop(); - } - - @override - Widget? middle(BuildContext context) { - final supMiddle = super.middle(context); - return Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Padding( - padding: const EdgeInsets.only(right: 8.0), - child: Observer( - builder: (_) => SyncIndicatorIcon(isSynced: sendViewModel.isReadyForSend), - ), - ), - if (supMiddle != null) supMiddle - ], - ); - } - - @override - Widget trailing(context) => Observer( - builder: (_) => sendViewModel.isBatchSending - ? TrailButton( - caption: S.of(context).remove, - onPressed: () { - var pageToJump = (controller.page?.round() ?? 0) - 1; - pageToJump = pageToJump > 0 ? pageToJump : 0; - final output = _defineCurrentOutput(); - sendViewModel.removeOutput(output); - controller.jumpToPage(pageToJump); - }, - ) - : TrailButton( - caption: S.of(context).clear, - onPressed: () { - final output = _defineCurrentOutput(); - _formKey.currentState?.reset(); - output.reset(); - }, - ), - ); - - @override - Widget body(BuildContext context) { - _setEffects(context); - - return ValueListenableBuilder( - valueListenable: currentPage, - builder: (context, value, child) { - return Observer(builder: (_) { - List sendCards = []; - List keyboardActions = []; - for (final output in sendViewModel.outputs) { - final isCurrent = sendViewModel.outputs.indexOf(output) == value; - sendCards.add( - SendCard( - currentTheme: currentTheme, - key: output.key, - output: output, - sendViewModel: sendViewModel, - paymentViewModel: paymentViewModel, - walletSwitcherViewModel: walletSwitcherViewModel, - initialPaymentRequest: initialPaymentRequest, - cryptoAmountFocus: isCurrent ? _cryptoAmountFocus : null, - fiatAmountFocus: isCurrent ? _fiatAmountFocus : null, - ), - ); - keyboardActions.add( - KeyboardActionsItem( - focusNode: _cryptoAmountFocus, - toolbarButtons: [(_) => KeyboardDoneButton()], - ), - ); - keyboardActions.add( - KeyboardActionsItem( - focusNode: _fiatAmountFocus, - toolbarButtons: [(_) => KeyboardDoneButton()], - ), - ); - } - return Stack( - children: [ - KeyboardActions( - config: KeyboardActionsConfig( - keyboardActionsPlatform: KeyboardActionsPlatform.ALL, - keyboardBarColor: Theme.of(context).colorScheme.surface, - nextFocus: false, - actions: keyboardActions, - ), - child: Container( - height: 0, - color: Colors.transparent, - ), - ), - GestureDetector( - onLongPress: () => sendViewModel.balanceViewModel.isReversing = - !sendViewModel.balanceViewModel.isReversing, - onLongPressUp: () => sendViewModel.balanceViewModel.isReversing = - !sendViewModel.balanceViewModel.isReversing, - child: RepaintBoundary( - child: Form( - key: _formKey, - child: ScrollableWithBottomSection( - contentPadding: EdgeInsets.only(bottom: 24), - content: FocusTraversalGroup( - policy: OrderedTraversalPolicy(), - child: Column( - children: [ - PageViewHeightAdaptable( - controller: controller, - children: sendCards, - ), - SizedBox(height: 10), - Padding( - padding: EdgeInsets.only(left: 24, right: 24, bottom: 10), - child: Container( - height: 10, - child: Observer( - builder: (_) { - final count = sendViewModel.outputs.length; - - return count > 1 - ? Semantics( - label: 'Page Indicator', - hint: 'Swipe to change receiver', - excludeSemantics: true, - child: SmoothPageIndicator( - controller: controller, - count: count, - effect: ScrollingDotsEffect( - spacing: 6.0, - radius: 6.0, - dotWidth: 6.0, - dotHeight: 6.0, - dotColor: Theme.of(context) - .colorScheme - .primary - .withAlpha(100), - activeDotColor: - Theme.of(context).colorScheme.primary, - ), - ), - ) - : Offstage(); - }, - ), - ), - ), - Container( - height: 40, - width: double.infinity, - padding: EdgeInsets.only(left: 24), - child: SingleChildScrollView( - scrollDirection: Axis.horizontal, - child: Observer( - builder: (_) { - final templates = sendViewModel.templates; - final itemCount = templates.length; - - return Row( - children: [ - AddTemplateButton( - key: ValueKey('send_page_add_template_button_key'), - onTap: () => Navigator.of(context) - .pushNamed(Routes.sendTemplate), - currentTemplatesLength: templates.length, - ), - ListView.builder( - scrollDirection: Axis.horizontal, - shrinkWrap: true, - physics: NeverScrollableScrollPhysics(), - itemCount: itemCount, - itemBuilder: (context, index) { - final template = templates[index]; - return TemplateTile( - key: UniqueKey(), - to: template.name, - hasMultipleRecipients: - template.additionalRecipients != null && - template.additionalRecipients!.length > 1, - amount: template.isCurrencySelected - ? template.amount - : template.amountFiat, - from: template.isCurrencySelected - ? template.cryptoCurrency - : template.fiatCurrency, - onTap: () async { - sendViewModel.state = - LoadingTemplateExecutingState(); - if (template.additionalRecipients?.isNotEmpty ?? - false) { - sendViewModel.clearOutputs(); - - for (int i = 0; - i < template.additionalRecipients!.length; - i++) { - Output output; - try { - output = sendViewModel.outputs[i]; - } catch (e) { - sendViewModel.addOutput(); - output = sendViewModel.outputs[i]; - } - - await _setInputsFromTemplate( - context, - output: output, - template: - template.additionalRecipients![i], - ); - } - } else { - final output = _defineCurrentOutput(); - await _setInputsFromTemplate( - context, - output: output, - template: template, - ); - } - sendViewModel.state = InitialExecutionState(); - }, - onRemove: () { - showPopUp( - context: context, - builder: (dialogContext) { - return AlertWithTwoActions( - alertTitle: S.of(context).template, - alertContent: S - .of(context) - .confirm_delete_template, - rightButtonText: S.of(context).delete, - leftButtonText: S.of(context).cancel, - actionRightButton: () { - Navigator.of(dialogContext).pop(); - sendViewModel.sendTemplateViewModel - .removeTemplate( - template: template); - }, - actionLeftButton: () => - Navigator.of(dialogContext).pop()); - }, - ); - }, - ); - }, - ), - ], - ); - }, - ), - ), - ), - ], - ), - ), - bottomSectionPadding: EdgeInsets.only(left: 24, right: 24, bottom: 24), - bottomSection: Column( - children: [ - if (sendViewModel.sendTemplateViewModel.hasMultiRecipient) - Padding( - padding: EdgeInsets.only(bottom: 12), - child: PrimaryButton( - key: ValueKey('send_page_add_receiver_button_key'), - onPressed: () { - sendViewModel.addOutput(); - Future.delayed(const Duration(milliseconds: 250), () { - controller.jumpToPage(sendViewModel.outputs.length - 1); - }); - }, - text: S.of(context).add_receiver, - color: Colors.transparent, - textColor: Theme.of(context).colorScheme.onSurfaceVariant, - isDottedBorder: true, - borderColor: Theme.of(context).colorScheme.outline, - )), - Observer( - builder: (_) { - return LoadingPrimaryButton( - key: ValueKey('send_page_send_button_key'), - onPressed: () async { - //Request dummy node to get the focus out of the text fields - FocusScope.of(context).requestFocus(FocusNode()); - - if (sendViewModel.state is IsExecutingState) return; - if (_formKey.currentState != null && - !_formKey.currentState!.validate()) { - if (sendViewModel.outputs.length > 1) { - showErrorValidationAlert(context); - } - - return; - } - - final hasInvalidItems = sendViewModel.outputs.any((item) => - item.address.isEmpty || - (item.cryptoAmount.isEmpty && !item.sendAll)); - - if (hasInvalidItems) { - showErrorValidationAlert(context); - return; - } - - if (sendViewModel.wallet.isHardwareWallet) { - if (!sendViewModel.hardwareWalletViewModel! - .isConnected(sendViewModel.walletType)) { - await Navigator.of(context) - .pushNamed(Routes.connectDevices, - arguments: ConnectDevicePageParams( - walletType: sendViewModel.walletType, - hardwareWalletType: sendViewModel - .wallet.walletInfo.hardwareWalletType!, - onConnectDevice: (BuildContext context, _) { - sendViewModel.hardwareWalletViewModel! - .initWallet(sendViewModel.wallet); - Navigator.of(context).pop(); - }, - )); - } else { - sendViewModel.hardwareWalletViewModel! - .initWallet(sendViewModel.wallet); - } - } - - if (sendViewModel.wallet.type == WalletType.monero) { - var amount = Money.zero(sendViewModel.wallet.currency); - for (var item in sendViewModel.outputs) { - amount += item.cryptoAmountMoney; - } - if (monero! - .needExportOutputs(sendViewModel.wallet, amount)) { - await Navigator.of(context).pushNamed( - Routes.urqrAnimatedPage, - arguments: - monero!.exportOutputsUR(sendViewModel.wallet)); - await Future.delayed(Duration( - seconds: 1)); // wait for monero to refresh the state - } - if (monero! - .needExportOutputs(sendViewModel.wallet, amount)) { - return; - } - } - - final check = sendViewModel.shouldDisplayTotp(); - authService.authenticateAction( - context, - conditionToDetermineIfToUse2FA: check, - onAuthSuccess: (value) async { - if (value) { - await sendViewModel.createTransaction(); - } - }, - ); - }, - text: _sendButtonText(context), - color: Theme.of(context).colorScheme.primary, - textColor: Theme.of(context).colorScheme.onPrimary, - isLoading: sendViewModel.state is IsExecutingState || - sendViewModel.state is TransactionCommitting || - sendViewModel.state is IsAwaitingDeviceResponseState || - sendViewModel.state is LoadingTemplateExecutingState, - isDisabled: !sendViewModel.isReadyForSend || - sendViewModel.state is ExecutedSuccessfullyState, - ); - }, - ) - ], - )), - ), - ), - ), - ], - ); - }); - }); - } - - BuildContext? dialogContext; - BuildContext? loadingBottomSheetContext; - - void _setEffects(BuildContext context) { - if (_effectsInstalled) return; - - if (sendViewModel.isElectrumWallet) { - bitcoin!.updateFeeRates(sendViewModel.wallet); - } - - controller.addListener(() { - if (!controller.hasClients) return; - currentPage.value = controller.page!.round(); - }); - - reaction((_) => sendViewModel.state, (ExecutionState state) async { - if (dialogContext != null && dialogContext?.mounted == true) { - Navigator.of(dialogContext!).pop(); - } - - if (state is! IsExecutingState && - loadingBottomSheetContext != null && - loadingBottomSheetContext!.mounted) { - Navigator.of(loadingBottomSheetContext!).pop(); - } - - if (state is FailureState) { - WidgetsBinding.instance.addPostFrameCallback( - (_) { - showPopUp( - context: context, - builder: (context) => AlertWithOneAction( - key: ValueKey('send_page_send_failure_dialog_key'), - buttonKey: ValueKey('send_page_send_failure_dialog_button_key'), - alertTitle: S.of(context).error, - alertContent: state.error, - buttonText: S.of(context).ok, - buttonAction: () => Navigator.of(context).pop(), - ), - ); - }, - ); - } - - if (state is IsExecutingState) { - // wait a bit to avoid showing the loading dialog if transaction is failed - await Future.delayed(const Duration(milliseconds: 300)); - final currentState = sendViewModel.state; - if (currentState is ExecutedSuccessfullyState || currentState is FailureState) { - return; - } - - WidgetsBinding.instance.addPostFrameCallback((_) { - if (context.mounted) { - showModalBottomSheet( - context: context, - isDismissible: false, - builder: (context) { - loadingBottomSheetContext = context; - return LoadingBottomSheet( - titleText: S.of(context).generating_transaction, - ); - }, - ); - } - }); - } - - if (state is ExecutedSuccessfullyState) { - WidgetsBinding.instance.addPostFrameCallback((_) async { - if (context.mounted) { - final result = await showModalBottomSheet( - context: context, - isDismissible: false, - isScrollControlled: true, - builder: (BuildContext bottomSheetContext) { - return Observer( - builder: (_) => ConfirmSendingBottomSheet( - key: ValueKey('send_page_confirm_sending_bottom_sheet_key'), - titleText: S.of(bottomSheetContext).confirm_transaction, - accessibleNavigationModeSlideActionButtonText: S.of(bottomSheetContext).send, - footerType: FooterType.slideActionButton, - isSlideActionEnabled: sendViewModel.isReadyForSend, - walletType: sendViewModel.walletType, - titleIconPath: sendViewModel.selectedCryptoCurrency.iconPath, - currency: sendViewModel.selectedCryptoCurrency, - amount: S.of(bottomSheetContext).send_amount, - amountValue: sendViewModel.amountParsingProxy.getDisplayCryptoAmount( - sendViewModel.pendingTransaction!.amountFormatted, - sendViewModel.selectedCryptoCurrency), - fiatAmountValue: sendViewModel.pendingTransactionFiatAmountFormatted, - fee: isEVMCompatibleChain(sendViewModel.walletType) - ? S.of(bottomSheetContext).send_estimated_fee - : S.of(bottomSheetContext).send_fee, - feeValue: - "${sendViewModel.amountParsingProxy.getDisplayCryptoAmount(sendViewModel.pendingTransaction!.feeFormattedValue, sendViewModel.selectedCryptoCurrency)} ${sendViewModel.amountParsingProxy.getCryptoSymbol(sendViewModel.wallet.currency)}", - feeFiatAmount: sendViewModel.pendingTransactionFeeFiatAmountFormatted, - outputs: sendViewModel.outputs, - onSlideActionComplete: () async { - Navigator.of(bottomSheetContext).pop(true); - sendViewModel.commitTransaction(context); - }, - change: sendViewModel.pendingTransaction!.change, - isOpenCryptoPay: sendViewModel.ocpRequest != null, - amountParsingProxy: sendViewModel.amountParsingProxy, - ), - ); - }, - ); - - if (result == null) sendViewModel.dismissTransaction(); - } - }); - } - - if (state is TransactionCommitted) { - WidgetsBinding.instance.addPostFrameCallback((_) async { - if (!context.mounted) return; - - newContactAddress = newContactAddress ?? sendViewModel.newContactAddress(); - - if (newContactAddress?.address != null && - isRegularElectrumAddress(newContactAddress!.address)) { - newContactAddress = null; - } - - bool showContactSheet = (newContactAddress != null && sendViewModel.showAddressBookPopup); - - await showModalBottomSheet( - context: context, - isDismissible: false, - builder: (BuildContext bottomSheetContext) { - return showContactSheet && sendViewModel.ocpRequest == null - ? InfoBottomSheet( - footerType: FooterType.doubleActionButton, - titleText: S.of(bottomSheetContext).transaction_sent, - contentImage: 'assets/images/contact.png', - contentImageColor: Theme.of(context).colorScheme.onSurface, - content: S.of(bottomSheetContext).add_contact_to_address_book, - leftActionButtonKey: - ValueKey('send_page_add_contact_bottom_sheet_no_button_key'), - rightActionButtonKey: - ValueKey('send_page_add_contact_bottom_sheet_yes_button_key'), - bottomActionPanel: Padding( - padding: const EdgeInsets.only(left: 34.0), - child: Row( - children: [ - SimpleCheckbox( - onChanged: (value) => - sendViewModel.setShowAddressBookPopup(!value)), - const SizedBox(width: 8), - Text( - 'Don’t ask me next time', - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 14, - fontFamily: 'Lato', - fontWeight: FontWeight.w500, - color: Theme.of(context).textTheme.titleLarge!.color, - decoration: TextDecoration.none, - ), - ), - ], - ), - ), - doubleActionLeftButtonText: 'No', - doubleActionRightButtonText: 'Yes', - onLeftActionButtonPressed: () { - Navigator.of(bottomSheetContext).pop(); - if (context.mounted) { - Navigator.of(context) - .pushNamedAndRemoveUntil(Routes.dashboard, (route) => false); - } - RequestReviewHandler.requestReview(); - newContactAddress = null; - }, - onRightActionButtonPressed: () { - Navigator.of(bottomSheetContext).pop(); - RequestReviewHandler.requestReview(); - if (context.mounted) { - Navigator.of(context).pushNamed(Routes.addressBookAddContact, - arguments: newContactAddress); - } - newContactAddress = null; - }, - ) - : InfoBottomSheet( - footerType: FooterType.singleActionButton, - titleText: S.of(bottomSheetContext).transaction_sent, - contentImage: 'assets/images/birthday_cake.png', - singleActionButtonText: S.of(bottomSheetContext).close, - singleActionButtonKey: ValueKey('send_page_transaction_sent_button_key'), - onSingleActionButtonPressed: () { - Navigator.of(bottomSheetContext).pop(); - Future.delayed(Duration.zero, () { - if (context.mounted) { - Navigator.of(context) - .pushNamedAndRemoveUntil(Routes.dashboard, (route) => false); - } - RequestReviewHandler.requestReview(); - newContactAddress = null; - }); - }, - ); - }, - ); - - if (initialPaymentRequest?.callbackUrl?.isNotEmpty ?? false) { - // wait a second so it's not as jarring: - await Future.delayed(Duration(seconds: 1)); - try { - launchUrl( - Uri.parse(initialPaymentRequest!.callbackUrl!), - mode: LaunchMode.externalApplication, - ); - } catch (e) { - printV(e); - } - } - - sendViewModel.clearOutputs(); - }); - } - - if (state is IsDeviceSigningResponseState) { - WidgetsBinding.instance.addPostFrameCallback((_) { - if (!context.mounted) return; - - showModalBottomSheet( - context: context, - isDismissible: false, - builder: (context) { - dialogContext = context; - return LoadingBottomSheet(titleText: S.of(context).processing_signed_tx); - }, - ); - }); - } - - if (state is IsAwaitingDeviceResponseState) { - WidgetsBinding.instance.addPostFrameCallback((_) { - if (!context.mounted) return; - - showModalBottomSheet( - context: context, - isDismissible: false, - builder: (context) { - dialogContext = context; - return InfoBottomSheet( - footerType: FooterType.singleActionButton, - titleText: S.of(context).proceed_on_device, - contentImage: 'assets/images/hardware_wallet/ledger_nano_x.png', - contentImageColor: Theme.of(context).colorScheme.onSurface, - content: S.of(context).proceed_on_device_description, - singleActionButtonText: S.of(context).cancel, - onSingleActionButtonPressed: () { - sendViewModel.state = InitialExecutionState(); - Navigator.of(context).pop(); - }, - ); - }); - }); - } - }); - - _effectsInstalled = true; - } - - Future _setInputsFromTemplate(BuildContext context, - {required Output output, required Template template}) async { - output.address = template.address; - - if (template.isCurrencySelected) { - sendViewModel.setSelectedCryptoCurrency(template.cryptoCurrency); - output.setCryptoAmount(template.amount); - } else { - final fiatFromTemplate = - FiatCurrency.all.singleWhere((element) => element.title == template.fiatCurrency); - - sendViewModel.setFiatCurrency(fiatFromTemplate); - output.setFiatAmount(template.amountFiat); - } - - output.resetParsedAddress(); - } - - Output _defineCurrentOutput() { - if (controller.page == null) throw Exception('Controller page is null'); - final itemCount = controller.page!.round(); - return sendViewModel.outputs[itemCount]; - } - - void showErrorValidationAlert(BuildContext context) => showPopUp( - context: context, - builder: (context) => AlertWithOneAction( - alertTitle: S.of(context).error, - alertContent: 'Please, check receiver forms', - buttonText: S.of(context).ok, - buttonAction: () => Navigator.of(context).pop(), - ), - ); - - bool isRegularElectrumAddress(String address) { - final supportedTypes = [CryptoCurrency.btc, CryptoCurrency.ltc, CryptoCurrency.bch]; - final excludedPatterns = [ - RegExp(AddressValidator.silentPaymentAddressPatternMainnet), - RegExp(AddressValidator.silentPaymentAddressPatternTestnet), - RegExp(AddressValidator.mWebAddressPattern), - RegExp(AddressValidator.bolt11InvoiceMatcher), - ]; - - final trimmed = address.trim(); - - bool isValid = false; - for (final type in supportedTypes) { - final addressPattern = AddressValidator.getAddressFromStringPattern(type); - if (addressPattern != null) { - final regex = RegExp('^$addressPattern\$'); - if (regex.hasMatch(trimmed)) { - isValid = true; - break; - } - } - } - - for (final pattern in excludedPatterns) { - if (pattern.hasMatch(trimmed)) return false; - } - - return isValid; - } - - String _sendButtonText(BuildContext context) { - if (!sendViewModel.isReadyForSend) return S.of(context).synchronizing; - if (sendViewModel.payjoinUri != null) return S.of(context).send_payjoin; - return S.of(context).send; - } -} diff --git a/lib/src/screens/send/send_template_page.dart b/lib/src/screens/send/send_template_page.dart deleted file mode 100644 index 20605c211..000000000 --- a/lib/src/screens/send/send_template_page.dart +++ /dev/null @@ -1,189 +0,0 @@ -import 'package:cake_wallet/src/widgets/trail_button.dart'; -import 'package:cake_wallet/view_model/send/template_view_model.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:flutter/material.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/view_model/send/send_template_view_model.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/src/widgets/scrollable_with_bottom_section.dart'; -import 'package:cake_wallet/src/screens/send/widgets/send_template_card.dart'; -import 'package:smooth_page_indicator/smooth_page_indicator.dart'; - -class SendTemplatePage extends BasePage { - SendTemplatePage({required this.sendTemplateViewModel}); - - final SendTemplateViewModel sendTemplateViewModel; - final _formKey = GlobalKey(); - final controller = PageController(initialPage: 0); - - @override - String get title => S.current.exchange_new_template; - - @override - bool get extendBodyBehindAppBar => true; - - @override - bool get gradientAll => true; - - @override - AppBarStyle get appBarStyle => AppBarStyle.transparent; - - @override - Function(BuildContext)? get pushToNextWidget => (context) { - FocusScopeNode currentFocus = FocusScope.of(context); - if (!currentFocus.hasPrimaryFocus) { - currentFocus.focusedChild?.unfocus(); - } - }; - - @override - Widget trailing(context) => Observer( - builder: (_) { - return sendTemplateViewModel.recipients.length > 1 - ? TrailButton( - caption: S.of(context).remove, - onPressed: () { - int pageToJump = (controller.page?.round() ?? 0) - 1; - pageToJump = pageToJump > 0 ? pageToJump : 0; - final recipient = _defineCurrentRecipient(); - sendTemplateViewModel.removeRecipient(recipient); - controller.jumpToPage(pageToJump); - }, - ) - : TrailButton( - caption: S.of(context).clear, - onPressed: () { - final recipient = _defineCurrentRecipient(); - _formKey.currentState?.reset(); - recipient.reset(); - }, - ); - }, - ); - - @override - Widget body(BuildContext context) { - return Form( - key: _formKey, - child: ScrollableWithBottomSection( - contentPadding: EdgeInsets.only(bottom: 24), - content: FocusTraversalGroup( - policy: OrderedTraversalPolicy(), - child: Column( - children: [ - Container( - height: 460, - child: Observer( - builder: (_) { - return PageView.builder( - scrollDirection: Axis.horizontal, - controller: controller, - itemCount: sendTemplateViewModel.recipients.length, - itemBuilder: (_, index) { - final template = sendTemplateViewModel.recipients[index]; - return SendTemplateCard( - template: template, - index: index, - sendTemplateViewModel: sendTemplateViewModel, - ); - }, - ); - }, - ), - ), - Padding( - padding: EdgeInsets.only(top: 10, left: 24, right: 24, bottom: 10), - child: Container( - height: 10, - child: Observer( - builder: (_) { - final count = sendTemplateViewModel.recipients.length; - - return count > 1 - ? Semantics( - button: false, - label: 'Page Indicator', - hint: 'Swipe to change receiver', - excludeSemantics: true, - child: SmoothPageIndicator( - controller: controller, - count: count, - effect: ScrollingDotsEffect( - spacing: 6.0, - radius: 6.0, - dotWidth: 6.0, - dotHeight: 6.0, - dotColor: Theme.of(context).colorScheme.outlineVariant, - activeDotColor: Theme.of(context).colorScheme.primary, - ), - ), - ) - : Offstage(); - }, - ), - ), - ), - ], - ), - ), - bottomSectionPadding: EdgeInsets.only(left: 24, right: 24, bottom: 24), - bottomSection: Column( - children: [ - if (sendTemplateViewModel.hasMultiRecipient) - Padding( - padding: EdgeInsets.only(bottom: 12), - child: PrimaryButton( - onPressed: () { - sendTemplateViewModel.addRecipient(); - Future.delayed(const Duration(milliseconds: 250), () { - controller.jumpToPage(sendTemplateViewModel.recipients.length - 1); - }); - }, - text: S.of(context).add_receiver, - color: Colors.transparent, - textColor: Theme.of(context).colorScheme.onSurfaceVariant, - isDottedBorder: true, - borderColor: Theme.of(context).colorScheme.surfaceContainerHighest, - ), - ), - PrimaryButton( - onPressed: () { - if (_formKey.currentState != null && _formKey.currentState!.validate()) { - final mainTemplate = sendTemplateViewModel.recipients[0]; - final additionalRecipients = sendTemplateViewModel.recipients - .map((element) => element.toTemplate( - cryptoCurrency: element.selectedCurrency.title, - fiatCurrency: sendTemplateViewModel.fiatCurrency)) - .toList(); - - sendTemplateViewModel.addTemplate( - isCurrencySelected: mainTemplate.isCryptoSelected, - name: mainTemplate.name, - address: mainTemplate.address, - cryptoCurrency: mainTemplate.selectedCurrency.title, - amount: mainTemplate.output.cryptoAmount, - amountFiat: mainTemplate.output.fiatAmount, - additionalRecipients: additionalRecipients, - ); - Navigator.of(context).pop(); - } - }, - text: S.of(context).save, - color: Theme.of(context).colorScheme.primary, - textColor: Theme.of(context).colorScheme.onPrimary, - ) - ], - ), - ), - ); - } - - TemplateViewModel _defineCurrentRecipient() { - if (controller.page == null) { - throw Exception('Controller page is null'); - } - final itemCount = controller.page!.round(); - return sendTemplateViewModel.recipients[itemCount]; - } -} diff --git a/lib/src/screens/send/transaction_success_info_page.dart b/lib/src/screens/send/transaction_success_info_page.dart deleted file mode 100644 index bd4f5cc05..000000000 --- a/lib/src/screens/send/transaction_success_info_page.dart +++ /dev/null @@ -1,33 +0,0 @@ -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/screens/Info_page.dart'; -import 'package:flutter/cupertino.dart'; - -class TransactionSuccessPage extends InfoPage { - TransactionSuccessPage({required this.content}) - : super( - imageLightPath: 'assets/images/birthday_cake.png', - imageDarkPath: 'assets/images/birthday_cake.png', - ); - - final String content; - - @override - bool get onWillPop => false; - - @override - String get pageTitle => 'Transaction Sent Successfully'; - - @override - String get pageDescription => content; - - @override - String get buttonText => S.current.ok; - - @override - Key? get buttonKey => ValueKey('transaction_success_info_page_button_key'); - - @override - void Function(BuildContext) get onPressed => (BuildContext context) { - if (context.mounted) Navigator.of(context).pop(); - }; -} diff --git a/lib/src/screens/send/widgets/choose_yat_address_alert.dart b/lib/src/screens/send/widgets/choose_yat_address_alert.dart deleted file mode 100644 index 5b5d551bb..000000000 --- a/lib/src/screens/send/widgets/choose_yat_address_alert.dart +++ /dev/null @@ -1,116 +0,0 @@ -import 'package:cake_wallet/src/widgets/cake_scrollbar.dart'; -import 'package:cake_wallet/src/widgets/section_divider.dart'; -import 'package:flutter/material.dart'; -import 'package:cake_wallet/src/widgets/base_alert_dialog.dart'; - -class ChooseYatAddressAlert extends BaseAlertDialog { - ChooseYatAddressAlert({ - required this.alertTitle, - required this.alertContent, - required this.addresses, - }); - - final String alertTitle; - final String alertContent; - final List addresses; - - @override - String get titleText => alertTitle; - - @override - String get contentText => alertContent; - - @override - bool get barrierDismissible => false; - - @override - Widget actionButtons(BuildContext context) => ChooseYatAddressButtons(addresses); -} - -class ChooseYatAddressButtons extends StatefulWidget { - ChooseYatAddressButtons(this.addresses); - - final List addresses; - - @override - ChooseYatAddressButtonsState createState() => ChooseYatAddressButtonsState(addresses); -} - -class ChooseYatAddressButtonsState extends State { - ChooseYatAddressButtonsState(this.addresses) : itemCount = addresses?.length ?? 0; - - final List addresses; - final int itemCount; - final double backgroundHeight = 118; - final double thumbHeight = 72; - ScrollController controller = ScrollController(); - double fromTop = 0; - - @override - Widget build(BuildContext context) { - controller.addListener(() { - fromTop = controller.hasClients - ? (controller.offset / - controller.position.maxScrollExtent * - (backgroundHeight - thumbHeight)) - : 0; - setState(() {}); - }); - - return Stack( - alignment: Alignment.center, - clipBehavior: Clip.none, - children: [ - Container( - width: 300, - height: 158, - color: Theme.of(context).colorScheme.surface, - child: ListView.separated( - controller: controller, - padding: EdgeInsets.all(0), - itemCount: itemCount, - separatorBuilder: (_, __) => const HorizontalSectionDivider(), - itemBuilder: (context, index) { - final address = addresses[index]; - - return GestureDetector( - onTap: () => Navigator.of(context).pop(address), - child: Container( - width: 300, - height: 52, - padding: EdgeInsets.only(left: 24, right: 24), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Expanded( - child: Text( - address, - textAlign: TextAlign.center, - maxLines: 1, - overflow: TextOverflow.ellipsis, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 15, - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurfaceVariant, - decoration: TextDecoration.none, - ), - ), - ) - ], - ), - ), - ); - }, - ), - ), - if (itemCount > 3) - CakeScrollbar( - backgroundHeight: backgroundHeight, - thumbHeight: thumbHeight, - fromTop: fromTop, - ) - ], - ); - } -} diff --git a/lib/src/screens/send/widgets/send_card.dart b/lib/src/screens/send/widgets/send_card.dart deleted file mode 100644 index 3f1682b11..000000000 --- a/lib/src/screens/send/widgets/send_card.dart +++ /dev/null @@ -1,1147 +0,0 @@ -import 'dart:async'; - -import 'package:cake_wallet/core/open_crypto_pay/open_cryptopay_service.dart'; -import 'package:cake_wallet/entities/balance_display_mode.dart'; -import 'package:cake_wallet/entities/priority_for_wallet_type.dart'; -import 'package:cake_wallet/src/screens/receive/widgets/currency_input_field.dart'; -import 'package:cake_wallet/src/widgets/bottom_sheet/payment_confirmation_bottom_sheet.dart'; -import 'package:cake_wallet/src/widgets/bottom_sheet/wallet_switcher_bottom_sheet.dart'; -import 'package:cake_wallet/src/widgets/bottom_sheet/swap_confirmation_bottom_sheet.dart'; -import 'package:cake_wallet/src/widgets/bottom_sheet/token_selection_bottom_sheet.dart'; -import 'package:cake_wallet/src/widgets/bottom_sheet/info_bottom_sheet_widget.dart'; -import 'package:cake_wallet/src/widgets/picker.dart'; -import 'package:cake_wallet/src/widgets/standard_checkbox.dart'; -import 'package:cake_wallet/src/screens/exchange/widgets/currency_picker.dart'; - -import 'package:cake_wallet/themes/core/material_base_theme.dart'; -import 'package:cake_wallet/utils/payment_request.dart'; -import 'package:cake_wallet/utils/responsive_layout_util.dart'; -import 'package:cake_wallet/view_model/payment/payment_view_model.dart'; -import 'package:cake_wallet/view_model/wallet_switcher_view_model.dart'; -import 'package:cake_wallet/exchange/trade.dart'; -import 'package:cw_core/crypto_currency.dart'; -import 'package:cw_core/currency.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/view_model/send/output.dart'; -import 'package:cw_core/transaction_priority.dart'; -import 'package:cw_core/unspent_coin_type.dart'; -import 'package:cw_core/utils/print_verbose.dart'; -import 'package:cw_core/wallet_info.dart'; -import 'package:cw_core/wallet_type.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:mobx/mobx.dart'; -import 'package:cake_wallet/view_model/send/send_view_model.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cake_wallet/src/widgets/address_text_field.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/widgets/base_text_form_field.dart'; -import 'package:cake_wallet/di.dart'; -import 'package:cake_wallet/evm/evm.dart'; -import 'package:cake_wallet/reactions/wallet_connect.dart'; -import 'package:cake_wallet/store/app_store.dart'; - -class SendCard extends StatefulWidget { - SendCard({ - Key? key, - required this.output, - required this.sendViewModel, - required this.paymentViewModel, - required this.walletSwitcherViewModel, - required this.currentTheme, - this.initialPaymentRequest, - this.cryptoAmountFocus, - this.fiatAmountFocus, - }) : super(key: key); - - final Output output; - final SendViewModel sendViewModel; - final PaymentViewModel paymentViewModel; - final WalletSwitcherViewModel walletSwitcherViewModel; - final PaymentRequest? initialPaymentRequest; - final FocusNode? cryptoAmountFocus; - final FocusNode? fiatAmountFocus; - final MaterialThemeBase currentTheme; - - @override - SendCardState createState() => SendCardState( - output: output, - sendViewModel: sendViewModel, - paymentViewModel: paymentViewModel, - walletSwitcherViewModel: walletSwitcherViewModel, - initialPaymentRequest: initialPaymentRequest, - currentTheme: currentTheme, - // cryptoAmountFocus: cryptoAmountFocus ?? FocusNode(), - // fiatAmountFocus: fiatAmountFocus ?? FocusNode(), - // cryptoAmountFocus: FocusNode(), - // fiatAmountFocus: FocusNode(), - ); -} - -class SendCardState extends State with AutomaticKeepAliveClientMixin { - SendCardState({ - required this.output, - required this.sendViewModel, - required this.paymentViewModel, - required this.walletSwitcherViewModel, - this.initialPaymentRequest, - required this.currentTheme, - }) : addressController = TextEditingController(), - cryptoAmountController = TextEditingController(), - fiatAmountController = TextEditingController(), - noteController = TextEditingController(), - extractedAddressController = TextEditingController(), - addressFocusNode = FocusNode(); - - static const prefixIconWidth = 34.0; - static const prefixIconHeight = 34.0; - - final MaterialThemeBase currentTheme; - final Output output; - final SendViewModel sendViewModel; - final PaymentViewModel paymentViewModel; - final WalletSwitcherViewModel walletSwitcherViewModel; - final PaymentRequest? initialPaymentRequest; - - final TextEditingController addressController; - final TextEditingController cryptoAmountController; - final TextEditingController fiatAmountController; - final TextEditingController noteController; - final TextEditingController extractedAddressController; - final FocusNode addressFocusNode; - - bool _effectsInstalled = false; - BuildContext? loadingBottomSheetContext; - bool _justHandledPasteButton = false; - String _lastHandledAddress = ''; - - @override - void initState() { - super.initState(); - WidgetsBinding.instance.addPostFrameCallback((timeStamp) { - sendViewModel.updateSendingBalance(); - }); - - /// if the current wallet doesn't match the one in the qr code - if (initialPaymentRequest != null && - sendViewModel.walletCurrencyName != initialPaymentRequest!.scheme.toLowerCase()) { - WidgetsBinding.instance.addPostFrameCallback( - (timeStamp) { - if (mounted) { - final prefix = - initialPaymentRequest!.scheme.isNotEmpty ? "${initialPaymentRequest!.scheme}:" : ""; - final amount = initialPaymentRequest!.amount.isNotEmpty - ? "?amount=${initialPaymentRequest!.amount}" - : ""; - final uri = prefix + initialPaymentRequest!.address + amount; - _handlePaymentFlow(uri, initialPaymentRequest!); - } - }, - ); - } - } - - @override - void dispose() { - addressController.dispose(); - cryptoAmountController.dispose(); - fiatAmountController.dispose(); - noteController.dispose(); - extractedAddressController.dispose(); - addressFocusNode.dispose(); - super.dispose(); - } - - Future _handlePaymentFlow(String uri, PaymentRequest paymentRequest) async { - if (uri.contains('@') || paymentRequest.address.contains('@')) return; - - if (OpenCryptoPayService.isOpenCryptoPayQR(uri)) { - sendViewModel.createOpenCryptoPayTransaction(uri); - return; - } - - try { - final result = await paymentViewModel.processAddress(uri); - - if (paymentRequest.contractAddress != null) { - await sendViewModel.fetchTokenForContractAddress(paymentRequest.contractAddress!); - } - - switch (result.type) { - case PaymentFlowType.singleWallet: - case PaymentFlowType.multipleWallets: - case PaymentFlowType.noWallets: - await _showPaymentConfirmation( - paymentViewModel, - walletSwitcherViewModel, - paymentRequest, - result, - ); - break; - case PaymentFlowType.evmNetworkSelection: - await _showTokenSelectionFlow( - paymentViewModel, - walletSwitcherViewModel, - paymentRequest, - fixedNetwork: result.walletType, - ); - break; - case PaymentFlowType.solanaTokenSelection: - await _showTokenSelectionFlow( - paymentViewModel, - walletSwitcherViewModel, - paymentRequest, - fixedNetwork: WalletType.solana, - ); - break; - case PaymentFlowType.tronTokenSelection: - await _showTokenSelectionFlow( - paymentViewModel, - walletSwitcherViewModel, - paymentRequest, - fixedNetwork: WalletType.tron, - ); - - break; - case PaymentFlowType.currentWalletCompatible: - case PaymentFlowType.error: - case PaymentFlowType.incompatible: - _applyPaymentRequest(paymentRequest); - break; - } - } catch (e) { - printV('Payment flow error: $e'); - _applyPaymentRequest(paymentRequest); - } - } - - Future _showPaymentConfirmation( - PaymentViewModel paymentViewModel, - WalletSwitcherViewModel walletSwitcherViewModel, - PaymentRequest paymentRequest, - PaymentFlowResult result, - ) async { - if (!context.mounted) { - return; - } - - await showModalBottomSheet( - context: context, - isDismissible: true, - isScrollControlled: true, - builder: (BuildContext context) { - return PaymentConfirmationBottomSheet( - paymentFlowResult: result, - paymentViewModel: paymentViewModel, - walletSwitcherViewModel: walletSwitcherViewModel, - paymentRequest: paymentRequest, - onSelectWallet: () => _handleSelectWallet( - paymentViewModel, - walletSwitcherViewModel, - paymentRequest, - result, - ), - onChangeWallet: () => _handleChangeWallet( - paymentViewModel, - walletSwitcherViewModel, - paymentRequest, - result, - ), - onSwap: (bottomSheetContext) => - _handleSwapFlow(paymentViewModel, result, bottomSheetContext), - onSwitchNetwork: () => _handleSwitchNetwork( - paymentViewModel, - walletSwitcherViewModel, - paymentRequest, - result, - ), - ); - }, - ); - } - - Future _showTokenSelectionFlow( - PaymentViewModel paymentViewModel, - WalletSwitcherViewModel walletSwitcherViewModel, - PaymentRequest paymentRequest, { - WalletType? fixedNetwork, - }) async { - if (!context.mounted) { - return; - } - - await showModalBottomSheet( - context: context, - isDismissible: true, - isScrollControlled: true, - builder: (BuildContext context) { - return TokenSelectionBottomSheet( - paymentViewModel: paymentViewModel, - paymentRequest: paymentRequest, - fixedNetwork: fixedNetwork, - onNext: (PaymentFlowResult newResult) { - final canCheckCompatibility = evm != null && - isEVMCompatibleChain(sendViewModel.wallet.type) && - newResult.chainId != null; - - if (canCheckCompatibility) { - final selectedChainId = newResult.chainId!; - final isCompatible = selectedChainId == evm!.getSelectedChainId(sendViewModel.wallet); - - if (isCompatible) { - sendViewModel.setSelectedCryptoCurrency( - newResult.addressDetectionResult!.detectedCurrency!.title, - ); - _applyPaymentRequest(paymentRequest); - return; - } - } - - _showPaymentConfirmation( - paymentViewModel, - walletSwitcherViewModel, - paymentRequest, - newResult, - ); - }, - ); - }, - ); - } - - Future _handleSelectWallet( - PaymentViewModel paymentViewModel, - WalletSwitcherViewModel walletSwitcherViewModel, - PaymentRequest paymentRequest, - PaymentFlowResult result, - ) async { - Navigator.of(context).pop(); - - await showModalBottomSheet( - context: context, - isDismissible: true, - isScrollControlled: true, - builder: (BuildContext dialogContext) { - return WalletSwitcherBottomSheet( - viewModel: walletSwitcherViewModel, - filterWalletType: paymentViewModel.detectedWalletType, - ); - }, - ); - - final success = await walletSwitcherViewModel.switchToSelectedWallet(); - - if (success) { - if (isEVMCompatibleChain(sendViewModel.wallet.type) && result.chainId != null) { - final appStore = getIt.get(); - final node = appStore.settingsStore.getCurrentNode( - sendViewModel.wallet.type, - chainId: result.chainId, - ); - await evm!.selectChain(sendViewModel.wallet, result.chainId!, node: node); - } - - await sendViewModel.wallet.updateBalance(); - - final detectedCurrency = result.addressDetectionResult!.detectedCurrency; - if (detectedCurrency != null) { - sendViewModel.setSelectedCryptoCurrency(detectedCurrency.title); - } - - _applyPaymentRequest(paymentRequest); - } - } - - Future _handleChangeWallet( - PaymentViewModel paymentViewModel, - WalletSwitcherViewModel walletSwitcherViewModel, - PaymentRequest paymentRequest, - PaymentFlowResult result, - ) async { - if (mounted && Navigator.of(context).canPop()) { - Navigator.of(context).pop(); - } - - if (result.type == PaymentFlowType.singleWallet && result.wallet != null) { - walletSwitcherViewModel.selectWallet(result.wallet!); - final success = await walletSwitcherViewModel.switchToSelectedWallet(); - if (success) { - WidgetsBinding.instance.addPostFrameCallback((_) { - if (mounted) { - showModalBottomSheet( - context: context, - isDismissible: false, - builder: (BuildContext context) { - loadingBottomSheetContext = context; - return LoadingBottomSheet( - titleText: S.of(context).loading_your_wallet, - ); - }, - ); - } - }); - - // If EVM wallet and chainId is specified, switch to that chain - if (isEVMCompatibleChain(sendViewModel.wallet.type) && result.chainId != null) { - final appStore = getIt.get(); - final node = appStore.settingsStore.getCurrentNode( - sendViewModel.wallet.type, - chainId: result.chainId, - ); - await evm!.selectChain(sendViewModel.wallet, result.chainId!, node: node); - } - - await Future.delayed(const Duration(seconds: 2)); - if (loadingBottomSheetContext != null && - loadingBottomSheetContext!.mounted && - Navigator.canPop(loadingBottomSheetContext!)) { - Navigator.of(loadingBottomSheetContext!).pop(); - } - - await sendViewModel.wallet.updateBalance(); - sendViewModel - .setSelectedCryptoCurrency(result.addressDetectionResult!.detectedCurrency!.title); - _applyPaymentRequest(paymentRequest); - } - } else if (result.wallets.isNotEmpty && result.wallets.length == 1) { - walletSwitcherViewModel.selectWallet(result.wallets.first); - final success = await walletSwitcherViewModel.switchToSelectedWallet(); - if (success) { - WidgetsBinding.instance.addPostFrameCallback((_) { - if (context.mounted) { - showModalBottomSheet( - context: context, - isDismissible: false, - builder: (BuildContext context) { - loadingBottomSheetContext = context; - return LoadingBottomSheet( - titleText: S.of(context).loading_your_wallet, - ); - }, - ); - } - }); - - // If EVM wallet and chainId is specified, switch to that chain - if (isEVMCompatibleChain(sendViewModel.wallet.type) && result.chainId != null) { - final appStore = getIt.get(); - final node = appStore.settingsStore.getCurrentNode( - sendViewModel.wallet.type, - chainId: result.chainId, - ); - await evm!.selectChain(sendViewModel.wallet, result.chainId!, node: node); - } - - await Future.delayed(const Duration(seconds: 2)); - if (loadingBottomSheetContext != null && loadingBottomSheetContext!.mounted) { - Navigator.of(loadingBottomSheetContext!).pop(); - } - - await sendViewModel.wallet.updateBalance(); - sendViewModel - .setSelectedCryptoCurrency(result.addressDetectionResult!.detectedCurrency!.title); - _applyPaymentRequest(paymentRequest); - } - } - } - - Future _handleSwitchNetwork( - PaymentViewModel paymentViewModel, - WalletSwitcherViewModel walletSwitcherViewModel, - PaymentRequest paymentRequest, - PaymentFlowResult result, - ) async { - if (result.type != PaymentFlowType.evmNetworkSelection || result.wallet == null) return; - - if (context.mounted && Navigator.of(context).canPop()) { - Navigator.of(context).pop(); - } - - try { - WidgetsBinding.instance.addPostFrameCallback((_) { - if (context.mounted) { - showModalBottomSheet( - context: context, - isDismissible: false, - builder: (BuildContext context) { - loadingBottomSheetContext = context; - return LoadingBottomSheet( - titleText: S.of(context).loading_your_wallet, - ); - }, - ); - } - }); - - await paymentViewModel.selectChain(); - - await Future.delayed(const Duration(seconds: 2)); - if (loadingBottomSheetContext != null && loadingBottomSheetContext!.mounted) { - Navigator.of(loadingBottomSheetContext!).pop(); - } - - await sendViewModel.wallet.updateBalance(); - final detectedCurrency = result.addressDetectionResult?.detectedCurrency; - if (detectedCurrency != null) { - sendViewModel.setSelectedCryptoCurrency(detectedCurrency.title); - } - _applyPaymentRequest(paymentRequest); - } catch (e) { - if (loadingBottomSheetContext != null && loadingBottomSheetContext!.mounted) { - Navigator.of(loadingBottomSheetContext!).pop(); - } - printV('Switch network error: $e'); - } - } - - /// Apply payment request to current form - void _applyPaymentRequest(PaymentRequest paymentRequest) { - if (sendViewModel.usePayjoin) { - sendViewModel.payjoinUri = paymentRequest.pjUri; - } - addressController.text = paymentRequest.address; - if (paymentRequest.amount.isNotEmpty) { - cryptoAmountController.text = paymentRequest.amount; - } - noteController.text = paymentRequest.note; - } - - Future _handleSwapFlow( - PaymentViewModel paymentViewModel, - PaymentFlowResult result, - BuildContext bottomSheetContext, - ) async { - Navigator.of(bottomSheetContext).pop(); - - await Future.delayed(const Duration(milliseconds: 100)); - - if (!mounted) return; - - final bottomSheet = getIt.get(param1: result); - await showModalBottomSheet( - context: context, - isDismissible: true, - isScrollControlled: true, - builder: (BuildContext context) => bottomSheet, - ); - } - - @override - Widget build(BuildContext context) { - super.build(context); - _setEffects(context); - - // return Stack( - // children: [ - // return KeyboardActions( - // config: KeyboardActionsConfig( - // keyboardActionsPlatform: KeyboardActionsPlatform.IOS, - // keyboardBarColor: Theme.of(context).extension()!.keyboardBarColor, - // nextFocus: false, - // actions: [ - // KeyboardActionsItem( - // focusNode: cryptoAmountFocus, - // toolbarButtons: [(_) => KeyboardDoneButton()], - // ), - // KeyboardActionsItem( - // focusNode: fiatAmountFocus, - // toolbarButtons: [(_) => KeyboardDoneButton()], - // ) - // ], - // ), - // // child: Container( - // // height: 0, - // // color: Colors.transparent, - // // ), child: - // child: SizedBox( - // height: 100, - // width: 100, - // child: Text('Send Card'), - // ), - // ); - return Container( - decoration: responsiveLayoutUtil.shouldRenderMobileUI - ? BoxDecoration( - borderRadius: BorderRadius.only( - bottomLeft: Radius.circular(24), - bottomRight: Radius.circular(24), - ), - color: Theme.of(context).colorScheme.surfaceContainer, - ) - : null, - child: Padding( - padding: EdgeInsets.fromLTRB( - 24, - responsiveLayoutUtil.shouldRenderMobileUI ? 110 : 55, - 24, - responsiveLayoutUtil.shouldRenderMobileUI ? 32 : 0, - ), - child: Observer( - builder: (_) => Column( - mainAxisSize: MainAxisSize.min, - children: [ - Observer(builder: (_) { - final validator = output.isParsedAddress - ? sendViewModel.textValidator - : sendViewModel.addressValidator; - - return AddressTextField( - contentPadding: EdgeInsets.symmetric(vertical: 8), - hasUnderlineBorder: true, - fillColor: Theme.of(context).colorScheme.surfaceContainerHighest, - addressKey: ValueKey('send_page_address_textfield_key'), - focusNode: addressFocusNode, - controller: addressController, - onURIScanned: (uri) async { - output.resetParsedAddress(); - - // Process the payment through the new flow - await _handlePaymentFlow( - uri.toString(), - PaymentRequest.fromUri(uri), - ); - }, - options: [ - AddressTextFieldOption.paste, - AddressTextFieldOption.qrCode, - AddressTextFieldOption.addressBook - ], - textStyle: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 16, - fontWeight: FontWeight.w500, - ), - hintStyle: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 16, - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - onPushPasteButton: (context) async { - _justHandledPasteButton = true; - try { - output.resetParsedAddress(); - - final address = - output.isParsedAddress ? output.extractedAddress : output.address; - - await _handlePaymentFlow( - address, - PaymentRequest( - address, - cryptoAmountController.text, - noteController.text, - "", - null, - ), - ); - } finally { - _justHandledPasteButton = false; - } - }, - onPushAddressBookButton: (context) async { - output.resetParsedAddress(); - }, - onSelectedContact: (contact) {}, - validator: validator, - selectedCurrency: sendViewModel.selectedCryptoCurrency, - ); - }), - if (output.isParsedAddress) - Padding( - padding: const EdgeInsets.only(top: 20), - child: BaseTextFormField( - fillColor: Theme.of(context).colorScheme.surfaceContainerHighest, - controller: extractedAddressController, - readOnly: true, - enableInteractiveSelection: false, - textStyle: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontSize: 16, - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurface, - ), - validator: sendViewModel.addressValidator, - ), - ), - CurrencyAmountTextField( - borderWidth: 0.0, - hasUnderlineBorder: true, - fillColor: Theme.of(context).colorScheme.surfaceContainerHighest, - currencyPickerButtonKey: ValueKey('send_page_currency_picker_button_key'), - amountTextfieldKey: ValueKey('send_page_amount_textfield_key'), - sendAllButtonKey: ValueKey('send_page_send_all_button_key'), - currencyAmountTextFieldWidgetKey: - ValueKey('send_page_crypto_currency_amount_textfield_widget_key'), - selectedCurrency: - output.useSatoshi ? "SATS" : sendViewModel.selectedCryptoCurrency.title, - selectedCurrencyDecimals: - output.useSatoshi ? 0 : sendViewModel.selectedCryptoCurrency.decimals, - amountFocusNode: widget.cryptoAmountFocus, - amountController: cryptoAmountController, - isAmountEditable: true, - onTapPicker: () => _presentPicker(context), - isPickerEnable: sendViewModel.hasMultipleTokens, - tag: sendViewModel.selectedCryptoCurrency.tag, - allAmountButton: - !sendViewModel.isBatchSending && sendViewModel.shouldDisplaySendALL, - currencyValueValidator: output.sendAll - ? sendViewModel.allAmountValidator - : sendViewModel.amountValidator(output), - allAmountCallback: () async => - output.setSendAll(await sendViewModel.sendingBalance), - ), - Divider(height: 1, color: Theme.of(context).colorScheme.outlineVariant), - Observer( - builder: (_) { - // force rebuild on mobx - final _ = sendViewModel.coinTypeToSpendFrom; - return Padding( - padding: EdgeInsets.only(top: 10), - child: Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Expanded( - child: Text( - S.of(context).available_balance + ':', - style: Theme.of(context).textTheme.bodySmall!.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - ), - FutureBuilder( - future: sendViewModel.sendingBalance, - builder: (context, snapshot) { - return GestureDetector( - onTap: () { - sendViewModel.balanceViewModel.switchBalanceValue(); - }, - child: Observer(builder: (_) { - final hidden = sendViewModel.balanceViewModel.displayMode == - BalanceDisplayMode.hiddenBalance; - return Text( - hidden - ? S.of(context).show_balance_send_page - : (snapshot.data ?? sendViewModel.balance), - // default to balance while loading - style: Theme.of(context).textTheme.bodySmall!.copyWith( - fontWeight: FontWeight.w600, - color: hidden - ? Theme.of(context).colorScheme.primary - : Theme.of(context).colorScheme.onSurfaceVariant, - ), - ); - }), - ); - }, - ) - ], - ), - ); - }, - ), - if (!sendViewModel.isFiatDisabled) - CurrencyAmountTextField( - borderWidth: 0.0, - hasUnderlineBorder: true, - fillColor: Theme.of(context).colorScheme.surfaceContainerHighest, - amountTextfieldKey: ValueKey('send_page_fiat_amount_textfield_key'), - currencyAmountTextFieldWidgetKey: - ValueKey('send_page_fiat_currency_amount_textfield_widget_key'), - selectedCurrency: sendViewModel.fiat.title, - selectedCurrencyDecimals: sendViewModel.fiat.decimals, - amountFocusNode: widget.fiatAmountFocus, - amountController: fiatAmountController, - hintText: '0.00', - isAmountEditable: true, - allAmountButton: false, - ), - Divider(height: 1, color: Theme.of(context).colorScheme.outlineVariant), - Padding( - padding: EdgeInsets.only(top: 20), - child: BaseTextFormField( - hasUnderlineBorder: true, - contentPadding: EdgeInsets.symmetric(vertical: 8), - fillColor: Theme.of(context).colorScheme.surfaceContainerHighest, - key: ValueKey('send_page_note_textfield_key'), - controller: noteController, - keyboardType: TextInputType.multiline, - maxLines: null, - textStyle: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontWeight: FontWeight.w500, - ), - hintText: S.of(context).note_optional, - placeholderTextStyle: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - ), - if (sendViewModel.hasFees) - Observer( - builder: (_) => GestureDetector( - key: ValueKey('send_page_select_fee_priority_button_key'), - onTap: sendViewModel.feesViewModel.hasFeesPriority - ? () => pickTransactionPriority(context, output) - : () {}, - child: Container( - padding: EdgeInsets.only(top: 24), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - S.of(context).send_estimated_fee, - style: Theme.of(context).textTheme.bodySmall!.copyWith( - fontWeight: FontWeight.w700, - ), - ), - Container( - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.end, - children: [ - Text( - '${output.estimatedFee} ${sendViewModel.currencySymbol}', - style: Theme.of(context).textTheme.bodySmall!.copyWith( - fontWeight: FontWeight.w600, - ), - ), - Padding( - padding: EdgeInsets.only(top: 5), - child: sendViewModel.isFiatDisabled - ? const SizedBox(height: 14) - : Text( - '${output.estimatedFeeFiatAmount} ${sendViewModel.fiat.title}', - style: - Theme.of(context).textTheme.bodySmall!.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context) - .colorScheme - .onSurfaceVariant, - ), - ), - ), - ], - ), - Padding( - padding: EdgeInsets.only(top: 2, left: 5), - child: Icon( - Icons.arrow_forward_ios, - size: 12, - color: Theme.of(context).colorScheme.onSurface, - ), - ) - ], - ), - ) - ], - ), - ), - ), - ), - if (sendViewModel.hasCoinControl) - Padding( - padding: EdgeInsets.only(top: 6), - child: GestureDetector( - key: ValueKey('send_page_unspent_coin_button_key'), - onTap: () async { - await Navigator.of(context).pushNamed( - Routes.unspentCoinsList, - arguments: widget.sendViewModel.coinTypeToSpendFrom, - ); - if (mounted) { - // we just got back from the unspent coins list screen, so we need to recompute the sending balance: - sendViewModel.updateSendingBalance(); - } - }, - child: Container( - color: Colors.transparent, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - S.of(context).coin_control, - style: Theme.of(context).textTheme.bodySmall!.copyWith( - fontWeight: FontWeight.w700, - ), - ), - Icon( - Icons.arrow_forward_ios, - size: 12, - color: Theme.of(context).colorScheme.onSurface, - ), - ], - ), - ), - ), - ), - if (sendViewModel.isMwebAvailable) - Observer( - builder: (_) => Padding( - padding: EdgeInsets.only(top: 14), - child: GestureDetector( - key: ValueKey('send_page_unspent_coin_button_key'), - onTap: () { - bool value = - widget.sendViewModel.coinTypeToSpendFrom == UnspentCoinType.any; - sendViewModel.setAllowMwebCoins(!value); - }, - child: Container( - color: Colors.transparent, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - StandardCheckbox( - caption: S.of(context).litecoin_mweb_allow_coins, - captionColor: Theme.of(context).colorScheme.onSurfaceVariant, - borderColor: Theme.of(context).colorScheme.primary, - iconColor: Theme.of(context).colorScheme.primary, - value: - widget.sendViewModel.coinTypeToSpendFrom == UnspentCoinType.any, - onChanged: (bool? value) { - sendViewModel.setAllowMwebCoins(value ?? false); - }, - ), - ], - ), - ), - ), - ), - ), - ], - ), - ), - ), - ); - } - - void _setEffects(BuildContext context) { - if (_effectsInstalled) { - return; - } - - if (output.address.isNotEmpty) { - addressController.text = output.address; - } - if (output.cryptoAmount.isNotEmpty) { - cryptoAmountController.text = output.cryptoAmount; - } - fiatAmountController.text = output.fiatAmount; - noteController.text = output.note; - extractedAddressController.text = output.extractedAddress; - - cryptoAmountController.addListener(() { - final amount = cryptoAmountController.text; - - if (output.sendAll && amount != S.current.all) { - output.sendAll = false; - } - - if (S.current.all.contains(amount)) return; - - final cAmount = sendViewModel.amountParsingProxy - .getDisplayCryptoAmount(output.cryptoAmount, sendViewModel.selectedCryptoCurrency); - if (amount != cAmount) { - final newAmount = sendViewModel.amountParsingProxy - .getCanonicalCryptoAmount(amount, sendViewModel.selectedCryptoCurrency); - output.setCryptoAmount(newAmount); - } - }); - - fiatAmountController.addListener(() { - final amount = fiatAmountController.text; - - if (amount != output.fiatAmount) { - output.sendAll = false; - output.setFiatAmount(amount); - } - }); - - noteController.addListener(() { - final note = noteController.text; - - if (note != output.note) { - output.note = note; - } - }); - - reaction((_) => output.sendAll, (bool all) { - if (all) cryptoAmountController.text = S.current.all; - }); - - reaction((_) => sendViewModel.selectedCryptoCurrency, (Currency currency) async { - if (output.sendAll) { - output.setSendAll(await sendViewModel.sendingBalance); - } - - output.setCryptoAmount(sendViewModel.amountParsingProxy.getCanonicalCryptoAmount( - cryptoAmountController.text, sendViewModel.selectedCryptoCurrency)); - }); - - reaction((_) => output.fiatAmount, (String amount) { - if (amount != fiatAmountController.text) { - fiatAmountController.text = amount; - } - }); - - reaction((_) => output.cryptoAmount, (String amount) { - if (output.sendAll && amount != S.current.all) { - output.sendAll = false; - } - - final cryptoAmount = sendViewModel.amountParsingProxy.getCanonicalCryptoAmount( - cryptoAmountController.text, sendViewModel.selectedCryptoCurrency); - if (amount != cryptoAmount) { - cryptoAmountController.text = sendViewModel.amountParsingProxy - .getDisplayCryptoAmount(amount, sendViewModel.selectedCryptoCurrency); - } - }); - - reaction((_) => output.address, (String address) { - if (address != addressController.text) { - addressController.text = address; - } - }); - - addressController.addListener(() { - final address = addressController.text; - - if (output.address != address) { - output.resetParsedAddress(); - output.address = address; - - if (SendViewModelBase.isNonZeroAmountLightningInvoice(address)) { - sendViewModel.createTransaction(); - } - } - }); - - reaction((_) => output.note, (String note) { - if (note != noteController.text) { - noteController.text = note; - } - }); - - addressFocusNode.addListener(() async { - if (!addressFocusNode.hasFocus && addressController.text.isNotEmpty) { - final current = addressController.text.trim(); - if (current.isEmpty) return; - if (_justHandledPasteButton || _lastHandledAddress == current) return; - - // If it's a URI with params, go through URI flow - if (current.contains('=')) { - try { - final uri = Uri.parse(current); - _lastHandledAddress = current; - await _handlePaymentFlow( - uri.toString(), - PaymentRequest.fromUri(uri), - ); - return; - } catch (_) { - // fall through to plain address - } - } - - final parsedAddress = output.isParsedAddress ? output.extractedAddress : output.address; - - _lastHandledAddress = current; - await _handlePaymentFlow( - parsedAddress, - PaymentRequest( - parsedAddress, - cryptoAmountController.text, - noteController.text, - "", - null, - ), - ); - } - }); - - reaction((_) => output.extractedAddress, (String extractedAddress) { - extractedAddressController.text = extractedAddress; - }); - - if (initialPaymentRequest != null && - sendViewModel.walletCurrencyName == initialPaymentRequest!.scheme.toLowerCase()) { - addressController.text = initialPaymentRequest!.address; - cryptoAmountController.text = initialPaymentRequest!.amount; - noteController.text = initialPaymentRequest!.note; - } - - reaction((_) => sendViewModel.isReadyForSend, (bool isReadyForSend) { - if (isReadyForSend) { - sendViewModel.updateSendingBalance(); - } - }); - - _effectsInstalled = true; - } - - Future pickTransactionPriority(BuildContext context, Output output) async { - final items = priorityForWalletType(sendViewModel.walletType); - final selectedItem = items.indexOf(sendViewModel.feesViewModel.transactionPriority); - final customItemIndex = sendViewModel.feesViewModel.getCustomPriorityIndex(items); - final isBitcoinWallet = sendViewModel.walletType == WalletType.bitcoin; - final maxCustomFeeRate = sendViewModel.feesViewModel.maxCustomFeeRate?.toDouble(); - double? customFeeRate = - isBitcoinWallet ? sendViewModel.feesViewModel.customBitcoinFeeRate.toDouble() : null; - - FocusManager.instance.primaryFocus?.unfocus(); - - await showPopUp( - context: context, - builder: (BuildContext context) { - int selectedIdx = selectedItem; - return StatefulBuilder( - builder: (BuildContext context, StateSetter setState) { - return Picker( - items: items, - displayItem: (TransactionPriority priority) => - sendViewModel.feesViewModel.displayFeeRate(priority, customFeeRate?.round()), - selectedAtIndex: selectedIdx, - customItemIndex: customItemIndex, - maxValue: maxCustomFeeRate, - title: S.of(context).please_select, - headerEnabled: !isBitcoinWallet, - closeOnItemSelected: !isBitcoinWallet, - mainAxisAlignment: MainAxisAlignment.center, - sliderValue: customFeeRate, - onSliderChanged: (double newValue) => setState(() => customFeeRate = newValue), - onItemSelected: (TransactionPriority priority) async { - sendViewModel.feesViewModel.setTransactionPriority(priority); - setState(() => selectedIdx = items.indexOf(priority)); - await output.calculateEstimatedFee(); - }, - ); - }, - ); - }, - ); - if (isBitcoinWallet) sendViewModel.feesViewModel.customBitcoinFeeRate = customFeeRate!.round(); - } - - void _presentPicker(BuildContext context) { - showPopUp( - context: context, - builder: (_) => CurrencyPicker( - key: ValueKey('send_page_currency_picker_dialog_button_key'), - selectedAtIndex: sendViewModel.currencies.indexOf(sendViewModel.selectedCryptoCurrency), - items: sendViewModel.currencies, - hintText: S.of(context).search_currency, - onItemSelected: (Currency cur) async { - final selectedCurrency = sendViewModel.selectedCryptoCurrency = (cur as CryptoCurrency); - await output.calculateEstimatedFee(); - return selectedCurrency; - }, - ), - ); - } - - @override - bool get wantKeepAlive => true; -} diff --git a/lib/src/screens/send/widgets/send_template_card.dart b/lib/src/screens/send/widgets/send_template_card.dart deleted file mode 100644 index 81ff5398d..000000000 --- a/lib/src/screens/send/widgets/send_template_card.dart +++ /dev/null @@ -1,256 +0,0 @@ -import 'package:cake_wallet/src/screens/exchange/widgets/currency_picker.dart'; -import 'package:cake_wallet/src/screens/receive/widgets/currency_input_field.dart'; -import 'package:cake_wallet/utils/payment_request.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cake_wallet/view_model/send/template_view_model.dart'; -import 'package:cw_core/crypto_currency.dart'; -import 'package:cw_core/currency.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:flutter/material.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/view_model/send/send_template_view_model.dart'; -import 'package:cake_wallet/src/widgets/address_text_field.dart'; -import 'package:cake_wallet/src/widgets/base_text_form_field.dart'; -import 'package:mobx/mobx.dart'; - -class SendTemplateCard extends StatelessWidget { - SendTemplateCard({ - super.key, - required this.template, - required this.index, - required this.sendTemplateViewModel, - }); - - final TemplateViewModel template; - final int index; - final SendTemplateViewModel sendTemplateViewModel; - - final _addressController = TextEditingController(); - final _cryptoAmountController = TextEditingController(); - final _fiatAmountController = TextEditingController(); - final _nameController = TextEditingController(); - final FocusNode _cryptoAmountFocus = FocusNode(); - final FocusNode _fiatAmountFocus = FocusNode(); - - bool _effectsInstalled = false; - - @override - Widget build(BuildContext context) { - _setEffects(context); - - return Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.only( - bottomLeft: Radius.circular(24), - bottomRight: Radius.circular(24), - ), - color: Theme.of(context).colorScheme.surfaceContainer, - ), - child: Column( - children: [ - Padding( - padding: EdgeInsets.fromLTRB(24, 90, 24, 32), - child: Column( - children: [ - SizedBox(height: 32), - if (index == 0) - BaseTextFormField( - contentPadding: EdgeInsets.symmetric(vertical: 8), - hasUnderlineBorder: true, - controller: _nameController, - hintText: sendTemplateViewModel.recipients.length > 1 - ? S.of(context).template_name - : S.of(context).send_name, - textStyle: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontWeight: FontWeight.w500, - ), - placeholderTextStyle: Theme.of(context).textTheme.bodyMedium!.copyWith( - color: Theme.of(context).colorScheme.onSurfaceVariant, - fontWeight: FontWeight.w500, - ), - validator: sendTemplateViewModel.templateValidator, - fillColor: Theme.of(context).colorScheme.surfaceContainerHighest, - ), - Padding( - padding: EdgeInsets.only(top: 20), - child: Observer( - builder: (context) { - return AddressTextField( - hasUnderlineBorder: true, - contentPadding: EdgeInsets.symmetric(vertical: 8), - selectedCurrency: template.selectedCurrency, - controller: _addressController, - onURIScanned: (uri) { - final paymentRequest = PaymentRequest.fromUri(uri); - _addressController.text = paymentRequest.address; - _cryptoAmountController.text = paymentRequest.amount; - }, - options: [ - AddressTextFieldOption.paste, - AddressTextFieldOption.qrCode, - AddressTextFieldOption.addressBook - ], - onPushPasteButton: (context) async { - template.output.resetParsedAddress(); - }, - onPushAddressBookButton: (context) async { - template.output.resetParsedAddress(); - }, - buttonColor: Theme.of(context).colorScheme.surfaceContainerHighest, - textStyle: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontWeight: FontWeight.w500, - ), - hintStyle: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - validator: sendTemplateViewModel.addressValidator, - fillColor: Theme.of(context).colorScheme.surfaceContainerHighest, - ); - }, - ), - ), - Focus( - onFocusChange: (hasFocus) { - if (hasFocus) template.setCryptoCurrency(true); - }, - child: Column( - children: [ - Observer( - builder: (context) => CurrencyAmountTextField( - hasUnderlineBorder: true, - borderWidth: 0.0, - selectedCurrency: template.selectedCurrency.title, - selectedCurrencyDecimals: template.selectedCurrency.decimals, - amountFocusNode: _cryptoAmountFocus, - amountController: _cryptoAmountController, - isSelected: template.isCryptoSelected, - tag: template.selectedCurrency.tag, - isPickerEnable: sendTemplateViewModel.hasMultipleTokens, - onTapPicker: () => _presentPicker(context), - currencyValueValidator: sendTemplateViewModel.amountValidator, - isAmountEditable: true, - fillColor: Theme.of(context).colorScheme.surfaceContainerHighest, - ), - ), - Divider(height: 1, color: Theme.of(context).colorScheme.outlineVariant), - ], - ), - ), - Focus( - onFocusChange: (hasFocus) { - if (hasFocus) template.setCryptoCurrency(false); - }, - child: Column( - children: [ - Observer( - builder: (context) => CurrencyAmountTextField( - hasUnderlineBorder: true, - borderWidth: 0.0, - selectedCurrency: sendTemplateViewModel.fiatCurrency, - selectedCurrencyDecimals: sendTemplateViewModel.fiatCurrencyDecimals, - amountFocusNode: _fiatAmountFocus, - amountController: _fiatAmountController, - isSelected: !template.isCryptoSelected, - hintText: '0.00', - isAmountEditable: true, - fillColor: Theme.of(context).colorScheme.surfaceContainerHighest, - ), - ), - Divider(height: 1, color: Theme.of(context).colorScheme.outlineVariant), - ], - ), - ), - ], - ), - ) - ], - ), - ); - } - - void _setEffects(BuildContext context) { - if (_effectsInstalled) { - return; - } - - final output = template.output; - - if (template.address.isNotEmpty) { - _addressController.text = template.address; - } - if (template.name.isNotEmpty) { - _nameController.text = template.name; - } - if (template.output.cryptoAmount.isNotEmpty) { - _cryptoAmountController.text = template.output.cryptoAmount; - } - if (template.output.fiatAmount.isNotEmpty) { - _fiatAmountController.text = template.output.fiatAmount; - } - - _addressController.addListener(() { - final address = _addressController.text; - - if (template.address != address) { - template.address = address; - } - }); - _cryptoAmountController.addListener(() { - final amount = _cryptoAmountController.text; - - if (amount != output.cryptoAmount) { - output.setCryptoAmount(amount); - } - }); - _fiatAmountController.addListener(() { - final amount = _fiatAmountController.text; - - if (amount != output.fiatAmount) { - output.setFiatAmount(amount); - } - }); - _nameController.addListener(() { - final name = _nameController.text; - - if (name != template.name) { - template.name = name; - } - }); - - reaction((_) => template.address, (String address) { - if (address != _addressController.text) { - _addressController.text = address; - } - }); - reaction((_) => output.cryptoAmount, (String amount) { - if (amount != _cryptoAmountController.text) { - _cryptoAmountController.text = amount; - } - }); - reaction((_) => output.fiatAmount, (String amount) { - if (amount != _fiatAmountController.text) { - _fiatAmountController.text = amount; - } - }); - reaction((_) => template.name, (String name) { - if (name != _nameController.text) { - _nameController.text = name; - } - }); - - _effectsInstalled = true; - } - - void _presentPicker(BuildContext context) { - showPopUp( - context: context, - builder: (_) => CurrencyPicker( - selectedAtIndex: sendTemplateViewModel.walletCurrencies.indexOf(template.selectedCurrency), - items: sendTemplateViewModel.walletCurrencies, - hintText: S.of(context).search_currency, - onItemSelected: (Currency cur) => template.changeSelectedCurrency(cur as CryptoCurrency), - ), - ); - } -} diff --git a/lib/src/screens/settings/attributes.dart b/lib/src/screens/settings/attributes.dart deleted file mode 100644 index fb6ebf4ac..000000000 --- a/lib/src/screens/settings/attributes.dart +++ /dev/null @@ -1 +0,0 @@ -enum Attributes { arrow, header, link, switcher, widget, rawWidget } diff --git a/lib/src/screens/settings/desktop_settings/desktop_settings_page.dart b/lib/src/screens/settings/desktop_settings/desktop_settings_page.dart deleted file mode 100644 index a792560a1..000000000 --- a/lib/src/screens/settings/desktop_settings/desktop_settings_page.dart +++ /dev/null @@ -1,119 +0,0 @@ -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/src/widgets/setting_action_button.dart'; -import 'package:cake_wallet/src/widgets/setting_actions.dart'; -import 'package:cake_wallet/typography.dart'; -import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart'; -import 'package:flutter/material.dart'; -import 'package:cake_wallet/router.dart' as Router; - -final _settingsNavigatorKey = GlobalKey(); - -class DesktopSettingsPage extends StatefulWidget { - const DesktopSettingsPage(this.dashboardViewModel, {super.key}); - - final DashboardViewModel dashboardViewModel; - - @override - State createState() => _DesktopSettingsPageState(); -} - -class _DesktopSettingsPageState extends State { - final int itemCount = SettingActions.all.length; - - int? currentPage; - - void _onItemChange(int index) { - setState(() { - currentPage = index; - }); - } - - @override - Widget build(BuildContext context) { - return Scaffold( - body: Container( - color: Theme.of(context).colorScheme.surface, - height: MediaQuery.of(context).size.height, - child: Row( - children: [ - Expanded( - flex: 1, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.fromLTRB(24, 24, 24, 4), - child: Text( - S.current.settings, - style: textXLarge(), - ), - ), - Expanded( - child: ListView.separated( - padding: EdgeInsets.only(top: 0), - itemBuilder: (_, index) { - final item = SettingActions.all[index]; - - if (!widget.dashboardViewModel.hasSilentPayments && - item.name(context) == S.of(context).silent_payments_settings) { - return Container(); - } - - if ((!widget.dashboardViewModel.isMoneroViewOnly && - item.name(context) == S.of(context).export_outputs) || - (!widget.dashboardViewModel.hasMweb && - item.name(context) == S.of(context).litecoin_mweb_settings)) { - return Container(); - } - - final isLastTile = index == itemCount - 1; - return SettingActionButton( - isLastTile: isLastTile, - selectionActive: currentPage != null, - isSelected: currentPage == index, - isArrowVisible: true, - onTap: () { - if (currentPage != index) { - final settingContext = - _settingsNavigatorKey.currentState?.context ?? context; - item.onTap.call(settingContext); - _onItemChange(index); - } - }, - image: item.image, - title: item.name.call(context), - ); - }, - separatorBuilder: (_, index) => Container( - height: 0.0, - color: Theme.of(context).colorScheme.outlineVariant, - ), - itemCount: itemCount, - ), - ), - ], - ), - ), - Flexible( - flex: 2, - child: ConstrainedBox( - constraints: BoxConstraints(maxWidth: 500), - child: Navigator( - key: _settingsNavigatorKey, - initialRoute: Routes.empty_no_route, - onGenerateRoute: (settings) => Router.createRoute(settings), - onGenerateInitialRoutes: (NavigatorState navigator, String initialRouteName) { - return [ - navigator.widget.onGenerateRoute!(RouteSettings(name: initialRouteName))! - ]; - }, - ), - ), - ) - ], - ), - ), - ); - } -} diff --git a/lib/src/screens/settings/items/item_headers.dart b/lib/src/screens/settings/items/item_headers.dart deleted file mode 100644 index eca0576f4..000000000 --- a/lib/src/screens/settings/items/item_headers.dart +++ /dev/null @@ -1,18 +0,0 @@ -class ItemHeaders { - static const nodes = 'Nodes'; - static const currentNode = 'Current node'; - static const wallets = 'Wallets'; - static const displayBalanceAs = 'Display balance as'; - static const currency = 'Currency'; - static const feePriority = 'Fee priority'; - static const saveRecipientAddress = 'Save recipient address'; - static const personal = 'Personal'; - static const changePIN = 'Change PIN'; - static const changeLanguage = 'Change language'; - static const allowBiometricalAuthentication = 'Allow biometrical authentication'; - static const darkMode = 'Dark mode'; - static const support = 'Support'; - static const termsAndConditions = 'Terms and conditions'; - static const faq = 'FAQ'; - static const version = 'Version'; -} diff --git a/lib/src/screens/settings/items/settings_item.dart b/lib/src/screens/settings/items/settings_item.dart deleted file mode 100644 index 787133a80..000000000 --- a/lib/src/screens/settings/items/settings_item.dart +++ /dev/null @@ -1,21 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:cake_wallet/src/screens/settings/attributes.dart'; - -class SettingsItem { - SettingsItem( - {required this.onTaped, - required this.title, - required this.link, - required this.image, - required this.widget, - required this.attribute, - required this.widgetBuilder}); - - final VoidCallback onTaped; - final String title; - final String link; - final Image image; - final Widget widget; - final Attributes attribute; - final WidgetBuilder widgetBuilder; -} diff --git a/lib/src/screens/settings/silent_payments_settings.dart b/lib/src/screens/settings/silent_payments_settings.dart index 4505a4e17..fdb0455d9 100644 --- a/lib/src/screens/settings/silent_payments_settings.dart +++ b/lib/src/screens/settings/silent_payments_settings.dart @@ -32,14 +32,6 @@ class SilentPaymentsSettingsPage extends StatelessWidget { padding: EdgeInsets.only(top: 10), child: Column( children: [ - if (!FeatureFlag.hasNewUi) - SettingsSwitcherCell( - title: S.current.silent_payments_display_card, - value: _silentPaymentsSettingsViewModel.silentPaymentsCardDisplay, - onValueChange: (_, bool value) { - _silentPaymentsSettingsViewModel.setSilentPaymentsCardDisplay(value); - }, - ), SettingsSwitcherCell( title: S.current.silent_payments_always_scan, value: _silentPaymentsSettingsViewModel.silentPaymentsAlwaysScan, diff --git a/lib/src/screens/settings/trocador_providers_page.dart b/lib/src/screens/settings/trocador_providers_page.dart deleted file mode 100644 index e7f89ba51..000000000 --- a/lib/src/screens/settings/trocador_providers_page.dart +++ /dev/null @@ -1,109 +0,0 @@ -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/screens/settings/widgets/settings_switcher_cell.dart'; -import 'package:cake_wallet/view_model/settings/trocador_providers_view_model.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; - -class TrocadorProvidersPage extends BasePage { - TrocadorProvidersPage(this.trocadorProvidersViewModel); - - @override - String get title => 'Trocador Providers'; - - final TrocadorProvidersViewModel trocadorProvidersViewModel; - - @override - Widget body(BuildContext context) { - return Container( - padding: EdgeInsets.only(top: 10), - child: Observer( - builder: (_) { - if (trocadorProvidersViewModel.isLoading) { - return Center(child: CircularProgressIndicator()); - } - var providerStates = trocadorProvidersViewModel.providerStates; - final providerRatings = trocadorProvidersViewModel.providerRatings; - if (providerStates.isEmpty) { - return Center(child: Text(S.of(context).no_providers_available)); - } - return ListView.builder( - itemCount: providerStates.length, - itemBuilder: (_, index) { - final providerName = providerStates.keys.elementAt(index); - final providerEnabled = providerStates[providerName] ?? true; - return SettingsSwitcherCell( - title: providerName, - value: providerEnabled, - leading: Badge( - title: 'KYC \nRATING', - subTitle: providerRatings[providerName] ?? 'N/A', - textColor: Theme.of(context).colorScheme.onPrimary, - backgroundColor: Theme.of(context).colorScheme.primary, - ), - onValueChange: (BuildContext _, value) => - trocadorProvidersViewModel.toggleProviderState(providerName), - ); - }, - ); - }, - ), - ); - } -} - -class Badge extends StatelessWidget { - Badge( - {required this.textColor, - required this.backgroundColor, - required this.title, - required this.subTitle}); - - final String title; - final String subTitle; - final Color textColor; - final Color backgroundColor; - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.only(right: 8), - child: FittedBox( - fit: BoxFit.fitHeight, - child: Container( - padding: const EdgeInsets.symmetric(horizontal: 8.0, vertical: 4), - decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(24)), color: backgroundColor), - alignment: Alignment.center, - child: IntrinsicHeight( - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Text( - title, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodySmall!.copyWith( - color: textColor, - fontSize: 7, - fontWeight: FontWeight.w600, - ), - ), - VerticalDivider( - color: textColor, - thickness: 1, - ), - Text( - subTitle, - style: Theme.of(context).textTheme.bodySmall!.copyWith( - color: textColor, - fontWeight: FontWeight.w600, - ), - ), - ], - ), - ), - ), - ), - ); - } -} diff --git a/lib/src/screens/settings/widgets/setting_priority_picker_cell.dart b/lib/src/screens/settings/widgets/setting_priority_picker_cell.dart deleted file mode 100644 index a15c4369e..000000000 --- a/lib/src/screens/settings/widgets/setting_priority_picker_cell.dart +++ /dev/null @@ -1,79 +0,0 @@ -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:flutter/material.dart'; -import 'package:cake_wallet/src/widgets/picker.dart'; -import 'package:cake_wallet/src/widgets/standard_list.dart'; - -class SettingsPriorityPickerCell extends StandardListRow { - SettingsPriorityPickerCell({ - required String title, - required this.selectedItem, - required this.items, - this.displayItem, - this.images, - this.searchHintText, - this.isGridView = false, - this.matchingCriteria, - this.customValue, - this.maxValue, - this.customItemIndex, - this.onItemSelected, - }) : super( - title: title, - isSelected: false, - onTap: (BuildContext context) async { - var selectedAtIndex = items.indexOf(selectedItem); - double sliderValue = customValue ?? 0.0; - - await showPopUp( - context: context, - builder: (BuildContext context) { - return StatefulBuilder( - builder: (BuildContext context, StateSetter setState) { - return Picker( - items: items, - displayItem: (ItemType item) => displayItem!(item, sliderValue.round()), - selectedAtIndex: selectedAtIndex, - customItemIndex: customItemIndex, - maxValue: maxValue, - headerEnabled: false, - closeOnItemSelected: false, - mainAxisAlignment: MainAxisAlignment.center, - sliderValue: sliderValue, - onSliderChanged: (double newValue) => - setState(() => sliderValue = newValue), - onItemSelected: (ItemType priority) { - setState(() => selectedAtIndex = items.indexOf(priority)); - onItemSelected?.call(priority, sliderValue); - }, - ); - }, - ); - }, - ); - onItemSelected?.call(items[selectedAtIndex], sliderValue); - }); - - final ItemType selectedItem; - final List items; - final void Function(ItemType item, double customValue)? onItemSelected; - final String Function(ItemType item, int value)? displayItem; - final List? images; - final String? searchHintText; - final bool isGridView; - final bool Function(ItemType, String)? matchingCriteria; - double? customValue; - double? maxValue; - int? customItemIndex; - - @override - Widget buildTrailing(BuildContext context) { - return Text( - displayItem?.call(selectedItem, customValue?.round() ?? 0) ?? selectedItem.toString(), - textAlign: TextAlign.right, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ); - } -} diff --git a/lib/src/screens/settings/widgets/settings_picker_row.dart b/lib/src/screens/settings/widgets/settings_picker_row.dart deleted file mode 100644 index 9115c19c8..000000000 --- a/lib/src/screens/settings/widgets/settings_picker_row.dart +++ /dev/null @@ -1,9 +0,0 @@ -import 'package:flutter/cupertino.dart'; - -class SettingsPickerRaw extends StatelessWidget { - @override - Widget build(BuildContext context) { - // TODO: implement build - throw UnimplementedError(); - } -} diff --git a/lib/src/screens/settings/widgets/settings_version_cell.dart b/lib/src/screens/settings/widgets/settings_version_cell.dart deleted file mode 100644 index 27af50607..000000000 --- a/lib/src/screens/settings/widgets/settings_version_cell.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:flutter/material.dart'; - -class SettingsVersionCell extends StatelessWidget { - SettingsVersionCell({required this.title}); - - final String title; - - @override - Widget build(BuildContext context) { - return Padding( - padding: EdgeInsets.only(bottom: 24), - child: Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - title, - style: Theme.of(context).textTheme.bodySmall!.copyWith( - fontWeight: FontWeight.normal, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ) - ], - ), - ); - } -} diff --git a/lib/src/screens/settings/widgets/wallet_connect_button.dart b/lib/src/screens/settings/widgets/wallet_connect_button.dart deleted file mode 100644 index 66b2072cf..000000000 --- a/lib/src/screens/settings/widgets/wallet_connect_button.dart +++ /dev/null @@ -1,42 +0,0 @@ -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:flutter/material.dart'; - -class WalletConnectTile extends StatelessWidget { - const WalletConnectTile({required this.onTap}); - - final VoidCallback onTap; - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: onTap, - child: Padding( - padding: EdgeInsets.all(24), - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Image.asset( - 'assets/images/walletconnect_logo.png', - height: 24, - width: 24, - ), - SizedBox(width: 16), - Expanded( - child: Text( - S.current.walletConnect, - style: Theme.of(context).textTheme.bodyLarge?.copyWith( - color: Theme.of(context).colorScheme.onSurface, - ), - ), - ), - Image.asset( - 'assets/images/select_arrow.png', - color: Theme.of(context).colorScheme.onSurfaceVariant, - ) - ], - ), - ), - ); - } -} diff --git a/lib/src/screens/splash/splash_page.dart b/lib/src/screens/splash/splash_page.dart deleted file mode 100644 index daaaaa915..000000000 --- a/lib/src/screens/splash/splash_page.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:flutter/material.dart'; - -class SplashPage extends StatelessWidget { - @override - Widget build(BuildContext context) { - return Scaffold(body: Container()); - } -} diff --git a/lib/src/screens/subaddress/address_edit_or_create_page.dart b/lib/src/screens/subaddress/address_edit_or_create_page.dart deleted file mode 100644 index a622a9724..000000000 --- a/lib/src/screens/subaddress/address_edit_or_create_page.dart +++ /dev/null @@ -1,82 +0,0 @@ -import 'package:mobx/mobx.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_edit_or_create_view_model.dart'; -import 'package:cake_wallet/core/address_label_validator.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/src/widgets/base_text_form_field.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; - -class AddressEditOrCreatePage extends BasePage { - AddressEditOrCreatePage({required this.addressEditOrCreateViewModel}) - : _formKey = GlobalKey(), - _labelController = TextEditingController(), - super() { - _labelController.addListener(() => addressEditOrCreateViewModel.label = _labelController.text); - _labelController.text = addressEditOrCreateViewModel.label; - } - - final WalletAddressEditOrCreateViewModel addressEditOrCreateViewModel; - final GlobalKey _formKey; - final TextEditingController _labelController; - - bool _isEffectsInstalled = false; - - @override - String get title => S.current.new_subaddress_title; - - @override - Widget body(BuildContext context) { - _setEffects(context); - - return Form( - key: _formKey, - child: Container( - padding: EdgeInsets.all(24.0), - child: Column( - children: [ - Expanded( - child: Center( - child: BaseTextFormField( - controller: _labelController, - hintText: S.of(context).new_subaddress_label_name, - validator: AddressLabelValidator(), - ), - )), - Observer( - builder: (_) => LoadingPrimaryButton( - onPressed: () async { - if (_formKey.currentState?.validate() ?? false) { - await addressEditOrCreateViewModel.save(); - } - }, - text: addressEditOrCreateViewModel.isEdit - ? S.of(context).rename - : S.of(context).new_subaddress_create, - color: Theme.of(context).colorScheme.primary, - textColor: Theme.of(context).colorScheme.onPrimary, - isLoading: addressEditOrCreateViewModel.state is AddressIsSaving, - isDisabled: addressEditOrCreateViewModel.label.isEmpty, - ), - ) - ], - ), - )); - } - - void _setEffects(BuildContext context) { - if (_isEffectsInstalled) { - return; - } - reaction((_) => addressEditOrCreateViewModel.state, (AddressEditOrCreateState state) { - if (state is AddressSavedSuccessfully) { - WidgetsBinding.instance.addPostFrameCallback((_) { - if (context.mounted) Navigator.of(context).pop(); - }); - } - }); - - _isEffectsInstalled = true; - } -} diff --git a/lib/src/screens/support_other_links/support_other_links_page.dart b/lib/src/screens/support_other_links/support_other_links_page.dart index 7c82d2ed5..4fc348b62 100644 --- a/lib/src/screens/support_other_links/support_other_links_page.dart +++ b/lib/src/screens/support_other_links/support_other_links_page.dart @@ -2,7 +2,6 @@ import 'package:cake_wallet/src/screens/settings/widgets/settings_cell_with_arro import 'package:cake_wallet/src/screens/settings/widgets/settings_link_provider_cell.dart'; import 'package:cake_wallet/src/widgets/standard_list.dart'; import 'package:cake_wallet/view_model/settings/link_list_item.dart'; -import 'package:cake_wallet/view_model/settings/regular_list_item.dart'; import 'package:cake_wallet/view_model/support_view_model.dart'; import 'package:flutter/material.dart'; import 'package:cake_wallet/src/screens/base_page.dart'; @@ -36,9 +35,6 @@ class SupportOtherLinksPage extends BasePage { itemCounter: (int _) => supportViewModel.items.length, itemBuilder: (_, index) { final item = supportViewModel.items[index]; - if (item is RegularListItem) { - return SettingsCellWithArrow(title: item.title, handler: item.handler); - } if (item is LinkListItem) { bool hasLightIcon = false; if (item.lightIcon != null) hasLightIcon = true; diff --git a/lib/src/screens/unspent_coins/unspent_coins_list_page.dart b/lib/src/screens/unspent_coins/unspent_coins_list_page.dart deleted file mode 100644 index d162a593d..000000000 --- a/lib/src/screens/unspent_coins/unspent_coins_list_page.dart +++ /dev/null @@ -1,217 +0,0 @@ -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/routes.dart'; -import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/screens/unspent_coins/widgets/unspent_coins_list_item.dart'; -import 'package:cake_wallet/src/widgets/alert_with_no_action.dart.dart'; -import 'package:cake_wallet/src/widgets/standard_checkbox.dart'; -import 'package:cake_wallet/view_model/unspent_coins/unspent_coins_list_view_model.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:mobx/mobx.dart'; - -class UnspentCoinsListPage extends BasePage { - UnspentCoinsListPage({required this.unspentCoinsListViewModel}); - - @override - String get title => S.current.unspent_coins_title; - - @override - Widget leading(BuildContext context) { - return MergeSemantics( - child: SizedBox( - height: 37, - width: 37, - child: ButtonTheme( - minWidth: double.minPositive, - child: Semantics( - label: S.of(context).seed_alert_back, - child: TextButton( - style: ButtonStyle( - overlayColor: WidgetStateProperty.all(Colors.transparent), - ), - onPressed: () async => await handleOnPopInvoked(context), - child: backButton(context), - ), - ), - ), - ), - ); - } - - final UnspentCoinsListViewModel unspentCoinsListViewModel; - - Future handleOnPopInvoked(BuildContext context) async { - final navigator = Navigator.of(context); - final hasChanged = unspentCoinsListViewModel.hasAdjustableFieldChanged; - if (unspentCoinsListViewModel.items.isEmpty || !hasChanged) { - if (navigator.canPop()) navigator.pop(); - return; - } - - unspentCoinsListViewModel.setIsDisposing(true); - await unspentCoinsListViewModel.dispose(); - - if (navigator.canPop()) navigator.pop(); - if (navigator.canPop()) navigator.pop(); - } - - @override - Widget body(BuildContext context) => - UnspentCoinsListForm(unspentCoinsListViewModel, handleOnPopInvoked); -} - -class UnspentCoinsListForm extends StatefulWidget { - UnspentCoinsListForm(this.unspentCoinsListViewModel, this.handleOnPopInvoked); - - final UnspentCoinsListViewModel unspentCoinsListViewModel; - final Future Function(BuildContext context) handleOnPopInvoked; - - @override - UnspentCoinsListFormState createState() => UnspentCoinsListFormState(unspentCoinsListViewModel); -} - -class UnspentCoinsListFormState extends State { - UnspentCoinsListFormState(this.unspentCoinsListViewModel); - - final UnspentCoinsListViewModel unspentCoinsListViewModel; - - late Future _initialization; - ReactionDisposer? _disposer; - - @override - void initState() { - super.initState(); - _initialization = unspentCoinsListViewModel.initialSetup(); - _setupReactions(); - } - - void _setupReactions() { - _disposer = reaction( - (_) => unspentCoinsListViewModel.isDisposing, - (isDisposing) { - if (isDisposing) { - _showSavingDataAlert(); - } - }, - ); - } - - void _showSavingDataAlert() { - showDialog( - context: context, - useRootNavigator: false, - builder: (BuildContext context) { - return AlertWithNoAction( - alertContent: 'Updating, please wait…', - alertBarrierDismissible: false, - ); - }, - ); - } - - @override - void dispose() { - _disposer?.call(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return PopScope( - canPop: false, - onPopInvokedWithResult: (bool didPop, Object? result) async { - if (didPop) return; - if (mounted) await widget.handleOnPopInvoked(context); - }, - child: FutureBuilder( - future: _initialization, - builder: (context, snapshot) { - if (snapshot.connectionState == ConnectionState.waiting) { - return Center( - child: CircularProgressIndicator( - color: Theme.of(context).colorScheme.primary, - )); - } - - if (snapshot.hasError) return Center(child: Text('Failed to load unspent coins')); - - return Container( - padding: EdgeInsets.symmetric(horizontal: 24, vertical: 12), - child: Observer( - builder: (_) => Column( - children: [ - if (unspentCoinsListViewModel.items.isNotEmpty) - Row( - children: [ - SizedBox(width: 12), - StandardCheckbox( - iconColor: Theme.of(context).colorScheme.onSurfaceVariant, - value: unspentCoinsListViewModel.isAllSelected, - onChanged: (value) => unspentCoinsListViewModel.toggleSelectAll(value), - ), - SizedBox(width: 12), - Text( - S.current.all_coins, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 16, - fontWeight: FontWeight.bold, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - ], - ), - SizedBox(height: 15), - Expanded( - child: unspentCoinsListViewModel.items.isEmpty - ? Center( - child: Text( - 'No unspent coins available', - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - )) - : ListView.separated( - itemCount: unspentCoinsListViewModel.items.length, - separatorBuilder: (_, __) => SizedBox(height: 15), - itemBuilder: (_, int index) { - final item = unspentCoinsListViewModel.items[index]; - return Observer(builder: (_) { - final fiatAmount = - unspentCoinsListViewModel.fiatAmounts[item.amount] ?? ''; - return GestureDetector( - onTap: () => Navigator.of(context).pushNamed( - Routes.unspentCoinsDetails, - arguments: [item, unspentCoinsListViewModel], - ), - child: UnspentCoinsListItem( - note: item.note, - amount: item.amount, - fiatAmount: fiatAmount, - address: item.address, - isSending: item.isSending, - isFrozen: item.isFrozen, - isChange: item.isChange, - isSilentPayment: item.isSilentPayment, - onCheckBoxTap: item.isFrozen - ? null - : () async { - item.isSending = !item.isSending; - await unspentCoinsListViewModel - .saveUnspentCoinInfo(item); - }, - ), - ); - }); - }, - ), - ), - ], - ), - ), - ); - }, - ), - ); - } -} diff --git a/lib/src/screens/unspent_coins/widgets/unspent_coins_list_item.dart b/lib/src/screens/unspent_coins/widgets/unspent_coins_list_item.dart deleted file mode 100644 index 72d3ad432..000000000 --- a/lib/src/screens/unspent_coins/widgets/unspent_coins_list_item.dart +++ /dev/null @@ -1,213 +0,0 @@ -import 'package:auto_size_text/auto_size_text.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/widgets/standard_checkbox.dart'; -import 'package:flutter/material.dart'; - -class UnspentCoinsListItem extends StatelessWidget { - UnspentCoinsListItem({ - required this.note, - required this.amount, - required this.fiatAmount, - required this.address, - required this.isSending, - required this.isFrozen, - required this.isChange, - required this.isSilentPayment, - this.onCheckBoxTap, - }); - - final String note; - final String amount; - final String fiatAmount; - final String address; - final bool isSending; - final bool isFrozen; - final bool isChange; - final bool isSilentPayment; - final Function()? onCheckBoxTap; - - @override - Widget build(BuildContext context) { - final unselectedItemColor = Theme.of(context).colorScheme.surfaceContainer; - final selectedItemColor = Theme.of(context).colorScheme.primary; - final itemColor = isSending ? selectedItemColor : unselectedItemColor; - final amountColor = isSending - ? Theme.of(context).colorScheme.onPrimary - : Theme.of(context).colorScheme.onSurface; - final addressColor = isSending - ? Theme.of(context).colorScheme.onPrimary - : Theme.of(context).colorScheme.onSurface; - - return Container( - height: 70, - padding: EdgeInsets.symmetric(vertical: 6, horizontal: 12), - decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(12)), - color: itemColor, - ), - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Padding( - padding: EdgeInsets.only(right: 12), - child: StandardCheckbox( - iconColor: amountColor, - borderColor: addressColor, - value: isSending, - onChanged: (value) => onCheckBoxTap?.call(), - ), - ), - Expanded( - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - if (note.isNotEmpty) - AutoSizeText( - note, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - color: amountColor, - fontSize: 15, - fontWeight: FontWeight.w600, - ), - maxLines: 1, - ), - AutoSizeText( - amount, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - color: amountColor, - fontSize: 15, - fontWeight: FontWeight.w600, - ), - maxLines: 1, - ) - ], - ), - if (isFrozen) - Container( - height: 17, - padding: EdgeInsets.only(left: 6, right: 6), - decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(8.5)), - color: Theme.of(context).colorScheme.primary, - ), - alignment: Alignment.center, - child: Text( - S.of(context).frozen, - style: Theme.of(context).textTheme.bodySmall!.copyWith( - fontWeight: FontWeight.w600, - color: itemColor, - fontSize: 8, - ), - ), - ), - ], - ), - if (fiatAmount.isNotEmpty) - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - AutoSizeText( - fiatAmount, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - color: amountColor, - fontSize: 1, - fontWeight: FontWeight.w600, - ), - maxLines: 1, - ), - ], - ), - Expanded( - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - AutoSizeText( - '${address.substring(0, 5)}...${address.substring(address.length - 5)}', // ToDo: Maybe use address label - style: Theme.of(context).textTheme.bodySmall!.copyWith( - color: addressColor, - ), - maxLines: 1, - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - if (isChange) - Container( - height: 17, - padding: EdgeInsets.only(left: 6, right: 6), - decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(8.5)), - color: Theme.of(context).colorScheme.primaryContainer, - ), - alignment: Alignment.center, - child: Text( - S.of(context).unspent_change, - style: Theme.of(context).textTheme.bodySmall!.copyWith( - fontWeight: FontWeight.w600, - fontSize: 8, - color: Theme.of(context).colorScheme.onPrimaryContainer, - ), - ), - ), - if (address.toLowerCase().contains("mweb")) - Container( - height: 17, - padding: EdgeInsets.only(left: 6, right: 6), - margin: EdgeInsets.only(left: 6), - decoration: BoxDecoration( - borderRadius: BorderRadius.all( - Radius.circular(8.5), - ), - color: Theme.of(context).colorScheme.primaryContainer, - ), - alignment: Alignment.center, - child: Text( - "MWEB", - style: Theme.of(context).textTheme.bodySmall!.copyWith( - fontWeight: FontWeight.w600, - fontSize: 8, - color: Theme.of(context).colorScheme.onPrimaryContainer, - ), - ), - ), - if (isSilentPayment) - Container( - height: 17, - padding: EdgeInsets.only(left: 6, right: 6), - decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(8.5)), - color: Theme.of(context).colorScheme.primaryContainer, - ), - alignment: Alignment.center, - child: Text( - S.of(context).silent_payments, - style: Theme.of(context).textTheme.bodySmall!.copyWith( - fontWeight: FontWeight.w600, - fontSize: 8, - color: Theme.of(context).colorScheme.onPrimaryContainer, - ), - ), - ), - ], - ), - ], - ), - ), - ], - ), - ), - ], - ), - ); - } -} diff --git a/lib/src/screens/wallet_list/wallet_list_page.dart b/lib/src/screens/wallet_list/wallet_list_page.dart index f227af07c..f9ad4b180 100644 --- a/lib/src/screens/wallet_list/wallet_list_page.dart +++ b/lib/src/screens/wallet_list/wallet_list_page.dart @@ -339,45 +339,26 @@ class WalletListBodyState extends State { Stack( alignment: Alignment.bottomCenter, children: [ - !FeatureFlag.hasNewUi - ? IgnorePointer( - child: Container( - alignment: Alignment.bottomCenter, - height: 185, - decoration: BoxDecoration( - gradient: LinearGradient( - begin: Alignment.topCenter, - end: Alignment.bottomCenter, - colors: [ - Theme.of(context).colorScheme.surface.withAlpha(10), - Theme.of(context).colorScheme.surface, - Theme.of(context).colorScheme.surface, - Theme.of(context).colorScheme.surface - ], - ), - ), - ), - ) - : IgnorePointer( - child: Container( - height: 275, - decoration: BoxDecoration( - gradient: LinearGradient( - begin: Alignment.topCenter, - end: Alignment.bottomCenter, - colors: [ - Theme.of(context).colorScheme.surfaceDim.withAlpha(10), - Theme.of(context).colorScheme.surfaceDim.withAlpha(150), - Theme.of(context).colorScheme.surfaceDim.withAlpha(255), - Theme.of(context).colorScheme.surfaceDim.withAlpha(255), - Theme.of(context).colorScheme.surfaceDim.withAlpha(255), - Theme.of(context).colorScheme.surfaceDim.withAlpha(255), - Theme.of(context).colorScheme.surfaceDim.withAlpha(255) - ], - ), - ), - ), + IgnorePointer( + child: Container( + height: 275, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + Theme.of(context).colorScheme.surfaceDim.withAlpha(10), + Theme.of(context).colorScheme.surfaceDim.withAlpha(150), + Theme.of(context).colorScheme.surfaceDim.withAlpha(255), + Theme.of(context).colorScheme.surfaceDim.withAlpha(255), + Theme.of(context).colorScheme.surfaceDim.withAlpha(255), + Theme.of(context).colorScheme.surfaceDim.withAlpha(255), + Theme.of(context).colorScheme.surfaceDim.withAlpha(255) + ], ), + ), + ), + ), Container( height: 240, width: MediaQuery.of(context).size.width, @@ -464,7 +445,7 @@ class WalletListBodyState extends State { color: Theme.of(context).colorScheme.primary, textColor: Theme.of(context).colorScheme.onPrimary, ), - if (FeatureFlag.hasNewUi) SizedBox(height: 52.0) + SizedBox(height: 52.0) ], ), ), diff --git a/lib/src/screens/yat/widgets/first_introduction.dart b/lib/src/screens/yat/widgets/first_introduction.dart deleted file mode 100644 index be7606376..000000000 --- a/lib/src/screens/yat/widgets/first_introduction.dart +++ /dev/null @@ -1,68 +0,0 @@ -import 'package:cake_wallet/src/screens/yat/widgets/yat_bar.dart'; -import 'package:cake_wallet/src/screens/yat/widgets/yat_page_indicator.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/src/widgets/scrollable_with_bottom_section.dart'; -import 'package:flutter/material.dart'; -import 'package:lottie/lottie.dart'; -import 'package:cake_wallet/generated/i18n.dart'; - -class FirstIntroduction extends StatelessWidget { - FirstIntroduction({required this.onNext, this.onClose}); - - static const aspectRatioImage = 1.133; - final VoidCallback? onClose; - final VoidCallback onNext; - final animation = Lottie.asset('assets/animation/anim1.json'); - - @override - Widget build(BuildContext context) { - final screenHeight = MediaQuery.of(context).size.height; - final screenWidth = MediaQuery.of(context).size.width; - - return Container( - height: screenHeight, - width: screenWidth, - color: Theme.of(context).colorScheme.surfaceContainer, - child: ScrollableWithBottomSection( - contentPadding: EdgeInsets.only(top: 40, bottom: 40), - content: Column(children: [ - Container( - height: 45, - padding: EdgeInsets.only(left: 24, right: 24), - child: YatBar(onClose: () => Navigator.of(context).pop())), - animation, - Container( - padding: EdgeInsets.only(left: 30, right: 30), - child: Column(children: [ - Text(S.of(context).yat_alert_title, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 24, - fontWeight: FontWeight.bold, - color: Theme.of(context).colorScheme.onSurface, - decoration: TextDecoration.none, - )), - Padding( - padding: EdgeInsets.only(top: 20), - child: Text(S.of(context).yat_alert_content, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 16, - fontWeight: FontWeight.normal, - color: Theme.of(context).colorScheme.onSurface, - decoration: TextDecoration.none, - ))) - ])) - ]), - bottomSectionPadding: EdgeInsets.fromLTRB(24, 0, 24, 24), - bottomSection: Column(crossAxisAlignment: CrossAxisAlignment.center, children: [ - PrimaryButton( - text: S.of(context).restore_next, - textColor: Theme.of(context).colorScheme.onPrimary, - color: Theme.of(context).colorScheme.primary, - onPressed: onNext), - Padding(padding: EdgeInsets.only(top: 24), child: YatPageIndicator(filled: 0)) - ]), - )); - } -} diff --git a/lib/src/screens/yat/widgets/second_introduction.dart b/lib/src/screens/yat/widgets/second_introduction.dart deleted file mode 100644 index 2d1fe3e08..000000000 --- a/lib/src/screens/yat/widgets/second_introduction.dart +++ /dev/null @@ -1,70 +0,0 @@ -import 'package:cake_wallet/src/screens/yat/widgets/yat_bar.dart'; -import 'package:cake_wallet/src/screens/yat/widgets/yat_page_indicator.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/src/widgets/scrollable_with_bottom_section.dart'; -import 'package:flutter/material.dart'; -import 'package:lottie/lottie.dart'; -import 'package:cake_wallet/generated/i18n.dart'; - -class SecondIntroduction extends StatelessWidget { - SecondIntroduction({required this.onNext, this.onClose}); - - final VoidCallback? onClose; - final VoidCallback onNext; - final animation = Lottie.asset('assets/animation/anim2.json'); - - @override - Widget build(BuildContext context) { - final screenHeight = MediaQuery.of(context).size.height; - final screenWidth = MediaQuery.of(context).size.width; - - return Container( - height: screenHeight, - width: screenWidth, - color: Theme.of(context).colorScheme.surfaceContainer, - child: ScrollableWithBottomSection( - contentPadding: EdgeInsets.only(top: 40, bottom: 40), - content: Column( - children: [ - Container( - height: 45, - padding: EdgeInsets.only(left: 24, right: 24), - child: YatBar(onClose: onClose)), - animation, - Padding( - padding: EdgeInsets.only(top: 40, left: 30, right: 30), - child: Column(children: [ - Text(S.of(context).second_intro_title, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 24, - fontWeight: FontWeight.bold, - color: Theme.of(context).colorScheme.onSurface, - decoration: TextDecoration.none, - )), - Padding( - padding: EdgeInsets.only(top: 20), - child: Text(S.of(context).second_intro_content, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 16, - fontWeight: FontWeight.normal, - color: Theme.of(context).colorScheme.onSurface, - decoration: TextDecoration.none, - ))) - ]), - ), - ], - ), - bottomSectionPadding: EdgeInsets.fromLTRB(24, 0, 24, 24), - bottomSection: Column(crossAxisAlignment: CrossAxisAlignment.center, children: [ - PrimaryButton( - text: S.of(context).restore_next, - textColor: Theme.of(context).colorScheme.onPrimary, - color: Theme.of(context).colorScheme.primary, - onPressed: onNext), - Padding(padding: EdgeInsets.only(top: 24), child: YatPageIndicator(filled: 1)) - ]), - )); - } -} diff --git a/lib/src/screens/yat/widgets/third_introduction.dart b/lib/src/screens/yat/widgets/third_introduction.dart deleted file mode 100644 index 43fb37efa..000000000 --- a/lib/src/screens/yat/widgets/third_introduction.dart +++ /dev/null @@ -1,98 +0,0 @@ -import 'package:cake_wallet/src/screens/yat/widgets/yat_bar.dart'; -import 'package:cake_wallet/src/screens/yat/widgets/yat_page_indicator.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/src/widgets/scrollable_with_bottom_section.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:lottie/lottie.dart'; -import 'package:cake_wallet/generated/i18n.dart'; - -class ThirdIntroduction extends StatelessWidget { - ThirdIntroduction({required this.onGet, required this.onConnect, this.onClose}); - - final VoidCallback? onClose; - final VoidCallback onGet; - final VoidCallback onConnect; - final animation = Lottie.asset('assets/animation/anim3.json'); - - @override - Widget build(BuildContext context) { - final screenHeight = MediaQuery.of(context).size.height; - final screenWidth = MediaQuery.of(context).size.width; - - return Container( - height: screenHeight, - width: screenWidth, - color: Theme.of(context).colorScheme.surfaceContainer, - child: ScrollableWithBottomSection( - contentPadding: EdgeInsets.only(top: 40, bottom: 40), - content: Column( - children: [ - Container( - height: 90, - padding: EdgeInsets.only(left: 24, right: 24), - child: YatBar(onClose: onClose)), - animation, - Padding( - padding: EdgeInsets.only(top: 40, left: 30, right: 30), - child: Column(children: [ - Text(S.of(context).third_intro_title, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 24, - fontWeight: FontWeight.bold, - color: Theme.of(context).colorScheme.onSurface, - decoration: TextDecoration.none, - )), - Padding( - padding: EdgeInsets.only(top: 20), - child: Text(S.of(context).third_intro_content, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 16, - fontWeight: FontWeight.normal, - color: Theme.of(context).colorScheme.onSurface, - decoration: TextDecoration.none, - ))) - ])), - ], - ), - bottomSectionPadding: EdgeInsets.fromLTRB(24, 0, 24, 24), - bottomSection: Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - PrimaryIconButton( - text: S.of(context).get_your_yat, - textColor: Theme.of(context).colorScheme.onPrimary, - color: Theme.of(context).colorScheme.primary, - borderColor: Theme.of(context).colorScheme.primary, - iconColor: Theme.of(context).colorScheme.onPrimary, - iconBackgroundColor: Colors.transparent, - iconData: CupertinoIcons.arrow_up_right_square, - mainAxisAlignment: MainAxisAlignment.end, - onPressed: onGet, - ), - Padding( - padding: EdgeInsets.only(top: 12), - child: PrimaryIconButton( - text: S.of(context).connect_an_existing_yat, - textColor: Theme.of(context).colorScheme.onPrimary, - color: Theme.of(context).colorScheme.primary, - borderColor: Theme.of(context).colorScheme.primary, - iconColor: Theme.of(context).colorScheme.onPrimary, - iconBackgroundColor: Colors.transparent, - iconData: CupertinoIcons.arrow_up_right_square, - mainAxisAlignment: MainAxisAlignment.end, - onPressed: onConnect, - ), - ), - Padding( - padding: EdgeInsets.only(top: 24), - child: YatPageIndicator(filled: 2), - ) - ], - ), - ), - ); - } -} diff --git a/lib/src/screens/yat/widgets/yat_bar.dart b/lib/src/screens/yat/widgets/yat_bar.dart deleted file mode 100644 index a605e360c..000000000 --- a/lib/src/screens/yat/widgets/yat_bar.dart +++ /dev/null @@ -1,17 +0,0 @@ -import 'package:cake_wallet/src/screens/yat/widgets/yat_close_button.dart'; -import 'package:flutter/material.dart'; - -class YatBar extends StatelessWidget { - YatBar({this.onClose}); - - final VoidCallback? onClose; - final image = Image.asset('assets/images/yat_logo.png', width: 81, height: 28); - - @override - Widget build(BuildContext context) { - return Stack(alignment: Alignment.bottomCenter, children: [ - Positioned(top: 0, right: 0, child: YatCloseButton(onClose: onClose)), - Positioned(top: 16, child: image) - ]); - } -} diff --git a/lib/src/screens/yat/widgets/yat_close_button.dart b/lib/src/screens/yat/widgets/yat_close_button.dart deleted file mode 100644 index 4e3ff0aeb..000000000 --- a/lib/src/screens/yat/widgets/yat_close_button.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:flutter/material.dart'; - -class YatCloseButton extends StatelessWidget { - YatCloseButton({this.onClose}); - - final VoidCallback? onClose; - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: onClose, - child: Container( - height: 28, - width: 28, - alignment: Alignment.center, - decoration: BoxDecoration( - color: Theme.of(context).colorScheme.surfaceContainerHighest, - shape: BoxShape.circle, - ), - child: Icon( - Icons.clear, - color: Theme.of(context).colorScheme.onSecondaryContainer, - size: 20, - ), - ), - ); - } -} diff --git a/lib/src/screens/yat/widgets/yat_page_indicator.dart b/lib/src/screens/yat/widgets/yat_page_indicator.dart deleted file mode 100644 index a5fd2d08e..000000000 --- a/lib/src/screens/yat/widgets/yat_page_indicator.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:flutter/material.dart'; - -class YatPageIndicator extends StatelessWidget { - YatPageIndicator({required this.filled}); - - final int filled; - - @override - Widget build(BuildContext context) { - return Container( - width: 44, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: List.generate(3, (index) { - final size = 8.0; - final isFilled = index == filled; - - return Container( - height: size, - width: size, - decoration: BoxDecoration( - shape: BoxShape.circle, - color: isFilled - ? Theme.of(context).colorScheme.primary - : Theme.of(context).colorScheme.onSurfaceVariant.withOpacity(0.1))); - }))); - } -} diff --git a/lib/src/screens/yat/yat_popup.dart b/lib/src/screens/yat/yat_popup.dart deleted file mode 100644 index bcf17a4f1..000000000 --- a/lib/src/screens/yat/yat_popup.dart +++ /dev/null @@ -1,154 +0,0 @@ -import 'package:cake_wallet/core/address_resolver/yat/yat_store.dart'; -import 'package:cake_wallet/src/screens/yat/widgets/first_introduction.dart'; -import 'package:cake_wallet/src/screens/yat/widgets/second_introduction.dart'; -import 'package:cake_wallet/src/screens/yat/widgets/third_introduction.dart'; -import 'package:cake_wallet/src/screens/yat/widgets/yat_close_button.dart'; -import 'package:cake_wallet/src/widgets/alert_background.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart'; -import 'package:flutter/material.dart'; -import 'package:animate_do/animate_do.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:url_launcher/url_launcher.dart'; -import 'package:cake_wallet/generated/i18n.dart'; - -class YatPopup extends StatelessWidget { - YatPopup({required this.dashboardViewModel, required this.onClose}) - : baseUrl = YatLink.isDevMode ? YatLink.baseDevUrl : YatLink.baseReleaseUrl; - - static const durationInMilliseconds = 250; - - final DashboardViewModel dashboardViewModel; - final VoidCallback onClose; - final String baseUrl; - final image = Image.asset('assets/images/emoji_popup.png'); - - @override - Widget build(BuildContext context) { - final screenWidth = MediaQuery.of(context).size.width; - - return Stack( - clipBehavior: Clip.none, - alignment: Alignment.bottomCenter, - children: [ - AlertBackground(child: Container()), - SlideInUp( - from: 420, - duration: Duration(milliseconds: durationInMilliseconds), - child: ClipRRect( - borderRadius: - BorderRadius.only(topLeft: Radius.circular(24), topRight: Radius.circular(24)), - child: Container( - height: 420, - color: Theme.of(context).colorScheme.surfaceContainer, - padding: EdgeInsets.fromLTRB(24, 15, 24, 24), - child: Column( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Column(children: [ - Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.end, - children: [YatCloseButton(onClose: onClose)]), - Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Container( - height: 64, - width: 165, - alignment: Alignment.center, - decoration: BoxDecoration( - color: Theme.of(context).colorScheme.surfaceContainer, - borderRadius: BorderRadius.all(Radius.circular(32)), - boxShadow: [ - BoxShadow( - color: Theme.of(context) - .colorScheme - .onSurface - .withOpacity(0.05), - blurRadius: 15, - offset: Offset(0, 5)) - ]), - child: image) - ]) - ]), - Container( - padding: EdgeInsets.only(left: 6, right: 6), - child: Column(children: [ - Text(S.of(context).yat_popup_title, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyLarge?.copyWith( - fontSize: 24, - fontWeight: FontWeight.bold, - decoration: TextDecoration.none, - )), - Padding( - padding: EdgeInsets.only(top: 20), - child: Text(S.of(context).yat_popup_content, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontSize: 16, - decoration: TextDecoration.none, - ))) - ])), - PrimaryButton( - text: S.of(context).learn_more, - textColor: Theme.of(context).colorScheme.onPrimary, - color: Theme.of(context).colorScheme.primary, - onPressed: () => dashboardViewModel.isShowFirstYatIntroduction = true) - ], - ))), - ), - Observer( - builder: (_) => dashboardViewModel.isShowFirstYatIntroduction - ? SlideInRight( - from: screenWidth, - duration: Duration(milliseconds: durationInMilliseconds), - child: FirstIntroduction( - onClose: onClose, - onNext: () => dashboardViewModel.isShowSecondYatIntroduction = true)) - : Container()), - Observer( - builder: (_) => dashboardViewModel.isShowSecondYatIntroduction - ? SlideInRight( - from: screenWidth, - duration: Duration(milliseconds: durationInMilliseconds), - child: SecondIntroduction( - onClose: onClose, - onNext: () => dashboardViewModel.isShowThirdYatIntroduction = true)) - : Container()), - Observer( - builder: (_) => dashboardViewModel.isShowThirdYatIntroduction - ? SlideInRight( - from: screenWidth, - duration: Duration(milliseconds: durationInMilliseconds), - child: ThirdIntroduction( - onClose: onClose, - onGet: () { - var createNewYatUrl = YatLink.startFlowUrl; - final createNewYatUrlParameters = - dashboardViewModel.yatStore.defineQueryParameters(); - - if (createNewYatUrlParameters.isNotEmpty) { - createNewYatUrl += '?sub1=' + createNewYatUrlParameters; - } - - final uri = Uri.parse(createNewYatUrl); - launchUrl(uri, mode: LaunchMode.externalApplication); - }, - onConnect: () { - String url = baseUrl + YatLink.signInSuffix; - final parameters = dashboardViewModel.yatStore.defineQueryParameters(); - if (parameters.isNotEmpty) { - url += YatLink.queryParameter + parameters; - } - final uri = Uri.parse(url); - launchUrl(uri, mode: LaunchMode.externalApplication); - })) - : Container()) - ], - ); - } -} diff --git a/lib/src/screens/yat_emoji_id.dart b/lib/src/screens/yat_emoji_id.dart deleted file mode 100644 index c433aa57d..000000000 --- a/lib/src/screens/yat_emoji_id.dart +++ /dev/null @@ -1,93 +0,0 @@ -import 'package:cake_wallet/src/screens/yat/widgets/yat_close_button.dart'; -import 'package:cake_wallet/src/widgets/alert_background.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:flutter/material.dart'; -import 'package:animate_do/animate_do.dart'; - -class YatEmojiId extends StatelessWidget { - YatEmojiId(this.emojiId); - static const durationInMilliseconds = 250; - - final String emojiId; - final image = Image.asset('assets/images/emoji_popup.png'); - - @override - Widget build(BuildContext context) { - final screenWidth = MediaQuery.of(context).size.width; - - return Stack( - clipBehavior: Clip.none, - alignment: Alignment.bottomCenter, - children: [ - AlertBackground(child: Container()), - SlideInUp( - from: 420, - duration: Duration(milliseconds: durationInMilliseconds), - child: ClipRRect( - borderRadius: - BorderRadius.only(topLeft: Radius.circular(24), topRight: Radius.circular(24)), - child: Container( - height: 420, - color: Theme.of(context).colorScheme.primaryContainer, - padding: EdgeInsets.fromLTRB(24, 15, 24, 24), - child: Column( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Column(children: [ - Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.end, - children: [YatCloseButton(onClose: () => Navigator.of(context).pop())]), - Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Container( - padding: EdgeInsets.fromLTRB(10, 5, 10, 5), - decoration: BoxDecoration( - color: Theme.of(context).colorScheme.surfaceContainer, - border: Border.all( - color: Theme.of(context).colorScheme.outlineVariant), - borderRadius: BorderRadius.all(Radius.circular(50))), - child: Text(emojiId, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyLarge?.copyWith( - fontSize: 46, - decoration: TextDecoration.none, - ))) - ]) - ]), - Container( - padding: EdgeInsets.only(left: 6, right: 6), - child: Column(children: [ - Text("That's one nice Yat!", - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyLarge?.copyWith( - fontSize: 32, - fontWeight: FontWeight.bold, - decoration: TextDecoration.none, - )), - Padding( - padding: EdgeInsets.only(top: 20), - child: Text( - 'You can manage your Yat or purchase additional Yats in your account settings', - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontSize: 18, - color: Theme.of(context).colorScheme.onSurfaceVariant, - decoration: TextDecoration.none, - ))) - ])), - PrimaryButton( - text: 'Got it', - textColor: Theme.of(context).colorScheme.onPrimary, - color: Theme.of(context).colorScheme.primary, - onPressed: () => Navigator.of(context).pop()) - ], - ))), - ) - ], - ); - } -} diff --git a/lib/src/widgets/adaptable_page_view.dart b/lib/src/widgets/adaptable_page_view.dart deleted file mode 100644 index 8ef9a2068..000000000 --- a/lib/src/widgets/adaptable_page_view.dart +++ /dev/null @@ -1,216 +0,0 @@ -import 'dart:ui'; - -import 'package:flutter/material.dart'; -import 'package:flutter/rendering.dart'; - -const _firstLayoutMaxHeight = 10000.0; - -class PageViewHeightAdaptable extends StatefulWidget { - const PageViewHeightAdaptable({ - super.key, - required this.controller, - required this.children, - }) : assert(children.length > 0, 'children must not be empty'); - - final PageController controller; - final List children; - - @override - State createState() => _PageViewHeightAdaptableState(); -} - -class _PageViewHeightAdaptableState extends State { - final _sizes = {}; - - @override - void didUpdateWidget(PageViewHeightAdaptable oldWidget) { - super.didUpdateWidget(oldWidget); - - _sizes.clear(); - } - - @override - Widget build(BuildContext context) { - return ListenableBuilder( - listenable: widget.controller, - builder: (context, child) => _SizingContainer( - sizes: _sizes, - page: widget.controller.hasClients ? widget.controller.page ?? 0 : 0, - child: child!, - ), - child: LayoutBuilder( - builder: (context, constraints) => PageView( - controller: widget.controller, - children: [ - for (final (i, child) in widget.children.indexed) - Stack( - alignment: Alignment.topCenter, - clipBehavior: Clip.hardEdge, - children: [ - SizedBox.fromSize(size: _sizes[i]), - Positioned( - left: 0, - top: 0, - right: 0, - child: _SizeAware( - child: child, - // don't setState, we'll use it in the layout phase - onSizeLaidOut: (size) { - _sizes[i] = size; - }, - ), - ), - ], - ), - ], - ), - ), - ); - } -} - -typedef _OnSizeLaidOutCallback = void Function(Size); - -class _SizingContainer extends SingleChildRenderObjectWidget { - const _SizingContainer({ - super.child, - required this.sizes, - required this.page, - }); - - final Map sizes; - final double page; - - @override - _RenderSizingContainer createRenderObject(BuildContext context) { - return _RenderSizingContainer( - sizes: sizes, - page: page, - ); - } - - @override - void updateRenderObject( - BuildContext context, - _RenderSizingContainer renderObject, - ) { - renderObject - ..sizes = sizes - ..page = page; - } -} - -class _RenderSizingContainer extends RenderProxyBox { - _RenderSizingContainer({ - RenderBox? child, - required Map sizes, - required double page, - }) : _sizes = sizes, - _page = page, - super(child); - - Map _sizes; - Map get sizes => _sizes; - set sizes(Map value) { - if (_sizes == value) return; - _sizes = value; - markNeedsLayout(); - } - - double _page; - double get page => _page; - set page(double value) { - if (_page == value) return; - _page = value; - markNeedsLayout(); - } - - @override - void performLayout() { - if (child case final child?) { - child.layout( - constraints.copyWith( - minWidth: constraints.maxWidth, - minHeight: 0, - maxHeight: constraints.hasBoundedHeight ? null : _firstLayoutMaxHeight, - ), - parentUsesSize: true, - ); - - final int floorPage = page.floor(); - final int ceilPage = page.ceil(); - - Size? a = sizes[floorPage]; - Size? b = sizes[ceilPage]; - - if (a == null && sizes.isNotEmpty) { - a = sizes.values.first; - } - if (b == null && sizes.isNotEmpty) { - b = sizes.values.first; - } - - a ??= child.getDryLayout(constraints); - b ??= a; - - final double t = (page - floorPage).clamp(0.0, 1.0); - final double height = lerpDouble(a.height, b.height, t) ?? a.height; - - child.layout( - constraints.copyWith(minHeight: height, maxHeight: height), - parentUsesSize: true, - ); - size = child.size; - } else { - size = computeSizeForNoChild(constraints); - } - } -} - -class _SizeAware extends SingleChildRenderObjectWidget { - const _SizeAware({ - required Widget child, - required this.onSizeLaidOut, - }) : super(child: child); - - final _OnSizeLaidOutCallback onSizeLaidOut; - - @override - _RenderSizeAware createRenderObject(BuildContext context) { - return _RenderSizeAware( - onSizeLaidOut: onSizeLaidOut, - ); - } - - @override - void updateRenderObject(BuildContext context, _RenderSizeAware renderObject) { - renderObject.onSizeLaidOut = onSizeLaidOut; - } -} - -class _RenderSizeAware extends RenderProxyBox { - _RenderSizeAware({ - RenderBox? child, - required _OnSizeLaidOutCallback onSizeLaidOut, - }) : _onSizeLaidOut = onSizeLaidOut, - super(child); - - _OnSizeLaidOutCallback? _onSizeLaidOut; - _OnSizeLaidOutCallback get onSizeLaidOut => _onSizeLaidOut!; - set onSizeLaidOut(_OnSizeLaidOutCallback value) { - if (_onSizeLaidOut == value) return; - _onSizeLaidOut = value; - markNeedsLayout(); - } - - @override - void performLayout() { - super.performLayout(); - - onSizeLaidOut( - getDryLayout( - constraints.copyWith(maxHeight: double.infinity), - ), - ); - } -} diff --git a/lib/src/widgets/add_template_button.dart b/lib/src/widgets/add_template_button.dart deleted file mode 100644 index f9935ebc3..000000000 --- a/lib/src/widgets/add_template_button.dart +++ /dev/null @@ -1,52 +0,0 @@ -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/utils/responsive_layout_util.dart'; -import 'package:dotted_border/dotted_border.dart'; -import 'package:flutter/material.dart'; - -class AddTemplateButton extends StatelessWidget { - final Function() onTap; - final int currentTemplatesLength; - - const AddTemplateButton({Key? key, required this.onTap, required this.currentTemplatesLength}) - : super(key: key); - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: onTap, - child: Container( - padding: EdgeInsets.only(left: 1, right: 10), - child: DottedBorder( - borderType: BorderType.RRect, - dashPattern: [6, 4], - color: Theme.of(context).colorScheme.outline, - strokeWidth: 2, - radius: Radius.circular(12), - child: Container( - height: 34, - padding: EdgeInsets.symmetric( - horizontal: responsiveLayoutUtil.shouldRenderMobileUI ? 10 : 30, - ), - alignment: Alignment.center, - decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(12)), - color: Colors.transparent, - ), - child: currentTemplatesLength >= 1 - ? Icon( - Icons.add, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ) - : Text( - S.of(context).new_template, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - ), - ), - ), - ); - } -} diff --git a/lib/src/widgets/alert_with_no_action.dart.dart b/lib/src/widgets/alert_with_no_action.dart.dart deleted file mode 100644 index 75c1785cd..000000000 --- a/lib/src/widgets/alert_with_no_action.dart.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:cake_wallet/src/widgets/base_alert_dialog.dart'; - -class AlertWithNoAction extends BaseAlertDialog { - AlertWithNoAction({ - this.alertTitle, - required this.alertContent, - this.alertBarrierDismissible = true, - Key? key, - }); - - final String? alertTitle; - final String alertContent; - final bool alertBarrierDismissible; - - @override - String? get titleText => alertTitle; - - @override - String get contentText => alertContent; - - @override - bool get barrierDismissible => alertBarrierDismissible; - - @override - bool get isBottomDividerExists => false; - - @override - Widget actionButtons(BuildContext context) => Container(); -} diff --git a/lib/src/widgets/alert_with_picker_option.dart b/lib/src/widgets/alert_with_picker_option.dart deleted file mode 100644 index 79a7b204b..000000000 --- a/lib/src/widgets/alert_with_picker_option.dart +++ /dev/null @@ -1,113 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:cake_wallet/src/widgets/base_alert_dialog.dart'; - -class AlertWithPickerOption extends BaseAlertDialog { - AlertWithPickerOption( - {required this.alertTitle, - required this.alertTitleTextSize, - required this.alertSubtitle, - required this.options, - this.onOptionSelected, - this.alertBarrierDismissible = true, - Key? key}); - - final String alertTitle; - final double alertTitleTextSize; - final String alertSubtitle; - final List> options; - final ValueChanged>? onOptionSelected; - final bool alertBarrierDismissible; - - @override - String get titleText => alertTitle; - - @override - double? get titleTextSize => alertTitleTextSize; - - @override - String get contentText => alertSubtitle; - - @override - bool get barrierDismissible => alertBarrierDismissible; - - @override - Widget actionButtons(BuildContext context) => Container(); - - @override - bool get isBottomDividerExists => false; - - @override - Widget content(BuildContext context) { - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - const SizedBox(height: 16), - Text( - contentText, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 10, - fontWeight: FontWeight.w500, - color: Theme.of(context).colorScheme.onSurface, - decoration: TextDecoration.none, - ), - ), - const SizedBox(height: 4), - Container( - constraints: const BoxConstraints(maxHeight: 200), - child: ListView.separated( - shrinkWrap: true, - padding: EdgeInsets.zero, - separatorBuilder: (context, index) => const SizedBox(height: 8), - itemCount: options.length, - itemBuilder: (context, index) { - final item = options[index]; - final displayKey = item['displayKey'] ?? ''; - final displayValue = item['displayValue'] ?? ''; - return GestureDetector( - onTap: () { - onOptionSelected?.call(item); - Navigator.of(context).pop(); - }, - child: Container( - width: double.infinity, - padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 12), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(30), - color: Theme.of(context).colorScheme.surface), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - displayKey, - style: Theme.of(context).textTheme.bodySmall!.copyWith( - decoration: TextDecoration.none, - ), - ), - Row( - children: [ - Text( - displayValue, - style: Theme.of(context).textTheme.bodySmall!.copyWith( - decoration: TextDecoration.none, - ), - ), - const SizedBox(width: 4), - Icon( - Icons.arrow_forward_ios, - size: 18, - color: Theme.of(context).colorScheme.onSurface, - ), - ], - ), - ], - ), - ), - ); - }, - ), - ), - ], - ); - } -} diff --git a/lib/src/widgets/bottom_sheet/cake_pay_card_info_bottom_sheet_widget.dart b/lib/src/widgets/bottom_sheet/cake_pay_card_info_bottom_sheet_widget.dart index 21d6863b0..8183981cd 100644 --- a/lib/src/widgets/bottom_sheet/cake_pay_card_info_bottom_sheet_widget.dart +++ b/lib/src/widgets/bottom_sheet/cake_pay_card_info_bottom_sheet_widget.dart @@ -299,14 +299,12 @@ Widget _buildBarcodeSide(BuildContext context, {required String cardNumber, requ children: [ Text('Gift Card Number', style: TextStyle( - fontFamily: 'Lato', fontSize: 10, fontWeight: FontWeight.w500, color: Color.fromRGBO(207, 207, 207, 1))), const SizedBox(height: 4), Text(cardNumber, style: TextStyle( - fontFamily: 'Lato', fontSize: 12, fontWeight: FontWeight.w900, color: Color.fromRGBO(146, 146, 146, 1))), @@ -317,14 +315,12 @@ Widget _buildBarcodeSide(BuildContext context, {required String cardNumber, requ children: [ Text('PIN Number', style: TextStyle( - fontFamily: 'Lato', fontSize: 10, fontWeight: FontWeight.w500, color: Color.fromRGBO(207, 207, 207, 1))), const SizedBox(height: 4), Text(pin, style: TextStyle( - fontFamily: 'Lato', fontSize: 12, fontWeight: FontWeight.w900, color: Color.fromRGBO(146, 146, 146, 1))), diff --git a/lib/src/widgets/bottom_sheet/payment_confirmation_bottom_sheet.dart b/lib/src/widgets/bottom_sheet/payment_confirmation_bottom_sheet.dart deleted file mode 100644 index 3c1dfde4f..000000000 --- a/lib/src/widgets/bottom_sheet/payment_confirmation_bottom_sheet.dart +++ /dev/null @@ -1,305 +0,0 @@ -import 'package:cake_wallet/evm/evm.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/utils/payment_request.dart'; -import 'package:cw_core/currency_for_wallet_type.dart'; -import 'package:cw_core/generate_name.dart'; -import 'package:flutter/material.dart'; -import 'package:cake_wallet/src/widgets/bottom_sheet/base_bottom_sheet_widget.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cw_core/wallet_type.dart'; -import 'package:cake_wallet/view_model/payment/payment_view_model.dart'; -import 'package:cake_wallet/view_model/wallet_switcher_view_model.dart'; -import 'package:cake_wallet/reactions/wallet_connect.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; - -class PaymentConfirmationBottomSheet extends BaseBottomSheet { - PaymentConfirmationBottomSheet({ - Key? key, - required this.paymentFlowResult, - required this.paymentViewModel, - required this.walletSwitcherViewModel, - required this.paymentRequest, - required this.onSelectWallet, - required this.onChangeWallet, - required this.onSwap, - this.onSwitchNetwork, - }) : super( - titleText: '', - footerType: FooterType.none, - maxHeight: 900, - ); - - final PaymentFlowResult paymentFlowResult; - final PaymentViewModel paymentViewModel; - final WalletSwitcherViewModel walletSwitcherViewModel; - final PaymentRequest paymentRequest; - final VoidCallback onSelectWallet; - final VoidCallback onChangeWallet; - final void Function(BuildContext) onSwap; - final VoidCallback? onSwitchNetwork; - - @override - Widget contentWidget(BuildContext context) { - return _PaymentConfirmationContent( - paymentFlowResult: paymentFlowResult, - paymentViewModel: paymentViewModel, - walletSwitcherViewModel: walletSwitcherViewModel, - paymentRequest: paymentRequest, - onSelectWallet: onSelectWallet, - onChangeWallet: onChangeWallet, - onSwap: onSwap, - onSwitchNetwork: onSwitchNetwork, - ); - } -} - -class _PaymentConfirmationContent extends StatelessWidget { - const _PaymentConfirmationContent({ - required this.paymentFlowResult, - required this.paymentViewModel, - required this.walletSwitcherViewModel, - required this.paymentRequest, - required this.onSelectWallet, - required this.onChangeWallet, - required this.onSwap, - this.onSwitchNetwork, - }); - - final PaymentFlowResult paymentFlowResult; - final PaymentViewModel paymentViewModel; - final WalletSwitcherViewModel walletSwitcherViewModel; - final PaymentRequest paymentRequest; - final VoidCallback onSelectWallet; - final VoidCallback onChangeWallet; - final void Function(BuildContext) onSwap; - final VoidCallback? onSwitchNetwork; - - /// Checks if the given address is a MWEB or SP (Silent Payment) address - bool _isMwebOrSpAddress(String address) { - if (address.isEmpty) return false; - - final lowerAddress = address.toLowerCase(); - - // Check for MWEB addresses (Litecoin MWEB addresses start with "ltcmweb1") - if (lowerAddress.startsWith('ltcmweb1')) return true; - - // Check for Silent Payment addresses (Bitcoin SP addresses start with "sp1", "tsp1") - if (lowerAddress.startsWith('sp1') || lowerAddress.startsWith('tsp1')) return true; - - return false; - } - - /// Checks if flow type is token selection (EVM, Solana, or Tron) - bool _isTokenSelectionFlow(PaymentFlowType type) { - return type == PaymentFlowType.evmNetworkSelection || - type == PaymentFlowType.solanaTokenSelection || - type == PaymentFlowType.tronTokenSelection; - } - - @override - Widget build(BuildContext context) { - return Observer( - builder: (_) { - final currencyName = walletTypeToString(paymentViewModel.detectedWalletType!); - final currentWalletName = isEVMCompatibleChain(paymentViewModel.currentWalletType) - ? evm!.getChainNameByChainId(paymentViewModel.currentChainId!) - : walletTypeToString(paymentViewModel.currentWalletType); - - final hasSingleWallet = paymentFlowResult.type == PaymentFlowType.singleWallet || - paymentFlowResult.wallets.length == 1; - - final hasMultipleWallets = paymentFlowResult.type == PaymentFlowType.multipleWallets || - paymentFlowResult.wallets.length > 1; - - final noAvailableWallets = paymentFlowResult.type == PaymentFlowType.noWallets || - paymentFlowResult.wallets.isEmpty; - - final hasAtLeastOneWallet = hasSingleWallet || hasMultipleWallets; - - final isMwebOrSpAddress = - _isMwebOrSpAddress(paymentFlowResult.addressDetectionResult?.address ?? ''); - - /// If the wallet is EVM but the detected chainId is different from the currently selected chainId - final isEVMWalletButDifferentChainId = - paymentFlowResult.type == PaymentFlowType.evmNetworkSelection && - paymentFlowResult.wallet != null && - isEVMCompatibleChain(paymentViewModel.currentWalletType); - - final otherWalletsCount = paymentFlowResult.wallets.length; - final hasMultipleOtherWallets = otherWalletsCount > 1; - - return Container( - padding: const EdgeInsets.fromLTRB(24, 0, 24, 24), - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - if (_isTokenSelectionFlow(paymentFlowResult.type)) ...[ - Stack( - clipBehavior: Clip.none, - children: [ - Image.asset( - paymentFlowResult.addressDetectionResult?.detectedCurrency?.iconPath ?? '', - width: 70, - height: 70, - errorBuilder: (context, error, stackTrace) => Icon( - Icons.currency_bitcoin, - size: 70, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - Positioned( - bottom: 0, - right: 0, - child: Image.asset( - getCryptoCurrencyIconForWalletListItem( - paymentViewModel.detectedWalletType!, - chainId: paymentViewModel.detectedChainId, - ), - width: 32, - height: 32, - errorBuilder: (context, error, stackTrace) => Icon( - Icons.account_balance_wallet, - size: 32, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - ), - ], - ), - const SizedBox(height: 20), - Text( - '${paymentFlowResult.addressDetectionResult?.detectedCurrency} (${walletTypeToString(paymentFlowResult.walletType!)})', - style: Theme.of(context).textTheme.titleMedium!.copyWith( - fontSize: 20, - fontWeight: FontWeight.w900, - color: Theme.of(context).colorScheme.onSurface, - letterSpacing: 0.0, - ), - textAlign: TextAlign.center, - ), - const SizedBox(height: 24), - Text( - '''Would you like to ${!noAvailableWallets ? 'switch to a $currencyName wallet or' : ''} swap ${currentWalletName.capitalized()} for ${paymentFlowResult.addressDetectionResult?.detectedCurrency} (${walletTypeToString(paymentFlowResult.walletType!)}) for this payment?''', - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 16, - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurfaceVariant, - letterSpacing: 0.0, - ), - ), - ] else ...[ - Image.asset( - getCryptoCurrencyIconForWalletListItem( - paymentViewModel.detectedWalletType!, - chainId: paymentViewModel.detectedChainId, - ), - width: 118, - height: 118, - ), - const SizedBox(height: 20), - Text( - '$currencyName ${S.current.address_detected.toLowerCase()}', - style: Theme.of(context).textTheme.titleMedium!.copyWith( - fontSize: 20, - fontWeight: FontWeight.w900, - color: Theme.of(context).colorScheme.onSurface, - letterSpacing: 0.0, - ), - textAlign: TextAlign.center, - ), - const SizedBox(height: 24), - Text( - '''Looks like you scanned a $currencyName address.\n\n''' - '''Would you like to ${!noAvailableWallets ? 'switch to a $currencyName wallet or' : ''} swap ${currentWalletName.capitalized()} for $currencyName for this payment?''', - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 16, - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurfaceVariant, - letterSpacing: 0.0, - ), - ), - ], - const SizedBox(height: 72), - if (isEVMWalletButDifferentChainId) ...[ - if (!isMwebOrSpAddress) ...[ - PrimaryButton( - onPressed: () => onSwap(context), - text: 'Create In App Swap', - color: hasAtLeastOneWallet - ? Theme.of(context).colorScheme.surfaceContainer - : Theme.of(context).colorScheme.primary, - textColor: hasAtLeastOneWallet - ? Theme.of(context).colorScheme.onSecondaryContainer - : Theme.of(context).colorScheme.onPrimary, - ), - const SizedBox(height: 10), - ], - if (onSwitchNetwork != null) ...[ - PrimaryButton( - onPressed: onSwitchNetwork, - text: - 'Switch to ${evm!.getChainNameByChainId(paymentViewModel.detectedChainId!).toUpperCase()} Network', - color: Theme.of(context).colorScheme.surfaceContainer, - textColor: Theme.of(context).colorScheme.onSecondaryContainer, - ), - const SizedBox(height: 10), - ], - if (hasAtLeastOneWallet) ...[ - PrimaryButton( - onPressed: hasMultipleOtherWallets ? onSelectWallet : onChangeWallet, - text: S.current.change_wallet_alert_title, - color: Theme.of(context).colorScheme.primary, - textColor: Theme.of(context).colorScheme.onPrimary, - ), - const SizedBox(height: 10), - ], - ] else if (hasAtLeastOneWallet) ...[ - if (!isMwebOrSpAddress) ...[ - PrimaryButton( - onPressed: () => onSwap(context), - text: '${S.current.swap} ${currentWalletName.capitalized()}', - color: Theme.of(context).colorScheme.surfaceContainer, - textColor: Theme.of(context).colorScheme.onSecondaryContainer, - ), - const SizedBox(height: 10), - ], - PrimaryButton( - onPressed: hasMultipleWallets ? onSelectWallet : onChangeWallet, - text: S.current.switch_wallet, - color: Theme.of(context).colorScheme.primary, - textColor: Theme.of(context).colorScheme.onPrimary, - ), - const SizedBox(height: 10), - ] else ...[ - PrimaryButton( - onPressed: () => Navigator.of(context).pop(), - text: S.current.cancel, - color: Theme.of(context).colorScheme.surfaceContainer, - textColor: Theme.of(context).colorScheme.onSecondaryContainer, - ), - const SizedBox(height: 10), - if (!isMwebOrSpAddress) ...[ - PrimaryButton( - onPressed: () => onSwap(context), - text: '${S.current.swap} ${currentWalletName.capitalized()}', - color: hasAtLeastOneWallet - ? Theme.of(context).colorScheme.surfaceContainer - : Theme.of(context).colorScheme.primary, - textColor: hasAtLeastOneWallet - ? Theme.of(context).colorScheme.onSecondaryContainer - : Theme.of(context).colorScheme.onPrimary, - ), - const SizedBox(height: 10), - ], - const SizedBox(height: 32), - ], - ], - ), - ); - }, - ); - } -} diff --git a/lib/src/widgets/bottom_sheet/token_selection_bottom_sheet.dart b/lib/src/widgets/bottom_sheet/token_selection_bottom_sheet.dart deleted file mode 100644 index 55aafd516..000000000 --- a/lib/src/widgets/bottom_sheet/token_selection_bottom_sheet.dart +++ /dev/null @@ -1,497 +0,0 @@ -import 'package:cake_wallet/core/universal_address_detector.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/reactions/wallet_connect.dart'; -import 'package:cake_wallet/src/screens/exchange/widgets/currency_picker.dart'; -import 'package:cake_wallet/src/widgets/bottom_sheet/base_bottom_sheet_widget.dart'; -import 'package:cake_wallet/src/widgets/cake_image_widget.dart'; -import 'package:cake_wallet/src/widgets/picker.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/utils/payment_request.dart'; -import 'package:cake_wallet/utils/qr_util.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:cake_wallet/utils/token_utilities.dart'; -import 'package:cake_wallet/view_model/payment/payment_view_model.dart'; -import 'package:cake_wallet/wallet_types.g.dart'; -import 'package:cw_core/crypto_currency.dart'; -import 'package:cw_core/currency.dart'; -import 'package:cw_core/currency_for_wallet_type.dart'; -import 'package:cw_core/erc20_token.dart'; -import 'package:cw_core/spl_token.dart'; -import 'package:cw_core/tron_token.dart'; -import 'package:cw_core/utils/print_verbose.dart'; -import 'package:cw_core/wallet_type.dart'; -import 'package:flutter/material.dart'; - -class TokenSelectionBottomSheet extends BaseBottomSheet { - TokenSelectionBottomSheet({ - Key? key, - required this.paymentViewModel, - required this.paymentRequest, - required this.onNext, - this.fixedNetwork, - }) : super( - titleText: '', - footerType: FooterType.none, - maxHeight: 900, - ); - - final PaymentViewModel paymentViewModel; - final PaymentRequest paymentRequest; - final Function(PaymentFlowResult) onNext; - final WalletType? fixedNetwork; - - @override - Widget contentWidget(BuildContext context) { - return _TokenSelectionContent( - paymentViewModel: paymentViewModel, - paymentRequest: paymentRequest, - onNext: onNext, - fixedNetwork: fixedNetwork, - ); - } -} - -class _TokenSelectionContent extends StatefulWidget { - const _TokenSelectionContent({ - required this.paymentViewModel, - required this.paymentRequest, - required this.onNext, - this.fixedNetwork, - }); - - final PaymentViewModel paymentViewModel; - final PaymentRequest paymentRequest; - final Function(PaymentFlowResult) onNext; - final WalletType? fixedNetwork; - - @override - State<_TokenSelectionContent> createState() => _TokenSelectionContentState(); -} - -class _TokenSelectionContentState extends State<_TokenSelectionContent> { - WalletType? selectedNetwork; - CryptoCurrency? selectedToken; - bool isLoadingTokens = false; - String? tokenLoadError; - - @override - void initState() { - super.initState(); - final baseNetwork = widget.fixedNetwork ?? WalletType.ethereum; - selectedNetwork = _resolveGenericETHDetectionResultToSpecificChain( - baseNetwork, widget.paymentRequest.scheme.isNotEmpty); - _autoSelectToken(); - } - - bool get _isNetworkSelectable => - widget.fixedNetwork == null || isEVMCompatibleChain(widget.fixedNetwork!); - - CryptoCurrency? _tokenMatchingContract(List tokens, String? rawContract) { - final trimmed = rawContract?.trim(); - if (trimmed == null || trimmed.isEmpty) return null; - - for (final token in tokens) { - if (token is Erc20Token && token.contractAddress.toLowerCase() == trimmed.toLowerCase()) { - return token; - } else if (token is SPLToken && token.mintAddress == trimmed) { - return token; - } else if (token is TronToken && token.contractAddress == trimmed) { - return token; - } - } - return null; - } - - WalletType _resolveGenericETHDetectionResultToSpecificChain( - WalletType network, bool hasURIScheme) { - if (hasURIScheme || network != WalletType.ethereum) return network; - - final current = widget.paymentViewModel.currentWalletType; - if (isEVMCompatibleChain(current)) return current; - return network; - } - - Future _autoSelectToken() async { - final initialNetwork = selectedNetwork; - if (initialNetwork == null || !mounted) return; - - final network = _resolveGenericETHDetectionResultToSpecificChain( - initialNetwork, widget.paymentRequest.scheme.isNotEmpty); - - setState(() { - selectedNetwork = network; - isLoadingTokens = true; - tokenLoadError = null; - }); - - try { - final tokens = await TokenUtilities.getAvailableTokensForNetwork(network); - if (!mounted) return; - - if (tokens.isEmpty) { - setState(() { - tokenLoadError = 'No tokens available'; - isLoadingTokens = false; - selectedToken = null; - }); - return; - } - - final matchedToken = - _tokenMatchingContract(tokens, widget.paymentRequest.contractAddress) ?? tokens.first; - - setState(() { - selectedToken = matchedToken; - isLoadingTokens = false; - tokenLoadError = null; - }); - } catch (e) { - printV('Auto-select token error: $e'); - if (!mounted) return; - setState(() { - tokenLoadError = 'Failed to load tokens'; - isLoadingTokens = false; - selectedToken = walletTypeToCryptoCurrency(network); - }); - } - } - - String _getNetworkTitle() { - if (selectedNetwork == null) return S.current.select_network; - return walletTypeToString(selectedNetwork!); - } - - String _getEcosystemTitle() { - if (selectedNetwork == WalletType.solana) { - return 'Solana\n${S.current.address_detected.toLowerCase()}'; - } - if (selectedNetwork == WalletType.tron) { - return 'Tron\n${S.current.address_detected.toLowerCase()}'; - } - return '${S.current.ethereum_ecosystem}\n${S.current.address_detected.toLowerCase()}'; - } - - String _getEcosystemDescription() { - if (selectedNetwork == WalletType.solana) { - return 'Select a token to send on Solana network'; - } - if (selectedNetwork == WalletType.tron) { - return 'Select a token to send on Tron network'; - } - return S.current.evm_ecosystem_description; - } - - String _getNetworkIcon() { - if (selectedNetwork == null) return 'assets/images/eth_chain_mono.svg'; - return getChainMonoImage(selectedNetwork!); - } - - @override - Widget build(BuildContext context) { - return Container( - padding: const EdgeInsets.fromLTRB(24, 0, 24, 24), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - CakeImageWidget( - imageUrl: _getNetworkIcon(), - width: 50, - height: 50, - color: Theme.of(context).colorScheme.onSurface, - ), - const SizedBox(height: 24), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 24), - child: Text( - _getEcosystemTitle(), - style: Theme.of(context).textTheme.titleMedium!.copyWith( - fontSize: 20, - fontWeight: FontWeight.w900, - color: Theme.of(context).colorScheme.onSurface, - ), - textAlign: TextAlign.center, - ), - ), - const SizedBox(height: 36), - Text( - _getEcosystemDescription(), - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 16, - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurfaceVariant, - letterSpacing: 0.0, - ), - ), - const SizedBox(height: 32), - TokenSelectionTileWidget( - value: _getNetworkTitle(), - imagePath: selectedNetwork != null ? getChainMonoImage(selectedNetwork!) : null, - color: selectedNetwork != null ? Theme.of(context).colorScheme.primary : null, - enabled: _isNetworkSelectable, - onTap: _isNetworkSelectable ? () => _showNetworkSelection(context) : null, - ), - const SizedBox(height: 16), - TokenSelectionTileWidget( - imagePath: selectedToken?.iconPath, - value: selectedToken != null ? selectedToken!.title : S.current.select_token, - enabled: selectedNetwork != null && !isLoadingTokens, - onTap: isLoadingTokens ? null : () => _showTokenSelection(context), - color: selectedToken == null ? Theme.of(context).colorScheme.primary : null, - ), - if (isLoadingTokens) ...[ - const SizedBox(height: 16), - const CircularProgressIndicator(), - ], - if (tokenLoadError != null) ...[ - const SizedBox(height: 16), - Text( - tokenLoadError!, - style: Theme.of(context).textTheme.bodySmall!.copyWith( - color: Theme.of(context).colorScheme.error, - ), - ), - ], - const SizedBox(height: 32), - PrimaryButton( - text: S.current.restore_next, - color: Theme.of(context).colorScheme.primary, - textColor: Theme.of(context).colorScheme.onPrimary, - onPressed: selectedNetwork != null && selectedToken != null && !isLoadingTokens - ? () async => await _handleNext(context) - : null, - ), - const SizedBox(height: 48), - ], - ), - ); - } - - void _showNetworkSelection(BuildContext context) async { - if (!_isNetworkSelectable) return; - - final evmNetworks = - availableWalletTypes.where((walletType) => isEVMCompatibleChain(walletType)).toList(); - final selectedIndex = evmNetworks.indexOf(selectedNetwork ?? WalletType.ethereum); - - await showPopUp( - context: context, - builder: (BuildContext context) { - return Picker( - items: evmNetworks, - displayItem: (WalletType network) => walletTypeToString(network), - selectedAtIndex: selectedIndex, - title: S.current.select_network, - closeOnItemSelected: true, - hasTitleSpacing: true, - images: evmNetworks - .map((network) => CakeImageWidget( - imageUrl: getChainMonoImage(network), - width: 20, - height: 20, - color: Theme.of(context).colorScheme.primary)) - .toList(), - onItemSelected: (WalletType network) { - setState(() { - selectedNetwork = network; - selectedToken = null; - }); - _autoSelectToken(); - }, - ); - }, - ); - } - - void _showTokenSelection(BuildContext context) async { - if (selectedNetwork == null || isLoadingTokens) return; - - setState(() { - isLoadingTokens = true; - }); - - try { - final availableTokens = await TokenUtilities.getAvailableTokensForNetwork( - selectedNetwork!, - ); - - if (availableTokens.isEmpty) { - setState(() { - isLoadingTokens = false; - }); - await showPopUp( - context: context, - builder: (context) => AlertDialog( - title: Text(S.current.error), - content: const Text('No tokens available for this network'), - actions: [ - TextButton( - onPressed: () => Navigator.of(context).pop(), - child: Text(S.current.ok), - ), - ], - ), - ); - return; - } - - final selectedIndex = selectedToken != null ? availableTokens.indexOf(selectedToken!) : 0; - - setState(() { - isLoadingTokens = false; - }); - - await showPopUp( - context: context, - builder: (BuildContext context) { - return CurrencyPicker( - selectedAtIndex: selectedIndex >= 0 ? selectedIndex : 0, - items: availableTokens.cast(), - hintText: S.current.add_token, - onItemSelected: (Currency currency) { - setState(() { - selectedToken = currency as CryptoCurrency; - }); - }, - ); - }, - ); - } catch (e) { - printV('Error showing token selection: $e'); - setState(() { - isLoadingTokens = false; - tokenLoadError = 'Failed to load tokens'; - }); - } - } - - Future _handleNext(BuildContext context) async { - if (selectedNetwork == null || selectedToken == null) return; - - Navigator.of(context).pop(); - - final compatibleWallets = await widget.paymentViewModel.getWalletsByType(selectedNetwork!); - - PaymentFlowResult newResult; - - if (selectedNetwork == WalletType.solana) { - newResult = PaymentFlowResult.solanaTokenSelection( - AddressDetectionResult( - address: widget.paymentRequest.address, - detectedWalletType: WalletType.solana, - detectedCurrency: selectedToken!, - isValid: true, - amount: widget.paymentRequest.resolveTokenAmount(selectedToken!), - note: widget.paymentRequest.note, - scheme: widget.paymentRequest.scheme, - pjUri: widget.paymentRequest.pjUri, - callbackUrl: widget.paymentRequest.callbackUrl, - callbackMessage: widget.paymentRequest.callbackMessage, - ), - compatibleWallets: compatibleWallets, - wallet: compatibleWallets.isNotEmpty ? compatibleWallets.first : null, - ); - } else if (selectedNetwork == WalletType.tron) { - newResult = PaymentFlowResult.tronTokenSelection( - AddressDetectionResult( - address: widget.paymentRequest.address, - detectedWalletType: WalletType.tron, - detectedCurrency: selectedToken!, - isValid: true, - amount: widget.paymentRequest.resolveTokenAmount(selectedToken!), - note: widget.paymentRequest.note, - scheme: widget.paymentRequest.scheme, - pjUri: widget.paymentRequest.pjUri, - callbackUrl: widget.paymentRequest.callbackUrl, - callbackMessage: widget.paymentRequest.callbackMessage, - ), - compatibleWallets: compatibleWallets, - wallet: compatibleWallets.isNotEmpty ? compatibleWallets.first : null, - ); - } else { - newResult = PaymentFlowResult.evmNetworkSelection( - AddressDetectionResult( - address: widget.paymentRequest.address, - detectedWalletType: selectedNetwork!, - detectedCurrency: selectedToken!, - isValid: true, - amount: widget.paymentRequest.resolveTokenAmount(selectedToken!), - note: widget.paymentRequest.note, - scheme: widget.paymentRequest.scheme, - pjUri: widget.paymentRequest.pjUri, - callbackUrl: widget.paymentRequest.callbackUrl, - callbackMessage: widget.paymentRequest.callbackMessage, - ), - compatibleWallets: compatibleWallets, - wallet: compatibleWallets.isNotEmpty ? compatibleWallets.first : null, - ); - } - - widget.paymentViewModel.detectedWalletType = selectedNetwork!; - widget.onNext(newResult); - } -} - -class TokenSelectionTileWidget extends StatelessWidget { - const TokenSelectionTileWidget({ - super.key, - required this.value, - required this.enabled, - required this.onTap, - this.imagePath, - this.color, - }); - - final String value; - final bool enabled; - final VoidCallback? onTap; - final String? imagePath; - final Color? color; - - @override - Widget build(BuildContext context) { - return InkWell( - onTap: enabled ? onTap : null, - borderRadius: BorderRadius.circular(12), - child: Opacity( - opacity: enabled ? 1.0 : 0.6, - child: Container( - padding: const EdgeInsets.all(16), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(12), - color: Theme.of(context).colorScheme.surfaceContainer, - ), - child: Row( - children: [ - if (imagePath != null) ...[ - CakeImageWidget( - imageUrl: imagePath!, - color: color, - width: 20, - height: 20, - ), - const SizedBox(width: 16), - ], - Expanded( - child: Text( - value, - style: Theme.of(context).textTheme.titleMedium!.copyWith( - fontSize: 14, - fontWeight: FontWeight.w400, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - ), - if (enabled) - Icon( - Icons.keyboard_arrow_down, - size: 24, - color: Theme.of(context).colorScheme.primary, - ), - ], - ), - ), - ), - ); - } -} diff --git a/lib/src/widgets/bottom_sheet/wallet_switcher_bottom_sheet.dart b/lib/src/widgets/bottom_sheet/wallet_switcher_bottom_sheet.dart deleted file mode 100644 index f017ae67d..000000000 --- a/lib/src/widgets/bottom_sheet/wallet_switcher_bottom_sheet.dart +++ /dev/null @@ -1,132 +0,0 @@ -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cw_core/currency_for_wallet_type.dart'; -import 'package:flutter/material.dart'; -import 'package:cake_wallet/src/widgets/bottom_sheet/base_bottom_sheet_widget.dart'; -import 'package:cake_wallet/src/widgets/standard_list.dart'; -import 'package:cw_core/wallet_info.dart'; -import 'package:cw_core/wallet_type.dart'; -import 'package:cake_wallet/view_model/wallet_switcher_view_model.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; - -class WalletSwitcherBottomSheet extends BaseBottomSheet { - WalletSwitcherBottomSheet({ - Key? key, - required this.viewModel, - this.filterWalletType, - this.subtitle, - this.onWalletSelected, - }) : super( - titleText: S.current.select_a_wallet, - footerType: FooterType.none, - maxHeight: 900, - ); - - final WalletSwitcherViewModel viewModel; - final WalletType? filterWalletType; - final String? subtitle; - final Function(WalletInfo)? onWalletSelected; - - @override - Widget contentWidget(BuildContext context) { - return _WalletSwitcherContent( - viewModel: viewModel, - filterWalletType: filterWalletType, - subtitle: subtitle, - onWalletSelected: onWalletSelected, - ); - } -} - -class _WalletSwitcherContent extends StatelessWidget { - const _WalletSwitcherContent({ - required this.viewModel, - this.filterWalletType, - this.subtitle, - this.onWalletSelected, - }); - - final WalletSwitcherViewModel viewModel; - final WalletType? filterWalletType; - final String? subtitle; - final Function(WalletInfo)? onWalletSelected; - - @override - Widget build(BuildContext context) { - return FutureBuilder( - future: viewModel.getWallets(filterWalletType), - builder: (context, snapshot) => Observer( - builder: (_) { - final List wallets = (snapshot.data ?? []); - - if (viewModel.isProcessing) { - return Container( - height: 200, - child: Center( - child: CircularProgressIndicator( - color: Theme.of(context).colorScheme.primary, - ), - ), - ); - } - - return Container( - height: 400, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Expanded( - child: StandardList( - itemCount: wallets.length, - itemBuilder: (context, index) { - final wallet = wallets[index]; - - return InkWell( - onTap: () { - viewModel.selectWallet(wallet); - Navigator.of(context).pop(); - }, - borderRadius: BorderRadius.circular(12), - child: Container( - margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), - decoration: BoxDecoration( - color: Theme.of(context).colorScheme.surfaceContainer, - borderRadius: BorderRadius.circular(16), - ), - height: 60, - padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), - child: Row( - children: [ - Image.asset( - getCryptoCurrencyIconForWalletListItem( - wallet.type, - ), - width: 32, - height: 32, - ), - const SizedBox(width: 16), - Text( - wallet.name, - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 18, - fontWeight: FontWeight.w700, - color: Theme.of(context).colorScheme.onSurface, - letterSpacing: 0.0, - ), - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - ], - ), - ), - ); - }, - ), - ), - ], - ), - ); - }, - ), - ); - } -} diff --git a/lib/src/widgets/cake_scrollbar.dart b/lib/src/widgets/cake_scrollbar.dart deleted file mode 100644 index 4ce7f0085..000000000 --- a/lib/src/widgets/cake_scrollbar.dart +++ /dev/null @@ -1,49 +0,0 @@ -import 'package:flutter/material.dart'; - -class CakeScrollbar extends StatelessWidget { - CakeScrollbar({ - required this.backgroundHeight, - required this.thumbHeight, - required this.fromTop, - this.rightOffset = 6, - this.backgroundColor, - this.thumbColor, - this.width = 6, - }); - - final double backgroundHeight; - final double thumbHeight; - final double fromTop; - final double width; - final double rightOffset; - final Color? backgroundColor; - final Color? thumbColor; - - @override - Widget build(BuildContext context) { - return Positioned( - right: rightOffset, - child: Container( - height: backgroundHeight, - width: width, - decoration: BoxDecoration( - color: backgroundColor ?? Theme.of(context).colorScheme.surfaceContainerHighest, - borderRadius: BorderRadius.all(Radius.circular(3))), - child: Stack( - children: [ - AnimatedPositioned( - duration: Duration(milliseconds: 0), - top: fromTop, - child: Container( - height: thumbHeight, - width: width, - decoration: BoxDecoration( - color: thumbColor ?? Theme.of(context).colorScheme.primary, - borderRadius: BorderRadius.all(Radius.circular(3))), - ), - ) - ], - ), - )); - } -} diff --git a/lib/src/widgets/discount_badge.dart b/lib/src/widgets/discount_badge.dart deleted file mode 100644 index 9d5a26db2..000000000 --- a/lib/src/widgets/discount_badge.dart +++ /dev/null @@ -1,36 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:cake_wallet/generated/i18n.dart'; - -class DiscountBadge extends StatelessWidget { - const DiscountBadge({ - Key? key, - required this.percentage, - this.discountBackground, - this.isAmount = false, - }) : super(key: key); - - final double percentage; - final bool isAmount; - final AssetImage? discountBackground; - - @override - Widget build(BuildContext context) { - return Container( - padding: EdgeInsets.symmetric(horizontal: 8, vertical: 4), - child: Text( - isAmount - ? '\$${percentage.toStringAsFixed(2)}' - : S.of(context).discount(percentage.toStringAsFixed(2)), - style: Theme.of(context).textTheme.bodySmall?.copyWith( - fontWeight: FontWeight.w500, - ), - ), - decoration: BoxDecoration( - image: DecorationImage( - fit: BoxFit.fill, - image: discountBackground ?? AssetImage('assets/images/badge_discount.png'), - ), - ), - ); - } -} diff --git a/lib/src/widgets/evm_switcher.dart b/lib/src/widgets/evm_switcher.dart deleted file mode 100644 index 0e9799af5..000000000 --- a/lib/src/widgets/evm_switcher.dart +++ /dev/null @@ -1,349 +0,0 @@ -import 'package:cake_wallet/evm/evm.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; - -import 'evm_switcher_row.dart'; - -class EvmSwitcherDataItem { - final String name; - final String svgPath; - final int chainId; - - const EvmSwitcherDataItem({ - required this.name, - required this.svgPath, - required this.chainId, - }); -} - -String _getSvgPathForChain(String chainName) { - final name = chainName.toLowerCase(); - - switch (name) { - case 'ethereum': - return 'assets/new-ui/crypto_full_icons/ethereum.svg'; - case 'polygon': - return 'assets/new-ui/crypto_full_icons/polygon.svg'; - case 'arbitrum': - return 'assets/new-ui/crypto_full_icons/arbitrum.svg'; - case 'base': - return 'assets/new-ui/crypto_full_icons/base.svg'; - case 'bnb': - case 'bsc': - return 'assets/new-ui/crypto_full_icons/bnb.svg'; - default: - return 'assets/new-ui/crypto_full_icons/ethereum.svg'; - } -} - -class EvmSwitcher extends StatefulWidget { - const EvmSwitcher({ - super.key, - required this.chains, - required this.currentChain, - required this.onChainSelected, - required this.hiddenChainIds, - required this.onHiddenChanged, - }); - - final List chains; - final ChainInfo? currentChain; - final Future Function(int chainId) onChainSelected; - final Set hiddenChainIds; - final void Function(Set hiddenChainIds) onHiddenChanged; - - static const editModeAnimDuration = Duration(milliseconds: 200); - - @override - State createState() => _EvmSwitcherState(); -} - -class _EvmSwitcherState extends State { - bool _editMode = false; - var optionsEnabled = []; - - @override - void initState() { - super.initState(); - _syncOptionsEnabled(); - } - - @override - void didUpdateWidget(covariant EvmSwitcher oldWidget) { - super.didUpdateWidget(oldWidget); - if (oldWidget.chains != widget.chains || - !_hiddenSetsEqual(oldWidget.hiddenChainIds, widget.hiddenChainIds)) { - _syncOptionsEnabled(); - } - } - - void _syncOptionsEnabled() { - optionsEnabled = widget.chains - .map((chain) => !widget.hiddenChainIds.contains(chain.chainId)) - .toList(growable: false); - } - - bool _hiddenSetsEqual(Set a, Set b) => a.length == b.length && a.containsAll(b); - - int get _selectedIndex { - if (widget.currentChain == null) return -1; - return widget.chains.indexWhere( - (chain) => chain.chainId == widget.currentChain!.chainId, - ); - } - - bool shouldBuildSeparator(int index) { - final nextEnabled = optionsEnabled.indexWhere( - (e) => e, - index + 1, - ); - - return index != _selectedIndex && - optionsEnabled[index] && - nextEnabled != _selectedIndex && - nextEnabled != -1; - } - - Set _currentHiddenChainIds() { - final hidden = {}; - for (var i = 0; i < widget.chains.length; i++) { - if (i < optionsEnabled.length && !optionsEnabled[i]) { - hidden.add(widget.chains[i].chainId); - } - } - return hidden; - } - - @override - Widget build(BuildContext context) { - final double popupWidth = MediaQuery.of(context).size.width * 0.9; - return Center( - child: Column( - spacing: 25.0, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - _editMode ? "Customize options" : "Select Network", - style: TextStyle(fontSize: 16, fontWeight: FontWeight.w500), - ), - ClipRRect( - borderRadius: BorderRadius.circular(20), - child: Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(20), - color: Theme.of(context).colorScheme.surfaceContainer, - ), - child: AnimatedContainer( - duration: EvmSwitcher.editModeAnimDuration, - width: popupWidth, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - AnimatedSize( - curve: Curves.easeOutCubic, - duration: EvmSwitcher.editModeAnimDuration, - child: Container( - width: _editMode ? 0 : popupWidth, - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - ListView.separated( - shrinkWrap: true, - physics: const NeverScrollableScrollPhysics(), - itemBuilder: (context, index) { - if (optionsEnabled[index]) { - final chain = widget.chains[index]; - final data = EvmSwitcherDataItem( - name: chain.name, - svgPath: _getSvgPathForChain(chain.name), - chainId: chain.chainId, - ); - return EvmSwitcherRow( - key: ValueKey(chain.chainId), - data: data, - editMode: false, - selected: index == _selectedIndex, - onTap: () { - widget.onChainSelected(chain.chainId); - if (mounted) { - Navigator.of(context).pop(); - } - }, - editSwitchValue: true, - animDuration: EvmSwitcher.editModeAnimDuration, - ); - } else { - return Container(); - } - }, - separatorBuilder: (context, index) { - if (shouldBuildSeparator(index)) - return Padding( - padding: const EdgeInsets.symmetric(horizontal: 18), - child: Container( - height: 1, - width: double.infinity, - color: - Theme.of(context).colorScheme.surfaceContainerHigh, - )); - else - return Container(height: 1); - }, - itemCount: widget.chains.length), - EvmSwitcherAdditionalOption( - title: "Customize options", - svgPath: "assets/images/evm_switcher_arrow_right.svg", - animDuration: EvmSwitcher.editModeAnimDuration, - topSeparator: true, - bottomSeparator: false, - visible: true, - onTap: () { - setState(() { - _editMode = true; - }); - }, - iconOnRight: true) - ], - ), - ), - ), - AnimatedSize( - curve: Curves.easeOutCubic, - duration: EvmSwitcher.editModeAnimDuration, - child: Container( - width: _editMode ? popupWidth : 0, - height: _editMode ? null : 0, - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - EvmSwitcherAdditionalOption( - title: "Back", - svgPath: "assets/images/evm_switcher_arrow_left.svg", - animDuration: EvmSwitcher.editModeAnimDuration, - topSeparator: false, - bottomSeparator: true, - visible: true, - onTap: () { - setState(() { - _editMode = false; - }); - }, - iconOnRight: false), - ListView.separated( - shrinkWrap: true, - physics: const NeverScrollableScrollPhysics(), - itemBuilder: (context, index) { - final chain = widget.chains[index]; - final data = EvmSwitcherDataItem( - name: chain.name, - svgPath: _getSvgPathForChain(chain.name), - chainId: chain.chainId, - ); - return EvmSwitcherRow( - key: ValueKey(chain.chainId), - data: data, - editMode: _editMode, - selected: index == _selectedIndex, - onTap: () { - setState(() { - optionsEnabled[index] = !optionsEnabled[index]; - }); - widget.onHiddenChanged( - _currentHiddenChainIds(), - ); - }, - editSwitchValue: optionsEnabled[index], - animDuration: EvmSwitcher.editModeAnimDuration, - ); - }, - separatorBuilder: (context, index) { - return Padding( - padding: const EdgeInsets.symmetric(horizontal: 18), - child: Container( - height: 1, - width: double.infinity, - color: Theme.of(context).colorScheme.surfaceContainerHigh, - )); - }, - itemCount: widget.chains.length), - ], - ), - ), - ), - ], - )), - ), - ), - ], - ), - ); - } -} - -class EvmSwitcherAdditionalOption extends StatelessWidget { - const EvmSwitcherAdditionalOption( - {super.key, - required this.title, - required this.svgPath, - required this.animDuration, - required this.topSeparator, - required this.bottomSeparator, - required this.visible, - required this.onTap, - required this.iconOnRight}); - - final String title; - final String svgPath; - final Duration animDuration; - final bool topSeparator; - final bool bottomSeparator; - final bool visible; - final VoidCallback onTap; - final bool iconOnRight; - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: onTap, - behavior: HitTestBehavior.translucent, - child: Container( - child: Column( - mainAxisSize: MainAxisSize.max, - children: [ - if (topSeparator) - Padding( - padding: const EdgeInsets.symmetric(horizontal: 18), - child: Container( - height: 1, - width: double.infinity, - color: Theme.of(context).colorScheme.surfaceContainerHigh, - )), - Padding( - padding: const EdgeInsets.all(18), - child: Row( - mainAxisSize: MainAxisSize.max, - spacing: 8.0, - children: [ - if (!iconOnRight) SvgPicture.asset(svgPath, width: 16, height: 16), - Text( - title, - style: TextStyle(color: Theme.of(context).colorScheme.primary), - ), - if (iconOnRight) SvgPicture.asset(svgPath, width: 16, height: 16), - ], - ), - ), - if (bottomSeparator) - Padding( - padding: const EdgeInsets.symmetric(horizontal: 18), - child: Container( - height: 1, - width: double.infinity, - color: Theme.of(context).colorScheme.surfaceContainerHigh, - )), - ], - ), - ), - ); - } -} diff --git a/lib/src/widgets/evm_switcher_row.dart b/lib/src/widgets/evm_switcher_row.dart deleted file mode 100644 index d1c269be4..000000000 --- a/lib/src/widgets/evm_switcher_row.dart +++ /dev/null @@ -1,72 +0,0 @@ -import 'package:cake_wallet/src/widgets/cake_image_widget.dart'; -import 'package:cake_wallet/src/widgets/evm_switcher.dart'; -import 'package:cake_wallet/src/widgets/standard_switch.dart'; -import 'package:flutter/material.dart'; - -class EvmSwitcherRow extends StatelessWidget { - const EvmSwitcherRow({ - super.key, - required this.editMode, - required this.selected, - required this.data, - required this.onTap, - required this.animDuration, - required this.editSwitchValue, - }); - - final bool editMode; - final bool selected; - final EvmSwitcherDataItem data; - final VoidCallback onTap; - final Duration animDuration; - final bool editSwitchValue; - - @override - Widget build(BuildContext context) { - final Color resolvedForegroundColor = editMode || selected - ? Theme.of(context).colorScheme.onSurface - : Theme.of(context).colorScheme.primary; - - final Color resolvedBackgroundColor = !editMode && selected - ? Theme.of(context).colorScheme.surfaceContainerHighest - : Theme.of(context).colorScheme.surfaceContainerHighest.withAlpha(0); - - return GestureDetector( - onTap: onTap, - child: AnimatedContainer( - duration: animDuration, - color: resolvedBackgroundColor, - child: Padding( - padding: const EdgeInsets.all(18.0), - child: Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Row( - spacing: 8.0, - children: [ - CakeImageWidget( - imageUrl: data.svgPath, - width: 16, - height: 16, - ), - Text( - data.name, - style: TextStyle(color: resolvedForegroundColor, fontSize: 14), - ), - if (selected && !editMode) - CakeImageWidget( - imageUrl: "assets/images/evm_switcher_checkmark.svg", - width: 18, - height: 18, - ), - ], - ), - if (editMode) StandardSwitch(value: editSwitchValue, onTapped: onTap) - ], - ), - ), - ), - ); - } -} diff --git a/lib/src/widgets/haven_wallet_removal_popup.dart b/lib/src/widgets/haven_wallet_removal_popup.dart deleted file mode 100644 index 4e3793aba..000000000 --- a/lib/src/widgets/haven_wallet_removal_popup.dart +++ /dev/null @@ -1,84 +0,0 @@ -import 'package:cake_wallet/src/widgets/alert_background.dart'; -import 'package:cake_wallet/src/widgets/alert_close_button.dart'; -import 'package:flutter/material.dart'; - -class HavenWalletRemovalPopup extends StatelessWidget { - final List affectedWalletNames; - - const HavenWalletRemovalPopup(this.affectedWalletNames, {Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Stack( - alignment: Alignment.center, - children: [ - AlertBackground( - child: AlertDialog( - insetPadding: EdgeInsets.only(left: 16, right: 16, bottom: 48), - elevation: 0.0, - contentPadding: EdgeInsets.zero, - shape: RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(30))), - content: Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(30.0), - gradient: LinearGradient(colors: [ - Theme.of(context).colorScheme.primaryContainer, - Theme.of(context).colorScheme.secondaryContainer, - ], begin: Alignment.centerLeft, end: Alignment.centerRight)), - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 24.0), - child: Stack( - children: [ - SingleChildScrollView( - child: Padding( - padding: const EdgeInsets.only(top: 16.0), - child: Container( - alignment: Alignment.bottomCenter, - child: DefaultTextStyle( - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - decoration: TextDecoration.none, - fontSize: 24.0, - fontWeight: FontWeight.bold, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - child: Text("Emergency Notice"), - ), - ), - ), - ), - SingleChildScrollView( - child: Padding( - padding: EdgeInsets.only(top: 48, bottom: 16), - child: Container( - width: double.maxFinite, - child: Column( - children: [ - ConstrainedBox( - constraints: BoxConstraints( - maxHeight: MediaQuery.of(context).size.height * 0.7, - ), - child: Text( - "It looks like you have Haven wallets in your list. Haven is getting removed in next release of Cake Wallet, and you currently have Haven in the following wallets:\n\n[${affectedWalletNames.join(", ")}]\n\nPlease move your funds to other wallet, as you will lose access to your Haven funds in next update.\n\nFor assistance, please use the in-app support or email support@cakewallet.com", - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - decoration: TextDecoration.none, - fontSize: 16.0, - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - ) - ], - ), - ), - ), - ), - ], - ), - ), - ), - ), - ), - AlertCloseButton(bottom: 30) - ], - ); - } -} diff --git a/lib/src/widgets/introducing_card.dart b/lib/src/widgets/introducing_card.dart deleted file mode 100644 index a03e77053..000000000 --- a/lib/src/widgets/introducing_card.dart +++ /dev/null @@ -1,93 +0,0 @@ -import 'package:auto_size_text/auto_size_text.dart'; -import 'package:flutter/material.dart'; -import 'package:cake_wallet/generated/i18n.dart'; - -class IntroducingCard extends StatelessWidget { - IntroducingCard( - {required this.borderColor, - required this.closeCard, - required this.title, - required this.subTitle}); - - final String title; - final String subTitle; - final Color borderColor; - final Function() closeCard; - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.fromLTRB(16, 0, 16, 16), - child: Container( - width: double.infinity, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(30.0), - border: Border.all( - color: borderColor, - width: 1, - ), - color: Theme.of(context).colorScheme.surfaceContainer, - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Expanded( - flex: 1, - child: MergeSemantics( - child: Padding( - padding: const EdgeInsets.all(24), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - AutoSizeText( - title, - style: Theme.of(context).textTheme.headlineSmall?.copyWith( - fontWeight: FontWeight.bold, - height: 1, - ), - maxLines: 1, - textAlign: TextAlign.center, - ), - SizedBox(height: 14), - Text( - subTitle, - textAlign: TextAlign.left, - style: Theme.of(context).textTheme.bodySmall, - ), - ], - ), - ), - ), - ), - Padding( - padding: const EdgeInsets.fromLTRB(0, 16, 16, 0), - child: Semantics( - label: S.of(context).close, - child: GestureDetector( - onTap: closeCard, - child: Container( - height: 23, - width: 23, - decoration: BoxDecoration( - color: Theme.of(context).colorScheme.surfaceContainer, - shape: BoxShape.circle, - ), - child: Center( - child: Image.asset( - 'assets/images/x.png', - color: Theme.of(context).colorScheme.onSurface, - height: 15, - width: 15, - ), - ), - ), - ), - ), - ) - ], - ), - ), - ); - } -} diff --git a/lib/src/widgets/picker_inner_wrapper_widget.dart b/lib/src/widgets/picker_inner_wrapper_widget.dart deleted file mode 100644 index 5714719f4..000000000 --- a/lib/src/widgets/picker_inner_wrapper_widget.dart +++ /dev/null @@ -1,90 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:cake_wallet/src/widgets/picker_wrapper_widget.dart'; -import 'package:cake_wallet/utils/responsive_layout_util.dart'; - -class PickerInnerWrapperWidget extends StatelessWidget { - PickerInnerWrapperWidget({required this.children, this.title, this.itemsHeight}); - - final List children; - final String? title; - final double? itemsHeight; - - @override - Widget build(BuildContext context) { - final mq = MediaQuery.of(context); - final bottom = mq.viewInsets.bottom; - final height = mq.size.height - bottom; - - double containerHeight = height * 0.65; - if (bottom > 0) { - // increase a bit or it gets too squished in the top - containerHeight = height * 0.75; - } - - if (title != null) { - return PickerWrapperWidget( - hasTitle: true, - children: [ - Container( - padding: EdgeInsets.symmetric(horizontal: 24), - child: Text( - title!, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.titleMedium?.copyWith( - fontWeight: FontWeight.bold, - fontSize: 18, - decoration: TextDecoration.none, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - ), - SizedBox(height: 8), - Padding( - padding: EdgeInsets.symmetric(horizontal: 24), - child: ClipRRect( - borderRadius: BorderRadius.all(Radius.circular(14)), - child: Container( - color: Theme.of(context).colorScheme.surfaceContainerHighest, - child: ConstrainedBox( - constraints: BoxConstraints( - maxHeight: itemsHeight != null && itemsHeight! <= containerHeight - ? itemsHeight! - : containerHeight, - maxWidth: ResponsiveLayoutUtilBase.kPopupWidth, - ), - child: Column( - children: children, - ), - ), - ), - ), - ) - ], - ); - } - - return PickerWrapperWidget( - hasTitle: false, - children: [ - Padding( - padding: EdgeInsets.symmetric(horizontal: 24), - child: ClipRRect( - borderRadius: BorderRadius.all(Radius.circular(14)), - child: Container( - color: Theme.of(context).colorScheme.surfaceContainerHighest, - child: ConstrainedBox( - constraints: BoxConstraints( - maxHeight: containerHeight, - maxWidth: ResponsiveLayoutUtilBase.kPopupWidth, - ), - child: Column( - children: children, - ), - ), - ), - ), - ) - ], - ); - } -} diff --git a/lib/src/widgets/service_status_tile.dart b/lib/src/widgets/service_status_tile.dart deleted file mode 100644 index 1b7b320a4..000000000 --- a/lib/src/widgets/service_status_tile.dart +++ /dev/null @@ -1,73 +0,0 @@ -import 'package:auto_size_text/auto_size_text.dart'; -import 'package:cake_wallet/entities/service_status.dart'; -import 'package:cake_wallet/themes/core/custom_theme_colors.dart'; -import 'package:flutter/material.dart'; -import 'package:intl/intl.dart'; - -class ServiceStatusTile extends StatelessWidget { - final ServiceStatus status; - - const ServiceStatusTile(this.status, {super.key}); - - @override - Widget build(BuildContext context) { - return ListTile( - contentPadding: const EdgeInsets.all(8), - title: Padding( - padding: const EdgeInsets.symmetric(vertical: 8), - child: Row( - crossAxisAlignment: CrossAxisAlignment.end, - children: [ - Expanded( - child: AutoSizeText( - "${status.title}${status.status != null ? " - ${status.status}" : ""}", - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontSize: 16, - fontWeight: FontWeight.w800, - height: 1, - ), - maxLines: 1, - textAlign: TextAlign.start, - ), - ), - Text( - _getTimeString(status.date), - style: Theme.of(context).textTheme.bodySmall, - ), - ], - ), - ), - leading: RotatedBox( - child: Icon( - Icons.info, - color: status.status == "resolved" - ? CustomThemeColors.syncGreen - : Theme.of(context).colorScheme.errorContainer, - ), - quarterTurns: 2, - ), - subtitle: Row( - children: [ - Expanded(child: Text(status.description)), - if (status.image != null) - SizedBox( - height: 50, - width: 50, - child: Image.network(status.image!), - ), - ], - ), - ); - } - - String _getTimeString(DateTime date) { - int difference = DateTime.now().difference(date).inHours; - if (difference == 0) { - return "few minutes ago"; - } - if (difference < 24) { - return DateFormat('h:mm a').format(date); - } - return DateFormat('d-MM-yyyy').format(date); - } -} diff --git a/lib/src/widgets/services_updates_widget.dart b/lib/src/widgets/services_updates_widget.dart deleted file mode 100644 index 19f167467..000000000 --- a/lib/src/widgets/services_updates_widget.dart +++ /dev/null @@ -1,158 +0,0 @@ -import 'package:cake_wallet/di.dart'; -import 'package:cake_wallet/entities/preferences_key.dart'; -import 'package:cake_wallet/entities/service_status.dart'; -import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/widgets/alert_with_one_action.dart'; -import 'package:cake_wallet/src/widgets/cake_image_widget.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; -import 'package:cake_wallet/src/widgets/service_status_tile.dart'; -import 'package:cake_wallet/utils/device_info.dart'; -import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:flutter/material.dart'; -import 'package:shared_preferences/shared_preferences.dart'; -import 'package:url_launcher/url_launcher.dart'; - -class ServicesUpdatesWidget extends StatefulWidget { - final Future servicesResponse; - final bool enabled; - - const ServicesUpdatesWidget(this.servicesResponse, {super.key, required this.enabled}); - - @override - State createState() => _ServicesUpdatesWidgetState(); -} - -class _ServicesUpdatesWidgetState extends State { - bool wasOpened = false; - - @override - Widget build(BuildContext context) { - if (!widget.enabled) { - return InkWell( - onTap: () async { - await showPopUp( - context: context, - builder: (BuildContext context) { - return AlertWithOneAction( - alertTitle: S.current.service_health_disabled, - alertContent: S.current.service_health_disabled_message, - buttonText: S.current.ok, - buttonAction: () => Navigator.of(context).pop(), - ); - }); - }, - child: CakeImageWidget( - imageUrl: "assets/images/notif.svg", - color: Theme.of(context).colorScheme.primary, - width: DeviceInfo.instance.isDesktop ? 30 : 20, - ), - ); - } - return Padding( - padding: DeviceInfo.instance.isDesktop - ? EdgeInsets.zero - : EdgeInsets.only(left: 16, top: 12, right: 8, bottom: 8), - child: FutureBuilder( - future: widget.servicesResponse, - builder: (context, state) { - return InkWell( - onTap: state.hasData - ? () { - // save currentSha when the user see the status - getIt - .get() - .setString(PreferencesKey.serviceStatusShaKey, state.data!.currentSha); - - setState(() => wasOpened = true); - - showModalBottomSheet( - backgroundColor: Theme.of(context).colorScheme.surface, - context: context, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.only( - topLeft: Radius.circular(50), - topRight: Radius.circular(50), - ), - ), - constraints: BoxConstraints( - maxHeight: MediaQuery.of(context).size.height / 2, - minHeight: MediaQuery.of(context).size.height / 4, - ), - builder: (context) { - Widget body; - if (state.data!.servicesStatus.isEmpty) { - body = Center( - child: Text( - "Everything is up and running as expected", - style: Theme.of(context).textTheme.bodyMedium, - ), - ); - } else { - body = SingleChildScrollView( - child: Column( - children: state.data!.servicesStatus - .map((status) => ServiceStatusTile(status)) - .toList(), - ), - ); - } - return Padding( - padding: const EdgeInsets.symmetric(horizontal: 12), - child: Column( - children: [ - Expanded(child: body), - Align( - alignment: Alignment.bottomCenter, - child: Padding( - padding: EdgeInsets.symmetric( - horizontal: 24, - vertical: 20, - ), - child: PrimaryButton( - onPressed: () { - try { - launchUrl( - Uri.parse( - "https://status.cakewallet.com/", - ), - mode: LaunchMode.externalApplication); - } catch (_) {} - }, - text: "Status Website", - color: Theme.of(context).colorScheme.primary, - textColor: Theme.of(context).colorScheme.onPrimary, - ), - ), - ) - ], - ), - ); - }, - ); - } - : null, - child: Stack( - children: [ - CakeImageWidget( - imageUrl: "assets/images/notif.svg", - color: Theme.of(context).colorScheme.primary, - width: DeviceInfo.instance.isDesktop ? 30 : 20, - ), - if (state.hasData && state.data!.hasUpdates && !wasOpened) - Container( - height: 7, - width: 7, - margin: EdgeInsetsDirectional.only(start: 15), - decoration: BoxDecoration( - color: Theme.of(context).colorScheme.errorContainer, - shape: BoxShape.circle, - ), - ), - ], - ), - ); - }, - ), - ); - } -} diff --git a/lib/src/widgets/simple_checkbox.dart b/lib/src/widgets/simple_checkbox.dart deleted file mode 100644 index 93d7b8abc..000000000 --- a/lib/src/widgets/simple_checkbox.dart +++ /dev/null @@ -1,34 +0,0 @@ -import 'package:flutter/material.dart'; - -class SimpleCheckbox extends StatefulWidget { - SimpleCheckbox({this.onChanged}); - - final Function(bool)? onChanged; - - @override - State createState() => _SimpleCheckboxState(); -} - -class _SimpleCheckboxState extends State { - bool initialValue = false; - - @override - Widget build(BuildContext context) { - return SizedBox( - height: 24.0, - width: 24.0, - child: Checkbox( - value: initialValue, - onChanged: (value) => setState(() { - initialValue = value!; - widget.onChanged?.call(value); - }), - checkColor: Theme.of(context).textTheme.titleLarge!.color, - activeColor: Colors.transparent, - materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, - side: WidgetStateBorderSide.resolveWith((states) => - BorderSide(color: Theme.of(context).textTheme.titleLarge!.color!, width: 1.0)), - ), - ); - } -} diff --git a/lib/src/widgets/tab_view_wrapper_widget.dart b/lib/src/widgets/tab_view_wrapper_widget.dart index 4fbf2a31d..eb5f669da 100644 --- a/lib/src/widgets/tab_view_wrapper_widget.dart +++ b/lib/src/widgets/tab_view_wrapper_widget.dart @@ -41,7 +41,6 @@ class _TabViewWrapperState extends State with SingleTickerProvid Widget build(BuildContext context) { final textStyle = TextStyle( fontSize: 18, - fontFamily: 'Lato', fontWeight: FontWeight.w600, color: Theme.of(context).colorScheme.onSurface); diff --git a/lib/src/widgets/template_tile.dart b/lib/src/widgets/template_tile.dart deleted file mode 100644 index 3fda11b7c..000000000 --- a/lib/src/widgets/template_tile.dart +++ /dev/null @@ -1,159 +0,0 @@ -import 'package:cake_wallet/themes/core/custom_theme_colors.dart'; -import 'package:flutter/material.dart'; - -class TemplateTile extends StatefulWidget { - TemplateTile({ - Key? key, - required this.to, - required this.amount, - required this.from, - required this.onTap, - required this.onRemove, - this.hasMultipleRecipients, - }) : super(key: key); - - final String to; - final String amount; - final String from; - final VoidCallback onTap; - final VoidCallback onRemove; - final bool? hasMultipleRecipients; - - @override - TemplateTileState createState() => TemplateTileState(to, amount, from, onTap, onRemove); -} - -class TemplateTileState extends State { - TemplateTileState(this.to, this.amount, this.from, this.onTap, this.onRemove); - - final String to; - final String amount; - final String from; - final VoidCallback onTap; - final VoidCallback onRemove; - - bool isRemovable = false; - - @override - Widget build(BuildContext context) { - final toIcon = Image.asset( - 'assets/images/to_icon.png', - color: Theme.of(context).colorScheme.onSurface, - ); - - final content = Row( - mainAxisAlignment: MainAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: widget.hasMultipleRecipients ?? false - ? [ - Text( - to, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontSize: 16, - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - ] - : [ - Text( - amount, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontSize: 16, - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - Padding( - padding: EdgeInsets.only(left: 5), - child: Text( - from, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontSize: 16, - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - ), - Padding( - padding: EdgeInsets.only(left: 5), - child: toIcon, - ), - Padding( - padding: EdgeInsets.only(left: 5), - child: Text( - to, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - fontSize: 16, - fontWeight: FontWeight.w600, - color: Theme.of(context).colorScheme.onSurface, - ), - ), - ), - ], - ); - - final tile = Container( - padding: EdgeInsets.only(right: 10), - child: ClipRRect( - borderRadius: BorderRadius.all(Radius.circular(12)), - child: GestureDetector( - onTap: onTap, - onLongPress: () { - setState(() { - isRemovable = true; - }); - }, - child: Container( - height: 40, - padding: EdgeInsets.only(left: 24, right: 24), - color: Theme.of(context).colorScheme.surfaceContainerHighest, - child: content, - ), - ), - )); - - final removableTile = Container( - padding: EdgeInsets.only(right: 10), - child: ClipRRect( - borderRadius: BorderRadius.all(Radius.circular(12)), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - GestureDetector( - onTap: () { - setState(() { - isRemovable = false; - }); - }, - child: Container( - height: 40, - padding: EdgeInsets.only(left: 24, right: 10), - color: CustomThemeColors.syncYellow, - child: content, - ), - ), - GestureDetector( - onTap: onRemove, - child: Container( - height: 40, - width: 44, - color: Theme.of(context).colorScheme.errorContainer, - child: Center( - child: Image.asset( - 'assets/images/trash.png', - height: 16, - width: 16, - color: Theme.of(context).colorScheme.onErrorContainer, - ), - ), - ), - ) - ], - ), - ), - ); - - return isRemovable ? removableTile : tile; - } -} diff --git a/lib/store/templates/exchange_template_store.dart b/lib/store/templates/exchange_template_store.dart deleted file mode 100644 index 97e1f41dc..000000000 --- a/lib/store/templates/exchange_template_store.dart +++ /dev/null @@ -1,50 +0,0 @@ -import 'dart:async'; -import 'package:mobx/mobx.dart'; -import 'package:hive/hive.dart'; -import 'package:cake_wallet/exchange/exchange_template.dart'; - -part 'exchange_template_store.g.dart'; - -class ExchangeTemplateStore = ExchangeTemplateBase with _$ExchangeTemplateStore; - -abstract class ExchangeTemplateBase with Store { - ExchangeTemplateBase({required this.templateSource}) - : templates = ObservableList() { - templates = ObservableList(); - update(); - } - - @observable - ObservableList templates; - - Box templateSource; - - @action - void update() => templates.replaceRange(0, templates.length, templateSource.values.toList()); - - @action - Future addTemplate({ - required String amount, - required String depositCurrency, - required String receiveCurrency, - required String provider, - required String depositAddress, - required String receiveAddress, - required String depositCurrencyTitle, - required String receiveCurrencyTitle, - }) async { - final template = ExchangeTemplate( - amountRaw: amount, - depositCurrencyRaw: depositCurrency, - receiveCurrencyRaw: receiveCurrency, - providerRaw: provider, - depositAddressRaw: depositAddress, - receiveAddressRaw: receiveAddress, - depositCurrencyTitleRaw: depositCurrencyTitle, - receiveCurrencyTitleRaw: receiveCurrencyTitle); - await templateSource.add(template); - } - - @action - Future remove({required ExchangeTemplate template}) async => await template.delete(); -} diff --git a/lib/store/templates/send_template_store.dart b/lib/store/templates/send_template_store.dart deleted file mode 100644 index a1fff698e..000000000 --- a/lib/store/templates/send_template_store.dart +++ /dev/null @@ -1,47 +0,0 @@ -import 'dart:async'; -import 'package:mobx/mobx.dart'; -import 'package:hive/hive.dart'; -import 'package:cake_wallet/entities/template.dart'; - -part 'send_template_store.g.dart'; - -class SendTemplateStore = SendTemplateBase with _$SendTemplateStore; - -abstract class SendTemplateBase with Store { - SendTemplateBase({required this.templateSource}) : templates = ObservableList

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