Rating: 3.3

The hint ("xn--") refers to the starting characters of the ascii form of inernationalised URLs, which are punycode encoded.
The message is created by replacing some characters with lookalike unicode characters, and encoding it with punycode, repeatedly.
To decode:
```
#!/usr/bin/python3
data = b'tf{und!_rl_mgl_fr_umt}-fr3fk4kdg3kg3gk6t70f3757-40td6q62drgm7535md666d-k82057f67g207d43q-m21mm41k2zl57q6-184f43gd52k037r-0l7gd64rkn7818-458l32fmg3m-6767z-ug59d08d-02k7f-23ku1rl6f8n-3lq4k-q7lnq39d8f-4z6m900524l23q-7nn1g1886336d1q-0d778g0fu0298930g-kz3qd0066m63u5635530f934-62gd40g89k96uq8186dg13573-k52ul1dd51m95l124dmtf811806u4-36501kfgdd57nm491f71t88d0u162280-gk1z5dgd3434tt57261u8-0g8074mmg64qd3444kq71m5k-7233ndg668fk2-93d13l369mnf6693-15n26fd362mfzg2t545tm2-048695kd05ug14g3nd101z52-2887dgf16mtu29gl0k1zq7-70f51315r924866qd68-6d1254fg38d05908u15m28f231drq2dk-364k36tddfk721fr0dtk6dnm-g56n16udd660884q7z8016trgf6n-06785dfd442l183g3dtt-40d76g5236322ndt8-157156d224d840f180lu234r-d7369df135613dn7dn-1511zf136884df969dktr1l-907q0d215l36l558g7-f78g638431gnuq2m3z4-ld00dn951f259f753gu2331-t81dt3dd390-m072dd913931-8z73dd463f9705-m94dq4462k3361-106dd884043d791zq56-f67dg555900l0f605n8l-tf59ddf945m041fu36k71429-zq11d347gl886m36m5-2625ufd3674m005868q5975f-15412949860m3075qd1d992g-2q46d520dl020530g63290dqzd-z58lg021gd46110d4uf0404-830fd032l072ql86m85947g8-d422fd923f204ul592f9347mluu8g-554f17fffd256m9t64l6dkz6q-2456f1gl886m0-67f7f388m5943f66n083-tr69fd948295rn8nr-60ggn429331l7k-81gugdg600d4q858f68d0344f-d83g319g631dm957m43054d-k65g520d772d0q4u019q2880q4r2791f-k418g8gdkgff814dlk33599845dz205r17-0080572df416dr038dzdk7039543ru2mq3-893d277dm7r3023m173-u9058g568dg214nqr106zg2570-m017f216f926un88l42d21741lu3f-149kg1373919zn1k70fdln79-4831638972d093mf000497651k6410d24g-6404279ddff764r124k335gnm540d51kk421g435k21k-t57l931dgffdd396d278krk4d569f2l-9999dl672dk958kl781u93tl382-412m093dffd399853ll59092-004q2fgf021f797z6d21rf-85995dr812fntz798t5k-lt477f043ftrq8517n79358q-r039md4383d1526zq629f-001k4q265f043mddg2t8051qrz4718940-0063k789dkd037f241qtg9057u077ln-m16kgg198f025q2299k7269-197k412gfd910g651zl468666gk-k10lmg351gd964n9m25789r08fn2-du32l244fgd403g504r7um41f99981352m-05ldn685674g9qgf993463n-586ld6d995g310048z6ld315282-zn09ln697fdk057gurkqd184z1f5td8994u4n-uu91mg739d519g54n024-z53mf330fd340979urdrz4f6r6927-085m7ngdn703z7813m5g-u547m042fm8uf6093ld-09mf023fgd3906zg220-g50nugf03343t43g99l-802n9f5264dfftz7u-14n876lt21dmqm4g7q154t-95nt867543q37334373r8824-17nf737fd0492966d336d39g-509n7fdg040393n684r715614057z420-l61fd669fffg542qt8dqt710g11865g86441-44fd211gmfg093894rl4384tt9851nu-96qd642gggng685nu2kgu582g0d8420f427n878rn5ql-1301514gdgf918du05u7081q51-rt426kl009d121d1006fd4464u4-264kff440714f196gq764910d7165qn6-0n17l687gffd2225797ff369qf61f7f20299d5-1m10qm819gffm514d963t210kzl050k650781822703u5-z63q9kfgdg14632grff6204976693077dq-lu36q152lfg8088961g7814269g511uur9r-19qfm893gfg330k2z467208n4392zlg25z-62rddk261k886u5g1kg1516461k9157u-1q34rql123kd8192904m6d311325k-m57rf284k32744d3828k52765732-g288r109gfff736k4790fl365274d310155-n52d308k390442642d706rl-534d029kfl7734q1956fku6d811m7tf-q956lgf590l47914627ku2d3t-k97983427086766fd8879qg6z7ll01-u30t915f293l609t8t8g0948k74zf1513f-03tnf636dgl665ld84952412d8313kt12ml-z175tqmffgg237lf2143g678k9272u94103-58t2329dl719l348f7802460d1z0t6n-990u150dm480mlzkfd221d1g2t4dklll911d458442-n34ud642kl382m9800g713m651001d9068r622122d89665q-08ud034ddfg245mf1054f43dff440zln9-k260k865fkn707m752zfg31q795l39035-623lg307378m76uftf73716z1236zr0dnf1l4-6d26468fm950nn5849998d053212d5014g28281-429rnfggf862n37r05fq0425g2-mu31d721kkfg904ndlg3350rqkknq8dmfg9850q0df1442qm-q15fz892kkffg466nt00467dkkr4dzqr8-m774nfl908nn71214d694k0q4d5u271dnqmn-050616kk2635df9dkn4tz48951-l73mg611g1958z1147k45915qr60-k184gd172q25848kn1n4uf-q66429kl683q4422694279kq89k4309r4q-nl39d1050lfdgd495n6062dz731r45dgf6ud-d33l25704926g5dtl47nz87kz-z14r113l188m4613897gq812g832855t9861923l-t37df364lgfff50148538946dd0d003093977d050863d190m-11ztd666lgrg34315404n7f1d27605dm2t676um3-9d34zq738lf9751d908m9150646209fzm916821543n-d667zrg400mdd477dn9132t9789qd3345u-2300gggg851m949km5662fddu5050fg176d-q130q592mgdlg711q956224g835gf30369r-9500524mff703q16n56408-11670gg535mfl514qn85634d540r-n990l746m085q663zmn41267d-91140696q6u7105rd3075-16531f558mdfg408q66gd0798t5f0765-k161q569mf479qk4r1gk550fk0k-1281g590nfk721rf8715zmqf4-30202fl191nk652r7649t2483gf3-5522qffg7600u94f3g-q932693nn774rt7r6684g06172-4n062utqf706rm91g661fkz-2872585nd937r79dmuu-0g4925qfl27510gqd10858mdn05403n-f1813gmq289r427855f-u2743d5342f4gr86g80072-2153lrql791-19063dtq962z89dk-6783d34384878530gk519l-6z193381g5590d366fkq794dlrk1182-9k614g592026588984f-n134k3qdd53738md557funk0119d264328f-ql954315gf70937190td2k808915853-75384956dkf860t0760823knk7fm0055077k-rl215m697dff3713d7d63u48g725143795-935tg039qf644tr29g95937kf53n-rr165t840kl075tk0dlk7q899944-1385181617t9980z94700-0006d562ff348t8mzdlu524t820120-r426g183fg789tn1332662g17828ff80523-4256k225fff381uq90mu30791n71749102t1d08153-8f586fg496nff263uku0832u597609085267zl458l0-g8817f958ggl795u19543z1l3qd5f9698-d547dm210qfu377u4423l5dl03971f05436qtm-4577f661qgkr1997d72g307gm1g544l61458-q3081013qfl961k8314t5d8188fm7gn3f18984-9948fkf533l05546dq465qm57d148g07lz0m-q3168g336qdg135z6215781mm786qz0fn71gk64145-34498gltfgmg74719lmq3014mu26765-539df0949qg0105l-239g29410q7603t9-u549l950rdf1485g21104d-q979ff3913d4571nn7d-u879988283d208151u22k4g-07991t504d5566365f45422281nnmg457631fr52466-3030nu094rdgf2360442d1k20589ld9717954-399504446rfgg938l967299832257406u-f680m787rf099q5333df9948kd23g3fn41gd-4t411fu339rggg761265819kk9858318unzf22-n4410g380ddm7833u55453gq046uk919fr5mz9l1nu-lt771282t795n2349083kf23352fm8245497d1-9r702d734777l9225df074m0f4431nn81-332k065d1591159fn72065717f874tm-852296fdf811z7n1kg11944867f705dm7u305-d782l548dnfk592d16665mnf589u4529gln72071939mr5814d-6t623fdf720tdkfgfg6754216079lq05203qu67d-t853512tgl1473991d9r2m91r4891f72q4f25q-88399ufnm4492821dg346q64264171492f3k06nlf-ek024bdaj445tfahedfib941zkaf0071cwa659nhafn033ic6ksa1976gla153ick36c'

repl = {a: b for a, b in zip(
'Ьаеорсухѕіјѡѵһ',
'baeopcyxsijwvh')}

try:
unreplaced = set()
while b'-' in data:
data = data.decode('punycode')
for char in data:
if ord(char) > 0x80:
unreplaced.add(char)
for a, b in repl.items():
data = data.replace(a, b)
data = bytearray(data, 'ascii')
finally:
print(''.join(sorted(unreplaced)))
print(data)
```
Flag: actf{punycode!_replace_homoglyphs_before_submit}