字体反爬知识积累2

一、os模块中函数的应用

如何获取当前文件中所有文件的路径方法

这段代码使用 os.walk()函数来遍历指定目录 'imgs' 下的所有子目录和文件。具体来说,os.walk()函数返回一个生成器,可以在每次迭代中获取目录树中的一个元组,元组包含当前目录的路径、当前目录中的子目录列表以及当前目录中的文件列表。在这个循环中,parent 变量表示当前遍历的目录路径,dirnames变量表示当前目录中的子目录列表,filenmaes变量表示当前目录中的文件列表。

import os

for parent, dirnames, filenames in os.walk('imgs'):
    # parent 表示当前遍历的目录路径
    # dirnames 表示当前目录中的子目录列表
    # filenames 表示当前目录中的文件列表
    for filename in filenames:
        # 处理文件
        file_path = os.path.join(parent, filename)
        print("文件:", file_path)
    
    for dirname in dirnames:
        # 处理子目录
        dir_path = os.path.join(parent, dirname)
        print("子目录:", dir_path)

os.path.join(parent,filenmae)这行代码用于将 parent 目录路径和 filename 文件名连接起来,形成一个完整的文件路径。具体来说,os.path.join() 函数会根据操作系统的类型,使用适当的路径分隔符('/''\')将 parentfilename 连接起来,得到一个完整的文件路径。

例如,如果 parent'imgs' 目录的路径,filename 是其中的一个文件名,那么执行 os.path.join(parent, filename) 就会得到这个文件的完整路径。

这个操作的目的通常是为了获取当前遍历到的文件的完整路径,以便后续对文件进行操作或者获取文件的相关信息。

创建一个新的文件夹的命令语句

os.makedirs('imgs_copy_word', exist_ok=True)

 二、os模块联合ddddocr对图片就行识别

首先获取所有的图片的地址,再接着读取图片的二进制数据,然后由ddddocr库进行识别。

import os
import ddddocr
ocr = ddddocr.DdddOcr(beta=False,show_ad=False)
for parent,dirnames,filenames in os.walk(r'C:\Users\86187\PycharmProjects\js逆向学习\imgs'):
    for filename in filenames:
        current_Path = os.path.join(parent,filename)
        with open(current_Path,'rb') as f:
            image = f.read()
            print(image)
        ret = ocr.classification(image)
        print(ret)
        break
# 结果为
# b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x00d\x00d\x00\x00\xff\xdb\x00C\x00\x08\x06\x06\x07\x06\x05\x08\x07\x07\x07\t\t\x08\n\x0c\x14\r\x0c\x0b\x0b\x0c\x19\x12\x13\x0f\x14\x1d\x1a\x1f\x1e\x1d\x1a\x1c\x1c $.\' ",#\x1c\x1c(7),01444\x1f\'9=82<.342\xff\xdb\x00C\x01\t\t\t\x0c\x0b\x0c\x18\r\r\x182!\x1c!22222222222222222222222222222222222222222222222222\xff\xc0\x00\x11\x08\x01\xe0\x02\x80\x03\x01"\x00\x02\x11\x01\x03\x11\x01\xff\xc4\x00\x1f\x00\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\xff\xc4\x00\xb5\x10\x00\x02\x01\x03\x03\x02\x04\x03\x05\x05\x04\x04\x00\x00\x01}\x01\x02\x03\x00\x04\x11\x05\x12!1A\x06\x13Qa\x07"q\x142\x81\x91\xa1\x08#B\xb1\xc1\x15R\xd1\xf0$3br\x82\t\n\x16\x17\x18\x19\x1a%&\'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x83\x84\x85\x86\x87\x88\x89\x8a\x92\x93\x94\x95\x96\x97\x98\x99\x9a\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xff\xc4\x00\x1f\x01\x00\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\xff\xc4\x00\xb5\x11\x00\x02\x01\x02\x04\x04\x03\x04\x07\x05\x04\x04\x00\x01\x02w\x00\x01\x02\x03\x11\x04\x05!1\x06\x12AQ\x07aq\x13"2\x81\x08\x14B\x91\xa1\xb1\xc1\t#3R\xf0\x15br\xd1\n\x16$4\xe1%\xf1\x17\x18\x19\x1a&\'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x92\x93\x94\x95\x96\x97\x98\x99\x9a\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xff\xda\x00\x0c\x03\x01\x00\x02\x11\x03\x11\x00?\x00\xf7\xfa(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n+\xc0>$|H\xf1n\x81\xe3\xedOL\xd35o"\xce\x1f+\xcb\x8f\xec\xf16\xdc\xc4\x8cye\'\xa9=\xeb\x95\xff\x00\x85\xc1\xe3\xbf\xfa\x0e\xff\x00\xe4\xa4\x1f\xfcEt\xc7\x0b9$\xd3GDp\xd3j\xe7\xd54W\xca\xdf\xf0\xb8<w\xff\x00A\xdf\xfc\x94\x83\xff\x00\x88\xa3\xfe\x17\x07\x8e\xff\x00\xe8;\xff\x00\x92\x90\x7f\xf1\x14\xfe\xa9>\xe8\x7fU\x9ft}SE|\xad\xff\x00\x0b\x83\xc7\x7f\xf4\x1d\xff\x00\xc9H?\xf8\x8a?\xe1px\xef\xfe\x83\xbf\xf9)\x07\xff\x00\x11G\xd5\'\xdd\x07\xd5g\xdd\x1fT\xd1_+\x7f\xc2\xe0\xf1\xdf\xfd\x07\x7f\xf2R\x0f\xfe"\x8f\xf8\\\x1e;\xff\x00\xa0\xef\xfeJA\xff\x00\xc4Q\xf5I\xf7A\xf5Y\xf7G\xd54W\xca\xdf\xf0\xb8<w\xff\x00A\xdf\xfc\x94\x83\xff\x00\x88\xa3\xfe\x17\x07\x8e\xff\x00\xe8;\xff\x00\x92\x90\x7f\xf1\x14}R}\xd0}V}\xd1\xf5M\x15\xf3\x15\x87\xc4\xbf\x89z\xac\xdeU\x86\xa3=\xcb\xfaEc\t\xc7\xfe9]\xae\x98\xdf\x17/\x00{\xcf\x10[\xd8\xa1\xe7\x0fm\x03\xb7\xe4\x13\xfa\xd7.&tp\xab\xf7\xf5#\x1fW\xaf\xdd\xb9\x0e\x8bN\xd7_\x8f\xf9\x1e\xd1Epv6\xfe&\x8b\x06\xf7\xc5\xd7W\x07\xd2;;x\xc7\xfe\x80kj\x1b\xcb\xd8\xd4\x07\xbc\x92S\xea\xe8\x80\xfe\x8a+\xc4\xab\xc4\x18\x18|-\xcb\xd1\x7f\x9d\x81a\xea7\xb1\xd1QX?\xda7\x7f\xf3\xd7\xff\x00\x1d\x1f\xe1G\xf6\x8d\xdf\xfc\xf5\xff\x00\xc7G\xf8V\x1f\xeb6\x13\xf9e\xf7/\xf3/\xea\xb3\xee\x8d\xea+\x07\xfbF\xef\xfez\xff\x00\xe3\xa3\xfc*9oodR\x16\xed\xe2>\xa8\x89\x9f\xd5M5\xc4\xb8F\xed\xcb/\xb9\x7f\x98\x9e\x1ai\x1d\x15\x15\xc2_A\xe2Irl\xbc[un}\x1e\xce\xdeA\xff\x00\xa0\x03\\\x96\xa8\xdf\x17,\x81{?\x10[\xdf \xe7\tm\x027\xe4S\xfa\xd7\xa5\x87\xcdp5\xdd\xa3U\'\xe7u\xf8\xb5o\xc4\x8fc5\xbe\x9f\xd7\x91\xed\x14W\xcc7\xff\x00\x13~$\xe9s\x98o\xb5)\xad\xe4\x1f\xc3-\x8c+\xff\x00\xb2UO\xf8\\\x1e;\xff\x00\xa0\xef\xfeJA\xff\x00\xc4W\xb0\xb0\xb2\x92\xbaj\xc5\xac4\x9a\xbah\xfa\xa6\x8a\xf9[\xfe\x17\x07\x8e\xff\x00\xe8;\xff\x00\x92\x90\x7f\xf1\x14\x7f\xc2\xe0\xf1\xdf\xfd\x07\x7f\xf2R\x0f\xfe"\x9f\xd5\'\xdd\x0f\xea\xb3\xee\x8f\xaah\xaf\x95\xbf\xe1px\xef\xfe\x83\xbf\xf9)\x07\xff\x00\x11G\xfc.\x0f\x1d\xff\x00\xd0w\xff\x00% \xff\x00\xe2(\xfa\xa4\xfb\xa0\xfa\xac\xfb\xa3\xea\x9a+\xe5o\xf8\\\x1e;\xff\x00\xa0\xef\xfeJA\xff\x00\xc4Q\xff\x00\x0b\x83\xc7\x7f\xf4\x1d\xff\x00\xc9H?\xf8\x8a>\xa9>\xe8>\xab>\xe8\xfa\xa6\x8a\xf9[\xfe\x17\x07\x8e\xff\x00\xe8;\xff\x00\x92\x90\x7f\xf1\x15\xd5|7\xf8\x91\xe2\xdd\x7f\xc7\xdaf\x99\xa9\xea\xde}\x9c\xdeo\x99\x1f\xd9\xe2]\xd8\x89\xd8r\xaa\x0fP;\xd2\x96\x16qM\xb6\x85,4\xd2\xb9\xef\xf4QEs\x1c\xe1E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x07\xca\xdf\x18?\xe4\xa9\xeb?\xf6\xc3\xff\x00DG\\=w\x1f\x18?\xe4\xa9\xeb?\xf6\xc3\xff\x00DG\\=z\xf4\xbe\x05\xe8z\xb4\xfe\x05\xe8\x14QEhXQE\x14\x00QF2p+\xd2\xfc\x15\xf0\xb6}Qb\xd45\xb0\xf6\xf6g\xe6H\x07\x0f \xf7\xfe\xe8\xfdk\x93\x19\x8d\xa1\x83\xa5\xedk\xca\xcb\xf1~H\x99IG\xd4\xe2\xb4?\r\xea\xbe"\xb9\xf2t\xdbG\x97\x1fzC\xc2\'\xd4\xf4\xafZ\xf0\xf7\xc2\x1d2\xc4,\xda\xc4\xa6\xfa~\xbeR\xe5c\x1f\xd4\xd7\xa0\xd8\xd8Zi\xb6\x89keo\x1c\x10 \xc2\xa2\x0c\n\xb1_\x9ff\\S\x8a\xc47\x0c?\xb9\x1f\xfc\x99\xfc\xfa|\xbe\xf2y\\\xbe/\xbb\xfa\xdf\xfa\xd0\x82\xd6\xce\xda\xc6\x01\x05\xa5\xbcPD:$h\x14~\x95=\x14W\xccJNN\xf2we\xa4\x92\xb2\n(\xa2\xa4aE\x14P\x01E\x14P\x01E\x14P\x05{\xdb\x0bMF\xdc\xc1{m\x15\xc4G\xaaH\xa1\x85y\xbf\x89>\x0f\xd9\xdc\x87\xb8\xd0\xa6\xfb4\xbd~\xcf)\xccg\xd8\x1e\xa3\xf5\xafP\xa2\xbb\xf0Y\x9e+\x05+\xd0\x9d\x97n\x9fw\xf4\xc8pM\xdff|\xab\xabh\xda\x86\x87x\xd6\xba\x8d\xac\x90J:n\x1c0\xf5\x07\xa1\x15B\xbe\xa9\xd64M?^\xb1kMF\xd9&\x88\x8e\t\x1f2\x9fP{\x1a\xf0\xaf\x1a|>\xbd\xf0\xc4\x8duo\xba\xe7L\'\x89@\xf9\xa3\xf6o\xf1\xaf\xd0\xf2~"\xa3\x8e\xb5*\x9e\xedN\xdd\x1f\xa7\xf9~b\xe6q\xd2_y\xc5\xd1E\x15\xf4f\x81E\x14P\x01]\xc7\xc1\xff\x00\xf9*z7\xfd\xb7\xff\x00\xd1\x12W\x0f]\xc7\xc1\xff\x00\xf9*z7\xfd\xb7\xff\x00\xd1\x12Vu~\x07\xe8EO\x81\xfa\x1fT\xd1E\x15\xe4\x1ePQE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x01\xf2\xb7\xc6\x0f\xf9*z\xcf\xfd\xb0\xff\x00\xd1\x11\xd7\x0f]\xc7\xc6\x0f\xf9*z\xcf\xfd\xb0\xff\x00\xd1\x11\xd7\x0f^\xbd/\x81z\x1e\xad?\x81z\x05\x14QZ\x16\x14\xaa\xa5\xd8*\x82X\x9c\x00:\x93I^\xc9\xf0\xc7\xc0b\xde8\xb5\xedV\x1f\xdf0\xddk\x0b\x8f\xb8?\xbeG\xaf\xa5pf9\x85,\x05\x07Z\xaf\xc9w}\x89\x94\xad\xa2\xdc\x9b\xe1\xff\x00\xc3d\xb0H\xb5mn\x10\xf7g\r\r\xbb\x0c\x88\xbd\xdb\xd5\xbd\xbbW\xa7\xd1E~O\x8f\xcc+\xe3\xab:\xb5\x9f\xa2\xe8\x97d\x11\x8d\xb5\xea\x14QEp\x94\x14QE\x00\x14QQ\xcd<6\xe9\xbeyc\x89?\xbc\xec\x14~\xb4\xd2m\xd9\t\xb4\x95\xd9%\x15\x8f?\x8b<=lq.\xb5b\xa7\xd3\xcfS\xfc\x8dB\x9e6\xf0\xcc\x8d\x85\xd7,\xb3\xef(\x1f\xce\xbaV\x07\x14\xd5\xd5)[\xd1\xff\x00\x91\x1e\xd6\x9a\xd3\x99}\xe6\xf5\x15R\xd7U\xd3\xafH\x16\xb7\xf6\xd3\x93\xda9U\x8f\xe8j\xdda8J\x0e\xd3V~e\xa9)l\xc2\x8a(\xa8\x18QE\x14\x00S%\x8a9\xe2x\xa5Ex\xdcmea\x90G\xa1\xa7\xd1M6\x9d\xd05s\xc2>!\xfc>}\x02V\xd4\xf4\xc4g\xd3\x1c\xfc\xe890\x13\xff\x00\xb2\xfb\xd7\x9e\xd7\xd6\xb3\xc1\x15\xcc\x0f\x04\xd1\xac\x91H\xa5]\x18d\x10{W\xcf>>\xf0t\x9e\x15\xd5\xb7B\x0bi\xd7\x04\x98\x1f\xfb\xbe\xa8}\xc5~\x91\xc3\x99\xeb\xc5\xaf\xabb\x1f\xbe\xb6\x7f\xcc\xbf\xcd~?y\x9a|\x8e\xcfo\xebC\x90\xa2\x8a+\xeb\r\x02\xbb\x8f\x83\xff\x00\xf2T\xf4o\xfbo\xff\x00\xa2$\xae\x1e\xbb\x8f\x83\xff\x00\xf2T\xf4o\xfbo\xff\x00\xa2$\xac\xea\xfc\x0f\xd0\x8a\x9f\x03\xf4>\xa9\xa2\x8a+\xc8<\xa0\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x03\xe5o\x8c\x1f\xf2T\xf5\x9f\xfba\xff\x00\xa2#\xae\x1e\xbb\x8f\x8c\x1f\xf2T\xf5\x9f\xfba\xff\x00\xa2#\xae\x1e\xbdz_\x02\xf4=Z\x7f\x02\xf4\n(\xab\xfa6\x93q\xaej\xf6\xdau\xaa\xe6Y\xdc.q\xc2\x8e\xe4\xfb\x01U)F\x11r\x93\xb2E6\x92\xbb:\xff\x00\x86~\r\xfe\xdf\xd4\xff\x00\xb4oc\'O\xb5`pG\x12\xbfe\xfa\x0e\xf5\xef`\x000\x06\x00\xaa:6\x93m\xa1\xe96\xfau\xa2\xed\x8a\x15\xc6{\xb1\xeeO\xb95z\xbf#\xce\xb3If\x18\x97?\xb0\xb4\x8a\xf2\xef\xea\xff\x00\xe0t&\t\xfcOv\x14QEy\x05\x85\x14Q@\x05s\xbe%\xf1\xae\x8f\xe1\x88\xc8\xbb\x9f\xcc\xb9#+m\x17.~\xbe\x83\xeb\\\xa7\x8f\xfe%\r-\xa4\xd2\xb4Y\x15\xef\x07\xcb-\xc0\xe4E\xec=[\xf9W\x8b\xcf<\xb73\xbc\xf3\xc8\xf2J\xe7s;\x9c\x92}\xcd}\x86M\xc3\x12\xc4EW\xc5\xe9\x17\xb2\xea\xfd{/\xc7\xd0\xce\xee\x7f\x0e\xdd\xff\x00\xc8\xee\xb5\xcf\x8b:\xf6\xa4\xcd\x1d\x81M>\x03\xd3\xcb\xe5\xc8\xf7c\xfd1\\M\xdd\xfd\xe5\xf4\x86K\xbb\xa9\xa7rrZG,\x7fZ\xafE}\xde\x1b\x05\x87\xc2\xc7\x96\x84\x14}?\xcfv5N)\xde\xda\x85\x14Q]E\x8a\x8e\xc8\xc1\x91\x8a\xb0\xe8A\xc1\xae\x97F\xf1\xf7\x88\xf4FQ\x0e\xa0\xf3B\xbf\xf2\xc6\xe3\xe7\\zs\xc8\xfc+\x99\xa2\xb2\xadB\x95h\xf2U\x8a\x92\xf3W&P\x8c\xb7G\xbd\xf8_\xe2\x9e\x97\xad2Z\xea\n,/\x1b\x80Y\xb3\x1b\x9ff\xed\xf8\xfeu\xdf\x03\x91\x91\xd2\xbeF\xafF\xf0\x1f\xc4\x99\xf4yc\xd3u\x89Zm=\x88T\x95\xb9h?\xc5\x7f\x95|Vq\xc2\xb1Qu\xb0_\xf8\x0f\xf9\x7f\x97\xdd\xd8\x9fz\x1ek\xfa\xfb\xff\x00?S\xdc\xe8\xa6E*M\x12K\x13\xab\xc6\xe02\xb2\x9c\x82\x0fqO\xaf\x85j\xda3M\xc2\x8a(\xa4\x01Y\x9e \xd0\xed\xbcE\xa3O\xa7]\x01\xb6A\xf2>9F\xec\xc2\xb4\xe8\xad)U\x9d)\xaa\x90vkT&\x93Vg\xcaZ\xae\x99s\xa3\xea\x97\x1a}\xda\x15\x9a\x07*\xde\xfe\x84{\x1a\xa7^\xd3\xf1{\xc3\x02\xea\xc15\xfbd\xfd\xf5\xbe\x12\xe3\x03\xef\'f\xfc\x0f\xe8k\xc5\xab\xf6\x0c\xab\x1f\x1c~\x165\xd6\xfb5\xd9\xf5\xff\x00?B`\xdb\xd1\xee\x82\xbb\x8f\x83\xff\x00\xf2T\xf4o\xfbo\xff\x00\xa2$\xae\x1e\xbb\x8f\x83\xff\x00\xf2T\xf4o\xfbo\xff\x00\xa2$\xae\xda\xbf\x03\xf4\n\x9f\x03\xf4>\xa9\xa2\x8a+\xc8<\xa0\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x03\xe5o\x8c\x1f\xf2T\xf5\x9f\xfba\xff\x00\xa2#\xae\x1e\xbb\x8f\x8c\x1f\xf2T\xf5\x9f\xfba\xff\x00\xa2#\xae\x1e\xbdz_\x02\xf4=Z\x7f\x02\xf4\n\xf6\xaf\x84\x1e\x1a\x16\x9at\x9a\xed\xc2~\xfa\xe7)\x06G\xdd\x8cu?\x89\xfeU\xe4\xfa\x06\x91.\xbb\xae\xdai\xb1g3\xc8\x03\x11\xfc+\xdc\xfe\x035\xf5\r\xad\xb4VV\x90\xda\xc0\x81"\x85\x02"\x8e\xc0\x0c\n\xf9^,\xcc=\x8d\x05\x85\x83\xd6{\xfa/\xf3\x7f\x93\x13\xf7\xa5n\xda\xff\x00\x915\x14Q_\x9c\x1a\x05\x14Q@\x05y\xdf\xc4\xcf\x1c\x1d\x0e\xd7\xfb\'N\x90\rBu\xfd\xe3\x83\xcc(\x7f\xa9\xae\xb7\xc4\xba\xec\x1e\x1c\xd0nu)\xb0J\x0cF\x9f\xdfs\xd0W\xcc\xd7\xf7\xd7\x1a\x9d\xfc\xf7\xb7R\x17\x9eg.\xec}M}g\x0cd\xeb\x15S\xeb5\x95\xe1\x1d\x97w\xfeK\xfa\xeag/y\xf2\xf4\xeb\xfe_\xd7\xeaW$\xb1$\x92I\xe4\x93\xde\x92\x8a+\xf4\x93@\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x03\xd4~\x16x\xd9\xad.\x13@\xd4e&\xdeS\x8bWc\xf7\x1b\xfb\xbfC\xfc\xeb\xda+\xe4ub\x8c\x19I\x0c\x0eA\x1d\x8d}\x19\xf0\xfb\xc4\xff\x00\xf0\x92\xf8q\x1af\xcd\xed\xb6"\x9f\xdc\xf6o\xc4~\xb9\xaf\x81\xe2\xbc\xa5A\xfdv\x92\xd1\xfc^\xbd\x1f\xcfg\xe7\xeaf\xbd\xc9[\xa3:\xca(\xa2\xbe \xd0(\xa2\x8a\x00\x8a\xe6\xda+\xcbYm\xa7@\xf1J\x85\x1dOpF\r|\xbf\xe2-\x1a]\x03_\xbb\xd3e\xcf\xee\\\xecc\xfcJyS\xf9W\xd4\xb5\xe4\xdf\x19\xb40\xd0\xd9\xeb\x91/*|\x89\x88\xf4\xea\xa7\xf9\x8f\xca\xbe\xaf\x84\xf1\xde\xc7\x14\xf0\xf2~\xec\xff\x005\xb7\xdf\xb7\xdcg/vJ_/\xf2\xfe\xbc\xcf\x1f\xae\xe3\xe0\xff\x00\xfc\x95=\x1b\xfe\xdb\xff\x00\xe8\x89+\x87\xae\xe3\xe0\xff\x00\xfc\x95=\x1b\xfe\xdb\xff\x00\xe8\x89+\xf4j\xbf\x03\xf4\x1dO\x81\xfa\x1fT\xd1E\x15\xe4\x1ePQE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x01\xf2\xb7\xc6\x0f\xf9*z\xcf\xfd\xb0\xff\x00\xd1\x11\xd7\x0f]\xc7\xc6\x0f\xf9*z\xcf\xfd\xb0\xff\x00\xd1\x11\xd7\x10\x01f\n\x06I8\x00W\xafK\xe0^\x87\xabO\xe0^\x87\xad|\x19\xd0\xc1k\xcdrT\xe9\xfb\x88I\x1f\x8b\x11\xfa\x0f\xce\xbdz\xb1|\'\xa4\r\x0f\xc2\xf6\x16\x1bp\xe9\x10i8\xfe3\xcb~\xa6\xb6\xab\xf2<\xeb\x19\xf5\xccl\xea\xa7\xa5\xec\xbd\x17\xf9\xef\xf3\x15=\xb9\xbb\xeb\xfd|\x82\x8a(\xaf(\xd0(\xa2\xb3|A\xaa\xa6\x87\xa0\xde\xeaO\x8f\xdcDYA\xee\xdd\x14~x\xad)S\x95Y\xaap\xdd\xbb/\x98\xa4\xf9Sl\xf1\xdf\x8b~#:\x8e\xbc\xbaL/\x9b{\x1f\xbf\x8e\x8d!\xeb\xf9\x0e?:\xf3\xaa\x92y\xe4\xb9\xb8\x92y\x98\xb4\x921vc\xdc\x93\x93Q\xd7\xec\xf8,,0\x98xP\x86\xd1_\xf0\xef\xe6\xc5\x08\xb4\xb5\xdc(\xa2\x8a\xea((\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00+\xad\xf8u\xe2\x13\xa0x\xae\x03#\xed\xb5\xba\xc4\x13g\xa0\x04\xf0\x7f\x03\\\x95\x00\x90r\x0e\x08\xacq\x14!\x88\xa5*3\xdaJ\xc4\xce<\xca\xc7\xd74W;\xe0}k\xfb{\xc2VWl\xdb\xa6U\xf2\xa6\xff\x00}x?\x9f\x07\xf1\xae\x8a\xbf\x16\xc4P\x96\x1e\xb4\xa8\xcfx\xb6\xbe\xe0\x8c\xb9\x95\xc2\x8a(\xacJ\n\xca\xf1.\x92\xba\xdf\x87/\xb4\xe6\x193DB{0\xe5\x7fP+V\x8a\xd2\x95YR\xa9\x1a\x90\xdd4\xd7\xc8R\x8f2h\xf9!\xd1\xa3vG\x18e$\x10{\x1a\xed\xbe\x0f\xff\x00\xc9S\xd1\xbf\xed\xbf\xfe\x88\x92\xa8|C\xd2\x86\x93\xe3[\xf8\x95q\x14\xcd\xe7\xa6\x06\x06\x1b\x93\xfa\xe6\xaf\xfc\x1f\xff\x00\x92\xa7\xa3\x7f\xdb\x7f\xfd\x11%~\xd1\n\xd1\xaf\x87Uc\xb4\x95\xfe\xf4f\xe5\xcdI\xb7\xd8\xfa\xa6\x8a(\xaf4\xf3\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x0f\x95\xbe0\x7f\xc9S\xd6\x7f\xed\x87\xfe\x88\x8e\xb2\xbc\t\xa5\rc\xc6Zu\xb3(h\xd6O6@\x7f\xba\xbc\xff\x00J\xd5\xf8\xc1\xff\x00%OY\xff\x00\xb6\x1f\xfa":\xdf\xf8+\xa6\xef\xbb\xd4\xb56\x03\xf7h\xb0\'\x1d\xcf\'\xf9\x0f\xce\xb6\xcc\xb1?U\xcb\xa7Un\xa3\xa7\xab\xd1~,\xf4w\xa4\xa3\xde\xcb\xfa\xf9\x1e\xc5E\x14W\xe3\xe6\xe1E\x14P\x01^[\xf1\x9fW\xf2t\xdb\x1d!\x1b\xe6\x9d\xcc\xd2\x0f\xf6W\x81\xfa\x93\xf9W\xa9W\xce\x9f\x12\xf5C\xa9\xf8\xde\xf7\x04\x98\xed\xb1n\x9c\xff\x00w\xaf\xeb\x9a\xfa^\x15\xc2\xfblz\x9b\xda\t\xbf\x9e\xcb\xf3\xbf\xc8\xcez\xb5\x1f\xebO\xf869\x1a(\xa2\xbfP4\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80=_\xe0\xb6\xad\xb6\xebP\xd2\x1d\xb8u\x13\xc6\t\xee8l~\x04~U\xecU\xf3G\x81u?\xec\xaf\x19\xe9\xb7\x05\x82\xa3J"r\x7f\xba\xdf)\xfeu\xf4\xbd~g\xc5\xb8_e\x8dUV\xd3_\x8a\xd3\xf2\xb1\x9ct\x93\x8f\xcf\xef\xff\x00\x83p\xa2\x8a+\xe5\x8d\x02\x8a(\xa0\x0f#\xf8\xd7\xa6\xff\x00\xc83TP\x7f\x8a\x07?\xf8\xf2\xff\x00\xec\xd5\xcd|\x1f\xff\x00\x92\xa7\xa3\x7f\xdb\x7f\xfd\x11%z\x8f\xc4\xeb\x01\x7f\xe0[\xd2\x07\xcdnVu\xfc\x0f?\xa15\xe5\xdf\x07\xff\x00\xe4\xa9\xe8\xdf\xf6\xdf\xff\x00DI_\xa7\xf0\xde#\xdbe|\xafx\xdd~\xbf\xa9\x83\xd23_\xd6\xbf\xf0n}SE\x14WY\xe7\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x1f+|`\xff\x00\x92\xa7\xac\xff\x00\xdb\x0f\xfd\x11\x1dzg\xc2\xbd?\xec^\x06\xb6\x90\x81\xba\xeaG\x98\xfd3\x81\xfa\n\xf3O\x8b\xe0\xb7\xc5]a@\xc9&\x00?\xef\xccu\xee:%\x98\xd3\xb4+\x0b0\xbb|\x9btB=\xc0\x19\xfdk\xc8\xe2\xca\xfc\x98\x1at\x97\xdak\xeeK\xfc\xda=(k\xc8\xbc\xbf\xaf\xcc\xbfE\x14W\xe7\x86\xc1E\x14P\x047\x97+ge=\xcb\xfd\xc8ci\x0f\xd0\x0c\xd7\xca7W\x0fuw5\xc3\x92^Wgb}I\xcd}\x17\xf1\x16\xfb\xec\x1e\x05\xd4\xdc6\xd6\x95\x04+\xff\x00\x02 \x7f,\xd7\xcd\xf5\xfa\x1f\x06\xd0\xe5\xc3\xd4\xad\xdd\xdb\xee_\xf0L\xd6\xb3o\xb7\xf5\xfeAE\x14W\xd9\x1a\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x0e\x8d\xda9\x16E8e \x83\xee+\xea\xbd&\xf0j:=\x95\xe0 \xf9\xf0$\x9cz\x90\r|\xa5_D\xfc1\xbd\xfbg\x80\xecG\xf1@^\x13\xf87\x1f\xa1\x15\xf1\xfccC\x9b\x0b\n\xbf\xcb+|\x9a\xff\x00\x80\x8c\xde\x93O\xfa\xfe\xb7;\n(\xa2\xbf:4\n(\xa2\x80*j\x96\x82\xfbI\xbc\xb4 \x1f:\x17\x8f\x9fpEx_\xc2$1\xfcW\xd2\x11\x86\x19L\xe0\xfd|\x99+\xdf\xeb\xc5\xbc\x13f,>?El\xa3\n\x977X\xfa\x18\xa4#\xf9\xd7\xdb\xf0\x85or\xbd\'\xd9?\xcd?\xd0\xc2\xa6\x8d\xf9\xa7\xf8\x7f\xc3\x9fH\xd1E\x15\xf4g\x9c\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00|\xd5\xe3\xdb?\xed\x0f\x8f\x13\xdav\x96\xe6\xd5O\xd3\xca\x8f5\xed\xb5\xe5\xda\x95\xa8\xba\xfd\xa4.\xb7\x0c\x88\x84r\xfeV\xc9\x8f\xd6\xbdF\xbeO\x8b\xaa\xde\xad\x1a]\xa3\x7f\xbf\xfe\x18\xf4h\xeb\xaf\x92\xfe\xbf\x10\xa2\x8a+\xe4M\xc2\x8a(\xa0\x0f6\xf8\xcfxb\xf0\xdd\x95\xa0\xff\x00\x96\xf7;\x8f\xd1T\xff\x00\x88\xaf\x0f\xafT\xf8\xd9t[Q\xd2\xad3\xf2\xa4O&=\xc9\xc7\xfe\xcb^W_\xacp\xdd/g\x96\xd3\xf3\xbb\xfb\xdb\xfd,g\rn\xfc\xff\x00\xe0~\x81E\x14W\xbah\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x15\xed\x7f\x05\xae\xcc\x9a\x16\xa3hO\x11\\\x07\x1f\xf0%\xff\x00\xeck\xc5+\xd4~\n\\\x15\xd5\xf5Kl\xf0\xf0+\xe3\xdc6?\xf6j\xf0\xf8\x8e\x97\xb4\xcb*yY\xfd\xcd~\x84OK??\xf8\x1f\xa9\xed\x14QE~LXQE\x14\x00W\x98\xd9[\x0b\x7f\xdaB\xc4\x81\x81*<\x9f\\\xdb8?\xca\xbd:\xb8\x9b\x88\x02|w\xf0\xbc\xc0\x7f\xac\xb5\x9c\x13\xf4\x8e_\xf1\xaf\xa5\xe1j\x9c\xb8\xc9G\xbcZ\xfc\x9f\xe8a_o\xbf\xf2g\xafQE\x15\xf6\xa7\x9c\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00x\xf46\xe2O\x8f~%\x9c\x8f\xf5V\xb0\xe3\xf1\x8a*\xeek\x9a\xb2\xb7\x1f\xf0\xb5|cs\x8e@\xb4\x8c\x7f\xdf\x955\xd2\xd7\xc2q-Nl{]\xa3\x15\xf8_\xf5=*\x1f\r\xff\x00\xad\x90QE\x15\xe0\x1b\x05\x14Q@\x1e\x07\xf1z\xe0\xcd\xe3o+\xb46\xc8\xa3\xf1\xc9\xfe\xb5\xc1WW\xf1&\xe3\xed\x1e>\xd4\xcexFT\xfc\x94\n\xe5+\xf6l\xae\x1c\x98\x1a1\xfe\xec\x7f#:\x7f\r\xfb\xeb\xf7\x85\x14Q]\xe6\x81E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01]\xe7\xc2)\xcc^7X\xc1\xe2[y\x14\xfe\x18?\xd2\xb8:\xeb>\x1a\xcf\xe4x\xfbL9\xe1\xd9\xd3\xf3S\\\x19\xa49\xf05\xa3\xfd\xd9~L\xce\xa7\xc3~\xda\xfd\xc7\xd1\xb4QE~2h\x14QE\x00\x15\xce^\xc0?\xe1hx:\xe3\x1c\xe6\xed?\xf2\x03\x1a\xe8\xeb.\xe6\x1d\xde3\xf0\xac\xdf\xdc\xb9\xb8_\xce\xdaO\xf0\xafg \x9f.a\x0f\xfb{\xff\x00If\x18\x8d)\xb7\xfdv;\xca(\xa2\xbfA<\xe0\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x03\x81\xb5\x84\xaf\x8d\xbcW7\xf7\xeem\xd7\xf2\xb6\x8f\xfckZ\xab\xac{|A\xae\xbf\xf7\xee\xe3\xff\x00\xd2xj\xc5~u\x9d\xcd\xcb\x1fQ\xbf/\xc1$zXujk\xfa\xea\x14QEyF\xc1E\x14P\x07\xcc\x9e5\x93\xcd\xf1\xae\xb0\xdf\xf4\xf4\xe3\xf28\xac\x1a\xd2\xf1\x0c\xbew\x8959?\xbdu)\xff\x00\xc7\x8df\xd7\xed\xf8x\xf2\xd1\x84_D\xbf")[\x926\xec\x14QElXQE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00V\xff\x00\x82\x1f\xcb\xf1\xbe\x8c\xdf\xf4\xf4\x83\xf38\xac\n\xd6\xf0\xc4\x9eW\x8a\xb4\x97\xf4\xbb\x8b\xff\x00B\x15\x86%^\x8c\xd7\x93\xfc\x88\xa9nG~\xc7\xd4tQE~"XQE\x14\x00T\x057k\xfa\x1b\x7fv\xed\xcf\xfeK\xca*zHSv\xb1\xa5\x9f\xee\xce\xc7\xff\x00 \xc8?\xadzYC\xb6:\x9f\xa9\x86%\xda\x9b\xf9~gSE\x14W\xe9\x07\x9c\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00r\xd2\xae\xddgT?\xde\xb8S\xff\x00\x90c\x1f\xd2\x96\xa5\xbc]\xba\x9d\xd9\xfe\xf3\xa9\xff\x00\xc7\x14\x7fJ\x8a\xbf4\xcd%\xcd\x8d\xaa\xfc\xdf\xe0z8ujk\xfa\xea\x14QEp\x1b\x85\x14PzP\x07\xca\x1a\x93n\xd5o\x1b\xd6w?\xf8\xf1\xaa\xb5=\xe9\xcd\xfd\xc1\xf5\x95\xbf\x99\xa8+\xf7E\xa1\x9d%jq^H(\xa2\x8af\x81E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01Wtv\xd9\xad\xd87\xa5\xccg\xff\x00\x1e\x15J\xadi\xa7\x1a\xad\x99\xff\x00\xa6\xe9\xff\x00\xa1\n\x99+\xa6\x8c\xab\x7f\n^\x8c\xfa\xbe\x8a(\xaf\xc3\rB\x8a(\xa0\x02\xa6\xb2]\xda\x9d\xa1\xfe\xeb\xb1\xff\x00\xc7\x18T5gO\x19\xd4!\xf6\'\xff\x00A5\xd9\x97;b\xe9\x7f\x89~fu\x95\xe9\xb3~\x8a(\xaf\xd3\x8f,(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00\xc0\xd4\x065\t\xbd\xc8\xff\x00\xd0EV\xab:\x89\xff\x00O\x97\xdb\x1f\xc8Uj\xfc\xc30\xff\x00{\xab\xfe)~l\xf5i|\x08(\xa2\x8a\xe4,)\x0fCKHz\x1a\x00\xf96\xef\xfe?\'\xff\x00\xae\x8d\xfc\xea\x1a\x9a\xef\x8b\xd9\xff\x00\xeb\xa3\x7f:\x86\xbfu&\x1f\n\n(\xa2\x82\x82\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\xac\xe9\xdf\xf2\x13\xb4\xff\x00\xae\xc9\xfc\xc5V\xabZh\xce\xa9h?\xe9\xb2\x7f\xe8B\x933\xad\xfc9z3\xea\xfa(\xa2\xbf\x0b4\n(\xa2\x80\n\xb3\xa7\x9c_\xc5\xef\x9f\xe4j\xb5Md\xdbu;A\xfd\xe7a\xff\x00\x8e1\xfe\x95\xd9\x97+\xe2\xe9\x7f\x89~fu\x9d\xa0\xce\x8a\x8a(\xaf\xd3\x8f,(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00\xe7o[v\xa5t?\xba\xea?\xf1\xc55\r$\xcf\xbbX\xd4\xc7\xf7gQ\xff\x00\x90\xa3?\xd6\x96\xbf4\xcd#\xcb\x8c\xaa\xbc\xdf\xe3\xa9\xe9a\xdd\xe9\xa7\xfdn\x14QEp\x1b\x05\x14Q@\x1f\'_\x8cj7#\xd2V\xfef\xab\xd5\xcd]\x0cz\xd5\xf2\x1f\xe1\xb8\x90\x7f\xe3\xc6\xa9\xd7\xee\x89\xdd\\\xce\x8b\xbd8\xbf$\x14QE3@\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xa2\x8a(\x00\xab\xba:\xef\xd6\xec\x17\xd6\xe21\xff\x00\x8f\n\xa5Z\xbe\x18\x8f\xcd\xf1V\x92\x9e\xb7q\x7f\xe8B\xb3\xab.Zr\x97d\xcc\xea\xab\xd3\x92\xf2g\xd4\x94QE~\x1ch\x14QE\x00\x14\x91>\xddcK\x1f\xde\x9d\x87\xfeA\x90\xff\x00JZ\xac\xd2\x05\xf1\x06\x82\x9f\xdf\xbb\x93\xff\x00I\xe6\xafK(W\xc7S\xf50\xc4\xab\xd3\x7f\xd7S\xb1\xa2\x8a+\xf4\x83\xce\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x808\xf1&\xef\x10k\xa9\xfd\xcb\xb8\xc7\xfeK\xc4j\xc5d\xda\xcc[\xc6\xfe,\x87\xfb\x976\xed\xf9\xdbG\xfe\x15\xad_\x9dgpq\xc7\xd4O\xcb\xf1I\x9e\x96\x1d\xde\x9a\xfe\xba\x85\x14Q^Q\xb0QE\x14\x01\xf2\xf7\x8a\xe2\xf2|[\xab\xc7\xe9w\'\xfe\x84k\x1e\xbaO\x1fBa\xf1\xde\xae\xa4c3\xef\xfc\xc0?\xd6\xb9\xba\xfd\xb7\t.l<%\xdd/\xc8\x8aN\xf0O\xc8(\xa2\x8a\xe8,(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00+\x7f\xc1\t\xe6x\xdfF_\xfazC\xf9\x1c\xd6\x05u\xbf\r \xf3\xfc}\xa6\x8cp\x85\xdf\xf2C\\\xb8\xe9\xf2ajI\xf4\x8b\x7f\x83"\xad\xf9\x1d\x8f\xa3(\xa2\x8a\xfcP\xb0\xa2\x8a(\x00\xac\x8b\xa9\x8a\xf8\xe3\xc2p\xf6{\x8b\x96\xfc\xad\xa4\xff\x00\x1a\xd7\xaeb\xf6\xe7?\x16\xbc\x1fk\xe8\xb7r\x1f\xc6\x16\x1f\xd0\xd7\xb5\xc3\xf0\xe6\xcc!\xe4\xa4\xff\x00\xf2Va\x88\xd6\x16\xfe\xbb\xfe\x87\xa7\xd1E\x15\xfa\x01\xe7\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x1eaes\x8f\x8b>1\xb5\xf5[I\x07\xe1\n\x8f\xea+\xa7\xae\x0e;\xa1\x0f\xed\x01\xe2\x18\x0f\xfc\xb7\xb5\x88\x0f\xa8\x8a#\xfe5\xdeW\xc2\xf1->L\x7f7\xf3F/\xf0\xb7\xe8zT>\x1b\x7f[ \xa2\x8a+\xe7\xcd\x82\x8a(\xa0\x0f\x9f>+\xc3\xe5x\xf2\xe9\xb1\x81$Q\xbf\xd7\xe5\xc7\xf4\xae&\xbd3\xe3M\xbe\xcf\x10\xd8\\\x01\xfe\xb6\xdbi>\xa5X\xff\x00\x8dy\x9d~\xc5\x93T\xf6\x99}\x17\xfd\xd4\xbe\xed?B)\xfc?7\xf9\x85\x14Q^\x99aE\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01]\xf7\xc2\x0bs/\x8d|\xde\xd0\xdb;\x1f\xc7\x03\xfa\xd7\x03^\xab\xf0N\xd4\xb6\xa1\xaa\xdd\xe3\xe5H\x92?\xc4\x92\x7f\xf6Z\xf2s\xca\x9e\xcf.\xad/+}\xfa~\xa6u6\xf9\xaf\xcc\xf6J(\xa2\xbf 4\n(\xa2\x80\n\xe0\xe4\xba\x13~\xd0\x1e\x1e\x80\x1f\xf5\x16\xb2\x83\xf51J\x7f\xc2\xbb\xca\xf2\x9d\x1e\xef\xed\x9f\xb4|\r\xda6\x96!\xff\x00\x01\xb7q\xfc\xf3_Q\xc2\x94\xb9\xb1s\x9fh\xbf\xc6\xdf\xf0Lkmo_\xcb\xfe\t\xef\xd4QE}\x91\xe6\x85\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x1e\x01\xac\xde}\x8f\xf6\x8f\x9d\xbbH\xf1D\x7f\xe0V\xe8?\x9e+\xd5\xeb\xc2\xbe%]\xb5\x87\xc6\xbb\xdb\xb580\xcfj\xf9\xfaE\x19\xaftV\x0e\x81\x94\xe5H\xc85\xf2\xdc]F\xd3\xa3W\xbcm\xf7k\xfa\x9e\x95/\xd1\x7f_\x90\xb4QE|q\xb0QE\x14\x01\xe5\xbf\x1a\xed\x0b\xe9:e\xe0_\xf5s4d\xff\x00\xbc2?\xf4\x1a\xf1\x8a\xfa#\xe2}\x8f\xdb|\tzG\xde\xb7)0\xfc\x0e\x0f\xe8M|\xef_\xa8\xf0\xa5oi\x97(\xff\x00+k\xf5\xfdL\xe3\xf1I\x7f_\xd6\xe1E\x14W\xd2\x1a\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05{\x87\xc1\x8b?+\xc3W\x97g\xac\xf7;G\xd1T\x7f\x89\xaf\x0f\xaf\xa4~\x1eX\xfd\x83\xc0\xbab\x15\xda\xd2Ffo\xab\x12\x7f\x96+\xe68\xb2\xb7\xb3\xcb\xf9?\x99\xa5\xfa\xfe\x86r\xd6Q_?\xeb\xef:\x8a(\xa2\xbf14\n(\xa2\x80\x11\x98*\x96\'\x00\x0c\x93^\x19\xf0\xda\xed\xaf\xfe6\xd9\xdd\xb1\xc9\x9a{\xa7\xcf\xd6)+\xd6\xfcY~4\xdf\t\xea\x97}\xd2\xdd\x82\xfdH\xc0\xfdMx\xbf\xc1\xff\x00\xf9*z7\xfd\xb7\xff\x00\xd1\x12W\xdd\xf0\x8d\x0bP\xafY\xf5\xd3\xeeM\xbf\xcd\x18\xd4\xd7\x9b\xc9~\x7f\xf0\xc7\xd54QE{\xe7\x9a\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00|\xad\xf1\x83\xfeJ\x9e\xb3\xff\x00l?\xf4Du\xec\xde\x0f\xbf\xfe\xd3\xf0\x86\x97u\xdd\xad\xd5[\xea\xbf)\xfdEx\xcf\xc6\x0f\xf9*z\xcf\xfd\xb0\xff\x00\xd1\x11\xd7u\xf0oR\xfbO\x86nlX\xfc\xd6\xb3\x929\xfe\x16\x19\x1f\xa85\xe6\xf1N\x1f\xdae\xd1\xa8\xbe\xc3_s\xd3\xf3\xb1\xe8\xc7E\x07\xe5o\xc3\xfe\x01\xe8\xf4QE~nn\x14QE\x00T\xd4\xec\xd7P\xd2\xae\xec\x9b\x18\x9e\x17\x8f\x9fpE|\xa9,m\x0c\xcf\x13\x8c21R=\xc5}m_7\xfcD\xd2\xff\x00\xb2\xbcm~\x81q\x1c\xed\xe7\xa6\x06\x06\x1b\x93\xfa\xe6\xbe\xdf\x83q6\x9d\\;\xea\x93_-\x1f\xe6\x8c\xde\x93^\x7f\xd7\xf9\x9c\xb5\x14Q_|h\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00\x14QE\x00Mgl\xf7\x97\xb0[F\ty\xa4X\xd4\x0fRq_V\xda\xdb\xa5\xa5\x9c\x16\xd1\xfd\xc8cX\xd7\xe8\x06+\xe7\xef\x86\x1aY\xd4\xbcmj\xe5I\x8e\xd0\x19\xd8\xfa\x11\xf7\x7fR+\xe8z\xfc\xfb\x8c\xb1<\xd5i\xd0]\x13o\xe7\xff\x00\r\xf8\x99\xadf\xdfo\xeb\xfc\x82\x8a(\xaf\x8b4\n(\xa2\x80<\xf3\xe3\x0e\xa3\xf6_\nEf\xacC\xdd\xce\x01\x03\xba\xaf\'\xf5\xc5p?\x07\xff\x00\xe4\xa9\xe8\xdf\xf6\xdf\xff\x00DIW~1j\x9fk\xf1D6\n\xc7e\x9c##<nnO\xe9\x8a\xa5\xf0\x7f\xfeJ\x9e\x8d\xff\x00m\xff\x00\xf4D\x95\xfa\xb6C\x86\xf6\x19\\S\xdeI\xcb\xef\xdb\xf0\xb1\x83\xd6\x12}\xef\xfeG\xd54QEhy\xc1E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x07\xca\xdf\x18?\xe4\xa9\xeb?\xf6\xc3\xff\x00DGS\xfc"\xd5E\x8f\x8b\x8d\xa3\xb0\x11\xde\xc4S\x93\xfcC\x91\xfdG\xe3P|`\xff\x00\x92\xa7\xac\xff\x00\xdb\x0f\xfd\x11\x1dr:e\xf4\x9af\xa9k}\t\xc4\x96\xf2\xac\x83\xf09\xae\xdcN\x19b\xb0r\xa0\xfe\xd4m\xf8i\xf8\x9e\x95\x9b\xa4\xad\xd9\x1fW\xd1PY\xddG}e\x05\xdc\'1M\x1a\xc8\xa7\xd8\x8c\xd4\xf5\xf8\xd4\xa2\xe2\xdc^\xe8\xd54\xd5\xd0QE\x15#\n\xf2\xbf\x8c\xfa7\x9bcc\xacF\xbc\xc2\xc6\tO\xfb\'\x95\xfds\xf9\xd7\xaaVv\xbd\xa5G\xad\xe8W\x9al\xb8\xc4\xf1\x95\x07\xd1\xba\x83\xf8\x1cW\xa5\x94\xe3>\xa7\x8c\x85g\xb2z\xfa=\x1f\xf9\x91Q;]t>W\xa2\xa5\xba\xb6\x96\xce\xeeki\xd0\xa4\xb19GS\xd8\x83\x83QW\xecI\xdfTRi\xab\xa0\xa2\x8a)\x8c(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\xacX\xd9\xcd\xa8_\xc1gn\xa5\xa6\x9eA\x1a\x01\xeaN)6\x92\xbb\x13i+\xb3\xd9>\r\xe8\xdff\xd1n\xf5i\x17\x0ft\xfe\\d\x8ev/_\xcc\x9f\xd2\xbd6\xa9i\x1alZ>\x91i\xa7\xc3\xf7-\xe3\x08\x0f\xa9\xee\x7f\x13\x93Wk\xf1\xbc\xd3\x19\xf5\xcceJ\xfd\x1b\xd3\xd1h\xbf\x02i\xa6\x95\xde\xec(\xa2\x8a\xf3\xcb\nd\xd3%\xbc\x12M+m\x8e5.\xc7\xd0\x01\x93O\xae\'\xe2\x8e\xb7\xfd\x93\xe0\xf9`F\xc4\xf7\xa7\xc8L\x1ev\xf5c\xf9q\xf8\xd7V\x07\x0b,V"\x14#\xf6\x9d\xbe]_\xc9\x137h\xdd\x1e\x17\xad\xeaO\xab\xebw\xba\x83\xf5\xb8\x99\x9c{\x0c\xf0?,WS\xf0\x7f\xfeJ\x9e\x8d\xff\x00m\xff\x00\xf4D\x95\xc3\xd7q\xf0\x7f\xfeJ\x9e\x8d\xff\x00m\xff\x00\xf4D\x95\xfb4\xa2\xa3I\xc6;$L\xa2\xa3M\xa5\xd8\xfa\xa6\x8a(\xaf$\xf2\xc2\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x0f\x95\xbe0\x7f\xc9S\xd6\x7f\xed\x87\xfe\x88\x8e\xb8z\xee>0\x7f\xc9S\xd6\x7f\xed\x87\xfe\x88\x8e\xb8z\xf5\xe9|\x0b\xd0\xf5i\xfc\x0b\xd0\xf7\x8f\x84z\xe0\xd4<2\xdat\x8d\x99\xac[h\x1e\xb1\xb7#\xf5\xc8\xafA\xaf\x9b\xbc\x01\xe2\x0f\xf8G\xbcUo4\x8d\x8bi\xff\x00s?\xa6\xd3\xdf\xf085\xf4\x889\x19\x1d+\xf3\x1e\'\xc0\xfd[\x1a\xea%\xee\xcf_\x9f_\xc7_\x98\xa1\xa3q\n(\xa2\xbep\xd0(\xa2\x8a\x00\xf1?\x8b\xde\x196z\x92k\xb6\xd1\xfe\xe2\xeb\xe4\x9f\x03\xee\xc8:\x1f\xc4~\xa2\xbc\xca\xbe\xac\xd5\xf4\xabmkJ\xb8\xd3\xae\xd7t3.\xd3\xea\x0fb=\xc1\xaf\x99\xb5\xfd\x0e\xef\xc3\xba\xc4\xfau\xda\xe1\xe3?+\x0e\x8e\xbd\x98W\xe9\xbc1\x9a,V\x1f\xea\xf3~\xfc?\x15\xd3\xee\xd9\xfc\xbb\x99\xc7\xdd|\xbfw\xf9\x7f_\xa1\x99E\x14W\xd4\x1a\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05z\x9f\xc1\xff\x00\r\x1b\x8b\xd9u\xfb\x84\xfd\xd4\x19\x8e\xdf=\xdc\xf5?\x80\xe3\xf1\xae\x07\xc3\xba\r\xd7\x88\xf5\x984\xebU\xe5\xce]\xfb"\xf7c_Lizm\xb6\x8f\xa6[\xe9\xf6\x89\xb6\x18\x10*\xfa\x9fR}\xcfZ\xf9^(\xcd\x16\x1b\x0f\xf5h?~\x7f\x84z\xfd\xfb}\xe6r\xf7\x9f/\xdf\xfd\x7f_\x89r\x8a(\xaf\xcd\r\x02\x8a(\xa0\x02\xbe~\xf8\xa7\xaf\xff\x00lx\xad\xed\xa2|\xdb\xd8\x8f%q\xd0\xbf\xf1\x1f\xcf\x8f\xc2\xbd\x87\xc6\x9e!_\r\xf8j\xe6\xf40\xfbC\x0f.\x01\xea\xe7\xa7\xe5\xd7\xf0\xaf\x9a\x1d\xdaGgrY\x98\xe4\x93\xdc\xd7\xdcp\x86_yK\x195\xb6\x8b\xf5\x7f\xa7\xdeg\xf1O\xd3\xf3\x1b]\xc7\xc1\xff\x00\xf9*z7\xfd\xb7\xff\x00\xd1\x12W\x0f]\xc7\xc1\xff\x00\xf9*z7\xfd\xb7\xff\x00\xd1\x12W\xdc\xd5\xf8\x1f\xa0\xea|\x0f\xd0\xfa\xa6\x8a(\xaf \xf2\x82\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x02\x8a(\xa0\x0f\x95\xbe0\x7f\xc9S\xd6\x7f\xed\x87\xfe\x88\x8e\xb8z\xee>0\x7f\xc9S\xd6\x7f\xed\x87\xfe\x88\x8e\xb8z\xf5\xe9|\x0b\xd0\xf5i\xfc\x0b\xd0+\xe8?\x86~&\x1a\xf7\x86\xd2\xdag\xcd\xed\x90\x11I\x93\xcb/\xf0\xb7\xe5\xc7\xe1_>V\xef\x84\xbcG7\x865\xf8/\xd3-\x16vO\x18?}\x0f_\xc7\xb8\xfaW\x97\x9d\xe5\xab\x1f\x84t\xd7\xc4\xb5\x8f\xafo\x9e\xc14\xfe%\xd0\xfar\x8a\x86\xd2\xee\x0b\xebH\xae\xad\xa4\x12C*\x87G\x1d\x0855~G(\xb8\xb7\x19+4Ri\xab\xa0\xa2\x8a)\x0c+\x97\xf1\xaf\x83\xad\xbcY\xa6l\xf9b\xbe\x84\x13\x04\xd8\xff\x00\xc7O\xb1\xae\xa2\x8a\xdf\r\x89\xab\x86\xaa\xabRv\x92\x14\xa2\xa4\xac\xcf\x945\x1d:\xefI\xbf\x96\xca\xf6\x16\x86x\x8e\x19[\xf9\x8fQUk\xe9\x8f\x14\xf8;L\xf1]\xa6\xcb\xb4\xf2\xeePb+\x84\x1f2{{\x8fj\xf0\xbf\x12\xf8#Y\xf0\xcc\xacn`2\xda\xe7\xe5\xb9\x88e\x0f\xd7\xd0\xfdk\xf5\x0c\xa7>\xc3\xe3\xe2\xa2\xdf-N\xdd\xfd;\xfe\x7f\x99\nv\xd2g7E\x14W\xbch\x14QE\x00\x14QE\x00\x15kN\xd3\xae\xf5k\xf8\xac\xac\xa1i\xa7\x94\xe1U\x7f\x99\xf4\x15\xaf\xe1\xbf\x06k\x1e\'\x98\x0bKr\x96\xd9\xf9\xaee\x04"\xfe=\xcf\xb0\xafv\xf0\xa7\x83t\xdf\nZ\x15\xb6_6\xe9\xc7\xefn\x1c|\xcd\xec=\x07\xb5xY\xbe{C/\x8b\x8a|\xd5:/\xf3\xed\xf9\xb37;\xbbD\x8b\xc1^\x0e\xb6\xf0\x9e\x97\xb3\xe5\x92\xfa`\x0c\xf3c\xa9\xfe\xe8\xf6\x15\xd3\xd1E~]\x89\xc4\xd5\xc4\xd5u\xaa\xbb\xc9\x95\x18\xa8\xab \xa2\x8a+\x02\x82\x8a+\x80\xf8\x9f\xe3\x01\xa1\xe9\'L\xb4\x93\x17\xf7jA#\xacq\xf4\'\xeaz\n\xeb\xc0\xe0\xeac+\xc6\x85=\xdf\xe0\xba\xb2e.Ty\xdf\xc4\xcf\x14\xff\x00\xc2A\xe2\x03mn\xfb\xacl\x89\x8e<tv\xfe&\xfe\x9f\x85q4Q_\xb1ap\xd4\xf0\xd4cF\x9e\xd1V\xfe\xbdB1\xe5V\n\xee>\x0f\xff\x00\xc9S\xd1\xbf\xed\xbf\xfe\x88\x92\xb8z\xee>\x0f\xff\x00\xc9S\xd1\xbf\xed\xbf\xfe\x88\x92\xb4\xab\xf0?AT\xf8\x1f\xa1\xf5M\x14Q^A\xe5\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x05\x14Q@\x1f+|`\xff\x00\x92\xa7\xac\xff\x00\xdb\x0f\xfd\x11\x1dp\xf5\xdc|`\xff\x00\x92\xa7\xac\xff\x00\xdb\x0f\xfd\x11\x1dp\xf5\xeb\xd2\xf8\x17\xa1\xea\xd3\xf8\x17\xa0QE\x15\xa1g\xa7\xfc,\xf1\xa8\xb0\x9ch:\x8c\xb8\xb6\x95\xbf\xd1\xa4c\xc4n\x7f\x87\xe8\x7f\x9d{U|\x8c\t\x04\x10pGz\xf6\xef\x86\xff\x00\x10\x17T\x8a=\x1bU\x94\x0b\xe4\x1b`\x99\x8f\xfa\xe1\xe8\x7f\xda\xfeu\xf0\xdcM\x91\xb97\x8d\xc3\xaf\xf1/\xd7\xfc\xfe\xfe\xe6\x7f\x03\xf2\xfc\x8fK\xa2\x8a+\xe0\xcd\x02\x8a(\xa0\x02\x9a\xe8\xb2##\xa8ea\x82\xac2\x08\xa7QM;\x03W8\xddg\xe1\x8f\x86\xf5vi\x12\xdd\xac\xa6l\x9d\xf6\xc7h\'\xddz\x7f*\xe3/\xbe\n^+\x13a\xabA"\xf6\x13\xc6T\xfe\x99\xafe\xa2\xbd\x9c7\x10f8u\xcb\x1a\x97^z\xfez\xfe&~\xcd/\x87C\xc0e\xf8G\xe2\x84b\x11-$\x1e\xab>?\x98\x14\x91\xfc$\xf1K\xb0\r\x15\xaa\x0fV\x9c\x7fJ\xf7\xfa+\xd0\xff\x00[\xf1\xf6\xb7,~\xe7\xfea\xc9/\xe6\x7f\x87\xf9\x1e1e\xf0WPvS}\xaa\xdb\xc4\x9d\xc4(\\\xfe\xb8\xae\xc7F\xf8[\xe1\xcd)\x96I\xa1{\xe9\x97\x9d\xd7\x07+\x9f\xf7G\x1f\x9ek\xb6\xa2\xb81<C\x98\xe2\x17+\xa9e\xe5\xa7\xe3\xbf\xe2?f\x9f\xc4\xee68\xd2(\xd68\xd1Q\x14aUF\x00\x1e\xc2\x9dE\x15\xe2\xb6\xdb\xbb-+h\x82\x8a(\xa4\x01E\x15\x9b\xae\xeb\xb6>\x1e\xd3$\xbe\xbf\x94$k\xf7T}\xe7n\xc0\x0fZ\xd2\x95)\xd5\x9a\xa7M]\xbd\x90\x9bI]\x95\xfcQ\xe2[O\x0b\xe8\xf2^\xdc\xb02\x1f\x96\x18\xb3\xcc\x8d\xe9\xf4\xf55\xf3f\xab\xaa]k:\x9c\xf7\xf7\xb2\x19\'\x99\xb7\x13\xe9\xe8\x07\xb0\xab\xfe(\xf15\xe7\x8aug\xbc\xba;c\x1f,0\x83\xc4k\xe9\xf5\xf55\x89_\xa9\xe4Y4r\xea7\x96\xb5%\xbb\xed\xe4\xbf\xad_\xc8\x88\xa6\xdf4\x82\x8a(\xafx\xd0+\xb8\xf8?\xff\x00%OF\xff\x00\xb6\xff\x00\xfa"J\xe1\xeb\xb8\xf8?\xff\x00%OF\xff\x00\xb6\xff\x00\xfa"J\xce\xaf\xc0\xfd\x08\xa9\xf0?C\xea\x9a(\xa2\xbc\x83\xca\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80>V\xf8\xc1\xff\x00%OY\xff\x00\xb6\x1f\xfa":\xe1\xeb\xb8\xf8\xc1\xff\x00%OY\xff\x00\xb6\x1f\xfa":\xe1\xeb\xd7\xa5\xf0/C\xd5\xa7\xf0/@\xa2\x8a+B\xc2\x95\x1d\xa3utb\xac\xa7 \x83\x82\r%\x14\x06\xe7\xb4\xf8\x0f\xe2lw\xa9\x16\x97\xae\xca#\xb9\x18X\xae\x98\xe1d\xf4\r\xe8}\xfb\xd7\xa8u\xaf\x91\xab\xbe\xf0\x7f\xc4\xeb\xfd\x04%\x9e\xa2\x1e\xf6\xc0`\x0c\x9f\xdeD=\x8fq\xeck\xe2s\xae\x17U\x1b\xaf\x82V}c\xd3\xe5\xdb\xd3oC;8m\xaa\xfc\x8f{\xa2\xb3tm\x7fL\xd7\xed\x05\xc6\x9bv\x93.>e\x07\x0c\x9e\xc4u\x15\xa5_\tR\x94\xe9M\xc2\xa2\xb3]\x19jJJ\xe8(\xa2\x8a\xccaE\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01EEqq\r\xa4\r=\xc4\xc9\x14H2\xce\xec\x14\x0f\xc4\xd7\x98\xf8\xab\xe2\xe5\xbd\xb8{O\x0f\xa8\x9e^\x86\xe9\xc7\xc8\xbf\xee\x8e\xff\x00\x8f\x15\xdf\x80\xcb18\xe9\xf2\xd0\x8d\xfb\xbe\x8b\xd5\xff\x00L\x89M\'n\xa7i\xe2\x8f\x17i\x9e\x15\xb32\xdd\xc8\x1e\xe1\x86b\xb7C\xf3\xbf\xf8\x0fz\xf9\xfb\xc4\x9e&\xd4|O\xa8\x9b\xab\xe9>Q\xc4p\xaf\xdd\x8cz\x01\xfdk:\xf6\xfa\xebQ\xbb{\xab\xc9\xe4\x9ew9gs\x92j\xbd~\x95\x94dt2\xe8\xf3|S{\xbf\xd1v_\x98(\xb6\xf9\xa4\x14QE{\x85\x85\x14Q@\x05w\x1f\x07\xff\x00\xe4\xa9\xe8\xdf\xf6\xdf\xff\x00DI\\=w\x1f\x07\xff\x00\xe4\xa9\xe8\xdf\xf6\xdf\xff\x00DIY\xd5\xf8\x1f\xa1\x15>\x07\xe8}SE\x14W\x90yAE\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x01E\x14P\x07\xca\xdf\x18?\xe4\xa9\xeb?\xf6\xc3\xff\x00DG\\=}E\xe2O\x84>\x1f\xf1F\xbfu\xac\xde\xdejq\xdc\\l\xde\xb0K\x18A\xb5B\x8c\x02\x84\xf4Q\xde\xb2\xbf\xe1@\xf8W\xfe\x82\x1a\xcf\xfd\xfe\x8b\xff\x00\x8d\xd7\xa1\x0cL\x14Rgt1\x10QI\x9f9Q_F\xff\x00\xc2\x81\xf0\xaf\xfd\x045\x9f\xfb\xfd\x17\xff\x00\x1b\xa3\xfe\x14\x0f\x85\x7f\xe8!\xac\xff\x00\xdf\xe8\xbf\xf8\xddW\xd6\xa9\x97\xf5\x9ag\xceTW\xd1\xbf\xf0\xa0|+\xff\x00A\rg\xfe\xff\x00E\xff\x00\xc6\xe8\xff\x00\x85\x03\xe1_\xfa\x08k?\xf7\xfa/\xfe7G\xd6\xa9\x87\xd6i\x9f9Q_F\xff\x00\xc2\x81\xf0\xaf\xfd\x045\x9f\xfb\xfd\x17\xff\x00\x1b\xa3\xfe\x14\x0f\x85\x7f\xe8!\xac\xff\x00\xdf\xe8\xbf\xf8\xdd\x1fZ\xa6\x1fY\xa6|\xf5e\x7fw\xa7\\\xad\xc5\x95\xc4\xb6\xf3/G\x8d\x885\xe8\xda\x17\xc6=B\xd4,Z\xcd\xaa\xdd\xa0\xe3\xcd\x8b\xe4\x7f\xc4t?\xa5w\xff\x00\xf0\xa0|+\xff\x00A\rg\xfe\xff\x00E\xff\x00\xc6\xe8\xff\x00\x85\x03\xe1_\xfa\x08k?\xf7\xfa/\xfe7\\x\xba8,dyk\xc3\x9b\xf3\xfb\xf7!\xd6\xa4\xdd\xfa\x92i?\x10\xbc5\xab\x85X\xb5\x14\x82S\xff\x00,\xee\x7fv\x7f3\xc7\xeb]4r$\xa8\x1e7WC\xd1\x94\xe4\x1a\xe5\x7f\xe1@\xf8W\xfe\x82\x1a\xcf\xfd\xfe\x8b\xff\x00\x8d\xd5\xbb?\x82\xfa.\x9e\xe1\xac\xf5\xdf\x10\xdb\x91\xd3\xca\xbb\x8d\x7f\x94u\xf3\x18\x9e\x17\xc2\xcbZ\x15\x1c|\x9a\xbf\xf9~\xa2\xfa\xc2]o\xfd\x7f]\x0e\x86\x8am\xa7\x82M\xa0\xc2\xf8\x97\\\x94zL\xf0?\xf3\x8a\xb4\xa2\xd0\x16?\xbd\xa8^K\xfe\xff\x00\x97\xfd\x10W\x93S\x86qQ\xf8g\x17\xf7\xff\x00\x97\xea\x1f[Ku\xfd~\x06}\x15\xb1\xfd\x91\x061\xe6K\xf5\xc8\xff\x00\n\x86]\x05$\x1f-\xf5\xdc\x7f\xeey\x7f\xd5\re\x1e\x1c\xc6\xb7ge\xf3\xff\x00\x80T\xb1PKD\xd9\x9bA \x0c\x93\x81N\xba\xf0s])_\xf8H\xb5\x98\x81\xff\x00\x9eF\x05\xfd|\xaa\xc2\xbd\xf8A\xa6jG7\x9e"\xf1$\xfe\xcfv\x84~^]vR\xe1j\x8f\xf8\xb5R\xf4M\xfev\'\xebK\xa2\x13S\xf1\x8f\x87\xf4\x80~\xd7\xaa\xdb\x87\x1f\xc0\x8d\xbd\xbf!\x9a\xe0\xf5\xaf\x8c\xf1(h\xf4[\x06s\xdak\x9e\x07\xe0\xa3\xfck\xac\xff\x00\x85\x05\xe1_\xfa\x08k?\xf7\xfa/\xfe7G\xfc(\x1f\n\xff\x00\xd0CY\xff\x00\xbf\xd1\x7f\xf1\xba\xf70\x9c=\x96\xd1|\xd5/7\xe7\xb7\xdc\xbf[\x87\xb6\x8b\xf8\x9f\xdd\xa7\xfc\x13\xc25\xaf\x12\xea\xfe \x9b\xcc\xd4\xafd\x94g\xe5\x8f8E\xfa(\xe2\xb2k\xe8\xdf\xf8P>\x15\xff\x00\xa0\x86\xb3\xff\x00\x7f\xa2\xff\x00\xe3t\x7f\xc2\x81\xf0\xaf\xfd\x045\x9f\xfb\xfd\x17\xff\x00\x1b\xaf\xa4\xa7Z\x858\xa8AY.\x89\x15\x1a\xf4\xa3\xa2>r\xa2\xbe\x8d\xff\x00\x85\x03\xe1_\xfa\x08k?\xf7\xfa/\xfe7G\xfc(\x1f\n\xff\x00\xd0CY\xff\x00\xbf\xd1\x7f\xf1\xba\xaf\xadS+\xeb4\xcf\x9c\xa8\xaf\xa3\x7f\xe1@\xf8W\xfe\x82\x1a\xcf\xfd\xfe\x8b\xff\x00\x8d\xd1\xff\x00\n\x07\xc2\xbf\xf4\x10\xd6\x7f\xef\xf4_\xfcn\x8f\xadS\x0f\xac\xd3>r\xa2\xbe\x8d\xff\x00\x85\x03\xe1_\xfa\x08k?\xf7\xfa/\xfe7G\xfc(\x1f\n\xff\x00\xd0CY\xff\x00\xbf\xd1\x7f\xf1\xba>\xb5L>\xb3L\xf9\xca\xbb\x8f\x83\xff\x00\xf2T\xf4o\xfbo\xff\x00\xa2$\xafU\xff\x00\x85\x03\xe1_\xfa\x08k?\xf7\xfa/\xfe7Z\xbe\x1b\xf8C\xe1\xff\x00\x0b\xeb\xf6\xda\xcd\x95\xe6\xa7%\xc5\xbe\xfd\x8b<\xb1\x94;\x94\xa9\xc8\x08\x0fF=\xeag\x89\x83\x8bH\x89\xe2 \xe2\xd2;\xfa(\xa2\xbc\xf3\x84(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00\xff\xd9'
# 0

三、PIL模块中中Image对图片进行重命名和保存

首先生成一个新的文件夹,提取所有的图片,将图片和识别结果结合重命名并放在新的文件夹下。

import os
import ddddocr
from PIL import Image
ocr = ddddocr.DdddOcr(beta=False,show_ad=False)
for parent,dirnames,filenames in os.walk(r'C:\Users\86187\PycharmProjects\js逆向学习\imgs'):
    for filename in filenames:
        filenmae_title = filename.split('.')[0]
        current_Path = os.path.join(parent,filename)
        with open(current_Path,'rb') as f:
            image = f.read()
        ret = ocr.classification(image)
        os.makedirs('imgs_copy_word',exist_ok=True)
        d = f'{filenmae_title}_{ret}'
        image = Image.open(current_Path)
        image.save('imgs_copy_word/%s' % d)
        print(filenmae_title,'ret:',ret)
        break

注意,里面有格式化输出的写法。

三、TTfont模块将字体全部变成图片并保存
import os
import matplotlib.pyplot as plt
from fontTools.ttLib import TTFont
from fontTools.pens.freetypePen import FreeTypePen
import time
import ddddocr
from PIL import Image
def font_split_single_img():
    font = TTFont('SFIsgasJeq_1713180955729.ttf')
    cmap = font.getBestCmap()
    index = 1
    for n,v in cmap.items():
        d = v
        glyph = font.getGlyphSet()[d]  # 通过字形名称选择某一字形对象
        pen = FreeTypePen(None)
        glyph.draw(pen)  # 画出字型轮廓
        # pen.show()
        b = pen.array()
        print(index, '/', len(cmap), '~~~', glyph)
        plt.figure()
        plt.imshow(b)
        plt.axis('off')
        # plt.show()
        os.makedirs('imgs',exist_ok=True)
        plt.savefig('./imgs/{0}.jpg'.format(d))
        plt.clf()
        plt.cla()
        plt.close()
        index += 1
        # print(len(b))

        # print(glyph)

 

之前的字体文件为

 

如果遇到报错,No module named freetype,可以先使用魔法上网手段,接着在终端输入

pip install freetype-py 

对matplotlib.pyplot 的理解

import matplotlib.pyplot as plt

# 假设 b 是字形的轮廓点坐标数组
# 假设 glyph 是字形的名称或索引

plt.figure()
plt.imshow(b, cmap='gray')  # 假设 b 是灰度图像
plt.title(f'Glyph: {glyph}')  # 设置标题
plt.axis('off')  # 禁用坐标轴
plt.show()

plt.figure() 是 Matplotlib 库中用于创建新的图形窗口的函数。具体来说,它的作用包括:

  1. 创建新的图形窗口:调用 plt.figure() 将在内存中创建一个新的图形对象,用于存放即将绘制的图形内容。

  2. 设置图形的大小和属性:你可以在调用 plt.figure() 时传递参数来设置图形的大小、分辨率、背景颜色等属性。

  3. 与多个图形窗口交互:通过创建多个图形对象,你可以在不同的图形窗口中绘制不同的图形,并且可以通过选择不同的图形对象来对它们进行操作和修改。

总之,plt.figure() 的作用是创建一个新的图形窗口,用于显示即将绘制的图形内容。

plt.imshow(b) 是 Matplotlib 库中用于显示图像的函数。具体来说,它的作用包括:

  1. 将数组 b 中的数据呈现为图像:imshow() 函数将数组中的数据转换为图像,并显示在当前的 Matplotlib 图形窗口中。

  2. 图像的显示:imshow() 函数会将数组中的数值映射到图像的颜色空间中,并在图像中显示对应的颜色。例如,可以将灰度图像的像素值映射到灰度色彩空间中,形成一幅灰度图像;或者将彩色图像的像素值映射到 RGB 色彩空间中,形成一幅彩色图像。

  3. 图像的调整和显示:imshow() 函数提供了许多参数来调整图像的显示效果,例如设置颜色映射方式、调整图像的大小、添加标签等。通过这些参数,你可以对图像的显示效果进行个性化的调整。

总之,plt.imshow(b) 的作用是将数组 b 中的数据转换为图像,并显示在当前的 Matplotlib 图形窗口中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/549407.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【算法】删除链表中重复元素

本题来源---《删除链表中重复元素》。 题目描述 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回已排序的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,1,2] 输出&#xff1a;[1,2]示例 2&#xff1a; 输入…

