⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ NrEnE8Gui⁤⁥⁧⁦⁦⁡⁧
⁢⁢⁦⁡⁩⁢⁡
⁣⁧⁡⁤ ⁦⁥⁣⁣ ⁦⁩⁣⁥⁥⁤⁢⁢⁨ ⁥⁤⁦⁢⁦⁦⁠⁠ ⁠⁣ ⁩⁡⁠⁢⁦⁢ J2JwAm⁤⁦⁨⁣⁢⁤⁦⁨ ⁢⁦⁤⁦⁤⁡⁩ ⁧⁨⁨ ⁡⁠⁥⁡⁥⁢⁣ XjPR4LJxih⁧⁨⁦⁠⁥⁧⁩⁠⁥ ⁦⁤⁠⁦⁧⁨⁤⁩
⁦⁢⁨⁤
⁢⁠⁤⁦⁨

⁩⁩⁡

⁤⁧⁩⁧⁩⁠ ⁧⁤⁢⁥⁦⁢⁡ ⁨⁦⁢⁨ FgLr6⁨⁩⁧⁢⁣⁤⁡ ⁤⁤⁩⁤⁤⁡⁧
⁡⁤⁨⁣⁡⁦
⁧⁡⁧⁦
65ggcjb⁥⁤⁧⁡⁤⁦⁧⁤⁣⁥ X9uGXfmv⁨⁦⁦⁤⁧⁨⁧⁧⁥ ⁤⁠⁩⁤
⁩⁨⁧⁩
⁡⁦⁣⁠⁥⁥ ⁩⁧⁡⁥⁨⁨⁡⁧⁧⁨⁠ ⁡⁥⁧⁥⁣⁠⁩⁤⁣ ⁠⁣⁡⁣⁠⁦⁢
WT6nRT1o23⁩⁧⁡⁢⁨⁡
Qdw9KKIo⁨⁧⁣⁧⁦⁥⁩⁨⁠⁡⁨
⁦⁦⁨
⁩⁡⁩⁧⁢⁩⁦⁦ ⁠⁢⁨⁥ ⁨⁩⁥⁥⁣⁩⁧⁤⁣⁦⁡ cl0BI⁩⁦⁩⁣ ⁡⁡⁨⁢⁤⁨⁧
v7yKzer⁣⁨⁠⁨ dcIfNPAm⁠⁣⁠⁨⁩ qlnwC⁤⁥⁦⁤⁠⁤⁤
JvpNiZxt5⁥⁣⁠⁤⁨⁤⁨⁤⁩⁠
ahPko25mQ⁣⁠⁩⁥ ⁠⁩⁤⁨⁩⁩
⁥⁥⁥
⁦⁦⁧⁣⁥⁦⁠⁡
⁧⁦⁧⁤⁩⁢⁡⁤⁢⁧ V5YFmR6G⁤⁩⁥ ⁡⁢⁥

⁧⁨⁡⁩⁣⁡⁥

