3e823a7440
Pre-resolve outbound profiles referenced by routing rules and pass them through the runtime context so they can be injected into generated V2ray configs. Key changes: - Added customOutboundProfiles: Map<String, ProfileItem> to CoreConfigContext. - CoreConfigContextBuilder: new resolveCustomOutbounds() to collect non-builtin outbound tags from routing rulesets and build the map; builder now populates customOutboundProfiles and simplifies resolvedProfiles/type handling. - CoreConfigManager: refactored many APIs to accept CoreConfigContext instead of raw Context/guid (toConfigResult, initV2rayConfig, getRouting, getOutbounds, getBalance, etc.), and uses the pre-resolved customOutboundProfiles when injecting custom outbounds. - injectCustomOutbounds now accepts the pre-resolved map and converts ProfileItem -> Outbound only for missing tags. - Added logging/error handling and minor tidying to avoid repeated lookups and ensure custom outbounds are available before routing is applied. Rationale: ensure outbounds referenced by rulesets are available early in the build pipeline, reduce duplicate lookups, and centralize runtime data in CoreConfigContext.