Delphi Xe 10.3 钉钉SDK开发——审批流接口(获取表单ProcessCode)

开发钉钉审批流时&#xff0c;需要用到钉钉表单的Processcode&#xff0c;有两种方法 &#xff1a; 一、手动获取&#xff1a; 管理员后台——审批——找到对应的表单&#xff1a;如图&#xff1a; ProcessCode后面就是了&#xff01; 二、接口获取&#xff1a;今天的重点&a…

Redis消息队列-基于Stream的消息队列-消费者组

7.5 Redis消息队列-基于Stream的消息队列-消费者组 消费者组&#xff08;Consumer Group&#xff09;&#xff1a;将多个消费者划分到一个组中&#xff0c;监听同一个队列。具备下列特点&#xff1a; 创建消费者组&#xff1a; key&#xff1a;队列名称 groupName&#xff1a…

SimpleImputer缺失数据处理报错解决方案

作者Toby&#xff0c;来源公众号&#xff1a;Python风控建模&#xff0c;SimpleImputer缺失数据处理报错解决方案 今天有学员反馈缺失值代码报错&#xff0c;由于sklearn缺失值处理的包升级&#xff0c;下面把官网最新的缺失值处理代码奉上。 参考https://scikit-learn.org/st…

LeetCode-热题100:101. 对称二叉树