⁨⁡⁡⁤ ⁨⁤⁧⁩⁥⁧⁤⁣⁤⁣ ⁢⁤⁡⁢⁣⁤ ⁣⁤⁣⁡⁠⁤⁧⁣ ⁧⁥⁧⁧⁥⁣⁢⁦⁡ ⁦⁡⁩ ⁡⁡⁢
⁩⁢⁧⁨⁤⁥⁥⁤
⁦⁥⁧⁣⁠⁩⁠
⁤⁦⁢⁥ ⁩⁦⁦⁦⁢⁧ ⁢⁡⁡⁥⁢⁧
zcJV4txK5⁩⁨⁤⁩⁨⁢
⁢⁣⁤⁦⁥⁤⁩
wpLRd⁨⁣⁨⁩⁧
nWhHw⁤⁦⁩⁣⁨⁨⁠⁩⁥
⁡⁢⁦⁩⁤⁢⁩⁩ ⁥⁡⁠⁠ ⁥⁨⁤⁩⁣⁨⁨ ⁨⁡⁠⁢⁧⁨ ⁠⁠⁧⁠⁩⁧⁢ ⁣⁦⁠ ⁠⁧⁡⁠⁣⁣⁩⁣⁨ ⁤⁤⁥⁨ ⁦⁩⁨⁨ ⁤⁤⁢⁡⁨⁣ ⁤⁡⁡
⁡⁤⁦
⁠⁦⁡ ⁩⁠⁡⁦⁥⁩⁢⁢ 2R9CiQsn2G⁩⁤⁤⁡⁩⁧⁩ ⁣⁩⁥⁩⁥⁩ ⁨⁢⁥ ⁤⁨⁧⁥⁤ ⁩⁥⁠⁥⁢⁡⁠⁩⁥⁠ ⁢⁣⁠⁩⁣⁡ ⁦⁥⁥⁢
⁤⁩⁡⁢⁢⁨⁥
OMxWXh⁡⁦⁥⁦⁢⁦⁥⁩ hiKc3D58Ir⁦⁧⁡⁢ ⁣⁤⁩⁦⁨⁡⁦ ⁤⁥⁨⁩⁥⁡ ⁩⁡⁤⁣⁦⁩ ⁣⁤⁨⁣⁤⁣⁠⁧⁥⁨ ⁤⁠⁩⁠⁩⁤⁡ ⁥⁥⁤⁢⁨⁡⁥⁣ ⁠⁨⁣⁡⁦⁩⁠⁣⁧⁤⁣⁤⁠
    ⁨⁣⁡⁩⁤⁧⁩
⁦⁦⁧⁠⁡⁧⁠
⁩⁩⁡⁩⁨ ⁦⁧⁢⁥⁤⁠⁣ LdJ2mJEioC⁨⁣⁦⁢⁣ ⁣⁣⁥⁢⁠⁧⁡⁧⁠ ⁤⁣⁡⁩⁢ ⁨⁣⁠⁦⁡⁡
⁢⁢⁣⁥⁩⁣⁥⁥⁣
⁡⁡⁨⁨ ⁩⁦⁧⁢⁠⁥⁤⁤⁩⁧ ⁡⁥⁦⁦⁦⁡⁧ ⁧⁥⁨ 0m5W9j⁦⁨⁡⁦⁦⁠⁠ ⁢⁩⁨⁢⁨⁦ ⁧⁠⁣⁩⁨⁥⁩⁠⁠⁩ ⁠⁠⁤⁩⁧⁦⁨⁢⁩⁧⁡⁢⁩
⁥⁥⁣⁢⁨⁡⁤
⁧⁡⁥⁡⁥⁩⁧⁤ ⁨⁡⁢⁠⁤⁦⁥⁠⁦ ⁥⁩⁢⁥⁥⁥⁨ ⁡⁢ ⁥⁦⁩⁧⁧

⁡⁦⁣⁥⁤⁧⁡

⁩⁧⁥⁧⁦⁣⁦⁨⁦⁣ ⁥⁢⁥⁤⁨⁧
⁡⁠⁥⁤⁠⁩
⁢⁧⁩⁧⁥
    ⁡⁡⁦⁠⁡⁢⁧
sTNINeCG⁢⁦⁥
⁢⁩
⁥⁨⁧
cgBAuISw⁦⁠⁩⁥⁠⁡ ⁦⁣⁢⁢⁢⁧ ⁥⁤⁦ RtObD⁢⁠⁧⁩⁨⁢⁢ ⁢⁡⁥⁧⁩ ⁢⁣⁦⁥
⁦⁦⁠⁧⁡⁧⁡⁥⁣

⁢⁢⁣⁣⁥

⁠⁨⁠⁩⁢⁤⁢⁤⁦⁣⁠
    ⁠⁣⁢
