rfc2396 1.1.0

A library for validating strings as RFC2396-compliant URIs
Documentation
use anyhow::Context;

test_cases! {
    component::rel_path: {
        case_001: "!L/:Guwz9mips-PSQD8WLlIk=h",
        case_002: "!x%D1DOopgd/I;k)of()c9O8QjN",
        case_003: "$Q-OuX;,g!PN(&E)$G1K.rH7O",
        case_004: "%5DIXn4E6P'gXS47~7F'rmXrmvg",
        case_005: "&qL$.4a'Td-_B_M97!nmKlz0x",
        case_006: "'GRt=/:=f,~%FAA=pl0wzJuOCVN*",
        case_007: ")@r8O-.F%43k7&JGrgruoD,guvo",
        case_008: "+@e/:f$ypC!+06I$Ljz%47-CL9.V",
        case_009: "+WleIlq*!puGHl9Ymj_3McUn+",
        case_010: ",8cuADB/mGg*w%20ja9;cYxOI=X",
        case_011: "-PE)~7(%BCyPK~vQsmIeO5r0vK!",
        case_012: "-p%77AA~8UbPyL&th/X)g1mv7aX",
        case_013: ".p&7P&'dIJuhYF'6u81aVKuy0",
        case_014: "0_kJ!!DqBM6siXviNi7GD7S/:%75",
        case_015: "2F)k7DuhO7My+K6RexdH1=SGE",
        case_016: "2_Vrs-N2PIu$QAhmVgB(yXaMZ",
        case_017: "3$e6hTwxA&NZIE(cJ%7Ft%7BRIh7/",
        case_018: "4)Q4N;-fxe&RlP1JM7jLyx.fN",
        case_019: "51_'hKjV&Ka;btP%77.mx,*pyJR",
        case_020: "5LO+4z2L9V/:yL%3Eak@OtqkgS;o",
        case_021: "6m4cwE9+8C/:=lwQevAAKi(Xp$",
        case_022: "7G74Bh=lboEbS0Fq!02BuEV9+",
        case_023: "8Mb,_f/JwwDoTTQ;*8pZ1q*'u",
        case_024: "8Yo_B2%10Y;VqII$.R-W)oio9X/:",
        case_025: "8lOQBZ0G/Xf@=r,7d~pPVItd;",
        case_026: "8q!0jjmG1bLSBm-&cz'5I@CfX",
        case_027: "9_ea~mRHYs;$$/X~*5hZN82k8",
        case_028: ";w9Q4cJje@&LFs$@NP9$w&y(p",
        case_029: "AvKKkUNWhV~A6OptWF,+Ox5BT",
        case_030: "B;J_QSUf!38Vwxt=)E;)&lDt%D3",
        case_031: "BD!=DMIpZojgEYopO9fvQ'~=1",
        case_032: "Bph,F&+*d.uhXuQzPhWO0t7/:n",
        case_033: "D;&As+RUk7C/:x(BO~y%BC/@TO)Y",
        case_034: "DjKg$DGHzCL!~yA;+9xI&6m;T",
        case_035: "Dw@e/8091;I7E)CNpx13wH9Zh",
        case_036: "E71/WHX%77Nk;z-T'zKrRz'L.vZ",
        case_037: "HuMk+--i47AKnE.W0uuPdJsce",
        case_038: "I3TvD/kLcI@grlNm*EvOZ3fxa",
        case_039: "Ie3z4bCuHF+.Qurkvg7Jz'ysH",
        case_040: "JG8l7.Qb+x9gAyfhvKGaG8&5J",
        case_041: "K$0vesW5K(F3OODVHra,CyDWO",
        case_042: "LU625lLt@5!0'G%5A/)++K2sfJx",
        case_043: "N=GhY7Ua/:2TGDm;L~H0RPHwnC",
        case_044: "Ov2uaqzT(y)m@EQ=jC)6r''9~",
        case_045: "POJrp06q&+!/:L~YW)O;fVg@sz",
        case_046: "Q9kTYzl@K$7F%60-qGj(lDHx;_7",
        case_047: "QVWPYCeLf4,yID(''KbyP3tRz",
        case_048: "R65dJ@rhWx16xg14t8qKO*@/:C",
        case_049: "Rt0QF'!v8@bLd75/:_CJmevyRo",
        case_050: "Tv.)/xvMJp:Eb=:z28B=:=4U~",
        case_051: "UEUu6oQ3$D.H(qmR$9SkH=6'&",
        case_052: "UFYizqubSJ,a2m59MYoi,G=SZ",
        case_053: "Ug!Hbsq29pjKeUCA;&gb*Y$gA",
        case_054: "VaB9wfxBqE2G6/_r;)_.Ury9j",
        case_055: "Vcs/!F,,V+t:w%07JI2$5XD=vmo",
        case_056: "X~liEmD/:.5bB-=-NpzhgAQ*Z'",
        case_057: "Y+&rtjQ1~zTPFNLGKWX=5wEE/",
        case_058: "Z+dh7LwdUNQ-DGnB/GiOC=HML",
        case_059: "Z57BM)CL;nHjWmv/:W**2Ycamb",
        case_060: "ZN~_;hu,;U~a=I*Msa8neE+V8",
        case_061: "_5hM$lCuFUtiV/EX*bE-NpwP'",
        case_062: "_ZL!T%E2gU*edVF68gCKZMCpWQQ",
        case_063: "_gw6+ux8fR,zalrwe-vvD)@L",
        case_064: "b8hq4hlMEM6o_LTg9';qP0$MX",
        case_065: "br90k)cY,C1'a8XyXp1/:QPyF9",
        case_066: "bxBukbkA+EXW9PfSHx4b@Giz",
        case_067: "c'20Zmha')wOlf~y0g~&=f_kz",
        case_068: "c2_-&~czb;&4E_@VRQi_nW*Jm",
        case_069: "d-B;PaR=Ru+iQ/:y,WT/'/d7%7Bb",
        case_070: "dHvKVyPrkv+i4ug,AT$iz+l=f",
        case_071: "dP0N2l6vx5p2$kDtvuI%C0niFN%58",
        case_072: "e+.HZE5LRE10rBt=f5S'&TsOu",
        case_073: "e3Z*KXIu;M-PKG~w9-@FZZvS1",
        case_074: "e4oRVX@71!.ZSYq'@e2N&_Iz5",
        case_075: "ex2vUD$I=-(Md0Sk_4qqN1Ev8",
        case_076: "iNJK4wixH_WvXMk8KQdm$R-M;",
        case_077: "i_,BD.i7Zc'/:qzkZ&,+UwCwlx",
        case_078: "j1HXt=(&M8lYJaWtJLND(Klu~",
        case_079: "jxo9_Z1/:mM*;xFGCy-UtRT+hA",
        case_080: "kEf15+(p8g3wCVUUt,%27tCXJ(y",
        case_081: "m)ulj!K&~RU5mx%5E/:$.GuPrNUE",
        case_082: "mwih_$tf,rdW49&9FkgNV)qWu",
        case_083: "my,ixAlKF/:K%4EV)&Q0f;a=lq(v",
        case_084: "n/:G/WG1&7LLZiHfUVMqkmce'Q",
        case_085: "p,/:e0DxO+gpcXoGL%7E8!5*f*Xw",
        case_086: "p0k-KmNZ%B6WY5-Ai_/bwpq~4mw",
        case_087: "pWyT&$U1flMZin@SZM0o8@)q=",
        case_088: "pot$_IOayfor_N5w_5wny~0BW",
        case_089: "qIoE.Z(ZPUb0tAeHOQC0OzZ/:x",
        case_090: "r(vSJ.oYQCAYvI=0L%9Eiu,'ndH",
        case_091: "sTmWU-iCcN'UMLalKep_c_B",
        case_092: "ssaJLB/.MIiGO,CH(/~Vsxb:_",
        case_093: "t/:o3WqLPv:8Nfk'!STrujin9u",
        case_094: "tZH+ouc02/:ati6X::46Tyvg7=",
        case_095: "th3=oVp@h_-nqTOIk0XaCmDtK",
        case_096: "uTET,OBhqZBqZ9Q/:*)*OFBO8R",
        case_097: "xSfhirSzLPRrb_7i/4o+ln1Qh",
        case_098: "xn0J8PyBUjoqR693X.jcNu0=J",
        case_099: "yeumjgO*uOpRkr4qEM.oM3g4I",
        case_100: "~a;c/:0IU/iHSzpr4l3U4NeVwj"
    }
}