题目描述 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a; root [1,2,2,3,4,4,3] 输出&#xff1a; true 示例 2&#xff1a; 输入&#xff1a; root [1,2,2,null,3,null,3] 输出&#xff1a; false 提示&#xff1a;…

数据库讲解---(数据更新、视图、数据控制)【MySQL版本】

目录 前言 一.数据更新 1.1插入数据 1.1.1插入单个元组 1.1.2将一个新学生记录(学号:091530,姓名:夏雨,性别:男,籍:海南,出生年份:1999,学院:计算机)插入到学生表中 1.1.3插入子查询结果 1.1.4有一个表“DEPT”(SDEPT CHAR(20),AVG_AGE SMALLINT)表示每个学院的学生的平…

蓝桥杯2024年第十五届省赛真题-R 格式(高精度乘法 + 加法)

本题链接&#xff1a;蓝桥杯2024年第十五届省赛真题-R 格式 - C语言网 题目&#xff1a;​​​​​​​ 样例&#xff1a; 输入 2 3.14 输出 13 思路&#xff1a; 根据题意&#xff0c;结合数据范围&#xff0c;这是一道模板的高精度乘以低精度问题。 题意是double 类型 d 与…

深度解析 Spark(进阶):架构、集群运行机理与核心组件详解

关联阅读博客文章&#xff1a;深度解析SPARK的基本概念 引言&#xff1a; Apache Spark作为一种快速、通用、可扩展的大数据处理引擎&#xff0c;在大数据领域中备受关注和应用。本文将深入探讨Spark的集群运行原理、核心组件、工作原理以及分布式计算模型&#xff0c;带领读者…