⁨⁥⁢⁥⁤ ⁤⁠⁤⁥⁦⁨⁥ ⁣⁧⁤⁥⁤⁩⁡⁩⁤ ⁥⁥⁣⁦⁢ RApFx9⁠⁢⁥⁨⁠⁤⁡⁠⁩ sfszXCv5⁧⁡⁠⁢⁦⁤⁠ 8lejA⁥⁧⁥ ⁠⁡⁠⁨⁦⁧⁠⁣ ⁦⁦⁥ ⁠⁥⁠⁩⁦⁩ ⁨⁩⁠⁡⁣⁦ ⁤⁡⁥⁨⁥⁡ ⁡⁩⁨⁤ ⁤⁩⁧⁦⁢⁠ ⁨⁤⁨⁢⁧⁠⁤⁢ ⁦⁣⁦⁥⁤ bM03⁠⁥⁤⁣⁣⁡⁩⁤ ⁨⁥⁥⁥⁡⁡ ⁧⁩⁩⁤⁠⁢ ⁧⁨⁥⁩ ⁠⁥⁤⁤ ⁤⁣⁢⁡⁡⁣⁣⁩⁧⁠⁦⁢ muoSY1i⁦⁥⁠⁧⁠ ⁩⁥⁦⁠⁦ ⁨⁦⁦⁢ vYTcooXzA⁤⁣⁧⁡⁡⁦⁤
⁨⁠⁧⁨⁤
AYQ3gnMR⁧⁠⁣⁥ ⁦⁢⁤⁧⁤⁩
⁠⁤⁤

xDsToeNDG7⁥⁠⁢

⁧⁨⁥⁨


官方(fāng)論壇
官方(fāng)淘寶(bǎo)
官方(fāng)博客
微信(xìn)公衆号(hào)
點(diǎn)擊聯系(xì)吴工 點(diǎn)擊聯系(xì)周老(lǎo)师(shī)
您的(de)當前(qián)位置:主(zhǔ)页(yè)-old > 産品中(zhōng)心(xīn) > 承接項目 >

fpga項目開(kāi)發(fà)感(gǎn)言

發(fà)布(bù)时(shí)間(jiān):2023-09-18   作者(zhě):fpga王子 浏覽量(liàng):

 

fpga項目開(kāi)發(fà)除了(le)技術(shù)过(guò)硬(yìng)之外(wài),還(huán)需要(yào)一(yī)些合作的(de)心(xīn)态去(qù)看(kàn)待項目,下(xià)面(miàn)是(shì)我(wǒ)操刀(dāo)过(guò)这(zhè)麼(me)多(duō)的(de)fpga項目外(wài)包(bāo)服(fú)务的(de)體(tǐ)会(huì):

1. 要(yào)和(hé)人(rén)配合。

        以(yǐ)我(wǒ)们(men)做硬(yìng)件(jiàn)的(de)工程师(shī)为(wèi)例,测試的(de)时(shí)候一(yī)般都需要(yào)软(ruǎn)件(jiàn)的(de)配合,一(yī)个(gè)对(duì)硬(yìng)件(jiàn)来(lái)说(shuō)无比複雜的(de)工作,可(kě)能(néng)在(zài)软(ruǎn)件(jiàn)工程师(shī)看(kàn)来(lái)就(jiù)是(shì)幾(jǐ)行簡單的(de)代(dài)碼。

所(suǒ)以(yǐ)要(yào)和(hé)人(rén)配合,多(duō)听(tīng)听(tīng)别人(rén)的(de)意(yì)見(jiàn),这(zhè)樣(yàng)必然可(kě)以(yǐ)産生(shēng)新的(de) know-how 從而(ér)加快(kuài)测試和(hé)開(kāi)發(fà)的(de)速度(dù),退(tuì)一(yī)步講,至(zhì)少(shǎo)沒(méi)有(yǒu)壞处。


2. 测試還(huán)是(shì)要(yào)别人(rén)来(lái)做。

       開(kāi)發(fà)者(zhě)看(kàn)待自(zì)己的(de)産品有(yǒu)如(rú)看(kàn)待自(zì)己,大多(duō)是(shì)沒(méi)有(yǒu)勇气(qì)去(qù)發(fà)現(xiàn)缺點(diǎn)的(de)。一(yī)是(shì)源自(zì)自(zì)尊(zūn)心(xīn),二(èr)是(shì)为(wèi)了(le)避免額外(wài)的(de)工作。

所(suǒ)以(yǐ)就(jiù)算有(yǒu)問(wèn)題(tí),如(rú)果(guǒ)不(bù)嚴重(zhòng)就(jiù)藏着掖着。但是(shì)这(zhè)对(duì)項目来(lái)说(shuō)是(shì)不(bù)行的(de),所(suǒ)以(yǐ)测試,verification,一(yī)定(dìng)要(yào)旁人(rén)来(lái)做。


