o ]Lb@sddlmZddlZddlZddlmZdZdddd d ddd Zz dd lm Z e j ZWn e y4Ynwd ej vrtr8|YStd|w)aImport Rust module according to policy and availability. If policy isn't a Rust one, this returns `default`. If either the module or its member is not available, this returns `default` if policy is permissive and raises `ImportError` if not. srustrustextNzCannot import name %s)r- startswithrrr6rr)rmemberdefaultrrrr importrusts$     r;)NN) __future__rossyspycompatrr-r,r modulepolicyrbuiltin_module_names version_infoenvironencoder(rr'r/r+r4r6r;rrrrsT