spring webflux 小结

一、WebFlux 简介 WebFlux 是 Spring Framework5.0 中引入的一种新的反应式Web框架。通过Reactor项目实现Reactive Streams规范&#xff0c;完全异步和非阻塞框架。本身不会加快程序执行速度&#xff0c;但在高并发情况下借助异步IO能够以少量而稳定的线程处理更高的吞吐&…

今日arXiv最热NLP大模型论文:一文读懂大模型的prompt技术

引言&#xff1a;探索高效提示方法的重要性 在人工智能领域&#xff0c;大语言模型&#xff08;LLMs&#xff09;已经成为了自然语言处理&#xff08;NLP&#xff09;任务的重要工具。随着模型规模的不断扩大&#xff0c;如何高效地利用这些模型&#xff0c;尤其是在资源有限的…

Redis中的订阅发布和事务(一)

订阅发布 PUBSUB NUMSUB PUBSUB NUMSUB [channel-1 channel-2… channel-n]子命令接受任意多个频道作为输入参数&#xff0c;并返回这些频道的订阅者数量。 这个子命令是通过pubsub_channels字典中找到频道对应的订阅者链表&#xff0c;然后返回订阅者链表的长度来实现的(订阅…

随机游走的艺术-图嵌入表示学习

图嵌入引入 机器学习算法&#xff1a; 厨师 样本集&#xff1a; 食材 只有好的食材才能做出好的饭菜 我们需要把数据变成计算机能够读懂的形式&#xff08;将数据映射成为向量&#xff09; 图嵌入概述 传统图机器学习 图表示学习 自动学习特征&#xff0c;将…

