ipa-hcc-server-0.17-4.fc41 ,>, 6 6_6 3!Flض zE>b$bjftk b$bjs1RϜx܊6c -4KDO֥̊Lowٓ]>uwBZ~I֎$+W36mlw1:Zl/$4MMo+ny<kAfZC+1bx4YxlP1.B` qܗroݏO] tP,Qr\S:^~K|y-B3xQ2cDlAN遗~ 7jf- ܧ +"L `- 6{ccℜ ;q3`A-R!(<~#DZd^E6901bf6b279dee340799a0049a4d6e06859eac7dc2a101159435e2206ed059adf64ccc6849309f490e6319c5e0871606f16e7fc6c030204876d743500483046022100fc097b38f17008e28aef5e3e616b8466ff6afe1573d537be20700293f4000c71022100f44f87ee48f8bfe6e40e2a2cd529a68fd295b0c54b4d90d21a7e5fc48961415e030204876d743500483046022100b6cd1414c39cfae0b1635b435f646afcbab352246412830241acd0d76596ca430221009dec4a0fd175e9eb04f9538831c6d825fbb6aa4f03d278172d4db2556d262325030204876d743500483046022100d7b508fca7df571aad24daebda03a0e283950d0b3930c0fe488b334ae9e71482022100dcc3061e06d1adf44fc9b30ab68c632e30b865dccc3a1446a15cf1fa0b9314c0030204876d74350046304402204ef8efa16b4562b686673d3c89e5585cac822c1c7dd7c871f7bcf425fdf6f6b502202945f75c68731c7ff9009abbb86f5f0c888ebdf5857976beab973ae2fea6af83030204876d7435004830460221008fba9464721239ef72e9ac8c84256c57e6c4b2881b1e8d8b8e56f0047788f8b4022100ea34b3e073394d80a3c0373c17712f5e13104bc2177b05564ffd4fcd7cf30aff030204876d743500483046022100eb5a2c785c5c0605fd9ad9ea545c697f260302d37a7d3a19b89458dbea870d01022100a05ff2c7357bf02240dd577336898ed59c9eee84e038048382788f36f7249b02030204876d743500473045022010814cd607576fd3fc0c7c2917a2b0ad32178512981474c9a0407153b04c7d56022100e2d843cbbd9424436926e6bc2e02a4d5fc14a60282ad41edad5c8537acc760cb030204876d743500473045022100ec7b0b47bdbf2baded793da83fd90c8ca2fc6969273952de2113c1f65a2d278f02205155b0a8452c846b42df56d8f45882f0e2fd37147776a82a289a4de200e62469030204876d743500483046022100cdbc0e621c6ef7eebfcc8a58a72d1ac0e7f26b308fa4fc439cada1aad6ad3f8e022100a560dc9801e80c8e35aeb13d9c5a5a8a1813d279a7efffe79b301a900f0a6560030204876d743500483046022100ce3513465bcea9e683cf828b40d3fa162e481fec3c0bb3d139709d5e7fd4cfb902210084fe19741867bf6a9470854199047b911e2d3a3dae2c441a6b2182c2e6ab4369030204876d7435004730450221008356560bf9a34995ae39caa285c41a13420561ce8a122f4bb3106e62a1691eb802207eb9353976f93437b20f4a3770b171af7e1477cf7832452c6d771a96b1418784030204876d743500483046022100d978dd901b0712f36974c38840a91036d13558cc012538d7ef2f14c979fa19cd022100a0289edc03b0064c975549ecfbd2e7a5d2235fad739a102cb3d5cd5ab0d00581030204876d74350047304502202e7107b1a7211a65c62ec6c511874415f40733ebb8a17a05bb89e18d67c4fe21022100be8ac5bb4939411f5483e6c5445447083916e8ec6949ad5d0b1a0462b1418351030204876d7435004630440220558edae649dda2c12e5a8810f69d509b0b41f31fe979944b91d1777db2c46a290220652e5261e547994eefbceea91f3b5d34c33806e5cc0768b1159f55c886cf26b6030204876d7435004630440220544e8bd6efd2cf30a20de900fa12a778570b567b0d7e4a13e4a89a86e40b6efb02201fdb7bf2447315755817d50e85d06bfe46acb8ad38354684286dbd39747b647a030204876d74350047304502202900cd0d43101990e59a4be3d4972cc6f25b9e9496e76c494e0de54a6515ddd4022100b79f43fc3b995576e43998c228d15db186c7c6e7f4511250a630e55742fb1145030204876d743500483046022100ea84cc1852bb0f69a0850882cb8566847bacdbf192e19429cb9390ec1a361cd9022100920d92b3961c057c40bbc16c0f3e5c8c282140f3a3808950d35635d649700b5a030204876d743500483046022100f19f3221f5ecd40c6a02400183143acf4a71a77bae151368e139f9f161435cea022100a4a4626cb41f3a1e15d11c9b06050da3a278cc01636b8e0bb6552dab63732f46030204876d743500483046022100dce913ba7c78a4c122461f7ae3722ee8eb8259ed1f6895050037ae3b089bbb080221009f35b50ff113237621e8ac49d111cd7e554c7c49b0f36a4d12167a5c9e99f387030204876d743500483046022100e444f5b3d0e956e5a0863f320de89b5a9f5f7c6266ffcec4b50b6ae8eb6f7b9d022100e427bcaabcde39ec1c2054f323fbcaaddd5b34ff651f498ab5d0e23a074515b0030204876d743500483046022100cd8edc6f98e676f33101ea567ee489b538dd07460c4c2a52730ae6fe5cd11b46022100d6363d9bec6df25f8e73492820ad4ca1564dce865e670e2a400147ba01137d82030204876d743500473045022067f5eebee6dd08a37a128a04a0a7c0e5a611b181190a725292cfa21b82f539da022100fd6b3a4a565d13722e179876598795c52f5125d66eb082064587a7d63ecd3f51030204876d743500483046022100fea18ea8ecf018fb9158377019a103dc590ca1a931de727eb02c4cc9288054de022100c30bda9b086536014d56ebf2a9f79f1ead2d6f25a6eba03724b762ad19fe9e38030204876d743500483046022100d9216df4c564fcdb4ed02e498fe05eb84ee81d611a01ac8d246cd0642d2bcfe1022100bdf6181810b29d791c3e3766551f748fb07d5656070d3970a8583fe86e9a1f8d030204876d743500483046022100af4fb4edc15811508c90a944c1d766e47ccba56270e2ae416a1a05ae7716445b022100c6430ce837bc4421d0e45f82294de34d452b88b17322eed11b6ed24898cabff3030204876d743500483046022100dfb292c3b0369b0600fd4719ba91dc7f09f335797040883936b7fbcf8e832d04022100d726a02fe241fe337c074a4c0055bbb52fb01997b77df663eadee8e174496f6d030204876d74350047304502206383501f479751662218ebf1096f16a251077d9ce64f5dcc7556e76a939bca2f022100be685eb98cea954193e46d2c4dbc4fa0a42230b8abbbe8f2a468b14235d39829030204876d743500473045022100e37c5a6c92ce52c6fe6f1ee3a2b47f85756dced664963d08a4665aa563618d4b02202578b288f32d1b3dfb51bb17682012a1fbc8e9705d0471a5ae3f3b61c322f5cd030204876d743500483046022100c5f00b0af599e2abe57bdc01c2199a963f880c83a3838cfd6ff887ffc1fd616e022100ddb6a301761d2e1fd5c1d454121f3ba9aa3cffdeade0d6bd0bdd15859f9c08b5030204876d7435004730450221008c4f276ad7add7524a2581bc36db2c9dfa264d2b951ab10f592c3a832bae6e7702201f34bd11086b1e2d473b5401920bd293dc12203fe228ed8da28a2bf31a81af57030204876d743500473045022100dbb7728749ddf9b398cc40cf2d6728078fd8f1fb8b61f7f657149158ef72915402205d5430813d85b68c8763a7fcba13d367a6ca1a6e1a388fb3c9f388629b47984b030204876d743500473045022100e2328f6a041f4d679da826173b95035154b85755fa15cb48a5200f84ed01d19302202ea32c2688c5bdfbf42af3dccb8b33132922e75ed5bf4a027552981b5d8950e7030204876d7435004630440220238f44bcb9f9626e1a672409fdcdffdf0efe9f1b89cc1a4231ee7bd10c01e67b02204b76b61adbf79de7db40c073ed844334fd2357c54064d6f3ebbeb7b2b76e5147030204876d743500473045022100ed6783a22f8e6be8b1e1ee7f052ad7ffc4dad3dfa8926bbad7c6cd40b1f7e66702203b7a4473d61f7fa179c6d551300f1ef44c601ade3b77089225b3d069a3e031e6030204876d74350046304402206ac4a47bae43e6b778e123af10dfeada10624e52ba88a9f251709dc9513fdd77022048f077c53daa973cc111377de3c354ffc6339332a08d6bad42b58fcb93f66e72030204876d743500483046022100961d928a7e4aecc0bfbc91c51c3416c7b9912e8776bb8cb5680f6afa81e27e02022100cbf6228bc1684c2f045fb40c4a694a922d5af9a92161db4a56aa0c07afcab2bd030204876d743500483046022100dfb494657338a3a6e4deda71c5df51ca61ab4a43db379c60e6ada94e3149ea8b022100ff1c9b63784155fa50ad35fa8e70b7f8c7037ff412c67bb7493d06f4b7edd5d2030204876d743500473045022100f7deee68697791e5c818ca096d16e7f8934b81f1b7386510dd42312b224b177a0220756efff1e6e066408dfe9790c7565e99862afd892e5bd98adae4b53c712333a2030204876d743500463044022016ffbc9a86e1ea6e9d61c4d05b0116bdc1d68387a0509dbd88b7ec744e28078e0220031ed61f40ea49e7c42be66f82efc42f724fc9039db9b46a12baaa3c2a88e7af030204876d743500473045022100cf55291c74fb1155baed5427e38401e1130224bfd8ff276d802c6e947102e4df02207957e1ee2ed8661cd43a3aa821be1af7ccafca7fcccdde8a0a8ca2b3cd1f7a2c030204876d7435004830460221009c0bf8bf32cc8019e0ba630a8649c78a781b9b8e055334788068e909b8fa1b990221008e8efe8681c93034295bf075997c1e1a390a84d3327a673634292f4b5aa9e6d4Q)![N9ߕĘ>`M[?[d  TPT| '66 @6 6  6 6 6t666(98D9:$=G6>G>?GF@GNFGVGG6HH`6II86XIpYIx\I6]Jh6^NbQdS|eSfSlStS6uT|6vUTwV 6xV6yWzXX$ZZ(Z,ZSZnZpZxZ~ZZCipa-hcc-server0.174.fc41IPA server plugin for Hybrid Cloud Console integrationThis package contains IPA server plugins, LDAP schema extension, WebUI extension, and registration agent for Hybrid Cloud Console integration. The extensions require an account on https://console.redhat.com/ and registration with subscription manager.ffbuildvm-a64-31.iad2.fedoraproject.orgFedora ProjectFedora ProjectGPL-3.0-or-laterFedora ProjectUnspecifiedhttps://github.com/podengo-project/ipa-hcclinuxnoarch# create user account for service getent passwd ipahcc >/dev/null || useradd -r -g ipaapi -s /sbin/nologin -d / -c "IPA Hybrid Cloud Console enrollment service" ipahcc# ipa-hcc-update.timer is started by ipactl if [ $1 -eq 1 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then # Initial installation /usr/lib/systemd/systemd-update-helper install-system-units ipa-hcc-update.service || : fi if [ $1 -eq 1 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then # Initial installation /usr/lib/systemd/systemd-update-helper install-system-units ipa-hcc-update.timer || : fi /bin/systemctl daemon-reload if [ $1 -eq 0 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then # Package removal, not upgrade /usr/lib/systemd/systemd-update-helper remove-system-units ipa-hcc-update.service || : fi if [ $1 -eq 0 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then # Package removal, not upgrade /usr/lib/systemd/systemd-update-helper remove-system-units ipa-hcc-update.timer || : fi# remove pkinit_anchors line from KRB5 KDC config sed --in-place=.bak '/\/usr\/share\/ipa-hcc\/cacerts/d' /var/kerberos/krb5kdc/kdc.conf || : /bin/systemctl try-restart krb5kdc.service || : # with server.[  99/ ,>P'_ w >(!# & `KA큤AA큤A큤A큤A큤A큤A큤fff[f[f[f[f[f[f[f[f[f[f[f[f[f[f[f[f[f[f[f[f[f[fff[f[fff[f[ffffffffff[ff[ff[ffff[fff[f[b31d02b89e6caa05c48aa4ea8f66304678c96b1b41261509cd149c79642a6cd8963f8f984b73b30f0c7a77ed85f200ff3408833143412479fa7842901e81b4214084f1bb1955233552e6570145c4079db24397f6bce271fbe3662b3ab4f7e1844084f1bb1955233552e6570145c4079db24397f6bce271fbe3662b3ab4f7e18438d240681dc52fd9ae202483450f752c2025ac4e900bc187dd503c94c8261d2538d240681dc52fd9ae202483450f752c2025ac4e900bc187dd503c94c8261d25af7e789271b3072dce71237bf5ff12c4c602cc4bcaeb3e8010a3b506a6e2de56c7afeb845ac18596c0a7e7a9cd7d18ad1fabc67ef15345590a5fff3ebc3e725984999d67dd8b2e1e1ddc0071101bb0c6a0548d713a5d5a7c513679724e2133e884999d67dd8b2e1e1ddc0071101bb0c6a0548d713a5d5a7c513679724e2133e8aa8d605876c0548ca07e570cb7ee0bad1869fc2d58ff280fa7f738c6eb9c930caa8d605876c0548ca07e570cb7ee0bad1869fc2d58ff280fa7f738c6eb9c930c7e9d08e71b825e23127139cea6a85b72631c9efaec8cb9016371a4291e4473367e9d08e71b825e23127139cea6a85b72631c9efaec8cb9016371a4291e447336fe8b29bed8733d2520a41144bd97e7e45ed1c2ea8a7498a4014b9b619045066810d90891681bd7db740a54a16446ffd3601c9f13451680852d0eb69e27da0c100013774fee49fab8ca56a7748e7ef3ffc94347eba32b34abcea88f64398eabd20013774fee49fab8ca56a7748e7ef3ffc94347eba32b34abcea88f64398eabd2a2512eebbc1d44ca5b14f0c751a803458444d6b62798591d25ba87e7eb3920a33904f7ee2d7f49133a68a1004610ac0aa987b472efa63aa4ee6890b33f3c23dad7794e192ab019ee244335bcb9d0d48d22d616d034936135beda85f848767af955b522a84594344d97178747a397bbcbb688ccd665f706f9170a250ad0aa83cb5f2789ade62d840038b2aa74f873b42301f0e87b1bc1b4140af48ae7e4dc39e88a9197a4dd793e1a006e67d4ea61691fa4fefc1a0707aaf5050d1ac022af2f79a128adfbea5ba529243ceaa67348fd8c998243dbab8081534045094619feae8f8fd1d01780f55b974389848f17255fee2fa08de1b0fbc591cd701c07bcca2a3f94fc60c37a254bedf2a580831e8e8f11a9a3558f533c3fbbdfa7a415f4031fda1ccd7df80136f26c5df5a81921dfbcb597d4ad4ae8792a8421cdb0b8e9d3272e1b9271c78e9532be6444a11d9bc08a6f416b298488ac53e9086791fcfa68be37344c07e0d6e46c03926dd9c0605889524ae9b877e40eb489893e9c943b49ea36e929bc7209cdfa3729514e6a716e3368753ecf1dc4d72551dc318dd15537870c032b441fb49e06fd89c00e2eeb3b2f3d1f1aa639536b096b8d4ffc2d1d3b68af0ba22260e39627a852234c5cf39ad7d43b97202c9c200744a955fbbb4073e11617bd01be55b74fc85378a70cf382ddcb45fe9c2c4551c962ea83d58847e8fde281434890455b15e52dfffc5795f5cf617d88537112db40cafcaaa8d7fa460e60b99f6de22e356b6c6b55128965ca0b43eb2eaa1a5cecbef07e59d0a9ad0171ea9b630f30666b235aecf1395d04f62fbc72e594b084fde9a9fe3ad9543b0905846b84c509faceb93ae150a80d10ee2588cdb6afb886c57adb8d4d06ba197d04c0966f7af0cc2ff02fb54c074b620c6bc532ce419b81e35bb4f5693d0b97a572f28ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b90307dade5a068cfda0becccb52f26fae6002a4b5c3572f161f6a5dd2cef5f2a12501-redhat-entitlement-authority-2022.pem00-candlepin-redhat-ca-sha256.pem02-redhat-entitlement-master-ca.pemQ@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootipahccrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootipaapirootipa-hcc-0.17-4.fc41.src.rpmconfig(ipa-hcc-server)ipa-hcc-server  @  @       (ipa-hcc-selinux = 0.17-4.fc41 if selinux-policy-targeted)/bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/python3config(ipa-hcc-server)freeipa-serverfreeipa-serverhttpdmod_sslpython(abi)python3-ipahcc+serverrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsZstd)rpmlib(RichDependencies)selinux-policyselinux-policy-basesystemdsystemdsystemd0.17-4.fc414.10.14.10.13.130.17-4.fc413.0.4-14.6.0-14.0.4-14.0-15.4.18-14.12.0-136.16-136.16-14.19.92fffff9@f @ee~@eod@d@ddd?d$(@d@c@ccۥcccFedora Release Engineering - 0.17-4Python Maint - 0.17-3Christian Heimes 0.17-2Christian Heimes 0.17-1Christian Heimes 0.16-1Christian Heimes 0.15-1Christian Heimes 0.14-1Christian Heimes 0.13-1Christian Heimes 0.12-1Christian Heimes 0.11-1Christian Heimes 0.10-1Christian Heimes 0.9-1Christian Heimes 0.8-1Christian Heimes 0.7-1Christian Heimes 0.6-1Christian Heimes 0.5-1Christian Heimes 0.4-1Christian Heimes 0.3-1Christian Heimes 0.2-1Christian Heimes 0.1-1- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild- Rebuilt for Python 3.13- ipa-hcc-client depends on ipa-client again- Don't install /etc/ipa/hcc.conf by default - Refactor: Client scripts now use hccplatform - refactor: Move all server code to ipahcc.server - Feat: Server features detect Console from rhsm.conf - feat: SELinux policy for ipa-hcc-server - Fix EPEL 8 build- HMS-3840 feat: Detect configuration from rhsm.conf - ipahcc-stage-console now configures proxy - HMS-3821 feat: auto enrollment can set DNS resolver - More Fedora packaging fixes - Implement testing with Stage Console APIs - Implement console proxy settings- add CONTRIBUTING.md guidelines - Fedora packaging fixes- Prepare ipa-hcc for Fedora packaging - infra: Add helper for stage console testing - Fix: pylint warning R1737 - Fix: Typo in ipa-hcc-auto-enrollment sysconfig - Fix various infra issues - fix HMS-2066: Add timeout to confirmation prompt - test: Test on RHEL 9.3 / 8.9- feat: Enhance reporting and logging - feat: Check remote status with HCC - refactor: Use context="hcc" in IPA API - infra: Log JSON error information - infra: Refresh cache and config file - fix: Use LDAP for public JWKs - refactor: Run ipa-client-automount - fix: Replace legacy with modern Insights API - fix: Limit hostname to 63 characters - fix: Use UEP CA to access prod cert-api - fix: Don't create global DNSResolver - feat: Add ipahcc-client-prepare - fix: Fake headers can use org_id/cn from RHSM cert - refactor: Change to --idmsvc-api-url - HMS-2348 feat: Add ephemeral fake header to auto-enrollment - test: Run CI on Fedora 39, drop 37 - fix: Better error reporting for missing RHSM cert - fix: Fix typo fdqn -> fqdn - Fix: Keycloak SSO provider requires openid scope - doc: Add test instructions and hcc.conf info - HMS-2814 feat: IPA client installer and automount - test: idm-ci now requires local cloud auth - feat: Add sso.rh.c IdP provider definitions - HMS-2694 fix: Update JWST issuer and docs - HMS-2595 feat: Extend ipa-hcc to retrieve+store JWKs - test: Fix and improve coverage - fix: Update spec file URL - fix: Update git repo URL - HMS-2594: IPA plugin for HCC JWKs - test: Do not install KRA - HMS-2532 fix: attach to api commit - HMS-2491 test: Enable backend tests again - HMS-2491 test: Allow backend test to fail - HMS-2491 refactor: Separate GET signing keys - HMS-2491 test: Update test infra for DRT - HMS-2491 feat: Remove old domain registration - HMS-2491 feat: Update for domain token workflow - refactor: Remove env patching - HMS-2446 feat: New domain reg token - fix: Use gssproxy client keytab - HMS-2446 refactor: Move IPA API to WSGI framework - tests: Add test for deserialize() - tests: Check that serializing compact form gives a ValueError - feat: Add additional check json deserialization and update docs - feat: Rename deserialize_json to deserialize - feat: Do not allow compact serialization for MultiJWST - test: Enable mypy checker for tests - feat: Add domain token to mockapi - test: Run CI with Fedora 37 and 38 - HMS-2070 feat: Remove D-Bus service- fix: use new Quay org for CI images - HMS-1789 tests: use @podengo/ipa-hcc COPR - fix: Support latest tox on Fedora 38 - fix: Allow non-compact JWT serialization - fix: use OpenAPI from public GitHub repo - test: Build SRPM and RPMs on GHA - test: update packages in containers - fix: Don't hard-code inventory url - doc: Add documentation for developers - HMS-2195: fix: Use idmsvc as API slug - feat: update locations - fix: Fix typo in automember rule - HMS-2147 fix: use HostConfIpa schema in HostConfResponse - refactor: Use setuptools to install Python code - fix: store public JWK in separate file - HMS-1857 feat: signed assertion for host registration - HMS-1857 feat: Add multi-sig and host token - HMS-1289 fix: Remove inventory_id from HostConfResponse - HMS-1857 feat: Add JWK abstraction and helpers - feat: Update JSON schema from latest OpenAPI - HMS-2038 test: Smoke tests with idm-domains-backend - HMS-2068: Drop support for RHEL without PKINIT- HMS-2052 build: Use OpenAPI schema from idm-domains-api - HMS-2038 test: catch metadata misconfiguration early - fix: Move rpkg output out of .tox directory - HMS-2041 fix: Represent org id as string, not int - HMS-2038 test: Improve testing with backend compose - HMS-1991 fix: Tighten OpenAPI schema - HMS-2008 feat: Adopt JSON API error objects - Add definitions for missing JSON schemas - HMS-1991 feat: Generate schema JSON files from OpenAPI - HMS-1991: Refactor JSON schema - Add project and build definitions to pyproject.toml - HMS-1898: Fix and validate error response - HMS-1975: Remove check-host API endpoint - Improve CI and test with Python 3.9 (RHEL 9) - register: prompt for confirmation - HMS-1926: Friendly D-Bus error message - ipa-hcc CLI: print human-readable messages - Document how to configure for ephemeral - logging: pretty print API response - Reconcile JSON schema with idm-domains-backend OpenAPI - Add verbose logging to ipa-hcc - Prepare release 0.11 - Ephemeral env support with fake headers - Improve Makefile and tox runner - yamllint: don't apply truthy test to map keys - Rename field 'cacerts' to 'ca_certs' - Reconcile domain response schema - Reconcile register/update domain schema - Document how to install build and test deps - HMS-1898 Reconcile error result schema - Ruff: silence F811 redefined-while-unused- [HMS-1788] Add simple GH CI workflow - [HMS-1779] Move secrets and settings to CI/CD variables - [HMS-1645] Replace bandit/flake8 with ruff linter - Add infrastructure for mypy type checks - [HMS-1645] Drop IPA 4.6 compatibility workarounds - [HMS-1645] Drop Python 2 compatibility - Run integration tests in FIPS mode - [HMS-1645] Drop support for RHEL 7- Last version with RHEL 7 / Python 2.7 support - [HMS-1607] Use inventory_id in API routes - [HMS-1607] Move common WSGI code into module - Include os-release id and version in HTTP header - [HMS-1479] Implement status check - Drop bundle file, add more ipaserver tests - Detect and block auto-enrollment with FQDN localhost - [HMS-1472] Switch from admintool to D-Bus CLI - Add tests for dbus service, fix hccapi - Move cert parsing into common function - Validate insights registration state- Fold common and registration-service into ipa-hcc-server - Default to stage - Add title and description to JSON schema - Use D-Bus service and simplify config - Download PKINIT chain from registration service - Add mock tests for mockapi service, refactor code - [HMS-1485] Add --location to auto-enrollment script - Verify with pylint and fix violations - Use server role to indicate presence of ipa-hcc plugin - [HMS-1485] Add IPA location information to domain - Add D-Bus service for checking host in HBI - [HMS-1475] Add tests for registration WSGI server - [HMS-1475] Refactor and test auto enrollment client - Test with RHEL 7.9 server - Remove dependency on requests - Rename smid -> rhsm_id, drop redundant rhsm_id from body - Move API handler in separate module, add JSON schema- Fix config_mod(hcc_update_server_server) API call - Improve idm-ci - Refactor project structure - Add timeout option - Remove unused cert info and detect_environment - Split ipa_hcc_cli into CLI interface and logic - Add systemd timer service - Add global hccDomainId, use domain_id in PUT request - Add HCC update role and register/update subcommands - Add ipa-hcc to register/update domain with HCC - Update rhsm_id in server's host entry - - Add server role for HCC enrollment service - Fix deployment and rhc connect in stage environment - Test on RHEL 9.2, 8.8 - Add mockapi with test API endpoints- Add metadata to deploy with local builds - build and deploy RPMs from current checkout - Add QEW test and metadata file - Add idm-ci playbook and metadata - Add tox CI with custom image - Fix stage env support - Add 1minutetip and virt-builder scripts - More validation of PKINIT options - Write custom krb5.conf, handle missing domain better, more arg checks - Drop 'not krbprincipalkey' check for testing - Mention SHA-1 PKINIT issue on old RHEL 7 and 8.6 servers- Fallback to kinit with PKINIT + ipa-getkeytab on systems without PKINIT support ipa-client-install - Add support for IPA 4.6 on RHEL 7 with Python 2.7 and mod_nss - Handle platform-python on RHEL 8 - Sleep longer - Relax dependency on SELinux - Move keytab installation into auto enrollment - Basic tests for WSGI - Move /etc/ipa/hcc dir to registration-service RPM - Move scripts into ipaclient.hcc package- Detect stage/prod from rhsm.conf - Move refresh_token to /etc/ipa/hcc/refresh_token - Move more configuration into hccplatform - Remove keytab file on error - Add service with force=True option - Update permissions before adding privileges - Use ipa-ldap-updater instead of slow ipa-server-upgrade - Split server plugin and registration service updates- Rename package to ipa-hcc - Replace term 'consoleDot' with 'Hybrid Cloud Console'- Update CA chain to official RH certs with new SHA-256 Candlepin cert - Wait until host appears in ConsoleDot inventory - Always disconnect to get a fresh Kerberos ticket and connection - Add ipa-consoledot-consoledot.service - Remove old test data- Handle outdated keytab, autoconfig org id - Remove pkinit_anchors line on uninstall - Workaround for missing IdM features - Fix spec file dependencies - Automate ipa-getkeytab with update plugin - Move some files around, automate service and keytab - Update spec, add KRB5 snippet with anchors - Use more persistent connections - Add caching and logging to WSGI app - Add link from search facet to consoleDot inventory - Lookup host in consoleDot inventory - Regenerate certs with C=US instead of CN=US - Return shell script with certs - Add cross-signed certs - Add script to generate cross-signed Candlepin CA - Update README with more instructions - Require known CA issuer - Add WSGI service, roles, and cert mapping - Add test scripts - Add notes about cache and certmap-match - Add test data and instructions - Fix error reporting when global org id is missing - Use lower number for updates/schema so we can use 89 for test data - explain unique index - Add write permission - Add enrolled hosts to a hostgroup/bin/sh/bin/sh/bin/sh/bin/shbuildvm-a64-31.iad2.fedoraproject.org 1721329384  !"#$%&'()*+,-./01234560.17-4.fc410.17-4.fc41  85-ipa-hcc.confipa-hcc.confhcc.confupdate_hcc.cpython-313.opt-1.pycupdate_hcc.cpython-313.pycupdate_hcc_enrollment_service.cpython-313.opt-1.pycupdate_hcc_enrollment_service.cpython-313.pycupdate_hcc.pyupdate_hcc_enrollment_service.pyhccconfig.cpython-313.opt-1.pychccconfig.cpython-313.pychcchost.cpython-313.opt-1.pychcchost.cpython-313.pychccidp.cpython-313.opt-1.pychccidp.cpython-313.pychccjwk.cpython-313.opt-1.pychccjwk.cpython-313.pychccserverroles.cpython-313.opt-1.pychccserverroles.cpython-313.pychccconfig.pyhcchost.pyhccidp.pyhccjwk.pyhccserverroles.pyipa-hcc-update.serviceipa-hcc-update.timeripa-hccipa-hcc-serverCONTRIBUTORS.txtREADME.mdipa-hcccacerts00-candlepin-redhat-ca-sha256.pem01-redhat-entitlement-authority-2022.pem02-redhat-entitlement-master-ca.pem3bba0b9d.049f9274f.0fa9a18d6.0hcc.conf.examplehcc_registration_service.py85-hcc.ldifhccconfighccconfig.jshcchosthcchost.jshccidphccidp.js85-hcc.update86-hcc-registration-service.updateipa-hcc-serverCOPYINGipa-hcc.1.gzipa-hcchcc-enrollment.keytab/etc/gssproxy//etc/httpd/conf.d//etc/ipa//usr/lib/python3.13/site-packages/ipaserver/install/plugins/__pycache__//usr/lib/python3.13/site-packages/ipaserver/install/plugins//usr/lib/python3.13/site-packages/ipaserver/plugins/__pycache__//usr/lib/python3.13/site-packages/ipaserver/plugins//usr/lib/python3.13/site-packages/ipaserver/plugins//usr/lib/systemd/system//usr/sbin//usr/share/doc//usr/share/doc/ipa-hcc-server//usr/share//usr/share/ipa-hcc//usr/share/ipa-hcc/cacerts//usr/share/ipa/schema.d//usr/share/ipa/ui/js/plugins//usr/share/ipa/ui/js/plugins/hccconfig//usr/share/ipa/ui/js/plugins/hcchost//usr/share/ipa/ui/js/plugins/hccidp//usr/share/ipa/updates//usr/share/licenses//usr/share/licenses/ipa-hcc-server//usr/share/man/man1//var/cache//var/lib/gssproxy/-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointercpiozstd19noarch-redhat-linux-gnuASCII textemptyPython script, ASCII text executabledirectoryHTML document, ASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) R R R R R R R R R R R R R R R R R R R R R RxZ7Eo_`/usr/bin/python3 -c "import sys; from ipaserver.install import installutils; sys.exit(0 if installutils.is_ipa_configured() else 1);" > /dev/null 2>&1 if [ $? -eq 0 ]; then /usr/sbin/ipa-ldap-updater --quiet \ --schema-file=/usr/share/ipa/schema.d/85-hcc.ldif \ /usr/share/ipa/updates/85-hcc.update \ /usr/share/ipa/updates/86-hcc-registration-service.update # restart httpd if running /bin/systemctl try-restart gssproxy.service httpd.service >/dev/null 2>&1 || : fi/bin/shhttps://bugz.fedoraproject.org/ipa-hccgroup(ipaapi)user(ipahcc)utf-8083e2a3ebe610d6990de3421e75f4e62c48dfee9d42ceb02e326d85acff7b1d74b9a6bc8d63f556c11a15ac955da286917910b9d6b82fffa657e88c6c6b0ef9f?0(/hLjT(VOҤX k?\ُBВXፐN#S?mSMwGLg9jʚ*ב4K(oLdz45E8-k:∹3p![?7q5ی~˛5>Rt,Djܝ4_TU4 HOtSKZk2wZHR=\qw?wk8?K+\ZK"V1KJ_`'bfuVkbLB4d Y bQ_˲.$81We\֖V !l?\  Re6RX|Kc`'m'^vƇXDMC[ҼEw0 :ow6QAHڥݮQiW*oWbI薟ѝX]ws׺;}jll\8x@|UͿrf`I0gxR< GL)'T)JW)'Gb)6"qh@e8Sl@IX=Qq(eLu:fD$RC33]Ǐ1+3Ֆܱ-d#>J$i(BcP;g/m8B} [m>{ <,^;3 _XVy48 dJ!!*4-$rR˪[x~~m(:S7Z&J!hlH~SX (:SH0Pz+]z (?nJUT+ G'/(k+iՒoT{v,=ctۥ1˘rÐ6#&ƝhÒݠ s Uꡍ\cuGda:o9(xZZJ6)5 ?"# \Ug`Ǥ|AEǪˋ F>Cqޏ6Q~DvIƅ{[[4@QUIQ. 00,ō eC3(aȖtUboS$+^[J#lexqeMG ,B-|?ߺ"6GU+5zX۸$pœũUcNZ*>rBǏ&^NQ3j?4%f6UbՈ"Rlmb4DF+be[ͪ>/j=͛ 4رDy&P9qroT/ֺzƭP/^K|)̞SD52uK؅*D{eBlbPjHJQn/ 6gOS9)XܵXꖵP^p6t@^:cvbhb!: PFFUqk+g4Lxzuv©(\_@uGY5= @y/,B?mȯW`SW]LLT,3{tr.}25lM+#SE&qiGR%f !mQ ,)e ;5M(.kiږN 7W}j}Eʇz'8_9kW{Si}a^]o>]PWzQ}O-NVK7~={'{%Lsuʃq Ewf7t:q<@VC3!s ~67ln9?/:=H, 7jokr T 6ru14~X۶=]ծ[ڵgBcؚN_<=yS3796 E_ 8ӕM:<.Ao`:pY˗SkLrTGM,uHR 0` h(7;@FVfk@Dɵ&72B.y zZ5KpK=iX9}TN8i0jҤ:v%L_r5$ |5t˖!e~y$|RɖDېoM\{䡃2O"N[ۃ;gl1yON-{vN̺,C밗 &WotRtS`N y8X1H{CC86RdKUy3ǪqzD"JxC q?e '_l 5ox]okgd50lXX<*NbAZ \ ,֣fr"(&UCF^:@Zq Uǘ+HUC"耐!!sbkȵzZ@%(R|=#Z`:lVKO`@j(dCuq$p&_ƪ{#P? 'گU/jmLlZ dBlI<$Ϲ>*!O™=Ctm.Ҵ)ګ{M -`M-8szӴ3=/v0O7ٹ/۹;['Z'g蠟>$^TLz-f]l(p6`03a@RUG >J)*]?id$ ӎIX>7rA 1-N9t@2./IJ:TGQEOFu4SaB "E/UԄ4ąҗOh-Z b  :P:Y"Z/x8AT_7mz6CY O ӻU vdʐH0("Yy",Da!DD$H$p%®p;#%]r3ᖹfbm%ˆ9 W(B]w:^Y7ek.dE 㦴M [F kE 7MFkEķf'n񟱏4}Ӑv6$ *@}>\POCXʈ C c#w<0g_? ߠOؕBI$0/< xpƺ@j_]fRh4 ?MR3B -am5foٹ8X?&AVAۥ׊zs|hN9+T&z2Ћ.f ǴB[hɈe^k^ 6,Yj략QWNtj:c˷H9N6x@)A`%NpL1$$p*!BאpU;TG-"R 0 <GPR-AMeÀR^'^UQ#<Ii"MdR_> Dd0X,N,LzqFl:uzzӚꯩFO.3nՎ/֗ɖ:ﱈΉ$_QT`H1YQip2;KawLx'@!p>928mYA\G\mk\7eUa"*tOט[tH5K5V5@Nk?rV`Sinܢ* 颋,2|9_4ԟh5(>!ʨb̻@}1NFؤ`d\5؟LCLluyЃ(9)(BO)'f/00(턁q ,ɥ2lOwLJBxw"vU2>fxaҥ5>޸]V1tYN2QE|M%w[E?|u" cqe@rA'?=!dpPl5{w4{(φk(&1U?B ~! YM; YK;J ҊHM5Y*ː,O"]F5-zQKᥝ`})>VwO^vɪRs5in]'O KMg)&"C[g6(**S&G/K~INsD!'aIQ4%ADY?Yu ^́hqTH%E ]ƃ$9 > @0~$r L۴H1r"pE`r&KURt5%%l5N6꺂%k>P<3#jDžT'ٓ%:>OSmyZd ڕݩ6_! !%I>QII6KyȺ7=Z+lVoVUժk}eYʲ^HLUNj0! i]ؔ뻷YZFӪ>5p|nQo6MUeH(B1BV JggE(ק z`Qtώ@-9G\fhSY*K(Qg1I0h[8`7SM6Zz#fF6S! AҨ/╲ o1 %aAA`6S j`C6-:( IwE.6H*)̆v-?nf*i˳@4TfFDD$I(ѨFy$!G !B"I(,.ϟhȋ DSbI2Id'H]`2]7k`p k"@6 ~ȡ!f(+IQ><B734O}SbW4x`#~Wm34GhQKp=eh!PlaUa'uP'DkD9|HКƊvHJ|H6͖|](sb摯VȒ+= )Xr(L?\\#wܫujM)S*oh9%ܝ$IfpbZvi:=nծ` *o[¾+d,`#6D&)졌Ƨ? [DU`^?LWl{4?ګYCnDzu :Z~d:rfa.b4jV\gt8M FʧaAo`JD`֨BiW3D֑3"a= 9 -sFh<`d lhӐ1u,`ag!{'%r`2G۝dÉ&\|LCj:66i0#, hv<.bjkr2!9&ڍ?H'|->jg=5a8 ơeS*(t Rk>hDv/ʎKqXq\*Š4X|MЛl!$k hέNv:i'4mhBuCDoUϡo|O3`7GC@8*YU͚ 6GR 05IӁ+' Ыȧ򐇞Ie, R4d8urV4R5t[b=N&3̇tLm?4ֱ>bVgJomQ?6l+&hR1hr@:[6 )aw4uԐ/2#3jX_,,G*et܀uD{[`gm.}[y/h!>fgۤ}n 7 ʧL55ۅ)bhQz4!bM:XhE|_^K ,9Xp`צ*Udj٩6[ ˘Rvm~V9Z[Cѿn$)ɖzVᏑK loU f\);ZM^W^"Hko 8 X]Uba6umAFbʵX+J+B2;->/ ?Q~z 1FJr70Y8k$Z.Q9%MKz: JlGێ<̴ <0 Up,qNY\'̢4)Y&z?L3 VӨ ɶ]Kgl w/bn5]Z:Hiu %]8EFX ;eF(JOavID;]dfjiUޮryI*FȚSC,4ӭ熜M7)gb4¥¸MS)0eG>\ndvړ|Ɔ ǯ}M5c jqiA˲Ii41-Ԯ )Jp9Ḍ(&!jVlrQu\?11Q)&'.ext e|[Aٍei~"p`AjD TOV@wsv3-bnE>2 A ҳ+jd%.Թ|sM>oute3Ihc0/F"OΚRfZ?w6mv,ɅEJx"_$~L[|[lI1Ե6m&0O~է{sb My}6jVhj<#01)Qn|\bǞJ[aIܠlu†9\WZ\ #q+\70L%YwIDpIʋI, A1;Oq%0&H͸3ViFFOcjeRS\6E''\* ;>I,p-^x&XQ&9xA+m"@'Zol$@)*hGg8/uxIKmPtV캖i}2a-SŨJ &8kp(WiEьӬS)_IWz - +C7Y5V깐H6gީV/;Ҍ c<L(L gj:A#dJAIV#?ߩC`2zPam <<.֘f-N!=N1~TkcU~n}tǖr$(-QN| 2jXdT ?S"*rk`$|x4@&d*Ab^i?XXGQd|نa0z-5ֻ$1G//u1GtccE@*R r8"]F̲F²RQ>!k;\FEJ:">BxaչM:-AWrCW3m<`5{}w Y[Z!qt} ƚfiAi-MjkzoUS®OHe"3fIOԹH["?=RB0sCzk;LsO=?SO=uaWARҲ, -2~3ORr'~d<G8x:/{okҐűz$zʾ/l\WdHۈ>=A1d/daK&l1<Z<9ϣ,bj45Xp"ԛ'ݽ90xT(.Ll}g6p)c$<}}Ź]O\6ןSU\v3&\ n5I)"hR/\ֳub4*p^iNU#Ut0 ];3dTz?:KW-gYSQݎ z}%5{QZ5eWዞZU ,&dEa`J8xZZ,]= Ä9? JEi !RΛmW֙vKqX|=H$> pɘkh4}6N=)VK>i() Fo|0*fjgd ,0 ,%h x,=6KPIEBq\=@*,6)T` y2)"dN";He2`-fOER xy}phteX=%4,Lhۢx# $~9ox}^ B)=c_`f"sx*1xǿ.mAgv<QhTXDl<%cIJTC`$aD- ˲ΘS&qo>H ؽX)B/ר1d4#@"PYtt$JHD0#bPPz)z,4@veW+4b zgLB]-*'zz "S!`j]r(wb0`}$egaf~E&„nfUI\K:A/m-:ԱP%Z| fz`$ 38{^cF^vYS^E0niJݴ|=BNd-sHC qQ&uP?$&Pz+ݻWέz?ĊmxHInJ0 gm(sU#ZMu Qщ{^\] ])LsBD\?ň:zOqGx$X },s}/ qoVx)#¾GۄP*H’|.Vv3ViG$"(v&&p턔8tŎS@5 Q S8/5oJ'm]@Ғjru$r=$L`M * OU$iFY,㴐ޫiCx˗ 1s֑:lsm*8> ( tixZk@k:7;N-xP B9+xZǁCҭ`S9E!܌!pߺJ~jC#טPcLIOHѳ+ymrݫtO&Y#ӗ09fl%4\ #E1f,n{s Lh -sP c녕DBY+uɋ0 =Bx솯; l*r~*n%2-yݥv7SO+҈dGqR +R~{@py7: -nR#˙=Lݼؠ\ֵ$ w>yER4\ >I\0 0:y DvY.'0uH&m;OVVкL= K&μRfVLP ȖHq|-lt[;!L!Pe ]zޠUxa1I쀻HGN-aC7%{.n_mp#Fx;؏GDBBzP b]$:nA)3']z\LYl.OjL`HjO2ηfd m;g'{Ep)9Do]?JcG0DŷC螧- Z )a@ +J Q*!l޿݁)~b5E 9GNO)br6D A:2{Z˖kP90#Y{0-q E QAI{4z~f&e .hh(Xc*8qqXm0scS[ҷx2Es ۱] :)TXEPbFD8[8'p{D pf&Rpi;JZ`lwԘcRH/MT(Z-tIy9ҭ|e+B#uSA D~DVk*4GJDRt}śV FQk]v:wZlL lj#@ᒔr8<}iP[֩лJɝ4ͅ2KK֮Çʯ0m!J@ynn vBäEsA }K/j^K5QH9z BBoۮ$!i^]PO_($3+ Grpz)G_5g_DX3zZP`O:@BywZ% 6 Dբ niR= 8G|:34ܘ0zqwը$6Sycmaeē!FnU㋃+A5,-p `[6MuN= 9D1bLj3t$w7V`]F7 = xTLhb4t7"ޛ[1j8=bt s6b:.@!Hk3E8BB5(?T?v~aa?o.m}}^6Bڹ{캹5m^TLYG3MJ )/vb+H!)4X&([6p,2A4e`5@h EzPZ1Vڱucc+8FbDv/yWE`N^jnEQ0Agt\L[O օdȺ nygq>$"/K/f\_TAfK-S5IdnYOfbEӕ#?Ԛrh0s(cYJ?WU:+a3'*b(lrLB췞 6~2Y:9)YwEMAŤQ K8li|G\jاiCuq U"aCfdS84C7PNP/A[6~hVha~-ch{*]qp78Y.ɦi}Wx 0S ]'FbÍk ,*CȠ&9sDSOZeK+å癧lEg'!j(vڞs!&|k;_2UZH[tG<|8 un(ysEa Gz2'$Z'WGTk(KJ+Y}CHI 3=krqH{բ]EçƇeTBa)d] >3l4%4ԋ8x'q֙0=[*HuÊ-^:C}lBQa97t>+W|Èg P1- &J[MCvvs4dfHSY9)_[]iДO+KXOAH R?m-*7;VpCoz(b 8mBL6\z,%}ce"Q2Գˋ{#cȍ]C(^φisodRUzb;d.?!(PFt`KA;HQF ,Z&FdWW&u0PkbN_"m:MҊЊe!LJ- mI0nuxTFJjs@4OOO5&I>f* wXíSr5Fљ;R R5!֘(XCu& V=Gق PCrAܸ ƺsCS 9]bZrcUxk߈" _|6S;AQy@Q0+=,݋3XjWM:t@f$',C ySS1<<@(XɇīWOw6@PCW_<3t>нuYsf md&ʫGaY^(HˁzC IOB( 3Tˊ ͔])WFUo=, y&& QKx+t{/>EoV-)y&ccC}i*>UADr,G. Au:2B {N9#:f] \7e:qLVNiALQ(,/PUU%ıx>Ѻ}-?X~:g#}Њo.3NVz UOܾaZL|#\gHNX=Bޓûn@ &ҦDFg(c44?jH\=`~9oS!B3e-Nf|z\6';KkYU/ D>Ve>(0,7!sj8;gj9`ӄU9NLF[+wnjx&W7τ^>-NuurVM3"0 S:4/C4,t9dC}a/ 7eZyfg*~7W(gK1Z~9@n!3Eb GTG-\Pr4:bCv/cae|_~L" ico!5XL8a 7.^P@ce*fY^ IzXS_2!ߝe2[& +1KLŷ>E`p.qU8S  Mo'\BL !jl$'jn&1oe\5"~ΧEgvԚZn.XYP_$fA 9GKPI r 4fUz3YI(LlOס7ڽ6_ )Jڂ#FDሳo.b]T{Oipәr |N];=NLqU(3;W/>"(d*x^$;% TjxirX# 8LK@0viF[mȶ4_m4a~Vvnn,c ֥ ^e _gFQqeޟybm{ \r#llG 8 ‘ 1Wۺ;LHTwZ#q˿mBp<ĠK+= qIRϚZ4?F<}$>u ~B3r[#:.( C7AL)gHMyK]/L( >c,{S)(((RY?)zl2mC69-n{ ayGE*oGǬ_Sl`GTJa5(_z-p4'7c)n 8sVqL6 \k=HW;=:;#2fVd:[҈ߧO? Xn8J k[k x(8tMyl8{"Z {e)Tbp,a ;$7-vCqDPl:#[c^8j 洚(6ZVA$HDdRܺ9&*3#PvƙwZzcgi*IO㷁z[ԈJ &CQR*(ZlS0$%k$ʖ z3r[|R~7H6+dҕF'"PBSWlgY`-+̩צ-%*f`mPCr&"ʂ& [m+ueKC%9 =0Z<U:R:JI)яjlf/5 MK?LSbwlvZ_v", tA6GF!^7'&$9x?WAy)2l@i}{ %ۄq!t-Qe=c,C%*/(Scа&\ʮ}8MlDVVcR"S?m3@y_!ފ",*oǼ_Lm,2%؊XI04T[݆%1زW!$i''GLgw5ĭ}z(sMމtR,oED hM'#p-dwR )R0ttmGS]HuRi<+`Ƈ/{en2wSH]-hoN$VtD\'AcR߂lLK]j/N&SnwH7EWrڻ/K<,Dk]4&M\BT"Fsڱ=3Hss}/`kGuݨBƟ:'# -,,ݒU]'Be'(;[ezj-95SUeD1`EI-ski^mUKfBnXT?mEXI%XaNj2b}R`Q`5䜕w ~yBm 61x ,}h[ԀVB4x,@-a\{'0h]m(8- $0@;05N_жHf;]Y;H {Xer eƔTMB1cc/d_ެ66XnsFK߯rD ͛,B*;t W/PUËKhޞw5(e@?,$j2,>Zo?t22Cڣx)~&o]v:Go@6|z@o`@> 0²EAR8MPחJnЇmB6m!!G<#E3pXtӔxBv{19(?ԏm ڋ@nJHI- vq֨djomL 37W'% 1g3/LŹas3ETQ _}i`2 5 Xiykm"#p=y;Q]M {s+\!] jjHA bĂķDʑ@ܵ_R{Ӈ04ұ tu?F6NG9d|x>`o{LjJXZm鱙s ڤ9`:XoVԃU{G*챺kч^0Q2/YZᰓХ2~(ZPL6:>Ah0"|rmN|rxWCY%6ou1EAQj+l섣Z= TpNv!eznh@8Q`imKt󦲇~cpgR71$#f{+MZN{RURC8Dj\abZ8@ gZH- vgl'~yCTgJN+<&۶5HIMYxf[܁d[TT>#̴J+O+Լ^+Hٝ5yo`A@&2KR.F6 M n:x}c&lH}4꫹%Nh љŲeImKА LN^thA,2Nq.wz2êya` $VH8F-bd 8FҘlc;39Gsrʶ͒ *spK)v5,(vAY2L@,34ÉV3 MM V-1ei5!3{nӜr$^]8<Fj8Z rU_xM5nx4rc(&9o C .ԟ{=XG8XO'ŕbq"[h%%?90Ax؁:Yז낮IV]'Xf 1-'"<uU$Mdΰ?=" w4.+OjQD繺f3RA[*Dze[2>?k GȢ ]PDwY8Ee9YDa lC0 Z(,'DVU}:֜}&mWڋhm"T[VYb >qa[~gâ!ެ:C'ucBݔ,5X;Z-Os*Ị-fO+ZeNy-Px9Q"HNY5Kjg8F]x5 $0Ǔ6)[gy4jJW&JSS^; F/Y5su\myS><S'q9#&@{tH? CCN]ϕƙP/+yQYӃ@PaBDL#pi$6iHCx%0C cn7 Y4^_KTKD{Ŷ?F x~zk)!n|sx[*V!GS#אrV'3.":Zʬh/DL~w>䄰z=!!kCFd*_dh^λ^R (qyq,k!x~[mv)j0͂~+7'>n>rthť0AI?f:s%qKëI`㬰f ,L!Ac,ReSr1j)7>;gYe)'ʏfEdjh,ޓS6ߵ8?̺ +6v:HD^poϫ'`=fܮ]dxX7mvW{x2l W"7 f.! -8yrX\vLoj&"Fp" UXCkf=F?.A%;QJlK|·%VhĚPXLxwjigP@1|gMobcCV4 V#?/_}BS0  T2vrӘdi08&1 j;"abH(H$i fxNF2ZI +֧L\LDT$VШj/Zd5{=?JǠ'E4Ǻ@DYA=A\vX$? ީtuF(x@8r%Pssߠ2Kv8phy+7Pf΁pʫݴpωK| ["8c$|#%j ˗)<4ne>p'˔37QACb .fb2j,hϡJ3hMT5nK0LbN@`=h685Y()ͬ&1hi"E*0!xh~f6{cVe&c*w2FFh`25&IN $ģIӁ' :seK7[JGЛ1URsgA7;-˵CʥHajC V;^f5Rk:m:7പS!tEHf |ew.+!"{ݓ-T(8 _EV7Z K)lDOE+ps0ù RJ`Ը8fܽ+Ut_T^cG>?Hݸ=arIĂ"f!y`S[!}$SC+yejb 9q.:2N@hTM6) ]Dp{%cKKLcZܚ."D$ "%R.qXJ <ᠡ¯6I,{Ě*uܼpZ.|_ݿ)@Eۣn)~U2' (RUpQcizoM;=ģOհa[G_f zb-6lo a`5 (Q~+++:bn@ R;4QQs!-Sѭ9Wߖk!lUy/7 >u8j2- l;S–$=̕2L9 sWZ&z=]1^L4$rf JBXrܞFlT#5֓=g!) ʸ9zOhU; XU{ܾtN_n'&ԥ :Zc/]9LOXjx]vc_WZHdVA3Sf{2j3z(eLXY;ZmC, 8~Oə^Qze"S*Y/r,>~O!'K_}`P~e߻y HeX`ɤgNu ~w-Ngd-K 2%K`9s5+ۗ E0X%ôm SdGu/6M.}aa+ʐ[\Q刡0dܩ{s/_5sIikޫuS[nUq/0"үxkYiKdEOT?мcoᨷ'7{3iA&CQQR1,mfIWVYPdПzIDQȅTrlqۭ*F͟=k :68gG pAo@ΐoQj.9q=oU~e &(*[e{g-BcIٕwm)dUݪFONR[Zީ)~bCHDۭUZeI7iVDn!'F'J_/[awn _[+09W=!jt=d߫" $G־ɖ'VuVzBj_`sTDB t=/}W W+ʬ]A/ gx fTB |ydA'҈_ڨ~,:!sdmJPcЏ=k69X_mO֨}ُHH)"k Ŗ h 9ԅ7e%l=1(*F\rV6,F2:Y0_vQSg F_tAxj {}F.-2Nۗvqj/!nD.k>=I'|;]K19QVj*S7D&u`vȢsZDmѱPeH`ysO9VtH!|ē0dTǧa`hrظMbWe;͔.du}f @ҩd{i sJDW /q7LU$Tɗ$cLL<^Hx:WX{ as"|cuB?xzl4,&qX/:5w,N _a Ovg⻂Z))1ZqUdA{ܲ9*MS4QwJO͖ ?]k, ے̻hv E)+zfkjP@{$| î840Aqg@XBMQ M'L#7 )W::)5O@$yæL$رO k/;[Y]6ˏ %%C @Gh 5.@ƯE3Z3ZgP<^Ja$35e~_Wce54`dκ 2aJ-v&;oL̎)9A\s(TC}{U "!,H2?* =aXF0SsMH#lK+fd@ q]20B-ݕa} EH[195rC}v^e;"U=S\ _'}=A QGqx v1Hę]!xA=Y>È)udM+!w͉ hrHZ[9ӗ<{<^a j)oO^[=lZ='r&nh59mIbx9n]X~׉T|{ 6GH LJ!wG1KJFt:R Fյ5$Ϭ"ƞdLhQǐY:EH6dhk䖷vG* )M9uRk ]]d!XYz A{1 FOuWV Bilc T"w,A}aTJ#`Ȑ &d7׺f & @oT4&C>^''"" ˒LVDɎA GzY':!i%Whmr71zD*>-NXZ* &fFH R_666 KO}rjZ*m}*F) t紊{J[#r]ފ d9N㴵ب$!C P@l:)R>#̋% [i@af!(@ܒ) 8*gl'ƃEU|mKdVgc3ǏWR6,6 5q{>(:O$@"HDl,l=KR}USUCY<8+r:ٻ9cBnŝ|uM#;Jϊ߈Ks#{yN75VyV8oouP̜QęIAf%kl qȎKzX3a+R_g Y ah+HY RvJmpo;/J\h2NjNIt&|w廉3%r\D7䑺ص*齁(fHv{UoAiM7$19[[9Ipm.2$reW(LPp~`\xj=1lIKÄv&#yXﳜcݢ}v"{\Ct)0S eR{f:YU E-! EG2&SDU~"A1q4"4#<[@*9[ :ۥ1%IUZgu%Yi6(K&zHt G=۳ UMISdsckF]bA=W-}0vK{nY+oΚe-,WE,]0ݣ 8c3|MAUt.)*o7VJﬞj'"OR;UdCgMヰ x!*N,/[F:k담&~3cnBUx3/5]PH-:JaAR˸?PvX'rI^8Df[$RXJh$h; ;#vO:}iusfo"DZeyrIgN Q` ,@xt#t%t?jC6 h#ݫG zpDġ t ;ڼ3t?B3ow&3ۆb(Io548@"$V,*8PezC5au `'X6U^_}oUBB 0Uz"Cuz|i}{tNx4Z>} fv6,wgtcB^,Eq}C)&1.LtqOJL S{N]N]C@"IJ%> ,4=v+K%KÞܠ`(sqʮ{mu\b}5.8BPH25;*I[E=}[cUW#Or큹ɰ |`sG@$woiiy(~ᗈNwo\FRu;ܲ1P- \jHn<5ߟDnT{4*ߓAom_ű3ATf|FBH}T3)؅[VL8 b T_<=8W3EyXf),eVfZ8Ye7 XHj  4Ln׈ImDp}#EIX*]7 E /PV-jԠu3ZZ+cԩ M;NPkPrϖ`߷ΰ mAAk'5*pQnx_BynIy - @-}\to:.pjf$v0(ꢸ> u6i5IfMos3值$9LzK-t rzSJy9RWI/(+X|]3R cey|dqO׷ x744x{1ngQJk>MVX2G:cbFRd@Bd24EQx$c)ݨ40q$e{ԸH#eߛ.󠹑_H7I>'VFZ{-I}tO .p'_D@o0j n;{ț'_<$Ü.*=C&rGȆ!(_0\R$&T4KmfͽUwK `u]t*_{%+5/DX!`HPv.8 Y&L`RtE#᭔S١? s0mn@RWxn$'|5SÿmjQ 2@} N-ӟQK̨Nei#~A:sUaցb:Ln1qAiӐ%}C*a8uO`>] θ`6\e5m_)h5M-BVU:FW=t* 敛3髊q-+)2%rKz % g}_W X}v*hY0h^ ~:yoC*7#~+d(;bax.̌?2aL-8%$$myQ2F]LSѫ/LK3t2<5$E4Pk?mgEXO-1ɡoee"!Z&&Y/L1Îz|CWx4zsqa՗pp,l.{gU0h7{<. sm:"g;(Bg%r&b4U 7spnW1Hʣc飶9zxY ێ&742&TeFPx#%rDlִ]~/2޺n2 5Pq$:gSΑ>ەo:>2>8lŰː; :iLM"I +[K= Q $9;XFS]q* T܌ȫ{$U7v2gⵧI+FZ5Vo<("[ xުWHN h`~F &L?m{,-?]kk͉ #L+CpLRbP!H=HJloe#+Bip|c|[R+:g=:''!r(biԧ(fP9*Je& l)e A5 >V^5L!xC`aۯޑX "`m t& 5и\XMyɎÓɗ#tc ܓ^G`PY, cl$-Os3vϙpLnaL0'`~SCmB6˂ɡzqXr_-Y&4Іb-,}n8vr n@ʬ^˙xJ#F9Bw|Dܥ} N>c$f޸$fQrⰻk(-1‡C\SvT!^bJC\(jJ.tnJcM`n9KH,riHYHwfy6@<'w`eWAQźgǴda䱸i#n#>4j{sXgՑa$QI_Y+7\Q g^z Do*:ߚ6%Raa| m=r>ğCgL+rHi|n$V4#]h@XJEJ}w4>R|U~bc J,;*7;~ac2'Yt`vb5];Yء'L2Hwz^ŖpX+‰O0t?QG򌹽v1D=fsc> ߸,& Q {3?pyA(Yc9|s{ ;dovX F2 ;+G7jLbŮLȰtq xQs!âorq{S?kc&&2T_<5%껐 g#pEr2x?T97QtDPfYt#gg1g]a?i9V#UBVKbM(Posۦm׏%jT7ru2bRGVp+ۖQ4ԁ{LJ\SvyMr?(_yCSϷڹ/t:K@ӸUv>]pZTCUOڅKN;ڇQo&R¨t2 %a豶( #GHDDQ2Ҥ#P$ m -l{'T {`j=o.qƜL^g᯷ԎMI"UYΈj!Gr@3TDm 䧸Y*B#Z^\[(HGpC Yj`)08`*id)45>)QlMMdbOc@ӊĦq(M-J}s95=4@csM~RI%LAo?=鹝$D_weLqƘMg!WjL|U_/Mt{*_3B!Fc5$ op KQɑp|񉤚"QG? pQ9\t.WB  (Y05؋k &L\}qPNH0ͫ{qGvliq/Ro̲>-1!\7Cm)⒦>\jiTBf&$c)猶P~eY9Ԇcuz`(}/NS*U3,% "{#Sã$ijc!f^ TxБ|r(<qPM}[&rR0M ׼C 홖h7sJ^x$økk(&wJq;e I]AVw>!_Ml0lji`E_Qx 6ǃoW3hZt.` 8Zj+f8D@XEԾ! bkxWTLAg殸s?IPϛ.9zΣP}hr4flj5zr  [ (`Y#Q%M,UsDD3KͯӻSľ{<]_!ʢ+)YeE!3b 䠙poQ*,opnVņtb~IMqyp`rF+M툘dAhMk-|]< >9hfeZ"hQ頗g $ڇOag [QUg-8m!fPūt|N-FcTVFL;'F[> _ E2 2 nA7"PF~\x{3}K| {$ 73@Bs)M0 P3a8S7`r—,h/-(jG70|C8i,?ϝfŨ>ιOĮNrsҐ-ƨ9nšf&O. 開8[-Ȝ(FVI٬HvYOOg3Od]"9 bp(un9TugİU%t9Ȳ&(1>!PRullu]i?a\XzEr5yRr@ %*HZ4r V1q&*ۿe5~& 7rW yZ%˥089éZߺe%Op ѺoU2Bs (jr c!(*]5<?dtR  A :5W&x /c͕OD~g%][SݮaJ0M|}eo;H(#VB)F} h AHzI  |yOdg[$r%D/[K(󑨈!Qͬ d6cB l�%ׄ W͘ w(ÿ˨=s Y >HHNҡ5Td0 Q5 E&̆b s6[HF@P ]_Tгק5T#qub^41cXJӜ$rvolu_A/MW޳g.mNJ"h547iHM\S1h!|:Nv%J{eՂLA{s \UfRO=Lϼ1O+ײra0}&Z#gR[KK g®2$1q{~2ׅ`5`Gd mbo5`)\&/*p%D 1k64݉wT4,WFPڮ yep$} aM`gB{OCc:(Sh.FڜPrUWP E!s#0:monw]*H0=YLmU n|xcf >; BȖ3Ed h ~#+RCv.kz4戦d$ 0lc4\BH21[ܹ2lLKѧZ6V|[W:*U<_<4(oL6teaߴl$m;*ľk1n=?<|˓cNB?{^aHӖFGJ΁в_}^/}C@!ԢKPV i7&_}r~1u_*5!˃|In#; @(P1]/TҾC=>ywn( +*h= <5rC˫5._ٌךL|AgU<-,{FZ`_Y-Q>o(9y7\0 z}} t MoR C51a7026a18c24.KJr KJ r \R \\ \ z.)r 0rSSSSr gih 3 -SnURnSnUU Ud! 3S a 1B+-g!(BJU2$Mሤ 3L B:wOv.d\I|w8F9#r67k5H;RNeGaD_rџ2X =tag ϗ~t(Mx ]pb]zr=kvW~yk|8x}f$\nPc]OR9}ÌԸ8 MBP!$wG!n_^; sI݃k}PBV m$?S%nzэ(vÕtX PFcao[}nnZF?N}& 5̬'YE;FCp2R5 ߔF$GduļܧF3|(?lxUpE*Uܜ=!aݰDFӗ!(X82t&snzs uϹ,%ʝg^qb#?[{OzYj}1wu?QG׻^uѽv-i7}Uƒͱz}]weKˆZT@b h,ѽ +Bk#)2$5s{n./1H _s[{L`5٩V*$J5 巬%A|<?r CF\nV]huas OEv " Ar.XE[rhgDc<)H 2~8lq%tA0稐(~Nkɞyueum{Udzŀ3dВ͠\?bçS9pE`+D(cd4JƙC. #c r: GPƁSsTe\*$ZVc/8_ p?}..dK2$ kkpjv6foj֫l{怸ONQʉfpTb9MfQMeQ@3p (q`e6,%5K فJYr)!sϩ'""pTK|ZG<~|<~*z9Gi1h]l!o:0~77ٮ5.&=Z@#qWxY\L #)rjc cۦZ8iPG3fX2 HAui aMx9ȻT6YqO,"ۧ7UMlTBG:ܼsςT'Y9~sIR=9&U;& FK2)NdjL` mKh Q6AS'tf2{cR~.~2iYuG, c,4?X^hu zJc_|6^~zk}p6 eg@07QՉrK#m\Wb SzfZn5^X%<|WnFDQQ0tmN9u|[O qTرԀbNd^akbCbJBn$ iCcCug:-eI q9 {T~~)|Y[.yrmBe0dg#^A;pU"u0ʉ^TnP*%+kv%b>.nS8eiNf"Ls?q@/<^zXF֞:g}C/P!;gR,%%}mA.bmv@X:} V0)oMS]s84,y +uH;.Z!+,g42*,`67[!1b+x{13KfE/ Z zl-BH#TW/#j̀ÁW##L#J)!T%)P%˖ZC40KFk{DD|k]mK5S4P]gV*+w O L(&Y䒫ٽWmM⤓HK3I\)qݼy 8_(kt.j)b~y,eX5JS59 Wi_Qb ZT?:UX:wU0a^O}qYMY?ɂ/B捠"Uj %W"vjӈYˮĖ8m޷+.9W9![t y^%+=ECڬ}>kk5,aCPY}0Q4P4YZ!;KG"%]R:/y)Ju$&#Rk[Lu&+!D -Cqo==LGV#1K7gqd\DsXq.; lG=2Tm ?SsUB@x-m ꯠvDSpxTȢ+Z9d}ćE nsB\lmA .Nh-BQ?jתR^q2;h6J][g{S$Q_e,躮_:GYuZ`B!]iuZS&W fqKR'He֨a-x#=EK(ACuǝCSHU.H6F[G f-7.ٻvM06kԬ8} 'D/FNn@:_e&''%;!f&[ipr9o WHe ^M>H3!ـL1!LآQ&K;lbhSiv +E,e=dYSTDA-I v[]%dÈI8^GE(NWvkT{k1܍"5 )7%J`44MkX ;KG&l/BXf ޏ50hwnk%wO{t& A5Llt1lL4g\ve`; oݔM(dNm-މo2GVZ`%<*4%LcCQ$d$u a*T)Iþ=XX~ qIwo^F6: `䊓a_K g)&Ɔ? 3@WcP8J;kVa#HMV_qJLD/. 1c^W:J_jwyE1OT]!g(O*F1L5#qm5u-c7=(!b(p<9 |RC0d})t!TD'F#mTru~ECj&^wZ<1+[b1a8NP@>KDR#vyۉȅhɜԼԏRw *G-؄ڱuZ"Li@&2(3Û7T׊kĒnV&7[5Z"SJ)1$ ^;siYO"7d(عĆfbN.gSmM/yӱSQ)*"s lhb7[ G%B9s^~8q^~u/VIs okfiP_mR O0sqd痝,Ryܦb`LIæD.c(RYѸ cSL{JJ/9ItAF&]ڳ]idjö ez9^^I2~NI ČŜ HKw%#sKDnӠ呆G9_%y1-pMk]6MsyB4q¥0<`z]a '/CtY%rsc[~bWM6,^ó.cz9zb,m`e=qaɶYME [1߬Q]KnW ;RRA EGi2La +!P%D_38>74A"ڋZn"~䬬)ŰKkʖWXWHS)e!pUQГOv+w O'"3[niˮjh7R~*(NP7V#ҋ>' E/<$GN,MJ|/Gy}O܄خAm@s@'L]>,1UQe^Am@_@(4"툓,ϦfrK5V6y1Ť;JԴgTш$iS "H8N3\A @R./2xw- No'4OdqpkN|[b"&U;qlƶvl(KFAZLL}M C;]鎾G-췯*jc'B( wKjsD9l;]sew\[yN;Y 9JE6rU/ KNwO5KQF( eH@*uR(jj^& _ATF[AVD [0h:<Z6B kFж!oFԵ~C\]P׳>\ K> 2uň4kYal&?`PuUk"!8gS(SP[d,b:Dq RT@FP4Mu\gk0ehPL1<TSZ5sMKC.{|,_qնKԇ^E%%@jFbolƍ*x) B#$*r9!ߞ2"Q.,-vt)餷^S9[#{X!f&sVR6@|qEu{uyoMd530,4 Kub(R6 ) si,m >!_pm𢭣Xe0}1 l*z+uyMY ^0CV{,7RCqHiRugKKS5T'l+LkOc\ڿfR?E141ɝa˝L6 Sܬ&gnezЕTgLg4o: th~N^B9jv!eUJ0GJ/4.Q!Px~вќo9;9ػѐASדZ[+}$vBK|.n!!WܣHqL,MhbBp/H5ߩrfx&l_Xaq}? ~)*'{2iG^hry{y ,i!:EnA[VX_|+R|>i.>i/+úKbH7BnwU9Q;Ȍէ4**lg(G솽Kw9$ƠɶOxDbɶ̮YÌzѴ ^i*ix*ܤmhSg٧:$Pŷ ֋)NbObk W u\Wk;;y-O$ʎ_(rEHrMѐx5돧n_ɋ'e\tUH([r2nƓ*`x91dj<_tr)Shr(aUvW0QN4Lx3eNY ,YvȒZ GYLX d?XE@ %}>cȅ_rj^TMØ{H Pt)X(@Ξ&d_2翇m2v"0x9rhFbQ<uwOa(ˍKo12 d)$n EϢT?A_yP%,rl4n)5hl`d{Q-%,6XGj {Ld6An-eiYRT 3yxDhnOgST&`x4:`;԰`lۦfp4ˮ!l6 piAomW+Oh{O?9, R`BLHպ 2\8%wC`DщA# 2@ZgnL#'uG:Gɶե)KmJ΋$pCEZ|'^JjIjeyIVK=te @3Z%344-spH8L q,Utڪ DQI!_ Hv )RL"tgpaeHU+1ryb^npLK/b]Qa71 0H,[ kj|o9JJqgLjMj|THFAcf 9@664<{muղ40Cxik%JҪAmWMQ- wb=Q*礔j=lTv\7LGb|S7[i-|*]-6 $!r4:\QFhXܖ3`q4$ S_.=lJTXJ ѥO&i޿9SKfs* ؉+S.,(#F,gکj0@kLԿF:Tݱt)xv'r_9@GO X+LK}/WztoSM@fƻF610{xJlspzg.H;57IfbS˙=}3>r~c"/^9bg(Ake+3RE};{L2D^Њ@|Em^`%/`v>,ųZyxu[ƚT-\\sg$(N 2dœ]@ppɞ񁕘C;{}T4T=mr0hs,rB&sHscubxqݵͮAr=Ǜ"h:'wZR;͜6#` s#+VMGt MˇW'7ǿ$z q?.~K!Iqn17ĺ@؊TRN@!r>ҧMR5HwE€s1לqc݇ɕ ΁=m\h\e1W2ya!`;_BbИ@tn~A`ȩ$ k8 5Oߘ@_6^_`r浻$<#bq][|:@ ,{MEI,/fLdZ(t=-U3Dhű+w}|:.b28].Sxf7`E.S; R00B RT,zZ">E,ç$8c3>8O fv鬫 t#DFf1W\r1R0Ka|>'JXYw B*Ӛ|udͰ2s#8nm>'EH\GB#Jlg ]N[L_G8ܑFou*SwXCHdzij8X(z>[{oXo Tl כv)8d:`~jCj㊕@z SfwfBg|RG,ݎž>L?~TY;rLfGS ͂I@*O}¥>@{)'p1 ڬ 4](qvCߞ hgGL#Wxt;-{jJ+37 vGWV{y'YdN@~43Y 'N՚jOk5*$|^mPOnåH@H-iP+,WZhrra !]u ߰ӳR?њ4lRlbŊR[qzXP-UՅ|RZCqmjPm&ߢbEK'qVvYp&9r9^=L7Oem=+y E_|,t馕a"xH$_"DXq|2=H+5rFߧ.r1FZp+cBlKttCy ȴÿrK8np5P6⊻{ !ƒԍ&*N7d]28(br-Qr27woioi<{=գS&>Zjor` #0g4us:l(Ip3 fj!bsVqhU| rvqS~ *>1m5X-jTH9gYS.cgVz](b~=s=%