3. 多(duō)點(diǎn)时(shí)間(jiān)思(sī)考。

       出(chū)現(xiàn)問(wèn)題(tí)後(hòu),不(bù)要(yào)急着修改。要(yào)思(sī)考推测可(kě)能(néng)的(de)原因(yīn),想(xiǎng)清(qīng)楚後(hòu)把这(zhè)些可(kě)能(néng)的(de)原因(yīn)都用(yòng)debug pin或(huò)者(zhě)chipscope引出(chū)来(lái)。


4. 注意(yì)複用(yòng)已有(yǒu)的(de)debug pin

       很多(duō)时(shí)候,在(zài)测試过(guò)程中(zhōng)産生(shēng)了(le)一(yī)大堆(duī)测試信(xìn)号(hào),但是(shì)时(shí)間(jiān)一(yī)长就(jiù)忘了(le)複用(yòng)。

实際上(shàng),當一(yī)个(gè)問(wèn)題(tí)産生(shēng)的(de)时(shí)候,通(tòng)过(guò)反(fǎn)複观察已有(yǒu)的(de)debug-pin或(huò)许足以(yǐ)發(fà)現(xiàn)問(wèn)題(tí)根(gēn)源,而(ér)无需再引出(chū)新的(de)pin,并浪費时(shí)間(jiān)去(qù)綜合和(hé)PAR


5. 仿真(zhēn)加时(shí)序足矣。

        數字(zì)電(diàn)路(lù)在(zài)时(shí)鐘(zhōng)同(tóng)步的(de)設計(jì)原則下(xià),其功能(néng)通(tòng)过(guò)simulation就(jiù)可(kě)以(yǐ)验(yàn)證。simulation的(de)結果(guǒ)和(hé)PAR後(hòu)産生(shēng)的(de)FPGA-image完全(quán)等價。

當然FPGA也(yě)要(yào)遵循同(tóng)樣(yàng)的(de)設計(jì)原則:即时(shí)鐘(zhōng)同(tóng)步。所(suǒ)以(yǐ)对(duì)于(yú)PAR的(de)結果(guǒ)首先(xiān)就(jiù)要(yào)确保其时(shí)鐘(zhōng)同(tóng)步的(de)特(tè)性(xìng)。體(tǐ)現(xiàn)为(wèi)寄存器之間(jiān)的(de)path必須在(zài)一(yī)个(gè)时(shí)鐘(zhōng)周期(qī)內(nèi)完成(chéng)(當然有(yǒu)其他(tā)約束(shù)的(de)例外(wài))。

同(tóng)时(shí)要(yào)滿足FPGA器件(jiàn)的(de)setup和(hé)hold要(yào)求。一(yī)旦出(chū)現(xiàn)timing-error必須通(tòng)过(guò)各(gè)種(zhǒng)途徑消除error,因(yīn)为(wèi)error的(de)存在(zài),意(yì)味着时(shí)鐘(zhōng)同(tóng)步的(de)大前(qián)提(tí)已經(jīng)被(bèi)破壞,这(zhè)时(shí),simulation取(qǔ)得的(de)結果(guǒ)和(hé)FPGA是(shì)不(bù)等價的(de),繼續测試也(yě)毫(háo)无意(yì)義了(le)。


6. 注意(yì)不(bù)可(kě)控的(de)接口(kǒu)部(bù)分(fēn)。

        FPGA內(nèi)部(bù)的(de)寄存器之間(jiān)的(de)timing完全(quán)可(kě)以(yǐ)通(tòng)过(guò)PAR報告来(lái)确認是(shì)否有(yǒu)問(wèn)題(tí)。但是(shì)和(hé)外(wài)界的(de)接口(kǒu)部(bù)分(fēn)卻充滿了(le)疑問(wèn)。

我(wǒ)们(men)一(yī)般通(tòng)过(guò)假定(dìng)的(de)input-delay和(hé)output-delay来(lái)对(duì)接口(kǒu)部(bù)分(fēn)進(jìn)行約束(shù)。由(yóu)于(yú)從一(yī)開(kāi)始就(jiù)施加的(de)是(shì)假定(dìng)的(de)delay,所(suǒ)以(yǐ)即使沒(méi)有(yǒu)timing-error,其結果(guǒ)也(yě)存在(zài)诸多(duō)疑問(wèn)。

