整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          js實(shí)現(xiàn)html轉(zhuǎn)碼去標(biāo)簽與解碼還原

          果對(duì)您有幫助,可以點(diǎn)贊收藏一下,以備后續(xù)使用,節(jié)約資料查找時(shí)間


          var HtmlUtil = {

          /*1.用瀏覽器內(nèi)部轉(zhuǎn)換器實(shí)現(xiàn)html轉(zhuǎn)碼*/

          htmlEncode: function (html) {

          //1.首先動(dòng)態(tài)創(chuàng)建一個(gè)容器標(biāo)簽元素,如DIV

          var temp = document.createElement("div");

          //2.然后將要轉(zhuǎn)換的字符串設(shè)置為這個(gè)元素的innerText(ie支持)或者textContent(舊版火狐,google支持)

          (temp.textContent != undefined) ? (temp.textContent = html) : (temp.innerText = html);

          //3.最后返回這個(gè)元素的innerHTML,即得到經(jīng)過HTML編碼轉(zhuǎn)換的字符串了

          var output = temp.innerHTML;

          temp = null;

          return output;

          },

          /*2.用瀏覽器內(nèi)部轉(zhuǎn)換器實(shí)現(xiàn)html解碼*/

          htmlDecode: function (text) {

          //1.首先動(dòng)態(tài)創(chuàng)建一個(gè)容器標(biāo)簽元素,如DIV

          var temp = document.createElement("div");

          //2.然后將要轉(zhuǎn)換的字符串設(shè)置為這個(gè)元素的innerHTML(ie,火狐,google都支持)

          temp.innerHTML = text;

          //3.最后返回這個(gè)元素的innerText(ie支持)或者textContent(火狐,google支持),即得到經(jīng)過HTML解碼的字符串了。

          var output = temp.innerText || temp.textContent;

          temp = null;

          return output;

          },

          /*3.用正則表達(dá)式實(shí)現(xiàn)html轉(zhuǎn)碼*/

          htmlEncodeByRegExp: function (str) {

          var s = "";

          if (str.length == 0) return "";

          s = str.replace(/&/g, "&");

          s = s.replace(/</g, "<");

          s = s.replace(/>/g, ">");

          s = s.replace(/\s/g, " ");

          s = s.replace(/\'/g, "'");

          s = s.replace(/\"/g, """);

          s = s.replace(/"/g, '"');

          return s;

          },

          /*4.用正則表達(dá)式實(shí)現(xiàn)html解碼*/

          htmlDecodeByRegExp: function (str) {

          var s = "";

          if (str.length == 0) return "";

          s = str.replace(/&/g, "&");

          s = s.replace(/</g, "<");

          s = s.replace(/>/g, ">");

          s = s.replace(/ /g, " ");

          s = s.replace(/'/g, "\'");

          s = s.replace(/"/g, "\"");


          return s;

          }

          };

          // 使用舉例

          // 用瀏覽器內(nèi)部轉(zhuǎn)換器實(shí)現(xiàn)html轉(zhuǎn)碼

          var html = " <div>'我們?cè)谀睦?#39;</div> "

          var enCodehtml = HtmlUtil.htmlEncode(html);

          //console.log(enCodehtml); // <div>'我們?cè)谀睦?#39;</div>

          // 用瀏覽器內(nèi)部轉(zhuǎn)換器實(shí)現(xiàn)html解碼

          var decodeHtml = HtmlUtil.htmlDecode(enCodehtml);

          //console.log(decodeHtml); // <div>'我們?cè)谀睦?#39;</div>

          // ————————————————————————————————————————————————————————————————

          // 用正則表達(dá)式實(shí)現(xiàn)html轉(zhuǎn)碼

          var html2 = "<div> winne'hello'</div>";

          var RegExpEnCodehtml = HtmlUtil.htmlEncodeByRegExp(html2)

          //console.log(RegExpEnCodehtml); // <div> winne'hello'</div>

          // 用正則表達(dá)式實(shí)現(xiàn)html解碼

          var RegExpDecodeHtml = HtmlUtil.htmlDecodeByRegExp(RegExpEnCodehtml);

          //console.log(RegExpDecodeHtml); // <div> winne'hello'</div>

          ava對(duì)圖片Base64編碼

          package base64;

          import java.awt.image.BufferedImage;

          import java.io.ByteArrayInputStream;

          import java.io.ByteArrayOutputStream;

          import java.io.File;

          import java.io.FileNotFoundException;

          import java.io.IOException;

          import java.io.RandomAccessFile;

          import java.util.Scanner;

          import javax.imageio.ImageIO;

          import sun.misc.BASE64Decoder;

          import sun.misc.BASE64Encoder;

          public class imageToBase64 {

          static BASE64Encoder encoder = new sun.misc.BASE64Encoder();

          static BASE64Decoder decoder = new sun.misc.BASE64Decoder();

          public static void main(String[] args) {

          Scanner scanner = new Scanner(System.in) ;

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 歡迎使用W_Jp的Base64編碼 **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("輸入圖片地址:");

          String path = scanner.next() ;

          if(!getImageBinary(path).equals(""))

          {

          System.out.printf("\n" + getImageBinary(path) + "\n\n");

          System.out.printf("是否導(dǎo)出內(nèi)容?(Y/N):");

          String boo = scanner.next() ;

          if(boo.equals("Y") || boo.equals("y")){

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 1.導(dǎo)出現(xiàn)Base64編碼到TXT文檔 **\n");

          System.out.printf("\t\t** 2.導(dǎo)出Base64解碼后的png圖片 **\n");

          System.out.printf("\t\t** 3.同時(shí)操作以上兩個(gè) **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("輸入您的選擇:");

          boo = scanner.next() ;

          if(boo.equals("1")){

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 溫馨提示:導(dǎo)出后文件名為wjp.txt **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("輸入Base64編碼的導(dǎo)出地址:");

          String toTxtPath = scanner.next() ;

          if(base64StringToTxt(getImageBinary(path), toTxtPath).equals("success")){

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 導(dǎo)出成功 **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          }

          } else if(boo.equals("2")){

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 溫馨提示:導(dǎo)出后文件名為wjp.png **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("輸入解碼后圖片的導(dǎo)出地址:");

          String toImgPath = scanner.next() ;

          if(base64StringToImage(getImageBinary(path), toImgPath).equals("success")){

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 導(dǎo)出成功 **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          }

          } else if(boo.equals("3")){

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 溫馨提示:導(dǎo)出后文件名為wjp.txt/wjp.png **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("輸入導(dǎo)出地址(兩個(gè)文件都會(huì)在這個(gè)目錄下):");

          String toBothPath = scanner.next() ;

          base64StringToImage(getImageBinary(path), toBothPath);

          if(base64StringToTxt(getImageBinary(path), toBothPath).equals("success")){

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 導(dǎo)出成功 **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          }

          } else {

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 您輸入的編號(hào)無效!!! 程序意外退出了!!! **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          }

          } else {

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          }

          }

          }

          static String getImageBinary(String path){

          File f = new File(path);

          BufferedImage bi;

          try {

          bi = ImageIO.read(f);

          ByteArrayOutputStream baos = new ByteArrayOutputStream();

          ImageIO.write(bi, "jpg", baos);

          byte[] bytes = baos.toByteArray();

          return encoder.encodeBuffer(bytes).trim();

          } catch (IOException e) {

          // e.printStackTrace();

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 您輸入的地址無效!!! 程序意外退出了!!! **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          }

          return "" ;

          }

          static String base64StringToImage(String base64String, String path){

          try {

          byte[] bytes1 = decoder.decodeBuffer(base64String);

          ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);

          BufferedImage bi1 =ImageIO.read(bais);

          File w2 = new File(path + "/wjp.png");

          ImageIO.write(bi1, "jpg", w2);

          } catch (Exception e) {

          // e.printStackTrace();

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 您輸入的地址無效!!! 程序意外退出了!!! **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          return "err" ;

          }

          return "success" ;

          }

          static String base64StringToTxt(String base64String, String path){

          File filename = new File(path + "/wjp.txt");

          RandomAccessFile mm = null ;

          try {

          mm = new RandomAccessFile(filename,"rw");

          try {

          mm.writeBytes(base64String);

          } catch (IOException e) {

          //e.printStackTrace();

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 寫入失敗 **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          return "err" ;

          }

          } catch (FileNotFoundException e) {

          //e.printStackTrace();

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** 創(chuàng)建txt失敗 **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          return "err" ;

          } finally {

          try {

          if(mm!=null){

          mm.close();

          }

          } catch (IOException e) {

          //e.printStackTrace();

          System.out.println();

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** RandomAccessFile關(guān)閉失敗 **\n");

          System.out.printf("\t\t*********************************************\n");

          System.out.printf("\t\t** Thanks!!! **\n");

          System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n");

          }

          }

          return "success" ;

          }

          }

          HTML對(duì)Base64解碼

          <html>

          <head>

          <meta http-equiv="Content-Type" content="text/html; charset=gbk">

          <title></title>

          <script type="text/javascript">

          //hideElement() , showElement()

          function hideElement(id){

          document.getElementById(id).style.display="none";

          }

          function showElement(id){

          document.getElementById(id).style.display="";

          }

          function wjp(id){

          if(id == 1){

          var values = document.getElementById("code").value ;

          var str = "<span><img src=\"data:image/gif;base64," + values + "\"/></span><br />" ;

          showElement("div2") ;

          hideElement("div1") ;

          document.getElementById("insert").innerHTML = str;

          }

          if(id == 2){

          showElement("div1") ;

          hideElement("div2") ;

          document.getElementById("code").value = "" ;

          }

          }

          </script>

          </head>

          <body>

          <center>

          <div id="div1">

          <h2 style="color:red;">W_Jp Base64解碼</h2>

          <textarea rows="20" cols="100" id="code"></textarea>

          <br />

          <input type="button" value="轉(zhuǎn)碼" onclick="wjp(1)"/>

          <br /><br /><br /><br /><br />

          </div>

          <div id="div2">

          <h2 style="color:red;">W_Jp 給您的結(jié)果</h2>

          <label id="insert"></label>

          <input type="button" value="繼續(xù)轉(zhuǎn)碼" onclick="wjp(2)"/>

          </div>

          </center>

          <script type="text/javascript">

          showElement("div1") ;

          hideElement("div2") ;

          </script>

          </body>

          </html>

          繼續(xù)給大家一組測(cè)試數(shù)據(jù),嘗試用我的HTML代碼試試,看看能不能顯示出圖片

          /9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a

          HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy

          MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAJoAMgDASIA

          AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA

          AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3

          ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm

          p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA

          AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx

          BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK

          U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3

          uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1rS2K

          aLpwCJzaoTlQf6VLPfwW3lfaJ7WLzZBFH5iqodz0UZ6k+lRWIH9k6eD2tlJFcX4m05obnT7jWTba

          tLf30OniKSApFbwyA7zEu8kSErneST0Axisbu+5r0O+81t4BWMe3lr/hUUV/BNPLBHNbPNAAZo1C

          Fo9wyu4dRkcjPWs7T4LnR7GRdR1Rbq2t/wDVzzR7JFjGT+8fdhiBj5sL0JOc1xvhzU7yHxU2sXsC

          w6d4lOy2LIVZDEMRB8naC6ZxgtuOMYFK77hoegHVLVXuEa5sw1soa4XKZhBG4F/7owM89qmgulni

          iliaGSKRdyuiqQw7EEDkGvLPiPpjXHiO3MxtpYrmxmED3G5PsrRAO7ExrucBQdoJb5mbjHBi8H6b

          bpc65apbWItEsERr2a4fKQTxmT5sJGJBnBJOxlHG4gDFa2vcXXY9Tt7+G6Ehgnt5fKkMUmxUYI46

          qcdCPQ0ttqEN7Ak9q9vcQvnbJFsZGwcHBA9QRXiHhm001rK71LZYITfiO0juFmSWUb4zthMcrOrr

          leQjkbgNzAnHofwzdn8AacpjZAjyqGOMODIxyMHpzjnByD2wSnddQVn0Oy81ieif8BjX/CgSsOdq

          HHUGNc/yph6nIzg4x6CgHkZ7Zzn0qbvuVZD/ADGDY2xnPI/drj+VHmn/AKZf9+hio+Plz2XJFLkj

          qcn07GjmYWQ/zW3gFYx7eWv+FAlOASsfTJ/dr/hUZIUZ7K3FKPQDp29RRzPuFkPErZGVi57eWvH6

          Uqyk7flj6H/lmv8AhUf4n8uaCSM4xux/3yKOZhZDhK2ASE/GJcfypfObdjy0z/uL/hTBwOBjHBHY

          0EcY9Dj8KLvuFkP81ieif8BjX/CgSsOdqHHUGNc/yph6nIzg4x6CgHkZ7Zzn0ou+4WQ/zGDY2xnP

          I/drj+VHmn/pl/36GKj4+XPZckUuSOpyfTsaOZhZD/NbeAVjHt5a/wCFAlOASsfTJ/dr/hUZIUZ7

          K3FKPQDp29RRzPuFkTRSFpo1ZYiGYAjyxRTIP+PiPk/eH8PPWitYO6M5IgtuNPsux8gc/ieKgvtM

          tNS+zC7iZ/ss63MIyRtkXO08dcZPB4rY023il0q28xA37vHNWhZ24GBGAPqankb1K5kc7qGm2mq2

          4t76DzoEkWTymYhXYHI3AHDDPY5HtTr+xtdSsZrO9gSe2lUrIj9x7emD0I6Gug+xW/P7oc9aPsVu

          esQ9aPZsOdHJXPhzTbvaLv7XcRAoDFNeTPG2zG3chba33QTkHJ5OamsND0/SbiWawtvs3m/fiidl

          hJwBkRg7AcKOQM/nXT/Y7f8A55CgWduBgRgD6mjkfcOZHO2Om2emfaPskPl/abhrmUBmO6RsZPJ4

          6DgcUmmaXZ6Rp0dhYw+XaxZ2IXJC5JJ5JJPJNdH9kgP/ACzH5mj7Fb4A8oYHSjkYc6MfA6gD6qea

          OmB1B6YHWtj7Hb5z5Qz60fY7f/nkPzNHs2HOjH5DckZ9e30penHzD2xmtf7Fb4x5Qx6UCztwMCMA

          fU0ezYc6Mj14+70B9aQ45JGcdyefwrY+xW/P7oc9aPsVuesQ9aXs2HOjH5HVjjODSjK9u2OnBrX+

          x2//ADyFAs7cDAjAH1NP2bDnRkZAxx34AHekxnOfm7nPStj7JAf+WY/M0fYrfAHlDA6UezYc6MfA

          6gD6qeaOmB1B6YHWtj7Hb5z5Qz60fY7f/nkPzNHs2HOjH5DckZ9e30penHzD2xmtf7Fb4x5Qx6UC

          ztwMCMAfU0ezYc6Mj14+70B9aQ45JGcdyefwrY+xW/P7oc9aPsVuesQ9aXs2HOjLgyLiLLE/vAKK

          1VtIFYMIwCDkH3orSMbEydyDSRjSrYeiVdqppvGnQ/T+tW6a2JYUjMqLuYgAdyaWo5/9WP8AfX/0

          IUwD7RD/AM9o/wDvoUfaIf8AntH/AN9CvFdd8f8Aiez8Q6ja2+o7IIbqWONfIiOFWQqBkrnoKh/4

          WH4p6f2kfr5EX/xNBPMj3D7RD/z2j/76FH2iH/ntH/30K8P/AOFheKCM/wBpsP8At3i/+Jp6/EHx

          Oeuqf+QIv/iadg50e2/aIf8AntH/AN9Cj7RD/wA9o/8AvoV4qPH/AIm76mf+/EXP/jtMPxA8UqTn

          Usg9P3EXH/jtFg5ke2/aIf8AntH/AN9Cj7RD/wA9o/8AvoV4XJ8RvE6OFOrY/wC2EX/xNSxfEPxO

          wydTz/2wi/8AiaQcyPb/ALRD/wA9o/8AvoUfaIf+e0f/AH0K8WHj/wATEH/iYn/vxH/8TTH+IHic

          HjUmA/64Rf8AxNOwcyPbPtEP/PaP/voUfaIf+e0f/fQrxBfiF4nJIOqH/vxF/wDE1YXx74lI/wCQ

          lk/9cIv/AImiwc6PZ/tEP/PaP/voUfaIf+e0f/fQrxU+PfFAbnUuP+uEX/xNNfx/4p/h1Lnt+4i6

          f98UWFzo9s+0Q/8APaP/AL6FH2iH/ntH/wB9CvED8QvFG3I1M89/Ii4/8dpG+IfikDP9pEY7eRF/

          8TRYfOj3D7RD/wA9o/8AvoUCeEkASoSegDCvC1+Ivipsj+1CD/17xf8AxNdv8O/Emq+IYtS/tO58

          7yJIPL/douMs2fugegpApJnoNFFFBQUUUUAVdO/48Ivof51aqtYDFlGPr/M1ZpLYGFRz/wCrH++v

          /oQqSo5/9WP99f8A0IUwPm/xOQvi/Vwrf8v8xx/20NRheOvB7Uvip2/4S7WlKgYvJiDgj/lo1V7q

          8isrL7TKDtA5IqzNpplraVGSR9Se1ZN9r9lp0RZ3WRugVeSTXL674klucR20hEXcjqc1zTOznJbN

          IFE6+fxxIsn7i3G3H8XrWXceK9TmjZRKE3nkoMYrDwaTFIqyLH2253lzPIzepNWoNd1CF8i5fHoT

          WcUZcFgRnpQyEfw0BZHXWPjO4Uqs6Bh6jiuptNdsr2MYnVXI6N2rycEipY5WjcEdaAcUeulRksBk

          HoRU0TDuD71yPh7xE0pFtOiYPGc8murHDjnjFMzaLJUMvGajZecbu1PV+cbh0p7L14Ge9AirInyD

          kY9DTJEIA5wfU1YkGVAIHt70yZcoPlH+FAynsO3jGM9K9K+EoIj1nP8Aftv/AEJ687YbV4Bz0+te

          j/ChcQ6t/v23/oT0io7nqNFFFI0CiiigCvZf8eifU/zNWKgtP+PZfq38zU9JbAwqOf8A1Y/31/8A

          QhUlRz/6sf76/wDoQpgfNvjGRU8U6qvR2vZ9pI4++1cH4h1S6/49iybAoBCPuFdr45laTWNedUIZ

          L2dV4yeJG5rySRy7ljyT3q5EuOuoqIZGwKspbR8fOCTxwOQarxnb061uWFot1DlW/egcnFZyZSKU

          WlyTMQzpEQcDf3px0wQuFkkUjuQeBXQpZmS0jQnLZyFxgr7g9x7Vo2unwXEcKywFZWziVTnOPbsa

          jnKUTjDDHDMImcrbycFiAw+oolsXtcpO3ybuo/unow9q7G48KNeRMUjDc4V0+Uv7+lYSWUscn2G6

          iZwiSFSOCwx0H40+dC5WYz6bNh2T5wvPA6j1qpsIXOOOn0r1HSfDtxDZBrmI+YU6Y7elZ8/hPBmb

          y9u/5wp7HuKj2qK9kzz+KR4ZA6MQR3r0zw3qI1CzEbOC6DvXG6joE9szOikqOcVJ4Yu5LXUowozl

          tpB7g9q1i09UZyjY9I5GMrntxUqhcDrntzQUBGVUigEjvj61ZiNYAk4Jx3xTJE6Ddz/Opw27BOP8

          abJksqgD1zQBVkXJADc16L8K12xasMn79twe3zPXn7DJ4UDFeg/C37mr8fx2/wD6E1JlR3PTqKKK

          RqFFFFAEFp/x7L9W/manqCy/49U+p/manpLYGFRz/wCrH++v/oQqSo5/9WP99f8A0IUwPmrxetuP

          Emuo0h3yXdxhc/7bV4+6FGKkEEHHNeseMbRH8X6s5jJcX85Hb/lo1cFr9g8EyXSoQkuc46BquQ2l

          ozHjBJxXWeH7GS4uBBjAJGSP5Vz1kiNMEk6N3r0bwrEkM5LkBjyM96ynsOO51Wm+Fbe4ZBe4YKB8

          oOMV0mneELFJmkEYKk/db0+vrTdOb5ASgJJ5rq9NVXIOfrXNzXZ0cuhBDoVvGrGOEDcMcD0rFvPB

          mnTXZn+zjfuDdOnr+deiRLFtxgVHPDG69KbjpoSpa2OCl0vacFR+VZt7paMhyoru7q1TgjtWJfwD

          a2B0rnaaZupI8p1bTlXcTgDnGe9edrGE1MPGCpEmDj1zXsOtWjzKSqHaOM15PexfZdRmV1fCyB22

          jkV2UH0OWsj0hMtGpwQdozj1pG+v6Vk2fiHS7wKIrtUYgAK525/OtFZklUMjhgehU5BroOTlYZxg

          d6AyZ6Y/GmMSDng/WoiPYH2pATEjng16F8Lf9Tqo/wBu3/8AQmrzXcRxjj616P8ACpt0Wr8EfvLf

          /wBCagcdz1CiiikahRRRQBXsuLRPqf5mrFQWf/Hsv1P8zU9JbAwqOf8A1Y/31/8AQhUlRz/6sf76

          /wDoQpgfNnik48V61tIz9un79/MasOKw/tPTJbW7OJCflYdAexrS8R2TDxtrkke4F7+4JIPH+sam

          W0T25ZndQDyOa1eqHPTRHGyaNLZ3rQyr8oGQwPWul0XzWljUKxZBwfauguNAj1bRi5vHim2l42Yb

          kYjtxyPSuc8Masy6jJHdfIY+JA3G3Fc8pKUWluOMXFq56lpW9VXcck9a6qxLquEbpzxXlVn49N7O

          bfRdGvL90P8ArPup+ddLbX/i+/to1VNK0qRjhzNIZCPoB/jXJyu+p1J3PS7VJsA7iRU8rmIfMRjP

          PPSvJ7rXoNIuEOq+NLq4kjjw1ra2mI29/WnW2hQtPDqQutZLXCebGJ7onAP+z2+hpyslqJWuemTu

          OorlfEfiix0Xy4XikuLyc4ht4l3O5PYAVxV34l8QeHdVi0KyvY9TEsJ8lblS8/mDoARweo69KzNB

          uNRn8X3Nj4qjlt7+5t/9GeMhT/tBG7Z6cU4x6gamt6nqDOY7ua0sEZf9W8oMqsexVc4/E15nrWmz

          2sq3FxeyXCTOA0gG049q9eg8N2VlA9vZ2O0SNudpGL5PqSeprivHVittp5UdEwfxohU96xM6bauz

          nNQ8L2MMBuIHk8vb8wfk89CDSeEhex3kQLv9nlRnZe2BwCR61fuZWn8NIFYGR4VCrn5mOew781pa

          TbeTECp+VI0hXA646n8660jjbNMvgDJ/TrTD83Qr/jTn5wM1CSV4qiRjKTxkV6R8Js+XrGSP9Zbd

          P95683Y8jpmvSPhN/qtY6f6y2/8AQnpDjuep0UUUGgUUUUAQWf8Ax6r9T/M1PUFn/wAey/Vv5mp6

          S2BhUc/+rH++v/oQqSo5/wDVj/fX/wBCFMD5f8UTeb421t1uJNqX86GMcDIkasuW8eYYgVGYHkOa

          3fFNnE/i/WXErI32+ckDkH941ZcbxCdoHhdGB4bblW+hrZIftE/kaOia8dLI81gYf416496q+JdF

          nvbs6zo0a3VvdjbNFARluOo9/akj06OORmifIY5KkVc0/wC1288kqxfZY4zu87dw3vgVEqLk7xN6

          MZ1XyQV/0D4b6nFbWs2n7TG8cp3Iww3416jarbTOJDEhYHIOK8iuba6uNTPiDTmSd3/1yL8pkx/E

          BXV6P4rZI1Emm6h5noIgf1zXDiMPUjK51OlKlpNHpK20RXK2lq+RjLRAmiLTEjd7qc/IqkkAYGBW

          NZeJdSkh/wBH0Z0PUNczKgH1AyaiuDqutxPZ6hexQ2sg2yRWWQSPTeeax5J/aZLXVHP/AA60z+0P

          Fl7r05Bjt1e3t2J+/K5zIR64HFa/jnQ0aOOZ4yskThoZ4x80LdmHt7Vt6dpMemWsUFr5KRQcQkHG

          0emKz9c1MSwP/aF9GxR8eTF1atbNqxKTRhw61rscAhXT7e9KKB9o+0eXuPckY4rhPGl9qc6eVciz

          RnOBFFlz+JOK7W4vorLTpbuWSOK35wnf6mvPWkudW1oXrQf6PG4VUc8+uT6VdKl72iM5vQk0rTtP

          gZFnmea6CgsDxs9h6CuhAAGE+UAYAUYH4VVuXsrUtM+0E9XA5plxJdSQo1m0ZVvvEnt7V38hx8t9

          iaaZIvvEgeyk/wAqMEoDzg88imS3iW+xJnILnA46mo7u9jgjWVw7oTjCDmp5SWnstwlkVAMuAT0B

          716V8JGJi1jPXzLb/wBCevMZ0hvdkrRnCfd7EV6d8JAoh1gKMfPbZ5/2nqXHqUkkeqUUUVJQUUUU

          AQWfNsv1P8zU9QWfFqv1P8zU9JbAwqOf/Vj/AH1/9CFSVHP/AKsf76/+hCmB8geMtfvYPHXiGKPy

          gqancqPl54laspPFN+AQVhYem0/41N41iLfEDxHxnOqXXA6/61qy47ZguTGUUHliOlHPJFqCNm38

          RXc7pGUEeWALIc45712evzLDo80EfzyyhY4wOuTXI+HNIGv3D2qXX2VIcMzBMs/PavTrPTobcRhx

          9qlj58+RcH8BXbhozlBvue9llKSozsvi2Zn6Zol7B4fgvIZ3FvIpSR40/wBWwPqeozxmn29leW0e

          6Qq2DjevAb3rorTXtRs9On0+zEPkAkmN03YU88A/yqOGaIoUwY43HDryAD/StFh/ae7UWx20cNP2

          fs60fh8+hUh1I26f6QjBV6nt+dXbbVrK+KeXcDys/eU9fxprWasrLEokjI+5ndkVhvpkNnMzW0OE

          I5hzgD6elcdXALV0nt0OergFO7ou/l1Ovmt0m2GEmRAc7HclTVW8soYrZnuZ4IIxksI0Ax9TXJvc

          XsS5tkmXtjzhiud1qS+mYS3F1K6KeU3ZxXGlJPlloeZyyT5JOxp6iH1e6gl8sppUWWhZ+BOwPUD0

          H86bLbyOs0kEhiuWUlOBhmHYj1PSle4mt7W1Dzebbl/lyuPvDgj0qDULt4ERkC7mYKoPdvb27mvW

          p04Qp2PTVClDDvm1RWt9U86BBIjzMRz8mBn0qZpPMdZHEse3jar8flWabd7eBYDOpiBJ8zPG7/8A

          XUVxFqPlpOsglUd045+neuRysfNPRuxrm7WRgpjLlehPOKha+lMojUQlR2JOawZL2/TKsXQ/7uKp

          STzyuXkeQsO+6odRAux1c108WC5UA+5r034MOHj1xg24F7Xvn+J68FZywG+Qn6tXs/wBKmPxFhs/

          PZ9/9qSp576CWx7lRRRTAKKKKAILP/j2X6t/M1PUFn/x7L9W/manpLYGFRz/AOrH++v/AKEKkqOf

          /Vj/AH1/9CFMD5T8T2gj8b684j3SNqVy2T0A81qoCBpsJ1UH527Cug8Ztnxbq8YwP9NnJbH/AE0a

          si3jnmP2eAYUsBv6DP1q1roi4puyW7Nfwwsa3s7wEupUDcRjFdVbTOd44JX5ce9ZdpYJpmlRpujD

          rkM6nlh159cVp2YInfvHtBBPcmvXoLlio9T7XBU1Sw6pt6lshV8uR8K4bt6d6W5uYIYG8mFGYDIw

          MCmNKGLgKcJ1zVVP9KtMuMKcggDGB6VudCgm7yIbS6uZ5WZChRDksF6H2xVi6aSZjKXcoo3PGMdu

          4Pp7VHArrCq2xdYlPOwD9at2dt/aE0FusgRnDKEP8bdRk+mM8etYVIQavIzxUaavKWnmZkpUrx8w

          PY1h6lFD5TmSRo07kjOK3rzgyRMjLLH1yMEViahE01uwxlivT3rza9OontzLueTjaVWLTtzx79SX

          y/tugWN284khhDW8ceMP8vRm9uayZ/Ja4tyJG82LLPjkKh/qf6VtaHZR3mhm1aFFmtxLNPc7+UQD

          O1R3JrAhNsLuOe7eVYpkCN5SbiW6/wCNW5fu7HPUlKWFlBLVEi20RYlsSRnnHTH/ANenS28CoVid

          th/g3GtZ7OLTblzbxSXECKHzIuEhBGck/wAQHcVbSNH0mK7jWG+MmSjliBuz2zzgc1zcyR4ji0ub

          ocoU2Aruyh9efzFVJbSzkUlol3/31GK6yPRXninljgNvcY/c28hAJI/iB64PvWHNbQyKWLxod20u

          pyu/upHY+9S7MTjKJiSaLKI/MiYEHsy4NeufAa3lgTxCJUK5e0xx1+aSvMZVljdYZdyEHhg2VYV7

          D8G4THbaw5BAd7bGf956XJbUk9booopgFFFFAEFp/wAey/Vv5mp6gs/+PVfqf5mp6S2BhUc/+rH+

          +v8A6EKkqOf/AFY/31/9CFMD5s8U2k0njDWCIwQbyfoe3mNWfa2xuLhLeJSEXBJz0NWfFV1cP421

          qKNdub2ZCR02+YR+dOjzY2bF0y5Xgt39hXRQjeV+h6eXUXKteXTUjmXzdaeEAmK3+VR2z1JrrLCX

          ckayru2jAI4Nclpg81mnJJeRs5PpXS2zYAz2rlliZxqOcXY2niZxqOcXZmsYY2jcZ2gn8x71Wlm8

          pkjiyecufb0qKS6IXg1UW6YvsHl5bjc3ataOKnOolOWh0YfGTlUSqy0uPWRYkMKHdJuO7aeFPXH1

          p/2mVzhByhAyOo9KgkaNpUS3UbI/lbb0Lev1xUCtJa3UjhiXBwQehHY17N4yXkfRx5ake50b63da

          lc2Wl3NhBOkgYPdFgsmFGQD6n+dc1KLTzQ8oGzJVgXwFzxu/A1qTeVM1qwIE0TiWMqeVb1zXN6qt

          xbzzuVYxMd4mZRgtnJ9utc0qfI3bY86FBUlOK0T29TVsrm1+y3SWTfZ9QS2MflImdw/ic/X07AVz

          S20cUkImMgh80PmM4br0FdDNcW2k3Fre2qNK09uHuVAyBno2e309q56/nW6lMEefLJ+9jB2n+Vc0

          dmebhFFxqb6o627s9UudLIgt4Le9kbax37kZc9Dn2NIt9Yw2E+xYza2Y2uyDCxyDggjqOe4qrHDN

          pxnvoLiW7aQpFFbOxA3DA59OM06TUNNmmbTZEMH71lmjlXidsevUjPeuNnhtJ6LVJ9COztvNnj1e

          4m+06jDAWVos7GU52jHGfSmXOn2l0ryNZRo7olwbYLhgxzkn8Ks3cSPbxxi3XyIyMncclF5AUD3G

          MVUn3XUc/kB4GuIhsO3c28cnOe2D0pXIlNy1v1Of1qyntJvJEKtZu2YJQc7cevpXqXwb80QaykrZ

          2vagY6D5nrzqUXH22+t51nUeSipISPLZhx8q+/oK9J+EQEf9twLIjeW9qCoPKnL5+lVfUUo8rses

          UUUUxBRRRQBBZ8Wqj3P8zU9QWf8Ax6r9T/M1PSWwMKiuCBECTgBlyT/vCpaKYHjmqfC/Ub/xBqWo

          rqGm7Lm5kljVpmBCsxYZ+XrzUd18MNZuLYxrf6Qrk8N578D/AL4717PRVxqSjsdFDFVKN+TqeK2f

          ws1i3RVbU9KOPSZ//iK0k+HuqrjOo6b/AN/m/wDia9YorF04sz9rI8of4fao3/MQ0z/v83/xNU7n

          4a6zJEyxalpQY9zM/wD8RXsdFCppAqskeR6b8OtVsnMb6hpbWzKA6iZs5HcfL1qS4+HmqSXW9NR0

          3y+p3Stk46fw16Xq+pxaLpF1qU8cskNtGZHWIAttHXAJA/Wqx8Q2g1xNK2TeY8HnibA8vHJ25znd

          gE9MY710xxM4qyO6nm2IppKLX3Hm4+G+qidW/tDSzH1IMzZH0+Wpb74danPp08EWpaaZZBsDPKwC

          qevReuK9L0fVIdb0i21K3jljhuF3osoAbGeDwT169abqur2+jx2r3CSsLm5jtU8sA4ZzgE5I49ap

          4io/dZUs4xMlq19x5RB8M/EK2T6e2s6XHaMjgFJXZwTjjlRxUEnwq1x7hd2qaS8ChV5mcMygY5+T

          rXsEOs6XcXn2OHUrOS6+b9wk6l/lJB+UHPBBB+hq9WXO737nMsbVV7W1PIU8BeJlmiJ1bRiiAgje

          2Tnv93qKY/w41y7jm+26ppLyF/3To7AqnYZ28HrmvYaKzscqbTujxy0+F2oW08TjUtOKwxlUDTu5

          yxyTkrxRF8NfEEd2C2vadLbsWLhnYMM9Ap28V7HRRYbk3ueOD4aa2qzB9X0y53PmMSyMvlj8F5Nd

          R4E8M3nhyG9bUZtPe6u5Ic/Y5CwO1jycqDn5q7uiixPmFFFFMAooooAgs/8Aj1X6n+ZqeoLP/j2X

          6t/M1PSWwMKKKKYBRRRQAUUUUAFFFFAEF9aR31hcWkoBjniaNgfQjFcJHofiJfCnntaA64s42wid

          cFRD9nzuzjGMvjOfxr0KilbfzHcw4dX8P+H7W30mfWdOtpLSJIvKluo0ZQFGMgkY45rL1GLVfEF3

          Zwi1ik06PUYb23v4JUMTQIAwB+YsXLZHC7cEc12FFVfXme/9MlKysjzjQbG81E2qQ2JjhtNfurt7

          3em0qJJVKYzu3HIHTGO/avR6KKS2t/Xb9B9b/wBb3/UKKKKACiiigAooooAKKKKACiiigCCz/wCP

          Vfqf5mp6gs/+PZfqf5mp6S2BhRTRHGJDIEUORgtjk/jTRBCIzGIowhOSu0YP4UwJKKYYYjszGh2f

          c+UfL9PSlEcYkMgRQ5GC2OT+NADqKjEEIjMYijCE5K7Rg/hSmGI7Mxodn3PlHy/T0oAfRTRHGJDI

          EUORgtjk/jTRBCIzGIowhOSu0YP4UASUUwwxHZmNDs+58o+X6elKI4xIZAihyMFscn8aAHUVGIIR

          GYxFGEJyV2jB/ClMMR2ZjQ7PufKPl+npQA+imiOMSGQIocjBbHJ/GmiCERmMRRhCcldowfwoAkop

          hhiOzMaHZ9z5R8v09KURxiQyBFDkYLY5P40AOoqMQQiMxiKMITkrtGD+FKYYjszGh2fc+UfL9PSg

          B9FNEcYkMgRQ5GC2OT+NNEEIjMYijCE5K7Rg/hQBJRTDDEdmY0Oz7nyj5fp6UojjEhkCKHIwWxyf

          xoAdRRRQBXsv+PRPqf5mrFQWfFqo9z/M1PSWwMyvEOu2/h3R5dQuFLhSFRAcF2PQZ7ev0BrymX4z

          auZG8q0sVTPAaF2I/HzBn8q6v4wHHhG2/wCvwf8AoqSvJ/A8Uc3jPTFlVWQSF2DAEYVS3f6Vz1JS

          5+VM66UIez5mrnVf8Ll1r/n20/8A8B3/APjtL/wuXWv+fXT/APwHf/47XFXNpHoeuvBqdtHfqAH8

          q1nKK24ZXDbc9xxitrx1o8OnXUUenaNFa2kMaebOlyZWLsM4YFjtGcgEgZ/QRedm77Glqd0uXc9b

          8E+N4vFkMsckKw3kIDMqnKsvTIz056j3HNdbXiPwZP8AxU1yP+nOT/0OKvbq6KUnKOpy1oqM7IKK

          KK0MgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAILP8A49l+rfzNT1BZ/wDHqv1P8zU9

          JbAzz74w/wDIo23/AF+j/wBFSV4/BfwxxB7VSlxBp80chxj5mJAbPc4f9K9h+MEbv4OhZVJCXisx

          HYbHH8yPzrwoTLFbXKlC5lj2DH+8D/SuabtUO2kr0y7pjz6l4kguL6YzzTTo8rsOoGOPyGK1tc1H

          T7S01JI4QdT1GXazGYySbA4bc/OF+6MKOnHvXOJO0KELbwSk/wDPUE4/Wljv9Qj/ANTLDbj+7DCq

          j9BSjJJalSg21boei/Bn/kaLn/ryk/8AQ4q9vrxH4LRSHxHdyHLKtmys3uXTH8j+Ve3VrR+E58R8

          YUUUVsYBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAQWf/Hsv1b+ZqeoLPm1X6n+Zqek

          tgZBe2VtqNnLZ3kKzW8q7XRuhFcNJ8HvDkkjMs+oRgnIVZEIH5oT+tegUUpQjLdFRnKOzPPf+FOe

          Hf8An71L/v5H/wDEUf8ACnPDv/P3qX/fyP8A+Ir0Kip9lDsV7afcydB8OaZ4bs2ttOhKBzl3Y5Zz

          7n+nStaiirSSVkQ227sKKKKYgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAILP8A49l+

          rfzNT1BZ/wDHsv1b+ZqektgYVi3+tSWlvf3EEa3cECvmW2KObdlX5lkUuuSOvynPOMDALbVc9eaf

          qL3GpwiKN7C9fzZNjfvGQRxo0eCQAWCMoOejk7lKgMwJLTxEL7Smulg8lt8cAZZYrhBK7BQMxvyF

          LKTnaSDxVa48TTsFGntot02+FWWPUS7De6IflCdMtjdn0OP4anaxvLi2upTbNG9zqVtciF2XciI0

          Ibdglc4jY8E8Y78VVuPD8tp/Z0VvJf3qwNDFH5jQhIIlmhds4CsTiIY+9096AN+DULW5vrqyil3X

          Fps85NpG3cMrzjByPSpbm4W1tpJ3WVlQZKxRtIx+iqCSfpUUH277ddfaPs32P5Ps3l7vM6fPvzx1

          6Y7VaoAw7XXby/0iG6tdKcXMtxLAIJpdqx7GZSZHUNt+52DckDnrTF1+7nihjtdOie+ZphLE9ziN

          PKYK+HCndyRgFRnnO3GKhm0vW7fRfsenva75LyaWcm4eI+U8jvhHCMVb5gCccc4OcESf2dqkKWNz

          aWWnQXEEUlu1t9ocxhGKkMH8vJIKjjbzk896Hu7Ddhtz4qIt1u7OzSa1S0jvZ2ln8t1ifONi7Tub

          5W4JUZwM88Pl8SH/AIST+yIDpe9WQMs+oeXOcjcdkWw7sKfUZ9utZt54Ru/s9vbW32S4WKyS1iuL

          l2SSydcgzRAKfmOQeCh+QfN6a9zp9/Ncy2629gLOaSOWS5V2SbK7eqbSHPygbtwwMccc07X0E7dC

          LWPEb6PpltPdwfZ7h5MzoFacRQo2ZZf3Y3FNo4bbwXj3BckDT03VbTVY5ntTN+5k8qRZoHhZG2q2

          CrgHoynp3rJk0/UtR0+a0u1dF1OZnug8gZbe3+VfIUAk7njAB2nAZpGDcKG1tL+2rZLDqHz3MOI2

          nG0C4wB+8AH3c91wMHIGQAxkC7RRRQAUUUUAFFFFABRRRQAUUUUAFFFFAEFp/wAey/Vv5mp6gs+b

          Zfq38zU9JbAwoorm5/GFrFqUlkkSvJFKsTR/aYvMkZnKKI1DEE5HzBihUYJHamB0lFZkWtRl7lLq

          1ubNrdI3ZZtjFg5ZV27GbJJUjHUnGAc1KL+WP7F9rtvs4uExITIGEMp27YyR1ySwDcDIA6sBQBeo

          qJLmCWeWCOaN5ocebGrgsmRkZHbI6Zpt5cS21s0sNnPduCMRQlAx/wC+2UfrQBPRWJb+I0ntJJf7

          NvY5VuDbJbsYi80gGSEIkKHGGzlhgqR2p9/4lsdK0YalfpPb5ViLZ4/3zMucqFB5IwTkHbjnOOaA

          8jYoqlNqG3UrWyhi86STLz4bHkRbWw7fVgFA4J+YjIRsFhf/AGuS5gli8i6t5GV4S2Ts3ERyDjlX

          UZ44B3LnKnABdooooAKKKKACiiigAooooAKKKKACiiigAooooAgs/wDj1T6n+ZqeoLP/AI9l+rfz

          NT0lsDCuNvdMupdc1Hzxdyz3UURthGZRbgo8mwMwxsC4ikOCG3btud209lRTAwI7CCzudR8yzu5m

          2xmGUSyyuylWUKruxKuGaTJBUBXBJHJEEOkvDd2NvJJe3Ds8j3ayTzSweSyyAIS52NglF6biBuwO

          a6aigCjaq41XUGbTY7dT5e27VlLXPy85AGRt6DP4VPeNOljcNbR+ZcCNjEmQNzY4HPHWp6KTV9Bp

          2Zzt7oaJomm25sm1BLJg0lsSuZ8oytncQrHLbjuODzTX0q8Pga/05INs80E6wW2VHlK+4pFkHaNo

          IXg4GODiukoqr63BO1vI57V9JGo3cFrbC7tZN6XFzdW88sClQVBU7CvmOyx7O+xecj5Qy+GrQK19

          c7LtoTcn7C98ZWmWExxBx+9/eKpkRjg4zgHpg10FFISVgooooAKKKKACiiigAooooAKKKKACiiig

          AooooAgs/wDj1X6n+ZqeoLP/AI9V+p/manpLYGFc9d6/e29nrsqabIx092WI5TaQIg+5vnyRk545

          wy8Zzjoa5K98PT30GrQrZQo99fcTXaLMVi8oL5gO/IIO/YO2QMKCSGBq2muKbeeW/T7OqXUsETkj

          E5WR1CooJYthOmASegNRabrN9eXUEbWlsYpd7s0czeZBHltvmIVwrZGwjdncGwMKcN0zSL61S9ZH

          tLWS5u5XaRLYGUxmSQglt2C2GBUkYXoVNZMmlX8VjqKJZa1LqMrzlLtNQVEdiSI3KiVRwoQY2jpj

          FAHVwaha3N9dWUUu64tNnnJtI27hlecYOR6VJdtdJbO1nDDNcDGxJpTGp55ywViOM9j/AFqOD7d9

          uuvtH2b7H8n2by93mdPn35469MdqL7TbHVIFg1CytruJW3iO4iWRQ2CM4IPOCfzoAzNK1HWNR1K6

          iuLexs4rGbyJkjkedpmMSyDaxCbAA69VbPI+XGTy3iTx7qOka5qFlDLpyJb3MEKLMsZYq6xksd1z

          G3G9uibeOWHJG7p3gvRI77VmufD2lmKS7VrbdaxMBH5MQOBj5RvD8cc5PfNUvEtvrmoyvHaW+vrG

          t3A6pG1gIdscqMWXcd+cKWAbvgEYyKALvhnxLe6vo+oXclul7JbXfkRpY+UpkXZG3/PZ0yC5/wCW

          nQevFWbLX799YFjf6Jd2ouZG+yuWhbEaxqWMgSViPnyMgY+aMHk0y1fW30u4tUi1SO7lbZHeaibQ

          +SGU/OFhOGC4yFIyWYDIXJUtZNT0ue4a50W51C7mbL3lnNDtdATtXbI6GMDJwg3AZzuZmYkAL/xQ

          2m6pdrJYXNxpsDW9u9xbIGaKeRuVZSwZhtkgI2K33j1IwNDw7qn9t+G9N1MvCz3NskknknKq5HzK

          OT0bIxnIxiqv9hxTeJ4dR+yJbxWSyeXsIH2iWTkyEKeih5QN2SWlkOBwWk8L6T/ZWgafHLB5N59i

          t4rlQ+QXSMLkgHaW4xuHJCqMkAYANmiiigAooooAKKKKACiiigAooooAKKKKAILP/j2X6n+ZqeoL

          P/j1X6n+ZqektgYUUxZom27ZEO/O3DD5sdcULNE23bIh3524YfNjrimA+imLNE23bIh3524YfNjr

          ihZom27ZEO/O3DD5sdcUAPopizRNt2yId+duGHzY64oWaJtu2RDvztww+bHXFAD6KYs0TbdsiHfn

          bhh82OuKFmibbtkQ787cMPmx1xQA+imLNE23bIh3524YfNjrihZom27ZEO/O3DD5sdcUAPopizRN

          t2yId+duGHzY64oWaJtu2RDvztww+bHXFAD6KYs0TbdsiHfnbhh82OuKFmibbtkQ787cMPmx1xQA

          +imLNE23bIh3524YfNjrihZom27ZEO/O3DD5sdcUAPopizRNt2yId+duGHzY64oWaJtu2RDvztww

          +bHXFAD6KYs0TbdsiHfnbhh82OuKFmibbtkQ787cMPmx1xQA+imLNE23bIh3524YfNjrilWSNwCj

          qwIJGDnOOtADqKKKAILPm1X6n+Zqeq9l/wAeifj/ADNWKS2BhWZc6/p9pPLDK1yWidY3MdpK6h2C

          lV3KpGTuXjPcVp159rdqLy91HUI1hnitmuJ2jfbkqqQxkjfFIoO+CRRkKTtJBIBpgdrBqdtPFNL+

          +hjhXdI9zbyQADnnLqMgYOfSnHULUac9+ZcW0aM7vtOVC53ZGMgjBBGMggjGa5JNLkstFvdPa4W3

          kk1K2MkduEx5chijwQYlUqcN0XBwQc/MCXsdydPv2ukYXUelXzXBcRh8SMBCX2fKWKQkcdNvPagD

          t6bJIkUbSSOqIgLMzHAAHUk1nWMlq2uaqkV9czXCeT51vIxMcGVO3YMYG4cnBPPpTPEiu2iuVl8l

          UlikkkIyERZFLE+wAJ54454pMa3JX8QaLFYxXsmr2CWkrFY52uUEbkdQGzgng/lUMvirw/Ctu8ut

          WCRXKu0MpuF8t9hUMA+duQWHGc9fQ1mWmpPBoWqXNpcxXn78R2l8fLxcu6ooZjGFVsOdmQOi46iu

          e8bWml6NJonkXEkWoJKqSS/aXTMYjnIZz50ShmdnwxdWbL43fMtVYR3Fr4i0W9vWsbfVLR7xZJIj

          beaBLuQkMNh+bjae3QZ6c1p15H4E1PTZfFFgILm5+eE2sUCTELxH5ib0N5K21E3gDbtVnIOGHHrl

          ICK4uYLSBp7maOGFcbpJHCqMnAyT71WtdZ06+ht5bW7jmS4fy4yhz8+wvtP907QTg4pmuxGfRbmH

          zGjWRQjlbdpiVJAZdifMQRkcYIznIxXDSWV5qmm6Ne3ohnujbhYYJVhWa4wi7SpZZi4+d927aBwx

          C4JoA7y91rTNNnjgvb+2t5ZPurJIFOME5PoPlPJ4zx1qSz1C11BN1tLvBRJBlSpKOMq2CBwR39QR

          1BA4HxE/9neILW2W+jMESIioLryzE3lkZKCeMIdqjBUIpEpHXAOton2O10aSObUJogli8ZeK6mkK

          rGqiSVQSVUHcjJhc7SpHDYAB2VVbvU9PsJYYry+treSdtsKTSqhkPHCgnk8jp60aa0T6XaNBPJcQ

          mFCk0pJeRdowzZxyRya5zxHq2jw6hPpU13Y2t3e2wS5nvJlRY4PmAwGOGYktgDju3YFDSNe48T6H

          aXF5bXGp20dzZqzzQM37wKIxISE+8w2HPyg9+4NWbDWNM1XzP7O1G0vPKx5n2edZNmc4ztJxnB/K

          vJ/Ekuj6b4nuo7O6cWzRwM2bqTa0/wBolJZc3UIIVzkldyowYnYQ2eo+Gd9aXUGpJbXFzMzNHckS

          S7kjWQMQoXz5irFlkZtxDZfkdMMSO9ooooAKKKKACiiigCCz/wCPVfqf5mp6gs/+PZfqf5mp6S2B

          hUVxbQXcDQXMMc0LY3RyIGU4ORkH3qWs6/1YafFNI9ldyrCy7jGFA2t/HuZgNoOQecjGSAvNMC5c

          W0F3A0FzDHNC2N0ciBlODkZB96pjQNGETRDSbARswZk+zJgkZwSMdRk/mabDrto1rJcXh/s9EmMG

          buSNQzgZIDBip7jg9VYdjUUXirQpZJ0/tWyTynCbnuEAf5Q2V55HzYz6g+lAGxRRUN1cw2dtJcTv

          siQZJwSfoAOST0AHJNAE1MeGKV43kjR2ibfGWUEo2CuR6HBI+hPrWNd+LNKs7e2nke4ZbibydiWz

          mWM9MtFjeBuZF+71kT+8KS38W6Zc6gtkiX3mu22I/YZisgG0MdwUhQrOEbdgqwIYCgDTh02xtxGI

          LK2iEbB0CRKu1gnlgjA4IT5f93jpVqiigAqIW0AgSAQxiGPbsj2Dau0grgdsEDHpgU29u47Gzlup

          QxiiXfIVGSqjq30AyeOeOATxWdf+IE0+4aJrG5lUP5fmpJCEDCMyEHdICuFBPzAfqMgGnPbQXSBL

          iGOVRn5ZEDDkFT19QSPoTR9mg+1favJj+0bPL83YN+zOdueuM84qL7aqc3EUluoh85nlxsQD7wZg

          SARxnJwc8E4OCwvotRtVniWSM9HimQpJG2AdrKehwR+BBGQQaALVFFVb7UrPTVhN5cJD58qwRBjy

          7scBQO5//X0FAEklnayyNJJbQu7bMsyAk7G3Jz/ssSR6E5FEFna2uPs9tDDiNIh5aBcIudq8fwjJ

          wOgyarz6vZW19HZyyOJZCFBETlFJ6BnA2qT2BIJyMdazbzxpolle3Fs080/2WNpLqW1geeO2wcbZ

          DGDsbhzg9AhzjjIB0FFFFABRRRQAUUUUAQWf/Hsv1b+ZqeoLP/j2X6t/M1PSWwMK4+80+8N5qaWm

          myGFr3zeDiOUNDHuzH5sYkBZW3FiRk4w2W29hRTA5Twtd/YtBiutS8yDz0iMRdvkkyuQsUYkfnrh

          VVM5AC8YEtg8WmPZyX5ktrW2tTbWk00ZRTGSvMrdEbCRgBtuc+rFE6aigDMsY7Vdc1V4rG5huH8n

          zriRSI58Kduw5wdo4OAOfWjX45H0vfFE8phnhnaNBlmVJFZsDucAkAckjitOijzA808WW0F1pF9e

          y6TLM93qVu9o8tmd8KbreNyQ6MV3Fdu3YzNn7jAHHPaHLZr4isZn0PJtb2JQTbJGAzzPbhiVso/u

          sCwDMvIA+8pVfbKKACiiigDO16OaTw/qC25mE4t3aLyGZX3gErgrznIHHfpWBqmjDUr/AE65kvdR

          jF5deWY5FiXbGsc7KNuzoQWG1skqxDDPTsKKAON1xDFc6sjS388kOlLPG/nMEjkCzfvCoIQNlIyM

          DO4bgBgkXobvT9Si1NpHXUZVtP8ASFsXDqY33YhUqQXYbGwW5y5I2hto6SigCrpqxJpdosEElvCI

          UCQygh412jCtnPIHBrO8R2CXFvbzx2iy3SXVsBIse51jE8bNzjIXjJ7cZrbopp2afYEzk7q2mg8Q

          TtB9v+2z3cU0JQS/ZvK2xrJvK/u87Uf7/PTHauP1C4ur2806W40tPEBMxjjv01GQrEApl/ctFBGu

          4GIsWiV3+RkPJUV65RS6WBmF4Uurm70uV7q+S7lWYqSJlkaP5V+RwIYtjA5yrLuGeT2G7RRQAUUU

          UAFFFFAEFnxar9T/ADNT1BZ/8ey/Vv5mp6S2BhRRRTAKKKKACiiigAooooAKKKKACiiigAooooAK

          KKKACiiigAooooAKKKKACiiigDMSSVF2rIQPTA/wpRcT5x5p/If4U0EnHA9ssB7etIQewX/vtf8A

          Gue8zX3SXzpv+ezfkP8ACk8+fP8ArT+Q/wAKiGQf4c/76/4045OPu/8Afa/40XmFojvtEw/5bH8h

          /hS+fMRnzW/If4VGVz2HH+2v+NKM9tv/AH2v+NF5haI77RPnHmn8h/hSiab/AJ6t+Q/wqMHJwNv/

          AH8X/Gghjx8v/fa/40XmFokhmnA4lP5D/CozdXA6yn8h/hSk467R/wBtF/xpMbugU/8AA1/xovML

          RHrcTMP9a2foP8KPtE3/AD1P5D/CocMW+Up/38X/ABp+Dn+H/vtf8aLzC0R5uJlGTK35D/Cmi6uD

          /wAtT+Q/wpjAk4+T/v4v+NAU99uOn31/xovMLRJRcT7c+afyH+FH2mYjiU/kP8KYAQMfL/32v+NN

          2nPG3B/21/xovMLRJPtMw6zH8h/hR9pnz/rT+Q/wqPG4Y+Q/9tF/xo2Nkfd/77X/ABovMLRJvPn/

          AOep/If4UhuJx/y1P5D/AApmdvB2j/tov+NH3um0/wDA1/xovMLRJRPN/wA9m/If4UhmnHSU/kP8

          Ki5J42n/ALaL/jTvm6EL/wB9r/jReYWiPM8w/wCWx/If4UC4mJ/1x/If4VH7Hbn/AH1/xoAIH8P/

          AH2v+NF5haI83E4/5an8h/hRTcMxAABPpvX/ABop++HukEp4izk5U8Dv8xrm7/xv4esPs3/Eys7n

          z51gxbzxv5e7Pzv83CDHJ7V0kmcR/wC4QD77jXmfieYavqc154b8zUWewk0+/aGHzYo4DhyY23KH

          l+bhAWz7Y5OoLY7iPXdLnhkntL2K9jhx5gsz9odM8D5Y8tzz27H0rJtfHui3U6RxC/KyqfssosZW

          W6IGX8vapJ24wcgYqpetoWpeCJdJs2+2/Z4TaRI9q8stvIqNGrSRqheM5U87R7da4Kx0xLnUbXTp

          LDI0q4tpLtxp7P5yYyRtS1WTkdpGwf8Aa+8BIZ69qWs22lXOnwSRyyzX1wIIkhAZ+mWcjIO1erEZ

          xkU2w16zvH1FW32raZK0dyLnCFVAyJOv3CMkMcZANc1rsSQ3lr/wjEr22v3kCJFGsKlYrZSOZFkU

          mGNRnhQpLHoxHEWkn+0Nd8Q6gdS+1xafbpFY6k0kca4aMvIGkRNjBW2n5lYLwceqsBPd/FDw5Z3E

          ltI08jIzgtEqSIwChlIZWIIbOB3B+9trqtO1K01S0S5s7lJYjwwjlWTY2AShKkjIyOhNeVXaRT3U

          l4+g2et2tuztqOqG+ebmRQOHRFGEXBIRHCDGNpya9F8LTPLpBV9Rj1Exy7FljvFucAKvBdY0ye/I

          J5zk54bSsCNzofQ+gGaOuOeT0YUEkZyCBnOcZoB4B/L3NSAhPIPPzDoO5peOmEJ9KOhAHYYz70mR

          jGQAMdeooAUfeU9s9+ooHQY67ePrQckcdS2RSD8SOuQOhoAUYBB4A9fWheCM8YBz7UmR13Ln1A5o

          xuyMcYz160AAHygEfgRQeMHc20/n9KXtjkZPANITycDOGzgUDF6H0PoBmjrjnk9GFBJGcggZznGa

          AeAfy9zQIQnkHn5h0Hc0vHTCE+lHQgDsMZ96TIxjIAGOvUUAKPvKe2e/UUDoMddvH1oOSOOpbIpB

          +JHXIHQ0ASQY+0RYwBvHPrRRAR9oi5XJYdBz1orWnsRMe8UjojIjOMEEAf7RpBbz4+4/4rzWlZ/8

          eq/U/wAzU9HInqHMYv2ef5sxSc4HI7UG3n/54yZ7Y7VtUUezQc5i/Z5+0T/eJ6UfZpiP9U49iOlb

          VFHs0HOzF+zTjpEwz1wOaPs82B+5k/3QK2qKPZoOdmKLebP+pdfccij7NPnIiZc9eK2qKPZoOdmJ

          9mmAJED4/u4604W8+PuP+K81s0UezQc7MX7PP82YpOcDkdqDbz/88ZM9sdq2qKPZoOcxfs8/aJ/v

          E9KPs0xH+qcexHStqij2aDnZi/Zpx0iYZ64HNH2ebA/cyf7oFbVFHs0HOzFFvNn/AFLr7jkUfZp8

          5ETLnrxW1RR7NBzsxPs0wBIgfH93HWnC3nx9x/xXmtmij2aDnZi/Z5/mzFJzgcjtQbef/njJntjt

          W1RR7NBzmRFBMJ4yY2AEgOSO1Fa9FVGNiW7kFn/x7L9W/manqCz/AOPVfqf5mpmG5Sp7jFNbB1Mp

          dfjMqsbK7WyZwi3zBBExJwON2/BPAO3B65wQaz9Z8S6lpCWWdGSSS5byxEs0rtvBO7b5cLgqFBcE

          kMVB+XIIqbT21eytbXSU0wj7Pti+2tInktGvG4KG37io6bQAe+Bk8lLp1zFNbW/2C7sLOC4vjBNF

          FdyBSJ22bYrd1CApKwDnkgEYC4LZTk0vdNIxi3qdfH4hkGjQ309pue6j821WzS4uUdSoKlmWHKZz

          3X8+QG6X4llupvKvdOuLdmZViMVrdupJ4O5ngQKOnOcdc4xWOlo8Xw3kg+wXEpM3lrbtFKx8tZwi

          MIp1mZV2Kr7drYGcAHmofBlobTXpP+JY0CNavmf7GIVGGT5SfskJJPJwGI+U5HQ0ueV0h8kbNnfV

          xtx8QFtr+awk0a4S8S6ht1t3u7YSN5nl87fMzn5+MZHHLLzt15vEeh3cElrba1pstxMpjjjTUFRn

          YjAAZSWUk9wMjtXDyWii8FobTWprSfMtxf79TSUSgx7XWMxsMpg7Ad/Ea7mBHzOpN2XKxU4L7SO+

          m1p4L+ws20u9aS8UNlWiIi/vbx5mcLxkgEZZQCSQDUh8XWUlxah43ht7q1huY5pGUBFkjmk+fnCg

          LAcnJ5PoM1iX3h2+u7nw9dxWn2n7PtMss9zKTGPtMEgdVmJYOUWTKnkDKlm2qDlaPaxJq2nT/wBh

          3FqzWMK3ssWkSQMrCC587YyxgqxYxDKYJ4Az0qXOSlYahFq52Fn4wsJ7Dz7mG9tZoljFzC9lOTFK

          +wCPOwbmzIuAOSDnGK0bTU11BLeeyieW0laRHkYGN4mQkYZHAOMqynuDjggkjljoF7aR3VxDY3sr

          3F1bXawtqLSsixywlo2Ej7S+2PcGyf4k3YVS5Npd9bWmm6rBo6DVYtSuZDvVHlSGVrjaCVPIzKh2

          hguTyygFhSnPqJxj0NXTvEOpXa6NPc6ZaQ2uq48to71pHTMLSjKmJR0TH3u/et64njtbd55SdiDJ

          wMk+w965vT9AXSb7SjJbyyImUiWK7uJY7N9j44dypTyyU3YXDYwPnwm1rKM2n7lBYRSxSsAMkqrq

          x/QGrhzW94mVr+6JJqwhuUiks7pImZYzOyqEV26L97J5IGQCMnr1w6LUlmuzDHa3DR7mQXAVTGWX

          qvXI5BGSAMjGap6glxfXUAis5T5ciSQ3S3C+TtyCSy5yTgED5TjIII6iC20p7fVkeOy8po55JZL0

          lD5sbbiI+u7qw4IA+X6VZBt2tyl3brNHkAkgq3VSDgg+4IIqaqGk/NbzTgYSed5I/dScA/jjP41f

          oAKKKKACiiigAooooAKKKKAILP8A49V+p/manqvZf8eifU/zNWCcDJ6UlsNhRWNBrF9OIrtNNVtM

          lI8uVJy0xUnAfywuNvf72dvOM5AydS13XEttLl0l9Pv/ALbIYFa2iEsbspYswczoBlEYhfmwylS/

          Q0nNIag27HX0VzP/AAkF5beF4NVnVLhbqETR3EcUdvHArquzzFluBk5bs3PTjgmt4e8W3Gp3jWsi

          xXrnaQbNrZfKXOGZgLqQkcjoPzyKXtFdIfI7XOvoqtqE7WumXVwjIrRQu4Z8bQQCcnLKMfVlHuOt

          csnjC+NjPO+nusy30dtHbBEZmDXTxHJWUhTtTaC21d6nBYEAOU1HcSi3sdlRXODxPPcNoEtrpN2L

          XVJBmSUxfKhjkccCTIOEVuh+XI+9xXN6H8Qrq+urX7bcaesH2c3N2ERAY0ETudmLh2YgpyuzcByQ

          vFS6sU7FKnJo9Hork5PFl5/ZMV3baa94JLqOPzrdozCFecKEDGQbnCMASu5A+RuwDizqPiiWwvtI

          gm06W2W8kfzjcSwDy41Ryx4l/h2qxPICnH3iBT9pEXIzo6K5/TfEktzNbxXWnXEa3V1NDBcr5fls

          F8xlBXeXVtkfzBlBDAggdK2by5WztXnYFsYCqOrMTgAfUkD8apSTV0S4tOxPRWQ2tEaqliqWxfcE

          kVrkLJuKhjsQj5wARk5Hfg1ftrrz3njZNkkMmxlznjGQQfcEfjkdqYixRRRQAUUUUAFFFFABRRRQ

          AUUUUAQWQxaoPc/zNTEBgQeh4qGz/wCPZfqf5mp6S2H1MK0s9btIoNOR7RbOAqq3YkZpmjXopjK7

          c4+UtuPrjnA5i88NahPeK13pCT23nXpBtoLSWfDXBkjLNcDAUh3+VeR1J+bC+iUVMqaluylNp3Ry

          FvpWoWXgWW1s9O8m+e4LeTH5cDlPP4Y+Q8a7/KC9HXOME0nhmz1q11hmvre7W1Nu+XnndsPuTaAp

          upgcjdzgEY684rsKKXs1dPsHtHqu5iTa/ZXEEkC2usO0ilAqafcxMxIxgOVUKf8AaLDHXI61z+m+

          GNSttO+yMt2rfZ7aG3aS9aWK3dCX88oXIDgpH+7UMoIVQ5VnK93RTcObVgp22OQvtDuZV0H7Fpfl

          zWG4LHPdGS1gMcMixEruy3zlCHC78DnaeKoaXpGu6VdxpENYMcSyWjSbrIo1rEs32fZ/FvyycsAM

          k7uK76il7JXuP2jtY87n8KXGyyE2kXFygWbzJB9jubkklDH5hnQKp5lLBMgsSxZixY6UfhR5Lfw3

          LLbJFc2yp56xpEEtX8mYtJGmNoYyuhOAQSiHHy12VFJUooHVkchY+H76y1+0jWfUJ7G0kWUS3jQ7

          SfLnViuwhmdmnBYsgJ2MSx4rotVhkmsf3SlnikjmCjq2xg2PqQMVdoq4xUdiZS5tzFm024muZPJW

          Fba5miuZJSzLKrJt4C7ec7B1Ixk8cVcskdry9uWRkWRwiBhgkKMZx7nP4AHvV6iqJCiiigAooooA

          KKKKACiiigAooooAgs/+PVfqf5mp6gs/+PZfqf5mpJkaSGRElaJ2UhZFAJU+ozkce9JbD6mbLqss

          OqX1ubd5o7e3hlRIU3SOzs6464/hHJwByScdFtNdhuZjDLb3FrMhcSJOF+QqFbBKsRyrhhgnjPcY

          qq2g3lxDePdajGb24WJPNht2jj2xsWCsm8kglmDfMMg44qrD4PWLTp7VbmCDzrlZ/wDQ7URIg2BH

          VU3HAZQR143Zpa3L9z+vQ0P+EgQNAx0++W3lMam5ZFCI0mNoILbjyyjKggE8ng4oprt82r/Z2n0+

          N/tBjXTJFKXLxhivmqzOAwwN/CEYBGcjNP1Dwsb/AFUXZuLcqs0U0fm2vmSwlCp2xvuARDt5AXqT

          zzVmbR76dzBLqUcmn+eJhG9uWmGHDhRJvxgMMD5MgcZzzQr3D3bGbp/iKa9v2hfX9CgcXckIsWiJ

          nIWQqBnzh8xAz93v0rqZZY7eF5ppEjijUu7uwCqo5JJPQVjWel6xp7PHBqVi1qbiSbY9i5kw7lyu

          7zQM/MRnb+FSHU7+4zB/Yeq23mfJ9o32p8rPG7Hmt069D9D0pJ2VhSs22tjh7nxxqUV/c28fiDR5

          IhfW8aXKRReWI28rcQDcbto3PnCt/F8y/wAHSXXigx6tottbavps8N2oMzxWzyg/OI8qySEIGdlR

          dwIBDZYkBTWbQ/En2yIxi0TTljdJNPOob4pdxUtuLWpLbsNuLEsS5wwyc6V14Zmv20iWTUJYnscF

          4yRN5n76GXYXYAkDyQobAY8Ek8hskp6mjcNDKs/GGoPqEC3FncKosYZr2KSzeFYG8u4aQh5NoUF0

          iUFm29cHqQaX40u5LSS3c6Pf3lq0FsXt9Sz9okdok8wKIvlTMvJGcEFcd6NN8Oa/aXulzSw6aVsL

          WGEBLuQmRoobhB/yyGAxnGeuAvfNbFx4du5beYJqaCe4mhupmkttyGeOSNlZVDAhdsYTbk8KpzkM

          XI+0sD5LhY6+by6sEnZ7S4kmuIGt1heWGRo2kX5ZtigMPJLAHHyk5XJBGJoOvNdv4bI8U/b7q9x9

          sst1udmbeRz8qIHXDqo5Psa1bnw1evo9pbRaii3cF9NdtMiNGreaZdwADFlAEx6Nk7cBkJ3LqR2F

          za3No9vdyyoMpdfaZC3mLhmDqMYD7yOm1dpIx8qBatNtX/rYm8VexZv7o2lo0qqGclURT0LMQq59

          skVQvL+9s7+1R5rIpNIsa24U+bIONzg7sALnJGDwOvPF3UrZ7qyKx4MqOkqA9CysGA/HGPxqvc2F

          3eyBZLtFs2ZJGhaAGRSpBwHDYAyB/CT1wemNkZFm0uXlmuYJQokhkxlejKRlT+uPqDVqqdnBItzd

          3Eq7TM4CrnoijAzj1OT9CKuUAFFFFABRRRQAUUUUAFFFFAEFmc2qn3P8zU9QWf8Ax6r9T/M1PSWw

          MKK5+7vp7bWdV2XESKlpbGP7QzeWjM8qk7R1J44GCxAGR1qvYeJpikr3uwwwyyQvKLWS3LMI1kX9

          3ISy8FhznJAI64ovrYvkZ1FFctc6/qFpeWqTPaHdJBDNBFbSyFWkKg7pQdkRG/IVgcgDn5uK2jRy

          XV0801lrszC+nH2ldSIgAWZgP3fnD5QABjZ26Gi99u9g5NLs7KiuN0aOS6unmmstdmYX04+0rqRE

          ACzMB+784fKAAMbO3Q12LHCk5AwOp7UJ6XYpRs7C0VyOmi5sryye7k1DzpMiW6Nz59rdkqWwi7/3

          ecZB2KBgqM5GYrbxbfzaVd3/ANm3ILKS7hDWM8KxYGVRpG+WTIPVcdDwQaSkPkb2OzorBOqX8DNZ

          XLWz3rSR+U0UbIpjYEk4LE5AR+c9hwM4rFt/E1/Bp+mQxLJPKmmwXMxNnPcvOWB+XdH9w/KfmbPX

          pwad9LgoNq6O4orD0KW9l1LXPtVwskSXgWFNhBjHlIccsfUdAOcnvgZnjhJr1bTTrWy1Ca8eRJYX

          t7gJGAkis5dRMhOAowTgBmUBlZhSk+WNxKN5WOvorz7wuJre61CO5sdVmlv4zcRSx3w2SwGJFyub

          l/n3LjcGJXemWVSMY8eoajc+E7sK25zpd49xDcajNLvWSG3lEiFkb7iyhQhPf7xyzHP21ldov2V3

          ZM9Zorzu+l1iOC21COS9aeO6ktvOsWhdE8292yRFp8MxAVFUhFAI6lTxpRX+sLrKAXtw4F8LMWdy

          IVU/6B53zsiEhvM6lSR1wCKftV2F7PzOyorz6aTTpm02a90S0ntrOO+t5LI3EMiwMJgAy+eyfJtt

          5iMAbVUgAAcdT4Ys5LDQ1gks/sf+kXEiW/y/u0eZ2RfkJUfKw4B4pxnzOwpQsrmxRWDe3E0hvSss

          karcw2g2MRtVim5vqd5Ge2BimLLNbQ36xzyslhdp5ZeRnLIVQsrEnLfebGc449K0X9f18yDoaKKK

          ACiiigCCz/49l+rfzNSTQx3EMkMyK8UilXRhkMDwQajtP+PZfq38zU9JbD6mZH4f06O0mtvLmdJS

          pZpbmSST5eVw7MWGDyMEYPIpF8PaYLZ7drdpY5JUnfzpnkZnTG1izEkkbR37VqUUWQXZm3Gg6ddX

          bXMsUpdmV2VbiRUZlxtYoGClhtXkjPA9Kjj8OafFcGaJr6MmUylE1CdU3Ftx+QPtwSScYxzWtRRy

          oOZ9zJTw5p8U5mia+jYymXal/OI9xbcTsD7cEknGMUsdvr4mQy6npjxbhuVdPkUkdwD5xwffBrVo

          o5UHM3uZtroOnWdws0MUoKEmONriR44if7kZYqnBIG0DAJA4pi+G9KRbhBbuUuI2iZGnkZVRvvKg

          LYQH0XHQegrVooSS2HzS7laTT7SW+ivXhU3EUbRJJk5VWxkfoKpy+HNLmht4mt3EdvEIUVJ5FDRj

          oj4Yb146NkdfU1q0UWQk2tjLuNNuorqW40q4trWS4INx58EkwcgAAhRIoU4GCcc4HpVW68P3GqW7

          x6lfxFpMLIbWxiCyoDlVcTCXO07iMEfePFb1FLlTHzMwdC8K2ugRxRW9xLLBFzHFLDAAr7dvmZSN

          WL7cruJOQTnNV5vAuk/ZTbWD3GmwtDLBIlqUIkSRY1YHerckRJyMHOTnJJrpqKXs42tYOeV73Me0

          8OWlvEsVxJLfIPNO26CMpaVnaRioUAlt5XpwuQMbm3Pi8O6bDqCX6JcG4Rg4L3crqWEflbipYqW2

          cbiM++a1aKfLHsLmZm2GhWGm3l1d20WJbiR5GJ52lyC+P95hknknCjO1VC2bCyj060W1hZzEjMUD

          EfIpYkIMdFXO1R2AA7VZoppJbA23uUpNNhlkuvMw0Fyo8yIjGWHG4Ecg4A/IEYpp0qFbaO2iLLCJ

          RLJuZnaQg55YnJ5AyTngYq/RTEFFFFABRRRQBBaf8ey/Vv5mpZf9U/8AumorP/j1X6n+ZqcjIwel

          Ta8bD6nB28urHwhoKTWVklnvsMSpeO0mPMjwdhiAz043ce9aVtoWjxeLdRePSrFGitIJY2W3QFHL

          S5YccE4HPsK6T7JbfZ47f7PF5Me3ZHsG1dpBXA6DGBj0xTxDEJXlEaeY6hWfaMsBnAJ7gZP5mqkk

          738/0L59Gl/Wp53ZsD4a0KwB/wCPaWyucZ5AeSLb+BLyf9811/hn/kFS/wDX7df+j3q+un2SqqrZ

          24ChFAES8BDlB0/hPI9O1V10DRkvftqaTYLd7zJ54tkD7j33Yzn3pt9F3/yCUk1b+v61K2sXOuQ3

          9immWdtNbvLiVpLhkJGxzhsRttXIX5s9cDHNackyKoikeNJnjZhHv5IGMkdyBkc+4qeq17p1jqUS

          xX9nb3UatuVZ4lcA+oBHWpadrE3V0cW2p3th4VsHsri78yz0qGd4IIYto+Q4aVpOSp2EYTDDB9Rj

          Ym1qaKa4tnvEie0EtzNM0W8CHblCVHJGWA4wT5bVtXWladfSRyXdha3DxAiNpYVcoD1wSOKmFtbh

          2cQRh3QRs2wZKjOFPsMnj3NDu233/r+vmU5J20/r+rnH/aLq7j1LS9RvLqKMC2ZJL+OLL75GG0iE

          geW20Lg4PzEGpIi+jC9t7eyttLnk+zgx2cgkgRZJDH5oGxcP1zlcHavXBro7fRtLtIJILbTbOGKV

          SkkccCqrqeoIA5HJ4p1vpOm2lpLaW2n2kNtLnzIY4VVHyMHKgYORxUqL/r+v67BzoxjJfJrVvpo1

          t50SKaWVvKi8wlTFhHwuBw56BTgj6nJttV1D+y1khvxALPRra8W3jhjAlch8qRt4U7QMLjGeCK7K

          202xs0jS1sreBY1ZUEUSqFDEFgMDgEgE+uKq/wDCP6Yb9bxrOF3jjijhRolKw+WWKlBj5T8x6egq

          +lv66gpRtsVPD8Uiap4gd7iWQNfLhHC4T9zGeMAHuByTwo75JmuvLn1K8S5mMEMFmpEgfaU3lwzA

          9jhRz25rTS2gjuJbhII1mlAEkioAz46ZPU4zxUdxYW9zLvmQOChjdGAKyKezA9f8+tHT+uxDd3cx

          7LTrBkuJPscVnptwI40tyPKExycMy8feyBgjJHB9Kggi+yadeoIoreW0u1kjhgOY4shTtQ4HBBOe

          Byx46GtuHRtLt45Y4dNs40mXbIqQKA49CAORThplokENvFCkNvFIJBDEoVCQcjIA9cH6igRboooo

          AKKKKACiiigAooooAgs+LVR7n+ZqeoLP/j1X6n+Zpbu1hvrOe0uU3wTxtFImSNysMEZHI4NJbD6l

          Zda05kjf7Uiq8Mk+XBQKkZUSFs42lSwBDYIOcjg4LvWLOytba4n+0BblgkSJbSPIzFS2NiqWB2qS

          cjjHNeZf2El7f2OoDR9HtLC+tf7UNu88SxosfkHBc2pZFww3KDg5bkc7utXyYvDfh3UNLsYoVEhv

          INPWQje8sEpESHH96XOcBVUMeAtYxqSdzV00joLDWLPUppobf7QssKq7pPbSQsFbcFOHUZB2t09K

          ZP4g0e1z9q1O0tSJGiK3MoiO5cZGGwehU+4ZSOCCcXwui2BgM0qBWhTR4MAlpJLV7kMxGMKGVdw5

          45GemcrQP+Ek/svSPs/9ofZfLsPK2fZfs/keXD5u7d+9z/rentin7R2QuRXZ00vi3RIrC2vvtbyW

          1xC88ckEEko8tMb2bYp2hdwB3YweDU1l4hsNQuza263plVtj+ZYTxqjbQ2GZkAU4IPJHUeorzjXF

          guPDfhaC4tkmUaTDGCsy7wZvKTaEMEh3HG5SuGIjlx93nY0HTlfxJaXzw2UUjXUs/nLCVaSRvtRk

          iEjRqzMqywAq2P8AVuAMowEqrJyt6FOnFRuehswVSzEAAZJPamGeIeXmVP3pxH8w+fjPHrwCapa1

          n+zgv8DzRJJ/uGRQ34YJB9qq6nZwDXtHu9hM5uGTcWJwvlScAE4GeM464GeldCMDZSRJF3RurLkj

          KnIyDgj86dWfY4Gpakqfc8xCR6OUGf02n8fetCgAooooAKKKKACiiigAooooAKKKKACiiigAoooo

          Ags/+PVfqf5mp6gs/wDj2X6t/M1PSWwMYYo2mWYxoZUUorlRuCnBIB9DtXP0HpTPslt9s+2fZ4vt

          Xl+V5+wb9mc7d3XGecVNRTsBQi0TSYb838Wl2Ud4WZzcJboJCzZyd2M5OTn61NLp9lNYCwls7eSz

          Cqgt3iUxhVxgbcYwMDH0qzRSsh3ZWGn2SwtCLO3ETwi3ZBEu0xDICEY+6NzYHTk+tVrXw9otjcpc

          2mj6fbzpnbLDbIjLkYOCBkcEitKiiyC7GSxJPE8Uqho3BVlPQg05VCKFGcAYGTk/nS0UxEcMEcCs

          I1xuYu3JJJPU5NSUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAFK2uYo4FR2IYE8bT61N9

          rh/vN/3wf8KKKzUnYuwfa4f7zf8AfB/wo+2Qf3j/AN8n/CiijmYrB9sg/vn/AL5P+FH2uH+83/fB

          /wAKKKOZhYPtcP8Aeb/vg/4Ufa4f7zf98H/CiijmYWD7ZB/eP/fJ/wAKPtkH94/98n/CiijmYWD7

          ZB/eP/fJ/wAKPtcP95v++D/hRRRzMLAbyAdWI/4Cf8KPtcP95v8Avg/4UUUczCwfbIP7x/74P+FH

          2yD+8f8Avk/4UUUczCwfa4f7zf8AfB/wo+2Qf3j/AN8H/CiijmYWD7ZB/fP/AHyf8KPtkH94/wDf

          J/wooo5mFg+1w/3m/wC+D/hR9sg/vH/vg/4UUUczCwfbIP75/wC+T/hR9sg/vH/vg/4UUUczCwfa

          4f7zf98H/CiiijmYWP/Z

          家好,我是Echa。

          又到周五啦,提前祝大家周末愉快!今天來分享一些實(shí)用的前端工具!

          1. Small Dev tools

          Small Dev Tools 是一個(gè)前端工具網(wǎng)站,包含了很多實(shí)用的功能,比如JSON解碼器、JSON格式化程序、UTF8編碼、Base64編碼、Base64解碼、CSS格式化程序、CSS壓縮器等。

          官網(wǎng):https://smalldev.tools/

          2. Carbon

          Carbon 是一個(gè)在線工具,可以生成漂亮的不同風(fēng)格的代碼圖片。

          官網(wǎng):https://carbon.now.sh/

          3. UI Design Daily

          UI 設(shè)計(jì)日?qǐng)?bào),提供免費(fèi)優(yōu)質(zhì)的 UI 資源。

          官網(wǎng):https://www.uidesigndaily.com/

          4. Color Hunt

          ColorHunt,即顏色獵人,是一個(gè)在線設(shè)計(jì)配色的網(wǎng)站,其最大的特點(diǎn)就是使用飽和度調(diào)配配色方案。每天會(huì)根據(jù)瀏覽量進(jìn)行更新排版,并可以直接使用。

          官網(wǎng):https://colorhunt.co/

          5. SCHEME COLOR

          SCHEME COLOR 是一個(gè)在線的配色工具網(wǎng)站,可以根據(jù)顏色、類型等查找合適的配色方案。

          官網(wǎng):https://www.schemecolor.com/

          6. Keyframes

          Keyframes 可以用來創(chuàng)建動(dòng)畫、陰影和使用顏色,幫助我們編寫更好的CSS。

          官網(wǎng):https://keyframes.app/

          7. Design Resources

          Design Resources 是一個(gè)設(shè)計(jì)資源的集合。

          官網(wǎng):https://www.designresourc.es/

          8. Omatsuri

          Omatsuri 是一個(gè)開源項(xiàng)目,包含12個(gè)實(shí)用的前端工具。

          官網(wǎng):https://omatsuri.app/

          9. UI Snippets

          UI Snippets 是一個(gè)前端動(dòng)畫合集,可以通過右鍵點(diǎn)擊想要的動(dòng)畫直接復(fù)制對(duì)應(yīng)的 CSS 或 SCSS 代碼。

          官網(wǎng):https://ui-snippets.dev/

          10. Pattern CSS

          Pattern CSS 可以用漂亮的圖案填充空白背景。

          官網(wǎng):https://bansal.io/pattern-css

          11. Can I use

          Can I use 可以用來查詢 HTML5、CSS、JS、SVG 在各種流行瀏覽器中的特性和兼容性。

          官網(wǎng):https://caniuse.com/

          12. CSS Gradient

          CSS Gradient 是一個(gè)用來快速方便的創(chuàng)建 CSS 漸變的網(wǎng)站。

          官網(wǎng):https://cssgradient.io/

          13.CSS matic

          CSS matic 是一個(gè) CSS 工具,目前包含4個(gè)很有用的工具,分別是:支持各種顏色和透明度的漸變工具,使用漸變工具,可以創(chuàng)建漸變平滑的色彩變化效果和微妙的透明膠片;邊框圓角工具可以幫助你方便的實(shí)現(xiàn)需要的圓角效果;噪聲紋理可以幫助你創(chuàng)造奇妙的背景圖案,能夠?qū)崟r(shí)預(yù)覽結(jié)果;盒陰影工具可以控制模糊半徑的變化,顏色變化,陰影大小,可以實(shí)現(xiàn)你想要的任何效果。

          官網(wǎng):https://www.cssmatic.com/

          14.Am I Responsive

          Am I Responsive 用來測(cè)試響應(yīng)式網(wǎng)頁(yè)。輸入鏈接即可生成預(yù)覽,Am I Responsive 能幫我們測(cè)試出頁(yè)面在手機(jī)、平板電腦、筆記本電腦和桌面端設(shè)備上的瀏覽體驗(yàn)。

          官網(wǎng):http://ami.responsivedesign.is/

          15. CSS Generator

          這是一個(gè)實(shí)用的 CSS 生成器,可以實(shí)時(shí)查看調(diào)試效果。

          官網(wǎng):https://html-css-js.com/css/generator/

          16. My Brand New Logo

          My Brand New Logo 是一個(gè)CSS 調(diào)色板生成器,用來創(chuàng)建一致的調(diào)色板方案。

          官網(wǎng):https://mybrandnewlogo.com/color-palette-generator

          17. 裁剪路徑生成器

          CSS cli-path 功能能夠構(gòu)建復(fù)雜的形狀,該工具讓我們可以輕松地以交互方式構(gòu)建該多邊形。

          官網(wǎng):https://bennettfeely.com/clippy/

          18. CSS Grid Generator

          CSS Grid Generator 是一個(gè) Grid 布局生成器,通過這個(gè)工具可以快速創(chuàng)建自定義CSS Grid布局。

          官網(wǎng):https://cssgrid-generator.netlify.app/

          19. CSS Layout Generator

          CSS Layout Generator 布局生成器可以為布局組件創(chuàng)建 CSS 和 HTML 的工具。

          官網(wǎng):https://layout.bradwoods.io/

          20. Fluid-responsive font-size calculator

          Fluid-responsive font-size calculator 即響應(yīng)式字體計(jì)算器,可以輕松創(chuàng)建流暢的排版體驗(yàn)。它有更廣泛的支持,可以用幾行 CSS 來實(shí)現(xiàn)。

          官網(wǎng):https://websemantics.uk/tools/responsive-font-calculator/

          21. regex101

          Regex101是學(xué)習(xí)、測(cè)試正則表達(dá)式的工具網(wǎng)站。

          官網(wǎng):https://regex101.com/

          22. Regex-Vis

          Regex-Vis 是一個(gè)正則表達(dá)式可視化器和編輯器。


          官網(wǎng):https://regex-vis.com/

          23. Loupe

          Loupe 是一個(gè)可視化工具,可幫助我們了解 JavaScript 的調(diào)用堆棧/事件循環(huán)/回調(diào)隊(duì)列是如何執(zhí)行的。

          官網(wǎng):http://latentflip.com/loupe/

          24. RunJS

          RunJS 是一個(gè)桌面應(yīng)用程序,可幫助我們編寫專門的 Javascript 和 Typescript 代碼。它的一些優(yōu)勢(shì)是可以快速測(cè)試代碼,輕松導(dǎo)入和測(cè)試庫(kù)代碼,并且能夠修改界面、主題和字體以適應(yīng)偏好。

          官網(wǎng):https://runjs.dev/

          25. Wrap SVG Online

          Wrap SVG Online 通過拖放從計(jì)算機(jī)上傳圖像,可以輕松地編輯網(wǎng)頁(yè)的 SVG 圖像。

          官網(wǎng):https://pavellaptev.github.io/warp-svg/

          26. SVG Path Visualizer

          SVG Path Visualizer 可以幫助我們通過輸入 SVG 路徑數(shù)據(jù)來快速直觀地查看 SVG 圖像。此外,該工具還提供了詳細(xì)的說明,以便了解如何創(chuàng)建基本的 SVG 形狀,如直線、曲線、三角形等。

          官網(wǎng):https://svg-path-visualizer.netlify.app/

          27. BGJar

          BGJar 是一個(gè)在線工具,可以輕松快速地為網(wǎng)站創(chuàng)建 SVG 背景。只需編輯必要的信息,它將自動(dòng)導(dǎo)出圖像或代碼供我們應(yīng)用到網(wǎng)站。

          官網(wǎng):https://bgjar.com/

          28. Wavesnippets

          Wavesnippets 可以將代碼分步設(shè)置為動(dòng)畫、視頻或 GIF。

          官網(wǎng):https://www.wavesnippets.com/

          29. Generate SVG Waves

          Generate SVG Waves 可以用來創(chuàng)建 SVG 波形背景。

          官網(wǎng):https://svgwave.in/

          30. CodeSandbox

          CodeSandbox 是一個(gè)為 Web 應(yīng)用程序開發(fā)而構(gòu)建的在線編輯器,支持多種主流框架。

          官網(wǎng):https://codesandbox.io/

          31. Openbase

          Openbase 幫助開發(fā)人員在數(shù)以百萬計(jì)的開源軟件包中進(jìn)行選擇和使用。

          官網(wǎng):https://openbase.com/

          32. CodePen

          CodePen 是一個(gè)在線的前端代碼編輯工具,可用于制作測(cè)試頁(yè)面、代碼調(diào)試,所見即所得。

          官網(wǎng):https://codepen.io/

          33. JSONLint

          JSONLint 是一個(gè) JSON 調(diào)試工具,如果遺漏了語(yǔ)法中的某些內(nèi)容,它會(huì)進(jìn)行檢查。JSONLint 是處理大型 JSON 格式的絕佳工具,而且很容易上手。

          官網(wǎng):https://jsonlint.com/

          34. Minify

          Minifier 可以對(duì) JavaScript 和 CSS 代碼進(jìn)行壓縮,通過縮小可以提高網(wǎng)站加載速度。Minifier 通過刪除 .js 和 .css 文件中的空白并重新格式化它們以減小大小。

          官網(wǎng):https://www.minifier.org/

          35. Unminify

          Unminify 和 Minifier 恰恰相反。使用 Unminify 可以使 .js 或 .css 文件可讀。這兩種工具都非常容易使用。

          官網(wǎng):https://unminify.com/

          36. CRADIENT.ART

          CRADIENT.ART 是一個(gè)高級(jí) CSS 漸變編輯器,使用帶有分層、設(shè)計(jì)工具和免費(fèi)云存儲(chǔ)的功能豐富的編輯器設(shè)計(jì)插圖、圖案、圖標(biāo)等。

          官網(wǎng):https://gra.dient.art/

          37. 3DPop

          3DPop 可以使用 CSS 生成很棒的 3D 文本效果。

          官網(wǎng):https://textpop3d.web.app/

          38. CSS Photo Filters

          CSS Photo Filters 是一個(gè)CSS圖片濾鏡工具,提供了 36 個(gè) CSS 過濾器供我們使用。

          官網(wǎng):https://baseline.is/tools/css-photo-filters/


          主站蜘蛛池模板: 在线观看国产一区亚洲bd| 国产视频一区在线观看| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 日韩a无吗一区二区三区| 性色AV一区二区三区天美传媒| 精品一区二区三区在线视频观看| 亚洲国产韩国一区二区| 国产福利一区二区在线视频| 99精品久久精品一区二区| 国产一区在线播放| 国产品无码一区二区三区在线| 国产午夜精品一区二区三区| 一级特黄性色生活片一区二区| 久久中文字幕无码一区二区| 日韩精品乱码AV一区二区| 人妻少妇AV无码一区二区| 亚洲欧洲一区二区三区| 精品视频一区二区观看| 日韩美女视频一区| 精品国产一区二区三区在线| 中文字幕av日韩精品一区二区 | 久久青草国产精品一区| 久久久精品人妻一区二区三区蜜桃| 亚洲av区一区二区三| 精品一区二区三区视频在线观看| 秋霞日韩一区二区三区在线观看| 中文字幕乱码亚洲精品一区| 亚洲高清一区二区三区| 亚洲AV无码一区二区三区性色 | 伊人久久精品无码麻豆一区| 国产亚洲一区二区三区在线观看| 久久久久女教师免费一区| 国产在线精品一区二区不卡麻豆| 久久精品国产一区二区| 丰满少妇内射一区| 夜色福利一区二区三区| 无码av人妻一区二区三区四区| 亚洲AV无码一区二区乱子仑 | 色噜噜狠狠一区二区三区果冻| 久久久久无码国产精品一区| 中文字幕一区二区三区在线观看 |