bfocusrename activateDoc openDocFoldersaveDoccloseDocreopenClosedDocforgetClosedDocrestartreopenquitremove moveToDesktop renameDesktopswitchToItsDesktoprunMacrowireId fromWireId instanceIdactiondocIddocNamedocPath desktopIndex desktopGuid desktopNamemacroIdtoJsonfromJson_intOrtoStringtitleidnamesavedisActiveclosedemojiunsavedlabeltooltip isCommand displayEmoji fromMacrocaptionhasCustomTitlefileNamestatus desktopNumber desktopLabel workbenchIdselectionCountpid placeholderopenUnconnected connected activeWindowonCurrentDesktop scriptBusyprogressdocs closedDocsmacroscanFocus canRename canRestartrestartIsReopencanQuitcanDocs canTouchDocscanUseDesktopActions canRunMacros workbench showProgress_strOr _docsFrom encodeTiles decodeTilespaletteTileViews focusInstancerenameInstancerestartInstancereopenInstance closeInstance quitCatiaactivateDocumentopenDocumentFolder saveDocument closeDocumentreopenClosedDocumentremoveClosedDocumentopenFilesInInstance listDesktopsmoveInstanceToDesktopIndexmoveInstanceToKnownDesktoprenameInstanceDesktop switchDesktop runMacroOnPaletteTileActionPaletteTileRequestPaletteTileRenameRequestPaletteTileDocViewPaletteMacroViewPaletteTileViewCatiaListTileControllerU listDesktops desktopIndex desktopName desktopGuidmacroIdStringObjecttrimvaluesawireIdreopenClosedDocforgetClosedDocint renameDesktoprunMacroMapdynamic isNotEmpty fromWireIdisEmpty instanceIdactiondocIddocNamedocPathnumtoIntoverrideboolcatiaDocKindEmojiidnamesavedisActiveclosedlabelemojitooltip isCommand SavedMacrocommand description CatiaStatus CatiaInstanceisOpenUnconnectedListidle disconnected WorkbenchInfoworkbenchInfoForisBusydtoJsontitlecaptionhasCustomTitlefileNamestatusparseCatiaStatus desktopNumber desktopLabel workbenchIdselectionCountpid placeholderopenUnconnected connected activeWindowonCurrentDesktop scriptBusyprogressdocs closedDocsfallbackntryParsesfromJsontvoidFutureClosedCatiaDocument DesktopInfoScriptRunResult_q£;é•îGÝþSIÆ/Їˆ../models/catia_document.dart‡±../models/catia_status.dart‡Ømacro_library.dart‡öscript_run.dartˆvirtual_desktop_service.dartˆ9workbench_icons.dartÀKÀgU‚¬N€—€Í€Ò��l�¶‚‚%‚*‚y‚±‚¶ƒƒIƒpƒuƒÄ„„b„�„é…5…�…À† ††]†©†ö‡@‡{‡…‡‡‡°‡×‡õˆˆ8ˆXˆZˆªˆË‰‰‰P‰U‰£‰çŠŠ.ŠyŠŒŠŽŠÛ‹(‹s‹«‹À‹ÂŒŒ!Œ#ŒQŒvŒxŒ“Œ«Œ­Œì���C�l�n�–�¿�Á�ÃŽŽ%Ž'ŽtމދŽÙŽêŽì��4�6�\�^�¨�ö�@�G�“�á‘-‘{‘ ‘¢‘Ü’*’Q’u’w’““C“E“o“q“¹”””^”¯”õ•••:•<•\•t•v•¿––8–R–o–¢–È–Ñ–Ø–ê–ï–ò–ô—=—Y—u—˜—š—Ø—ï—ñ˜4˜|˜Å˜ñ™ ™#™%™s™Âššššnš‹š�šØ›"›?›A›}›–›˜›¶›Õ›ðœœœ6œSœoœ‹œ£œªœ¬œÒœñ��:�k�œ�ÖžžPž�ž‡ž‰žÈžþŸ!ŸYŸšŸÜŸü  * Y Œ ¿ õ¡0¡k¡ž¡¦¡«¡­¡ú¢G¢t¢¦¢Ï¢å¢ê¢ì¢ù££K£}£¨£«£­£ú¤>¤`¤|¤“¤Ó¤Ö¤Ø¥(¥B¥’¥”¥Ò¥î¦¦¦-¦/¦m¦…¦‡¦Í¦ã¦å§§§3§K§g§�§ˆ§Š§Ü¨ ¨¨=¨\¨^¨„¨“¨¦¨»¨Ö¨÷¨ý¨ÿ©D©‹©Á©÷ªªiª�ªÖªö««,«Q«{«¡«©«®«±«³«ù«þ¬H¬”¬ä¬þ­­­2­I­`­y­{­µ­Î­Ð­ì®®®3®K®h®o®q®£®Á®ý®ÿ¯%¯8¯Q¯€¯µ¯à¯ê¯ì°.°b°…°¼°ù±,±J±Y±n±�±Ð±ü²² ² ²U² ²è²û³/³H³f³‹³Ì³í³÷³ú³ü´-´2´|´ÅµµRµkµµ–µ˜µä¶¶5¶S¶m¶o¶Œ¶Ž¶Ï¶ë·· ·R·p·r·¯·Ì·Î¸¸/¸1¸C¸E¸{¸–¸˜¸Ê¸ö¹¹¹0¹2¹o¹‹¹�¹Ñ¹Øº&ºmº¸ºû»9»Y»[»£»½»¿»Ù»ð»ò¼¼¼b¼�¼’¼Ù½'½s½ˆ½°½²½Í½ä½þ¾¾8¾Q¾v¾“¾¯¾Ì¾è¿¿¿8¿[¿x¿˜¿¼¿Ú¿óÀ@À@/À@LÀ@SÀ@UÀ@¤À@¦À@õÀA/ÀAMÀAOÀAœÀAÃÀAÅÀBÀBdÀB�ÀB’ÀBÜÀCÀCkÀCmÀC´ÀCçÀCéÀDÀDQÀDSÀD˜ÀDÊÀDÌÀEÀEhÀE°ÀEéÀEðÀFAÀF�ÀFÌÀGÀGÀG_ÀG™ÀGØÀGÚÀHÀH8ÀHƒÀH…ÀH¬ÀHèÀHêÀIÀIÀI4ÀIeÀI–ÀIÊÀIäÀJ ÀJ]ÀJ�ÀJÚÀKÀK7ÀKbÀK•ÀK¼ÀKéÀLÀLGÀLuÀL»ÀLÛÀMÀM ÀM"ÀMlÀMsÀM¾ÀNÀNJÀN}ÀN ÀNÊÀNìÀOÀO9ÀOHÀOrÀOšÀOÐÀOúÀP*ÀP^ÀPŽÀPÀÀPðÀQ&ÀQFÀQvÀQ®ÀQÚÀR ÀRFÀRtÀR¢ÀRÇÀRøÀSÀSÀSÀSTÀS�ÀSáÀTÀT;ÀTOÀTUÀTWÀT‰ÀTÅÀTÇÀUÀUÀU8ÀUmÀU™ÀUŸÀU¡ÀUñÀVBÀVnÀVpÀV´ÀVòÀWÀW$ÀWtÀWzÀW}ÀWÀWÏÀWýÀXMÀXOÀX�ÀX¢ÀXñÀY@ÀYŒÀYÙÀZ)ÀZ\ÀZaÀZ¥ÀZÚÀ[À[]À[¦À[ÚÀ\À\YÀ\ˆÀ\ŠÀ\ÄÀ\æÀ\èÀ]0À]dÀ]fÀ]£À]ÇÀ]ÉÀ^À^@À^BÀ^tÀ^–À^˜À^æÀ_ À_À_3À_vÀ_xÀ_šÀ_ßÀ_áÀ_üÀ`3À`5À`NÀ`ŽÀ`�À`ËÀaÀaÀaGÀa‘Àa“ÀaÞÀbÀb\Àb^Àb„Àb†ÀbÑÀcÀcXÀc…Àc‡ÀcÖÀdÀd4Àd6ÀdxÀd¤ÀdØÀdÚÀe)ÀekÀemÀe¸ÀeïÀf-Àf/ÀfYÀf[Àf�Àf°Àf²ÀfîÀg1ÀgRÀgUˆ‘/// 🗂 Palet KART görünümü — CATIA kartlarının palet penceresine taşınan SAF /// (native/Flutter penceresi bağımsız, test edilebilir) modeli + kanal /// aksiyonları + `CatiaListTileController` arayüzü. /// /// NEDEN AYRI DOSYA: palet penceresi `desktop_multi_window` ile AYRI bir /// Flutter engine/isolate'inde açılır (bkz. main.dart `multi_window` dalı) — /// yani Provider aÄŸacını ve `CatiaProvider` nesnesini PAYLAÅžMAZ. Kartın /// çizeceÄŸi her ÅŸey JSON'a, kullanıcının yaptığı her ÅŸey de tek bir kanal /// mesajına dönüşmek zorundadır: /// /// ana → alt : `state` mesajının `tiles` alanı ([PaletteTileView] listesi) /// alt → ana : `tile` mesajı ([PaletteTileRequest]) /// /// TEK YAZICI KURALI (palette_service.dart baÅŸ notu): alt pencere KARAR /// VERMEZ, yalnız istek gönderir; çalıştırma/kapatma/taşıma kararı ana /// pencerede (CatiaProvider) alınır. /// /// ── AÅžAMA 1-3 ──────────────────────────────────────────────────────────── /// **AÅŸama 1:** kart görünümü + temel aksiyonlar (ðŸ‘� öne getir, âœ�ï¸� yeniden /// adlandır, 🔄 restart/reopen, 📄 döküman aç/kaydet/kapat/klasör, 🚪 CATIA'yı /// kapat, â�Œ listeden kaldır) + 🕘 geçmiÅŸ kaydı yönetimi. /// **AÅŸama 2:** 🖥 masaüstü taşı / adlandır / geç. Masaüstü LİSTESİ kanal /// ile gitmez (400 ms'de bir gönderilemez) — alt pencere seçimi **kendi** /// penceresinde açar, yalnız SEÇİMİ istek olarak yollar ([listDesktops]). /// **AÅŸama 3:** â–¶ hızlı çalıştır. Kartın kendi makro listesi /// [PaletteMacroView] ile kanaldan gelir (makro kütüphanesi tam senkron). /// /// âš  PALETTE PENCERESİ NOACTIVATE → KLAVYE GİRİŞİ YOKTUR. Bu yüzden metin /// isteyen her ÅŸey (âœ�ï¸� kart adı, âœ�ï¸� masaüstü adı) alt pencerede AÇILAMAZ: /// istek ana pencereye gider, popup öne alınıp diyalog orada açılır. Liste /// seçimi gerektirenler (🖥 taşı/geç, â–¶ komut çalıştır) ise kart İÇİNDE /// satır içi seçici olarak çözülür — tıklama yeterlidir.‡‡‡°‡×‡õˆˆ8› ›² ›º›º›È›Ù›Ù›ç›ô›ô›ùœ œ œœ"œ"œ'œ:œ:œ?œWœWœ\œsœsœxœ�œ�œ”œœœ1œNœOœjœ†œž›š›š� —h—[—h—�—w—�—ç—œP—çB/// Döküman isteyen aksiyonlar için: açık dökümanın id'si.™—ó�™€û/// 🕘 geçmiÅŸ aksiyonları ([PaletteTileAction.reopenClosedDoc], /// [PaletteTileAction.forgetClosedDoc]) için: ad + yol. Alt pencere /// `ClosedCatiaDocument` nesnesini TUTMAZ (tarihçesi ana pencerede); /// ana pencere bu ikiliyle kaydı bulur.™™ ™š™'€óš€è/// 🖥 masaüstü aksiyonları için hedefin 0-bazlı sırası (-1 = bilinmiyor). /// Yalnız `moveToDesktop` anlamlı; `renameDesktop`/`switchToDesktop` hedef /// masaüstüyü deÄŸil, CATIA'nın KENDİ masaüstüsünü kasteder.š}š!gš}P/// 🖥 native motorda taşıma hedefi (GUID). PowerShell motorunda boÅŸ gelir.›1š�€­›1€—/// 🖥 hedef masaüstünün ADI (PowerShell motorunda "yoksa oluÅŸtur" için /// gerekir) veya [PaletteTileAction.renameDesktop] isteÄŸinde YENİ AD.›Œ›CP›Œ;/// â–¶ [PaletteTileAction.runMacro] için `SavedMacro.id`.œ®œ®�לÞîžî žöž‹ž‹ƒžå=/// Bozuk/eksik istek (instanceId veya aksiyon yok) → null.¢ˆ¢ˆ ¢�¢•¢• ¢™¡¯¡¯�9¢�€Ð/// Kanal verisi güvenilmez: sayı GELMEZSE [fallback] döner. Yanlış TİPTE /// alan (ör. metin `"2"`) bilerek 0'a yazılmaz — 0 "ilk masaüstü" demek, /// yanlış masaüstüye taşımaktan farksız.¢î¢ï¢î¢î€¸£–ô–ôŒµ—CI/// Alt pencereden ana pencereye giden tek kart isteÄŸi (`tile` mesajı).¤›¤³¤´¤´¤¹¤Å¤Å ¤Ê¤•¤•<¤o¤b¤o¤‹¤~¤‹£­£­�'¤D€œ/// âœ�ï¸� Palet isteÄŸiyle açılacak yeniden adlandırma isteÄŸi. Ana pencere bunu /// bir `ValueNotifier` ile yayınlar, popup arayüzü diyaloÄŸu açar.¦í¦ÿ§§§§§§,§7§7§<§O§O§T§k§k§p§D§_§y¦ç¦ç€Ÿ¥ý¥ð¥ý¦¦¦¦%¦¦%¦z¦1Q¦z=/// CATIA'daki `Application.ActiveDocument` bu döküman mı.¦Ú¦‰W¦ÚU/// 🕘 Daha önce açıktı (geçmiÅŸ kaydı) → ↩ï¸�/🗑 düğmeleriyle gelir.§Œ§Œ~§éQ/// Tür rozeti (bkz. `catiaDocKindEmoji`) — ana penceredeki kartla AYNI kural.¨¨J¨H-/// KaydedilmemiÅŸ mi (turuncu uyarı rengi).¨`¨`€›¨u©ç©ç ©ï©©‚«©Þ€Í/// Adı boÅŸ kayıt atlanır (null) — boÅŸ satır çizmenin anlamı yok. /// âš  Alanlar yanlış TİPTE gelirse null döner, ÇÖKMEZ (kanal verisi /// güvenilmez — bkz. `PaletteTileView.fromJson`).¥”¥”†¥ØI/// Kart döküman satırı: açık döküman ya da 🕘 geçmiÅŸ kaydı.­Ø­è­ð­ð­þ®®®®!®!®&®7®7®<®O®O®T®.®F®`­Ò­Ò€›­ ­­ ­A­0­A/// Butonda görünen metin.­X­K­X­o­b­o­Â­}N­Â9/// STARTCOMMAND mu (CATIA komutu) — rozet/ikon farkı.®s®s€ˆ®°4/// Emoji boÅŸsa tür rozeti: komut âš¡, makro 📜.¯¯€ç¯°R°R °Z¯î¯î‚°IA/// `id`/etiket bozuk ya da eksikse null (boÅŸ satır çizilmez).²Ä²Ä ²Ï² ² �貺€™/// `macros.json` kaydı → kart öğesi (etiket/emoji/tooltip ana pencere /// kurallarıyla birebir aynı: `PaletteEntryView`'in gördüğü metinler).«³«³ˆE¬ê�E/// â–¶ Kartın kendi makro/komut öğesi (AÅŸama 3). Kart görünümündeki â–¶ /// /// satır içi seçicinin listesini besler; seçim `runMacro` isteÄŸi olarak /// ana pencereye gider. `SavedMacro` KENDİSİ kanaldan geçmez (kod/gezinme /// yolları alt pencereye gereksiz gider) — yalnız çizim için gereken alanlar.½º½É½Ñ½Ñ½ß½è½è½ö¾¾¾¾¾¾¾<¾<¾A¾U¾U¾Z¾z¾z¾¾—¾—¾œ¾³¾³¾¸¾Ð¾Ð¾Õ¾ì¾ì¾ñ¿ ¿ ¿¿¿¿"¿<¿<¿A¿_¿_¿d¿|¿|¿�¿œ¿œ¿¡¿À¿À¿Å¿Þ¿Þ¿ã¿÷¿÷¿üÀ@À@À@À@3À@3À@8¾¾0¾L¾c¾n¾o¾�¾ª¾Ç¾ã¿¿¿0¿S¿p¿�¿´¿Ò¿î¿ïÀ@À@ À@ À@$À@*À@+À@AÀ@GÀ@H½´½´‚�µzµmµzµŽµ�µŽ¶+µš€˜¶+€�/// CATIA'nın kendi pencere baÅŸlığı (`Application.Caption`) — tooltip'te /// baÅŸlık özelleÅŸtirilmiÅŸse gerçeÄŸi göstermek için.¶B¶7¶B¶b¶U¶b¶ƒ¶q¶ƒ¶Û¶�X¶Û=/// 0 = bilinmiyor (`CatiaInstance.desktopNumber` null iken).¶ú¶í¶ú·a· a·aJ/// Hazır masaüstü etiketi ("M2", "M?", özel ad). Ana pencere çözer.·¾·tU·¾>/// Ham workbench kimliÄŸi ('' = okunamadı / baÄŸlı deÄŸil).¸·Ð\¸H/// Canlı seçim adedi (palet baÅŸlığındaki baÄŸlamla aynı kaynak).¸=¸3 ¸=¸ˆ¸GL¸ˆ9/// 👻 Kayıtlı/kapalı kart (gerçek COM kaydı yok).¹¸šx¹Z/// Kehribar kart: süreç var ama COM kaydı yok /// ([CatiaInstance.isOpenUnconnected]).¹$¹¹$¹|¹4T¹|` olarak yayınlar, böylece widget'lar /// somut sınıfı tanımadan `context.read()` diyebilir /// (ilk kullanıcı: `catia_card_drop_zone.dart`). /// /// âš  Bu arayüz artık AÅŸama 1 + 2 + 3'ü kapsar. Masaüstü iÅŸlemleri /// ([listDesktops], [moveInstanceToDesktopIndex] / /// [moveInstanceToKnownDesktop], [renameInstanceDesktop], /// [switchDesktop]) ve makro çalıştırma ([macros], [runMacroOn]) alt /// penceredeki 🗂 kart düğmelerinin arkasındaki gerçek iÅŸlerdir; hepsi /// **ana pencerede** çalışır (tek yazıcı kuralı).••*•+•+ •0••%Š€ŠˆŠ�Š0Š0YŠ{O/// ðŸ‘� Kartın CATIA penceresini öne getir (baÅŸka masaüstündeyse geçer).‹³‹¼‹´Š�Š��-‹­�'/// âœ�ï¸� Yeniden adlandır. âš  Palet penceresi NOACTIVATE'dir → KLAVYE GİRİŞİ /// YOKTUR (palette_screen.dart I6 notu), bu yüzden metin diyaloÄŸu BURADA /// açılamaz: istek ana pencereye gider, popup öne alınıp diyalog orada /// açılır (bkz. `CatiaProvider.tileRenameRequest`).ŒŒŒ‹Ä‹ÄZŒA/// â–¶ Dökümanı CATIA'da aktif et (penceresini öne getirir).Œ`ŒrŒaŒ%Œ%NŒS3/// 📂 Dökümanın klasörünü Explorer'da aç.ŒœŒ§Œ�ŒzŒz.Œ•/// 💾 Dökümanı kaydet.Œö�Œ÷Œ¯Œ¯TŒîG/// â�Œ Dökümanı kapat (baÄŸlı deÄŸilse yalnız listeden düşür).�T�h�U� � _�EC/// ↩ï¸� 🕘 geçmiÅŸteki dökümanı AYNI CATIA'da yeniden aç.�§�»�¨�p�pL�˜./// 🗑 🕘 geçmiÅŸ kaydını kalıcı sil.ŽŽ!Ž�Å�Å]ŽN/// 🔄 Yeniden baÅŸlat (baÄŸlantı kesikse CATIA'yı yeniden AÇ: `reopen`).Ž|Ž…Ž}Ž)Ž)]ŽvU/// 🔄 BaÄŸlantısı kesilmiÅŸ CATIA'yı yeniden baÅŸlat + dökümanları geri aç.ŽßŽæŽàŽ�Ž�ZŽÛO/// 🚪 CATIA uygulamasını kapat (WM_CLOSE; CATIA kaydedilmemiÅŸleri sorar).�'�0�(ŽîŽîC�!6/// â�Œ Kartı listeden kaldır (CATIA açık kalır).‘Š‘œ‘‹�`�`‚=‘}‚(/// 🖥 CATIA'yı BİR MASAÜSTÜNE TAÅžI. [PaletteTileRequest.desktopIndex] /// (0-bazlı) + [PaletteTileRequest.desktopName] (PowerShell motoru) ya da /// [PaletteTileRequest.desktopGuid] (native motor — GUID) kullanılır. /// /// âš  Masaüstü LİSTESİ kanal ile gitmez (AÅŸama 1'deki liste geldiÄŸi gibi /// 400 ms'de bir gönderilemez): alt pencere seçimi **kendi** penceresinde /// açar, yalnız SEÇİMİ istek olarak yollar. Böylece liste her seferinde /// tazeleÅŸir ve motor deÄŸiÅŸimi (native ⇄ PowerShell) anında doÄŸru yansır.’`’q’a‘¤‘¤€Î’S€²/// âœ�ï¸� CATIA'nın bulunduÄŸu masaüstünü YENİDEN ADLANDIR /// ([PaletteTileRequest.desktopName] = yeni ad). Yalnız PowerShell motoru /// (native motor ad deÄŸiÅŸtiremez).“'“?“(’y’y€Ç“€¥/// ↪ Windows'u CATIA'nın bulunduÄŸu masaüstüne GEÇİR (ad vermek zorunda /// deÄŸil; boÅŸ bırakılırsa kendi masaüstüne gider). Yalnız PowerShell motoru.”ÿ• •“s“s�™”÷�™/// â–¶ Kayıtlı makroyu ya da CATIA komutunu **bu kartın** CATIA'sında /// çalıştır ([PaletteTileRequest.macroId] = `macros.json` kaydının id'si). /// /// Palet kartındaki â–¶, baÅŸlıktaki 🎯 hedeften BAÄžIMSIZDIR: tıklandığı kart /// her zaman hedeftir (kartın altındaki komut ızgarası ise 🎯 hedefe gider — /// iki yolun kuralı farklıdır, karışmasın diye burada yazılıyor).•k•>3•k/// Kanaldaki metin kimliÄŸi.–(–( –0•x•x�u–€–/// Bilinmeyen/boÅŸ kimlik → null (çağıran isteÄŸi sessizce yok sayar — /// sürüm farkı yüzünden bozuk bir mesaj arayüzü çökertmesin).‰‰�ÓŠ�/// Palet kartındaki düğmelerin KANAL kimlikleri. /// /// Metin sabitleri (enum adı DEĞİL) kullanılır: alt penceredeki exe ile ana /// penceredeki exe ayrı derlenebilir; enum adına baÄŸlı kalmak, ad /// deÄŸiÅŸikliÄŸinde kanalı SESSİZCE kırardı.‚¬N€—€Í€Ò��l�¶‚‚%‚*‚y‚±‚¶ƒƒIƒpƒuƒÄ„„b„�„é…5…�…À† ††]†©†ö‡@‡{‡…‡‡‡°‡×‡õˆˆ8ˆXˆZˆªˆË‰‰‰P‰U‰£‰çŠŠ.ŠyŠŒŠŽŠÛ‹(‹s‹«‹À‹ÂŒŒ!Œ#ŒQŒvŒxŒ“Œ«Œ­Œì���C�l�n�–�¿�Á�ÃŽŽ%Ž'ŽtމދŽÙŽêŽì��4�6�\�^�¨�ö�@�G�“�á‘-‘{‘ ‘¢‘Ü’*’Q’u’w’““C“E“o“q“¹”””^”¯”õ•••:•<•\•t•v•¿––8–R–o–¢–È–Ñ–Ø–ê–ï–ò–ô—=—Y—u—˜—š—Ø—ï—ñ˜4˜|˜Å˜ñ™ ™#™%™s™Âššššnš‹š�šØ›"›?›A›}›–›˜›¶›Õ›ðœœœ6œSœoœ‹œ£œªœ¬œÒœñ��:�k�œ�ÖžžPž�ž‡ž‰žÈžþŸ!ŸYŸšŸÜŸü  * Y Œ ¿ õ¡0¡k¡ž¡¦¡«¡­¡ú¢G¢t¢¦¢Ï¢å¢ê¢ì¢ù££K£}£¨£«£­£ú¤>¤`¤|¤“¤Ó¤Ö¤Ø¥(¥B¥’¥”¥Ò¥î¦¦¦-¦/¦m¦…¦‡¦Í¦ã¦å§§§3§K§g§�§ˆ§Š§Ü¨ ¨¨=¨\¨^¨„¨“¨¦¨»¨Ö¨÷¨ý¨ÿ©D©‹©Á©÷ªªiª�ªÖªö««,«Q«{«¡«©«®«±«³«ù«þ¬H¬”¬ä¬þ­­­2­I­`­y­{­µ­Î­Ð­ì®®®3®K®h®o®q®£®Á®ý®ÿ¯%¯8¯Q¯€¯µ¯à¯ê¯ì°.°b°…°¼°ù±,±J±Y±n±�±Ð±ü²² ² ²U² ²è²û³/³H³f³‹³Ì³í³÷³ú³ü´-´2´|´ÅµµRµkµµ–µ˜µä¶¶5¶S¶m¶o¶Œ¶Ž¶Ï¶ë·· ·R·p·r·¯·Ì·Î¸¸/¸1¸C¸E¸{¸–¸˜¸Ê¸ö¹¹¹0¹2¹o¹‹¹�¹Ñ¹Øº&ºmº¸ºû»9»Y»[»£»½»¿»Ù»ð»ò¼¼¼b¼�¼’¼Ù½'½s½ˆ½°½²½Í½ä½þ¾¾8¾Q¾v¾“¾¯¾Ì¾è¿¿¿8¿[¿x¿˜¿¼¿Ú¿óÀ@À@/À@LÀ@SÀ@UÀ@¤À@¦À@õÀA/ÀAMÀAOÀAœÀAÃÀAÅÀBÀBdÀB�ÀB’ÀBÜÀCÀCkÀCmÀC´ÀCçÀCéÀDÀDQÀDSÀD˜ÀDÊÀDÌÀEÀEhÀE°ÀEéÀEðÀFAÀF�ÀFÌÀGÀGÀG_ÀG™ÀGØÀGÚÀHÀH8ÀHƒÀH…ÀH¬ÀHèÀHêÀIÀIÀI4ÀIeÀI–ÀIÊÀIäÀJ ÀJ]ÀJ�ÀJÚÀKÀK7ÀKbÀK•ÀK¼ÀKéÀLÀLGÀLuÀL»ÀLÛÀMÀM ÀM"ÀMlÀMsÀM¾ÀNÀNJÀN}ÀN ÀNÊÀNìÀOÀO9ÀOHÀOrÀOšÀOÐÀOúÀP*ÀP^ÀPŽÀPÀÀPðÀQ&ÀQFÀQvÀQ®ÀQÚÀR ÀRFÀRtÀR¢ÀRÇÀRøÀSÀSÀSÀSTÀS�ÀSáÀTÀT;ÀTOÀTUÀTWÀT‰ÀTÅÀTÇÀUÀUÀU8ÀUmÀU™ÀUŸÀU¡ÀUñÀVBÀVnÀVpÀV´ÀVòÀWÀW$ÀWtÀWzÀW}ÀWÀWÏÀWýÀXMÀXOÀX�ÀX¢ÀXñÀY@ÀYŒÀYÙÀZ)ÀZ\ÀZaÀZ¥ÀZÚÀ[À[]À[¦À[ÚÀ\À\YÀ\ˆÀ\ŠÀ\ÄÀ\æÀ\èÀ]0À]dÀ]fÀ]£À]ÇÀ]ÉÀ^À^@À^BÀ^tÀ^–À^˜À^æÀ_ À_À_3À_vÀ_xÀ_šÀ_ßÀ_áÀ_üÀ`3À`5À`NÀ`ŽÀ`�À`ËÀaÀaÀaGÀa‘Àa“ÀaÞÀbÀb\Àb^Àb„Àb†ÀbÑÀcÀcXÀc…Àc‡ÀcÖÀdÀd4Àd6ÀdxÀd¤ÀdØÀdÚÀe)ÀekÀemÀe¸ÀeïÀf-Àf/ÀfYÀf[Àf�Àf°Àf²ÀfîÀg1ÀgRÀgUPaletteTileActionPaletteTileRequestPaletteTileRenameRequestPaletteTileDocViewPaletteMacroViewPaletteTileViewCatiaListTileControllerÉ"