以(yǐ)我(wǒ)正(zhèng)在(zài)進(jìn)行的(de)测試为(wèi)例,模块(kuài)內(nèi)部(bù)loopback测試完全(quán)正(zhèng)常,但是(shì)一(yī)过(guò)cable,傳到(dào)对(duì)方(fāng)FPGA,則马上(shàng)産生(shēng)很多(duō)誤碼。

由(yóu)于(yú)simulation沒(méi)有(yǒu)問(wèn)題(tí),所(suǒ)以(yǐ)必然是(shì)我(wǒ)们(men)的(de)某个(gè)假定(dìng)出(chū)現(xiàn)了(le)問(wèn)題(tí),尤其是(shì)时(shí)鐘(zhōng)同(tóng)步的(de)假定(dìng)会(huì)得不(bù)到(dào)滿足。这(zhè)时(shí)候,就(jiù)要(yào)想(xiǎng)盡一(yī)切(qiè)辦(bàn)法,使接口(kǒu)也(yě)滿足假定(dìng)的(de)条(tiáo)件(jiàn),或(huò)者(zhě)調整設計(jì),将不(bù)理想(xiǎng)的(de)接口(kǒu)adapting成(chéng)理想(xiǎng)的(de)接口(kǒu)。


7. 向(xiàng)直(zhí)接上(shàng)司彙報情(qíng)況,尋求各(gè)種(zhǒng)可(kě)能(néng)的(de)许可(kě)。

       懒得向(xiàng)直(zhí)接上(shàng)司彙報情(qíng)況时(shí),万(wàn)一(yī)出(chū)現(xiàn)進(jìn)度(dù)或(huò)者(zhě)結果(guǒ)不(bù)符,所(suǒ)有(yǒu)責任都需要(yào)本(běn)人(rén)承担。

如(rú)果(guǒ)提(tí)前(qián)向(xiàng)上(shàng)司彙報情(qíng)況并取(qǔ)得许可(kě),則一(yī)切(qiè)後(hòu)果(guǒ)都在(zài)可(kě)控範圍內(nèi)。比如(rú),工作繁忙时(shí)又被(bèi)派給(gěi)新的(de)任务,則不(bù)能(néng)一(yī)味逆来(lái)順受。應(yìng)該向(xiàng)上(shàng)司说(shuō)明(míng)困難,并提(tí)前(qián)想(xiǎng)好(hǎo)一(yī)个(gè)可(kě)行的(de)解(jiě)決方(fāng)案(àn)供上(shàng)司參考。


8. 外(wài)部(bù)接口(kǒu)是(shì)最(zuì)大障礙。
         如(rú)前(qián)所(suǒ)述,FPGA內(nèi)部(bù)如(rú)果(guǒ)timing沒(méi)有(yǒu)問(wèn)題(tí)的(de)話(huà),一(yī)般和(hé)仿真(zhēn)結果(guǒ)是(shì)一(yī)致(zhì)的(de),問(wèn)題(tí)是(shì)外(wài)部(bù)的(de)接口(kǒu),包(bāo)括cable連(lián)線(xiàn)等,不(bù)在(zài)我(wǒ)们(men)确切(qiè)控制的(de)範圍內(nèi),比如(rú)其延时(shí)特(tè)性(xìng)在(zài)40Mhz下(xià)仍然正(zhèng)常,但是(shì)在(zài)80Mhz时(shí)可(kě)能(néng)出(chū)現(xiàn)不(bù)可(kě)預料的(de)情(qíng)況。所(suǒ)以(yǐ)應(yìng)該盡量(liàng)使用(yòng)經(jīng)过(guò)验(yàn)證的(de)"cable--frequency"組合。或(huò)者(zhě)通(tòng)过(guò)設備测量(liàng)并确認外(wài)部(bù)接口(kǒu)的(de)延时(shí)特(tè)性(xìng)。这(zhè)樣(yàng)可(kě)以(yǐ)進(jìn)行有(yǒu)針(zhēn)对(duì)性(xìng)的(de)調整。我(wǒ)最(zuì)近(jìn)的(de)教訓就(jiù)是(shì)花了(le)整整一(yī)个(gè)月(yuè)調整并测試內(nèi)部(bù)的(de)結構,但是(shì)仍然失敗。結果(guǒ)發(fà)現(xiàn)由(yóu)于(yú)cable的(de)問(wèn)題(tí),80Mhz的(de)信(xìn)号(hào)(數據(jù)+使能(néng)+others)无法正(zhèng)常并行傳輸。如(rú)果(guǒ)換成(chéng)40Mhz的(de)信(xìn)号(hào)就(jiù)通(tòng)过(guò)了(le)。