啤酒厂要开发一个SCADA系统,我是这样考虑的

需求分析 在啤酒生产过程中&#xff0c;技术与自动化的应用对确保产品质量的稳定、提高生产效率以及保障生产安全起着至关重要的作用。因此&#xff0c;构建一套全面、高效的SCADA&#xff08;监督控制与数据采集&#xff09;系统总体规划框架对于啤酒厂来说具有重大意义。 SCA…

spring高级篇(一)

1、ApplicationContext与BeanFactory BeanFactory是ApplicationContext的父级接口&#xff1a;&#xff08;citlaltu查看类关系图&#xff09; 在springboot的启动类中&#xff0c;我们通过SpringApplication.run方法拿到的是继承了ApplicationContext的ConfigurableApplicatio…

【C++】unordered_set和unordered_map

底层哈希结构 namespace hash_bucket {template<class T>struct HashData{T _data;struct HashData* next nullptr;HashData(const T& data):_data(data){}};//仿函数:这里直接用开散列仿函数template <class K>struct HashFunc{size_t operator()(const K&a…

13个Java基础面试题

Hi&#xff0c;大家好&#xff0c;我是王二蛋。 金三银四求职季&#xff0c;特地为大家整理出13个 Java 基础面试题&#xff0c;希望能为正在准备或即将参与面试的小伙伴们提供些许帮助。 后续还会整理关于线程、IO、JUC等Java相关面试题&#xff0c;敬请各位持续关注。 这1…

【Redis】主从复制

文章目录 一、主从复制之一主二仆二、主从复制之薪火相传三、主从复制之反客为主四、总结4.1、复制原理和工作流程4.2、复制的缺点 主从复制指的是当主机数据变化时&#xff0c;自动将新的数据异步同步到其他备用机。主从复制的功能主要有 读写分离容灾恢复数据备份水平扩容支…

YOLO算法改进Backbone系列之:HorNet

在基于点积自注意的新空间建模机制的推动下&#xff0c;视觉变形器的最新进展在各种任务中取得了巨大成功。在本文中&#xff0c;我们展示了视觉变形器背后的关键要素&#xff0c;即输入自适应、长距离和高阶空间交互&#xff0c;也可以通过基于卷积的框架有效实现。我们提出了…

2024Spring> HNU-计算机系统-实验3-Bomblab-导引/答疑

前言 BombLab一定要花时间完成哦&#xff0c;对于期末卷面的提升和计算机系统的理解都非常重要。 导引 ①文件目录概览 助教下发一个文件包&#xff0c;打开之后是这样的几个文件。 这几个文件解释如下 bomb&#xff1a;可执行文件&#xff0c;无法打开&#xff0c;我们主要…

MySQL中的存储过程详解(下篇)

使用语言 MySQL 使用工具 Navicat Premium 16 代码能力快速提升小方法&#xff0c;看完代码自己敲一遍&#xff0c;十分有用 拖动表名到查询文件中就可以直接把名字拉进来中括号&#xff0c;就代表可写可不写 目录 1. 查看存储过程 1.1 查看存储过程的状态 1.1.1 基础…
最新文章