From ae0f4779e3c3a8b71f73d51aa348e8660a50ec20 Mon Sep 17 00:00:00 2001 From: zhangmeng <1334717033@qq.com> Date: Fri, 17 Feb 2023 16:14:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=202023=E5=B9=B42=E6=9C=8817?= =?UTF-8?q?=E6=97=A516:14:28?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/controller/HomeController.java | 89 ++++++++++++--- .../tools/controller/MusicController.java | 6 +- .../tools/controller/PlayerController.java | 104 +++++++++++++++--- .../com/zhangmeng/tools/utils/ImagePath.java | 27 +++++ src/main/resources/static/svg/md5.png | Bin 0 -> 15610 bytes .../resources/static/svg/music-player.png | Bin 0 -> 9900 bytes .../resources/static/svg/spring-security.png | Bin 0 -> 15128 bytes .../resources/static/svg/video-player.png | Bin 0 -> 9064 bytes src/main/resources/static/svg/vip-player.png | Bin 0 -> 9677 bytes 9 files changed, 195 insertions(+), 31 deletions(-) create mode 100644 src/main/resources/static/svg/md5.png create mode 100644 src/main/resources/static/svg/music-player.png create mode 100644 src/main/resources/static/svg/spring-security.png create mode 100644 src/main/resources/static/svg/video-player.png create mode 100644 src/main/resources/static/svg/vip-player.png diff --git a/src/main/java/com/zhangmeng/tools/controller/HomeController.java b/src/main/java/com/zhangmeng/tools/controller/HomeController.java index 3e0cfc7..ba1655e 100644 --- a/src/main/java/com/zhangmeng/tools/controller/HomeController.java +++ b/src/main/java/com/zhangmeng/tools/controller/HomeController.java @@ -1,5 +1,6 @@ package com.zhangmeng.tools.controller; +import com.zhangmeng.tools.utils.ImagePath; import com.zhangmeng.tools.utils.ResourcesUtils; import javafx.beans.property.SimpleDoubleProperty; import javafx.beans.property.SimpleObjectProperty; @@ -9,12 +10,19 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; +import javafx.geometry.Pos; import javafx.scene.Node; import javafx.scene.Scene; import javafx.scene.control.*; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.BorderPane; +import javafx.scene.layout.HBox; +import javafx.scene.paint.Paint; +import javafx.scene.text.Font; import javafx.stage.Stage; +import javafx.util.Callback; import lombok.extern.slf4j.Slf4j; import java.io.IOException; @@ -33,6 +41,8 @@ public class HomeController implements Serializable { private SimpleDoubleProperty height = new SimpleDoubleProperty(0.0); private AnchorPane root; + public static final String color_cell = "#f4f4f4"; + @FXML private ListView listView; @@ -40,31 +50,31 @@ public class HomeController implements Serializable { private SplitPane splitPane; @FXML - public void md5_menu_item(){ + public void md5_menu_item() { md5(); } @FXML - public void spring_security_menu_item(){ + public void spring_security_menu_item() { spring(); } @FXML - public void video_menu_item(){ + public void video_menu_item() { load_player(0); } @FXML - public void music_menu_item(){ + public void music_menu_item() { load_player(1); } @FXML - public void vip_parser_menu_item(){ + public void vip_parser_menu_item() { load_player(2); } - public void load_player(int index){ + public void load_player(int index) { AnchorPane fx = null; try { fx = FXMLLoader.load(ResourcesUtils.getResource("player")); @@ -85,25 +95,78 @@ public class HomeController implements Serializable { init(); listView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> { if (newValue != null) { - if (newValue.getIndex() == 0 ){ + if (newValue.getIndex() == 0) { md5(); } - if (newValue.getIndex() == 1 ){ + if (newValue.getIndex() == 1) { spring(); } } }); } + public static Image getImage(ResourcesUtils.Menu player){ + return switch (player){ + case Md5 -> new Image(ImagePath.path(ImagePath.ImagePathType.MD5)); + case SpringSecurity -> new Image(ImagePath.path(ImagePath.ImagePathType.SPRING_SECURITY)); + }; + } + public void init() { ResourcesUtils.Menu[] values = ResourcesUtils.Menu.values(); ObservableList list = FXCollections.observableArrayList(); list.addAll(Arrays.asList(values)); listView.setItems(list); + listView.setFixedCellSize(40); + listView.setCellFactory(new Callback<>() { + private int position; + @Override + public ListCell call(ListView playerListView) { + Label label = new Label(); + label.setPrefWidth(100); + ListCell listCell = new ListCell<>() { + @Override + protected void updateItem(ResourcesUtils.Menu player, boolean b) { + super.updateItem(player, b); + if (!b) { + HBox hBox = new HBox(25); + hBox.setAlignment(Pos.CENTER); + label.setText(player.getTitle()); + label.setTextFill(Paint.valueOf("#000000")); + Image im = getImage(player); + ImageView iv = new ImageView(im); + iv.setPreserveRatio(true); + iv.setFitWidth(15); + hBox.getChildren().add(iv); + + hBox.getChildren().add(label); + this.setGraphic(hBox); + } + this.setStyle("-fx-background-color: " + color_cell); + } + }; + + listCell.hoverProperty().addListener((observableValue, aBoolean, t1) -> { + if (t1 && !label.getText().equals("")) { + position = playerListView.getItems().indexOf(label.getText()); + label.setFont(new Font(16)); + playerListView.getFocusModel().focus(position); + listCell.setStyle("-fx-background-color: #f6edc3"); + } else { + label.setPrefHeight(20); + label.setFont(new Font(13)); + listCell.setStyle("-fx-background-color: " + color_cell); + } + }); + + return listCell; + } + }); + md5(); } - private void spring(){ + private void spring() { listView.getSelectionModel().select(1); try { root = FXMLLoader.load(ResourcesUtils.getResource("spring-security")); @@ -113,21 +176,21 @@ public class HomeController implements Serializable { common_method(); } - private void common_method(){ + private void common_method() { splitPane.getItems().remove(1); splitPane.getItems().add(1, root); root.widthProperty().addListener((observable, oldValue, newValue) -> { if (newValue != null) { double width = splitPane.getWidth(); HomeController.this.width.set(width); - log.info("home:--->width:{}",width); + log.info("home:--->width:{}", width); } }); root.heightProperty().addListener((observable, oldValue, newValue) -> { if (newValue != null) { double height = splitPane.getHeight(); HomeController.this.height.set(height); - log.info("home:--->height:{}",height); + log.info("home:--->height:{}", height); } }); @@ -140,7 +203,7 @@ public class HomeController implements Serializable { }); } - private void md5(){ + private void md5() { //默认选择第一个 listView.getSelectionModel().select(0); try { diff --git a/src/main/java/com/zhangmeng/tools/controller/MusicController.java b/src/main/java/com/zhangmeng/tools/controller/MusicController.java index dc3d953..d9ed34a 100644 --- a/src/main/java/com/zhangmeng/tools/controller/MusicController.java +++ b/src/main/java/com/zhangmeng/tools/controller/MusicController.java @@ -592,13 +592,13 @@ public class MusicController { if (newValue.intValue() == cell.getIndex()) { if (cell.getGraphic() != null) { text = (Text)cell.getGraphic(); - text.setFont(Font.font(19.0D)); + text.setFont(Font.font(16.0D)); text.setFill(Color.DEEPSKYBLUE); } } else if (cell.getGraphic() != null) { text = (Text)cell.getGraphic(); - text.setFont(Font.font(16.0D)); - text.setFill(Color.WHITE); + text.setFont(Font.font(13.0D)); + text.setFill(Color.BLACK); } } diff --git a/src/main/java/com/zhangmeng/tools/controller/PlayerController.java b/src/main/java/com/zhangmeng/tools/controller/PlayerController.java index dd18b72..2d438bf 100644 --- a/src/main/java/com/zhangmeng/tools/controller/PlayerController.java +++ b/src/main/java/com/zhangmeng/tools/controller/PlayerController.java @@ -1,17 +1,32 @@ package com.zhangmeng.tools.controller; +import com.zhangmeng.tools.utils.ImagePath; import com.zhangmeng.tools.utils.ResourcesUtils; import javafx.beans.property.SimpleDoubleProperty; import javafx.beans.property.SimpleObjectProperty; +import javafx.beans.value.ChangeListener; +import javafx.beans.value.ObservableValue; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; +import javafx.geometry.Pos; import javafx.scene.Scene; +import javafx.scene.control.Label; +import javafx.scene.control.ListCell; import javafx.scene.control.ListView; import javafx.scene.control.SplitPane; +import javafx.scene.control.cell.TextFieldListCell; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; +import javafx.scene.layout.HBox; +import javafx.scene.paint.Paint; +import javafx.scene.text.Font; +import javafx.scene.text.Text; import javafx.stage.Stage; +import javafx.util.Callback; +import javafx.util.StringConverter; import lombok.extern.slf4j.Slf4j; import java.io.IOException; @@ -35,32 +50,34 @@ public class PlayerController { @FXML private SplitPane splitPane; + public static final String color_cell = "#f4f4f4"; + @FXML - public void md5_menu_item(){ + public void md5_menu_item() { load_encrypt(); } @FXML - public void spring_security_menu_item(){ + public void spring_security_menu_item() { load_encrypt(); } @FXML - public void video_menu_item(){ + public void video_menu_item() { video(); } @FXML - public void music_menu_item(){ + public void music_menu_item() { music(); } @FXML - public void vip_parser_menu_item(){ + public void vip_parser_menu_item() { vip_parser(); } - public void load_encrypt(){ + public void load_encrypt() { Stage stage = (Stage) splitPane.getScene().getWindow(); @@ -79,29 +96,86 @@ public class PlayerController { init(); listView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> { if (newValue != null) { - if (newValue.getIndex() == 0 ){ + if (newValue.getIndex() == 0) { video(); } - if (newValue.getIndex() == 1 ){ + if (newValue.getIndex() == 1) { music(); } - if (newValue.getIndex() == 2){ + if (newValue.getIndex() == 2) { vip_parser(); } } }); } + public static Image getImage(ResourcesUtils.Player player){ + return switch (player){ + case Video -> new Image(ImagePath.path(ImagePath.ImagePathType.VIDEO_PLAYER)); + case Music -> new Image(ImagePath.path(ImagePath.ImagePathType.MUSIC_PLAYER)); + case VipParser -> new Image(ImagePath.path(ImagePath.ImagePathType.VIP_PLAYER)); + }; + } public void init() { ResourcesUtils.Player[] values = ResourcesUtils.Player.values(); ObservableList list = FXCollections.observableArrayList(); list.addAll(Arrays.asList(values)); listView.setItems(list); + listView.setFixedCellSize(40); + listView.setCellFactory(new Callback<>() { + + private int position; + + @Override + public ListCell call(ListView playerListView) { + + Label label = new Label(); + label.setPrefWidth(100); + ListCell listCell = new ListCell<>() { + @Override + protected void updateItem(ResourcesUtils.Player player, boolean b) { + super.updateItem(player, b); + if (!b) { + HBox hBox = new HBox(30); + hBox.setAlignment(Pos.CENTER); + label.setText(player.getTitle()); + label.setTextFill(Paint.valueOf("#000000")); + Image im = getImage(player); + ImageView iv = new ImageView(im); + iv.setPreserveRatio(true); + iv.setFitWidth(15); + hBox.getChildren().add(iv); + hBox.getChildren().add(label); + this.setGraphic(hBox); + } + this.setStyle("-fx-background-color: " + color_cell); + } + }; + + listCell.hoverProperty().addListener(new ChangeListener() { + @Override + public void changed(ObservableValue observableValue, Boolean aBoolean, Boolean t1) { + if (t1 && !label.getText().equals("")) { + position = playerListView.getItems().indexOf(label.getText()); + label.setFont(new Font(16)); + playerListView.getFocusModel().focus(position); + listCell.setStyle("-fx-background-color: #f6edc3"); + }else { + label.setPrefHeight(20); + label.setFont(new Font(13)); + listCell.setStyle("-fx-background-color: " + color_cell); + } + } + }); + + return listCell; + } + }); video(); } - private void music(){ + private void music() { listView.getSelectionModel().select(1); try { root = FXMLLoader.load(ResourcesUtils.getResource("music")); @@ -111,7 +185,7 @@ public class PlayerController { common_method(); } - private void vip_parser(){ + private void vip_parser() { listView.getSelectionModel().select(2); try { root = FXMLLoader.load(ResourcesUtils.getResource("vip-parser")); @@ -121,21 +195,21 @@ public class PlayerController { common_method(); } - private void common_method(){ + private void common_method() { splitPane.getItems().remove(1); splitPane.getItems().add(1, root); root.widthProperty().addListener((observable, oldValue, newValue) -> { if (newValue != null) { double width = splitPane.getWidth(); PlayerController.this.width.set(width); - log.info("player:--->width:{}",width); + log.info("player:--->width:{}", width); } }); root.heightProperty().addListener((observable, oldValue, newValue) -> { if (newValue != null) { double height = splitPane.getHeight(); PlayerController.this.height.set(height); - log.info("player:--->height:{}",height); + log.info("player:--->height:{}", height); } }); @@ -150,7 +224,7 @@ public class PlayerController { }); } - private void video(){ + private void video() { //默认选择第一个 listView.getSelectionModel().select(0); try { diff --git a/src/main/java/com/zhangmeng/tools/utils/ImagePath.java b/src/main/java/com/zhangmeng/tools/utils/ImagePath.java index 313d87c..9450d90 100644 --- a/src/main/java/com/zhangmeng/tools/utils/ImagePath.java +++ b/src/main/java/com/zhangmeng/tools/utils/ImagePath.java @@ -49,6 +49,12 @@ public class ImagePath { IMAGE_FILE("文件图标"), + VIDEO_PLAYER("视频播放"), + MUSIC_PLAYER("音乐播放"), + VIP_PLAYER("VIP解析播放"), + MD5("md5 加密"), + SPRING_SECURITY("SPRING_SECURITY 加密"), + ICON_NULL_COVER(""); private String desc; @@ -222,6 +228,12 @@ public class ImagePath { public static String SVG_FILE = "svg/file.png"; + public static String VIP_PLAYER = "svg/vip-player.png"; + public static String VIDEO_PLAYER = "svg/video-player.png"; + public static String MUSIC_PLAYER = "svg/music-player.png"; + public static String MD5 = "svg/md5.png"; + public static String SPRING_SECURITY = "svg/spring-security.png"; + public static String path(ImagePathType type) { String path = null; @@ -348,6 +360,21 @@ public class ImagePath { case IMAGE_FILE: path = ImagePath.SVG_FILE; break; + case VIDEO_PLAYER: + path = ImagePath.VIDEO_PLAYER; + break; + case MUSIC_PLAYER: + path = ImagePath.MUSIC_PLAYER; + break; + case VIP_PLAYER: + path = ImagePath.VIP_PLAYER; + break; + case MD5: + path = ImagePath.MD5; + break; + case SPRING_SECURITY: + path = ImagePath.SPRING_SECURITY; + break; } return "static/" + path; } diff --git a/src/main/resources/static/svg/md5.png b/src/main/resources/static/svg/md5.png new file mode 100644 index 0000000000000000000000000000000000000000..ccaa7d7fd18d2bfd7df0fe00644fa876bbf9b6aa GIT binary patch literal 15610 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/svg/music-player.png b/src/main/resources/static/svg/music-player.png new file mode 100644 index 0000000000000000000000000000000000000000..597a0f91456c70ab3a2c503855aeb6098502a295 GIT binary patch literal 9900 zcmeHt=UY=<^KRHAfzSyc(gTF5bdf3q0Vz@xq*n#$(vcuFiVA`d0qIRe5s;?RTU3xD z0)jN9#L$$EN)wQ?c%S$AUFV!n=MOj^xI(gL?X_m+o_l7^TJaZ5^cd;5>0mGzqk+DT z84N~6Jo=+Wf?s0VPWOTjsvtAHv#^Rj-XAa+24+{NSB`nqx2=ypL>6OmM|z?wA4 zl6R+AubB@u@Q1Ig9;_V*jBJ;OmT&T}hBzEVJfAgnF8Pq$MCaR|y}Jl$fK@2ns(K zg2fP?(uxzGR;d_3Cuo=9%T&vZ%hVI_xI?KZzrVZc{u=8jvKiT3J`MK+&aVH1@6=%f ztvYu-v%iz`G$M5;oNP}%MP8!s3#o^{6fDHO^t>IO4oUc`n{3wo9`= zJ_hP8;h9h2ArL#mMNJIjjTk28(!~mK>Fx`?ji_G1xxS|>>aMl>%?KI7;6pv8&B3J>!QyY5T~21FU$R&`^95j&kmu`$A@>N{ul| zfmplex0ypbalF1LJl~?ih@ZJxYIL@@%ow68`q*l>X$Z+sITBUU)*xmir6PnG<*J1v zxPC&WWMtC%W!e+zl&jG;3n&*kv-iU(^Losv-m^GD@6AbF1;O>Ttl4TG zZmUp%s}8k3umuBWS}KHmY<|#r(JBR&$~38i9c!@%gG;i95bzk3O! z?IH;9C}_`A5l6aAQae#9X1E(f4n0xU9Vjnah?DnCD!FfnncBNJW93{x)9iC85Sf9~ z18C;36=5-*zQ15NjBjr;?klU7_3lXkP$?5|Q{W@85j1ms8w{)((aJ1w)BNb;_hTR~ z#&Uv!*t#BRBWpn!+oDVzufWQTN<0TJa%Y5;#iq;^w}em>2#_k;;`Uy3+NzNtF59`@ z6lRTUvrp!cxNdTJ#?EGAr-3(%J$tmrHVH=)Y6)34ATOza%igzvm1V)`DEya0;! z9$P@gP`_ubRtrMNGc=X1AEf8U#6SkHPb|78i@fbw)@1^7 z<9`W24P1sAH@60MkA5ct}zq3EN3Uy=io!ZFYU5!sG|E_blvA zua_kJin(=lCX^#GlP!_tqJsWo{ou=PxcdUY$48Txm0mekY(+ia#cUB^MxUX|E_?5=fSIpFCvAwFDsEt z51nXv2UKGTn@)oUv-H$6$}JawV+P)5Z8<{%2!3VddsG!rK6SG(`wHs?%*y7(Jtfw9 z+A*u+-L$z#UYdRHmvP9Re1P*-T~TE;VQ1&++Jh@~+*@pUIvQUkV@4J&G36l>H(lT)9vh9_#Y^*z{supy-YwC@f<&_=HHg6qE@O$cp7&I&{ z53++cQ4M+dLqJ?5*6#^=a%Wa;k5T;d2S-ISY@ zSUL8t*eVCf6Oa?lYOcjO(N|fxIIOQu1pT^s^(;sdvtM}>crr*2NtH=W?d0##^!ruc zDtQk5Fs)lWLc4v=*+_j8909B6MLJ8n&**=bA?QGQ-3X+_aEB z}f%abl8Q}%&(bnimskoasvsf_RIM0T`C5Xv2~vO zayOqj7nN%s{wQd;7&kAp))>SV*Z;xqbSRp1i15vqWfpmPrWgOnB5u|JrNTo8YL;7; zsC~97b7V*K)z~FYL)XpsQ7`uf32Rt`*Bc!ALc}`~NhC#55|?YFT-7vfnD~R5M^P1O z!eQ@dCvxaYaM@mU9lpAl{OZ@*NS*g+{j_H~BYx|;qykt#dAkb=7#HPXQgRd5{Q3Ji zu1oUIaB2E&$hH!;?$JMtp`U^A+gk=C2}?0Nt{3*lpo>BW*}S9e6d!C<)S%zJC+uYsUAwFoHSCKS>gfA{lJ$#qwkEX$&K!$z4}_VGwp6haAmlTp z2Ws&XHA)?|G^b@)5rbRNFe$4_oaNfzJk@yKv7htSgT4hM6-?jr(`6uMB zKbe92?BI^l8A*+;rYaG@l23i@mPP<8A0AY3u1k`Y{+N1RpKT?HlwYdE+5UJP;tL}A zWUW{f3NN?b+wn|M>*@`N4tr*3GNu@23cGG3&^i`3P0i2HzBf{) z%C2v*@;Va%xCG%WrF=?bOTJe$%bm>vngvIGyk0fJvKfs$VBH_e!1M zTd=6p;i4!|OQ0~^kM%+5Ox1Seec70Jeh@R#XPAUEDd3FG9_G;JPC6%%3{p|C`-XKI zO^7_IWI4su>xpY%Sm?3974c7E45c{H*cCGykRxnrTy*6FEYYFSj!&YsHv}$n?y5AxnW=;I=>c@Xb7Lz00`$gD^uC9{k`H5FT-+ymDiHn zua(u4vjTKIVY;PsMW6e!wn5r;6@R0?(5aZJ9YZugjha#r4wc<(bML`K_qkLan*hZ1 zwfZ_(Z(WG05%eA-tZ$ z-`Fi|(@>A_`|WHY9VnCOavHS^)UJu7IQ2i@#~ZJQ%l8zAO41c6Nzzz?>hsdb0HUWs zODrWd#>vrn%36DR@XXZJ7duZnEHFuoV_NW{!=9uAF>CJ@kyi6XZvsbG zuUhAvyKo`SO}k+7tzQqB0ki798*$zBw7xzeZA9*uu`Z5KBxIwPi?5$SD5M7p`M*tE zlBs$9pM9Yu*ltLAT%n*Tip@chJd2E^i}6cbXL2DfzG`|`L$FEtl9@GhFF8d+Nt|=p#QG~EAv(vu<;{5s;u~7V3!s2A z^OzAeQp*{Mp8r*vJ_2)naq zihNjvLw*Yid;=c6`IsZPsRu12Hm}N&%JdwCJ@JSX_To2mLcj)ImdFxE=6Yx>q}@J= z+Js9k>gNC*R>h3^7}#;K4?a&EROi6=#qF|h>o_9hDZaA7NBlOj(k59EC{1a~`ia4t$Ym zc{SrZ7imqTchQfaCYq>ZBaV>g^5X1C1dQ@R5b>1lCvAL@>J&;{+M-HgMw}?&*<@(~ ztYb1Mej=kK#uRJRQ19-1t-^tToj}}?1ldNS)WJq%?>vc_%`F(?fB7vw^|l!%_0jc5 zy?{J>xy`IqqiNa`p55Uu5ZL%6t{wE%zZDv1c|a`*;3|1-S?8()tX-}5E`Pw9-UPMT zEWn0Oj)5465;V?7S!e(0;U4wUA*N2&Gnk`6UQ?Fv(XOx=m6Z@Q7fI(z73PM6Uxzq|MiFu z8#lg)8Lw%N6$QW(g&cO}6QU9~J65$4HOmPJP|2f&ktzm)Jv@-L>QEk`EJhFArP?@I z)~eS`T%?YqS`Yg{C@y7n!}tEpoJTT#q>mmv z!`}<~wVn0ImZXOuQ%#oAxvGv-q;UeB%;wx@!fL+wya%ek7xJE%IGP)50sHvUcMY6D zJEA=j6kb60)9aa*InI+;K{Mj&cK>pQ7|>)2p?-Z=K39UU3sAB<*7UO(*r-b_=G}ts zw?(vd5~yO5a$fZuiBeAFC(8&FbG!x&_IfPDn+a;5os}Z7`NYEw!6wOYIa{R|1LXRk z{Itgy7ky_hkYv0l6&dtk@}K9(5)C*xX4FX#`zOzSs8(d{(#2HLqm4T1~Z-+=`Uy_)c|n3M zSh}uHO{Q-AoiDlz?eU;+q_$ zkJLU-SXh8Mz=j#LeO}T^b&lv@I0?CMUZ?+UjoAx|L{4g%mnvxS2O#LGz2|dp;-uX% zz_&%>UB}Ux*#Oqr^-FU=&)GrLFY$CBRU0CzLHq~30KBUNOE9aYn%`tMSh=e>y>PQxa~@Fh!~h9<lEm2deJhxN>d?IA+NI`onubmwP$h zo=dH0sFJ=FPs>3?Uay6f{jcZ$;jO;*AkZTY{1F@WFPKZg z@KWy*#3nGojhlg)@DUKm6FlX>Fy+^$8dJe6-50o@%L1oX-O2Ke0;)!xk$d6^EaIu$ zWY__|cYLgQ9fA^PQHp~j!7yqn)fQ_YJ~ontmj;ie^JJ6%1$qeh9wJp!m=8WpFEFK& zKcaK=rQl7aUz;umG{Ls1w!TMoYEHYovzcL{CB*7WPtS*XRf`h? z_B?(g!2*%l6A$r2*K}B4)@y6c`5pW4lvEtE6S*0)&v8WO4{=~Mo2$3-VrZynsP%Vo5UtJc?53|_S{)fcjLi;%8<)v>}D1n|5#YMM4z+{GrrwxBH; znS*ip*5k^|$~-%#K{@Pwn|>4oYuZqE{r7_%6aE0L2^SS8z%5YP|9jw2YQHM0vS8RH zYC~rTcn|8L&WKBXc9u7p=XmFjFo2%0t&SHrfHG$=A5URpSt+yx{Ab|b&tJbTo-oJk z*6jF`+d`GL<}&iQo`SWSu_;c0@auAYu4FGReNTX1J@DNFrsp8Lmz3n(AAXFR_uE-f z3*c3VmUNS)2DqRO&M*RzQuM9fD9u^Gop(cF`&V&#_q56pqEGSOm;aB@@6{7Uf=PQH zUp1Gx>3~AwGlRJeh&!9a(Sc7J5vAra#f*%z`(9v(m+iQtAf0Ptey8qF;$3&XAvu}L zA_%jy8NC4j)vnq11A@hp`JUPIS^QI#rk7NJNP9oY+BOkC(-n{*cjKQ**85BdLVk)V zuCt_5&vKjJ4<&4c0~9yVZh8I!W+wQrN}hU!k_rBaC0Nd-&%Gmt7coE7{u+{UprN30 z#m7)d%`3*wPjQ2%cO6J;MU0-WdjPt6chf z`;*n-4vW!T{5`ac!0?QxThdcFx~fd3n0C-CPNSgLD-R4S|2a1m0TNOKPZZxy&(EPe z2|@v2Mc>$?IGD4oQ}XW)G|v!^xm7>ll!NJ=ODC&v^W(MI%=2{L~)x?Wgh0EFw0+ud3!V08zL zKN-lsqqO-%2)Dt=+x{xbVqmTrUtYRq_nFH{M3Nbp#cV7$4fyY66ene=aU%|0P@413 zw_Je+Vdn0X^W2c|VsgIz!~PSJL-rWzm4n$f3LLAN`J2R;as^X&MCQr_P8qt`~4p&0C|e zSQfB71FO?NGL*b?vXGklpdw3LawWwD9FVaa6owGmg|Sg}U42=>jBsD7eU~Ex=D=+^ z)wo5%Tf%C3G>F@>mUn_2NaF}o%YNy|XGYcr;d;FR0K zCOW`P5ZjaOAF*|GYAL73s{UamYi-ty+>;mcm%%ueEDI6<8?Y#I;T@~_PHmu35zO@# z@$osY;I$xNFjJlDzIC_ZqS*Bek|0~ff*JZa$kgM%PYM;pEB0*3f9Hmqz$uZZ_|f8^ zd>#MXiWhhnr5idpdtS&tl>9RVecB530wimn$3IVzYkXNzMmUV46OTa74gEqqK&pAd zyJZRthO|Ap3qT)=Y^9rM+)1*Q{Zmjajw@n?z(WPRl{zc!dUzNtjaQ2_@EV}9gN+8SCSY|4kMis0qno1@=89q|=3uL7e4FW%A zMCQli7+)-Q`~peYHlEJ)YNy|zgHc!uz@ERLibmQ( zlkh4=Y}n};M=en0#ngr=6|=`R1?x3&cm)-Oo;&)CVeliRh+o_ElewtH18F$s7v~LU!iLMC^_8cSw?JvZrhb`C>hqrmI(I( zuQ|P1!TDLqZ8q*9JfFGwk~sQ#9w6b-Z}_=u&3{I;As$vd{d(+uJ=%!LxJa;HvE-crD91gX_kmzYLi^!8GVx2b`b2xs3AXq%l+m*y_Wz#CI{F z(n`ZN4_VhmE*Bj7L9>4n2V z-_)J=oKI^&rfSq&3t2u*Q}ph#gXykB8H!` z2$btlf#KJ2hENAJJ!QVu&PBVgunv(q6ke>Ppt}IZxr)!!edll8nGJZ$6Cwn0hW_07 zt+UjS2)}ocI-|X4&0FF+PRkKj_qg?Y$KdWT>(sAKnY{Z#pj6Va* zn*DZWK1pTr)r*Lmq~FU9)o5VMzvtdJVJREOxAQa~iptYoZr5f3hl*$-2?id*n%m8_ zg*JjZ+XEQu;&ILJlkKbmHeuj`3<`h}&cb%5{;JpmmhL3fOfBzXj|s0}a;uNh@xLfclr)tz6ftnQVQ;ke#DDs? zLjD5IGR|wO#p%U|?>jFFd|h173wixP5_^FL4Av8zqBhcl7TmYbv;HL_D%=NVt&+xUcm82mC);>96Lpv);$_KU{9$`WehX*F>k{tnpjoO5$H_nx_?uDRx#nR_NuOGEJ?9yuNc2F62WC3zhT3{d?2A1*fV3!+PC z2>1u`(ovMfsQgK}iGe|jp)4<>=Wnt58G7zJ)qE!%Dwm%4jW^j=B$9<}yFiP9&yJ}s zGi)d`kk`gcm6Y6(MfdY-X#b`S2h%TEs4yUymW<^rVy_XT(MgUv@y zIy-hdraPpZZ$g$G)X#42s?!nBG~j{bfbXiliHGz+)KK?NHNv0p{&xh_o8Ahv`F5E5 ze}G1C3GDwth!IsIyt~&@|M$j0OO4571qPnaxJGcX7ynfM_x6M^4g})?9;60@gZ6Xv z1>=8jApD5l|Bo;;_({CR>~-RQY#^|{+x$mgEe8g|S7LSv>Hi-?;6J?oVP_hRL|_%b zgt~0+X)#%W4xip*2f;SvQQ&dtCriHn-T?L={NKVp(g*5->mqU1LUKTXp7}lU@4*m6 z4NVUQRQFZ~YDU^TP0rg4_P7wd6XJey*#^n~dHdw8t%ct4nZljqRZ})-8T;0Z&85jX z1JLlq&Y6x$Fr(GrLCdcUY3>B8XQ3FGMBnA#@Lgqo&Z+Y4holf!BRCXRap+<3ghStD ztaT^%}Mr}S*ajju+V3XiTrxKH%IBB zya^?lG(9jw6A8c?4$UQAV{&8ffEFc(c!VgHFbzdC;ct!t(70$NwAl(TvJ;?oNx$iN zD~TKaU5>fXWs~UKj*vLAe{8eGAre6_f z9-IFe&_aP_tG7|sxSAZzyW8r&>ge+p#!CKwZc!aH9}!r#YV!dzg>7W~W3v+bMYC6U zVA3JZS1;{7bCuKKRQE=$NQK-UagEq!NOl#2bP6|pFMQT51T%^Q3_Hx42;>^E|5%F2 z7Tk;BjwR(n!o;JA0{=PW(S#4`5y#??MMF7g50ue_=-?t7FreT=5klnB8;`|a5w#o; zas-=BwEk;dNP!h_WZsB3$xQ4$c`Fw>ua?7!$y_Ac=gQi2)F>q6sl2@P(Z5`F)tqZ?P!yk}XdNPH>2DjR=A+z+ zLAO%VRC>_gH=%+DMp9v7FTx zPM`jumYyyC;jWIHQm;iM%`C-%PcbX?EhZN8hM<%rZ{_(v607AM=8ne4fiey?2RLZ| zdN-X4Gf+w;nrdXH%o6X$wUhYkf?_^8F21Uy`gj#A)`CsS<2WPqyH-YofjX6?I@nDo z9g-9$KWL)jo1DJ{)rv?BnAm*I`BMD{2W@~~!=9Ith+Bpq|IUp(^ja_?!k%H>?gu&y z)iHfu@#*5xUi!;a=YFVG!^q`x!^ecHxBRh2lY9=hc-ESl6HJc@W42*3cV{(5| zS+KGAE37SzIUHtS7`q#>EsV^9wu|HT3%}-S+W+&*80K+oK*l}Tux1N-8N)G;FOD&S z<3>7+Y3Ks}20K?LB-)KDa2$yC@{F;;0bdnuoD)hJ!{6u3ho-lV9P+^_)`VbbVB`wo z4y>VCQG;iEL?bArj8PSzHWJoi10s9i%8lht`BtvR*M*5k5WEf{8XGsjYkZcYbvo!G z4o`@R7RFaNRLO)}q!pw^TsY7y_tzn%^23b9sSj=GJHB&UE-6x@sYQHPel>3v`1^dS z^*M|s3q^)V3A<|k-sF=OY*zGUUK05T^9=Ksq1-7p;+k!ogLcKY{76pv)gqhuC#YH! z%2-C;d&l>2pdyQdHrc$FHru=On=eK5RPkdY!3p*tvMSSMObM&@EwhhMwG`CF@6e45&TNid(8p}BZO_}=ST;Qs$ZG)p6rBXgo@?zz)gnF#>enJm`H z+{{T@gUE^o>#55?cKjfiQW&aMUh@;?GMLN!cV$SH;8k<=pSu}z5ed>!z7%^Ng>Nx#6{vQpC$>&;+H_!RN#0}b+B?SjdTZ3m0DGE<;ze}s ze12%gd2Otpy_f8`xrOtP^0k|~QnEWnYo<|>G5m7#r(N&)Wob_#5Jns;pbKc}Gt8A} z%XXlsZE}OMG-K(~0N+43=xH=Be&3dPsgbaWbOR6~ttz0m5%g;Y>9R@n9oME!9||d% z2JCb`7{d*=RhITeTpQ@G8-Z}^4J0YWfT%8Xa=fY4uHw%db`!WsY-~$!s=8rY>W;8F z3Ste@swn3Qc%Bkm%CTk8idC?{GnF9uj_Ewrt?G&s(9T;Zi@2ly(=#Tw8BUwWKI}{2 zaa)m!yP;H!b*}v%Ki$*e0}!dlDV4XaZ$A1A8YwKPG$HC~822q<11-VOkZ%w*S_N>| z!&Io@FtZM6WL}Bs=975eZ$>h6)XRI1rCq^H@lYfVXn(JN24KSi6Y4>aGpA~UwnbZ+qCjkPML9z%~?gFw6nm*_ceeuTcJEB`L zT^l63fWrEcQ54AD2dhC#d)o&BnFFW#RlX z3{lJB0N2C~b;7jLk`#(MrZK>tO`*>wEZ=DbCFE?f?!I@O;>4Zd#gwAK3*inws~s zX`vfFt{L}Epi3v7QkOHZQItrbi=l9Di@@^biW2x(K$V#7U%3=l5b_zw{JaLR%Op7~ zZnP^@aNQe?{rGn0L1tQfRg8IhD?;Ltzpsr+$S7b9K44M|;<(9_f^8j{@4xal7mIbD z#0P@I{g~EC0j=vi%MqAp%`E1jE1l~=KGG8@%bkgsfWARiFrrPZB>1f?!7S z@H&DoOsm#ylRG0UZ*_dfx{8@-TVGaEtP25*1VOJEIE-VcW}Nh`DKNwseIv23ViK}# z_3vf^Lsh`Fu7GQ<^o!yGgty`Vi@i9pMc3D`?X+aIO32OahN&sTlQIlgom>H40*FV= zql&?#Yn!*r9k*2(vxfHo3UF#LWyWDn-8K`C9oXbF!K1wt16LT-X*Nc%^n8Ycf#TB} zgc&P`x&Aw%zM{IF5~x}{suZP*vGk9n=azJIzp&v{5v?OC=!pkDIy%^8EDouu0;nCt z9@Je8c3ZIwMbRU;Yb#D=R7m4nZM@#aC=2&OqUdrM%Wsf|k0aOtz=dt!Z_}n%fCWVxx73 zPzxp}Z1`rte?aO-=nh9ady{q|QRVF96|)vmhso{9EVK(4ce+Gev=;<5VN5(kV8wTg zYaINCC!>l@7@bDiv9$$zV{%ksq}q9ic5E#!+fRVMcn$H6)ToQ~D_o!7puT}Nuf8z} zC143vIx@&WxRBY?q^f7NQwbnn5}jim4A4@y@;J1yJi2scgKre1@NqD?7DD?55y6Q} zZtM3^2m!$#Z69x+*YaFWhtbFzHu5g!gI|+hlNe}c@ap0?bmfYqw05$g-n2PtfQuXW z?qHgYG6(Hqaq?lsPCgGDH%LTG+Fhx%!geyDB+uaiVhogc=5FOoIsQgb(G7j|UpvjW z4pfNZ%fsiwZ|i~c^_}iuj+SyiPB%EEA%vpY;@vta&TWQgIRN7T%0S-Vl0TRa1koob z(;ro0SLDkC5*2xmo4``pp7^SSgu4M7zrs)9F2LTe5S?qMy>e_BU@mWcRfS(sLdhc5 zl2VaOODpD6IAM5i*ROC{+FRx2>SDcmOKWFM+;D^P^L$M3)Wo8l_P}{p)EU7Wx8Z${yp|-I0Nx)cqI*#|-5qbsyeqy< zS%mawmnqw|v3eMk;d(xaSA9DdZf!XS2yn@qW7AAbz*(5N9D2ybOIXr|5zLL2D@`0Q zhLgA&YWv+ElpCURW5Nf}aBhs#-iAts!Y2KU1qEN)>U|Nn`YJ{TkoF#8p~<~=8A#cU z;OLKD-G|OF@?^OAd)cKgEhiPt8bK`o*lPSL)X+JLMlP?oLol;UI2encMexwMt` z(;{h13i*?Yq9Ze`RSa}`sceHKQ@jXB0h#RRm|n(~^!$%H%g>HDOurJxmiI)6}iKKMRe0Hs99}6l4>+kM~@R6MPBIsdL|oAUa2$o zmLb%Tc~furX$ihW%Gqem8IzVK`~{~se$cH~WA0-Gcz~X7m1Dwbkf!FBh8Ad_B0{_v zd+at1J^~T=XvF?RigSv86%rjteXxVq_$6f!7)m}t`r{-IsY74KgJw#f^vlo`P&Uc+^4@hLY?ZGy%lEH+m#r^G7%CZek#+tdn zoh5Wu?%cx0RvUq)5t-($zg~^W=P0j&i<~oDtMmx-03{Xb#MQdv?Fvp zj#LiKi~9Qb%NQ%i=N~FRJPG5)6g034sEk$6nON4j#_xe+gU*H|ttjyhJu&uVt^pu` ztRvv9oie-*zi>rDqQ|t}n7Co05H>5Zv(M?|0Kn*w#yev;q)1ugIWIdPY~DC-cxK+; z>{LkUX@&%qEk9qKpBz@#7--4e*{jV2sAIMBz?TssgtgH9v1$dh;g>Y2Trr8Y+JIVV zI}2N;j6h{09$}AZy`jfBp}?(={>%WR4}p615~UxFO7Z(r5uemOaSP`hIhldL;SI&R zsit%|6e2`G1krgp2>3y^Oyw;Gg8{Io54u9{wfCP8r9MW=%WJ1U9E;aSxGd|OoyF+A(MOd2zV0t~-Ae4w_Kzzq-a2U21Ma2?59)amDO?8^%7t?pK7qS5`njg&G3 z3*WZT*k;lu$~4ShWJoFfX4^pUSG_6c2a&&?!WSSVkKG%4gQrUp9|{Ud z2WNH%X<5nLjIu073`2@E;Jq(S6a*U{9vgQ_;QPxcFtfH#VCrt5NU&Bl=$=~Q1*shV zo|2JBsu{5d>oOlG!EqExm^O3dUr0Rg4}9m2XY~3L$+d$+?)vij31n z@hHXQ>ZmrvW$AIG8!KMlA&P6Pe{~zdMJov!wQsq<8O*^Zw{uW`-h&Tsf4e|34Of=+ zF#u>MR=fx|BRBG7mCodC)8yFmLjOuh%d*pU67au^cfJ@J8tpIU>+}lH3cerX>BXF2 zI2_U)nZW0$OX_c4v9OPPq`|Gk0IPoA8#GMp_wJQYY1^*H5*{hg@d}no8h>IvbpEL<{ z46*TqNMSGX)?a2JYHthOO!S)--+jcvxaxI-JAscV(JeK(wt8I}Ni1(F@6TQaY6+vK zBa!vPh#;uYPGgCL^*r~n#@3yrgfFHJjBu%XlH+@0ChBwWZ%D&r4)n4_iKlBQw8%BPrYPTb66Z=*v@ zxFj{h>AhfmPvHT~Q3F0G-pW#9+&6SAzV>!aK|WL`;mxx7$~yyRu82)LAjDO3wegHH zZ|ZsG`>6SL5tk(??o`_TRKcoki2M~PdV@T>ibVWGK?R(L+b*ik-Af+bhAH;V4M^4j z?wKoN&Ht4Mx)Wm3l$PU_xq%3 z>nHcY{s5{)Fl5{B?fB92x+KUdCAw@(sX(_TvB&YB8glYJo*IT$EQ!o~y6mVGJm?yZ zR$l9Wn7U{@M=iow)WiynAf{tXuw%Cm$B4tUpqaxlbO*N(m53dc#r!K4bQjcc z`e+WV%`;{LwD~e0MBeg;0bCHXXm98ME+=k&ZPaSg2B}<_$BQXo{B8C{15Sdk%3E^} zo_G8qDpAx<_b6@Q)3>B>#KNxxgq!m=^_aw_JDNY%rWyS^H2=b%bhJPs$+htL0?E)n5h)~v14{3;A_a2G{;lQ|NaqySgd z(=2fuC!l*`u*X>moQ8k^(;@64dRi6U0Dm!W#E^ zogPG9h9v(@#3-go?f7_dO7;JCg%W$Q>CdabQp@=P+WpeT%(R*~7Q}T}fI8;CbMvNu z&~Fm{*-O9sT7~|gp0P_nReacpnRYBRynvpz3X)|u&SE*9Qit(bBAPrZK(>8pk`H&| z&tk80#?cG-RVkzKXT%O>yM(EYae+Eb z^LBb-g$A4&ljX0RfT{xAn{3TujOBxAjRVcfk*}*A;V2yiRbwfiIa9kOnYwxLV;}I5 z722G4Au|fWk`>+Uul7~qDovKVEhd;)3o$ms$yz;GKjH(<%O6rahPJvI0}=r-Ta%B} zw{^*@zUqk`Pd#uG-k?ru>7nd$_law}z=Zl$E6*`O(bL!0ONegXRJW|)q+j3MEVCir z%W@PeK3CLbn!UfJXB>JWlL|MwRq74x#@rW*`7lePiqe&&Pyf7kpy{ykri0OYfISu% zcY_1J;&|Lrod>C3HGwpuMX7a&2+iM*UF;|hZjKRMz~a>w^pqK0P6%!?~=bk)xr$x#4Pb8Ug6>pv;Lz) zJpTGAAquf$?oVzwB85#eP?NnF62wH512v% ze}0w&wg1~>iDBxepQE!0kwP;1`Rm z^7lESASk$BtdK6}4x4)ZU@nuUT->Z6XrH3j%?yAp-6*#C_O#^I;Ynu~KcNt*I33s| zO0?@m;0VZ#KY?Vn)x4^{AzJOK?30kK(5wxxD>29_g6V-~tmOi9V-Mr@yei#+qE*=Y zn6WR%Gr~baXT7mFzNL=e{Xk2wNT*WV2(AYTlCeTs+$@%LvK;pr-4ob3QFVZvh{;-K z;5P?Ve>KaplfSPMSmQ?3ZG`zAgIeehLTg?;(7NkHAu*G->D6-}U}nq(VV6Fd?(r#7 z3MtEO8wc=AiDRF`H`e-+U7()eoq_HyVR&D9{T{XXjbv9xoz@u~-ZZpy$bo)m+|=Ch zZ@}dBX4FigQuya6M8udoaQ~pMpINz`$E4zUL=#e4ecMm3=(ydrc$=|)!IcLY09N-*=cX@`e6$;^ zHn-)O8w%2@E!{{-M6gKOu)bs!#`G>50^%~pYUzV(f*3=%0;l=r@syrAe_ZQL48tCx z#0%ioZavG3OilVFQ3hSA(3~dBQ4TK3;r*c_db2Zp55QZ0mMa<0ruv6K$q7s!O7c_w zg}SFuVNS)u^+1d3=@KM`Xq2x$CBH3=Sb2(3YfHyIc7Nkoe~H?O*blBl5>Fg^)QREm z8=F5Z^$8UPi8Z3zMq$@sV37Z~?**969iQE6u)Zm5uWaLM#nG`-UIZxv;o_ZP0K%&= z5HsqZ4L_2V==?#oZZ9@F{Er)|O1#r@-nkWNk@}V^Qk<3*PicV%hm|0c6R}^okrvE{ z1mUs}mI(#jeX*IF=jd8Vtfr!h{&_0+H((~qBbo6P4ub+n`;^n}_rTQcB0aB0rEC2% z6VEdbbvRvw0rbtKBU=6WTxy^qN*bnv!%Ki9ZzHye`j*;>5Wj^$cr zuE_h5?er)OW(N7Xqp~e@kSH_w=X(?^P)XOrZT3vd#9*NnLUN@#XrzA%_~TNzDxi%B z)|pk_*6TV&w$IMeYB>&IZp_oo+@aFmmNMBA62fJRZo}}$oy&4G$2#&+;G@@8`xYj` zA#_rMQc_+sA`(b;P}MGLeXBhW+hC&!nk z$$%SzqqK{MGMY9_P>X>BFDn<<8haoqyP=c~-3r4pX~itG=ENfpz{PU8c#2gbfmhNhP4{H?+9TLJrZKZY7B1l;-_Ze7f^1xUc2*8L(p-O*OHvaKMxaqTN zm3_%ToCY`Cnc9Uygs_ht_<%IW@yjt;zn0UUlIJpEM%x~P*0;*^18trC-)Zk#K5 z9!ufZ>CJjJ-O2*0@Dl%IKHbOh=6u6Y4@2~`a_@*`L8KBSNmA>ID#~>#^s6j^H*ipY8mi(|*e8XV9i{?&maHr&bz}X0?Z$G9-OV4*UuU@Q!Ms{0`QE-`AW6YIqdms%}*%a`-_nt>Bo&>yzXr0iCstBC10*k{>h!i8kV z9KrVPvSAUITA9R`<9(@HNx#qb%jh#>a2~LL$jG&Txg6#E+TxXyH^q`Ym>0Sz9MKy; z$J=li7@ih0)V|05evxMIG~W#;h;6EIjh40woR!3e5)8S)8%0&8!ykYL9_JeOj%vG0 zPFQsK(crb)DD$dt`P@vElUKf_gsf(vet)Ce=&=1vex)I03s z;kia~&`CNMj$3m<+G=R(DlM(`^%#;%>Wk2WCtV%V9w0!x+LtxYf?}BB{C?_1#=2=!Ko%QS zRHcjN@6h(!vP%feYX zg+bc4ZzyXsJ8=BbJmzaU_{=%&GsLl1ijKvn`wY|$iY0BwY@dEg-IAnK{Tu=*xqCq#rZm!GT~evnuy z(n>m?Xf(2;Bh257K9STNS4zID^V|u*43V{wxk-5UmxZ=v5h_ZkWn%FO%0XYfnd$L8 z^UEG)`=Yr33$m#0kva7u_9$xw2Zti4|F1^G-WQkT9+v8lHpHXc5jf!^`n?tY>gG{1 zr>oc(EcC5L@>8z%G{m0J*Fq`z2wXRS50dv5&=)RDIiu@%{w#+PuDw`?B9e{IU?p9f zJ8~?wSHTJ8h*eMK)lHNt(}CO{CIeW!m6C`~|L4Pb!jx6_z51_E36R#)G^V16mBGA! zLaYvx4xWz*Wd?q0L=b;vq5I%!0;v}eG%XrW)W<8z2{Nf2un!Z$a%4Zxk)Rfn_ey?m zrzGL2VtROH|CfWd^-*3RUFkv!%1_5{{Psi^z5MOw;nHu%%jo>ns8o`p2A*xLA8HFC z5btP9{t>1W?_d8~u~#|nmGnv?mq}XoLMlJMiTFYAUZxd40sfy?8gDw2w-Vpxt3OS1 z(d-5&kOwI$;GT^7j%H&mE;a=&SgYO!aB3?FBz@+ds?WbY;=AP;AJSDdRPTKoyW^Cu ztLR@>w}>Ubd@hv;^0}jR7*&2~KAHAuSj5`=+H`G87NAC=jze+9S z#THO=%D_pw)@_uv&38UH(2;qMXGV*UL_Q}Vl?|nNE7$AodT-;${0IUafd(6-xL~kI z&$h)YN`KE?VNT3ghaR}6O!e;riUv!y{=Odjz-!8` z0C#&7L?32xz`@X=F)sX^Q+?BG;&{{Ec=FY;4e`dcI z>Kb$)@>Dt3U&V+%)&@Kw?(!3YkgytOnf`h;SS>5$@7$n!$`yUFz??Ua-~>V4(bD`>WG1oKRGHq@9Yfxhi6T+jWj`SW3XT zpJ~fY|4N0Ju;FkCmBlH}|6^sYD){XX1%-Dk6NOwyX7=g!#eO4XKa|fEB!X?j^gdg5x7Z9P44H)IhYfvAH$&y_r>rO{dsPUCUaFp%V#g+j_ORR2^<&Se$mrKNPhX! z)isH2zgXFX5x0X5O`%)Zo;S`zlytabQvb>gvuQu#fiLs9ZWA}V7$qiZ4av*h8MM9( zJF$X?bKdH_w&8cNOueG6v$qf44$`(vW}{sIS@zj_+=?weAMRPst#&eotAhX4J-AuW zQ@gU}|9w8JNB-GZ+>j`)!p1`XM7I>2ck27u{>Re^ybwP>^c62#oZdP%La2?Ayw3PX zA^in$ok`?7dkW%5krABg;PQy@*zK*^O8Zm=<9=`+;a0Kzq$zO%h25&VsiBXmAJfx1 z+Meq6@1vraYTddfH5gQn5(|J8ePQfsZh<<{D<6wHqczm~jkotvQgn z%1X+kq*anh!R`X01j@1X40%rln~Yvye7Gq)m7SMArd;T1 zy{xAclpc(anB}5BXrrYhj+=PEh!6Gy#afI_{BPOhS{q2QQUv!$$W0&u+kHTl!Vv7% zu*NS`Ou02d2aWte*C~=A=Xdk1S3mWOo|bkhb}<{R)0qs)rjEQbXITHCwYiAe*CeHv z7Cae6J8ECgo=RnkGgC@O{6=i=sG&s>Lc@j)c>ssT@JedgOqLQ0wLMTP7-|_zEU@I@TQi&GM9G2eTx8EP(Q{OE*=qk3@NJ%Ad{R@lWll{;xXKch)3B$UlIxdt4UgZH zLL)p)*-iGl8uOB-zlmM45(OB_H3@Lee0~~C!mKu^6MT~+;GNsttC0pHa7|n|`Y$D; zUdsMHKJ{T{5+c7FqH~V5xRMsBlT@3-dUSxZ<}_3LF_vQlA{YAFcTDpv=<&JZdFG;K z0v97a()le*@1vcu@O}<+bz}IXZ_iE(kB!rUQ1QPv(MMq ziuA#F!PQ&UA7aL{#p?E(PFvu-LP~R<tCW#WO^_n7{_IPHKme+mXxU3>zt7fJ?l9JB|6_G9}{7xTi#K* zgLuo(8O3+3$!J}h|FdrcN7za6WuX`xBr$^{|PhNYb^ zUMj2qRyu{aNxzqaPUk*|;s2`jfNenly6CSVk~GAT^0Kg-R1Gs2zwh#!hYi{Ye!=se z&)ndnM^Lo_*1#|a-R3hxnP?})P`%tyX=)8MWf7919wBvbhU*4tW9&j)OP97n+s1Ld z`TI01TVBD)aG>XPyovS08(Bra1{{q2%}dX`{g-QuV}xEe#zEBYf&6kqAQ@tPo3DN~7i#$>{8EKYmh92C{CYRm zo#pOK1)L^wV`twd)S`mHF|uAEZ@Z0}Q~VovoOm{)cUxYbPVrZh$>En@oze%t4BRWO z4oKw+76NK!z26;OmqAx$(QGJg&sRc>(wwyAXU~%(7FieH8Fjq3XJnatlW2YaaXJGw znp&_(FDBr=gwiyDUxKdlu#nT#_#6JaMnx;#RW#*%Gd5r>!sbRyzsl+8C-GC~!(BJz zXsFlSfeO0x=5bejfgy&b@nsSX(D6Zt@UB%gEqrgf>;NpavyqAVd_8q$lLkXg{V8-tn6;BSsum`g&Ib1 zlTPJD#MB@jVBYodTs>vO+c&97rDCNnO6Hn^9MR|G#Hu8?Y~PQJFvsIZjSYKHMNV-mhU3}WlL6O(cz4Mu`aC}UA%p?K@59g{C23*K89wP$ z59oP}-)|3Qs^&s|L{dGlGXnPc#YH9OjSO9xD@}uwq~Y&B_f0d~#9Fv?pWoI$R6~LJ zc+i49?5}r;P;Tsc<&+P_{uUNU{japkf+z*2&p)TN0+E4^GT4&Vbg$^S9m$@{sOp>G zO|+#_EW6G)f|X%f46BNmtwYWffZ(xFWdcj2D5ah8O&f?chPKLO(oaVhJGR zrK(4KFX#$cx_YaARNr1J%oI<6oakmPk1JXk_m-?d6wI6r*p>t*P!z0ZNb(^|Aith` zUs)`%Xg&%htVR@wJ{7{J_skYpsxxHbVM8thjo;r&8d_@$0b5cfQV6yRMPF!3di-S~ zOhqw=`3JF9Qd9;L0XurR@@EfKhx}BuUnVJlw1A!)1XPJ!aSwsVr6=fACVS+DpV#-h z@gv8fEYZc?2|*>t@7I1w;VW54`uEZ@#PVercFirUK}Z@*{^UkCG=7H~!HM^Cu=dRP z?xzKSs@^+9t*?rRg}F*t(I^4FQfEid0xd(^>H;Lt4IIjR@CuEAX86|^jlg24x;0td z*k!H2QxV8Vo@LC08AZ4u}^Gs(*QH**RRj?gNmXAfuVLN{wH%6I1t9eMaQ(kmeJ_sB=^4%K)rSfHUh2ONPZS zO3`KSsE|PjFd3+SPH8_6<#Gku=vniuX=eFx`(t|=M;}szA!2{42po(0e84kT6az4C z9xHHYCh3}}nl?rJMQjfzB7}M!x(`=4Os$FyfypjovKPEqi!{wN)r!2Fo^tPLb3C5i zQGJ)A_}d5tMqJdI|FLI;{G(+cPI7)42ZeycamGZ(<<+d710yvxS_)`9l#4+gDyDIh zNUJYlj&G`e!nxD5{R3d=WOR3-Kuv>_(_LAM%YmT>cFyPFZB%wCbNIyvQyjqU{am=8 zv`SEzUAvFOR20$)1VY`fWJQNPRo^oJhcD4>&TiYj?WkcH)T}b6&e`bGl?HnV?X`?@ zEu|2`1$+Rl5wrfr->`@s?2Wp)0+Vb@n>!Num6C(?sw3w&k{a&-V@S?o`4;zZI->uH zoj`enL6Egu<6%C%$?9`?W-CzSFDwP|>g~)N7jtjb371R_4c4I6l;X~mqUcjL2SD?g zf!y57ei<;>@@tx+eGQ04`ch7X8G{cE=hXge`V&3Jc)<;zDBA~i)2MceYZ{MGh?%EbLh^I7R*n(Y4UtIt43=I2<6iD zGq#DrgUl+wC5{XJ^RDT(b7NTuQa_V}dh;*4;m+V}nbZ7ag()5fFnj77TW+8$S&dc{ zSh?EzodEFUX>e*lvVh}{9YB9N;Clex61R!P|C<#I0KCZRnC9vD{Xk(NFbk$!sk#$? zKXte&g90ZiO3$g@&k-uc0(;ZKRU-$u<^MSRz}zFNSWujvY3 zkc2Z>ri+Xh`ffj)3C~4Z;oj|P&o_SMS=p}E$nW%Cz44-3jx%TUJIb*?8P2z#93x!D zb6(1Pjz4_g*o@Wqa&+U-BSu>hl>6Owj?K2|UK;_!d7F;|9Oi4tg0gvj^N)L#nq^#8 zsZ&2NUvUTq6b6S?oe?@P?6C)l#*z?7VVn~ZyhMaaG9X1Fqa(p10}71^q)*i*Av$d5 zgrNxx$U6sN1?~H=xRQ}dG^C4!$Y6pcN>J!HNqK1%NDPbn42}J-%Ktlk=_G`c$1Cde z&n~8K)U(HxMo`Z2hWOf@VSV zJd|jEzP?Kk`_^ZQ!BdSnM)kR5vLa+O0=dC!!6TfG*4OskW5wW^N7=+HO4Xc{z6gN3 z#an6AA0!f7(fT3~)$Sq^e6fE@>X!Z~5GeYD83l5|Lt0hS_X4HK2?kFpWwXG7dl$6a z+@6up^F$}-QLo+Yj-sQv><8h%3P5fg``A>g-DxdnLYfd+-1+wD)M22iFO@XO_vt;4 zv783!=H>qTQj&>$kn7b^D{axfyGHwBjdp!BA+IEgKu%&n&2tx>MXt-O$9<0}*COr6 zPih5EJ=o6%MVQT{hPBKx;+2>QMDh0Q_@?Ih}^PMbB*brV{km1Mfyeim?Ij#(BDzXdn2>no_L;50gVT=!`ekp-jYQB4USBo;% zsZiM;+9vuvcM&_^-OAOD1Vl0a;gCl`=7X#I9W;Q6WYXl>fB5l35MScT8z#vy3HBAC zG8=?L*d)y@`{L2ZFcsQJhiQujUoU9Pih8Y#b5AVwc^j_81RWDLp+Sn=BWe21mgM@7 z)=Z8+#S7_b$U|yqR@)76DC~DVfm`7{zAhto;ydi>F6l4s_>BmCwS$oi-`wzTcppE) z!(dQC)m{EpKj*^W`HYetkazb4Kn?@y0keSQVz#J*1xws_(a9^eD)TT7Jh(@WES@Sj zMQI#HezYSO96KT81*@-QCioNXRh}P0wkRWe-Nq-Y9zz@V;4P{sTyc}!j9_ff>QA@w zw&v!9=G(E1SgNgkJyL`yuCFbrZ}BBb==!K6E<|_{yMBNFAy`K;?qTmO0%=5nFzR@L zj!~MBO*%ty@2yH@FjvM|Vc2xP06dq{5KQ*nOzT5_WS@$MF;BwX2>UU8`fLybs(ppR zdJn902c#|)*IjDRrdRi1u&b*FxDSJ8A&}fK<2Vio06|EUW>AoNEA)&8DYHdh9|d_M z4Z+Yqm1b}PJY!Tyh&{z@T#%be#c-t33dbu^|1Ybbyt2cF-_+dl*$POYP(|IyG*>*6 z_iIC*Tex)Kj`VFlUn4)QYPJ4o^4iF=x4%U#r58`$5?Qe_+>b<|&*|&T{3idg?HHBR zoRVBz)wX&wz=3P9CLz8mIPAtRXl_Mti|A?!c@8n#d59y?T@pA_*K&u`Sxn_=>NPp0 z9(nvQK5$Fm_KDp{be;%~l-Kg6wPxQ>b9~|SV0_}v=0>D13rCRoa)!25C(vx8%z(64 z)>bzY`w~mGntkbM!Tiufv8S;Q@SGR8#jJU7{`A79`|$q`3$sqLdMIFEBb@~ZmLUVsYy0i0mKJ*u}u?VgsSv9WW z$-d z7JX<;owgyl+2)A|G7dEFw0Z=ROqeALEH#|cH+O1+zmuaoM8@`zN@?NXCjk1h{}{2l zFh%Ie+u${GsfenmpMYp%oG#Z@?nTT~$ z>Y-A_ms*_&oIS&)moDkzR7m|8SgDYf8soY-U>0QFx%RqsSJ*qoiQY2|CmkZI6pYn| z94SCyOuZ6jziGqor<_>3@}wX;Mw_yAfnpPpH@jbk@58(lnhELI6UR4h7OK11mQ&wy z-q>b3q;jJ?F<3&F9i_ex_LJr+t-)-PUt<4qA`Oh3KMO`U;E|*Gv>Bgj1!MgolPsW< zDL=LZlYALo&CA{7tR1k!=0SvXZGM^GjG{POm=SDX$r4Xl05!-?uHhSvOJtny<)eKZ z?XW`4p7PSrXfSfo+nAZm$)EGskRw?bwo!b%Z`up^<3dSU{m@u;j1wQU_Y zzZ#bGB1JasB>Y|yyqAn(ZIZxDAN2PEU?i=}M#VH3g4c!?N&z{fAiGOal*|Rerz#)c z#tgL>jzRd{*-Kg7-H|^YI*F|stWhv_zba_ycL^x9 z(QvU9cY{4f$-kSNYqr_;B)6~aO@Jr!Lj~Eoy>E&1gL9K_%Q31^7|LPv_5H2g545hi zT1twQ!#lQBAes2AMSn8#pPQ>YK@|=#oLhdjBM!Q}rQJ>CWG0 zm#J+sJ4JZG`~K%mJx!r+S#84?eig$D?sI9@Hkt!tJpH3e*;y53R%4^p1YJQ`>HE=< zvDW~atBmr>f4LXAJ1+A92n=(>)=aV$$khbd4Vn=&zOSXLe3XJLO`wmBvPGXv39?f& zbz<@vQNY$&_8$<;3m5%AMm2nDm8rsKN&!%~tl=epy4$>e2jXO@iNDaLo=ceMa#JwD zS{+8iHTjccl55f2ZjGsf-*;%`LlTPSyq%9t;KA?i1c^)#D-xLK;Q(jg00Qvp%|mph zt`;-{pi~j3@nbbb%j6#f z*_G|?H=y!nn~3NwJ6)0#)q@ud;2+pB0)mSAb3ce$LbmCLt`_o7cX7YYI5K?p_5KMI#ZDaX`iPEmd<7M$&vjMWT{n|aBfLDkBItaW@ZDQ zYZy}{Kiz(~A@b zv=G3!&ufmF>q(ScXFOh4)8J(oXECG9$>|RVOpD91ZS3+Cp*Ts;M;l$M$k_2ZvGQ(q z8wN&GRJ62Zc#z#AE6n#QW+ey6$f}-}882pdb3Loq9YMyp9&t-633K`gV@EC|I>ZT! zQoHldyaqtD5b&yDsa5T_uI_C@<{=kFcDGpUYTX54Ct~K4VK1rJF?4(^g8)PNc6_)g2`p55R3E zSystnA+tzbdwsmI1Wq@mzS>*9KgBMZbEbC=yrmPygoFB%4r;NmRHE4f z^iB%p@Pn=vk<0XR^^w>LOapSQt=EsBzsL`vC{21dpqQT(WILG(QjV$EwFJ&0cHTdh zRg1~ax8MyNSy745yFtv`+fC?iLuzPm9n{RA2le&(NNy0+t;S6k4NwQA7DJzNsS1X| zEYhBw3R1aU$zJM`nATQd2IB{*DJZjjm8V`*TZ=Zb<>=zjnh_{TDa=3853;QGl8nJaaAE|M*PVTpru{?u+y+q)qqn)9guv!AVze%^$lF|? zyw)@cQtCdx@8=}Eh?2b@4xD}3Fi2M3S8$Bk6TVzrqFYq8)GYElmvSz`B6vlu23#UU ze0TX9ft+s@e#-rHSZETh)WgUi?w^FEPPfYZM}?^1`H7ry(;{f`G3UEyBz%Z@XCklV zc_5jxWFCH4tC=mIzra}a9}0aKwi{-qJ(f3?wvWF+KycR?z56E(xb62tw)*E{_`n*9 z0;|lsy|AzUUGEZd!?Bv@;KmSltS_Clbx(Dfz5=XmDrslLdD^nyhir8vA9=(|4Gytf zSG}5H5YjcWSELu8(H_ic$v%N^PnrY2A6nK1*Jj z4b>8s|Mpi@Tz_^jvu;i_(Nf?43>LP^1JcxO5xmhn& z2P9%TpY2zHtyiVJ^NsX|5TIJP#5Al*^&rH$yfhu7xfC z!&U=T5L;y!yIIrhD-KnOTruLhYzS)=tvJ@its5(mKL?~sAR);usnmCpj5vrgXsYpgH=nO6bo<) zY`sb}aq~=%-eU#@Y%S6`Uv&P}FtvDIJl;SaN0QW^^*Qi4ult%BESo`AyMzi=4UcrjC1sIj-yA#v<3yoWKTJ5{*= z(N!#aPfvaCA2(WH%!?*tj>C6_s8J_yt|xLQt%6rqb2PkbbrXl`=wd|jQ*Q8qq-(%t zVQ0N!KYQcit};Vm*l7n|cK~Of8k&Q&d6!Ek4phK0Tkg+N^Fbm}yc#^wG;YMcY=248 zPJq79fKDXDRC@_BTC-nidxx6#wZROHj+V=6=rIXa39MOiwZS-9kPyx{cV#95bQti~ zU9e2ynJQ??Ze*i;Tt!W6C!1jHd_jhgYYV)=9NWyFo8rkaq6z!QPW~Bq-xO#F6m_XD zz0g4=((gPc$KUmO0cf8dtXt%MQ`WdlQ9>EhhmMU8td)VdOrG!OI;h8HarlMM@d$V; z^CMXsZGa$1A~Kpp6RNO{Tf!X@eMqTX>Q6Edx@S`ls3vuKkSCW1_7dYiwXOX&bj96wy| zyV>?u#;sYx`suAX+3c?ec*4@?d}HkCAa>@Y!k;09zwjFMiGf+}I_s=gv?quhk!2 z0H3n`8*ZebX~%FR zTJ`Hk!$0=oLycbTu4%1ijF|LHWdemzP{|4@SB>3~A?r#@+E_2yH{J-C4S2ja%zzOc zXW&=YP_38b?GhH?%Dk;;$`achK5xf|!py{frjarmqRG;}0@HUx0=9JCusmJ3>W{*V zSdmPy-r>0o<08MynpyQO6`q#%+Mgl>N-s|k3@5wqJLY3O5-5lAJbrI!7hanE`t!gW z`=g+UYehnsPDM$aM6I}2obRo4|4PnZT+N9$7KrEsvIjxg=Aef9W2{FQrB}~?YAahH z4IDceu6mHt5ey$3JKN7b3lY4Qxe~gUuQd!4Ha@x1j?@Ct!|#JAg57HzVED z={FKJZWDmD7a%uk*tZ4mZQDuVdXl{3w_SCh+1ME={g1q#BMWhR6KJQ_jZQ#q6cVY1 zG}+WL)#e#0IklFgN2&2T#Q@Dc_9d0<$79Nh+3xGuwoGc9fmNp=*L4r=-F!Otr&4zZyL_>dHq%}o|JTUdDZb4?j_jBhnb6{o*8%I+-(N;A3ok$_GgCH z#z{i`ha7wSGU(b+oi-m%Ta=*Z>1`kU%o>fVtG0fuBvZz6VXanT^)N5A=~l)E6TyDJ zb9}k55n9!j{Rdn3Bx4{q*_eg}i3&<}xZ{mz#hHj=q_Xhh((^~h55OzMG-!xg#(T}? z46jJyB)jV>mS!xVb{}>|+CwLBxIOr}IPq%!xdl~nfs_>oC%sd{{j-R&oTVJFwy?Uw zeXsj3>Od|HPMllvnOzaFhGD+dAnHuFT>A9DfQU!ACX+^&TxD}(<) zsRX%^(`*%dCqR-PYy5LqGPCZ3gei6+eaZcfoFi#OY2$+Gc7qT-IzFLPf;By~7QLA6 zbpr-1CCYxBGQI3eS^)Ls&q!aQ#I|}Prb5ir;gk}xWxj&{cwKDGPwCg(O1uoH-CRXA zOLbyR(HveYRHS`A&$cqhwsEtn=Yu(rHgL}_Gi;wcx-H+BGrdrplkZ0&1aEZT>|6#t^iPs-(EWfdMU`+wftXgBuE+|54Nbum|zKE@V??asfY`LEzPN KFBYiS-1;v%ByOJo literal 0 HcmV?d00001 diff --git a/src/main/resources/static/svg/vip-player.png b/src/main/resources/static/svg/vip-player.png new file mode 100644 index 0000000000000000000000000000000000000000..441ab9ba725b801b60ba905ee795b3c372cdaab3 GIT binary patch literal 9677 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 VcQon%_&y6pG(K%qXmIhb{{h|8SV{l@ literal 0 HcmV?d00001