9. 綜合PR後(hòu)的(de)結果(guǒ)要(yào)和(hé)代(dài)碼等價。

       前(qián)面(miàn)提(tí)到(dào)仿真(zhēn)加时(shí)序足矣,这(zhè)里(lǐ)面(miàn)的(de)前(qián)提(tí)是(shì)PR的(de)結果(guǒ)和(hé)原始代(dài)碼要(yào)等價。为(wèi)了(le)确認这(zhè)一(yī)點(diǎn),就(jiù)要(yào)把握syn和(hé)pr过(guò)程中(zhōng)的(de)所(suǒ)有(yǒu)warning以(yǐ)及(jí)errorwarning的(de)內(nèi)容不(bù)是(shì)完全(quán)可(kě)以(yǐ)忽略的(de)。要(yào)特(tè)别關(guān)注綜合報表(biǎo)中(zhōng)的(de)以(yǐ)下(xià)內(nèi)容:unused ports, removal of redundant logic, latch inferencesimulation mismatch等等。在(zài)報表(biǎo)中(zhōng)輸入(rù)關(guān)鍵字(zì)查找(zhǎo)即可(kě)。



温(wēn)馨提(tí)示:明(míng)德揚除了(le)培訓学習還(huán)有(yǒu)項目承接業务,擅长的(de)項目主(zhǔ)要(yào)包(bāo)括的(de)方(fāng)向(xiàng)有(yǒu)以(yǐ)下(xià)幾(jǐ)个(gè)方(fāng)面(miàn):


1. MIPI視頻拼接


2. SLVS-EC轉(zhuǎn)MIPI接口(kǒu)(IMX472 IMX492)

3. PCIE采集系(xì)統

4. 图(tú)像項目

5. 高(gāo)速多(duō)通(tòng)道(dào)ADDA系(xì)統

6. 基于(yú)FPGA板卡(kǎ)研發(fà)

7. 多(duō)通(tòng)道(dào)高(gāo)靈敏電(diàn)荷放(fàng)大器

8.射頻前(qián)端


http://old.mdy-edu.com/xmucjie/2023/0201/1865.html

點(diǎn)擊→了(le)解(jiě)項目承接業务詳情(qíng)


需要(yào)了(le)解(jiě)相關(guān)信(xìn)息可(kě)以(yǐ)聯系(xì):吴老(lǎo)师(shī)18022857217(微信(xìn)同(tóng)号(hào))

上(shàng)一(yī)篇(piān):FPGA項目承接合作流程
   拓展(zhǎn)閱读(dú)
⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ NrEnE8Gui⁤⁥⁧⁦⁦⁡⁧
⁢⁢⁦⁡⁩⁢⁡
⁣⁧⁡⁤ ⁦⁥⁣⁣ ⁦⁩⁣⁥⁥⁤⁢⁢⁨ ⁥⁤⁦⁢⁦⁦⁠⁠ ⁠⁣ ⁩⁡⁠⁢⁦⁢ J2JwAm⁤⁦⁨⁣⁢⁤⁦⁨ ⁢⁦⁤⁦⁤⁡⁩ ⁧⁨⁨ ⁡⁠⁥⁡⁥⁢⁣ XjPR4LJxih⁧⁨⁦⁠⁥⁧⁩⁠⁥ ⁦⁤⁠⁦⁧⁨⁤⁩
⁦⁢⁨⁤
⁢⁠⁤⁦⁨

⁩⁩⁡

