/* Ċ Ġ* ĠCopyright Ġ 2 0 1 7 - 2 0 1 8 Ġthe Ġoriginal Ġauthor Ġor Ġauthors . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . uch uh imo . kon f Ċ Ċ import Ġcom . uch uh imo . kon f . source . Source Ċ Ċ /** Ċ Ġ* ĠCon ven ient Ġclass Ġfor Ġconstructing Ġ[ Spec ]/ [ Config ]/ [ Source ] Ġwith Ġprefix . Ċ Ġ*/ Ċ data Ġclass ĠPrefix ( ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġpath Ġof Ġthe Ġprefix ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġpath : ĠString Ġ= Ġ"" Ċ ) Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa Ġconfig Ġspec Ġwith Ġthis Ġprefix . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġspec Ġthe Ġbase Ġconfig Ġspec ĊĠĠĠĠ Ġ* Ġ@ return Ġa Ġconfig Ġspec Ġwith Ġthis Ġprefix ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoperator Ġfun Ġplus ( spec : ĠSpec ): ĠSpec Ġ= Ġspec . with Prefix ( path ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa Ġconfig Ġwith Ġthis Ġprefix . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġconfig Ġthe Ġbase Ġconfig ĊĠĠĠĠ Ġ* Ġ@ return Ġa Ġconfig Ġwith Ġthis Ġprefix ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoperator Ġfun Ġplus ( config : ĠConfig ): ĠConfig Ġ= Ġconfig . with Prefix ( path ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa Ġsource Ġwith Ġthis Ġprefix . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġsource Ġthe Ġbase Ġsource ĊĠĠĠĠ Ġ* Ġ@ return Ġa Ġsource Ġwith Ġthis Ġprefix ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoperator Ġfun Ġplus ( source : ĠSource ): ĠSource Ġ= Ġsource . with Prefix ( path ) Ċ } Ċ