define(function(require,exports,module){const _blockers=new Map;function registerBlocker(name){if(!name)return void logger.reportError(new Error("BootGreetings.registerBlocker called without a name"));if(_blockers.has(name))return void logger.reportError(new Error("BootGreetings: blocker '"+name+"' is already registered"));let resolveFn;const promise=new Promise(function(resolve){resolveFn=resolve});_blockers.set(name,{promise:promise,resolve:resolveFn,resolved:!1})}function unblockBlocker(name){const entry=_blockers.get(name);entry?entry.resolved||(entry.resolved=!0,entry.resolve()):logger.reportError(new Error("BootGreetings.unblockBlocker: unknown blocker '"+name+"'"))}function allDismissed(){if(!_blockers.size)return Promise.resolve();const promises=[];return _blockers.forEach(function(entry){promises.push(entry.promise)}),Promise.all(promises)}exports.registerBlocker=registerBlocker,exports.unblockBlocker=unblockBlocker,exports.allDismissed=allDismissed});