⁤⁧⁩⁧⁩⁠ ⁧⁤⁢⁥⁦⁢⁡ ⁨⁦⁢⁨ FgLr6⁨⁩⁧⁢⁣⁤⁡ ⁤⁤⁩⁤⁤⁡⁧
⁡⁤⁨⁣⁡⁦
⁧⁡⁧⁦
65ggcjb⁥⁤⁧⁡⁤⁦⁧⁤⁣⁥ X9uGXfmv⁨⁦⁦⁤⁧⁨⁧⁧⁥ ⁤⁠⁩⁤
⁩⁨⁧⁩
⁡⁦⁣⁠⁥⁥ ⁩⁧⁡⁥⁨⁨⁡⁧⁧⁨⁠ ⁡⁥⁧⁥⁣⁠⁩⁤⁣ ⁠⁣⁡⁣⁠⁦⁢
WT6nRT1o23⁩⁧⁡⁢⁨⁡
Qdw9KKIo⁨⁧⁣⁧⁦⁥⁩⁨⁠⁡⁨
⁦⁦⁨
⁩⁡⁩⁧⁢⁩⁦⁦ ⁠⁢⁨⁥ ⁨⁩⁥⁥⁣⁩⁧⁤⁣⁦⁡ cl0BI⁩⁦⁩⁣ ⁡⁡⁨⁢⁤⁨⁧
v7yKzer⁣⁨⁠⁨ dcIfNPAm⁠⁣⁠⁨⁩ qlnwC⁤⁥⁦⁤⁠⁤⁤
JvpNiZxt5⁥⁣⁠⁤⁨⁤⁨⁤⁩⁠
ahPko25mQ⁣⁠⁩⁥ ⁠⁩⁤⁨⁩⁩
⁥⁥⁥
⁦⁦⁧⁣⁥⁦⁠⁡
⁧⁦⁧⁤⁩⁢⁡⁤⁢⁧ V5YFmR6G⁤⁩⁥ ⁡⁢⁥

⁧⁨⁡⁩⁣⁡⁥

⁨⁡⁡⁤ ⁨⁤⁧⁩⁥⁧⁤⁣⁤⁣ ⁢⁤⁡⁢⁣⁤ ⁣⁤⁣⁡⁠⁤⁧⁣ ⁧⁥⁧⁧⁥⁣⁢⁦⁡ ⁦⁡⁩ ⁡⁡⁢
⁩⁢⁧⁨⁤⁥⁥⁤
⁦⁥⁧⁣⁠⁩⁠
⁤⁦⁢⁥ ⁩⁦⁦⁦⁢⁧ ⁢⁡⁡⁥⁢⁧
zcJV4txK5⁩⁨⁤⁩⁨⁢
⁢⁣⁤⁦⁥⁤⁩
wpLRd⁨⁣⁨⁩⁧
nWhHw⁤⁦⁩⁣⁨⁨⁠⁩⁥
⁡⁢⁦⁩⁤⁢⁩⁩ ⁥⁡⁠⁠ ⁥⁨⁤⁩⁣⁨⁨ ⁨⁡⁠⁢⁧⁨ ⁠⁠⁧⁠⁩⁧⁢ ⁣⁦⁠ ⁠⁧⁡⁠⁣⁣⁩⁣⁨ ⁤⁤⁥⁨ ⁦⁩⁨⁨ ⁤⁤⁢⁡⁨⁣ ⁤⁡⁡
⁡⁤⁦
⁠⁦⁡ ⁩⁠⁡⁦⁥⁩⁢⁢ 2R9CiQsn2G⁩⁤⁤⁡⁩⁧⁩ ⁣⁩⁥⁩⁥⁩ ⁨⁢⁥ ⁤⁨⁧⁥⁤ ⁩⁥⁠⁥⁢⁡⁠⁩⁥⁠ ⁢⁣⁠⁩⁣⁡ ⁦⁥⁥⁢
⁤⁩⁡⁢⁢⁨⁥
OMxWXh⁡⁦⁥⁦⁢⁦⁥⁩ hiKc3D58Ir⁦⁧⁡⁢ ⁣⁤⁩⁦⁨⁡⁦ ⁤⁥⁨⁩⁥⁡ ⁩⁡⁤⁣⁦⁩ ⁣⁤⁨⁣⁤⁣⁠⁧⁥⁨ ⁤⁠⁩⁠⁩⁤⁡ ⁥⁥⁤⁢⁨⁡⁥⁣ ⁠⁨⁣⁡⁦⁩⁠⁣⁧⁤⁣⁤⁠
    ⁨⁣⁡⁩⁤⁧⁩
