will be run in the order in which they are specified until a match is found.\r
The shell script will be invoked with a single UUID string value like \r
"23516BE4-29BE-350C-91C9-F36E7999F0F1". The shell script must respond with a \r
-property list being written to STDOUT. The property list must contain UUID\r
-string values as the root key values, with a dictionary for each UUID. The dictionaries\r
-can contain one or more of the following keys:\r
+property list being written to STDOUT. \r
+The property list returned must contain UUID string values as the root key values, with \r
+a dictionary for each UUID. The dictionaries can contain one or more of the following keys:\r
\r
<table class="stats" width="620" cellspacing="0">\r
<tr>\r
</plist>\r
</tt></pre></code>\r
\r
+<p>There is no timeout imposed on a shell script when is it asked to locate a dSYM file, so be careful to not make a shell\r
+script that has high latency or takes a long time to download unless this\r
+is really what you want. This can slow down debug sessions in LLDB and GDB, symbolication\r
+with CoreSymbolication or Report Crash, with no visible feedback to the user. You can\r
+quickly return a plist with a single <b>DBGError</b> key that indicates a timeout\r
+has been reached. You might also want to exec new processes to do the downloads so\r
+that if you return an error that indicates a timeout, your download can still proceed\r
+after your shell script has exited so subsequent debug sessions can use the cached files.\r
+It is also important to track when a current download is in progress in case you get multiple requests for the same UUID so\r
+that you don't end up downloading the same file simultaneously. Also you will want\r
+to verify the download was successful and then and only then place the file into the\r
+cache for tools that will cache files locally.\r
</div>\r
<div class="postfooter"></div>\r
</div>\r