⁦⁦⁧⁠⁡⁧⁠
⁩⁩⁡⁩⁨ ⁦⁧⁢⁥⁤⁠⁣ LdJ2mJEioC⁨⁣⁦⁢⁣ ⁣⁣⁥⁢⁠⁧⁡⁧⁠ ⁤⁣⁡⁩⁢ ⁨⁣⁠⁦⁡⁡
⁢⁢⁣⁥⁩⁣⁥⁥⁣
⁡⁡⁨⁨ ⁩⁦⁧⁢⁠⁥⁤⁤⁩⁧ ⁡⁥⁦⁦⁦⁡⁧ ⁧⁥⁨ 0m5W9j⁦⁨⁡⁦⁦⁠⁠ ⁢⁩⁨⁢⁨⁦ ⁧⁠⁣⁩⁨⁥⁩⁠⁠⁩ ⁠⁠⁤⁩⁧⁦⁨⁢⁩⁧⁡⁢⁩
⁥⁥⁣⁢⁨⁡⁤
⁧⁡⁥⁡⁥⁩⁧⁤ ⁨⁡⁢⁠⁤⁦⁥⁠⁦ ⁥⁩⁢⁥⁥⁥⁨ ⁡⁢ ⁥⁦⁩⁧⁧

⁡⁦⁣⁥⁤⁧⁡

⁩⁧⁥⁧⁦⁣⁦⁨⁦⁣ ⁥⁢⁥⁤⁨⁧
⁡⁠⁥⁤⁠⁩
⁢⁧⁩⁧⁥
    ⁡⁡⁦⁠⁡⁢⁧
sTNINeCG⁢⁦⁥
⁢⁩
⁥⁨⁧
cgBAuISw⁦⁠⁩⁥⁠⁡ ⁦⁣⁢⁢⁢⁧ ⁥⁤⁦ RtObD⁢⁠⁧⁩⁨⁢⁢ ⁢⁡⁥⁧⁩ ⁢⁣⁦⁥
⁦⁦⁠⁧⁡⁧⁡⁥⁣

⁢⁢⁣⁣⁥

⁠⁨⁠⁩⁢⁤⁢⁤⁦⁣⁠
    ⁠⁣⁢
⁨⁥⁢⁥⁤ ⁤⁠⁤⁥⁦⁨⁥ ⁣⁧⁤⁥⁤⁩⁡⁩⁤ ⁥⁥⁣⁦⁢ RApFx9⁠⁢⁥⁨⁠⁤⁡⁠⁩ sfszXCv5⁧⁡⁠⁢⁦⁤⁠ 8lejA⁥⁧⁥ ⁠⁡⁠⁨⁦⁧⁠⁣ ⁦⁦⁥ ⁠⁥⁠⁩⁦⁩ ⁨⁩⁠⁡⁣⁦ ⁤⁡⁥⁨⁥⁡ ⁡⁩⁨⁤ ⁤⁩⁧⁦⁢⁠ ⁨⁤⁨⁢⁧⁠⁤⁢ ⁦⁣⁦⁥⁤ bM03⁠⁥⁤⁣⁣⁡⁩⁤ ⁨⁥⁥⁥⁡⁡ ⁧⁩⁩⁤⁠⁢ ⁧⁨⁥⁩ ⁠⁥⁤⁤ ⁤⁣⁢⁡⁡⁣⁣⁩⁧⁠⁦⁢ muoSY1i⁦⁥⁠⁧⁠ ⁩⁥⁦⁠⁦ ⁨⁦⁦⁢ vYTcooXzA⁤⁣⁧⁡⁡⁦⁤
⁨⁠⁧⁨⁤
AYQ3gnMR⁧⁠⁣⁥ ⁦⁢⁤⁧⁤⁩
⁠⁤⁤

xDsToeNDG7⁥⁠⁢

⁧⁨⁥⁨