@code-yeongyu/senpi 2026.9.23-3 → 2026.9.23-4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/bundle/chunks/{app-server-command-U5Y46LHO.js → app-server-command-QRBQLEXY.js} +1 -1
  3. package/dist/bundle/chunks/{chunk-UCTYTLP3.js → chunk-3RN6BFG2.js} +2 -2
  4. package/dist/bundle/chunks/{chunk-XTXBPXZZ.js → chunk-EN6KDFY2.js} +1 -1
  5. package/dist/bundle/chunks/{chunk-2NFHX2FJ.js → chunk-J3QXPP4T.js} +1 -1
  6. package/dist/bundle/chunks/chunk-KBG7BJIL.js +8 -0
  7. package/dist/bundle/chunks/{chunk-TH4PERSI.js → chunk-N46LNXHU.js} +35 -53
  8. package/dist/bundle/chunks/{chunk-67Z5WNA4.js → chunk-PSMTQDII.js} +1 -1
  9. package/dist/bundle/chunks/{chunk-Y4AJLTFT.js → chunk-WUYBEF7C.js} +1 -1
  10. package/dist/bundle/chunks/{chunk-IDSOMHWS.js → chunk-WXIRFRXY.js} +1 -1
  11. package/dist/bundle/chunks/{chunk-R6F525XB.js → chunk-XDSQYM4F.js} +1 -1
  12. package/dist/bundle/chunks/{chunk-TUVSARCZ.js → chunk-ZEFQYQOU.js} +1 -1
  13. package/dist/bundle/chunks/{cli-main-65WMMIRT.js → cli-main-ROBDBYAB.js} +1 -1
  14. package/dist/bundle/chunks/cursor-agent.js +1 -1
  15. package/dist/bundle/chunks/{help-fast-path-VXAZDQ3Z.js → help-fast-path-QXVCHTP3.js} +1 -1
  16. package/dist/bundle/chunks/{host-command-5PEFD4N6.js → host-command-3PUZYQOK.js} +1 -1
  17. package/dist/bundle/chunks/{host-lifecycle-BXW5C4JT.js → host-lifecycle-OHPSU5VU.js} +1 -1
  18. package/dist/bundle/chunks/{interactive-host-runtime-DUNYT24Q.js → interactive-host-runtime-57LEAJPU.js} +1 -1
  19. package/dist/bundle/chunks/{interactive-mode-SCG5PQZ6.js → interactive-mode-SLPAGRHH.js} +1 -1
  20. package/dist/bundle/chunks/{multi-session-host-QC6BZZNH.js → multi-session-host-3PACMEHC.js} +1 -1
  21. package/dist/bundle/chunks/{package-manager-cli-23GULCVL.js → package-manager-cli-6UIUSRQO.js} +1 -1
  22. package/dist/bundle/chunks/{pi-messages-B6RSUQKL.js → pi-messages-CAS467IY.js} +1 -1
  23. package/dist/bundle/chunks/{rotation-stream-ZIYWOB2N.js → rotation-stream-CZT4TRPD.js} +1 -1
  24. package/dist/bundle/chunks/{rpc-mode-ZQ4E6FFA.js → rpc-mode-47EVLL6X.js} +1 -1
  25. package/dist/bundle/chunks/{session-picker-CO2ZK3EC.js → session-picker-ZIBANFBQ.js} +1 -1
  26. package/dist/bundle/chunks/session-worker.js +40 -58
  27. package/dist/bundle/cli.js +1 -1
  28. package/dist/bundle/index.js +1 -1
  29. package/dist/bundle/rpc-entry.js +1 -1
  30. package/dist/core/extensions/builtin/cursor-cli-oauth/models.d.ts.map +1 -1
  31. package/dist/core/extensions/builtin/cursor-cli-oauth/models.js +43 -26
  32. package/dist/core/extensions/builtin/cursor-cli-oauth/models.js.map +1 -1
  33. package/dist/core/extensions/builtin/nested-agents-md/index.js +1 -1
  34. package/dist/core/extensions/builtin/nested-agents-md/index.js.map +1 -1
  35. package/dist/core/extensions/builtin/rule-activation/types.d.ts +2 -0
  36. package/dist/core/extensions/builtin/rule-activation/types.d.ts.map +1 -1
  37. package/dist/core/extensions/builtin/rule-activation/types.js +7 -1
  38. package/dist/core/extensions/builtin/rule-activation/types.js.map +1 -1
  39. package/dist/core/extensions/builtin/rules/index.d.ts.map +1 -1
  40. package/dist/core/extensions/builtin/rules/index.js +2 -1
  41. package/dist/core/extensions/builtin/rules/index.js.map +1 -1
  42. package/dist/core/extensions/builtin/webfetch/webfetch/tool.d.ts +3 -1
  43. package/dist/core/extensions/builtin/webfetch/webfetch/tool.d.ts.map +1 -1
  44. package/dist/core/extensions/builtin/webfetch/webfetch/tool.js +9 -3
  45. package/dist/core/extensions/builtin/webfetch/webfetch/tool.js.map +1 -1
  46. package/dist/core/model-resolver.d.ts.map +1 -1
  47. package/dist/core/model-resolver.js +87 -14
  48. package/dist/core/model-resolver.js.map +1 -1
  49. package/dist/core/tools/bash.d.ts.map +1 -1
  50. package/dist/core/tools/bash.js +12 -7
  51. package/dist/core/tools/bash.js.map +1 -1
  52. package/dist/core/tools/find.d.ts.map +1 -1
  53. package/dist/core/tools/find.js +9 -6
  54. package/dist/core/tools/find.js.map +1 -1
  55. package/dist/core/tools/grep/format.d.ts +3 -2
  56. package/dist/core/tools/grep/format.d.ts.map +1 -1
  57. package/dist/core/tools/grep/format.js +5 -3
  58. package/dist/core/tools/grep/format.js.map +1 -1
  59. package/dist/core/tools/grep/index.js +2 -2
  60. package/dist/core/tools/grep/index.js.map +1 -1
  61. package/dist/core/tools/ls.d.ts.map +1 -1
  62. package/dist/core/tools/ls.js +5 -3
  63. package/dist/core/tools/ls.js.map +1 -1
  64. package/dist/core/tools/model-only-text.d.ts +4 -0
  65. package/dist/core/tools/model-only-text.d.ts.map +1 -0
  66. package/dist/core/tools/model-only-text.js +12 -0
  67. package/dist/core/tools/model-only-text.js.map +1 -0
  68. package/dist/core/tools/read.d.ts.map +1 -1
  69. package/dist/core/tools/read.js +15 -5
  70. package/dist/core/tools/read.js.map +1 -1
  71. package/dist/core/tools/render-utils.d.ts.map +1 -1
  72. package/dist/core/tools/render-utils.js +2 -1
  73. package/dist/core/tools/render-utils.js.map +1 -1
  74. package/dist/core/tools/renderers/bash.d.ts.map +1 -1
  75. package/dist/core/tools/renderers/bash.js +1 -25
  76. package/dist/core/tools/renderers/bash.js.map +1 -1
  77. package/dist/core/tools/renderers/grep.d.ts.map +1 -1
  78. package/dist/core/tools/renderers/grep.js +0 -25
  79. package/dist/core/tools/renderers/grep.js.map +1 -1
  80. package/dist/core/tools/renderers/read.d.ts +8 -0
  81. package/dist/core/tools/renderers/read.d.ts.map +1 -1
  82. package/dist/core/tools/renderers/read.js +2 -14
  83. package/dist/core/tools/renderers/read.js.map +1 -1
  84. package/dist/modes/interactive/components/exploration-call.d.ts +4 -1
  85. package/dist/modes/interactive/components/exploration-call.d.ts.map +1 -1
  86. package/dist/modes/interactive/components/exploration-call.js +17 -2
  87. package/dist/modes/interactive/components/exploration-call.js.map +1 -1
  88. package/dist/modes/interactive/components/exploration-group.d.ts +3 -1
  89. package/dist/modes/interactive/components/exploration-group.d.ts.map +1 -1
  90. package/dist/modes/interactive/components/exploration-group.js +7 -1
  91. package/dist/modes/interactive/components/exploration-group.js.map +1 -1
  92. package/dist/modes/interactive/components/exploration-rules.d.ts +5 -0
  93. package/dist/modes/interactive/components/exploration-rules.d.ts.map +1 -0
  94. package/dist/modes/interactive/components/exploration-rules.js +15 -0
  95. package/dist/modes/interactive/components/exploration-rules.js.map +1 -0
  96. package/dist/modes/interactive/components/exploration-transcript-container.d.ts.map +1 -1
  97. package/dist/modes/interactive/components/exploration-transcript-container.js +10 -1
  98. package/dist/modes/interactive/components/exploration-transcript-container.js.map +1 -1
  99. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  100. package/dist/modes/interactive/components/tool-execution.js +4 -1
  101. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  102. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +14 -0
  103. package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
  104. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/render.ts +4 -19
  105. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  106. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.d.ts.map +1 -1
  107. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js +17 -1
  108. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js.map +1 -1
  109. package/node_modules/@earendil-works/pi-ai/dist/cursor/catalog-grouping.d.ts +18 -1
  110. package/node_modules/@earendil-works/pi-ai/dist/cursor/catalog-grouping.d.ts.map +1 -1
  111. package/node_modules/@earendil-works/pi-ai/dist/cursor/catalog-grouping.js +103 -3
  112. package/node_modules/@earendil-works/pi-ai/dist/cursor/catalog-grouping.js.map +1 -1
  113. package/node_modules/@earendil-works/pi-ai/dist/cursor/selection-descriptor.d.ts +3 -1
  114. package/node_modules/@earendil-works/pi-ai/dist/cursor/selection-descriptor.d.ts.map +1 -1
  115. package/node_modules/@earendil-works/pi-ai/dist/cursor/selection-descriptor.js +15 -3
  116. package/node_modules/@earendil-works/pi-ai/dist/cursor/selection-descriptor.js.map +1 -1
  117. package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.d.ts +7 -2
  118. package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.d.ts.map +1 -1
  119. package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.js +92 -20
  120. package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.js.map +1 -1
  121. package/node_modules/@earendil-works/pi-ai/dist/model.d.ts +9 -1
  122. package/node_modules/@earendil-works/pi-ai/dist/model.d.ts.map +1 -1
  123. package/node_modules/@earendil-works/pi-ai/dist/model.js.map +1 -1
  124. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.d.ts.map +1 -1
  125. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.js +1 -0
  126. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.js.map +1 -1
  127. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  128. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  129. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +5 -0
  130. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  131. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  132. package/node_modules/@earendil-works/pi-ai/package.json +2 -2
  133. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  134. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  135. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  136. package/package.json +7 -7
  137. package/dist/bundle/chunks/chunk-XPDV6SIX.js +0 -8
@@ -20,7 +20,7 @@ When asked a question, answer it from the code and stop there. Edit when a chang
20
20
  `:return"\\n";case"\r":return"\\r";case" ":return"\\t";default:return`\\u${char.codePointAt(0)?.toString(16).padStart(4,"0")??"0000"}`}}function repairJson(json){let repaired="",inString=!1;for(let index=0;index<json.length;index++){let char=json[index];if(!inString){repaired+=char,char==='"'&&(inString=!0);continue}if(char==='"'){repaired+=char,inString=!1;continue}if(char==="\\"){let nextChar=json[index+1];if(nextChar===void 0){repaired+="\\\\";continue}if(nextChar==="u"){let unicodeDigits=json.slice(index+2,index+6);if(/^[0-9a-fA-F]{4}$/.test(unicodeDigits)){repaired+=`\\u${unicodeDigits}`,index+=5;continue}}if(VALID_JSON_ESCAPES.has(nextChar)){repaired+=`\\${nextChar}`,index+=1;continue}repaired+="\\\\";continue}repaired+=isControlCharacter(char)?escapeControlCharacter(char):char}return repaired}function parseJsonWithRepair(json){try{return JSON.parse(json)}catch(error){let repairedJson=repairJson(json);if(repairedJson!==json)return JSON.parse(repairedJson);throw error}}function parseStreamingJson(partialJson){if(!partialJson||partialJson.trim()==="")return{};try{return parseJsonWithRepair(partialJson)}catch{try{return(0,import_partial_json.parse)(partialJson)??{}}catch{try{return(0,import_partial_json.parse)(repairJson(partialJson))??{}}catch{return{}}}}}function sanitizeSurrogates(text){return text.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,"")}import{createHash}from"node:crypto";function deterministicUuid(seed){let hex=createHash("sha256").update(seed).digest("hex");return`${hex.slice(0,8)}-${hex.slice(8,12)}-${hex.slice(12,16)}-${hex.slice(16,20)}-${hex.slice(20,32)}`}function armExecHeartbeat(options){let active=!0,timer,schedule=()=>{!active||options.isClosed()||(timer=setTimeout(()=>{timer=void 0,!(!active||options.isClosed())&&options.writeHeartbeat(error=>{error||!active||options.isClosed()||schedule()})},options.intervalMs))};return schedule(),()=>{active=!1,timer!==void 0&&(clearTimeout(timer),timer=void 0)}}var file_agent=fileDesc("CgthZ2VudC5wcm90bxIIYWdlbnQudjEicgoOR2xvYlRvb2xSZXN1bHQSLAoHc3VjY2VzcxgBIAEoCzIZLmFnZW50LnYxLkdsb2JUb29sU3VjY2Vzc0gAEigKBWVycm9yGAIgASgLMhcuYWdlbnQudjEuR2xvYlRvb2xFcnJvckgAQggKBnJlc3VsdCIeCg1HbG9iVG9vbEVycm9yEg0KBWVycm9yGAEgASgJIokBCg9HbG9iVG9vbFN1Y2Nlc3MSDwoHcGF0dGVybhgBIAEoCRIMCgRwYXRoGAIgASgJEg0KBWZpbGVzGAMgAygJEhMKC3RvdGFsX2ZpbGVzGAQgASgFEhgKEGNsaWVudF90cnVuY2F0ZWQYBSABKAgSGQoRcmlwZ3JlcF90cnVuY2F0ZWQYBiABKAgiRgoMR2xvYlRvb2xDYWxsEgwKBGFyZ3MYASABKAwSKAoGcmVzdWx0GAIgASgLMhguYWdlbnQudjEuR2xvYlRvb2xSZXN1bHQibQoRUmVhZExpbnRzVG9vbENhbGwSKQoEYXJncxgBIAEoCzIbLmFnZW50LnYxLlJlYWRMaW50c1Rvb2xBcmdzEi0KBnJlc3VsdBgCIAEoCzIdLmFnZW50LnYxLlJlYWRMaW50c1Rvb2xSZXN1bHQiIgoRUmVhZExpbnRzVG9vbEFyZ3MSDQoFcGF0aHMYASADKAkigQEKE1JlYWRMaW50c1Rvb2xSZXN1bHQSMQoHc3VjY2VzcxgBIAEoCzIeLmFnZW50LnYxLlJlYWRMaW50c1Rvb2xTdWNjZXNzSAASLQoFZXJyb3IYAiABKAsyHC5hZ2VudC52MS5SZWFkTGludHNUb29sRXJyb3JIAEIICgZyZXN1bHQiewoUUmVhZExpbnRzVG9vbFN1Y2Nlc3MSMwoQZmlsZV9kaWFnbm9zdGljcxgBIAMoCzIZLmFnZW50LnYxLkZpbGVEaWFnbm9zdGljcxITCgt0b3RhbF9maWxlcxgCIAEoBRIZChF0b3RhbF9kaWFnbm9zdGljcxgDIAEoBSJpCg9GaWxlRGlhZ25vc3RpY3MSDAoEcGF0aBgBIAEoCRItCgtkaWFnbm9zdGljcxgCIAMoCzIYLmFnZW50LnYxLkRpYWdub3N0aWNJdGVtEhkKEWRpYWdub3N0aWNzX2NvdW50GAMgASgFIqsBCg5EaWFnbm9zdGljSXRlbRIuCghzZXZlcml0eRgBIAEoDjIcLmFnZW50LnYxLkRpYWdub3N0aWNTZXZlcml0eRIoCgVyYW5nZRgCIAEoCzIZLmFnZW50LnYxLkRpYWdub3N0aWNSYW5nZRIPCgdtZXNzYWdlGAMgASgJEg4KBnNvdXJjZRgEIAEoCRIMCgRjb2RlGAUgASgJEhAKCGlzX3N0YWxlGAYgASgIIlUKD0RpYWdub3N0aWNSYW5nZRIhCgVzdGFydBgBIAEoCzISLmFnZW50LnYxLlBvc2l0aW9uEh8KA2VuZBgCIAEoCzISLmFnZW50LnYxLlBvc2l0aW9uIisKElJlYWRMaW50c1Rvb2xFcnJvchIVCg1lcnJvcl9tZXNzYWdlGAEgASgJIj0KDE1jcFRvb2xFcnJvchINCgVlcnJvchgBIAEoCRIeChZyZWFkX3Rvb2xfZGVmX3JlbWluZGVyGAIgASgJItIBCg1NY3BUb29sUmVzdWx0EicKB3N1Y2Nlc3MYASABKAsyFC5hZ2VudC52MS5NY3BTdWNjZXNzSAASJwoFZXJyb3IYAiABKAsyFi5hZ2VudC52MS5NY3BUb29sRXJyb3JIABIpCghyZWplY3RlZBgDIAEoCzIVLmFnZW50LnYxLk1jcFJlamVjdGVkSAASOgoRcGVybWlzc2lvbl9kZW5pZWQYBCABKAsyHS5hZ2VudC52MS5NY3BQZXJtaXNzaW9uRGVuaWVkSABCCAoGcmVzdWx0IoEBCgtNY3BUb29sQ2FsbBIfCgRhcmdzGAEgASgLMhEuYWdlbnQudjEuTWNwQXJncxInCgZyZXN1bHQYAiABKAsyFy5hZ2VudC52MS5NY3BUb29sUmVzdWx0EhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uIm0KEVNlbVNlYXJjaFRvb2xDYWxsEikKBGFyZ3MYASABKAsyGy5hZ2VudC52MS5TZW1TZWFyY2hUb29sQXJncxItCgZyZXN1bHQYAiABKAsyHS5hZ2VudC52MS5TZW1TZWFyY2hUb29sUmVzdWx0IlMKEVNlbVNlYXJjaFRvb2xBcmdzEg0KBXF1ZXJ5GAEgASgJEhoKEnRhcmdldF9kaXJlY3RvcmllcxgCIAMoCRITCgtleHBsYW5hdGlvbhgDIAEoCSKBAQoTU2VtU2VhcmNoVG9vbFJlc3VsdBIxCgdzdWNjZXNzGAEgASgLMh4uYWdlbnQudjEuU2VtU2VhcmNoVG9vbFN1Y2Nlc3NIABItCgVlcnJvchgCIAEoCzIcLmFnZW50LnYxLlNlbVNlYXJjaFRvb2xFcnJvckgAQggKBnJlc3VsdCI9ChRTZW1TZWFyY2hUb29sU3VjY2VzcxIPCgdyZXN1bHRzGAEgASgJEhQKDGNvZGVfcmVzdWx0cxgCIAMoDCIrChJTZW1TZWFyY2hUb29sRXJyb3ISFQoNZXJyb3JfbWVzc2FnZRgBIAEoCSKCAQoYTGlzdE1jcFJlc291cmNlc1Rvb2xDYWxsEjAKBGFyZ3MYASABKAsyIi5hZ2VudC52MS5MaXN0TWNwUmVzb3VyY2VzRXhlY0FyZ3MSNAoGcmVzdWx0GAIgASgLMiQuYWdlbnQudjEuTGlzdE1jcFJlc291cmNlc0V4ZWNSZXN1bHQifwoXUmVhZE1jcFJlc291cmNlVG9vbENhbGwSLwoEYXJncxgBIAEoCzIhLmFnZW50LnYxLlJlYWRNY3BSZXNvdXJjZUV4ZWNBcmdzEjMKBnJlc3VsdBgCIAEoCzIjLmFnZW50LnYxLlJlYWRNY3BSZXNvdXJjZUV4ZWNSZXN1bHQiWQoNRmV0Y2hUb29sQ2FsbBIhCgRhcmdzGAEgASgLMhMuYWdlbnQudjEuRmV0Y2hBcmdzEiUKBnJlc3VsdBgCIAEoCzIVLmFnZW50LnYxLkZldGNoUmVzdWx0Im4KFFJlY29yZFNjcmVlblRvb2xDYWxsEigKBGFyZ3MYASABKAsyGi5hZ2VudC52MS5SZWNvcmRTY3JlZW5BcmdzEiwKBnJlc3VsdBgCIAEoCzIcLmFnZW50LnYxLlJlY29yZFNjcmVlblJlc3VsdCJ3ChdXcml0ZVNoZWxsU3RkaW5Ub29sQ2FsbBIrCgRhcmdzGAEgASgLMh0uYWdlbnQudjEuV3JpdGVTaGVsbFN0ZGluQXJncxIvCgZyZXN1bHQYAiABKAsyHy5hZ2VudC52MS5Xcml0ZVNoZWxsU3RkaW5SZXN1bHQisQEKC1JlZmxlY3RBcmdzEiIKGnVuZXhwZWN0ZWRfYWN0aW9uX291dGNvbWVzGAEgASgJEh0KFXJlbGV2YW50X2luc3RydWN0aW9ucxgCIAEoCRIZChFzY2VuYXJpb19hbmFseXNpcxgDIAEoCRIaChJjcml0aWNhbF9zeW50aGVzaXMYBCABKAkSEgoKbmV4dF9zdGVwcxgFIAEoCRIUCgx0b29sX2NhbGxfaWQYBiABKAkibwoNUmVmbGVjdFJlc3VsdBIrCgdzdWNjZXNzGAEgASgLMhguYWdlbnQudjEuUmVmbGVjdFN1Y2Nlc3NIABInCgVlcnJvchgCIAEoCzIWLmFnZW50LnYxLlJlZmxlY3RFcnJvckgAQggKBnJlc3VsdCIQCg5SZWZsZWN0U3VjY2VzcyIdCgxSZWZsZWN0RXJyb3ISDQoFZXJyb3IYASABKAkiXwoPUmVmbGVjdFRvb2xDYWxsEiMKBGFyZ3MYASABKAsyFS5hZ2VudC52MS5SZWZsZWN0QXJncxInCgZyZXN1bHQYAiABKAsyFy5hZ2VudC52MS5SZWZsZWN0UmVzdWx0IlkKF1N0YXJ0R3JpbmRFeGVjdXRpb25BcmdzEhgKC2V4cGxhbmF0aW9uGAEgASgJSACIAQESFAoMdG9vbF9jYWxsX2lkGAIgASgJQg4KDF9leHBsYW5hdGlvbiKTAQoZU3RhcnRHcmluZEV4ZWN1dGlvblJlc3VsdBI3CgdzdWNjZXNzGAEgASgLMiQuYWdlbnQudjEuU3RhcnRHcmluZEV4ZWN1dGlvblN1Y2Nlc3NIABIzCgVlcnJvchgCIAEoCzIiLmFnZW50LnYxLlN0YXJ0R3JpbmRFeGVjdXRpb25FcnJvckgAQggKBnJlc3VsdCIcChpTdGFydEdyaW5kRXhlY3V0aW9uU3VjY2VzcyIpChhTdGFydEdyaW5kRXhlY3V0aW9uRXJyb3ISDQoFZXJyb3IYASABKAkigwEKG1N0YXJ0R3JpbmRFeGVjdXRpb25Ub29sQ2FsbBIvCgRhcmdzGAEgASgLMiEuYWdlbnQudjEuU3RhcnRHcmluZEV4ZWN1dGlvbkFyZ3MSMwoGcmVzdWx0GAIgASgLMiMuYWdlbnQudjEuU3RhcnRHcmluZEV4ZWN1dGlvblJlc3VsdCJYChZTdGFydEdyaW5kUGxhbm5pbmdBcmdzEhgKC2V4cGxhbmF0aW9uGAEgASgJSACIAQESFAoMdG9vbF9jYWxsX2lkGAIgASgJQg4KDF9leHBsYW5hdGlvbiKQAQoYU3RhcnRHcmluZFBsYW5uaW5nUmVzdWx0EjYKB3N1Y2Nlc3MYASABKAsyIy5hZ2VudC52MS5TdGFydEdyaW5kUGxhbm5pbmdTdWNjZXNzSAASMgoFZXJyb3IYAiABKAsyIS5hZ2VudC52MS5TdGFydEdyaW5kUGxhbm5pbmdFcnJvckgAQggKBnJlc3VsdCIbChlTdGFydEdyaW5kUGxhbm5pbmdTdWNjZXNzIigKF1N0YXJ0R3JpbmRQbGFubmluZ0Vycm9yEg0KBWVycm9yGAEgASgJIoABChpTdGFydEdyaW5kUGxhbm5pbmdUb29sQ2FsbBIuCgRhcmdzGAEgASgLMiAuYWdlbnQudjEuU3RhcnRHcmluZFBsYW5uaW5nQXJncxIyCgZyZXN1bHQYAiABKAsyIi5hZ2VudC52MS5TdGFydEdyaW5kUGxhbm5pbmdSZXN1bHQinAEKCFRhc2tBcmdzEhMKC2Rlc2NyaXB0aW9uGAEgASgJEg4KBnByb21wdBgCIAEoCRItCg1zdWJhZ2VudF90eXBlGAMgASgLMhYuYWdlbnQudjEuU3ViYWdlbnRUeXBlEhIKBW1vZGVsGAQgASgJSACIAQESEwoGcmVzdW1lGAUgASgJSAGIAQFCCAoGX21vZGVsQgkKB19yZXN1bWUiqgEKC1Rhc2tTdWNjZXNzEjYKEmNvbnZlcnNhdGlvbl9zdGVwcxgBIAMoCzIaLmFnZW50LnYxLkNvbnZlcnNhdGlvblN0ZXASFQoIYWdlbnRfaWQYAiABKAlIAIgBARIVCg1pc19iYWNrZ3JvdW5kGAMgASgIEhgKC2R1cmF0aW9uX21zGAQgASgESAGIAQFCCwoJX2FnZW50X2lkQg4KDF9kdXJhdGlvbl9tcyIaCglUYXNrRXJyb3ISDQoFZXJyb3IYASABKAkiZgoKVGFza1Jlc3VsdBIoCgdzdWNjZXNzGAEgASgLMhUuYWdlbnQudjEuVGFza1N1Y2Nlc3NIABIkCgVlcnJvchgCIAEoCzITLmFnZW50LnYxLlRhc2tFcnJvckgAQggKBnJlc3VsdCJWCgxUYXNrVG9vbENhbGwSIAoEYXJncxgBIAEoCzISLmFnZW50LnYxLlRhc2tBcmdzEiQKBnJlc3VsdBgCIAEoCzIULmFnZW50LnYxLlRhc2tSZXN1bHQiTAoRVGFza1Rvb2xDYWxsRGVsdGESNwoSaW50ZXJhY3Rpb25fdXBkYXRlGAEgASgLMhsuYWdlbnQudjEuSW50ZXJhY3Rpb25VcGRhdGUihhQKCFRvb2xDYWxsEjIKD3NoZWxsX3Rvb2xfY2FsbBgBIAEoCzIXLmFnZW50LnYxLlNoZWxsVG9vbENhbGxIABI0ChBkZWxldGVfdG9vbF9jYWxsGAMgASgLMhguYWdlbnQudjEuRGVsZXRlVG9vbENhbGxIABIwCg5nbG9iX3Rvb2xfY2FsbBgEIAEoCzIWLmFnZW50LnYxLkdsb2JUb29sQ2FsbEgAEjAKDmdyZXBfdG9vbF9jYWxsGAUgASgLMhYuYWdlbnQudjEuR3JlcFRvb2xDYWxsSAASMAoOcmVhZF90b29sX2NhbGwYCCABKAsyFi5hZ2VudC52MS5SZWFkVG9vbENhbGxIABI/ChZ1cGRhdGVfdG9kb3NfdG9vbF9jYWxsGAkgASgLMh0uYWdlbnQudjEuVXBkYXRlVG9kb3NUb29sQ2FsbEgAEjsKFHJlYWRfdG9kb3NfdG9vbF9jYWxsGAogASgLMhsuYWdlbnQudjEuUmVhZFRvZG9zVG9vbENhbGxIABIwCg5lZGl0X3Rvb2xfY2FsbBgMIAEoCzIWLmFnZW50LnYxLkVkaXRUb29sQ2FsbEgAEiwKDGxzX3Rvb2xfY2FsbBgNIAEoCzIULmFnZW50LnYxLkxzVG9vbENhbGxIABI7ChRyZWFkX2xpbnRzX3Rvb2xfY2FsbBgOIAEoCzIbLmFnZW50LnYxLlJlYWRMaW50c1Rvb2xDYWxsSAASLgoNbWNwX3Rvb2xfY2FsbBgPIAEoCzIVLmFnZW50LnYxLk1jcFRvb2xDYWxsSAASOwoUc2VtX3NlYXJjaF90b29sX2NhbGwYECABKAsyGy5hZ2VudC52MS5TZW1TZWFyY2hUb29sQ2FsbEgAEj0KFWNyZWF0ZV9wbGFuX3Rvb2xfY2FsbBgRIAEoCzIcLmFnZW50LnYxLkNyZWF0ZVBsYW5Ub29sQ2FsbEgAEjsKFHdlYl9zZWFyY2hfdG9vbF9jYWxsGBIgASgLMhsuYWdlbnQudjEuV2ViU2VhcmNoVG9vbENhbGxIABIwCg50YXNrX3Rvb2xfY2FsbBgTIAEoCzIWLmFnZW50LnYxLlRhc2tUb29sQ2FsbEgAEkoKHGxpc3RfbWNwX3Jlc291cmNlc190b29sX2NhbGwYFCABKAsyIi5hZ2VudC52MS5MaXN0TWNwUmVzb3VyY2VzVG9vbENhbGxIABJIChtyZWFkX21jcF9yZXNvdXJjZV90b29sX2NhbGwYFSABKAsyIS5hZ2VudC52MS5SZWFkTWNwUmVzb3VyY2VUb29sQ2FsbEgAEkYKGmFwcGx5X2FnZW50X2RpZmZfdG9vbF9jYWxsGBYgASgLMiAuYWdlbnQudjEuQXBwbHlBZ2VudERpZmZUb29sQ2FsbEgAEj8KFmFza19xdWVzdGlvbl90b29sX2NhbGwYFyABKAsyHS5hZ2VudC52MS5Bc2tRdWVzdGlvblRvb2xDYWxsSAASMgoPZmV0Y2hfdG9vbF9jYWxsGBggASgLMhcuYWdlbnQudjEuRmV0Y2hUb29sQ2FsbEgAEj0KFXN3aXRjaF9tb2RlX3Rvb2xfY2FsbBgZIAEoCzIcLmFnZW50LnYxLlN3aXRjaE1vZGVUb29sQ2FsbEgAEjsKFGV4YV9zZWFyY2hfdG9vbF9jYWxsGBogASgLMhsuYWdlbnQudjEuRXhhU2VhcmNoVG9vbENhbGxIABI5ChNleGFfZmV0Y2hfdG9vbF9jYWxsGBsgASgLMhouYWdlbnQudjEuRXhhRmV0Y2hUb29sQ2FsbEgAEkMKGGdlbmVyYXRlX2ltYWdlX3Rvb2xfY2FsbBgcIAEoCzIfLmFnZW50LnYxLkdlbmVyYXRlSW1hZ2VUb29sQ2FsbEgAEkEKF3JlY29yZF9zY3JlZW5fdG9vbF9jYWxsGB0gASgLMh4uYWdlbnQudjEuUmVjb3JkU2NyZWVuVG9vbENhbGxIABI/ChZjb21wdXRlcl91c2VfdG9vbF9jYWxsGB4gASgLMh0uYWdlbnQudjEuQ29tcHV0ZXJVc2VUb29sQ2FsbEgAEkgKG3dyaXRlX3NoZWxsX3N0ZGluX3Rvb2xfY2FsbBgfIAEoCzIhLmFnZW50LnYxLldyaXRlU2hlbGxTdGRpblRvb2xDYWxsSAASNgoRcmVmbGVjdF90b29sX2NhbGwYICABKAsyGS5hZ2VudC52MS5SZWZsZWN0VG9vbENhbGxIABJOCh5zZXR1cF92bV9lbnZpcm9ubWVudF90b29sX2NhbGwYISABKAsyJC5hZ2VudC52MS5TZXR1cFZtRW52aXJvbm1lbnRUb29sQ2FsbEgAEjoKE3RydW5jYXRlZF90b29sX2NhbGwYIiABKAsyGy5hZ2VudC52MS5UcnVuY2F0ZWRUb29sQ2FsbEgAElAKH3N0YXJ0X2dyaW5kX2V4ZWN1dGlvbl90b29sX2NhbGwYIyABKAsyJS5hZ2VudC52MS5TdGFydEdyaW5kRXhlY3V0aW9uVG9vbENhbGxIABJOCh5zdGFydF9ncmluZF9wbGFubmluZ190b29sX2NhbGwYJCABKAsyJC5hZ2VudC52MS5TdGFydEdyaW5kUGxhbm5pbmdUb29sQ2FsbEgAEjUKEXBpX3JlYWRfdG9vbF9jYWxsGD0gASgLMhguYWdlbnQudjEuUGlSZWFkVG9vbENhbGxIABI1ChFwaV9iYXNoX3Rvb2xfY2FsbBg+IAEoCzIYLmFnZW50LnYxLlBpQmFzaFRvb2xDYWxsSAASNQoRcGlfZWRpdF90b29sX2NhbGwYPyABKAsyGC5hZ2VudC52MS5QaUVkaXRUb29sQ2FsbEgAEjcKEnBpX3dyaXRlX3Rvb2xfY2FsbBhAIAEoCzIZLmFnZW50LnYxLlBpV3JpdGVUb29sQ2FsbEgAEjUKEXBpX2dyZXBfdG9vbF9jYWxsGEEgASgLMhguYWdlbnQudjEuUGlHcmVwVG9vbENhbGxIABI1ChFwaV9maW5kX3Rvb2xfY2FsbBhCIAEoCzIYLmFnZW50LnYxLlBpRmluZFRvb2xDYWxsSAASMQoPcGlfbHNfdG9vbF9jYWxsGEMgASgLMhYuYWdlbnQudjEuUGlMc1Rvb2xDYWxsSAASPQoVY29ubmVjdF9zY21fdG9vbF9jYWxsGEQgASgLMhwuYWdlbnQudjEuQ29ubmVjdFNjbVRvb2xDYWxsSAASTwoec2VhcmNoX2NvbnZlcnNhdGlvbnNfdG9vbF9jYWxsGEUgASgLMiUuYWdlbnQudjEuU2VhcmNoQ29udmVyc2F0aW9uc1Rvb2xDYWxsSAASGQoMdG9vbF9jYWxsX2lkGDkgASgJSAGIAQFCBgoEdG9vbEIPCg1fdG9vbF9jYWxsX2lkIhcKFVRydW5jYXRlZFRvb2xDYWxsQXJncyIaChhUcnVuY2F0ZWRUb29sQ2FsbFN1Y2Nlc3MiJwoWVHJ1bmNhdGVkVG9vbENhbGxFcnJvchINCgVlcnJvchgBIAEoCSKNAQoXVHJ1bmNhdGVkVG9vbENhbGxSZXN1bHQSNQoHc3VjY2VzcxgBIAEoCzIiLmFnZW50LnYxLlRydW5jYXRlZFRvb2xDYWxsU3VjY2Vzc0gAEjEKBWVycm9yGAIgASgLMiAuYWdlbnQudjEuVHJ1bmNhdGVkVG9vbENhbGxFcnJvckgAQggKBnJlc3VsdCKUAQoRVHJ1bmNhdGVkVG9vbENhbGwSHQoVb3JpZ2luYWxfc3RlcF9ibG9iX2lkGAEgASgMEi0KBGFyZ3MYAiABKAsyHy5hZ2VudC52MS5UcnVuY2F0ZWRUb29sQ2FsbEFyZ3MSMQoGcmVzdWx0GAMgASgLMiEuYWdlbnQudjEuVHJ1bmNhdGVkVG9vbENhbGxSZXN1bHQi0QEKDVRvb2xDYWxsRGVsdGESPQoVc2hlbGxfdG9vbF9jYWxsX2RlbHRhGAEgASgLMhwuYWdlbnQudjEuU2hlbGxUb29sQ2FsbERlbHRhSAASOwoUdGFza190b29sX2NhbGxfZGVsdGEYAiABKAsyGy5hZ2VudC52MS5UYXNrVG9vbENhbGxEZWx0YUgAEjsKFGVkaXRfdG9vbF9jYWxsX2RlbHRhGAMgASgLMhsuYWdlbnQudjEuRWRpdFRvb2xDYWxsRGVsdGFIAEIHCgVkZWx0YSK2AQoQQ29udmVyc2F0aW9uU3RlcBI3ChFhc3Npc3RhbnRfbWVzc2FnZRgBIAEoCzIaLmFnZW50LnYxLkFzc2lzdGFudE1lc3NhZ2VIABInCgl0b29sX2NhbGwYAiABKAsyEi5hZ2VudC52MS5Ub29sQ2FsbEgAEjUKEHRoaW5raW5nX21lc3NhZ2UYAyABKAsyGS5hZ2VudC52MS5UaGlua2luZ01lc3NhZ2VIAEIJCgdtZXNzYWdlIoEEChJDb252ZXJzYXRpb25BY3Rpb24SOgoTdXNlcl9tZXNzYWdlX2FjdGlvbhgBIAEoCzIbLmFnZW50LnYxLlVzZXJNZXNzYWdlQWN0aW9uSAASLwoNcmVzdW1lX2FjdGlvbhgCIAEoCzIWLmFnZW50LnYxLlJlc3VtZUFjdGlvbkgAEi8KDWNhbmNlbF9hY3Rpb24YAyABKAsyFi5hZ2VudC52MS5DYW5jZWxBY3Rpb25IABI1ChBzdW1tYXJpemVfYWN0aW9uGAQgASgLMhkuYWdlbnQudjEuU3VtbWFyaXplQWN0aW9uSAASPAoUc2hlbGxfY29tbWFuZF9hY3Rpb24YBSABKAsyHC5hZ2VudC52MS5TaGVsbENvbW1hbmRBY3Rpb25IABI2ChFzdGFydF9wbGFuX2FjdGlvbhgGIAEoCzIZLmFnZW50LnYxLlN0YXJ0UGxhbkFjdGlvbkgAEjoKE2V4ZWN1dGVfcGxhbl9hY3Rpb24YByABKAsyGy5hZ2VudC52MS5FeGVjdXRlUGxhbkFjdGlvbkgAEloKJGFzeW5jX2Fza19xdWVzdGlvbl9jb21wbGV0aW9uX2FjdGlvbhgIIAEoCzIqLmFnZW50LnYxLkFzeW5jQXNrUXVlc3Rpb25Db21wbGV0aW9uQWN0aW9uSABCCAoGYWN0aW9uIr8BChFVc2VyTWVzc2FnZUFjdGlvbhIrCgx1c2VyX21lc3NhZ2UYASABKAsyFS5hZ2VudC52MS5Vc2VyTWVzc2FnZRIxCg9yZXF1ZXN0X2NvbnRleHQYAiABKAsyGC5hZ2VudC52MS5SZXF1ZXN0Q29udGV4dBIpChxzZW5kX3RvX2ludGVyYWN0aW9uX2xpc3RlbmVyGAMgASgISACIAQFCHwodX3NlbmRfdG9faW50ZXJhY3Rpb25fbGlzdGVuZXIiDgoMQ2FuY2VsQWN0aW9uIkEKDFJlc3VtZUFjdGlvbhIxCg9yZXF1ZXN0X2NvbnRleHQYAiABKAsyGC5hZ2VudC52MS5SZXF1ZXN0Q29udGV4dCKgAQogQXN5bmNBc2tRdWVzdGlvbkNvbXBsZXRpb25BY3Rpb24SHQoVb3JpZ2luYWxfdG9vbF9jYWxsX2lkGAEgASgJEjAKDW9yaWdpbmFsX2FyZ3MYAiABKAsyGS5hZ2VudC52MS5Bc2tRdWVzdGlvbkFyZ3MSKwoGcmVzdWx0GAMgASgLMhsuYWdlbnQudjEuQXNrUXVlc3Rpb25SZXN1bHQiEQoPU3VtbWFyaXplQWN0aW9uIlQKElNoZWxsQ29tbWFuZEFjdGlvbhItCg1zaGVsbF9jb21tYW5kGAEgASgLMhYuYWdlbnQudjEuU2hlbGxDb21tYW5kEg8KB2V4ZWNfaWQYAiABKAkiggEKD1N0YXJ0UGxhbkFjdGlvbhIrCgx1c2VyX21lc3NhZ2UYASABKAsyFS5hZ2VudC52MS5Vc2VyTWVzc2FnZRIxCg9yZXF1ZXN0X2NvbnRleHQYAiABKAsyGC5hZ2VudC52MS5SZXF1ZXN0Q29udGV4dBIPCgdpc19zcGVjGAMgASgIIuIBChFFeGVjdXRlUGxhbkFjdGlvbhIxCg9yZXF1ZXN0X2NvbnRleHQYASABKAsyGC5hZ2VudC52MS5SZXF1ZXN0Q29udGV4dBItCgRwbGFuGAIgASgLMhouYWdlbnQudjEuQ29udmVyc2F0aW9uUGxhbkgAiAEBEhoKDXBsYW5fZmlsZV91cmkYAyABKAlIAYgBARIeChFwbGFuX2ZpbGVfY29udGVudBgEIAEoCUgCiAEBQgcKBV9wbGFuQhAKDl9wbGFuX2ZpbGVfdXJpQhQKEl9wbGFuX2ZpbGVfY29udGVudCLoAgoLVXNlck1lc3NhZ2USDAoEdGV4dBgBIAEoCRISCgptZXNzYWdlX2lkGAIgASgJEjgKEHNlbGVjdGVkX2NvbnRleHQYAyABKAsyGS5hZ2VudC52MS5TZWxlY3RlZENvbnRleHRIAIgBARIMCgRtb2RlGAQgASgFEh0KEGlzX3NpbXVsYXRlZF9tc2cYBSABKAhIAYgBARIfChJiZXN0X29mX25fZ3JvdXBfaWQYBiABKAlIAogBARIoCht0cnlfdXNlX2Jlc3Rfb2Zfbl9wcm9tb3Rpb24YByABKAhIA4gBARIWCglyaWNoX3RleHQYCCABKAlIBIgBAUITChFfc2VsZWN0ZWRfY29udGV4dEITChFfaXNfc2ltdWxhdGVkX21zZ0IVChNfYmVzdF9vZl9uX2dyb3VwX2lkQh4KHF90cnlfdXNlX2Jlc3Rfb2Zfbl9wcm9tb3Rpb25CDAoKX3JpY2hfdGV4dCIgChBBc3Npc3RhbnRNZXNzYWdlEgwKBHRleHQYASABKAkiNAoPVGhpbmtpbmdNZXNzYWdlEgwKBHRleHQYASABKAkSEwoLZHVyYXRpb25fbXMYAiABKA0iHwoMU2hlbGxDb21tYW5kEg8KB2NvbW1hbmQYASABKAkiQAoLU2hlbGxPdXRwdXQSDgoGc3Rkb3V0GAEgASgJEg4KBnN0ZGVychgCIAEoCRIRCglleGl0X2NvZGUYAyABKAUiogEKEENvbnZlcnNhdGlvblR1cm4SQgoXYWdlbnRfY29udmVyc2F0aW9uX3R1cm4YASABKAsyHy5hZ2VudC52MS5BZ2VudENvbnZlcnNhdGlvblR1cm5IABJCChdzaGVsbF9jb252ZXJzYXRpb25fdHVybhgCIAEoCzIfLmFnZW50LnYxLlNoZWxsQ29udmVyc2F0aW9uVHVybkgAQgYKBHR1cm4iIAoQQ29udmVyc2F0aW9uUGxhbhIMCgRwbGFuGAEgASgJIr0BChlDb252ZXJzYXRpb25UdXJuU3RydWN0dXJlEksKF2FnZW50X2NvbnZlcnNhdGlvbl90dXJuGAEgASgLMiguYWdlbnQudjEuQWdlbnRDb252ZXJzYXRpb25UdXJuU3RydWN0dXJlSAASSwoXc2hlbGxfY29udmVyc2F0aW9uX3R1cm4YAiABKAsyKC5hZ2VudC52MS5TaGVsbENvbnZlcnNhdGlvblR1cm5TdHJ1Y3R1cmVIAEIGCgR0dXJuIpcBChVBZ2VudENvbnZlcnNhdGlvblR1cm4SKwoMdXNlcl9tZXNzYWdlGAEgASgLMhUuYWdlbnQudjEuVXNlck1lc3NhZ2USKQoFc3RlcHMYAiADKAsyGi5hZ2VudC52MS5Db252ZXJzYXRpb25TdGVwEhcKCnJlcXVlc3RfaWQYAyABKAlIAIgBAUINCgtfcmVxdWVzdF9pZCJtCh5BZ2VudENvbnZlcnNhdGlvblR1cm5TdHJ1Y3R1cmUSFAoMdXNlcl9tZXNzYWdlGAEgASgMEg0KBXN0ZXBzGAIgAygMEhcKCnJlcXVlc3RfaWQYAyABKAlIAIgBAUINCgtfcmVxdWVzdF9pZCJzChVTaGVsbENvbnZlcnNhdGlvblR1cm4SLQoNc2hlbGxfY29tbWFuZBgBIAEoCzIWLmFnZW50LnYxLlNoZWxsQ29tbWFuZBIrCgxzaGVsbF9vdXRwdXQYAiABKAsyFS5hZ2VudC52MS5TaGVsbE91dHB1dCJNCh5TaGVsbENvbnZlcnNhdGlvblR1cm5TdHJ1Y3R1cmUSFQoNc2hlbGxfY29tbWFuZBgBIAEoDBIUCgxzaGVsbF9vdXRwdXQYAiABKAwiJgoTQ29udmVyc2F0aW9uU3VtbWFyeRIPCgdzdW1tYXJ5GAEgASgJIngKGkNvbnZlcnNhdGlvblN1bW1hcnlBcmNoaXZlEhsKE3N1bW1hcml6ZWRfbWVzc2FnZXMYASADKAwSDwoHc3VtbWFyeRgCIAEoCRITCgt3aW5kb3dfdGFpbBgDIAEoDRIXCg9zdW1tYXJ5X21lc3NhZ2UYBCABKAwiQwoYQ29udmVyc2F0aW9uVG9rZW5EZXRhaWxzEhMKC3VzZWRfdG9rZW5zGAEgASgNEhIKCm1heF90b2tlbnMYAiABKA0iXwoJRmlsZVN0YXRlEhQKB2NvbnRlbnQYASABKAlIAIgBARIcCg9pbml0aWFsX2NvbnRlbnQYAiABKAlIAYgBAUIKCghfY29udGVudEISChBfaW5pdGlhbF9jb250ZW50ImgKEkZpbGVTdGF0ZVN0cnVjdHVyZRIUCgdjb250ZW50GAEgASgMSACIAQESHAoPaW5pdGlhbF9jb250ZW50GAIgASgMSAGIAQFCCgoIX2NvbnRlbnRCEgoQX2luaXRpYWxfY29udGVudCI3CgpTdGVwVGltaW5nEhMKC2R1cmF0aW9uX21zGAEgASgEEhQKDHRpbWVzdGFtcF9tcxgCIAEoBCL2BAoRQ29udmVyc2F0aW9uU3RhdGUSIQoZcm9vdF9wcm9tcHRfbWVzc2FnZXNfanNvbhgBIAMoCRIpCgV0dXJucxgIIAMoCzIaLmFnZW50LnYxLkNvbnZlcnNhdGlvblR1cm4SIQoFdG9kb3MYAyADKAsyEi5hZ2VudC52MS5Ub2RvSXRlbRIaChJwZW5kaW5nX3Rvb2xfY2FsbHMYBCADKAkSOQoNdG9rZW5fZGV0YWlscxgFIAEoCzIiLmFnZW50LnYxLkNvbnZlcnNhdGlvblRva2VuRGV0YWlscxIzCgdzdW1tYXJ5GAYgASgLMh0uYWdlbnQudjEuQ29udmVyc2F0aW9uU3VtbWFyeUgAiAEBEi0KBHBsYW4YByABKAsyGi5hZ2VudC52MS5Db252ZXJzYXRpb25QbGFuSAGIAQESQgoPc3VtbWFyeV9hcmNoaXZlGAkgASgLMiQuYWdlbnQudjEuQ29udmVyc2F0aW9uU3VtbWFyeUFyY2hpdmVIAogBARJACgtmaWxlX3N0YXRlcxgKIAMoCzIrLmFnZW50LnYxLkNvbnZlcnNhdGlvblN0YXRlLkZpbGVTdGF0ZXNFbnRyeRI+ChBzdW1tYXJ5X2FyY2hpdmVzGAsgAygLMiQuYWdlbnQudjEuQ29udmVyc2F0aW9uU3VtbWFyeUFyY2hpdmUaRgoPRmlsZVN0YXRlc0VudHJ5EgsKA2tleRgBIAEoCRIiCgV2YWx1ZRgCIAEoCzITLmFnZW50LnYxLkZpbGVTdGF0ZToCOAFCCgoIX3N1bW1hcnlCBwoFX3BsYW5CEgoQX3N1bW1hcnlfYXJjaGl2ZSLHAQoWU3ViYWdlbnRQZXJzaXN0ZWRTdGF0ZRJAChJjb252ZXJzYXRpb25fc3RhdGUYASABKAsyJC5hZ2VudC52MS5Db252ZXJzYXRpb25TdGF0ZVN0cnVjdHVyZRIcChRjcmVhdGVkX3RpbWVzdGFtcF9tcxgCIAEoBBIeChZsYXN0X3VzZWRfdGltZXN0YW1wX21zGAMgASgEEi0KDXN1YmFnZW50X3R5cGUYBCABKAsyFi5hZ2VudC52MS5TdWJhZ2VudFR5cGUitwcKGkNvbnZlcnNhdGlvblN0YXRlU3RydWN0dXJlEhEKCXR1cm5zX29sZBgCIAMoDBIhChlyb290X3Byb21wdF9tZXNzYWdlc19qc29uGAEgAygMEg0KBXR1cm5zGAggAygMEg0KBXRvZG9zGAMgAygMEhoKEnBlbmRpbmdfdG9vbF9jYWxscxgEIAMoCRI5Cg10b2tlbl9kZXRhaWxzGAUgASgLMiIuYWdlbnQudjEuQ29udmVyc2F0aW9uVG9rZW5EZXRhaWxzEhQKB3N1bW1hcnkYBiABKAxIAIgBARIRCgRwbGFuGAcgASgMSAGIAQESHwoXcHJldmlvdXNfd29ya3NwYWNlX3VyaXMYCSADKAkSEQoEbW9kZRgKIAEoBUgCiAEBEhwKD3N1bW1hcnlfYXJjaGl2ZRgLIAEoDEgDiAEBEkkKC2ZpbGVfc3RhdGVzGAwgAygLMjQuYWdlbnQudjEuQ29udmVyc2F0aW9uU3RhdGVTdHJ1Y3R1cmUuRmlsZVN0YXRlc0VudHJ5Ek4KDmZpbGVfc3RhdGVzX3YyGA8gAygLMjYuYWdlbnQudjEuQ29udmVyc2F0aW9uU3RhdGVTdHJ1Y3R1cmUuRmlsZVN0YXRlc1YyRW50cnkSGAoQc3VtbWFyeV9hcmNoaXZlcxgNIAMoDBIqCgx0dXJuX3RpbWluZ3MYDiADKAsyFC5hZ2VudC52MS5TdGVwVGltaW5nElEKD3N1YmFnZW50X3N0YXRlcxgQIAMoCzI4LmFnZW50LnYxLkNvbnZlcnNhdGlvblN0YXRlU3RydWN0dXJlLlN1YmFnZW50U3RhdGVzRW50cnkSGgoSc2VsZl9zdW1tYXJ5X2NvdW50GBEgASgNEhIKCnJlYWRfcGF0aHMYEiADKAkaMQoPRmlsZVN0YXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoDDoCOAEaUQoRRmlsZVN0YXRlc1YyRW50cnkSCwoDa2V5GAEgASgJEisKBXZhbHVlGAIgASgLMhwuYWdlbnQudjEuRmlsZVN0YXRlU3RydWN0dXJlOgI4ARpXChNTdWJhZ2VudFN0YXRlc0VudHJ5EgsKA2tleRgBIAEoCRIvCgV2YWx1ZRgCIAEoCzIgLmFnZW50LnYxLlN1YmFnZW50UGVyc2lzdGVkU3RhdGU6AjgBQgoKCF9zdW1tYXJ5QgcKBV9wbGFuQgcKBV9tb2RlQhIKEF9zdW1tYXJ5X2FyY2hpdmUiEQoPVGhpbmtpbmdEZXRhaWxzIkgKEUFwaUtleUNyZWRlbnRpYWxzEg8KB2FwaV9rZXkYASABKAkSFQoIYmFzZV91cmwYAiABKAlIAIgBAUILCglfYmFzZV91cmwiSQoQQXp1cmVDcmVkZW50aWFscxIPCgdhcGlfa2V5GAEgASgJEhAKCGJhc2VfdXJsGAIgASgJEhIKCmRlcGxveW1lbnQYAyABKAkiegoSQmVkcm9ja0NyZWRlbnRpYWxzEhIKCmFjY2Vzc19rZXkYASABKAkSEgoKc2VjcmV0X2tleRgCIAEoCRIOCgZyZWdpb24YAyABKAkSGgoNc2Vzc2lvbl90b2tlbhgEIAEoCUgAiAEBQhAKDl9zZXNzaW9uX3Rva2VuIrEDCgxNb2RlbERldGFpbHMSEAoIbW9kZWxfaWQYASABKAkSGAoQZGlzcGxheV9tb2RlbF9pZBgDIAEoCRIUCgxkaXNwbGF5X25hbWUYBCABKAkSGgoSZGlzcGxheV9uYW1lX3Nob3J0GAUgASgJEg8KB2FsaWFzZXMYBiADKAkSOAoQdGhpbmtpbmdfZGV0YWlscxgCIAEoCzIZLmFnZW50LnYxLlRoaW5raW5nRGV0YWlsc0gBiAEBEhUKCG1heF9tb2RlGAcgASgISAKIAQESOgoTYXBpX2tleV9jcmVkZW50aWFscxgIIAEoCzIbLmFnZW50LnYxLkFwaUtleUNyZWRlbnRpYWxzSAASNwoRYXp1cmVfY3JlZGVudGlhbHMYCSABKAsyGi5hZ2VudC52MS5BenVyZUNyZWRlbnRpYWxzSAASOwoTYmVkcm9ja19jcmVkZW50aWFscxgKIAEoCzIcLmFnZW50LnYxLkJlZHJvY2tDcmVkZW50aWFsc0gAQg0KC2NyZWRlbnRpYWxzQhMKEV90aGlua2luZ19kZXRhaWxzQgsKCV9tYXhfbW9kZSK3AgoOUmVxdWVzdGVkTW9kZWwSEAoIbW9kZWxfaWQYASABKAkSEAoIbWF4X21vZGUYAiABKAgSQAoKcGFyYW1ldGVycxgDIAMoCzIsLmFnZW50LnYxLlJlcXVlc3RlZE1vZGVsX01vZGVsUGFyYW1ldGVyYnl0ZXMSOgoTYXBpX2tleV9jcmVkZW50aWFscxgEIAEoCzIbLmFnZW50LnYxLkFwaUtleUNyZWRlbnRpYWxzSAASNwoRYXp1cmVfY3JlZGVudGlhbHMYBSABKAsyGi5hZ2VudC52MS5BenVyZUNyZWRlbnRpYWxzSAASOwoTYmVkcm9ja19jcmVkZW50aWFscxgGIAEoCzIcLmFnZW50LnYxLkJlZHJvY2tDcmVkZW50aWFsc0gAQg0KC2NyZWRlbnRpYWxzIj8KIlJlcXVlc3RlZE1vZGVsX01vZGVsUGFyYW1ldGVyYnl0ZXMSCgoCaWQYASABKAkSDQoFdmFsdWUYAiABKAkiuQQKD0FnZW50UnVuUmVxdWVzdBJAChJjb252ZXJzYXRpb25fc3RhdGUYASABKAsyJC5hZ2VudC52MS5Db252ZXJzYXRpb25TdGF0ZVN0cnVjdHVyZRIsCgZhY3Rpb24YAiABKAsyHC5hZ2VudC52MS5Db252ZXJzYXRpb25BY3Rpb24SLQoNbW9kZWxfZGV0YWlscxgDIAEoCzIWLmFnZW50LnYxLk1vZGVsRGV0YWlscxI2Cg9yZXF1ZXN0ZWRfbW9kZWwYCSABKAsyGC5hZ2VudC52MS5SZXF1ZXN0ZWRNb2RlbEgAiAEBEiUKCW1jcF90b29scxgEIAEoCzISLmFnZW50LnYxLk1jcFRvb2xzEhwKD2NvbnZlcnNhdGlvbl9pZBgFIAEoCUgBiAEBEkQKF21jcF9maWxlX3N5c3RlbV9vcHRpb25zGAYgASgLMh4uYWdlbnQudjEuTWNwRmlsZVN5c3RlbU9wdGlvbnNIAogBARIyCg1za2lsbF9vcHRpb25zGAcgASgLMhYuYWdlbnQudjEuU2tpbGxPcHRpb25zSAOIAQESIQoUY3VzdG9tX3N5c3RlbV9wcm9tcHQYCCABKAlIBIgBAUISChBfcmVxdWVzdGVkX21vZGVsQhIKEF9jb252ZXJzYXRpb25faWRCGgoYX21jcF9maWxlX3N5c3RlbV9vcHRpb25zQhAKDl9za2lsbF9vcHRpb25zQhcKFV9jdXN0b21fc3lzdGVtX3Byb21wdCIfCg9UZXh0RGVsdGFVcGRhdGUSDAoEdGV4dBgBIAEoCSJmChVUb29sQ2FsbFN0YXJ0ZWRVcGRhdGUSDwoHY2FsbF9pZBgBIAEoCRIlCgl0b29sX2NhbGwYAiABKAsyEi5hZ2VudC52MS5Ub29sQ2FsbBIVCg1tb2RlbF9jYWxsX2lkGAMgASgJImgKF1Rvb2xDYWxsQ29tcGxldGVkVXBkYXRlEg8KB2NhbGxfaWQYASABKAkSJQoJdG9vbF9jYWxsGAIgASgLMhIuYWdlbnQudjEuVG9vbENhbGwSFQoNbW9kZWxfY2FsbF9pZBgDIAEoCSJvChNUb29sQ2FsbERlbHRhVXBkYXRlEg8KB2NhbGxfaWQYASABKAkSMAoPdG9vbF9jYWxsX2RlbHRhGAIgASgLMhcuYWdlbnQudjEuVG9vbENhbGxEZWx0YRIVCg1tb2RlbF9jYWxsX2lkGAMgASgJIn8KFVBhcnRpYWxUb29sQ2FsbFVwZGF0ZRIPCgdjYWxsX2lkGAEgASgJEiUKCXRvb2xfY2FsbBgCIAEoCzISLmFnZW50LnYxLlRvb2xDYWxsEhcKD2FyZ3NfdGV4dF9kZWx0YRgDIAEoCRIVCg1tb2RlbF9jYWxsX2lkGAQgASgJIiMKE1RoaW5raW5nRGVsdGFVcGRhdGUSDAoEdGV4dBgBIAEoCSI3ChdUaGlua2luZ0NvbXBsZXRlZFVwZGF0ZRIcChR0aGlua2luZ19kdXJhdGlvbl9tcxgBIAEoBSIiChBUb2tlbkRlbHRhVXBkYXRlEg4KBnRva2VucxgBIAEoBSIgCg1TdW1tYXJ5VXBkYXRlEg8KB3N1bW1hcnkYASABKAkiFgoUU3VtbWFyeVN0YXJ0ZWRVcGRhdGUiEQoPSGVhcnRiZWF0VXBkYXRlIhgKFlN1bW1hcnlDb21wbGV0ZWRVcGRhdGUi1wEKFlNoZWxsT3V0cHV0RGVsdGFVcGRhdGUSLQoGc3Rkb3V0GAEgASgLMhsuYWdlbnQudjEuU2hlbGxTdHJlYW1TdGRvdXRIABItCgZzdGRlcnIYAiABKAsyGy5hZ2VudC52MS5TaGVsbFN0cmVhbVN0ZGVyckgAEikKBGV4aXQYAyABKAsyGS5hZ2VudC52MS5TaGVsbFN0cmVhbUV4aXRIABIrCgVzdGFydBgEIAEoCzIaLmFnZW50LnYxLlNoZWxsU3RyZWFtU3RhcnRIAEIHCgVldmVudCKNAgoPVHVybkVuZGVkVXBkYXRlEhkKDGlucHV0X3Rva2VucxgBIAEoA0gAiAEBEhoKDW91dHB1dF90b2tlbnMYAiABKANIAYgBARIeChFjYWNoZV9yZWFkX3Rva2VucxgDIAEoA0gCiAEBEh8KEmNhY2hlX3dyaXRlX3Rva2VucxgEIAEoA0gDiAEBEh0KEHJlYXNvbmluZ190b2tlbnMYBSABKANIBIgBAUIPCg1faW5wdXRfdG9rZW5zQhAKDl9vdXRwdXRfdG9rZW5zQhQKEl9jYWNoZV9yZWFkX3Rva2Vuc0IVChNfY2FjaGVfd3JpdGVfdG9rZW5zQhMKEV9yZWFzb25pbmdfdG9rZW5zIkgKGVVzZXJNZXNzYWdlQXBwZW5kZWRVcGRhdGUSKwoMdXNlcl9tZXNzYWdlGAEgASgLMhUuYWdlbnQudjEuVXNlck1lc3NhZ2UiJAoRU3RlcFN0YXJ0ZWRVcGRhdGUSDwoHc3RlcF9pZBgBIAEoBCJAChNTdGVwQ29tcGxldGVkVXBkYXRlEg8KB3N0ZXBfaWQYASABKAQSGAoQc3RlcF9kdXJhdGlvbl9tcxgCIAEoAyLvBwoRSW50ZXJhY3Rpb25VcGRhdGUSLwoKdGV4dF9kZWx0YRgBIAEoCzIZLmFnZW50LnYxLlRleHREZWx0YVVwZGF0ZUgAEjwKEXBhcnRpYWxfdG9vbF9jYWxsGAcgASgLMh8uYWdlbnQudjEuUGFydGlhbFRvb2xDYWxsVXBkYXRlSAASOAoPdG9vbF9jYWxsX2RlbHRhGA8gASgLMh0uYWdlbnQudjEuVG9vbENhbGxEZWx0YVVwZGF0ZUgAEjwKEXRvb2xfY2FsbF9zdGFydGVkGAIgASgLMh8uYWdlbnQudjEuVG9vbENhbGxTdGFydGVkVXBkYXRlSAASQAoTdG9vbF9jYWxsX2NvbXBsZXRlZBgDIAEoCzIhLmFnZW50LnYxLlRvb2xDYWxsQ29tcGxldGVkVXBkYXRlSAASNwoOdGhpbmtpbmdfZGVsdGEYBCABKAsyHS5hZ2VudC52MS5UaGlua2luZ0RlbHRhVXBkYXRlSAASPwoSdGhpbmtpbmdfY29tcGxldGVkGAUgASgLMiEuYWdlbnQudjEuVGhpbmtpbmdDb21wbGV0ZWRVcGRhdGVIABJEChV1c2VyX21lc3NhZ2VfYXBwZW5kZWQYBiABKAsyIy5hZ2VudC52MS5Vc2VyTWVzc2FnZUFwcGVuZGVkVXBkYXRlSAASMQoLdG9rZW5fZGVsdGEYCCABKAsyGi5hZ2VudC52MS5Ub2tlbkRlbHRhVXBkYXRlSAASKgoHc3VtbWFyeRgJIAEoCzIXLmFnZW50LnYxLlN1bW1hcnlVcGRhdGVIABI5Cg9zdW1tYXJ5X3N0YXJ0ZWQYCiABKAsyHi5hZ2VudC52MS5TdW1tYXJ5U3RhcnRlZFVwZGF0ZUgAEj0KEXN1bW1hcnlfY29tcGxldGVkGAsgASgLMiAuYWdlbnQudjEuU3VtbWFyeUNvbXBsZXRlZFVwZGF0ZUgAEj4KEnNoZWxsX291dHB1dF9kZWx0YRgMIAEoCzIgLmFnZW50LnYxLlNoZWxsT3V0cHV0RGVsdGFVcGRhdGVIABIuCgloZWFydGJlYXQYDSABKAsyGS5hZ2VudC52MS5IZWFydGJlYXRVcGRhdGVIABIvCgp0dXJuX2VuZGVkGA4gASgLMhkuYWdlbnQudjEuVHVybkVuZGVkVXBkYXRlSAASMwoMc3RlcF9zdGFydGVkGBAgASgLMhsuYWdlbnQudjEuU3RlcFN0YXJ0ZWRVcGRhdGVIABI3Cg5zdGVwX2NvbXBsZXRlZBgRIAEoCzIdLmFnZW50LnYxLlN0ZXBDb21wbGV0ZWRVcGRhdGVIAEIJCgdtZXNzYWdlIpoEChBJbnRlcmFjdGlvblF1ZXJ5EgoKAmlkGAEgASgNEkMKGHdlYl9zZWFyY2hfcmVxdWVzdF9xdWVyeRgCIAEoCzIfLmFnZW50LnYxLldlYlNlYXJjaFJlcXVlc3RRdWVyeUgAEk8KHmFza19xdWVzdGlvbl9pbnRlcmFjdGlvbl9xdWVyeRgDIAEoCzIlLmFnZW50LnYxLkFza1F1ZXN0aW9uSW50ZXJhY3Rpb25RdWVyeUgAEkUKGXN3aXRjaF9tb2RlX3JlcXVlc3RfcXVlcnkYBCABKAsyIC5hZ2VudC52MS5Td2l0Y2hNb2RlUmVxdWVzdFF1ZXJ5SAASQwoYZXhhX3NlYXJjaF9yZXF1ZXN0X3F1ZXJ5GAUgASgLMh8uYWdlbnQudjEuRXhhU2VhcmNoUmVxdWVzdFF1ZXJ5SAASQQoXZXhhX2ZldGNoX3JlcXVlc3RfcXVlcnkYBiABKAsyHi5hZ2VudC52MS5FeGFGZXRjaFJlcXVlc3RRdWVyeUgAEkUKGWNyZWF0ZV9wbGFuX3JlcXVlc3RfcXVlcnkYByABKAsyIC5hZ2VudC52MS5DcmVhdGVQbGFuUmVxdWVzdFF1ZXJ5SAASRQoZc2V0dXBfdm1fZW52aXJvbm1lbnRfYXJncxgIIAEoCzIgLmFnZW50LnYxLlNldHVwVm1FbnZpcm9ubWVudEFyZ3NIAEIHCgVxdWVyeSLGBAoTSW50ZXJhY3Rpb25SZXNwb25zZRIKCgJpZBgBIAEoDRJJCht3ZWJfc2VhcmNoX3JlcXVlc3RfcmVzcG9uc2UYAiABKAsyIi5hZ2VudC52MS5XZWJTZWFyY2hSZXF1ZXN0UmVzcG9uc2VIABJVCiFhc2tfcXVlc3Rpb25faW50ZXJhY3Rpb25fcmVzcG9uc2UYAyABKAsyKC5hZ2VudC52MS5Bc2tRdWVzdGlvbkludGVyYWN0aW9uUmVzcG9uc2VIABJLChxzd2l0Y2hfbW9kZV9yZXF1ZXN0X3Jlc3BvbnNlGAQgASgLMiMuYWdlbnQudjEuU3dpdGNoTW9kZVJlcXVlc3RSZXNwb25zZUgAEkkKG2V4YV9zZWFyY2hfcmVxdWVzdF9yZXNwb25zZRgFIAEoCzIiLmFnZW50LnYxLkV4YVNlYXJjaFJlcXVlc3RSZXNwb25zZUgAEkcKGmV4YV9mZXRjaF9yZXF1ZXN0X3Jlc3BvbnNlGAYgASgLMiEuYWdlbnQudjEuRXhhRmV0Y2hSZXF1ZXN0UmVzcG9uc2VIABJLChxjcmVhdGVfcGxhbl9yZXF1ZXN0X3Jlc3BvbnNlGAcgASgLMiMuYWdlbnQudjEuQ3JlYXRlUGxhblJlcXVlc3RSZXNwb25zZUgAEkkKG3NldHVwX3ZtX2Vudmlyb25tZW50X3Jlc3VsdBgIIAEoCzIiLmFnZW50LnYxLlNldHVwVm1FbnZpcm9ubWVudFJlc3VsdEgAQggKBnJlc3VsdCJcChtBc2tRdWVzdGlvbkludGVyYWN0aW9uUXVlcnkSJwoEYXJncxgBIAEoCzIZLmFnZW50LnYxLkFza1F1ZXN0aW9uQXJncxIUCgx0b29sX2NhbGxfaWQYAiABKAkiTQoeQXNrUXVlc3Rpb25JbnRlcmFjdGlvblJlc3BvbnNlEisKBnJlc3VsdBgBIAEoCzIbLmFnZW50LnYxLkFza1F1ZXN0aW9uUmVzdWx0IhEKD0NsaWVudEhlYXJ0YmVhdCLGBAoOUHJld2FybVJlcXVlc3QSLQoNbW9kZWxfZGV0YWlscxgBIAEoCzIWLmFnZW50LnYxLk1vZGVsRGV0YWlscxI2Cg9yZXF1ZXN0ZWRfbW9kZWwYCSABKAsyGC5hZ2VudC52MS5SZXF1ZXN0ZWRNb2RlbEgAiAEBEhwKD2NvbnZlcnNhdGlvbl9pZBgCIAEoCUgBiAEBEkAKEmNvbnZlcnNhdGlvbl9zdGF0ZRgDIAEoCzIkLmFnZW50LnYxLkNvbnZlcnNhdGlvblN0YXRlU3RydWN0dXJlEiUKCW1jcF90b29scxgEIAEoCzISLmFnZW50LnYxLk1jcFRvb2xzEkQKF21jcF9maWxlX3N5c3RlbV9vcHRpb25zGAUgASgLMh4uYWdlbnQudjEuTWNwRmlsZVN5c3RlbU9wdGlvbnNIAogBARIfChJiZXN0X29mX25fZ3JvdXBfaWQYBiABKAlIA4gBARIoCht0cnlfdXNlX2Jlc3Rfb2Zfbl9wcm9tb3Rpb24YByABKAhIBIgBARIhChRjdXN0b21fc3lzdGVtX3Byb21wdBgIIAEoCUgFiAEBQhIKEF9yZXF1ZXN0ZWRfbW9kZWxCEgoQX2NvbnZlcnNhdGlvbl9pZEIaChhfbWNwX2ZpbGVfc3lzdGVtX29wdGlvbnNCFQoTX2Jlc3Rfb2Zfbl9ncm91cF9pZEIeChxfdHJ5X3VzZV9iZXN0X29mX25fcHJvbW90aW9uQhcKFV9jdXN0b21fc3lzdGVtX3Byb21wdCIdCg9FeGVjU2VydmVyQWJvcnQSCgoCaWQYASABKA0iUQoYRXhlY1NlcnZlckNvbnRyb2xNZXNzYWdlEioKBWFib3J0GAEgASgLMhkuYWdlbnQudjEuRXhlY1NlcnZlckFib3J0SABCCQoHbWVzc2FnZSL4AwoSQWdlbnRDbGllbnRNZXNzYWdlEjAKC3J1bl9yZXF1ZXN0GAEgASgLMhkuYWdlbnQudjEuQWdlbnRSdW5SZXF1ZXN0SAASOgoTZXhlY19jbGllbnRfbWVzc2FnZRgCIAEoCzIbLmFnZW50LnYxLkV4ZWNDbGllbnRNZXNzYWdlSAASSQobZXhlY19jbGllbnRfY29udHJvbF9tZXNzYWdlGAUgASgLMiIuYWdlbnQudjEuRXhlY0NsaWVudENvbnRyb2xNZXNzYWdlSAASNgoRa3ZfY2xpZW50X21lc3NhZ2UYAyABKAsyGS5hZ2VudC52MS5LdkNsaWVudE1lc3NhZ2VIABI7ChNjb252ZXJzYXRpb25fYWN0aW9uGAQgASgLMhwuYWdlbnQudjEuQ29udmVyc2F0aW9uQWN0aW9uSAASPQoUaW50ZXJhY3Rpb25fcmVzcG9uc2UYBiABKAsyHS5hZ2VudC52MS5JbnRlcmFjdGlvblJlc3BvbnNlSAASNQoQY2xpZW50X2hlYXJ0YmVhdBgHIAEoCzIZLmFnZW50LnYxLkNsaWVudEhlYXJ0YmVhdEgAEjMKD3ByZXdhcm1fcmVxdWVzdBgIIAEoCzIYLmFnZW50LnYxLlByZXdhcm1SZXF1ZXN0SABCCQoHbWVzc2FnZSKiAwoSQWdlbnRTZXJ2ZXJNZXNzYWdlEjkKEmludGVyYWN0aW9uX3VwZGF0ZRgBIAEoCzIbLmFnZW50LnYxLkludGVyYWN0aW9uVXBkYXRlSAASOgoTZXhlY19zZXJ2ZXJfbWVzc2FnZRgCIAEoCzIbLmFnZW50LnYxLkV4ZWNTZXJ2ZXJNZXNzYWdlSAASSQobZXhlY19zZXJ2ZXJfY29udHJvbF9tZXNzYWdlGAUgASgLMiIuYWdlbnQudjEuRXhlY1NlcnZlckNvbnRyb2xNZXNzYWdlSAASTgoeY29udmVyc2F0aW9uX2NoZWNrcG9pbnRfdXBkYXRlGAMgASgLMiQuYWdlbnQudjEuQ29udmVyc2F0aW9uU3RhdGVTdHJ1Y3R1cmVIABI2ChFrdl9zZXJ2ZXJfbWVzc2FnZRgEIAEoCzIZLmFnZW50LnYxLkt2U2VydmVyTWVzc2FnZUgAEjcKEWludGVyYWN0aW9uX3F1ZXJ5GAcgASgLMhouYWdlbnQudjEuSW50ZXJhY3Rpb25RdWVyeUgAQgkKB21lc3NhZ2UiKAoQTmFtZUFnZW50UmVxdWVzdBIUCgx1c2VyX21lc3NhZ2UYASABKAkiIQoRTmFtZUFnZW50UmVzcG9uc2USDAoEbmFtZRgBIAEoCSIyChZHZXRVc2FibGVNb2RlbHNSZXF1ZXN0EhgKEGN1c3RvbV9tb2RlbF9pZHMYASADKAkiQQoXR2V0VXNhYmxlTW9kZWxzUmVzcG9uc2USJgoGbW9kZWxzGAEgAygLMhYuYWdlbnQudjEuTW9kZWxEZXRhaWxzIh4KHEdldERlZmF1bHRNb2RlbEZvckNsaVJlcXVlc3QiRgodR2V0RGVmYXVsdE1vZGVsRm9yQ2xpUmVzcG9uc2USJQoFbW9kZWwYASABKAsyFi5hZ2VudC52MS5Nb2RlbERldGFpbHMiHwodR2V0QWxsb3dlZE1vZGVsSW50ZW50c1JlcXVlc3QiNwoeR2V0QWxsb3dlZE1vZGVsSW50ZW50c1Jlc3BvbnNlEhUKDW1vZGVsX2ludGVudHMYASADKAkilwIKE0lkZUVkaXRvcnNTdGF0ZUZpbGUSFQoNcmVsYXRpdmVfcGF0aBgBIAEoCRIVCg1hYnNvbHV0ZV9wYXRoGAIgASgJEiEKFGlzX2N1cnJlbnRseV9mb2N1c2VkGAMgASgISACIAQESIAoTY3VycmVudF9saW5lX251bWJlchgEIAEoBUgBiAEBEh4KEWN1cnJlbnRfbGluZV90ZXh0GAUgASgJSAKIAQESFwoKbGluZV9jb3VudBgGIAEoBUgDiAEBQhcKFV9pc19jdXJyZW50bHlfZm9jdXNlZEIWChRfY3VycmVudF9saW5lX251bWJlckIUChJfY3VycmVudF9saW5lX3RleHRCDQoLX2xpbmVfY291bnQiUwoTSWRlRWRpdG9yc1N0YXRlTGl0ZRI8ChVyZWNlbnRseV92aWV3ZWRfZmlsZXMYASADKAsyHS5hZ2VudC52MS5JZGVFZGl0b3JzU3RhdGVGaWxlInQKFkFwcGx5QWdlbnREaWZmVG9vbENhbGwSKgoEYXJncxgBIAEoCzIcLmFnZW50LnYxLkFwcGx5QWdlbnREaWZmQXJncxIuCgZyZXN1bHQYAiABKAsyHi5hZ2VudC52MS5BcHBseUFnZW50RGlmZlJlc3VsdCImChJBcHBseUFnZW50RGlmZkFyZ3MSEAoIYWdlbnRfaWQYASABKAkihAEKFEFwcGx5QWdlbnREaWZmUmVzdWx0EjIKB3N1Y2Nlc3MYASABKAsyHy5hZ2VudC52MS5BcHBseUFnZW50RGlmZlN1Y2Nlc3NIABIuCgVlcnJvchgCIAEoCzIdLmFnZW50LnYxLkFwcGx5QWdlbnREaWZmRXJyb3JIAEIICgZyZXN1bHQiTgoVQXBwbHlBZ2VudERpZmZTdWNjZXNzEjUKD2FwcGxpZWRfY2hhbmdlcxgBIAMoCzIcLmFnZW50LnYxLkFwcGxpZWRBZ2VudENoYW5nZSLpAQoSQXBwbGllZEFnZW50Q2hhbmdlEgwKBHBhdGgYASABKAkSEwoLY2hhbmdlX3R5cGUYAiABKAUSGwoOYmVmb3JlX2NvbnRlbnQYAyABKAlIAIgBARIaCg1hZnRlcl9jb250ZW50GAQgASgJSAGIAQESEgoFZXJyb3IYBSABKAlIAogBARIeChFtZXNzYWdlX2Zvcl9tb2RlbBgGIAEoCUgDiAEBQhEKD19iZWZvcmVfY29udGVudEIQCg5fYWZ0ZXJfY29udGVudEIICgZfZXJyb3JCFAoSX21lc3NhZ2VfZm9yX21vZGVsIlsKE0FwcGx5QWdlbnREaWZmRXJyb3ISDQoFZXJyb3IYASABKAkSNQoPYXBwbGllZF9jaGFuZ2VzGAIgAygLMhwuYWdlbnQudjEuQXBwbGllZEFnZW50Q2hhbmdlImsKE0Fza1F1ZXN0aW9uVG9vbENhbGwSJwoEYXJncxgBIAEoCzIZLmFnZW50LnYxLkFza1F1ZXN0aW9uQXJncxIrCgZyZXN1bHQYAiABKAsyGy5hZ2VudC52MS5Bc2tRdWVzdGlvblJlc3VsdCKPAQoPQXNrUXVlc3Rpb25BcmdzEg0KBXRpdGxlGAEgASgJEjUKCXF1ZXN0aW9ucxgCIAMoCzIiLmFnZW50LnYxLkFza1F1ZXN0aW9uQXJnc19RdWVzdGlvbhIRCglydW5fYXN5bmMYBSABKAgSIwobYXN5bmNfb3JpZ2luYWxfdG9vbF9jYWxsX2lkGAYgASgJIoEBChhBc2tRdWVzdGlvbkFyZ3NfUXVlc3Rpb24SCgoCaWQYASABKAkSDgoGcHJvbXB0GAIgASgJEjEKB29wdGlvbnMYAyADKAsyIC5hZ2VudC52MS5Bc2tRdWVzdGlvbkFyZ3NfT3B0aW9uEhYKDmFsbG93X211bHRpcGxlGAQgASgIIjMKFkFza1F1ZXN0aW9uQXJnc19PcHRpb24SCgoCaWQYASABKAkSDQoFbGFiZWwYAiABKAkiEgoQQXNrUXVlc3Rpb25Bc3luYyLbAQoRQXNrUXVlc3Rpb25SZXN1bHQSLwoHc3VjY2VzcxgBIAEoCzIcLmFnZW50LnYxLkFza1F1ZXN0aW9uU3VjY2Vzc0gAEisKBWVycm9yGAIgASgLMhouYWdlbnQudjEuQXNrUXVlc3Rpb25FcnJvckgAEjEKCHJlamVjdGVkGAMgASgLMh0uYWdlbnQudjEuQXNrUXVlc3Rpb25SZWplY3RlZEgAEisKBWFzeW5jGAQgASgLMhouYWdlbnQudjEuQXNrUXVlc3Rpb25Bc3luY0gAQggKBnJlc3VsdCJKChJBc2tRdWVzdGlvblN1Y2Nlc3MSNAoHYW5zd2VycxgBIAMoCzIjLmFnZW50LnYxLkFza1F1ZXN0aW9uU3VjY2Vzc19BbnN3ZXIiTQoZQXNrUXVlc3Rpb25TdWNjZXNzX0Fuc3dlchITCgtxdWVzdGlvbl9pZBgBIAEoCRIbChNzZWxlY3RlZF9vcHRpb25faWRzGAIgAygJIikKEEFza1F1ZXN0aW9uRXJyb3ISFQoNZXJyb3JfbWVzc2FnZRgBIAEoCSIlChNBc2tRdWVzdGlvblJlamVjdGVkEg4KBnJlYXNvbhgBIAEoCSL9BQoYQmFja2dyb3VuZFNoZWxsU3Bhd25BcmdzEg8KB2NvbW1hbmQYASABKAkSGQoRd29ya2luZ19kaXJlY3RvcnkYAiABKAkSFAoMdG9vbF9jYWxsX2lkGAMgASgJEjsKDnBhcnNpbmdfcmVzdWx0GAQgASgLMiMuYWdlbnQudjEuU2hlbGxDb21tYW5kUGFyc2luZ1Jlc3VsdBI0Cg5zYW5kYm94X3BvbGljeRgFIAEoCzIXLmFnZW50LnYxLlNhbmRib3hQb2xpY3lIAIgBARIlCh1lbmFibGVfd3JpdGVfc2hlbGxfc3RkaW5fdG9vbBgGIAEoCBIYCgtkZXNjcmlwdGlvbhgHIAEoCUgBiAEBEkEKEWNsYXNzaWZpZXJfcmVzdWx0GAggASgLMiEuYWdlbnQudjEuQ29tbWFuZENsYXNzaWZpZXJSZXN1bHRIAogBARJJChNvdXRwdXRfbm90aWZpY2F0aW9uGAkgASgLMicuYWdlbnQudjEuU2hlbGxPdXRwdXROb3RpZmljYXRpb25Db25maWdIA4gBARI9ChNzbWFydF9tb2RlX2FwcHJvdmFsGAogASgLMhsuYWdlbnQudjEuU21hcnRNb2RlQXBwcm92YWxIBIgBARJOChlob29rX2FwcHJvdmFsX3JlcXVpcmVtZW50GAsgASgLMiYuYWdlbnQudjEuU2hlbGxIb29rQXBwcm92YWxSZXF1aXJlbWVudEgFiAEBEhUKDXNraXBfYXBwcm92YWwYDCABKAgSHAoPY29udmVyc2F0aW9uX2lkGA0gASgJSAaIAQFCEQoPX3NhbmRib3hfcG9saWN5Qg4KDF9kZXNjcmlwdGlvbkIUChJfY2xhc3NpZmllcl9yZXN1bHRCFgoUX291dHB1dF9ub3RpZmljYXRpb25CFgoUX3NtYXJ0X21vZGVfYXBwcm92YWxCHAoaX2hvb2tfYXBwcm92YWxfcmVxdWlyZW1lbnRCEgoQX2NvbnZlcnNhdGlvbl9pZCKBAgoaQmFja2dyb3VuZFNoZWxsU3Bhd25SZXN1bHQSOAoHc3VjY2VzcxgBIAEoCzIlLmFnZW50LnYxLkJhY2tncm91bmRTaGVsbFNwYXduU3VjY2Vzc0gAEjQKBWVycm9yGAIgASgLMiMuYWdlbnQudjEuQmFja2dyb3VuZFNoZWxsU3Bhd25FcnJvckgAEisKCHJlamVjdGVkGAMgASgLMhcuYWdlbnQudjEuU2hlbGxSZWplY3RlZEgAEjwKEXBlcm1pc3Npb25fZGVuaWVkGAQgASgLMh8uYWdlbnQudjEuU2hlbGxQZXJtaXNzaW9uRGVuaWVkSABCCAoGcmVzdWx0InUKG0JhY2tncm91bmRTaGVsbFNwYXduU3VjY2VzcxIQCghzaGVsbF9pZBgBIAEoDRIPCgdjb21tYW5kGAIgASgJEhkKEXdvcmtpbmdfZGlyZWN0b3J5GAMgASgJEhAKA3BpZBgEIAEoDUgAiAEBQgYKBF9waWQiVgoZQmFja2dyb3VuZFNoZWxsU3Bhd25FcnJvchIPCgdjb21tYW5kGAEgASgJEhkKEXdvcmtpbmdfZGlyZWN0b3J5GAIgASgJEg0KBWVycm9yGAMgASgJIjYKE1dyaXRlU2hlbGxTdGRpbkFyZ3MSEAoIc2hlbGxfaWQYASABKA0SDQoFY2hhcnMYAiABKAkihwEKFVdyaXRlU2hlbGxTdGRpblJlc3VsdBIzCgdzdWNjZXNzGAEgASgLMiAuYWdlbnQudjEuV3JpdGVTaGVsbFN0ZGluU3VjY2Vzc0gAEi8KBWVycm9yGAIgASgLMh4uYWdlbnQudjEuV3JpdGVTaGVsbFN0ZGluRXJyb3JIAEIICgZyZXN1bHQiXQoWV3JpdGVTaGVsbFN0ZGluU3VjY2VzcxIQCghzaGVsbF9pZBgBIAEoDRIxCil0ZXJtaW5hbF9maWxlX2xlbmd0aF9iZWZvcmVfaW5wdXRfd3JpdHRlbhgCIAEoDSIlChRXcml0ZVNoZWxsU3RkaW5FcnJvchINCgVlcnJvchgBIAEoCSIiCgpDb29yZGluYXRlEgkKAXgYASABKAUSCQoBeRgCIAEoBSJVCg9Db21wdXRlclVzZUFyZ3MSFAoMdG9vbF9jYWxsX2lkGAEgASgJEiwKB2FjdGlvbnMYAiADKAsyGy5hZ2VudC52MS5Db21wdXRlclVzZUFjdGlvbiKBBAoRQ29tcHV0ZXJVc2VBY3Rpb24SLwoKbW91c2VfbW92ZRgBIAEoCzIZLmFnZW50LnYxLk1vdXNlTW92ZUFjdGlvbkgAEiYKBWNsaWNrGAIgASgLMhUuYWdlbnQudjEuQ2xpY2tBY3Rpb25IABIvCgptb3VzZV9kb3duGAMgASgLMhkuYWdlbnQudjEuTW91c2VEb3duQWN0aW9uSAASKwoIbW91c2VfdXAYBCABKAsyFy5hZ2VudC52MS5Nb3VzZVVwQWN0aW9uSAASJAoEZHJhZxgFIAEoCzIULmFnZW50LnYxLkRyYWdBY3Rpb25IABIoCgZzY3JvbGwYBiABKAsyFi5hZ2VudC52MS5TY3JvbGxBY3Rpb25IABIkCgR0eXBlGAcgASgLMhQuYWdlbnQudjEuVHlwZUFjdGlvbkgAEiIKA2tleRgIIAEoCzITLmFnZW50LnYxLktleUFjdGlvbkgAEiQKBHdhaXQYCSABKAsyFC5hZ2VudC52MS5XYWl0QWN0aW9uSAASMAoKc2NyZWVuc2hvdBgKIAEoCzIaLmFnZW50LnYxLlNjcmVlbnNob3RBY3Rpb25IABI5Cg9jdXJzb3JfcG9zaXRpb24YCyABKAsyHi5hZ2VudC52MS5DdXJzb3JQb3NpdGlvbkFjdGlvbkgAQggKBmFjdGlvbiI7Cg9Nb3VzZU1vdmVBY3Rpb24SKAoKY29vcmRpbmF0ZRgBIAEoCzIULmFnZW50LnYxLkNvb3JkaW5hdGUimAEKC0NsaWNrQWN0aW9uEi0KCmNvb3JkaW5hdGUYASABKAsyFC5hZ2VudC52MS5Db29yZGluYXRlSACIAQESDgoGYnV0dG9uGAIgASgFEg0KBWNvdW50GAMgASgFEhoKDW1vZGlmaWVyX2tleXMYBCABKAlIAYgBAUINCgtfY29vcmRpbmF0ZUIQCg5fbW9kaWZpZXJfa2V5cyIhCg9Nb3VzZURvd25BY3Rpb24SDgoGYnV0dG9uGAEgASgFIh8KDU1vdXNlVXBBY3Rpb24SDgoGYnV0dG9uGAEgASgFIkAKCkRyYWdBY3Rpb24SIgoEcGF0aBgBIAMoCzIULmFnZW50LnYxLkNvb3JkaW5hdGUSDgoGYnV0dG9uGAIgASgFIp0BCgxTY3JvbGxBY3Rpb24SLQoKY29vcmRpbmF0ZRgBIAEoCzIULmFnZW50LnYxLkNvb3JkaW5hdGVIAIgBARIRCglkaXJlY3Rpb24YAiABKAUSDgoGYW1vdW50GAMgASgFEhoKDW1vZGlmaWVyX2tleXMYBCABKAlIAYgBAUINCgtfY29vcmRpbmF0ZUIQCg5fbW9kaWZpZXJfa2V5cyIaCgpUeXBlQWN0aW9uEgwKBHRleHQYASABKAkiTAoJS2V5QWN0aW9uEgsKA2tleRgBIAEoCRIdChBob2xkX2R1cmF0aW9uX21zGAIgASgFSACIAQFCEwoRX2hvbGRfZHVyYXRpb25fbXMiIQoKV2FpdEFjdGlvbhITCgtkdXJhdGlvbl9tcxgBIAEoBSISChBTY3JlZW5zaG90QWN0aW9uIhYKFEN1cnNvclBvc2l0aW9uQWN0aW9uInsKEUNvbXB1dGVyVXNlUmVzdWx0Ei8KB3N1Y2Nlc3MYASABKAsyHC5hZ2VudC52MS5Db21wdXRlclVzZVN1Y2Nlc3NIABIrCgVlcnJvchgCIAEoCzIaLmFnZW50LnYxLkNvbXB1dGVyVXNlRXJyb3JIAEIICgZyZXN1bHQi+wEKEkNvbXB1dGVyVXNlU3VjY2VzcxIUCgxhY3Rpb25fY291bnQYASABKAUSEwoLZHVyYXRpb25fbXMYAiABKAUSFwoKc2NyZWVuc2hvdBgDIAEoCUgAiAEBEhAKA2xvZxgEIAEoCUgBiAEBEhwKD3NjcmVlbnNob3RfcGF0aBgFIAEoCUgCiAEBEjIKD2N1cnNvcl9wb3NpdGlvbhgGIAEoCzIULmFnZW50LnYxLkNvb3JkaW5hdGVIA4gBAUINCgtfc2NyZWVuc2hvdEIGCgRfbG9nQhIKEF9zY3JlZW5zaG90X3BhdGhCEgoQX2N1cnNvcl9wb3NpdGlvbiLAAQoQQ29tcHV0ZXJVc2VFcnJvchINCgVlcnJvchgBIAEoCRIUCgxhY3Rpb25fY291bnQYAiABKAUSEwoLZHVyYXRpb25fbXMYAyABKAUSEAoDbG9nGAQgASgJSACIAQESFwoKc2NyZWVuc2hvdBgFIAEoCUgBiAEBEhwKD3NjcmVlbnNob3RfcGF0aBgGIAEoCUgCiAEBQgYKBF9sb2dCDQoLX3NjcmVlbnNob3RCEgoQX3NjcmVlbnNob3RfcGF0aCJrChNDb21wdXRlclVzZVRvb2xDYWxsEicKBGFyZ3MYASABKAsyGS5hZ2VudC52MS5Db21wdXRlclVzZUFyZ3MSKwoGcmVzdWx0GAIgASgLMhsuYWdlbnQudjEuQ29tcHV0ZXJVc2VSZXN1bHQiaAoSQ3JlYXRlUGxhblRvb2xDYWxsEiYKBGFyZ3MYASABKAsyGC5hZ2VudC52MS5DcmVhdGVQbGFuQXJncxIqCgZyZXN1bHQYAiABKAsyGi5hZ2VudC52MS5DcmVhdGVQbGFuUmVzdWx0IjgKBVBoYXNlEgwKBG5hbWUYASABKAkSIQoFdG9kb3MYAiADKAsyEi5hZ2VudC52MS5Ub2RvSXRlbSKWAQoOQ3JlYXRlUGxhbkFyZ3MSDAoEcGxhbhgBIAEoCRIhCgV0b2RvcxgCIAMoCzISLmFnZW50LnYxLlRvZG9JdGVtEhAKCG92ZXJ2aWV3GAMgASgJEgwKBG5hbWUYBCABKAkSEgoKaXNfcHJvamVjdBgFIAEoCBIfCgZwaGFzZXMYBiADKAsyDy5hZ2VudC52MS5QaGFzZSKKAQoQQ3JlYXRlUGxhblJlc3VsdBIQCghwbGFuX3VyaRgDIAEoCRIuCgdzdWNjZXNzGAEgASgLMhsuYWdlbnQudjEuQ3JlYXRlUGxhblN1Y2Nlc3NIABIqCgVlcnJvchgCIAEoCzIZLmFnZW50LnYxLkNyZWF0ZVBsYW5FcnJvckgAQggKBnJlc3VsdCITChFDcmVhdGVQbGFuU3VjY2VzcyIgCg9DcmVhdGVQbGFuRXJyb3ISDQoFZXJyb3IYASABKAkiVgoWQ3JlYXRlUGxhblJlcXVlc3RRdWVyeRImCgRhcmdzGAEgASgLMhguYWdlbnQudjEuQ3JlYXRlUGxhbkFyZ3MSFAoMdG9vbF9jYWxsX2lkGAIgASgJIkcKGUNyZWF0ZVBsYW5SZXF1ZXN0UmVzcG9uc2USKgoGcmVzdWx0GAEgASgLMhouYWdlbnQudjEuQ3JlYXRlUGxhblJlc3VsdCIWChRDdXJzb3JSdWxlVHlwZUdsb2JhbCIoChdDdXJzb3JSdWxlVHlwZUZpbGVHbG9icxINCgVnbG9icxgBIAMoCSIxChpDdXJzb3JSdWxlVHlwZUFnZW50RmV0Y2hlZBITCgtkZXNjcmlwdGlvbhgBIAEoCSIgCh5DdXJzb3JSdWxlVHlwZU1hbnVhbGx5QXR0YWNoZWQiiwIKDkN1cnNvclJ1bGVUeXBlEjAKBmdsb2JhbBgBIAEoCzIeLmFnZW50LnYxLkN1cnNvclJ1bGVUeXBlR2xvYmFsSAASOQoMZmlsZV9nbG9iYmVkGAIgASgLMiEuYWdlbnQudjEuQ3Vyc29yUnVsZVR5cGVGaWxlR2xvYnNIABI9Cg1hZ2VudF9mZXRjaGVkGAMgASgLMiQuYWdlbnQudjEuQ3Vyc29yUnVsZVR5cGVBZ2VudEZldGNoZWRIABJFChFtYW51YWxseV9hdHRhY2hlZBgEIAEoCzIoLmFnZW50LnYxLkN1cnNvclJ1bGVUeXBlTWFudWFsbHlBdHRhY2hlZEgAQgYKBHR5cGUiyAEKCkN1cnNvclJ1bGUSEQoJZnVsbF9wYXRoGAEgASgJEg8KB2NvbnRlbnQYAiABKAkSJgoEdHlwZRgDIAEoCzIYLmFnZW50LnYxLkN1cnNvclJ1bGVUeXBlEg4KBnNvdXJjZRgEIAEoBRIeChFnaXRfcmVtb3RlX29yaWdpbhgFIAEoCUgAiAEBEhgKC3BhcnNlX2Vycm9yGAYgASgJSAGIAQFCFAoSX2dpdF9yZW1vdGVfb3JpZ2luQg4KDF9wYXJzZV9lcnJvciIwCgpEZWxldGVBcmdzEgwKBHBhdGgYASABKAkSFAoMdG9vbF9jYWxsX2lkGAIgASgJIu0CCgxEZWxldGVSZXN1bHQSKgoHc3VjY2VzcxgBIAEoCzIXLmFnZW50LnYxLkRlbGV0ZVN1Y2Nlc3NIABI2Cg5maWxlX25vdF9mb3VuZBgCIAEoCzIcLmFnZW50LnYxLkRlbGV0ZUZpbGVOb3RGb3VuZEgAEisKCG5vdF9maWxlGAMgASgLMhcuYWdlbnQudjEuRGVsZXRlTm90RmlsZUgAEj0KEXBlcm1pc3Npb25fZGVuaWVkGAQgASgLMiAuYWdlbnQudjEuRGVsZXRlUGVybWlzc2lvbkRlbmllZEgAEi0KCWZpbGVfYnVzeRgFIAEoCzIYLmFnZW50LnYxLkRlbGV0ZUZpbGVCdXN5SAASLAoIcmVqZWN0ZWQYBiABKAsyGC5hZ2VudC52MS5EZWxldGVSZWplY3RlZEgAEiYKBWVycm9yGAcgASgLMhUuYWdlbnQudjEuRGVsZXRlRXJyb3JIAEIICgZyZXN1bHQiXAoNRGVsZXRlU3VjY2VzcxIMCgRwYXRoGAEgASgJEhQKDGRlbGV0ZWRfZmlsZRgCIAEoCRIRCglmaWxlX3NpemUYAyABKAMSFAoMcHJldl9jb250ZW50GAQgASgJIiIKEkRlbGV0ZUZpbGVOb3RGb3VuZBIMCgRwYXRoGAEgASgJIjIKDURlbGV0ZU5vdEZpbGUSDAoEcGF0aBgBIAEoCRITCgthY3R1YWxfdHlwZRgCIAEoCSJZChZEZWxldGVQZXJtaXNzaW9uRGVuaWVkEgwKBHBhdGgYASABKAkSHAoUY2xpZW50X3Zpc2libGVfZXJyb3IYAiABKAkSEwoLaXNfcmVhZG9ubHkYAyABKAgiHgoORGVsZXRlRmlsZUJ1c3kSDAoEcGF0aBgBIAEoCSIuCg5EZWxldGVSZWplY3RlZBIMCgRwYXRoGAEgASgJEg4KBnJlYXNvbhgCIAEoCSIqCgtEZWxldGVFcnJvchIMCgRwYXRoGAEgASgJEg0KBWVycm9yGAIgASgJIlwKDkRlbGV0ZVRvb2xDYWxsEiIKBGFyZ3MYASABKAsyFC5hZ2VudC52MS5EZWxldGVBcmdzEiYKBnJlc3VsdBgCIAEoCzIWLmFnZW50LnYxLkRlbGV0ZVJlc3VsdCI1Cg9EaWFnbm9zdGljc0FyZ3MSDAoEcGF0aBgBIAEoCRIUCgx0b29sX2NhbGxfaWQYAiABKAkirwIKEURpYWdub3N0aWNzUmVzdWx0Ei8KB3N1Y2Nlc3MYASABKAsyHC5hZ2VudC52MS5EaWFnbm9zdGljc1N1Y2Nlc3NIABIrCgVlcnJvchgCIAEoCzIaLmFnZW50LnYxLkRpYWdub3N0aWNzRXJyb3JIABIxCghyZWplY3RlZBgDIAEoCzIdLmFnZW50LnYxLkRpYWdub3N0aWNzUmVqZWN0ZWRIABI7Cg5maWxlX25vdF9mb3VuZBgEIAEoCzIhLmFnZW50LnYxLkRpYWdub3N0aWNzRmlsZU5vdEZvdW5kSAASQgoRcGVybWlzc2lvbl9kZW5pZWQYBSABKAsyJS5hZ2VudC52MS5EaWFnbm9zdGljc1Blcm1pc3Npb25EZW5pZWRIAEIICgZyZXN1bHQiaAoSRGlhZ25vc3RpY3NTdWNjZXNzEgwKBHBhdGgYASABKAkSKQoLZGlhZ25vc3RpY3MYAiADKAsyFC5hZ2VudC52MS5EaWFnbm9zdGljEhkKEXRvdGFsX2RpYWdub3N0aWNzGAMgASgFIn8KCkRpYWdub3N0aWMSEAoIc2V2ZXJpdHkYASABKAUSHgoFcmFuZ2UYAiABKAsyDy5hZ2VudC52MS5SYW5nZRIPCgdtZXNzYWdlGAMgASgJEg4KBnNvdXJjZRgEIAEoCRIMCgRjb2RlGAUgASgJEhAKCGlzX3N0YWxlGAYgASgIIi8KEERpYWdub3N0aWNzRXJyb3ISDAoEcGF0aBgBIAEoCRINCgVlcnJvchgCIAEoCSIzChNEaWFnbm9zdGljc1JlamVjdGVkEgwKBHBhdGgYASABKAkSDgoGcmVhc29uGAIgASgJIicKF0RpYWdub3N0aWNzRmlsZU5vdEZvdW5kEgwKBHBhdGgYASABKAkiKwobRGlhZ25vc3RpY3NQZXJtaXNzaW9uRGVuaWVkEgwKBHBhdGgYASABKAkiSAoIRWRpdEFyZ3MSDAoEcGF0aBgBIAEoCRIbCg5zdHJlYW1fY29udGVudBgGIAEoCUgAiAEBQhEKD19zdHJlYW1fY29udGVudCLWAgoKRWRpdFJlc3VsdBIoCgdzdWNjZXNzGAEgASgLMhUuYWdlbnQudjEuRWRpdFN1Y2Nlc3NIABI0Cg5maWxlX25vdF9mb3VuZBgCIAEoCzIaLmFnZW50LnYxLkVkaXRGaWxlTm90Rm91bmRIABJEChZyZWFkX3Blcm1pc3Npb25fZGVuaWVkGAMgASgLMiIuYWdlbnQudjEuRWRpdFJlYWRQZXJtaXNzaW9uRGVuaWVkSAASRgoXd3JpdGVfcGVybWlzc2lvbl9kZW5pZWQYBCABKAsyIy5hZ2VudC52MS5FZGl0V3JpdGVQZXJtaXNzaW9uRGVuaWVkSAASKgoIcmVqZWN0ZWQYBiABKAsyFi5hZ2VudC52MS5FZGl0UmVqZWN0ZWRIABIkCgVlcnJvchgHIAEoCzITLmFnZW50LnYxLkVkaXRFcnJvckgAQggKBnJlc3VsdCKkAgoLRWRpdFN1Y2Nlc3MSDAoEcGF0aBgBIAEoCRIYCgtsaW5lc19hZGRlZBgDIAEoBUgAiAEBEhoKDWxpbmVzX3JlbW92ZWQYBCABKAVIAYgBARIYCgtkaWZmX3N0cmluZxgFIAEoCUgCiAEBEiUKGGJlZm9yZV9mdWxsX2ZpbGVfY29udGVudBgGIAEoCUgDiAEBEh8KF2FmdGVyX2Z1bGxfZmlsZV9jb250ZW50GAcgASgJEhQKB21lc3NhZ2UYCCABKAlIBIgBAUIOCgxfbGluZXNfYWRkZWRCEAoOX2xpbmVzX3JlbW92ZWRCDgoMX2RpZmZfc3RyaW5nQhsKGV9iZWZvcmVfZnVsbF9maWxlX2NvbnRlbnRCCgoIX21lc3NhZ2UiIAoQRWRpdEZpbGVOb3RGb3VuZBIMCgRwYXRoGAEgASgJIigKGEVkaXRSZWFkUGVybWlzc2lvbkRlbmllZBIMCgRwYXRoGAEgASgJIk0KGUVkaXRXcml0ZVBlcm1pc3Npb25EZW5pZWQSDAoEcGF0aBgBIAEoCRINCgVlcnJvchgCIAEoCRITCgtpc19yZWFkb25seRgDIAEoCCIsCgxFZGl0UmVqZWN0ZWQSDAoEcGF0aBgBIAEoCRIOCgZyZWFzb24YAiABKAkiYgoJRWRpdEVycm9yEgwKBHBhdGgYASABKAkSDQoFZXJyb3IYAiABKAkSIAoTbW9kZWxfdmlzaWJsZV9lcnJvchgFIAEoCUgAiAEBQhYKFF9tb2RlbF92aXNpYmxlX2Vycm9yIlYKDEVkaXRUb29sQ2FsbBIgCgRhcmdzGAEgASgLMhIuYWdlbnQudjEuRWRpdEFyZ3MSJAoGcmVzdWx0GAIgASgLMhQuYWdlbnQudjEuRWRpdFJlc3VsdCIxChFFZGl0VG9vbENhbGxEZWx0YRIcChRzdHJlYW1fY29udGVudF9kZWx0YRgBIAEoCSIxCgxFeGFGZXRjaEFyZ3MSCwoDaWRzGAEgAygJEhQKDHRvb2xfY2FsbF9pZBgCIAEoCSKiAQoORXhhRmV0Y2hSZXN1bHQSLAoHc3VjY2VzcxgBIAEoCzIZLmFnZW50LnYxLkV4YUZldGNoU3VjY2Vzc0gAEigKBWVycm9yGAIgASgLMhcuYWdlbnQudjEuRXhhRmV0Y2hFcnJvckgAEi4KCHJlamVjdGVkGAMgASgLMhouYWdlbnQudjEuRXhhRmV0Y2hSZWplY3RlZEgAQggKBnJlc3VsdCI+Cg9FeGFGZXRjaFN1Y2Nlc3MSKwoIY29udGVudHMYASADKAsyGS5hZ2VudC52MS5FeGFGZXRjaENvbnRlbnQiHgoNRXhhRmV0Y2hFcnJvchINCgVlcnJvchgBIAEoCSIiChBFeGFGZXRjaFJlamVjdGVkEg4KBnJlYXNvbhgBIAEoCSJTCg9FeGFGZXRjaENvbnRlbnQSDQoFdGl0bGUYASABKAkSCwoDdXJsGAIgASgJEgwKBHRleHQYAyABKAkSFgoOcHVibGlzaGVkX2RhdGUYBCABKAkiYgoQRXhhRmV0Y2hUb29sQ2FsbBIkCgRhcmdzGAEgASgLMhYuYWdlbnQudjEuRXhhRmV0Y2hBcmdzEigKBnJlc3VsdBgCIAEoCzIYLmFnZW50LnYxLkV4YUZldGNoUmVzdWx0IjwKFEV4YUZldGNoUmVxdWVzdFF1ZXJ5EiQKBGFyZ3MYASABKAsyFi5hZ2VudC52MS5FeGFGZXRjaEFyZ3MiowEKF0V4YUZldGNoUmVxdWVzdFJlc3BvbnNlEj4KCGFwcHJvdmVkGAEgASgLMiouYWdlbnQudjEuRXhhRmV0Y2hSZXF1ZXN0UmVzcG9uc2VfQXBwcm92ZWRIABI+CghyZWplY3RlZBgCIAEoCzIqLmFnZW50LnYxLkV4YUZldGNoUmVxdWVzdFJlc3BvbnNlX1JlamVjdGVkSABCCAoGcmVzdWx0IiIKIEV4YUZldGNoUmVxdWVzdFJlc3BvbnNlX0FwcHJvdmVkIjIKIEV4YUZldGNoUmVxdWVzdFJlc3BvbnNlX1JlamVjdGVkEg4KBnJlYXNvbhgBIAEoCSJXCg1FeGFTZWFyY2hBcmdzEg0KBXF1ZXJ5GAEgASgJEgwKBHR5cGUYAiABKAkSEwoLbnVtX3Jlc3VsdHMYAyABKAUSFAoMdG9vbF9jYWxsX2lkGAQgASgJIqYBCg9FeGFTZWFyY2hSZXN1bHQSLQoHc3VjY2VzcxgBIAEoCzIaLmFnZW50LnYxLkV4YVNlYXJjaFN1Y2Nlc3NIABIpCgVlcnJvchgCIAEoCzIYLmFnZW50LnYxLkV4YVNlYXJjaEVycm9ySAASLwoIcmVqZWN0ZWQYAyABKAsyGy5hZ2VudC52MS5FeGFTZWFyY2hSZWplY3RlZEgAQggKBnJlc3VsdCJEChBFeGFTZWFyY2hTdWNjZXNzEjAKCnJlZmVyZW5jZXMYASADKAsyHC5hZ2VudC52MS5FeGFTZWFyY2hSZWZlcmVuY2UiHwoORXhhU2VhcmNoRXJyb3ISDQoFZXJyb3IYASABKAkiIwoRRXhhU2VhcmNoUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIlYKEkV4YVNlYXJjaFJlZmVyZW5jZRINCgV0aXRsZRgBIAEoCRILCgN1cmwYAiABKAkSDAoEdGV4dBgDIAEoCRIWCg5wdWJsaXNoZWRfZGF0ZRgEIAEoCSJlChFFeGFTZWFyY2hUb29sQ2FsbBIlCgRhcmdzGAEgASgLMhcuYWdlbnQudjEuRXhhU2VhcmNoQXJncxIpCgZyZXN1bHQYAiABKAsyGS5hZ2VudC52MS5FeGFTZWFyY2hSZXN1bHQiPgoVRXhhU2VhcmNoUmVxdWVzdFF1ZXJ5EiUKBGFyZ3MYASABKAsyFy5hZ2VudC52MS5FeGFTZWFyY2hBcmdzIqYBChhFeGFTZWFyY2hSZXF1ZXN0UmVzcG9uc2USPwoIYXBwcm92ZWQYASABKAsyKy5hZ2VudC52MS5FeGFTZWFyY2hSZXF1ZXN0UmVzcG9uc2VfQXBwcm92ZWRIABI/CghyZWplY3RlZBgCIAEoCzIrLmFnZW50LnYxLkV4YVNlYXJjaFJlcXVlc3RSZXNwb25zZV9SZWplY3RlZEgAQggKBnJlc3VsdCIjCiFFeGFTZWFyY2hSZXF1ZXN0UmVzcG9uc2VfQXBwcm92ZWQiMwohRXhhU2VhcmNoUmVxdWVzdFJlc3BvbnNlX1JlamVjdGVkEg4KBnJlYXNvbhgBIAEoCSIjChVFeGVjQ2xpZW50U3RyZWFtQ2xvc2USCgoCaWQYASABKA0ifgoPRXhlY0NsaWVudFRocm93EgoKAmlkGAEgASgNEg0KBWVycm9yGAIgASgJEhgKC3N0YWNrX3RyYWNlGAMgASgJSACIAQESFwoKZXJyb3JfY29kZRgEIAEoCUgBiAEBQg4KDF9zdGFja190cmFjZUINCgtfZXJyb3JfY29kZSIhChNFeGVjQ2xpZW50SGVhcnRiZWF0EgoKAmlkGAEgASgNIr4BChhFeGVjQ2xpZW50Q29udHJvbE1lc3NhZ2USNwoMc3RyZWFtX2Nsb3NlGAEgASgLMh8uYWdlbnQudjEuRXhlY0NsaWVudFN0cmVhbUNsb3NlSAASKgoFdGhyb3cYAiABKAsyGS5hZ2VudC52MS5FeGVjQ2xpZW50VGhyb3dIABIyCgloZWFydGJlYXQYAyABKAsyHS5hZ2VudC52MS5FeGVjQ2xpZW50SGVhcnRiZWF0SABCCQoHbWVzc2FnZSKEAQoLU3BhbkNvbnRleHQSEAoIdHJhY2VfaWQYASABKAkSDwoHc3Bhbl9pZBgCIAEoCRIYCgt0cmFjZV9mbGFncxgDIAEoDUgAiAEBEhgKC3RyYWNlX3N0YXRlGAQgASgJSAGIAQFCDgoMX3RyYWNlX2ZsYWdzQg4KDF90cmFjZV9zdGF0ZSILCglBYm9ydEFyZ3MiDQoLQWJvcnRSZXN1bHQi2hMKEUV4ZWNTZXJ2ZXJNZXNzYWdlEgoKAmlkGAEgASgNEg8KB2V4ZWNfaWQYDyABKAkSMAoMc3Bhbl9jb250ZXh0GBMgASgLMhUuYWdlbnQudjEuU3BhbkNvbnRleHRIAYgBARIpCgpzaGVsbF9hcmdzGAIgASgLMhMuYWdlbnQudjEuU2hlbGxBcmdzSAASKQoKd3JpdGVfYXJncxgDIAEoCzITLmFnZW50LnYxLldyaXRlQXJnc0gAEisKC2RlbGV0ZV9hcmdzGAQgASgLMhQuYWdlbnQudjEuRGVsZXRlQXJnc0gAEicKCWdyZXBfYXJncxgFIAEoCzISLmFnZW50LnYxLkdyZXBBcmdzSAASJwoJcmVhZF9hcmdzGAcgASgLMhIuYWdlbnQudjEuUmVhZEFyZ3NIABIjCgdsc19hcmdzGAggASgLMhAuYWdlbnQudjEuTHNBcmdzSAASNQoQZGlhZ25vc3RpY3NfYXJncxgJIAEoCzIZLmFnZW50LnYxLkRpYWdub3N0aWNzQXJnc0gAEjwKFHJlcXVlc3RfY29udGV4dF9hcmdzGAogASgLMhwuYWdlbnQudjEuUmVxdWVzdENvbnRleHRBcmdzSAASJQoIbWNwX2FyZ3MYCyABKAsyES5hZ2VudC52MS5NY3BBcmdzSAASMAoRc2hlbGxfc3RyZWFtX2FyZ3MYDiABKAsyEy5hZ2VudC52MS5TaGVsbEFyZ3NIABJJChtiYWNrZ3JvdW5kX3NoZWxsX3NwYXduX2FyZ3MYECABKAsyIi5hZ2VudC52MS5CYWNrZ3JvdW5kU2hlbGxTcGF3bkFyZ3NIABJKChxsaXN0X21jcF9yZXNvdXJjZXNfZXhlY19hcmdzGBEgASgLMiIuYWdlbnQudjEuTGlzdE1jcFJlc291cmNlc0V4ZWNBcmdzSAASSAobcmVhZF9tY3BfcmVzb3VyY2VfZXhlY19hcmdzGBIgASgLMiEuYWdlbnQudjEuUmVhZE1jcFJlc291cmNlRXhlY0FyZ3NIABIpCgpmZXRjaF9hcmdzGBQgASgLMhMuYWdlbnQudjEuRmV0Y2hBcmdzSAASOAoScmVjb3JkX3NjcmVlbl9hcmdzGBUgASgLMhouYWdlbnQudjEuUmVjb3JkU2NyZWVuQXJnc0gAEjYKEWNvbXB1dGVyX3VzZV9hcmdzGBYgASgLMhkuYWdlbnQudjEuQ29tcHV0ZXJVc2VBcmdzSAASPwoWd3JpdGVfc2hlbGxfc3RkaW5fYXJncxgXIAEoCzIdLmFnZW50LnYxLldyaXRlU2hlbGxTdGRpbkFyZ3NIABIwChJyZWRhY3RlZF9yZWFkX2FyZ3MYHSABKAsyEi5hZ2VudC52MS5SZWFkQXJnc0gAEjkKE21jcF9zdGF0ZV9leGVjX2FyZ3MYJCABKAsyGi5hZ2VudC52MS5NY3BTdGF0ZUV4ZWNBcmdzSAASNgoRZXhlY3V0ZV9ob29rX2FyZ3MYGyABKAsyGS5hZ2VudC52MS5FeGVjdXRlSG9va0FyZ3NIABIvCg1zdWJhZ2VudF9hcmdzGBwgASgLMhYuYWdlbnQudjEuU3ViYWdlbnRBcmdzSAASSQobZm9yY2VfYmFja2dyb3VuZF9zaGVsbF9hcmdzGB4gASgLMiIuYWdlbnQudjEuRm9yY2VCYWNrZ3JvdW5kU2hlbGxBcmdzSAASTwoeZm9yY2VfYmFja2dyb3VuZF9zdWJhZ2VudF9hcmdzGB8gASgLMiUuYWdlbnQudjEuRm9yY2VCYWNrZ3JvdW5kU3ViYWdlbnRBcmdzSAASOgoTc3ViYWdlbnRfYXdhaXRfYXJncxglIAEoCzIbLmFnZW50LnYxLlN1YmFnZW50QXdhaXRBcmdzSAASRwoac21hcnRfbW9kZV9jbGFzc2lmaWVyX2FyZ3MYJiABKAsyIS5hZ2VudC52MS5TbWFydE1vZGVDbGFzc2lmaWVyQXJnc0gAEkIKF2NhbnZhc19kaWFnbm9zdGljc19hcmdzGCggASgLMh8uYWdlbnQudjEuQ2FudmFzRGlhZ25vc3RpY3NBcmdzSAASTQodc2hlbGxfYWxsb3dsaXN0X3ByZWNoZWNrX2FyZ3MYKSABKAsyJC5hZ2VudC52MS5TaGVsbEFsbG93bGlzdFByZWNoZWNrQXJnc0gAEkkKG21jcF9hbGxvd2xpc3RfcHJlY2hlY2tfYXJncxgqIAEoCzIiLmFnZW50LnYxLk1jcEFsbG93bGlzdFByZWNoZWNrQXJnc0gAElQKIXdlYl9mZXRjaF9hbGxvd2xpc3RfcHJlY2hlY2tfYXJncxgrIAEoCzInLmFnZW50LnYxLldlYkZldGNoQWxsb3dsaXN0UHJlY2hlY2tBcmdzSAASNAoQZ2l0X2RpZmZfcmVxdWVzdBgsIAEoCzIYLmFnZW50LnYxLkdldERpZmZSZXF1ZXN0SAASMAoMcGlfcmVhZF9hcmdzGC0gASgLMhguYWdlbnQudjEuUGlSZWFkRXhlY0FyZ3NIABIwCgxwaV9iYXNoX2FyZ3MYLiABKAsyGC5hZ2VudC52MS5QaUJhc2hFeGVjQXJnc0gAEjAKDHBpX2VkaXRfYXJncxgvIAEoCzIYLmFnZW50LnYxLlBpRWRpdEV4ZWNBcmdzSAASMgoNcGlfd3JpdGVfYXJncxgwIAEoCzIZLmFnZW50LnYxLlBpV3JpdGVFeGVjQXJnc0gAEjAKDHBpX2dyZXBfYXJncxgxIAEoCzIYLmFnZW50LnYxLlBpR3JlcEV4ZWNBcmdzSAASMAoMcGlfZmluZF9hcmdzGDIgASgLMhguYWdlbnQudjEuUGlGaW5kRXhlY0FyZ3NIABIsCgpwaV9sc19hcmdzGDMgASgLMhYuYWdlbnQudjEuUGlMc0V4ZWNBcmdzSAASNwoYbWluaV9zd2VfYWdlbnRfYmFzaF9hcmdzGDQgASgLMhMuYWdlbnQudjEuU2hlbGxBcmdzSAASRAoYY29udmVyc2F0aW9uX3NlYXJjaF9hcmdzGDUgASgLMiAuYWdlbnQudjEuQ29udmVyc2F0aW9uU2VhcmNoQXJnc0gAEkUKGWFnZW50X3N0b3JlX2NvbmZsaWN0X2FyZ3MYNiABKAsyIC5hZ2VudC52MS5BZ2VudFN0b3JlQ29uZmxpY3RBcmdzSAASLAofYWNjZXB0X2hvb2tfYWRkaXRpb25hbF9jb250ZXh0cxg3IAEoCEgCiAEBQgkKB21lc3NhZ2VCDwoNX3NwYW5fY29udGV4dEIiCiBfYWNjZXB0X2hvb2tfYWRkaXRpb25hbF9jb250ZXh0cyLhFAoRRXhlY0NsaWVudE1lc3NhZ2USCgoCaWQYASABKA0SDwoHZXhlY19pZBgPIAEoCRItCgxzaGVsbF9yZXN1bHQYAiABKAsyFS5hZ2VudC52MS5TaGVsbFJlc3VsdEgAEi0KDHdyaXRlX3Jlc3VsdBgDIAEoCzIVLmFnZW50LnYxLldyaXRlUmVzdWx0SAASLwoNZGVsZXRlX3Jlc3VsdBgEIAEoCzIWLmFnZW50LnYxLkRlbGV0ZVJlc3VsdEgAEisKC2dyZXBfcmVzdWx0GAUgASgLMhQuYWdlbnQudjEuR3JlcFJlc3VsdEgAEisKC3JlYWRfcmVzdWx0GAcgASgLMhQuYWdlbnQudjEuUmVhZFJlc3VsdEgAEicKCWxzX3Jlc3VsdBgIIAEoCzISLmFnZW50LnYxLkxzUmVzdWx0SAASOQoSZGlhZ25vc3RpY3NfcmVzdWx0GAkgASgLMhsuYWdlbnQudjEuRGlhZ25vc3RpY3NSZXN1bHRIABJAChZyZXF1ZXN0X2NvbnRleHRfcmVzdWx0GAogASgLMh4uYWdlbnQudjEuUmVxdWVzdENvbnRleHRSZXN1bHRIABIpCgptY3BfcmVzdWx0GAsgASgLMhMuYWdlbnQudjEuTWNwUmVzdWx0SAASLQoMc2hlbGxfc3RyZWFtGA4gASgLMhUuYWdlbnQudjEuU2hlbGxTdHJlYW1IABJNCh1iYWNrZ3JvdW5kX3NoZWxsX3NwYXduX3Jlc3VsdBgQIAEoCzIkLmFnZW50LnYxLkJhY2tncm91bmRTaGVsbFNwYXduUmVzdWx0SAASTgoebGlzdF9tY3BfcmVzb3VyY2VzX2V4ZWNfcmVzdWx0GBEgASgLMiQuYWdlbnQudjEuTGlzdE1jcFJlc291cmNlc0V4ZWNSZXN1bHRIABJMCh1yZWFkX21jcF9yZXNvdXJjZV9leGVjX3Jlc3VsdBgSIAEoCzIjLmFnZW50LnYxLlJlYWRNY3BSZXNvdXJjZUV4ZWNSZXN1bHRIABItCgxmZXRjaF9yZXN1bHQYFCABKAsyFS5hZ2VudC52MS5GZXRjaFJlc3VsdEgAEjwKFHJlY29yZF9zY3JlZW5fcmVzdWx0GBUgASgLMhwuYWdlbnQudjEuUmVjb3JkU2NyZWVuUmVzdWx0SAASOgoTY29tcHV0ZXJfdXNlX3Jlc3VsdBgWIAEoCzIbLmFnZW50LnYxLkNvbXB1dGVyVXNlUmVzdWx0SAASQwoYd3JpdGVfc2hlbGxfc3RkaW5fcmVzdWx0GBcgASgLMh8uYWdlbnQudjEuV3JpdGVTaGVsbFN0ZGluUmVzdWx0SAASNAoUcmVkYWN0ZWRfcmVhZF9yZXN1bHQYHSABKAsyFC5hZ2VudC52MS5SZWFkUmVzdWx0SAASPQoVbWNwX3N0YXRlX2V4ZWNfcmVzdWx0GCQgASgLMhwuYWdlbnQudjEuTWNwU3RhdGVFeGVjUmVzdWx0SAASOgoTZXhlY3V0ZV9ob29rX3Jlc3VsdBgbIAEoCzIbLmFnZW50LnYxLkV4ZWN1dGVIb29rUmVzdWx0SAASMwoPc3ViYWdlbnRfcmVzdWx0GBwgASgLMhguYWdlbnQudjEuU3ViYWdlbnRSZXN1bHRIABJNCh1mb3JjZV9iYWNrZ3JvdW5kX3NoZWxsX3Jlc3VsdBgeIAEoCzIkLmFnZW50LnYxLkZvcmNlQmFja2dyb3VuZFNoZWxsUmVzdWx0SAASUwogZm9yY2VfYmFja2dyb3VuZF9zdWJhZ2VudF9yZXN1bHQYHyABKAsyJy5hZ2VudC52MS5Gb3JjZUJhY2tncm91bmRTdWJhZ2VudFJlc3VsdEgAEj4KFXN1YmFnZW50X2F3YWl0X3Jlc3VsdBglIAEoCzIdLmFnZW50LnYxLlN1YmFnZW50QXdhaXRSZXN1bHRIABJLChxzbWFydF9tb2RlX2NsYXNzaWZpZXJfcmVzdWx0GCYgASgLMiMuYWdlbnQudjEuU21hcnRNb2RlQ2xhc3NpZmllclJlc3VsdEgAEkYKGWNhbnZhc19kaWFnbm9zdGljc19yZXN1bHQYKCABKAsyIS5hZ2VudC52MS5DYW52YXNEaWFnbm9zdGljc1Jlc3VsdEgAElEKH3NoZWxsX2FsbG93bGlzdF9wcmVjaGVja19yZXN1bHQYKSABKAsyJi5hZ2VudC52MS5TaGVsbEFsbG93bGlzdFByZWNoZWNrUmVzdWx0SAASTQodbWNwX2FsbG93bGlzdF9wcmVjaGVja19yZXN1bHQYKiABKAsyJC5hZ2VudC52MS5NY3BBbGxvd2xpc3RQcmVjaGVja1Jlc3VsdEgAElgKI3dlYl9mZXRjaF9hbGxvd2xpc3RfcHJlY2hlY2tfcmVzdWx0GCsgASgLMikuYWdlbnQudjEuV2ViRmV0Y2hBbGxvd2xpc3RQcmVjaGVja1Jlc3VsdEgAEjYKEWdpdF9kaWZmX3Jlc3BvbnNlGCwgASgLMhkuYWdlbnQudjEuR2V0RGlmZlJlc3BvbnNlSAASNAoOcGlfcmVhZF9yZXN1bHQYLiABKAsyGi5hZ2VudC52MS5QaVJlYWRFeGVjUmVzdWx0SAASNAoOcGlfYmFzaF9yZXN1bHQYLyABKAsyGi5hZ2VudC52MS5QaUJhc2hFeGVjUmVzdWx0SAASNAoOcGlfZWRpdF9yZXN1bHQYMCABKAsyGi5hZ2VudC52MS5QaUVkaXRFeGVjUmVzdWx0SAASNgoPcGlfd3JpdGVfcmVzdWx0GDEgASgLMhsuYWdlbnQudjEuUGlXcml0ZUV4ZWNSZXN1bHRIABI0Cg5waV9ncmVwX3Jlc3VsdBgyIAEoCzIaLmFnZW50LnYxLlBpR3JlcEV4ZWNSZXN1bHRIABI0Cg5waV9maW5kX3Jlc3VsdBgzIAEoCzIaLmFnZW50LnYxLlBpRmluZEV4ZWNSZXN1bHRIABIwCgxwaV9sc19yZXN1bHQYNCABKAsyGC5hZ2VudC52MS5QaUxzRXhlY1Jlc3VsdEgAEkgKGmNvbnZlcnNhdGlvbl9zZWFyY2hfcmVzdWx0GDUgASgLMiIuYWdlbnQudjEuQ29udmVyc2F0aW9uU2VhcmNoUmVzdWx0SAASSQobYWdlbnRfc3RvcmVfY29uZmxpY3RfcmVzdWx0GDYgASgLMiIuYWdlbnQudjEuQWdlbnRTdG9yZUNvbmZsaWN0UmVzdWx0SAASOwoabWluaV9zd2VfYWdlbnRfYmFzaF9yZXN1bHQYNyABKAsyFS5hZ2VudC52MS5TaGVsbFJlc3VsdEgAEiQKF2xvY2FsX2V4ZWN1dGlvbl90aW1lX21zGCcgASgFSAGIAQESQQoYaG9va19hZGRpdGlvbmFsX2NvbnRleHRzGC0gAygLMh8uYWdlbnQudjEuSG9va0FkZGl0aW9uYWxDb250ZXh0QgkKB21lc3NhZ2VCGgoYX2xvY2FsX2V4ZWN1dGlvbl90aW1lX21zIi4KCUZldGNoQXJncxILCgN1cmwYASABKAkSFAoMdG9vbF9jYWxsX2lkGAIgASgJImkKC0ZldGNoUmVzdWx0EikKB3N1Y2Nlc3MYASABKAsyFi5hZ2VudC52MS5GZXRjaFN1Y2Nlc3NIABIlCgVlcnJvchgCIAEoCzIULmFnZW50LnYxLkZldGNoRXJyb3JIAEIICgZyZXN1bHQiVwoMRmV0Y2hTdWNjZXNzEgsKA3VybBgBIAEoCRIPCgdjb250ZW50GAIgASgJEhMKC3N0YXR1c19jb2RlGAMgASgFEhQKDGNvbnRlbnRfdHlwZRgEIAEoCSIoCgpGZXRjaEVycm9yEgsKA3VybBgBIAEoCRINCgVlcnJvchgCIAEoCSJtChFHZW5lcmF0ZUltYWdlQXJncxITCgtkZXNjcmlwdGlvbhgBIAEoCRIWCglmaWxlX3BhdGgYAiABKAlIAIgBARIdChVyZWZlcmVuY2VfaW1hZ2VfcGF0aHMYBSADKAlCDAoKX2ZpbGVfcGF0aCKBAQoTR2VuZXJhdGVJbWFnZVJlc3VsdBIxCgdzdWNjZXNzGAEgASgLMh4uYWdlbnQudjEuR2VuZXJhdGVJbWFnZVN1Y2Nlc3NIABItCgVlcnJvchgCIAEoCzIcLmFnZW50LnYxLkdlbmVyYXRlSW1hZ2VFcnJvckgAQggKBnJlc3VsdCI9ChRHZW5lcmF0ZUltYWdlU3VjY2VzcxIRCglmaWxlX3BhdGgYASABKAkSEgoKaW1hZ2VfZGF0YRgCIAEoCSIjChJHZW5lcmF0ZUltYWdlRXJyb3ISDQoFZXJyb3IYASABKAkicQoVR2VuZXJhdGVJbWFnZVRvb2xDYWxsEikKBGFyZ3MYASABKAsyGy5hZ2VudC52MS5HZW5lcmF0ZUltYWdlQXJncxItCgZyZXN1bHQYAiABKAsyHS5hZ2VudC52MS5HZW5lcmF0ZUltYWdlUmVzdWx0IuYECghHcmVwQXJncxIPCgdwYXR0ZXJuGAEgASgJEhEKBHBhdGgYAiABKAlIAIgBARIRCgRnbG9iGAMgASgJSAGIAQESGAoLb3V0cHV0X21vZGUYBCABKAlIAogBARIbCg5jb250ZXh0X2JlZm9yZRgFIAEoBUgDiAEBEhoKDWNvbnRleHRfYWZ0ZXIYBiABKAVIBIgBARIUCgdjb250ZXh0GAcgASgFSAWIAQESHQoQY2FzZV9pbnNlbnNpdGl2ZRgIIAEoCEgGiAEBEhEKBHR5cGUYCSABKAlIB4gBARIXCgpoZWFkX2xpbWl0GAogASgFSAiIAQESFgoJbXVsdGlsaW5lGAsgASgISAmIAQESEQoEc29ydBgMIAEoCUgKiAEBEhsKDnNvcnRfYXNjZW5kaW5nGA0gASgISAuIAQESFAoMdG9vbF9jYWxsX2lkGA4gASgJEjQKDnNhbmRib3hfcG9saWN5GA8gASgLMhcuYWdlbnQudjEuU2FuZGJveFBvbGljeUgMiAEBEhMKBm9mZnNldBgQIAEoBUgNiAEBQgcKBV9wYXRoQgcKBV9nbG9iQg4KDF9vdXRwdXRfbW9kZUIRCg9fY29udGV4dF9iZWZvcmVCEAoOX2NvbnRleHRfYWZ0ZXJCCgoIX2NvbnRleHRCEwoRX2Nhc2VfaW5zZW5zaXRpdmVCBwoFX3R5cGVCDQoLX2hlYWRfbGltaXRCDAoKX211bHRpbGluZUIHCgVfc29ydEIRCg9fc29ydF9hc2NlbmRpbmdCEQoPX3NhbmRib3hfcG9saWN5QgkKB19vZmZzZXQiZgoKR3JlcFJlc3VsdBIoCgdzdWNjZXNzGAEgASgLMhUuYWdlbnQudjEuR3JlcFN1Y2Nlc3NIABIkCgVlcnJvchgCIAEoCzITLmFnZW50LnYxLkdyZXBFcnJvckgAQggKBnJlc3VsdCIaCglHcmVwRXJyb3ISDQoFZXJyb3IYASABKAkitAIKC0dyZXBTdWNjZXNzEg8KB3BhdHRlcm4YASABKAkSDAoEcGF0aBgCIAEoCRITCgtvdXRwdXRfbW9kZRgDIAEoCRJGChF3b3Jrc3BhY2VfcmVzdWx0cxgEIAMoCzIrLmFnZW50LnYxLkdyZXBTdWNjZXNzLldvcmtzcGFjZVJlc3VsdHNFbnRyeRI8ChRhY3RpdmVfZWRpdG9yX3Jlc3VsdBgFIAEoCzIZLmFnZW50LnYxLkdyZXBVbmlvblJlc3VsdEgAiAEBGlIKFVdvcmtzcGFjZVJlc3VsdHNFbnRyeRILCgNrZXkYASABKAkSKAoFdmFsdWUYAiABKAsyGS5hZ2VudC52MS5HcmVwVW5pb25SZXN1bHQ6AjgBQhcKFV9hY3RpdmVfZWRpdG9yX3Jlc3VsdCKjAQoPR3JlcFVuaW9uUmVzdWx0EioKBWNvdW50GAEgASgLMhkuYWdlbnQudjEuR3JlcENvdW50UmVzdWx0SAASKgoFZmlsZXMYAiABKAsyGS5hZ2VudC52MS5HcmVwRmlsZXNSZXN1bHRIABIuCgdjb250ZW50GAMgASgLMhsuYWdlbnQudjEuR3JlcENvbnRlbnRSZXN1bHRIAEIICgZyZXN1bHQigwIKD0dyZXBDb3VudFJlc3VsdBInCgZjb3VudHMYASADKAsyFy5hZ2VudC52MS5HcmVwRmlsZUNvdW50EhMKC3RvdGFsX2ZpbGVzGAIgASgFEhUKDXRvdGFsX21hdGNoZXMYAyABKAUSGAoQY2xpZW50X3RydW5jYXRlZBgEIAEoCBIZChFyaXBncmVwX3RydW5jYXRlZBgFIAEoCBIfChJoZWFkX2xpbWl0X2FwcGxpZWQYBiABKAVIAIgBARIbCg5vZmZzZXRfYXBwbGllZBgHIAEoBUgBiAEBQhUKE19oZWFkX2xpbWl0X2FwcGxpZWRCEQoPX29mZnNldF9hcHBsaWVkIiwKDUdyZXBGaWxlQ291bnQSDAoEZmlsZRgBIAEoCRINCgVjb3VudBgCIAEoBSLSAQoPR3JlcEZpbGVzUmVzdWx0Eg0KBWZpbGVzGAEgAygJEhMKC3RvdGFsX2ZpbGVzGAIgASgFEhgKEGNsaWVudF90cnVuY2F0ZWQYAyABKAgSGQoRcmlwZ3JlcF90cnVuY2F0ZWQYBCABKAgSHwoSaGVhZF9saW1pdF9hcHBsaWVkGAUgASgFSACIAQESGwoOb2Zmc2V0X2FwcGxpZWQYBiABKAVIAYgBAUIVChNfaGVhZF9saW1pdF9hcHBsaWVkQhEKD19vZmZzZXRfYXBwbGllZCKMAgoRR3JlcENvbnRlbnRSZXN1bHQSKAoHbWF0Y2hlcxgBIAMoCzIXLmFnZW50LnYxLkdyZXBGaWxlTWF0Y2gSEwoLdG90YWxfbGluZXMYAiABKAUSGwoTdG90YWxfbWF0Y2hlZF9saW5lcxgDIAEoBRIYChBjbGllbnRfdHJ1bmNhdGVkGAQgASgIEhkKEXJpcGdyZXBfdHJ1bmNhdGVkGAUgASgIEh8KEmhlYWRfbGltaXRfYXBwbGllZBgGIAEoBUgAiAEBEhsKDm9mZnNldF9hcHBsaWVkGAcgASgFSAGIAQFCFQoTX2hlYWRfbGltaXRfYXBwbGllZEIRCg9fb2Zmc2V0X2FwcGxpZWQiSgoNR3JlcEZpbGVNYXRjaBIMCgRmaWxlGAEgASgJEisKB21hdGNoZXMYAiADKAsyGi5hZ2VudC52MS5HcmVwQ29udGVudE1hdGNoImwKEEdyZXBDb250ZW50TWF0Y2gSEwoLbGluZV9udW1iZXIYASABKAUSDwoHY29udGVudBgCIAEoCRIZChFjb250ZW50X3RydW5jYXRlZBgDIAEoCBIXCg9pc19jb250ZXh0X2xpbmUYBCABKAgiHQoKR3JlcFN0cmVhbRIPCgdwYXR0ZXJuGAEgASgJIlYKDEdyZXBUb29sQ2FsbBIgCgRhcmdzGAEgASgLMhIuYWdlbnQudjEuR3JlcEFyZ3MSJAoGcmVzdWx0GAIgASgLMhQuYWdlbnQudjEuR3JlcFJlc3VsdCIeCgtHZXRCbG9iQXJncxIPCgdibG9iX2lkGAEgASgMIjUKDUdldEJsb2JSZXN1bHQSFgoJYmxvYl9kYXRhGAEgASgMSACIAQFCDAoKX2Jsb2JfZGF0YSIxCgtTZXRCbG9iQXJncxIPCgdibG9iX2lkGAEgASgMEhEKCWJsb2JfZGF0YRgCIAEoDCI+Cg1TZXRCbG9iUmVzdWx0EiMKBWVycm9yGAEgASgLMg8uYWdlbnQudjEuRXJyb3JIAIgBAUIICgZfZXJyb3IiywEKD0t2U2VydmVyTWVzc2FnZRIKCgJpZBgBIAEoDRIwCgxzcGFuX2NvbnRleHQYBCABKAsyFS5hZ2VudC52MS5TcGFuQ29udGV4dEgBiAEBEi4KDWdldF9ibG9iX2FyZ3MYAiABKAsyFS5hZ2VudC52MS5HZXRCbG9iQXJnc0gAEi4KDXNldF9ibG9iX2FyZ3MYAyABKAsyFS5hZ2VudC52MS5TZXRCbG9iQXJnc0gAQgkKB21lc3NhZ2VCDwoNX3NwYW5fY29udGV4dCKQAQoPS3ZDbGllbnRNZXNzYWdlEgoKAmlkGAEgASgNEjIKD2dldF9ibG9iX3Jlc3VsdBgCIAEoCzIXLmFnZW50LnYxLkdldEJsb2JSZXN1bHRIABIyCg9zZXRfYmxvYl9yZXN1bHQYAyABKAsyFy5hZ2VudC52MS5TZXRCbG9iUmVzdWx0SABCCQoHbWVzc2FnZSKtAQoGTHNBcmdzEgwKBHBhdGgYASABKAkSDgoGaWdub3JlGAIgAygJEhQKDHRvb2xfY2FsbF9pZBgDIAEoCRI0Cg5zYW5kYm94X3BvbGljeRgEIAEoCzIXLmFnZW50LnYxLlNhbmRib3hQb2xpY3lIAIgBARIXCgp0aW1lb3V0X21zGAUgASgNSAGIAQFCEQoPX3NhbmRib3hfcG9saWN5Qg0KC190aW1lb3V0X21zIrIBCghMc1Jlc3VsdBImCgdzdWNjZXNzGAEgASgLMhMuYWdlbnQudjEuTHNTdWNjZXNzSAASIgoFZXJyb3IYAiABKAsyES5hZ2VudC52MS5Mc0Vycm9ySAASKAoIcmVqZWN0ZWQYAyABKAsyFC5hZ2VudC52MS5Mc1JlamVjdGVkSAASJgoHdGltZW91dBgEIAEoCzITLmFnZW50LnYxLkxzVGltZW91dEgAQggKBnJlc3VsdCJHCglMc1N1Y2Nlc3MSOgoTZGlyZWN0b3J5X3RyZWVfcm9vdBgBIAEoCzIdLmFnZW50LnYxLkxzRGlyZWN0b3J5VHJlZU5vZGUi9gIKE0xzRGlyZWN0b3J5VHJlZU5vZGUSEAoIYWJzX3BhdGgYASABKAkSNAoNY2hpbGRyZW5fZGlycxgCIAMoCzIdLmFnZW50LnYxLkxzRGlyZWN0b3J5VHJlZU5vZGUSOgoOY2hpbGRyZW5fZmlsZXMYAyADKAsyIi5hZ2VudC52MS5Mc0RpcmVjdG9yeVRyZWVOb2RlX0ZpbGUSHwoXY2hpbGRyZW5fd2VyZV9wcm9jZXNzZWQYBCABKAgSZAodZnVsbF9zdWJ0cmVlX2V4dGVuc2lvbl9jb3VudHMYBSADKAsyPS5hZ2VudC52MS5Mc0RpcmVjdG9yeVRyZWVOb2RlLkZ1bGxTdWJ0cmVlRXh0ZW5zaW9uQ291bnRzRW50cnkSEQoJbnVtX2ZpbGVzGAYgASgFGkEKH0Z1bGxTdWJ0cmVlRXh0ZW5zaW9uQ291bnRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgFOgI4ASJ6ChhMc0RpcmVjdG9yeVRyZWVOb2RlX0ZpbGUSDAoEbmFtZRgBIAEoCRI6ChF0ZXJtaW5hbF9tZXRhZGF0YRgCIAEoCzIaLmFnZW50LnYxLlRlcm1pbmFsTWV0YWRhdGFIAIgBAUIUChJfdGVybWluYWxfbWV0YWRhdGEiJgoHTHNFcnJvchIMCgRwYXRoGAEgASgJEg0KBWVycm9yGAIgASgJIioKCkxzUmVqZWN0ZWQSDAoEcGF0aBgBIAEoCRIOCgZyZWFzb24YAiABKAkiRwoJTHNUaW1lb3V0EjoKE2RpcmVjdG9yeV90cmVlX3Jvb3QYASABKAsyHS5hZ2VudC52MS5Mc0RpcmVjdG9yeVRyZWVOb2RlIvEBChBUZXJtaW5hbE1ldGFkYXRhEhAKA2N3ZBgBIAEoCUgAiAEBEjkKDWxhc3RfY29tbWFuZHMYAiADKAsyIi5hZ2VudC52MS5UZXJtaW5hbE1ldGFkYXRhX0NvbW1hbmQSHQoQbGFzdF9tb2RpZmllZF9tcxgDIAEoA0gBiAEBEkAKD2N1cnJlbnRfY29tbWFuZBgEIAEoCzIiLmFnZW50LnYxLlRlcm1pbmFsTWV0YWRhdGFfQ29tbWFuZEgCiAEBQgYKBF9jd2RCEwoRX2xhc3RfbW9kaWZpZWRfbXNCEgoQX2N1cnJlbnRfY29tbWFuZCKnAQoYVGVybWluYWxNZXRhZGF0YV9Db21tYW5kEg8KB2NvbW1hbmQYASABKAkSFgoJZXhpdF9jb2RlGAIgASgFSACIAQESGQoMdGltZXN0YW1wX21zGAMgASgDSAGIAQESGAoLZHVyYXRpb25fbXMYBCABKANIAogBAUIMCgpfZXhpdF9jb2RlQg8KDV90aW1lc3RhbXBfbXNCDgoMX2R1cmF0aW9uX21zIlAKCkxzVG9vbENhbGwSHgoEYXJncxgBIAEoCzIQLmFnZW50LnYxLkxzQXJncxIiCgZyZXN1bHQYAiABKAsyEi5hZ2VudC52MS5Mc1Jlc3VsdCLgAgoHTWNwQXJncxIMCgRuYW1lGAEgASgJEikKBGFyZ3MYAiADKAsyGy5hZ2VudC52MS5NY3BBcmdzLkFyZ3NFbnRyeRIUCgx0b29sX2NhbGxfaWQYAyABKAkSGwoTcHJvdmlkZXJfaWRlbnRpZmllchgEIAEoCRIRCgl0b29sX25hbWUYBSABKAkSPQoTc21hcnRfbW9kZV9hcHByb3ZhbBgGIAEoCzIbLmFnZW50LnYxLlNtYXJ0TW9kZUFwcHJvdmFsSACIAQESIAoYc21hcnRfbW9kZV9hcHByb3ZhbF9vbmx5GAcgASgIEhUKDXNraXBfYXBwcm92YWwYCCABKAgSGQoRc2VydmVyX2lkZW50aWZpZXIYCSABKAkaKwoJQXJnc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoDDoCOAFCFgoUX3NtYXJ0X21vZGVfYXBwcm92YWwi4wIKCU1jcFJlc3VsdBInCgdzdWNjZXNzGAEgASgLMhQuYWdlbnQudjEuTWNwU3VjY2Vzc0gAEiMKBWVycm9yGAIgASgLMhIuYWdlbnQudjEuTWNwRXJyb3JIABIpCghyZWplY3RlZBgDIAEoCzIVLmFnZW50LnYxLk1jcFJlamVjdGVkSAASOgoRcGVybWlzc2lvbl9kZW5pZWQYBCABKAsyHS5hZ2VudC52MS5NY3BQZXJtaXNzaW9uRGVuaWVkSAASMwoOdG9vbF9ub3RfZm91bmQYBSABKAsyGS5hZ2VudC52MS5NY3BUb29sTm90Rm91bmRIABI3ChBzZXJ2ZXJfbm90X2ZvdW5kGAYgASgLMhsuYWdlbnQudjEuTWNwU2VydmVyTm90Rm91bmRIABIpCghhcHByb3ZlZBgHIAEoCzIVLmFnZW50LnYxLk1jcEFwcHJvdmVkSABCCAoGcmVzdWx0IjgKD01jcFRvb2xOb3RGb3VuZBIMCgRuYW1lGAEgASgJEhcKD2F2YWlsYWJsZV90b29scxgCIAMoCSJqCg5NY3BUZXh0Q29udGVudBIMCgR0ZXh0GAEgASgJEjYKD291dHB1dF9sb2NhdGlvbhgCIAEoCzIYLmFnZW50LnYxLk91dHB1dExvY2F0aW9uSACIAQFCEgoQX291dHB1dF9sb2NhdGlvbiIyCg9NY3BJbWFnZUNvbnRlbnQSDAoEZGF0YRgBIAEoDBIRCgltaW1lX3R5cGUYAiABKAkiewoYTWNwVG9vbFJlc3VsdENvbnRlbnRJdGVtEigKBHRleHQYASABKAsyGC5hZ2VudC52MS5NY3BUZXh0Q29udGVudEgAEioKBWltYWdlGAIgASgLMhkuYWdlbnQudjEuTWNwSW1hZ2VDb250ZW50SABCCQoHY29udGVudCJTCgpNY3BTdWNjZXNzEjMKB2NvbnRlbnQYASADKAsyIi5hZ2VudC52MS5NY3BUb29sUmVzdWx0Q29udGVudEl0ZW0SEAoIaXNfZXJyb3IYAiABKAgiGQoITWNwRXJyb3ISDQoFZXJyb3IYASABKAkiMgoLTWNwUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJEhMKC2lzX3JlYWRvbmx5GAIgASgIIjkKE01jcFBlcm1pc3Npb25EZW5pZWQSDQoFZXJyb3IYASABKAkSEwoLaXNfcmVhZG9ubHkYAiABKAgiOgoYTGlzdE1jcFJlc291cmNlc0V4ZWNBcmdzEhMKBnNlcnZlchgBIAEoCUgAiAEBQgkKB19zZXJ2ZXIixgEKGkxpc3RNY3BSZXNvdXJjZXNFeGVjUmVzdWx0EjQKB3N1Y2Nlc3MYASABKAsyIS5hZ2VudC52MS5MaXN0TWNwUmVzb3VyY2VzU3VjY2Vzc0gAEjAKBWVycm9yGAIgASgLMh8uYWdlbnQudjEuTGlzdE1jcFJlc291cmNlc0Vycm9ySAASNgoIcmVqZWN0ZWQYAyABKAsyIi5hZ2VudC52MS5MaXN0TWNwUmVzb3VyY2VzUmVqZWN0ZWRIAEIICgZyZXN1bHQivQIKJkxpc3RNY3BSZXNvdXJjZXNFeGVjUmVzdWx0X01jcFJlc291cmNlEgsKA3VyaRgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESGAoLZGVzY3JpcHRpb24YAyABKAlIAYgBARIWCgltaW1lX3R5cGUYBCABKAlIAogBARIOCgZzZXJ2ZXIYBSABKAkSVgoLYW5ub3RhdGlvbnMYBiADKAsyQS5hZ2VudC52MS5MaXN0TWNwUmVzb3VyY2VzRXhlY1Jlc3VsdF9NY3BSZXNvdXJjZS5Bbm5vdGF0aW9uc0VudHJ5GjIKEEFubm90YXRpb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CDAoKX21pbWVfdHlwZSJeChdMaXN0TWNwUmVzb3VyY2VzU3VjY2VzcxJDCglyZXNvdXJjZXMYASADKAsyMC5hZ2VudC52MS5MaXN0TWNwUmVzb3VyY2VzRXhlY1Jlc3VsdF9NY3BSZXNvdXJjZSImChVMaXN0TWNwUmVzb3VyY2VzRXJyb3ISDQoFZXJyb3IYASABKAkiKgoYTGlzdE1jcFJlc291cmNlc1JlamVjdGVkEg4KBnJlYXNvbhgBIAEoCSLRAQoXUmVhZE1jcFJlc291cmNlRXhlY0FyZ3MSDgoGc2VydmVyGAEgASgJEgsKA3VyaRgCIAEoCRIaCg1kb3dubG9hZF9wYXRoGAMgASgJSACIAQESFAoMdG9vbF9jYWxsX2lkGAQgASgJEj0KE3NtYXJ0X21vZGVfYXBwcm92YWwYBSABKAsyGy5hZ2VudC52MS5TbWFydE1vZGVBcHByb3ZhbEgBiAEBQhAKDl9kb3dubG9hZF9wYXRoQhYKFF9zbWFydF9tb2RlX2FwcHJvdmFsIvoBChlSZWFkTWNwUmVzb3VyY2VFeGVjUmVzdWx0EjMKB3N1Y2Nlc3MYASABKAsyIC5hZ2VudC52MS5SZWFkTWNwUmVzb3VyY2VTdWNjZXNzSAASLwoFZXJyb3IYAiABKAsyHi5hZ2VudC52MS5SZWFkTWNwUmVzb3VyY2VFcnJvckgAEjUKCHJlamVjdGVkGAMgASgLMiEuYWdlbnQudjEuUmVhZE1jcFJlc291cmNlUmVqZWN0ZWRIABI2Cglub3RfZm91bmQYBCABKAsyIS5hZ2VudC52MS5SZWFkTWNwUmVzb3VyY2VOb3RGb3VuZEgAQggKBnJlc3VsdCKyAwoWUmVhZE1jcFJlc291cmNlU3VjY2VzcxILCgN1cmkYASABKAkSEQoEbmFtZRgCIAEoCUgBiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAKIAQESFgoJbWltZV90eXBlGAQgASgJSAOIAQESRgoLYW5ub3RhdGlvbnMYByADKAsyMS5hZ2VudC52MS5SZWFkTWNwUmVzb3VyY2VTdWNjZXNzLkFubm90YXRpb25zRW50cnkSGgoNZG93bmxvYWRfcGF0aBgIIAEoCUgEiAEBEg4KBHRleHQYBSABKAlIABIOCgRibG9iGAYgASgMSAASNgoPb3V0cHV0X2xvY2F0aW9uGAkgASgLMhguYWdlbnQudjEuT3V0cHV0TG9jYXRpb25IBYgBARoyChBBbm5vdGF0aW9uc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCQoHY29udGVudEIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CDAoKX21pbWVfdHlwZUIQCg5fZG93bmxvYWRfcGF0aEISChBfb3V0cHV0X2xvY2F0aW9uIjIKFFJlYWRNY3BSZXNvdXJjZUVycm9yEgsKA3VyaRgBIAEoCRINCgVlcnJvchgCIAEoCSI2ChdSZWFkTWNwUmVzb3VyY2VSZWplY3RlZBILCgN1cmkYASABKAkSDgoGcmVhc29uGAIgASgJIiYKF1JlYWRNY3BSZXNvdXJjZU5vdEZvdW5kEgsKA3VyaRgBIAEoCSKyAQoRTWNwVG9vbERlZmluaXRpb24SDAoEbmFtZRgBIAEoCRIbChNwcm92aWRlcl9pZGVudGlmaWVyGAQgASgJEhEKCXRvb2xfbmFtZRgFIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIUCgxpbnB1dF9zY2hlbWEYAyABKAwSHgoRaW5wdXRfc2NoZW1hX2pzb24YBiABKAlIAIgBAUIUChJfaW5wdXRfc2NoZW1hX2pzb24iOgoITWNwVG9vbHMSLgoJbWNwX3Rvb2xzGAEgAygLMhsuYWdlbnQudjEuTWNwVG9vbERlZmluaXRpb24iVwoPTWNwSW5zdHJ1Y3Rpb25zEhMKC3NlcnZlcl9uYW1lGAEgASgJEhQKDGluc3RydWN0aW9ucxgCIAEoCRIZChFzZXJ2ZXJfaWRlbnRpZmllchgDIAEoCSL9AgoNTWNwRGVzY3JpcHRvchITCgtzZXJ2ZXJfbmFtZRgBIAEoCRIZChFzZXJ2ZXJfaWRlbnRpZmllchgCIAEoCRIYCgtmb2xkZXJfcGF0aBgDIAEoCUgAiAEBEiQKF3NlcnZlcl91c2VfaW5zdHJ1Y3Rpb25zGAQgASgJSAGIAQESKgoFdG9vbHMYBSADKAsyGy5hZ2VudC52MS5NY3BUb29sRGVzY3JpcHRvchITCgZwbHVnaW4YByABKAlIAogBARIYCgttYXJrZXRwbGFjZRgIIAEoCUgDiAEBEhkKDHBsdWdpbl9kYl9pZBgJIAEoCUgEiAEBEhsKDm1hcmtldHBsYWNlX2lkGAogASgJSAWIAQFCDgoMX2ZvbGRlcl9wYXRoQhoKGF9zZXJ2ZXJfdXNlX2luc3RydWN0aW9uc0IJCgdfcGx1Z2luQg4KDF9tYXJrZXRwbGFjZUIPCg1fcGx1Z2luX2RiX2lkQhEKD19tYXJrZXRwbGFjZV9pZCK4AQoRTWNwVG9vbERlc2NyaXB0b3ISEQoJdG9vbF9uYW1lGAEgASgJEhwKD2RlZmluaXRpb25fcGF0aBgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESHgoRaW5wdXRfc2NoZW1hX2pzb24YBSABKAlIAogBAUISChBfZGVmaW5pdGlvbl9wYXRoQg4KDF9kZXNjcmlwdGlvbkIUChJfaW5wdXRfc2NoZW1hX2pzb24ieAoUTWNwRmlsZVN5c3RlbU9wdGlvbnMSDwoHZW5hYmxlZBgBIAEoCBIdChV3b3Jrc3BhY2VfcHJvamVjdF9kaXIYAiABKAkSMAoPbWNwX2Rlc2NyaXB0b3JzGAMgAygLMhcuYWdlbnQudjEuTWNwRGVzY3JpcHRvciKaAQoIUmVhZEFyZ3MSDAoEcGF0aBgBIAEoCRIUCgx0b29sX2NhbGxfaWQYAiABKAkSEwoGb2Zmc2V0GAQgASgFSACIAQESEgoFbGltaXQYBSABKA1IAYgBARIaCg1lbmNvZGluZ19oaW50GAYgASgJSAKIAQFCCQoHX29mZnNldEIICgZfbGltaXRCEAoOX2VuY29kaW5nX2hpbnQiuAIKClJlYWRSZXN1bHQSKAoHc3VjY2VzcxgBIAEoCzIVLmFnZW50LnYxLlJlYWRTdWNjZXNzSAASJAoFZXJyb3IYAiABKAsyEy5hZ2VudC52MS5SZWFkRXJyb3JIABIqCghyZWplY3RlZBgDIAEoCzIWLmFnZW50LnYxLlJlYWRSZWplY3RlZEgAEjQKDmZpbGVfbm90X2ZvdW5kGAQgASgLMhouYWdlbnQudjEuUmVhZEZpbGVOb3RGb3VuZEgAEjsKEXBlcm1pc3Npb25fZGVuaWVkGAUgASgLMh4uYWdlbnQudjEuUmVhZFBlcm1pc3Npb25EZW5pZWRIABIxCgxpbnZhbGlkX2ZpbGUYBiABKAsyGS5hZ2VudC52MS5SZWFkSW52YWxpZEZpbGVIAEIICgZyZXN1bHQiygEKC1JlYWRTdWNjZXNzEgwKBHBhdGgYASABKAkSEwoLdG90YWxfbGluZXMYAyABKAUSEQoJZmlsZV9zaXplGAQgASgDEhEKCXRydW5jYXRlZBgGIAEoCBIbCg5vdXRwdXRfYmxvYl9pZBgHIAEoDEgBiAEBEhEKB2NvbnRlbnQYAiABKAlIABIOCgRkYXRhGAUgASgMSAASFQoNcmFuZ2VfYXBwbGllZBgIIAEoCEIICgZvdXRwdXRCEQoPX291dHB1dF9ibG9iX2lkIigKCVJlYWRFcnJvchIMCgRwYXRoGAEgASgJEg0KBWVycm9yGAIgASgJIiwKDFJlYWRSZWplY3RlZBIMCgRwYXRoGAEgASgJEg4KBnJlYXNvbhgCIAEoCSIgChBSZWFkRmlsZU5vdEZvdW5kEgwKBHBhdGgYASABKAkiJAoUUmVhZFBlcm1pc3Npb25EZW5pZWQSDAoEcGF0aBgBIAEoCSIvCg9SZWFkSW52YWxpZEZpbGUSDAoEcGF0aBgBIAEoCRIOCgZyZWFzb24YAiABKAkiXgoMUmVhZFRvb2xDYWxsEiQKBGFyZ3MYASABKAsyFi5hZ2VudC52MS5SZWFkVG9vbEFyZ3MSKAoGcmVzdWx0GAIgASgLMhguYWdlbnQudjEuUmVhZFRvb2xSZXN1bHQiWgoMUmVhZFRvb2xBcmdzEgwKBHBhdGgYASABKAkSEwoGb2Zmc2V0GAIgASgFSACIAQESEgoFbGltaXQYAyABKAVIAYgBAUIJCgdfb2Zmc2V0QggKBl9saW1pdCJyCg5SZWFkVG9vbFJlc3VsdBIsCgdzdWNjZXNzGAEgASgLMhkuYWdlbnQudjEuUmVhZFRvb2xTdWNjZXNzSAASKAoFZXJyb3IYAiABKAsyFy5hZ2VudC52MS5SZWFkVG9vbEVycm9ySABCCAoGcmVzdWx0IjEKCVJlYWRSYW5nZRISCgpzdGFydF9saW5lGAEgASgNEhAKCGVuZF9saW5lGAIgASgNIo4CCg9SZWFkVG9vbFN1Y2Nlc3MSEAoIaXNfZW1wdHkYAiABKAgSFgoOZXhjZWVkZWRfbGltaXQYAyABKAgSEwoLdG90YWxfbGluZXMYBCABKA0SEQoJZmlsZV9zaXplGAUgASgNEgwKBHBhdGgYByABKAkSLAoKcmVhZF9yYW5nZRgIIAEoCzITLmFnZW50LnYxLlJlYWRSYW5nZUgBiAEBEhEKB2NvbnRlbnQYASABKAlIABIOCgRkYXRhGAYgASgMSAASFgoMZGF0YV9ibG9iX2lkGAkgASgMSAASGQoPY29udGVudF9ibG9iX2lkGAogASgMSABCCAoGb3V0cHV0Qg0KC19yZWFkX3JhbmdlIiYKDVJlYWRUb29sRXJyb3ISFQoNZXJyb3JfbWVzc2FnZRgBIAEoCSJqChBSZWNvcmRTY3JlZW5BcmdzEgwKBG1vZGUYASABKAUSFAoMdG9vbF9jYWxsX2lkGAIgASgJEh0KEHNhdmVfYXNfZmlsZW5hbWUYAyABKAlIAIgBAUITChFfc2F2ZV9hc19maWxlbmFtZSKJAgoSUmVjb3JkU2NyZWVuUmVzdWx0EjsKDXN0YXJ0X3N1Y2Nlc3MYASABKAsyIi5hZ2VudC52MS5SZWNvcmRTY3JlZW5TdGFydFN1Y2Nlc3NIABI5CgxzYXZlX3N1Y2Nlc3MYAiABKAsyIS5hZ2VudC52MS5SZWNvcmRTY3JlZW5TYXZlU3VjY2Vzc0gAEj8KD2Rpc2NhcmRfc3VjY2VzcxgDIAEoCzIkLmFnZW50LnYxLlJlY29yZFNjcmVlbkRpc2NhcmRTdWNjZXNzSAASMAoHZmFpbHVyZRgEIAEoCzIdLmFnZW50LnYxLlJlY29yZFNjcmVlbkZhaWx1cmVIAEIICgZyZXN1bHQiZwoYUmVjb3JkU2NyZWVuU3RhcnRTdWNjZXNzEiUKHXdhc19wcmlvcl9yZWNvcmRpbmdfY2FuY2VsbGVkGAEgASgIEiQKHHdhc19zYXZlX2FzX2ZpbGVuYW1lX2lnbm9yZWQYAiABKAgioAEKF1JlY29yZFNjcmVlblNhdmVTdWNjZXNzEgwKBHBhdGgYASABKAkSHQoVcmVjb3JkaW5nX2R1cmF0aW9uX21zGAIgASgDEjAKI3JlcXVlc3RlZF9maWxlX3BhdGhfcmVqZWN0ZWRfcmVhc29uGAMgASgFSACIAQFCJgokX3JlcXVlc3RlZF9maWxlX3BhdGhfcmVqZWN0ZWRfcmVhc29uIhwKGlJlY29yZFNjcmVlbkRpc2NhcmRTdWNjZXNzIiQKE1JlY29yZFNjcmVlbkZhaWx1cmUSDQoFZXJyb3IYASABKAkiNgoTQ3Vyc29yUGFja2FnZVByb21wdBIMCgRuYW1lGAEgASgJEhEKCWZpbGVfcGF0aBgCIAEoCSLiAQoNQ3Vyc29yUGFja2FnZRIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhMKC2ZvbGRlcl9wYXRoGAMgASgJEg8KB2VuYWJsZWQYBCABKAgSGAoLcGFyc2VfZXJyb3IYBSABKAlIAIgBARIuCgdwcm9tcHRzGAYgAygLMh0uYWdlbnQudjEuQ3Vyc29yUGFja2FnZVByb21wdBIYChByZWFkbWVfZmlsZV9wYXRoGAcgASgJEhQKDHBhY2thZ2VfdHlwZRgIIAEoBUIOCgxfcGFyc2VfZXJyb3IiqwIKFlJlcG9zaXRvcnlJbmRleGluZ0luZm8SHwoXcmVsYXRpdmVfd29ya3NwYWNlX3BhdGgYASABKAkSEwoLcmVtb3RlX3VybHMYAiADKAkSFAoMcmVtb3RlX25hbWVzGAMgAygJEhEKCXJlcG9fbmFtZRgEIAEoCRISCgpyZXBvX293bmVyGAUgASgJEhIKCmlzX3RyYWNrZWQYBiABKAgSEAoIaXNfbG9jYWwYByABKAgSJgoZb3J0aG9nb25hbF90cmFuc2Zvcm1fc2VlZBgIIAEoAUgAiAEBEhUKDXdvcmtzcGFjZV91cmkYCSABKAkSGwoTcGF0aF9lbmNyeXB0aW9uX2tleRgKIAEoCUIcChpfb3J0aG9nb25hbF90cmFuc2Zvcm1fc2VlZCKsAgoSUmVxdWVzdENvbnRleHRBcmdzEh0KEG5vdGVzX3Nlc3Npb25faWQYAiABKAlIAIgBARIZCgx3b3Jrc3BhY2VfaWQYAyABKAlIAYgBARImChlyZWFkX29ubHlfcGlubmVkX3RyZWVfc2hhGAQgASgJSAKIAQESKAobcmVhZF9vbmx5X3BsdWdpbl9jYWNoZV9yb290GAUgASgJSAOIAQESFwoKdXNlX2NhY2hlZBgHIAEoCEgEiAEBQhMKEV9ub3Rlc19zZXNzaW9uX2lkQg8KDV93b3Jrc3BhY2VfaWRCHAoaX3JlYWRfb25seV9waW5uZWRfdHJlZV9zaGFCHgocX3JlYWRfb25seV9wbHVnaW5fY2FjaGVfcm9vdEINCgtfdXNlX2NhY2hlZCK6AQoUUmVxdWVzdENvbnRleHRSZXN1bHQSMgoHc3VjY2VzcxgBIAEoCzIfLmFnZW50LnYxLlJlcXVlc3RDb250ZXh0U3VjY2Vzc0gAEi4KBWVycm9yGAIgASgLMh0uYWdlbnQudjEuUmVxdWVzdENvbnRleHRFcnJvckgAEjQKCHJlamVjdGVkGAMgASgLMiAuYWdlbnQudjEuUmVxdWVzdENvbnRleHRSZWplY3RlZEgAQggKBnJlc3VsdCKKAQoVUmVxdWVzdENvbnRleHRTdWNjZXNzEjEKD3JlcXVlc3RfY29udGV4dBgBIAEoCzIYLmFnZW50LnYxLlJlcXVlc3RDb250ZXh0EiMKFnNlcnZlZF9mcm9tX2Rpc2tfY2FjaGUYAiABKAhIAIgBAUIZChdfc2VydmVkX2Zyb21fZGlza19jYWNoZSIkChNSZXF1ZXN0Q29udGV4dEVycm9yEg0KBWVycm9yGAEgASgJIigKFlJlcXVlc3RDb250ZXh0UmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIsIBCgpJbWFnZVByb3RvEgwKBGRhdGEYASABKAwSDAoEdXVpZBgCIAEoCRIMCgRwYXRoGAMgASgJEjEKCWRpbWVuc2lvbhgEIAEoCzIeLmFnZW50LnYxLkltYWdlUHJvdG9fRGltZW5zaW9uEiYKGXRhc2tfc3BlY2lmaWNfZGVzY3JpcHRpb24YBiABKAlIAIgBARIRCgltaW1lX3R5cGUYByABKAlCHAoaX3Rhc2tfc3BlY2lmaWNfZGVzY3JpcHRpb24iNQoUSW1hZ2VQcm90b19EaW1lbnNpb24SDQoFd2lkdGgYASABKAUSDgoGaGVpZ2h0GAIgASgFImgKC0dpdFJlcG9JbmZvEgwKBHBhdGgYASABKAkSDgoGc3RhdHVzGAIgASgJEhMKC2JyYW5jaF9uYW1lGAMgASgJEhcKCnJlbW90ZV91cmwYBCABKAlIAIgBAUINCgtfcmVtb3RlX3VybCKbAgoRUmVxdWVzdENvbnRleHRFbnYSEgoKb3NfdmVyc2lvbhgBIAEoCRIXCg93b3Jrc3BhY2VfcGF0aHMYAiADKAkSDQoFc2hlbGwYAyABKAkSFwoPc2FuZGJveF9lbmFibGVkGAUgASgIEhgKEHRlcm1pbmFsc19mb2xkZXIYByABKAkSIQoZYWdlbnRfc2hhcmVkX25vdGVzX2ZvbGRlchgIIAEoCRInCh9hZ2VudF9jb252ZXJzYXRpb25fbm90ZXNfZm9sZGVyGAkgASgJEhEKCXRpbWVfem9uZRgKIAEoCRIWCg5wcm9qZWN0X2ZvbGRlchgLIAEoCRIgChhhZ2VudF90cmFuc2NyaXB0c19mb2xkZXIYDCABKAkiPAoPRGVidWdNb2RlQ29uZmlnEhAKCGxvZ19wYXRoGAEgASgJEhcKD3NlcnZlcl9lbmRwb2ludBgCIAEoCSK0AQoPU2tpbGxEZXNjcmlwdG9yEgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEwoLZm9sZGVyX3BhdGgYAyABKAkSDwoHZW5hYmxlZBgEIAEoCBIYCgtwYXJzZV9lcnJvchgFIAEoCUgAiAEBEhgKEHJlYWRtZV9maWxlX3BhdGgYBiABKAkSFAoMcGFja2FnZV90eXBlGAcgASgFQg4KDF9wYXJzZV9lcnJvciJECgxTa2lsbE9wdGlvbnMSNAoRc2tpbGxfZGVzY3JpcHRvcnMYASADKAsyGS5hZ2VudC52MS5Ta2lsbERlc2NyaXB0b3Ii9ggKDlJlcXVlc3RDb250ZXh0EiMKBXJ1bGVzGAIgAygLMhQuYWdlbnQudjEuQ3Vyc29yUnVsZRIoCgNlbnYYBCABKAsyGy5hZ2VudC52MS5SZXF1ZXN0Q29udGV4dEVudhI5Cg9yZXBvc2l0b3J5X2luZm8YBiADKAsyIC5hZ2VudC52MS5SZXBvc2l0b3J5SW5kZXhpbmdJbmZvEioKBXRvb2xzGAcgAygLMhsuYWdlbnQudjEuTWNwVG9vbERlZmluaXRpb24SJwoaY29udmVyc2F0aW9uX25vdGVzX2xpc3RpbmcYCCABKAlIAIgBARIhChRzaGFyZWRfbm90ZXNfbGlzdGluZxgJIAEoCUgBiAEBEigKCWdpdF9yZXBvcxgLIAMoCzIVLmFnZW50LnYxLkdpdFJlcG9JbmZvEjYKD3Byb2plY3RfbGF5b3V0cxgNIAMoCzIdLmFnZW50LnYxLkxzRGlyZWN0b3J5VHJlZU5vZGUSMwoQbWNwX2luc3RydWN0aW9ucxgOIAMoCzIZLmFnZW50LnYxLk1jcEluc3RydWN0aW9ucxI5ChFkZWJ1Z19tb2RlX2NvbmZpZxgPIAEoCzIZLmFnZW50LnYxLkRlYnVnTW9kZUNvbmZpZ0gCiAEBEhcKCmNsb3VkX3J1bGUYECABKAlIA4gBARIfChJ3ZWJfc2VhcmNoX2VuYWJsZWQYESABKAhIBIgBARIyCg1za2lsbF9vcHRpb25zGBIgASgLMhYuYWdlbnQudjEuU2tpbGxPcHRpb25zSAWIAQESLgohcmVwb3NpdG9yeV9pbmZvX3Nob3VsZF9xdWVyeV9wcm9kGBMgASgISAaIAQESQQoNZmlsZV9jb250ZW50cxgUIAMoCzIqLmFnZW50LnYxLlJlcXVlc3RDb250ZXh0LkZpbGVDb250ZW50c0VudHJ5EiAKE3VzZXJfaW50ZW50X3N1bW1hcnkYFSABKAlIB4gBARIyChBjdXN0b21fc3ViYWdlbnRzGBYgAygLMhguYWdlbnQudjEuQ3VzdG9tU3ViYWdlbnQSRAoXbWNwX2ZpbGVfc3lzdGVtX29wdGlvbnMYFyABKAsyHi5hZ2VudC52MS5NY3BGaWxlU3lzdGVtT3B0aW9uc0gIiAEBGjMKEUZpbGVDb250ZW50c0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCHQobX2NvbnZlcnNhdGlvbl9ub3Rlc19saXN0aW5nQhcKFV9zaGFyZWRfbm90ZXNfbGlzdGluZ0IUChJfZGVidWdfbW9kZV9jb25maWdCDQoLX2Nsb3VkX3J1bGVCFQoTX3dlYl9zZWFyY2hfZW5hYmxlZEIQCg5fc2tpbGxfb3B0aW9uc0IkCiJfcmVwb3NpdG9yeV9pbmZvX3Nob3VsZF9xdWVyeV9wcm9kQhYKFF91c2VyX2ludGVudF9zdW1tYXJ5QhoKGF9tY3BfZmlsZV9zeXN0ZW1fb3B0aW9ucyKyAgoNU2FuZGJveFBvbGljeRIMCgR0eXBlGAEgASgFEhsKDm5ldHdvcmtfYWNjZXNzGAIgASgISACIAQESIgoaYWRkaXRpb25hbF9yZWFkd3JpdGVfcGF0aHMYAyADKAkSIQoZYWRkaXRpb25hbF9yZWFkb25seV9wYXRocxgEIAMoCRIdChBkZWJ1Z19vdXRwdXRfZGlyGAUgASgJSAGIAQESHQoQYmxvY2tfZ2l0X3dyaXRlcxgGIAEoCEgCiAEBEh4KEWRpc2FibGVfdG1wX3dyaXRlGAcgASgISAOIAQFCEQoPX25ldHdvcmtfYWNjZXNzQhMKEV9kZWJ1Z19vdXRwdXRfZGlyQhMKEV9ibG9ja19naXRfd3JpdGVzQhQKEl9kaXNhYmxlX3RtcF93cml0ZSLvAQoNU2VsZWN0ZWRJbWFnZRIMCgR1dWlkGAIgASgJEgwKBHBhdGgYAyABKAkSNAoJZGltZW5zaW9uGAQgASgLMiEuYWdlbnQudjEuU2VsZWN0ZWRJbWFnZV9EaW1lbnNpb24SEQoJbWltZV90eXBlGAcgASgJEhEKB2Jsb2JfaWQYASABKAxIABIOCgRkYXRhGAggASgMSAASQwoRYmxvYl9pZF93aXRoX2RhdGEYCSABKAsyJi5hZ2VudC52MS5TZWxlY3RlZEltYWdlX0Jsb2JJZFdpdGhEYXRhSABCEQoPZGF0YV9vcl9ibG9iX2lkIj0KHFNlbGVjdGVkSW1hZ2VfQmxvYklkV2l0aERhdGESDwoHYmxvYl9pZBgBIAEoDBIMCgRkYXRhGAIgASgMIjgKF1NlbGVjdGVkSW1hZ2VfRGltZW5zaW9uEg0KBXdpZHRoGAEgASgFEg4KBmhlaWdodBgCIAEoBSJJChFFeHRyYUNvbnRleHRFbnRyeRIOCgRkYXRhGAEgASgJSAASEQoHYmxvYl9pZBgCIAEoDEgAQhEKD2RhdGFfb3JfYmxvYl9pZCJbCgxTZWxlY3RlZEZpbGUSDwoHY29udGVudBgBIAEoCRIMCgRwYXRoGAIgASgJEhoKDXJlbGF0aXZlX3BhdGgYAyABKAlIAIgBAUIQCg5fcmVsYXRpdmVfcGF0aCKEAQoVU2VsZWN0ZWRDb2RlU2VsZWN0aW9uEg8KB2NvbnRlbnQYASABKAkSDAoEcGF0aBgCIAEoCRIaCg1yZWxhdGl2ZV9wYXRoGAMgASgJSACIAQESHgoFcmFuZ2UYBCABKAsyDy5hZ2VudC52MS5SYW5nZUIQCg5fcmVsYXRpdmVfcGF0aCJdChBTZWxlY3RlZFRlcm1pbmFsEg8KB2NvbnRlbnQYASABKAkSEgoFdGl0bGUYAiABKAlIAIgBARIRCgRwYXRoGAMgASgJSAGIAQFCCAoGX3RpdGxlQgcKBV9wYXRoIoYBChlTZWxlY3RlZFRlcm1pbmFsU2VsZWN0aW9uEg8KB2NvbnRlbnQYASABKAkSEgoFdGl0bGUYAiABKAlIAIgBARIRCgRwYXRoGAMgASgJSAGIAQESHgoFcmFuZ2UYBCABKAsyDy5hZ2VudC52MS5SYW5nZUIICgZfdGl0bGVCBwoFX3BhdGgigwEKDlNlbGVjdGVkRm9sZGVyEgwKBHBhdGgYASABKAkSGgoNcmVsYXRpdmVfcGF0aBgCIAEoCUgAiAEBEjUKDmRpcmVjdG9yeV90cmVlGAMgASgLMh0uYWdlbnQudjEuTHNEaXJlY3RvcnlUcmVlTm9kZUIQCg5fcmVsYXRpdmVfcGF0aCKfAQoUU2VsZWN0ZWRFeHRlcm5hbExpbmsSCwoDdXJsGAEgASgJEgwKBHV1aWQYAiABKAkSGAoLcGRmX2NvbnRlbnQYAyABKAlIAIgBARITCgZpc19wZGYYBCABKAhIAYgBARIVCghmaWxlbmFtZRgFIAEoCUgCiAEBQg4KDF9wZGZfY29udGVudEIJCgdfaXNfcGRmQgsKCV9maWxlbmFtZSI4ChJTZWxlY3RlZEN1cnNvclJ1bGUSIgoEcnVsZRgBIAEoCzIULmFnZW50LnYxLkN1cnNvclJ1bGUiIgoPU2VsZWN0ZWRHaXREaWZmEg8KB2NvbnRlbnQYASABKAkiMgofU2VsZWN0ZWRHaXREaWZmRnJvbUJyYW5jaFRvTWFpbhIPCgdjb250ZW50GAEgASgJImkKEVNlbGVjdGVkR2l0Q29tbWl0EgsKA3NoYRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESDAoEZGlmZhgEIAEoCUIOCgxfZGVzY3JpcHRpb24i3QEKE1NlbGVjdGVkUHVsbFJlcXVlc3QSDgoGbnVtYmVyGAEgASgFEgsKA3VybBgCIAEoCRISCgV0aXRsZRgDIAEoCUgAiAEBEhMKC2ZvbGRlcl9wYXRoGAQgASgJEhkKDHN1bW1hcnlfanNvbhgFIAEoCUgBiAEBEhgKC2Rlc2NyaXB0aW9uGAYgASgJSAKIAQESFAoHYmxvYl9pZBgHIAEoDEgDiAEBQggKBl90aXRsZUIPCg1fc3VtbWFyeV9qc29uQg4KDF9kZXNjcmlwdGlvbkIKCghfYmxvYl9pZCKzAQoaU2VsZWN0ZWRHaXRQUkRpZmZTZWxlY3Rpb24SDgoGcHJfdXJsGAEgASgJEhEKCWZpbGVfcGF0aBgCIAEoCRISCgpzdGFydF9saW5lGAMgASgFEhAKCGVuZF9saW5lGAQgASgFEhkKDGRpZmZfY29udGVudBgFIAEoCUgAiAEBEhQKB2Jsb2JfaWQYBiABKAxIAYgBAUIPCg1fZGlmZl9jb250ZW50QgoKCF9ibG9iX2lkIjYKFVNlbGVjdGVkQ3Vyc29yQ29tbWFuZBIMCgRuYW1lGAEgASgJEg8KB2NvbnRlbnQYAiABKAkiNQoVU2VsZWN0ZWREb2N1bWVudGF0aW9uEg4KBmRvY19pZBgBIAEoCRIMCgRuYW1lGAIgASgJIjIKEFNlbGVjdGVkUGFzdENoYXQSEAoIYWdlbnRfaWQYASABKAkSDAoEbmFtZRgCIAEoCSKrAQoJQ2FsbEZyYW1lEhoKDWZ1bmN0aW9uX25hbWUYASABKAlIAIgBARIQCgN1cmwYAiABKAlIAYgBARIYCgtsaW5lX251bWJlchgDIAEoBUgCiAEBEhoKDWNvbHVtbl9udW1iZXIYBCABKAVIA4gBAUIQCg5fZnVuY3Rpb25fbmFtZUIGCgRfdXJsQg4KDF9saW5lX251bWJlckIQCg5fY29sdW1uX251bWJlciJoCgpTdGFja1RyYWNlEigKC2NhbGxfZnJhbWVzGAEgAygLMhMuYWdlbnQudjEuQ2FsbEZyYW1lEhwKD3Jhd19zdGFja190cmFjZRgCIAEoCUgAiAEBQhIKEF9yYXdfc3RhY2tfdHJhY2Ui5AEKElNlbGVjdGVkQ29uc29sZUxvZxIPCgdtZXNzYWdlGAEgASgJEhEKCXRpbWVzdGFtcBgCIAEoARINCgVsZXZlbBgDIAEoCRITCgtjbGllbnRfbmFtZRgEIAEoCRISCgpzZXNzaW9uX2lkGAUgASgJEi4KC3N0YWNrX3RyYWNlGAYgASgLMhQuYWdlbnQudjEuU3RhY2tUcmFjZUgAiAEBEh0KEG9iamVjdF9kYXRhX2pzb24YByABKAlIAYgBAUIOCgxfc3RhY2tfdHJhY2VCEwoRX29iamVjdF9kYXRhX2pzb24iugEKEVNlbGVjdGVkVUlFbGVtZW50Eg8KB2VsZW1lbnQYASABKAkSDQoFeHBhdGgYAiABKAkSFAoMdGV4dF9jb250ZW50GAMgASgJEg0KBWV4dHJhGAQgASgJEhYKCWNvbXBvbmVudBgFIAEoCUgAiAEBEiEKFGNvbXBvbmVudF9wcm9wc19qc29uGAYgASgJSAGIAQFCDAoKX2NvbXBvbmVudEIXChVfY29tcG9uZW50X3Byb3BzX2pzb24iIAoQU2VsZWN0ZWRTdWJhZ2VudBIMCgRuYW1lGAEgASgJIoIKCg9TZWxlY3RlZENvbnRleHQSMAoPc2VsZWN0ZWRfaW1hZ2VzGAEgAygLMhcuYWdlbnQudjEuU2VsZWN0ZWRJbWFnZRI8ChJpbnZvY2F0aW9uX2NvbnRleHQYAiABKAsyGy5hZ2VudC52MS5JbnZvY2F0aW9uQ29udGV4dEgAiAEBEhUKDWV4dHJhX2NvbnRleHQYAyADKAkSOgoVZXh0cmFfY29udGV4dF9lbnRyaWVzGBAgAygLMhsuYWdlbnQudjEuRXh0cmFDb250ZXh0RW50cnkSJQoFZmlsZXMYBCADKAsyFi5hZ2VudC52MS5TZWxlY3RlZEZpbGUSOAoPY29kZV9zZWxlY3Rpb25zGAUgAygLMh8uYWdlbnQudjEuU2VsZWN0ZWRDb2RlU2VsZWN0aW9uEi0KCXRlcm1pbmFscxgGIAMoCzIaLmFnZW50LnYxLlNlbGVjdGVkVGVybWluYWwSQAoTdGVybWluYWxfc2VsZWN0aW9ucxgHIAMoCzIjLmFnZW50LnYxLlNlbGVjdGVkVGVybWluYWxTZWxlY3Rpb24SKQoHZm9sZGVycxgIIAMoCzIYLmFnZW50LnYxLlNlbGVjdGVkRm9sZGVyEjYKDmV4dGVybmFsX2xpbmtzGAkgAygLMh4uYWdlbnQudjEuU2VsZWN0ZWRFeHRlcm5hbExpbmsSMgoMY3Vyc29yX3J1bGVzGAogAygLMhwuYWdlbnQudjEuU2VsZWN0ZWRDdXJzb3JSdWxlEjAKCGdpdF9kaWZmGBIgASgLMhkuYWdlbnQudjEuU2VsZWN0ZWRHaXREaWZmSAGIAQESVAocZ2l0X2RpZmZfZnJvbV9icmFuY2hfdG9fbWFpbhgLIAEoCzIpLmFnZW50LnYxLlNlbGVjdGVkR2l0RGlmZkZyb21CcmFuY2hUb01haW5IAogBARI4Cg9jdXJzb3JfY29tbWFuZHMYDCADKAsyHy5hZ2VudC52MS5TZWxlY3RlZEN1cnNvckNvbW1hbmQSNwoOZG9jdW1lbnRhdGlvbnMYDSADKAsyHy5hZ2VudC52MS5TZWxlY3RlZERvY3VtZW50YXRpb24SMAoLdWlfZWxlbWVudHMYDiADKAsyGy5hZ2VudC52MS5TZWxlY3RlZFVJRWxlbWVudBIyCgxjb25zb2xlX2xvZ3MYDyADKAsyHC5hZ2VudC52MS5TZWxlY3RlZENvbnNvbGVMb2cSMAoLZ2l0X2NvbW1pdHMYESADKAsyGy5hZ2VudC52MS5TZWxlY3RlZEdpdENvbW1pdBIuCgpwYXN0X2NoYXRzGBMgAygLMhouYWdlbnQudjEuU2VsZWN0ZWRQYXN0Q2hhdBJEChZnaXRfcHJfZGlmZl9zZWxlY3Rpb25zGBQgAygLMiQuYWdlbnQudjEuU2VsZWN0ZWRHaXRQUkRpZmZTZWxlY3Rpb24SPQoWc2VsZWN0ZWRfcHVsbF9yZXF1ZXN0cxgVIAMoCzIdLmFnZW50LnYxLlNlbGVjdGVkUHVsbFJlcXVlc3QSNgoSc2VsZWN0ZWRfc3ViYWdlbnRzGBYgAygLMhouYWdlbnQudjEuU2VsZWN0ZWRTdWJhZ2VudEIVChNfaW52b2NhdGlvbl9jb250ZXh0QgsKCV9naXRfZGlmZkIfCh1fZ2l0X2RpZmZfZnJvbV9icmFuY2hfdG9fbWFpbiLlAQoRSW52b2NhdGlvbkNvbnRleHQSPwoMc2xhY2tfdGhyZWFkGAEgASgLMicuYWdlbnQudjEuSW52b2NhdGlvbkNvbnRleHRfU2xhY2tUaHJlYWRIABI5CglnaXRodWJfcHIYAiABKAsyJC5hZ2VudC52MS5JbnZvY2F0aW9uQ29udGV4dF9HaXRodWJQUkgAEjkKCWlkZV9zdGF0ZRgDIAEoCzIkLmFnZW50LnYxLkludm9jYXRpb25Db250ZXh0X0lkZVN0YXRlSAASEQoHYmxvYl9pZBgKIAEoDEgAQgYKBGRhdGEiuwEKHUludm9jYXRpb25Db250ZXh0X1NsYWNrVGhyZWFkEg4KBnRocmVhZBgBIAEoCRIZCgxjaGFubmVsX25hbWUYAiABKAlIAIgBARIcCg9jaGFubmVsX3B1cnBvc2UYAyABKAlIAYgBARIaCg1jaGFubmVsX3RvcGljGAQgASgJSAKIAQFCDwoNX2NoYW5uZWxfbmFtZUISChBfY2hhbm5lbF9wdXJwb3NlQhAKDl9jaGFubmVsX3RvcGljInwKGkludm9jYXRpb25Db250ZXh0X0dpdGh1YlBSEg0KBXRpdGxlGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhAKCGNvbW1lbnRzGAMgASgJEhgKC2NpX2ZhaWx1cmVzGAQgASgJSACIAQFCDgoMX2NpX2ZhaWx1cmVzIv4BChpJbnZvY2F0aW9uQ29udGV4dF9JZGVTdGF0ZRJACg12aXNpYmxlX2ZpbGVzGAEgAygLMikuYWdlbnQudjEuSW52b2NhdGlvbkNvbnRleHRfSWRlU3RhdGVfRmlsZRJIChVyZWNlbnRseV92aWV3ZWRfZmlsZXMYAiADKAsyKS5hZ2VudC52MS5JbnZvY2F0aW9uQ29udGV4dF9JZGVTdGF0ZV9GaWxlElQKFGN1cnJlbnRseV92aWV3ZWRfcHJzGAMgAygLMjYuYWdlbnQudjEuSW52b2NhdGlvbkNvbnRleHRfSWRlU3RhdGVfVmlld2VkUHVsbFJlcXVlc3QijgIKH0ludm9jYXRpb25Db250ZXh0X0lkZVN0YXRlX0ZpbGUSDAoEcGF0aBgBIAEoCRIaCg1yZWxhdGl2ZV9wYXRoGAIgASgJSACIAQESVgoPY3Vyc29yX3Bvc2l0aW9uGAMgASgLMjguYWdlbnQudjEuSW52b2NhdGlvbkNvbnRleHRfSWRlU3RhdGVfRmlsZV9DdXJzb3JQb3NpdGlvbkgBiAEBEhMKC3RvdGFsX2xpbmVzGAQgASgFEhsKDmFjdGl2ZV9jb21tYW5kGAUgASgJSAKIAQFCEAoOX3JlbGF0aXZlX3BhdGhCEgoQX2N1cnNvcl9wb3NpdGlvbkIRCg9fYWN0aXZlX2NvbW1hbmQiTAouSW52b2NhdGlvbkNvbnRleHRfSWRlU3RhdGVfRmlsZV9DdXJzb3JQb3NpdGlvbhIMCgRsaW5lGAEgASgFEgwKBHRleHQYAiABKAki6QEKLEludm9jYXRpb25Db250ZXh0X0lkZVN0YXRlX1ZpZXdlZFB1bGxSZXF1ZXN0Eg4KBm51bWJlchgBIAEoBRILCgN1cmwYAiABKAkSEgoFdGl0bGUYAyABKAlIAIgBARIYCgtmb2xkZXJfcGF0aBgEIAEoCUgBiAEBEhkKDHN1bW1hcnlfanNvbhgFIAEoCUgCiAEBEhgKC2Rlc2NyaXB0aW9uGAYgASgJSAOIAQFCCAoGX3RpdGxlQg4KDF9mb2xkZXJfcGF0aEIPCg1fc3VtbWFyeV9qc29uQg4KDF9kZXNjcmlwdGlvbiJIChZTZXR1cFZtRW52aXJvbm1lbnRBcmdzEhcKD2luc3RhbGxfY29tbWFuZBgCIAEoCRIVCg1zdGFydF9jb21tYW5kGAMgASgJIlwKGFNldHVwVm1FbnZpcm9ubWVudFJlc3VsdBI2CgdzdWNjZXNzGAEgASgLMiMuYWdlbnQudjEuU2V0dXBWbUVudmlyb25tZW50U3VjY2Vzc0gAQggKBnJlc3VsdCIbChlTZXR1cFZtRW52aXJvbm1lbnRTdWNjZXNzIoABChpTZXR1cFZtRW52aXJvbm1lbnRUb29sQ2FsbBIuCgRhcmdzGAEgASgLMiAuYWdlbnQudjEuU2V0dXBWbUVudmlyb25tZW50QXJncxIyCgZyZXN1bHQYAiABKAsyIi5hZ2VudC52MS5TZXR1cFZtRW52aXJvbm1lbnRSZXN1bHQiyQIKGVNoZWxsQ29tbWFuZFBhcnNpbmdSZXN1bHQSFgoOcGFyc2luZ19mYWlsZWQYASABKAgSUgoTZXhlY3V0YWJsZV9jb21tYW5kcxgCIAMoCzI1LmFnZW50LnYxLlNoZWxsQ29tbWFuZFBhcnNpbmdSZXN1bHRfRXhlY3V0YWJsZUNvbW1hbmQSFQoNaGFzX3JlZGlyZWN0cxgDIAEoCBIgChhoYXNfY29tbWFuZF9zdWJzdGl0dXRpb24YBCABKAgSJwoaYWxsX3JlZGlyZWN0c19hcmVfZGV2X251bGwYBSABKAhIAIgBARI/CglyZWRpcmVjdHMYBiADKAsyLC5hZ2VudC52MS5TaGVsbENvbW1hbmRQYXJzaW5nUmVzdWx0X1JlZGlyZWN0Qh0KG19hbGxfcmVkaXJlY3RzX2FyZV9kZXZfbnVsbCJNCi5TaGVsbENvbW1hbmRQYXJzaW5nUmVzdWx0X0V4ZWN1dGFibGVDb21tYW5kQXJnEgwKBHR5cGUYASABKAkSDQoFdmFsdWUYAiABKAkilgEKK1NoZWxsQ29tbWFuZFBhcnNpbmdSZXN1bHRfRXhlY3V0YWJsZUNvbW1hbmQSDAoEbmFtZRgBIAEoCRJGCgRhcmdzGAIgAygLMjguYWdlbnQudjEuU2hlbGxDb21tYW5kUGFyc2luZ1Jlc3VsdF9FeGVjdXRhYmxlQ29tbWFuZEFyZxIRCglmdWxsX3RleHQYAyABKAki+gcKCVNoZWxsQXJncxIPCgdjb21tYW5kGAEgASgJEhkKEXdvcmtpbmdfZGlyZWN0b3J5GAIgASgJEg8KB3RpbWVvdXQYAyABKAUSFAoMdG9vbF9jYWxsX2lkGAQgASgJEhcKD3NpbXBsZV9jb21tYW5kcxgFIAMoCRIaChJoYXNfaW5wdXRfcmVkaXJlY3QYBiABKAgSGwoTaGFzX291dHB1dF9yZWRpcmVjdBgHIAEoCBI7Cg5wYXJzaW5nX3Jlc3VsdBgIIAEoCzIjLmFnZW50LnYxLlNoZWxsQ29tbWFuZFBhcnNpbmdSZXN1bHQSPgoYcmVxdWVzdGVkX3NhbmRib3hfcG9saWN5GAkgASgLMhcuYWdlbnQudjEuU2FuZGJveFBvbGljeUgAiAEBEigKG2ZpbGVfb3V0cHV0X3RocmVzaG9sZF9ieXRlcxgKIAEoBEgBiAEBEhUKDWlzX2JhY2tncm91bmQYCyABKAgSFQoNc2tpcF9hcHByb3ZhbBgMIAEoCBIYChB0aW1lb3V0X2JlaGF2aW9yGA0gASgFEhkKDGhhcmRfdGltZW91dBgOIAEoBUgCiAEBEhgKC2Rlc2NyaXB0aW9uGA8gASgJSAOIAQESQQoRY2xhc3NpZmllcl9yZXN1bHQYECABKAsyIS5hZ2VudC52MS5Db21tYW5kQ2xhc3NpZmllclJlc3VsdEgEiAEBEhMKC2Nsb3NlX3N0ZGluGBEgASgIEkkKE291dHB1dF9ub3RpZmljYXRpb24YEiABKAsyJy5hZ2VudC52MS5TaGVsbE91dHB1dE5vdGlmaWNhdGlvbkNvbmZpZ0gFiAEBEj0KE3NtYXJ0X21vZGVfYXBwcm92YWwYEyABKAsyGy5hZ2VudC52MS5TbWFydE1vZGVBcHByb3ZhbEgGiAEBEk4KGWhvb2tfYXBwcm92YWxfcmVxdWlyZW1lbnQYFCABKAsyJi5hZ2VudC52MS5TaGVsbEhvb2tBcHByb3ZhbFJlcXVpcmVtZW50SAeIAQESHAoPY29udmVyc2F0aW9uX2lkGBUgASgJSAiIAQFCGwoZX3JlcXVlc3RlZF9zYW5kYm94X3BvbGljeUIeChxfZmlsZV9vdXRwdXRfdGhyZXNob2xkX2J5dGVzQg8KDV9oYXJkX3RpbWVvdXRCDgoMX2Rlc2NyaXB0aW9uQhQKEl9jbGFzc2lmaWVyX3Jlc3VsdEIWChRfb3V0cHV0X25vdGlmaWNhdGlvbkIWChRfc21hcnRfbW9kZV9hcHByb3ZhbEIcChpfaG9va19hcHByb3ZhbF9yZXF1aXJlbWVudEISChBfY29udmVyc2F0aW9uX2lkIvoDCgtTaGVsbFJlc3VsdBI0Cg5zYW5kYm94X3BvbGljeRhlIAEoCzIXLmFnZW50LnYxLlNhbmRib3hQb2xpY3lIAYgBARIaCg1pc19iYWNrZ3JvdW5kGGYgASgISAKIAQESHQoQdGVybWluYWxzX2ZvbGRlchhnIAEoCUgDiAEBEhAKA3BpZBhoIAEoDUgEiAEBEikKB3N1Y2Nlc3MYASABKAsyFi5hZ2VudC52MS5TaGVsbFN1Y2Nlc3NIABIpCgdmYWlsdXJlGAIgASgLMhYuYWdlbnQudjEuU2hlbGxGYWlsdXJlSAASKQoHdGltZW91dBgDIAEoCzIWLmFnZW50LnYxLlNoZWxsVGltZW91dEgAEisKCHJlamVjdGVkGAQgASgLMhcuYWdlbnQudjEuU2hlbGxSZWplY3RlZEgAEjAKC3NwYXduX2Vycm9yGAUgASgLMhkuYWdlbnQudjEuU2hlbGxTcGF3bkVycm9ySAASPAoRcGVybWlzc2lvbl9kZW5pZWQYByABKAsyHy5hZ2VudC52MS5TaGVsbFBlcm1pc3Npb25EZW5pZWRIAEIICgZyZXN1bHRCEQoPX3NhbmRib3hfcG9saWN5QhAKDl9pc19iYWNrZ3JvdW5kQhMKEV90ZXJtaW5hbHNfZm9sZGVyQgYKBF9waWQiIQoRU2hlbGxTdHJlYW1TdGRvdXQSDAoEZGF0YRgBIAEoCSIhChFTaGVsbFN0cmVhbVN0ZGVychIMCgRkYXRhGAEgASgJIvcBCg9TaGVsbFN0cmVhbUV4aXQSDAoEY29kZRgBIAEoDRILCgNjd2QYAiABKAkSNgoPb3V0cHV0X2xvY2F0aW9uGAMgASgLMhguYWdlbnQudjEuT3V0cHV0TG9jYXRpb25IAIgBARIPCgdhYm9ydGVkGAQgASgIEhkKDGFib3J0X3JlYXNvbhgFIAEoBUgBiAEBEiQKF2xvY2FsX2V4ZWN1dGlvbl90aW1lX21zGAYgASgFSAKIAQFCEgoQX291dHB1dF9sb2NhdGlvbkIPCg1fYWJvcnRfcmVhc29uQhoKGF9sb2NhbF9leGVjdXRpb25fdGltZV9tcyJbChBTaGVsbFN0cmVhbVN0YXJ0EjQKDnNhbmRib3hfcG9saWN5GAEgASgLMhcuYWdlbnQudjEuU2FuZGJveFBvbGljeUgAiAEBQhEKD19zYW5kYm94X3BvbGljeSLaAQoXU2hlbGxTdHJlYW1CYWNrZ3JvdW5kZWQSEAoIc2hlbGxfaWQYASABKA0SDwoHY29tbWFuZBgCIAEoCRIZChF3b3JraW5nX2RpcmVjdG9yeRgDIAEoCRIQCgNwaWQYBCABKA1IAIgBARIXCgptc190b193YWl0GAUgASgFSAGIAQESNAoGcmVhc29uGAYgASgOMh8uYWdlbnQudjEuU2hlbGxCYWNrZ3JvdW5kUmVhc29uSAKIAQFCBgoEX3BpZEINCgtfbXNfdG9fd2FpdEIJCgdfcmVhc29uIqwDCgtTaGVsbFN0cmVhbRItCgZzdGRvdXQYASABKAsyGy5hZ2VudC52MS5TaGVsbFN0cmVhbVN0ZG91dEgAEi0KBnN0ZGVychgCIAEoCzIbLmFnZW50LnYxLlNoZWxsU3RyZWFtU3RkZXJySAASKQoEZXhpdBgDIAEoCzIZLmFnZW50LnYxLlNoZWxsU3RyZWFtRXhpdEgAEisKBXN0YXJ0GAQgASgLMhouYWdlbnQudjEuU2hlbGxTdHJlYW1TdGFydEgAEisKCHJlamVjdGVkGAUgASgLMhcuYWdlbnQudjEuU2hlbGxSZWplY3RlZEgAEjwKEXBlcm1pc3Npb25fZGVuaWVkGAYgASgLMh8uYWdlbnQudjEuU2hlbGxQZXJtaXNzaW9uRGVuaWVkSAASOQoMYmFja2dyb3VuZGVkGAcgASgLMiEuYWdlbnQudjEuU2hlbGxTdHJlYW1CYWNrZ3JvdW5kZWRIABI4Cgxob29rX2NvbnRleHQYCCABKAsyIC5hZ2VudC52MS5TaGVsbFN0cmVhbUhvb2tDb250ZXh0SABCBwoFZXZlbnQiSwoOT3V0cHV0TG9jYXRpb24SEQoJZmlsZV9wYXRoGAEgASgJEhIKCnNpemVfYnl0ZXMYAiABKAMSEgoKbGluZV9jb3VudBgDIAEoAyKYBQoMU2hlbGxTdWNjZXNzEg8KB2NvbW1hbmQYASABKAkSGQoRd29ya2luZ19kaXJlY3RvcnkYAiABKAkSEQoJZXhpdF9jb2RlGAMgASgFEg4KBnNpZ25hbBgEIAEoCRIOCgZzdGRvdXQYBSABKAkSDgoGc3RkZXJyGAYgASgJEhYKDmV4ZWN1dGlvbl90aW1lGAcgASgFEjYKD291dHB1dF9sb2NhdGlvbhgIIAEoCzIYLmFnZW50LnYxLk91dHB1dExvY2F0aW9uSACIAQESFQoIc2hlbGxfaWQYCSABKA1IAYgBARIfChJpbnRlcmxlYXZlZF9vdXRwdXQYCiABKAlIAogBARIQCgNwaWQYCyABKA1IA4gBARIXCgptc190b193YWl0GAwgASgFSASIAQESJAoXbG9jYWxfZXhlY3V0aW9uX3RpbWVfbXMYDSABKAVIBYgBARI/ChFiYWNrZ3JvdW5kX3JlYXNvbhgOIAEoDjIfLmFnZW50LnYxLlNoZWxsQmFja2dyb3VuZFJlYXNvbkgGiAEBEhgKC291dHB1dF9oZWFkGA8gASgJSAeIAQESGAoLb3V0cHV0X3RhaWwYECABKAlICIgBARIZCgxlbGlkZWRfY2hhcnMYESABKA1ICYgBAUISChBfb3V0cHV0X2xvY2F0aW9uQgsKCV9zaGVsbF9pZEIVChNfaW50ZXJsZWF2ZWRfb3V0cHV0QgYKBF9waWRCDQoLX21zX3RvX3dhaXRCGgoYX2xvY2FsX2V4ZWN1dGlvbl90aW1lX21zQhQKEl9iYWNrZ3JvdW5kX3JlYXNvbkIOCgxfb3V0cHV0X2hlYWRCDgoMX291dHB1dF90YWlsQg8KDV9lbGlkZWRfY2hhcnMimAQKDFNoZWxsRmFpbHVyZRIPCgdjb21tYW5kGAEgASgJEhkKEXdvcmtpbmdfZGlyZWN0b3J5GAIgASgJEhEKCWV4aXRfY29kZRgDIAEoBRIOCgZzaWduYWwYBCABKAkSDgoGc3Rkb3V0GAUgASgJEg4KBnN0ZGVychgGIAEoCRIWCg5leGVjdXRpb25fdGltZRgHIAEoBRI2Cg9vdXRwdXRfbG9jYXRpb24YCCABKAsyGC5hZ2VudC52MS5PdXRwdXRMb2NhdGlvbkgAiAEBEh8KEmludGVybGVhdmVkX291dHB1dBgJIAEoCUgBiAEBEhkKDGFib3J0X3JlYXNvbhgKIAEoBUgCiAEBEg8KB2Fib3J0ZWQYCyABKAgSJAoXbG9jYWxfZXhlY3V0aW9uX3RpbWVfbXMYDCABKAVIA4gBARIYCgtvdXRwdXRfaGVhZBgNIAEoCUgEiAEBEhgKC291dHB1dF90YWlsGA4gASgJSAWIAQESGQoMZWxpZGVkX2NoYXJzGA8gASgNSAaIAQFCEgoQX291dHB1dF9sb2NhdGlvbkIVChNfaW50ZXJsZWF2ZWRfb3V0cHV0Qg8KDV9hYm9ydF9yZWFzb25CGgoYX2xvY2FsX2V4ZWN1dGlvbl90aW1lX21zQg4KDF9vdXRwdXRfaGVhZEIOCgxfb3V0cHV0X3RhaWxCDwoNX2VsaWRlZF9jaGFycyJOCgxTaGVsbFRpbWVvdXQSDwoHY29tbWFuZBgBIAEoCRIZChF3b3JraW5nX2RpcmVjdG9yeRgCIAEoCRISCgp0aW1lb3V0X21zGAMgASgFImAKDVNoZWxsUmVqZWN0ZWQSDwoHY29tbWFuZBgBIAEoCRIZChF3b3JraW5nX2RpcmVjdG9yeRgCIAEoCRIOCgZyZWFzb24YAyABKAkSEwoLaXNfcmVhZG9ubHkYBCABKAgiZwoVU2hlbGxQZXJtaXNzaW9uRGVuaWVkEg8KB2NvbW1hbmQYASABKAkSGQoRd29ya2luZ19kaXJlY3RvcnkYAiABKAkSDQoFZXJyb3IYAyABKAkSEwoLaXNfcmVhZG9ubHkYBCABKAgiTAoPU2hlbGxTcGF3bkVycm9yEg8KB2NvbW1hbmQYASABKAkSGQoRd29ya2luZ19kaXJlY3RvcnkYAiABKAkSDQoFZXJyb3IYAyABKAkiQAoSU2hlbGxQYXJ0aWFsUmVzdWx0EhQKDHN0ZG91dF9kZWx0YRgBIAEoCRIUCgxzdGRlcnJfZGVsdGEYAiABKAkiWQoNU2hlbGxUb29sQ2FsbBIhCgRhcmdzGAEgASgLMhMuYWdlbnQudjEuU2hlbGxBcmdzEiUKBnJlc3VsdBgCIAEoCzIVLmFnZW50LnYxLlNoZWxsUmVzdWx0IisKGFNoZWxsVG9vbENhbGxTdGRvdXREZWx0YRIPCgdjb250ZW50GAEgASgJIisKGFNoZWxsVG9vbENhbGxTdGRlcnJEZWx0YRIPCgdjb250ZW50GAEgASgJIokBChJTaGVsbFRvb2xDYWxsRGVsdGESNAoGc3Rkb3V0GAEgASgLMiIuYWdlbnQudjEuU2hlbGxUb29sQ2FsbFN0ZG91dERlbHRhSAASNAoGc3RkZXJyGAIgASgLMiIuYWdlbnQudjEuU2hlbGxUb29sQ2FsbFN0ZGVyckRlbHRhSABCBwoFZGVsdGEi7QEKDFN1YmFnZW50VHlwZRI4Cgt1bnNwZWNpZmllZBgBIAEoCzIhLmFnZW50LnYxLlN1YmFnZW50VHlwZVVuc3BlY2lmaWVkSAASOQoMY29tcHV0ZXJfdXNlGAIgASgLMiEuYWdlbnQudjEuU3ViYWdlbnRUeXBlQ29tcHV0ZXJVc2VIABIuCgZjdXN0b20YAyABKAsyHC5hZ2VudC52MS5TdWJhZ2VudFR5cGVDdXN0b21IABIwCgdleHBsb3JlGAQgASgLMh0uYWdlbnQudjEuU3ViYWdlbnRUeXBlRXhwbG9yZUgAQgYKBHR5cGUiGQoXU3ViYWdlbnRUeXBlVW5zcGVjaWZpZWQiGQoXU3ViYWdlbnRUeXBlQ29tcHV0ZXJVc2UiFQoTU3ViYWdlbnRUeXBlRXhwbG9yZSIiChJTdWJhZ2VudFR5cGVDdXN0b20SDAoEbmFtZRgBIAEoCSKNAQoOQ3VzdG9tU3ViYWdlbnQSEQoJZnVsbF9wYXRoGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDQoFdG9vbHMYBCADKAkSDQoFbW9kZWwYBSABKAkSDgoGcHJvbXB0GAYgASgJEhcKD3Blcm1pc3Npb25fbW9kZRgHIAEoBSJoCg5Td2l0Y2hNb2RlQXJncxIWCg50YXJnZXRfbW9kZV9pZBgBIAEoCRIYCgtleHBsYW5hdGlvbhgCIAEoCUgAiAEBEhQKDHRvb2xfY2FsbF9pZBgDIAEoCUIOCgxfZXhwbGFuYXRpb24iqgEKEFN3aXRjaE1vZGVSZXN1bHQSLgoHc3VjY2VzcxgBIAEoCzIbLmFnZW50LnYxLlN3aXRjaE1vZGVTdWNjZXNzSAASKgoFZXJyb3IYAiABKAsyGS5hZ2VudC52MS5Td2l0Y2hNb2RlRXJyb3JIABIwCghyZWplY3RlZBgDIAEoCzIcLmFnZW50LnYxLlN3aXRjaE1vZGVSZWplY3RlZEgAQggKBnJlc3VsdCI9ChFTd2l0Y2hNb2RlU3VjY2VzcxIUCgxmcm9tX21vZGVfaWQYASABKAkSEgoKdG9fbW9kZV9pZBgCIAEoCSIgCg9Td2l0Y2hNb2RlRXJyb3ISDQoFZXJyb3IYASABKAkiJAoSU3dpdGNoTW9kZVJlamVjdGVkEg4KBnJlYXNvbhgBIAEoCSJoChJTd2l0Y2hNb2RlVG9vbENhbGwSJgoEYXJncxgBIAEoCzIYLmFnZW50LnYxLlN3aXRjaE1vZGVBcmdzEioKBnJlc3VsdBgCIAEoCzIaLmFnZW50LnYxLlN3aXRjaE1vZGVSZXN1bHQiQAoWU3dpdGNoTW9kZVJlcXVlc3RRdWVyeRImCgRhcmdzGAEgASgLMhguYWdlbnQudjEuU3dpdGNoTW9kZUFyZ3MiqQEKGVN3aXRjaE1vZGVSZXF1ZXN0UmVzcG9uc2USQAoIYXBwcm92ZWQYASABKAsyLC5hZ2VudC52MS5Td2l0Y2hNb2RlUmVxdWVzdFJlc3BvbnNlX0FwcHJvdmVkSAASQAoIcmVqZWN0ZWQYAiABKAsyLC5hZ2VudC52MS5Td2l0Y2hNb2RlUmVxdWVzdFJlc3BvbnNlX1JlamVjdGVkSABCCAoGcmVzdWx0IiQKIlN3aXRjaE1vZGVSZXF1ZXN0UmVzcG9uc2VfQXBwcm92ZWQiNAoiU3dpdGNoTW9kZVJlcXVlc3RSZXNwb25zZV9SZWplY3RlZBIOCgZyZWFzb24YASABKAkidQoIVG9kb0l0ZW0SCgoCaWQYASABKAkSDwoHY29udGVudBgCIAEoCRIOCgZzdGF0dXMYAyABKAUSEgoKY3JlYXRlZF9hdBgEIAEoAxISCgp1cGRhdGVkX2F0GAUgASgDEhQKDGRlcGVuZGVuY2llcxgGIAMoCSJrChNVcGRhdGVUb2Rvc1Rvb2xDYWxsEicKBGFyZ3MYASABKAsyGS5hZ2VudC52MS5VcGRhdGVUb2Rvc0FyZ3MSKwoGcmVzdWx0GAIgASgLMhsuYWdlbnQudjEuVXBkYXRlVG9kb3NSZXN1bHQiQwoPVXBkYXRlVG9kb3NBcmdzEiEKBXRvZG9zGAEgAygLMhIuYWdlbnQudjEuVG9kb0l0ZW0SDQoFbWVyZ2UYAiABKAgiewoRVXBkYXRlVG9kb3NSZXN1bHQSLwoHc3VjY2VzcxgBIAEoCzIcLmFnZW50LnYxLlVwZGF0ZVRvZG9zU3VjY2Vzc0gAEisKBWVycm9yGAIgASgLMhouYWdlbnQudjEuVXBkYXRlVG9kb3NFcnJvckgAQggKBnJlc3VsdCJfChJVcGRhdGVUb2Rvc1N1Y2Nlc3MSIQoFdG9kb3MYASADKAsyEi5hZ2VudC52MS5Ub2RvSXRlbRITCgt0b3RhbF9jb3VudBgCIAEoBRIRCgl3YXNfbWVyZ2UYAyABKAgiIQoQVXBkYXRlVG9kb3NFcnJvchINCgVlcnJvchgBIAEoCSJlChFSZWFkVG9kb3NUb29sQ2FsbBIlCgRhcmdzGAEgASgLMhcuYWdlbnQudjEuUmVhZFRvZG9zQXJncxIpCgZyZXN1bHQYAiABKAsyGS5hZ2VudC52MS5SZWFkVG9kb3NSZXN1bHQiOQoNUmVhZFRvZG9zQXJncxIVCg1zdGF0dXNfZmlsdGVyGAEgAygFEhEKCWlkX2ZpbHRlchgCIAMoCSJ1Cg9SZWFkVG9kb3NSZXN1bHQSLQoHc3VjY2VzcxgBIAEoCzIaLmFnZW50LnYxLlJlYWRUb2Rvc1N1Y2Nlc3NIABIpCgVlcnJvchgCIAEoCzIYLmFnZW50LnYxLlJlYWRUb2Rvc0Vycm9ySABCCAoGcmVzdWx0IkoKEFJlYWRUb2Rvc1N1Y2Nlc3MSIQoFdG9kb3MYASADKAsyEi5hZ2VudC52MS5Ub2RvSXRlbRITCgt0b3RhbF9jb3VudBgCIAEoBSIfCg5SZWFkVG9kb3NFcnJvchINCgVlcnJvchgBIAEoCSJLCgVSYW5nZRIhCgVzdGFydBgBIAEoCzISLmFnZW50LnYxLlBvc2l0aW9uEh8KA2VuZBgCIAEoCzISLmFnZW50LnYxLlBvc2l0aW9uIigKCFBvc2l0aW9uEgwKBGxpbmUYASABKA0SDgoGY29sdW1uGAIgASgNIhgKBUVycm9yEg8KB21lc3NhZ2UYASABKAkiOgoNV2ViU2VhcmNoQXJncxITCgtzZWFyY2hfdGVybRgBIAEoCRIUCgx0b29sX2NhbGxfaWQYAiABKAkipgEKD1dlYlNlYXJjaFJlc3VsdBItCgdzdWNjZXNzGAEgASgLMhouYWdlbnQudjEuV2ViU2VhcmNoU3VjY2Vzc0gAEikKBWVycm9yGAIgASgLMhguYWdlbnQudjEuV2ViU2VhcmNoRXJyb3JIABIvCghyZWplY3RlZBgDIAEoCzIbLmFnZW50LnYxLldlYlNlYXJjaFJlamVjdGVkSABCCAoGcmVzdWx0IkQKEFdlYlNlYXJjaFN1Y2Nlc3MSMAoKcmVmZXJlbmNlcxgBIAMoCzIcLmFnZW50LnYxLldlYlNlYXJjaFJlZmVyZW5jZSIfCg5XZWJTZWFyY2hFcnJvchINCgVlcnJvchgBIAEoCSIjChFXZWJTZWFyY2hSZWplY3RlZBIOCgZyZWFzb24YASABKAkiPwoSV2ViU2VhcmNoUmVmZXJlbmNlEg0KBXRpdGxlGAEgASgJEgsKA3VybBgCIAEoCRINCgVjaHVuaxgDIAEoCSJlChFXZWJTZWFyY2hUb29sQ2FsbBIlCgRhcmdzGAEgASgLMhcuYWdlbnQudjEuV2ViU2VhcmNoQXJncxIpCgZyZXN1bHQYAiABKAsyGS5hZ2VudC52MS5XZWJTZWFyY2hSZXN1bHQiPgoVV2ViU2VhcmNoUmVxdWVzdFF1ZXJ5EiUKBGFyZ3MYASABKAsyFy5hZ2VudC52MS5XZWJTZWFyY2hBcmdzIqYBChhXZWJTZWFyY2hSZXF1ZXN0UmVzcG9uc2USPwoIYXBwcm92ZWQYASABKAsyKy5hZ2VudC52MS5XZWJTZWFyY2hSZXF1ZXN0UmVzcG9uc2VfQXBwcm92ZWRIABI/CghyZWplY3RlZBgCIAEoCzIrLmFnZW50LnYxLldlYlNlYXJjaFJlcXVlc3RSZXNwb25zZV9SZWplY3RlZEgAQggKBnJlc3VsdCIjCiFXZWJTZWFyY2hSZXF1ZXN0UmVzcG9uc2VfQXBwcm92ZWQiMwohV2ViU2VhcmNoUmVxdWVzdFJlc3BvbnNlX1JlamVjdGVkEg4KBnJlYXNvbhgBIAEoCSKtAQoJV3JpdGVBcmdzEgwKBHBhdGgYASABKAkSEQoJZmlsZV90ZXh0GAIgASgJEhQKDHRvb2xfY2FsbF9pZBgDIAEoCRInCh9yZXR1cm5fZmlsZV9jb250ZW50X2FmdGVyX3dyaXRlGAQgASgIEhIKCmZpbGVfYnl0ZXMYBSABKAwSGgoNZW5jb2RpbmdfaGludBgGIAEoCUgAiAEBQhAKDl9lbmNvZGluZ19oaW50IoACCgtXcml0ZVJlc3VsdBIpCgdzdWNjZXNzGAEgASgLMhYuYWdlbnQudjEuV3JpdGVTdWNjZXNzSAASPAoRcGVybWlzc2lvbl9kZW5pZWQYAyABKAsyHy5hZ2VudC52MS5Xcml0ZVBlcm1pc3Npb25EZW5pZWRIABIqCghub19zcGFjZRgEIAEoCzIWLmFnZW50LnYxLldyaXRlTm9TcGFjZUgAEiUKBWVycm9yGAUgASgLMhQuYWdlbnQudjEuV3JpdGVFcnJvckgAEisKCHJlamVjdGVkGAYgASgLMhcuYWdlbnQudjEuV3JpdGVSZWplY3RlZEgAQggKBnJlc3VsdCKKAQoMV3JpdGVTdWNjZXNzEgwKBHBhdGgYASABKAkSFQoNbGluZXNfY3JlYXRlZBgCIAEoBRIRCglmaWxlX3NpemUYAyABKAUSJQoYZmlsZV9jb250ZW50X2FmdGVyX3dyaXRlGAQgASgJSACIAQFCGwoZX2ZpbGVfY29udGVudF9hZnRlcl93cml0ZSJvChVXcml0ZVBlcm1pc3Npb25EZW5pZWQSDAoEcGF0aBgBIAEoCRIRCglkaXJlY3RvcnkYAiABKAkSEQoJb3BlcmF0aW9uGAMgASgJEg0KBWVycm9yGAQgASgJEhMKC2lzX3JlYWRvbmx5GAUgASgIIhwKDFdyaXRlTm9TcGFjZRIMCgRwYXRoGAEgASgJIikKCldyaXRlRXJyb3ISDAoEcGF0aBgBIAEoCRINCgVlcnJvchgCIAEoCSItCg1Xcml0ZVJlamVjdGVkEgwKBHBhdGgYASABKAkSDgoGcmVhc29uGAIgASgJIoMBChdCb290c3RyYXBTdGF0c2lnUmVxdWVzdBIeChFpZ25vcmVfZGV2X3N0YXR1cxgBIAEoCEgAiAEBEh0KEG9wZXJhdGluZ19zeXN0ZW0YAiABKAVIAYgBAUIUChJfaWdub3JlX2Rldl9zdGF0dXNCEwoRX29wZXJhdGluZ19zeXN0ZW0iDgoMUGluZ1Jlc3BvbnNlIrcBCgtFeGVjUmVxdWVzdBIPCgdjb21tYW5kGAEgASgJEhAKA2N3ZBgCIAEoCUgAiAEBEgwKBGFyZ3MYAyADKAkSOwoLZW52aXJvbm1lbnQYBCADKAsyJi5hZ2VudC52MS5FeGVjUmVxdWVzdC5FbnZpcm9ubWVudEVudHJ5GjIKEEVudmlyb25tZW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUIGCgRfY3dkIqABCgxFeGVjUmVzcG9uc2USLQoMc3Rkb3V0X2V2ZW50GAEgASgLMhUuYWdlbnQudjEuU3Rkb3V0RXZlbnRIABItCgxzdGRlcnJfZXZlbnQYAiABKAsyFS5hZ2VudC52MS5TdGRlcnJFdmVudEgAEikKCmV4aXRfZXZlbnQYAyABKAsyEy5hZ2VudC52MS5FeGl0RXZlbnRIAEIHCgVldmVudCIbCgtTdGRvdXRFdmVudBIMCgRkYXRhGAEgASgJIhsKC1N0ZGVyckV2ZW50EgwKBGRhdGEYASABKAkiHgoJRXhpdEV2ZW50EhEKCWV4aXRfY29kZRgBIAEoBSIjChNSZWFkVGV4dEZpbGVSZXF1ZXN0EgwKBHBhdGgYASABKAkiJwoUUmVhZFRleHRGaWxlUmVzcG9uc2USDwoHY29udGVudBgBIAEoCSI1ChRXcml0ZVRleHRGaWxlUmVxdWVzdBIMCgRwYXRoGAEgASgJEg8KB2NvbnRlbnQYAiABKAkiFwoVV3JpdGVUZXh0RmlsZVJlc3BvbnNlIiUKFVJlYWRCaW5hcnlGaWxlUmVxdWVzdBIMCgRwYXRoGAEgASgJIikKFlJlYWRCaW5hcnlGaWxlUmVzcG9uc2USDwoHY29udGVudBgBIAEoDCI3ChZXcml0ZUJpbmFyeUZpbGVSZXF1ZXN0EgwKBHBhdGgYASABKAkSDwoHY29udGVudBgCIAEoDCIZChdXcml0ZUJpbmFyeUZpbGVSZXNwb25zZSJFCh5HZXRXb3Jrc3BhY2VDaGFuZ2VzSGFzaFJlcXVlc3QSEQoJcm9vdF9wYXRoGAEgASgJEhAKCGJhc2VfcmVmGAIgASgJIi8KH0dldFdvcmtzcGFjZUNoYW5nZXNIYXNoUmVzcG9uc2USDAoEaGFzaBgBIAEoCSJQCh9SZWZyZXNoR2l0aHViQWNjZXNzVG9rZW5SZXF1ZXN0EhsKE2dpdGh1Yl9hY2Nlc3NfdG9rZW4YASABKAkSEAoIaG9zdG5hbWUYAiABKAkiIgogUmVmcmVzaEdpdGh1YkFjY2Vzc1Rva2VuUmVzcG9uc2UiVwodV2FybVJlbW90ZUFjY2Vzc1NlcnZlclJlcXVlc3QSDgoGY29tbWl0GAEgASgJEgwKBHBvcnQYAiABKAUSGAoQY29ubmVjdGlvbl90b2tlbhgDIAEoCSIgCh5XYXJtUmVtb3RlQWNjZXNzU2VydmVyUmVzcG9uc2UiFgoUTGlzdEFydGlmYWN0c1JlcXVlc3QiigIKFkFydGlmYWN0VXBsb2FkTWV0YWRhdGESFQoNYWJzb2x1dGVfcGF0aBgBIAEoCRISCgpzaXplX2J5dGVzGAIgASgEEhoKEnVwZGF0ZWRfYXRfdW5peF9tcxgDIAEoAxIOCgZzdGF0dXMYBCABKAUSFgoOYnl0ZXNfdXBsb2FkZWQYBSABKAQSEgoKbGFzdF9lcnJvchgGIAEoCRIXCg91cGxvYWRfYXR0ZW1wdHMYByABKA0SHwoXbGFzdF9zdGFydGVkX2F0X3VuaXhfbXMYCCABKAMSIAoYbGFzdF9maW5pc2hlZF9hdF91bml4X21zGAkgASgDEhEKCXVwbG9hZF9pZBgKIAEoCSJMChVMaXN0QXJ0aWZhY3RzUmVzcG9uc2USMwoJYXJ0aWZhY3RzGAEgAygLMiAuYWdlbnQudjEuQXJ0aWZhY3RVcGxvYWRNZXRhZGF0YSJOChZVcGxvYWRBcnRpZmFjdHNSZXF1ZXN0EjQKB3VwbG9hZHMYASADKAsyIy5hZ2VudC52MS5BcnRpZmFjdFVwbG9hZEluc3RydWN0aW9uItcCChlBcnRpZmFjdFVwbG9hZEluc3RydWN0aW9uEhUKDWFic29sdXRlX3BhdGgYASABKAkSEgoKdXBsb2FkX3VybBgCIAEoCRIOCgZtZXRob2QYAyABKAkSQQoHaGVhZGVycxgEIAMoCzIwLmFnZW50LnYxLkFydGlmYWN0VXBsb2FkSW5zdHJ1Y3Rpb24uSGVhZGVyc0VudHJ5EhkKDGNvbnRlbnRfdHlwZRgFIAEoCUgAiAEBEh0KEHNsYWNrX3VwbG9hZF91cmwYBiABKAlIAYgBARIaCg1zbGFja19maWxlX2lkGAcgASgJSAKIAQEaLgoMSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCDwoNX2NvbnRlbnRfdHlwZUITChFfc2xhY2tfdXBsb2FkX3VybEIQCg5fc2xhY2tfZmlsZV9pZCKEAQocQXJ0aWZhY3RVcGxvYWREaXNwYXRjaFJlc3VsdBIVCg1hYnNvbHV0ZV9wYXRoGAEgASgJEg4KBnN0YXR1cxgCIAEoBRIPCgdtZXNzYWdlGAMgASgJEhoKDXNsYWNrX2ZpbGVfaWQYBCABKAlIAIgBAUIQCg5fc2xhY2tfZmlsZV9pZCJSChdVcGxvYWRBcnRpZmFjdHNSZXNwb25zZRI3CgdyZXN1bHRzGAEgAygLMiYuYWdlbnQudjEuQXJ0aWZhY3RVcGxvYWREaXNwYXRjaFJlc3VsdCIcChpHZXRNY3BSZWZyZXNoVG9rZW5zUmVxdWVzdCKlAQobR2V0TWNwUmVmcmVzaFRva2Vuc1Jlc3BvbnNlElAKDnJlZnJlc2hfdG9rZW5zGAEgAygLMjguYWdlbnQudjEuR2V0TWNwUmVmcmVzaFRva2Vuc1Jlc3BvbnNlLlJlZnJlc2hUb2tlbnNFbnRyeRo0ChJSZWZyZXNoVG9rZW5zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKjAQohVXBkYXRlRW52aXJvbm1lbnRWYXJpYWJsZXNSZXF1ZXN0EkEKA2VudhgBIAMoCzI0LmFnZW50LnYxLlVwZGF0ZUVudmlyb25tZW50VmFyaWFibGVzUmVxdWVzdC5FbnZFbnRyeRIPCgdyZXBsYWNlGAIgASgIGioKCEVudkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiRgoiVXBkYXRlRW52aXJvbm1lbnRWYXJpYWJsZXNSZXNwb25zZRIPCgdhcHBsaWVkGAEgASgNEg8KB3JlbW92ZWQYAiABKA0igwEKEk1jcE9BdXRoU3RvcmVkRGF0YRIVCg1yZWZyZXNoX3Rva2VuGAEgASgJEhEKCWNsaWVudF9pZBgCIAEoCRIaCg1jbGllbnRfc2VjcmV0GAMgASgJSACIAQESFQoNcmVkaXJlY3RfdXJpcxgEIAMoCUIQCg5fY2xpZW50X3NlY3JldCJOCgVGcmFtZRIKCgJpZBgBIAEoCRIOCgZtZXRob2QYAiABKAkSDAoEZGF0YRgDIAEoDBIMCgRraW5kGAQgASgFEg0KBWVycm9yGAUgASgJIgcKBUVtcHR5IiMKDUJpZGlSZXF1ZXN0SWQSEgoKcmVxdWVzdF9pZBgBIAEoCSKBAgoMUGlUcnVuY2F0aW9uEhEKCXRydW5jYXRlZBgBIAEoCBIUCgx0cnVuY2F0ZWRfYnkYAiABKAkSEwoLdG90YWxfbGluZXMYAyABKA0SFAoMb3V0cHV0X2xpbmVzGAQgASgNEhQKDG91dHB1dF9ieXRlcxgFIAEoDRIWCgltYXhfbGluZXMYBiABKA1IAIgBARIWCgltYXhfYnl0ZXMYByABKA1IAYgBARIgChhmaXJzdF9saW5lX2V4Y2VlZHNfbGltaXQYCCABKAgSGQoRbGFzdF9saW5lX3BhcnRpYWwYCSABKAhCDAoKX21heF9saW5lc0IMCgpfbWF4X2J5dGVzIjcKEVBpRWRpdFJlcGxhY2VtZW50EhAKCG9sZF90ZXh0GAEgASgJEhAKCG5ld190ZXh0GAIgASgJIlwKDlBpUmVhZEV4ZWNBcmdzEgwKBHBhdGgYASABKAkSEwoGb2Zmc2V0GAIgASgFSACIAQESEgoFbGltaXQYAyABKAVIAYgBAUIJCgdfb2Zmc2V0QggKBl9saW1pdCJjChFQaVJlYWRFeGVjU3VjY2VzcxIOCgZvdXRwdXQYASABKAkSLwoKdHJ1bmNhdGlvbhgCIAEoCzIWLmFnZW50LnYxLlBpVHJ1bmNhdGlvbkgAiAEBQg0KC190cnVuY2F0aW9uIiAKD1BpUmVhZEV4ZWNFcnJvchINCgVlcnJvchgBIAEoCSJ4ChBQaVJlYWRFeGVjUmVzdWx0Ei4KB3N1Y2Nlc3MYASABKAsyGy5hZ2VudC52MS5QaVJlYWRFeGVjU3VjY2Vzc0gAEioKBWVycm9yGAIgASgLMhkuYWdlbnQudjEuUGlSZWFkRXhlY0Vycm9ySABCCAoGcmVzdWx0IkMKDlBpQmFzaEV4ZWNBcmdzEg8KB2NvbW1hbmQYASABKAkSFAoHdGltZW91dBgCIAEoAUgAiAEBQgoKCF90aW1lb3V0IpcBChFQaUJhc2hFeGVjU3VjY2VzcxIOCgZvdXRwdXQYASABKAkSLwoKdHJ1bmNhdGlvbhgCIAEoCzIWLmFnZW50LnYxLlBpVHJ1bmNhdGlvbkgAiAEBEh0KEGZ1bGxfb3V0cHV0X3BhdGgYAyABKAlIAYgBAUINCgtfdHJ1bmNhdGlvbkITChFfZnVsbF9vdXRwdXRfcGF0aCKUAQoPUGlCYXNoRXhlY0Vycm9yEg0KBWVycm9yGAEgASgJEi8KCnRydW5jYXRpb24YAiABKAsyFi5hZ2VudC52MS5QaVRydW5jYXRpb25IAIgBARIdChBmdWxsX291dHB1dF9wYXRoGAMgASgJSAGIAQFCDQoLX3RydW5jYXRpb25CEwoRX2Z1bGxfb3V0cHV0X3BhdGgieAoQUGlCYXNoRXhlY1Jlc3VsdBIuCgdzdWNjZXNzGAEgASgLMhsuYWdlbnQudjEuUGlCYXNoRXhlY1N1Y2Nlc3NIABIqCgVlcnJvchgCIAEoCzIZLmFnZW50LnYxLlBpQmFzaEV4ZWNFcnJvckgAQggKBnJlc3VsdCJKCg5QaUVkaXRFeGVjQXJncxIMCgRwYXRoGAEgASgJEioKBWVkaXRzGAIgAygLMhsuYWdlbnQudjEuUGlFZGl0UmVwbGFjZW1lbnQieAoRUGlFZGl0RXhlY1N1Y2Nlc3MSDgoGb3V0cHV0GAEgASgJEgwKBGRpZmYYAiABKAkSDQoFcGF0Y2gYAyABKAkSHwoSZmlyc3RfY2hhbmdlZF9saW5lGAQgASgNSACIAQFCFQoTX2ZpcnN0X2NoYW5nZWRfbGluZSIgCg9QaUVkaXRFeGVjRXJyb3ISDQoFZXJyb3IYASABKAkiJAoSUGlFZGl0RXhlY1JlamVjdGVkEg4KBnJlYXNvbhgBIAEoCSKqAQoQUGlFZGl0RXhlY1Jlc3VsdBIuCgdzdWNjZXNzGAEgASgLMhsuYWdlbnQudjEuUGlFZGl0RXhlY1N1Y2Nlc3NIABIqCgVlcnJvchgCIAEoCzIZLmFnZW50LnYxLlBpRWRpdEV4ZWNFcnJvckgAEjAKCHJlamVjdGVkGAMgASgLMhwuYWdlbnQudjEuUGlFZGl0RXhlY1JlamVjdGVkSABCCAoGcmVzdWx0IjAKD1BpV3JpdGVFeGVjQXJncxIMCgRwYXRoGAEgASgJEg8KB2NvbnRlbnQYAiABKAkiJAoSUGlXcml0ZUV4ZWNTdWNjZXNzEg4KBm91dHB1dBgBIAEoCSIhChBQaVdyaXRlRXhlY0Vycm9yEg0KBWVycm9yGAEgASgJIiUKE1BpV3JpdGVFeGVjUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIq4BChFQaVdyaXRlRXhlY1Jlc3VsdBIvCgdzdWNjZXNzGAEgASgLMhwuYWdlbnQudjEuUGlXcml0ZUV4ZWNTdWNjZXNzSAASKwoFZXJyb3IYAiABKAsyGi5hZ2VudC52MS5QaVdyaXRlRXhlY0Vycm9ySAASMQoIcmVqZWN0ZWQYAyABKAsyHS5hZ2VudC52MS5QaVdyaXRlRXhlY1JlamVjdGVkSABCCAoGcmVzdWx0IuUBCg5QaUdyZXBFeGVjQXJncxIPCgdwYXR0ZXJuGAEgASgJEhEKBHBhdGgYAiABKAlIAIgBARIRCgRnbG9iGAMgASgJSAGIAQESGAoLaWdub3JlX2Nhc2UYBCABKAhIAogBARIUCgdsaXRlcmFsGAUgASgISAOIAQESFAoHY29udGV4dBgGIAEoBUgEiAEBEhIKBWxpbWl0GAcgASgFSAWIAQFCBwoFX3BhdGhCBwoFX2dsb2JCDgoMX2lnbm9yZV9jYXNlQgoKCF9saXRlcmFsQgoKCF9jb250ZXh0QggKBl9saW1pdCK2AQoRUGlHcmVwRXhlY1N1Y2Nlc3MSDgoGb3V0cHV0GAEgASgJEi8KCnRydW5jYXRpb24YAiABKAsyFi5hZ2VudC52MS5QaVRydW5jYXRpb25IAIgBARIgChNtYXRjaF9saW1pdF9yZWFjaGVkGAMgASgNSAGIAQESFwoPbGluZXNfdHJ1bmNhdGVkGAQgASgIQg0KC190cnVuY2F0aW9uQhYKFF9tYXRjaF9saW1pdF9yZWFjaGVkIiAKD1BpR3JlcEV4ZWNFcnJvchINCgVlcnJvchgBIAEoCSJ4ChBQaUdyZXBFeGVjUmVzdWx0Ei4KB3N1Y2Nlc3MYASABKAsyGy5hZ2VudC52MS5QaUdyZXBFeGVjU3VjY2Vzc0gAEioKBWVycm9yGAIgASgLMhkuYWdlbnQudjEuUGlHcmVwRXhlY0Vycm9ySABCCAoGcmVzdWx0IlsKDlBpRmluZEV4ZWNBcmdzEg8KB3BhdHRlcm4YASABKAkSEQoEcGF0aBgCIAEoCUgAiAEBEhIKBWxpbWl0GAMgASgFSAGIAQFCBwoFX3BhdGhCCAoGX2xpbWl0Ip8BChFQaUZpbmRFeGVjU3VjY2VzcxIOCgZvdXRwdXQYASABKAkSLwoKdHJ1bmNhdGlvbhgCIAEoCzIWLmFnZW50LnYxLlBpVHJ1bmNhdGlvbkgAiAEBEiEKFHJlc3VsdF9saW1pdF9yZWFjaGVkGAMgASgNSAGIAQFCDQoLX3RydW5jYXRpb25CFwoVX3Jlc3VsdF9saW1pdF9yZWFjaGVkIiAKD1BpRmluZEV4ZWNFcnJvchINCgVlcnJvchgBIAEoCSJ4ChBQaUZpbmRFeGVjUmVzdWx0Ei4KB3N1Y2Nlc3MYASABKAsyGy5hZ2VudC52MS5QaUZpbmRFeGVjU3VjY2Vzc0gAEioKBWVycm9yGAIgASgLMhkuYWdlbnQudjEuUGlGaW5kRXhlY0Vycm9ySABCCAoGcmVzdWx0IkgKDFBpTHNFeGVjQXJncxIRCgRwYXRoGAEgASgJSACIAQESEgoFbGltaXQYAiABKAVIAYgBAUIHCgVfcGF0aEIICgZfbGltaXQimwEKD1BpTHNFeGVjU3VjY2VzcxIOCgZvdXRwdXQYASABKAkSLwoKdHJ1bmNhdGlvbhgCIAEoCzIWLmFnZW50LnYxLlBpVHJ1bmNhdGlvbkgAiAEBEiAKE2VudHJ5X2xpbWl0X3JlYWNoZWQYAyABKA1IAYgBAUINCgtfdHJ1bmNhdGlvbkIWChRfZW50cnlfbGltaXRfcmVhY2hlZCIeCg1QaUxzRXhlY0Vycm9yEg0KBWVycm9yGAEgASgJInIKDlBpTHNFeGVjUmVzdWx0EiwKB3N1Y2Nlc3MYASABKAsyGS5hZ2VudC52MS5QaUxzRXhlY1N1Y2Nlc3NIABIoCgVlcnJvchgCIAEoCzIXLmFnZW50LnYxLlBpTHNFeGVjRXJyb3JIAEIICgZyZXN1bHQiPAoRTWNwU2VydmVyTm90Rm91bmQSDAoEbmFtZRgBIAEoCRIZChFhdmFpbGFibGVfc2VydmVycxgCIAMoCSINCgtNY3BBcHByb3ZlZCJBChBNY3BTdGF0ZUV4ZWNBcmdzEhoKEnNlcnZlcl9pZGVudGlmaWVycxgBIAMoCRIRCglraWNrX29ubHkYAiABKAgihwIKDk1jcFN0YXRlU2VydmVyEhMKC3NlcnZlcl9uYW1lGAEgASgJEhkKEXNlcnZlcl9pZGVudGlmaWVyGAIgASgJEhMKBnBsdWdpbhgDIAEoCUgAiAEBEhgKC21hcmtldHBsYWNlGAQgASgJSAGIAQESKgoFdG9vbHMYBSADKAsyGy5hZ2VudC52MS5NY3BUb29sRGVmaW5pdGlvbhIvCgxpbnN0cnVjdGlvbnMYBiADKAsyGS5hZ2VudC52MS5NY3BJbnN0cnVjdGlvbnMSEwoGc3RhdHVzGAcgASgJSAKIAQFCCQoHX3BsdWdpbkIOCgxfbWFya2V0cGxhY2VCCQoHX3N0YXR1cyI8Cg9NY3BTdGF0ZVN1Y2Nlc3MSKQoHc2VydmVycxgBIAMoCzIYLmFnZW50LnYxLk1jcFN0YXRlU2VydmVyIh4KDU1jcFN0YXRlRXJyb3ISDQoFZXJyb3IYASABKAkiIgoQTWNwU3RhdGVSZWplY3RlZBIOCgZyZWFzb24YASABKAkipgEKEk1jcFN0YXRlRXhlY1Jlc3VsdBIsCgdzdWNjZXNzGAEgASgLMhkuYWdlbnQudjEuTWNwU3RhdGVTdWNjZXNzSAASKAoFZXJyb3IYAiABKAsyFy5hZ2VudC52MS5NY3BTdGF0ZUVycm9ySAASLgoIcmVqZWN0ZWQYAyABKAsyGi5hZ2VudC52MS5NY3BTdGF0ZVJlamVjdGVkSABCCAoGcmVzdWx0Iq0BCilDb21tYW5kQ2xhc3NpZmllclJlc3VsdF9DbGFzc2lmaWVkQ29tbWFuZBIMCgRuYW1lGAEgASgJEhEKCWFyZ3VtZW50cxgCIAMoCRImChlzdWdnZXN0ZWRfYWxsb3dsaXN0X2VudHJ5GAMgASgJSACIAQESGQoRc3ViY29tbWFuZF90b2tlbnMYBCADKAlCHAoaX3N1Z2dlc3RlZF9hbGxvd2xpc3RfZW50cnki1wEKF0NvbW1hbmRDbGFzc2lmaWVyUmVzdWx0EkUKCGNvbW1hbmRzGAEgAygLMjMuYWdlbnQudjEuQ29tbWFuZENsYXNzaWZpZXJSZXN1bHRfQ2xhc3NpZmllZENvbW1hbmQSVgoWc3VnZ2VzdGVkX3NhbmRib3hfbW9kZRgCIAEoDjI2LmFnZW50LnYxLkNvbW1hbmRDbGFzc2lmaWVyUmVzdWx0X1N1Z2dlc3RlZFNhbmRib3hNb2RlEh0KFWNsYXNzaWZpY2F0aW9uX2ZhaWxlZBgDIAEoCCKTAQoiU2hlbGxDb21tYW5kUGFyc2luZ1Jlc3VsdF9SZWRpcmVjdBIQCghvcGVyYXRvchgBIAEoCRIXCg9kZXN0aW5hdGlvbl9mZHMYAiADKA0SGAoQdGFyZ2V0X25vZGVfdHlwZRgDIAEoCRIYCgt0YXJnZXRfdGV4dBgEIAEoCUgAiAEBQg4KDF90YXJnZXRfdGV4dCKKAgoaU2hlbGxBbGxvd2xpc3RQcmVjaGVja0FyZ3MSDwoHY29tbWFuZBgBIAEoCRIZChF3b3JraW5nX2RpcmVjdG9yeRgCIAEoCRI7Cg5wYXJzaW5nX3Jlc3VsdBgDIAEoCzIjLmFnZW50LnYxLlNoZWxsQ29tbWFuZFBhcnNpbmdSZXN1bHQSQQoRY2xhc3NpZmllcl9yZXN1bHQYBCABKAsyIS5hZ2VudC52MS5Db21tYW5kQ2xhc3NpZmllclJlc3VsdEgAiAEBEhkKDHRvb2xfY2FsbF9pZBgFIAEoCUgBiAEBQhQKEl9jbGFzc2lmaWVyX3Jlc3VsdEIPCg1fdG9vbF9jYWxsX2lkIjMKHFNoZWxsQWxsb3dsaXN0UHJlY2hlY2tSZXN1bHQSEwoLYWxsb3dsaXN0ZWQYASABKAgidgoYTWNwQWxsb3dsaXN0UHJlY2hlY2tBcmdzEhsKE3Byb3ZpZGVyX2lkZW50aWZpZXIYASABKAkSEQoJdG9vbF9uYW1lGAIgASgJEhkKDHRvb2xfY2FsbF9pZBgDIAEoCUgAiAEBQg8KDV90b29sX2NhbGxfaWQiMQoaTWNwQWxsb3dsaXN0UHJlY2hlY2tSZXN1bHQSEwoLYWxsb3dsaXN0ZWQYASABKAgiWAodV2ViRmV0Y2hBbGxvd2xpc3RQcmVjaGVja0FyZ3MSCwoDdXJsGAEgASgJEhkKDHRvb2xfY2FsbF9pZBgCIAEoCUgAiAEBQg8KDV90b29sX2NhbGxfaWQiNgofV2ViRmV0Y2hBbGxvd2xpc3RQcmVjaGVja1Jlc3VsdBITCgthbGxvd2xpc3RlZBgBIAEoCCI3ChFTbWFydE1vZGVBcHByb3ZhbBISCgpyZXF1ZXN0X2lkGAEgASgJEg4KBnJlYXNvbhgCIAEoCSKcAQodU2hlbGxPdXRwdXROb3RpZmljYXRpb25Db25maWcSDwoHcGF0dGVybhgBIAEoCRIOCgZyZWFzb24YAiABKAkSFQoIZGVib3VuY2UYAyABKAFIAIgBARIfChJub3RpZmljYXRpb25fbGltaXQYBCABKAVIAYgBAUILCglfZGVib3VuY2VCFQoTX25vdGlmaWNhdGlvbl9saW1pdCJ5ChxTaGVsbEhvb2tBcHByb3ZhbFJlcXVpcmVtZW50EjkKBGtpbmQYASABKA4yKy5hZ2VudC52MS5TaGVsbEhvb2tBcHByb3ZhbFJlcXVpcmVtZW50X0tpbmQSEwoGcmVhc29uGAIgASgJSACIAQFCCQoHX3JlYXNvbiIwChhGb3JjZUJhY2tncm91bmRTaGVsbEFyZ3MSFAoMdG9vbF9jYWxsX2lkGAEgASgJIpUBChpGb3JjZUJhY2tncm91bmRTaGVsbFJlc3VsdBI0CgZzdGF0dXMYASABKA4yJC5hZ2VudC52MS5Gb3JjZUJhY2tncm91bmRTaGVsbFN0YXR1cxIwCgxzaGVsbF9yZXN1bHQYAiABKAsyFS5hZ2VudC52MS5TaGVsbFJlc3VsdEgAiAEBQg8KDV9zaGVsbF9yZXN1bHQiQQoVSG9va0FkZGl0aW9uYWxDb250ZXh0EhcKD2hvb2tfZXZlbnRfbmFtZRgBIAEoCRIPCgdjb250ZW50GAIgASgJIlsKFlNoZWxsU3RyZWFtSG9va0NvbnRleHQSQQoYaG9va19hZGRpdGlvbmFsX2NvbnRleHRzGAEgAygLMh8uYWdlbnQudjEuSG9va0FkZGl0aW9uYWxDb250ZXh0IksKDFN1YmFnZW50QXJncxIUCgx0b29sX2NhbGxfaWQYASABKAkSFQoNc3ViYWdlbnRfdHlwZRgCIAEoCRIOCgZwcm9tcHQYBCABKAki2wEKD1N1YmFnZW50U3VjY2VzcxIQCghhZ2VudF9pZBgBIAEoCRIaCg1maW5hbF9tZXNzYWdlGAIgASgJSACIAQESFwoPdG9vbF9jYWxsX2NvdW50GAMgASgFEj0KEWJhY2tncm91bmRfcmVhc29uGAQgASgOMiIuYWdlbnQudjEuU3ViYWdlbnRCYWNrZ3JvdW5kUmVhc29uEhwKD3RyYW5zY3JpcHRfcGF0aBgFIAEoCUgBiAEBQhAKDl9maW5hbF9tZXNzYWdlQhIKEF90cmFuc2NyaXB0X3BhdGgiQgoNU3ViYWdlbnRFcnJvchIVCghhZ2VudF9pZBgBIAEoCUgAiAEBEg0KBWVycm9yGAIgASgJQgsKCV9hZ2VudF9pZCJyCg5TdWJhZ2VudFJlc3VsdBIsCgdzdWNjZXNzGAEgASgLMhkuYWdlbnQudjEuU3ViYWdlbnRTdWNjZXNzSAASKAoFZXJyb3IYAiABKAsyFy5hZ2VudC52MS5TdWJhZ2VudEVycm9ySABCCAoGcmVzdWx0IjkKEVN1YmFnZW50QXdhaXRBcmdzEhAKCGFnZW50X2lkGAEgASgJEhIKCnRpbWVvdXRfbXMYAiABKA0iogEKFVN1YmFnZW50QXdhaXRDb21wbGV0ZRIQCghhZ2VudF9pZBgBIAEoCRIcCg90cmFuc2NyaXB0X3BhdGgYAiABKAlIAIgBARIXCg90b29sX2NhbGxfY291bnQYAyABKAUSGgoNZmluYWxfbWVzc2FnZRgEIAEoCUgBiAEBQhIKEF90cmFuc2NyaXB0X3BhdGhCEAoOX2ZpbmFsX21lc3NhZ2UiXwoZU3ViYWdlbnRBd2FpdFN0aWxsUnVubmluZxIQCghhZ2VudF9pZBgBIAEoCRIcCg90cmFuc2NyaXB0X3BhdGgYAiABKAlIAIgBAUISChBfdHJhbnNjcmlwdF9wYXRoIikKFVN1YmFnZW50QXdhaXROb3RGb3VuZBIQCghhZ2VudF9pZBgBIAEoCSJHChJTdWJhZ2VudEF3YWl0RXJyb3ISFQoIYWdlbnRfaWQYASABKAlIAIgBARINCgVlcnJvchgCIAEoCUILCglfYWdlbnRfaWQi9wEKE1N1YmFnZW50QXdhaXRSZXN1bHQSMwoIY29tcGxldGUYASABKAsyHy5hZ2VudC52MS5TdWJhZ2VudEF3YWl0Q29tcGxldGVIABI8Cg1zdGlsbF9ydW5uaW5nGAIgASgLMiMuYWdlbnQudjEuU3ViYWdlbnRBd2FpdFN0aWxsUnVubmluZ0gAEjQKCW5vdF9mb3VuZBgDIAEoCzIfLmFnZW50LnYxLlN1YmFnZW50QXdhaXROb3RGb3VuZEgAEi0KBWVycm9yGAQgASgLMhwuYWdlbnQudjEuU3ViYWdlbnRBd2FpdEVycm9ySABCCAoGcmVzdWx0IjMKG0ZvcmNlQmFja2dyb3VuZFN1YmFnZW50QXJncxIUCgx0b29sX2NhbGxfaWQYASABKAkiWAodRm9yY2VCYWNrZ3JvdW5kU3ViYWdlbnRSZXN1bHQSNwoGc3RhdHVzGAEgASgOMicuYWdlbnQudjEuRm9yY2VCYWNrZ3JvdW5kU3ViYWdlbnRTdGF0dXMiGAoWUHJlQ29tcGFjdFJlcXVlc3RRdWVyeSIbChlTdWJhZ2VudFN0YXJ0UmVxdWVzdFF1ZXJ5IhoKGFN1YmFnZW50U3RvcFJlcXVlc3RRdWVyeSIYChZQcmVUb29sVXNlUmVxdWVzdFF1ZXJ5IhkKF1Bvc3RUb29sVXNlUmVxdWVzdFF1ZXJ5IiAKHlBvc3RUb29sVXNlRmFpbHVyZVJlcXVlc3RRdWVyeSIgCh5CZWZvcmVTdWJtaXRQcm9tcHRSZXF1ZXN0UXVlcnkiIAoeQWZ0ZXJBZ2VudFJlc3BvbnNlUmVxdWVzdFF1ZXJ5Ih8KHUFmdGVyQWdlbnRUaG91Z2h0UmVxdWVzdFF1ZXJ5IhIKEFN0b3BSZXF1ZXN0UXVlcnkiRwoZUHJlQ29tcGFjdFJlcXVlc3RSZXNwb25zZRIZCgx1c2VyX21lc3NhZ2UYASABKAlIAIgBAUIPCg1fdXNlcl9tZXNzYWdlIqoBChxTdWJhZ2VudFN0YXJ0UmVxdWVzdFJlc3BvbnNlEhcKCnBlcm1pc3Npb24YASABKAlIAIgBARIZCgx1c2VyX21lc3NhZ2UYAiABKAlIAYgBARIfChJhZGRpdGlvbmFsX2NvbnRleHQYAyABKAlIAogBAUINCgtfcGVybWlzc2lvbkIPCg1fdXNlcl9tZXNzYWdlQhUKE19hZGRpdGlvbmFsX2NvbnRleHQiiQEKG1N1YmFnZW50U3RvcFJlcXVlc3RSZXNwb25zZRIdChBmb2xsb3d1cF9tZXNzYWdlGAEgASgJSACIAQESHwoSYWRkaXRpb25hbF9jb250ZXh0GAIgASgJSAGIAQFCEwoRX2ZvbGxvd3VwX21lc3NhZ2VCFQoTX2FkZGl0aW9uYWxfY29udGV4dCKDAgoZUHJlVG9vbFVzZVJlcXVlc3RSZXNwb25zZRIXCgpwZXJtaXNzaW9uGAEgASgJSACIAQESGQoMdXNlcl9tZXNzYWdlGAIgASgJSAGIAQESGgoNYWdlbnRfbWVzc2FnZRgDIAEoCUgCiAEBEhoKDXVwZGF0ZWRfaW5wdXQYBCABKAlIA4gBARIfChJhZGRpdGlvbmFsX2NvbnRleHQYBSABKAlIBIgBAUINCgtfcGVybWlzc2lvbkIPCg1fdXNlcl9tZXNzYWdlQhAKDl9hZ2VudF9tZXNzYWdlQhAKDl91cGRhdGVkX2lucHV0QhUKE19hZGRpdGlvbmFsX2NvbnRleHQiVAoaUG9zdFRvb2xVc2VSZXF1ZXN0UmVzcG9uc2USHwoSYWRkaXRpb25hbF9jb250ZXh0GAEgASgJSACIAQFCFQoTX2FkZGl0aW9uYWxfY29udGV4dCJbCiFQb3N0VG9vbFVzZUZhaWx1cmVSZXF1ZXN0UmVzcG9uc2USHwoSYWRkaXRpb25hbF9jb250ZXh0GAEgASgJSACIAQFCFQoTX2FkZGl0aW9uYWxfY29udGV4dCKrAQohQmVmb3JlU3VibWl0UHJvbXB0UmVxdWVzdFJlc3BvbnNlEhUKCGNvbnRpbnVlGAEgASgISACIAQESGQoMdXNlcl9tZXNzYWdlGAIgASgJSAGIAQESHwoSYWRkaXRpb25hbF9jb250ZXh0GAMgASgJSAKIAQFCCwoJX2NvbnRpbnVlQg8KDV91c2VyX21lc3NhZ2VCFQoTX2FkZGl0aW9uYWxfY29udGV4dCIjCiFBZnRlckFnZW50UmVzcG9uc2VSZXF1ZXN0UmVzcG9uc2UiIgogQWZ0ZXJBZ2VudFRob3VnaHRSZXF1ZXN0UmVzcG9uc2UiSQoTU3RvcFJlcXVlc3RSZXNwb25zZRIdChBmb2xsb3d1cF9tZXNzYWdlGAEgASgJSACIAQFCEwoRX2ZvbGxvd3VwX21lc3NhZ2UinQUKEkV4ZWN1dGVIb29rUmVxdWVzdBI3CgtwcmVfY29tcGFjdBgBIAEoCzIgLmFnZW50LnYxLlByZUNvbXBhY3RSZXF1ZXN0UXVlcnlIABI9Cg5zdWJhZ2VudF9zdGFydBgCIAEoCzIjLmFnZW50LnYxLlN1YmFnZW50U3RhcnRSZXF1ZXN0UXVlcnlIABI7Cg1zdWJhZ2VudF9zdG9wGAMgASgLMiIuYWdlbnQudjEuU3ViYWdlbnRTdG9wUmVxdWVzdFF1ZXJ5SAASOAoMcHJlX3Rvb2xfdXNlGAQgASgLMiAuYWdlbnQudjEuUHJlVG9vbFVzZVJlcXVlc3RRdWVyeUgAEjoKDXBvc3RfdG9vbF91c2UYBSABKAsyIS5hZ2VudC52MS5Qb3N0VG9vbFVzZVJlcXVlc3RRdWVyeUgAEkkKFXBvc3RfdG9vbF91c2VfZmFpbHVyZRgGIAEoCzIoLmFnZW50LnYxLlBvc3RUb29sVXNlRmFpbHVyZVJlcXVlc3RRdWVyeUgAEkgKFGJlZm9yZV9zdWJtaXRfcHJvbXB0GAcgASgLMiguYWdlbnQudjEuQmVmb3JlU3VibWl0UHJvbXB0UmVxdWVzdFF1ZXJ5SAASSAoUYWZ0ZXJfYWdlbnRfcmVzcG9uc2UYCCABKAsyKC5hZ2VudC52MS5BZnRlckFnZW50UmVzcG9uc2VSZXF1ZXN0UXVlcnlIABJGChNhZnRlcl9hZ2VudF90aG91Z2h0GAkgASgLMicuYWdlbnQudjEuQWZ0ZXJBZ2VudFRob3VnaHRSZXF1ZXN0UXVlcnlIABIqCgRzdG9wGAsgASgLMhouYWdlbnQudjEuU3RvcFJlcXVlc3RRdWVyeUgAQgkKB3JlcXVlc3QivQUKE0V4ZWN1dGVIb29rUmVzcG9uc2USOgoLcHJlX2NvbXBhY3QYASABKAsyIy5hZ2VudC52MS5QcmVDb21wYWN0UmVxdWVzdFJlc3BvbnNlSAASQAoOc3ViYWdlbnRfc3RhcnQYAiABKAsyJi5hZ2VudC52MS5TdWJhZ2VudFN0YXJ0UmVxdWVzdFJlc3BvbnNlSAASPgoNc3ViYWdlbnRfc3RvcBgDIAEoCzIlLmFnZW50LnYxLlN1YmFnZW50U3RvcFJlcXVlc3RSZXNwb25zZUgAEjsKDHByZV90b29sX3VzZRgEIAEoCzIjLmFnZW50LnYxLlByZVRvb2xVc2VSZXF1ZXN0UmVzcG9uc2VIABI9Cg1wb3N0X3Rvb2xfdXNlGAUgASgLMiQuYWdlbnQudjEuUG9zdFRvb2xVc2VSZXF1ZXN0UmVzcG9uc2VIABJMChVwb3N0X3Rvb2xfdXNlX2ZhaWx1cmUYBiABKAsyKy5hZ2VudC52MS5Qb3N0VG9vbFVzZUZhaWx1cmVSZXF1ZXN0UmVzcG9uc2VIABJLChRiZWZvcmVfc3VibWl0X3Byb21wdBgHIAEoCzIrLmFnZW50LnYxLkJlZm9yZVN1Ym1pdFByb21wdFJlcXVlc3RSZXNwb25zZUgAEksKFGFmdGVyX2FnZW50X3Jlc3BvbnNlGAggASgLMisuYWdlbnQudjEuQWZ0ZXJBZ2VudFJlc3BvbnNlUmVxdWVzdFJlc3BvbnNlSAASSQoTYWZ0ZXJfYWdlbnRfdGhvdWdodBgJIAEoCzIqLmFnZW50LnYxLkFmdGVyQWdlbnRUaG91Z2h0UmVxdWVzdFJlc3BvbnNlSAASLQoEc3RvcBgLIAEoCzIdLmFnZW50LnYxLlN0b3BSZXF1ZXN0UmVzcG9uc2VIAEIKCghyZXNwb25zZSJACg9FeGVjdXRlSG9va0FyZ3MSLQoHcmVxdWVzdBgBIAEoCzIcLmFnZW50LnYxLkV4ZWN1dGVIb29rUmVxdWVzdCJEChFFeGVjdXRlSG9va1Jlc3VsdBIvCghyZXNwb25zZRgBIAEoCzIdLmFnZW50LnYxLkV4ZWN1dGVIb29rUmVzcG9uc2UiJQoTU21hcnRNb2RlUmlza1RhcmdldBIOCgZhY3Rpb24YASABKAkiRwomU21hcnRNb2RlQ2xhc3NpZmllckNvbnZlcnNhdGlvbk1lc3NhZ2USDAoEcm9sZRgBIAEoCRIPCgdjb250ZW50GAIgASgJIu4BChdTbWFydE1vZGVDbGFzc2lmaWVyQXJncxIUCgx0b29sX2NhbGxfaWQYASABKAkSIwoWcGFyZW50X2NvbnZlcnNhdGlvbl9pZBgCIAEoCUgAiAEBEi0KBnRhcmdldBgDIAEoCzIdLmFnZW50LnYxLlNtYXJ0TW9kZVJpc2tUYXJnZXQSTgoUY29udmVyc2F0aW9uX2NvbnRleHQYBCADKAsyMC5hZ2VudC52MS5TbWFydE1vZGVDbGFzc2lmaWVyQ29udmVyc2F0aW9uTWVzc2FnZUIZChdfcGFyZW50X2NvbnZlcnNhdGlvbl9pZCKBAQoaU21hcnRNb2RlQ2xhc3NpZmllclN1Y2Nlc3MSNwoIZGVjaXNpb24YASABKA4yJS5hZ2VudC52MS5TbWFydE1vZGVDbGFzc2lmaWVyRGVjaXNpb24SGQoMYmxvY2tfcmVhc29uGAIgASgJSACIAQFCDwoNX2Jsb2NrX3JlYXNvbiIpChhTbWFydE1vZGVDbGFzc2lmaWVyRXJyb3ISDQoFZXJyb3IYASABKAkikwEKGVNtYXJ0TW9kZUNsYXNzaWZpZXJSZXN1bHQSNwoHc3VjY2VzcxgBIAEoCzIkLmFnZW50LnYxLlNtYXJ0TW9kZUNsYXNzaWZpZXJTdWNjZXNzSAASMwoFZXJyb3IYAiABKAsyIi5hZ2VudC52MS5TbWFydE1vZGVDbGFzc2lmaWVyRXJyb3JIAEIICgZyZXN1bHQiOwoVQ2FudmFzRGlhZ25vc3RpY3NBcmdzEgwKBHBhdGgYASABKAkSFAoMdG9vbF9jYWxsX2lkGAIgASgJIlMKGENhbnZhc0RpYWdub3N0aWNzU3VjY2VzcxIMCgRwYXRoGAEgASgJEikKC2RpYWdub3N0aWNzGAIgAygLMhQuYWdlbnQudjEuRGlhZ25vc3RpYyI1ChZDYW52YXNEaWFnbm9zdGljc0Vycm9yEgwKBHBhdGgYASABKAkSDQoFZXJyb3IYAiABKAkijQEKF0NhbnZhc0RpYWdub3N0aWNzUmVzdWx0EjUKB3N1Y2Nlc3MYASABKAsyIi5hZ2VudC52MS5DYW52YXNEaWFnbm9zdGljc1N1Y2Nlc3NIABIxCgVlcnJvchgCIAEoCzIgLmFnZW50LnYxLkNhbnZhc0RpYWdub3N0aWNzRXJyb3JIAEIICgZyZXN1bHQirAEKFUNvbnZlcnNhdGlvblNlYXJjaEhpdBIXCg9jb252ZXJzYXRpb25faWQYASABKAkSDQoFdGl0bGUYAiABKAkSMgoGc291cmNlGAMgASgOMiIuYWdlbnQudjEuQ29udmVyc2F0aW9uU2VhcmNoU291cmNlEhUKDXVwZGF0ZWRfYXRfbXMYBCABKAMSFAoHc25pcHBldBgFIAEoCUgAiAEBQgoKCF9zbmlwcGV0IoIBChlDb252ZXJzYXRpb25TZWFyY2hTdWNjZXNzEi0KBGhpdHMYASADKAsyHy5hZ2VudC52MS5Db252ZXJzYXRpb25TZWFyY2hIaXQSEQoJdHJ1bmNhdGVkGAIgASgIEg8KB3BhcnRpYWwYAyABKAgSEgoKcmVidWlsZGluZxgEIAEoCCIoChdDb252ZXJzYXRpb25TZWFyY2hFcnJvchINCgVlcnJvchgBIAEoCSJbChZDb252ZXJzYXRpb25TZWFyY2hBcmdzEg0KBXF1ZXJ5GAEgASgJEhQKDHRvb2xfY2FsbF9pZBgCIAEoCRISCgVsaW1pdBgDIAEoBUgAiAEBQggKBl9saW1pdCKQAQoYQ29udmVyc2F0aW9uU2VhcmNoUmVzdWx0EjYKB3N1Y2Nlc3MYASABKAsyIy5hZ2VudC52MS5Db252ZXJzYXRpb25TZWFyY2hTdWNjZXNzSAASMgoFZXJyb3IYAiABKAsyIS5hZ2VudC52MS5Db252ZXJzYXRpb25TZWFyY2hFcnJvckgAQggKBnJlc3VsdCJVChhBZ2VudFN0b3JlQ29uZmxpY3RDdXJzb3ISFQoNam91cm5hbF9lcG9jaBgBIAEoCRILCgNzZXEYAiABKAQSFQoNbGFzdF9ldmVudF9pZBgDIAEoCSKlAwoXQWdlbnRTdG9yZUNvbmZsaWN0RXZlbnQSCQoBdhgBIAEoDRIQCghldmVudF9pZBgCIAEoCRIVCg1qb3VybmFsX2Vwb2NoGAMgASgJEgsKA3NlcRgEIAEoBBINCgV0c19tcxgFIAEoBBIMCgRraW5kGAYgASgJEhUKCHN0b3JlX2lkGAcgASgJSACIAQESHgoRb3JpZ2luYWxfcmVsX3BhdGgYCCABKAlIAYgBARIeChFjb25mbGljdF9yZWxfcGF0aBgJIAEoCUgCiAEBEh4KEW9yaWdpbmFsX2Fic19wYXRoGAogASgJSAOIAQESHgoRY29uZmxpY3RfYWJzX3BhdGgYCyABKAlIBIgBARIcCg9wcmVzZXJ2ZWRfYnl0ZXMYDCABKARIBYgBAUILCglfc3RvcmVfaWRCFAoSX29yaWdpbmFsX3JlbF9wYXRoQhQKEl9jb25mbGljdF9yZWxfcGF0aEIUChJfb3JpZ2luYWxfYWJzX3BhdGhCFAoSX2NvbmZsaWN0X2Fic19wYXRoQhIKEF9wcmVzZXJ2ZWRfYnl0ZXMilAEKGUFnZW50U3RvcmVDb25mbGljdFN1Y2Nlc3MSMQoGZXZlbnRzGAEgAygLMiEuYWdlbnQudjEuQWdlbnRTdG9yZUNvbmZsaWN0RXZlbnQSNwoLbmV4dF9jdXJzb3IYAiABKAsyIi5hZ2VudC52MS5BZ2VudFN0b3JlQ29uZmxpY3RDdXJzb3ISCwoDZ2FwGAMgASgIIigKF0FnZW50U3RvcmVDb25mbGljdEVycm9yEg0KBWVycm9yGAEgASgJIn4KFkFnZW50U3RvcmVDb25mbGljdEFyZ3MSNwoGY3Vyc29yGAEgASgLMiIuYWdlbnQudjEuQWdlbnRTdG9yZUNvbmZsaWN0Q3Vyc29ySACIAQESFAoHYWR2YW5jZRgCIAEoCEgBiAEBQgkKB19jdXJzb3JCCgoIX2FkdmFuY2UikAEKGEFnZW50U3RvcmVDb25mbGljdFJlc3VsdBI2CgdzdWNjZXNzGAEgASgLMiMuYWdlbnQudjEuQWdlbnRTdG9yZUNvbmZsaWN0U3VjY2Vzc0gAEjIKBWVycm9yGAIgASgLMiEuYWdlbnQudjEuQWdlbnRTdG9yZUNvbmZsaWN0RXJyb3JIAEIICgZyZXN1bHQifAoORmlsZURpZmZfQ2h1bmsSDwoHY29udGVudBgBIAEoCRINCgVsaW5lcxgCIAMoCRIRCglvbGRfc3RhcnQYAyABKAUSEQoJb2xkX2xpbmVzGAQgASgFEhEKCW5ld19zdGFydBgFIAEoBRIRCgluZXdfbGluZXMYBiABKAUikAIKCEZpbGVEaWZmEg0KBWFkZGVkGAQgASgFEg8KB3JlbW92ZWQYBSABKAUSDAoEZnJvbRgBIAEoCRIKCgJ0bxgCIAEoCRIoCgZjaHVua3MYAyADKAsyGC5hZ2VudC52MS5GaWxlRGlmZl9DaHVuaxIhChRiZWZvcmVfZmlsZV9jb250ZW50cxgGIAEoCUgAiAEBEiAKE2FmdGVyX2ZpbGVfY29udGVudHMYByABKAlIAYgBARIZCgxpc19nZW5lcmF0ZWQYCCABKAhIAogBAUIXChVfYmVmb3JlX2ZpbGVfY29udGVudHNCFgoUX2FmdGVyX2ZpbGVfY29udGVudHNCDwoNX2lzX2dlbmVyYXRlZCJbCgdHaXREaWZmEiEKBWRpZmZzGAEgAygLMhIuYWdlbnQudjEuRmlsZURpZmYSLQoJZGlmZl90eXBlGAIgASgOMhouYWdlbnQudjEuR2l0RGlmZl9EaWZmVHlwZSJoCh1HZXREaWZmUmVzcG9uc2VfU3VibW9kdWxlRGlmZhIVCg1yZWxhdGl2ZV9wYXRoGAEgASgJEh8KBGRpZmYYAiABKAsyES5hZ2VudC52MS5HaXREaWZmEg8KB2Vycm9yZWQYAyABKAgi8gMKDkdldERpZmZSZXF1ZXN0EgsKA2N3ZBgBIAEoCRILCgNyZWYYAiABKAkSEAoIYmFzZV9yZWYYAyABKAkSEgoKbWVyZ2VfYmFzZRgEIAEoCBIUCgx0YXJnZXRfcGF0aHMYBSADKAkSIgoVdW5pZmllZF9jb250ZXh0X2xpbmVzGAYgASgFSACIAQESGwoTbWF4X3VudHJhY2tlZF9maWxlcxgHIAEoBRIfChdzdWJtb2R1bGVfcmVjdXJzZV9kZXB0aBgJIAEoBRIdChVpbmNsdWRlX3NwYWNlX2NoYW5nZXMYCiABKAgSFgoOY29tbWl0dGVkX29ubHkYCyABKAgSGAoQY29tcHV0ZV9wYXRjaF9pZBgMIAEoCBIcCg9yZXR1cm5faGVhZF9zaGEYDSABKAhIAYgBARIfChJtYXhfcmVzcG9uc2VfYnl0ZXMYDiABKAVIAogBARJBCg1vdXRwdXRfZm9ybWF0GAggASgOMiUuYWdlbnQudjEuR2V0RGlmZlJlcXVlc3RfT3V0cHV0Rm9ybWF0SAOIAQFCGAoWX3VuaWZpZWRfY29udGV4dF9saW5lc0ISChBfcmV0dXJuX2hlYWRfc2hhQhUKE19tYXhfcmVzcG9uc2VfYnl0ZXNCEAoOX291dHB1dF9mb3JtYXQi/gEKD0dldERpZmZSZXNwb25zZRIfCgRkaWZmGAEgASgLMhEuYWdlbnQudjEuR2l0RGlmZhJACg9zdWJtb2R1bGVfZGlmZnMYAiADKAsyJy5hZ2VudC52MS5HZXREaWZmUmVzcG9uc2VfU3VibW9kdWxlRGlmZhIVCghwYXRjaF9pZBgDIAEoCUgAiAEBEhUKCGhlYWRfc2hhGAQgASgJSAGIAQESJAoXaGFzX3VuY29tbWl0dGVkX2NoYW5nZXMYBSABKAhIAogBAUILCglfcGF0Y2hfaWRCCwoJX2hlYWRfc2hhQhoKGF9oYXNfdW5jb21taXR0ZWRfY2hhbmdlcyJkCg5QaVJlYWRUb29sQ2FsbBImCgRhcmdzGAEgASgLMhguYWdlbnQudjEuUGlSZWFkRXhlY0FyZ3MSKgoGcmVzdWx0GAIgASgLMhouYWdlbnQudjEuUGlSZWFkRXhlY1Jlc3VsdCJkCg5QaUJhc2hUb29sQ2FsbBImCgRhcmdzGAEgASgLMhguYWdlbnQudjEuUGlCYXNoRXhlY0FyZ3MSKgoGcmVzdWx0GAIgASgLMhouYWdlbnQudjEuUGlCYXNoRXhlY1Jlc3VsdCJkCg5QaUVkaXRUb29sQ2FsbBImCgRhcmdzGAEgASgLMhguYWdlbnQudjEuUGlFZGl0RXhlY0FyZ3MSKgoGcmVzdWx0GAIgASgLMhouYWdlbnQudjEuUGlFZGl0RXhlY1Jlc3VsdCJnCg9QaVdyaXRlVG9vbENhbGwSJwoEYXJncxgBIAEoCzIZLmFnZW50LnYxLlBpV3JpdGVFeGVjQXJncxIrCgZyZXN1bHQYAiABKAsyGy5hZ2VudC52MS5QaVdyaXRlRXhlY1Jlc3VsdCJkCg5QaUdyZXBUb29sQ2FsbBImCgRhcmdzGAEgASgLMhguYWdlbnQudjEuUGlHcmVwRXhlY0FyZ3MSKgoGcmVzdWx0GAIgASgLMhouYWdlbnQudjEuUGlHcmVwRXhlY1Jlc3VsdCJkCg5QaUZpbmRUb29sQ2FsbBImCgRhcmdzGAEgASgLMhguYWdlbnQudjEuUGlGaW5kRXhlY0FyZ3MSKgoGcmVzdWx0GAIgASgLMhouYWdlbnQudjEuUGlGaW5kRXhlY1Jlc3VsdCJeCgxQaUxzVG9vbENhbGwSJAoEYXJncxgBIAEoCzIWLmFnZW50LnYxLlBpTHNFeGVjQXJncxIoCgZyZXN1bHQYAiABKAsyGC5hZ2VudC52MS5QaUxzRXhlY1Jlc3VsdCKBAQobU2VhcmNoQ29udmVyc2F0aW9uc1Rvb2xDYWxsEi4KBGFyZ3MYASABKAsyIC5hZ2VudC52MS5Db252ZXJzYXRpb25TZWFyY2hBcmdzEjIKBnJlc3VsdBgCIAEoCzIiLmFnZW50LnYxLkNvbnZlcnNhdGlvblNlYXJjaFJlc3VsdCI5ChpDb25uZWN0U2NtR2l0aHViUmVwb3NpdG9yeRINCgVvd25lchgBIAEoCRIMCgRyZXBvGAIgASgJIn4KEENvbm5lY3RTY21HaXRodWISOAoKcmVwb3NpdG9yeRgBIAEoCzIkLmFnZW50LnYxLkNvbm5lY3RTY21HaXRodWJSZXBvc2l0b3J5EhwKD2doZV9hcHBsaWNhdGlvbhgCIAEoCUgAiAEBQhIKEF9naGVfYXBwbGljYXRpb24iXgoOQ29ubmVjdFNjbUFyZ3MSFAoMdG9vbF9jYWxsX2lkGAEgASgJEiwKBmdpdGh1YhgCIAEoCzIaLmFnZW50LnYxLkNvbm5lY3RTY21HaXRodWJIAEIICgZ0YXJnZXQiEwoRQ29ubmVjdFNjbVN1Y2Nlc3MiIAoPQ29ubmVjdFNjbUVycm9yEg0KBWVycm9yGAEgASgJIiQKEkNvbm5lY3RTY21SZWplY3RlZBIOCgZyZWFzb24YASABKAkiqgEKEENvbm5lY3RTY21SZXN1bHQSLgoHc3VjY2VzcxgBIAEoCzIbLmFnZW50LnYxLkNvbm5lY3RTY21TdWNjZXNzSAASKgoFZXJyb3IYAiABKAsyGS5hZ2VudC52MS5Db25uZWN0U2NtRXJyb3JIABIwCghyZWplY3RlZBgDIAEoCzIcLmFnZW50LnYxLkNvbm5lY3RTY21SZWplY3RlZEgAQggKBnJlc3VsdCJoChJDb25uZWN0U2NtVG9vbENhbGwSJgoEYXJncxgBIAEoCzIYLmFnZW50LnYxLkNvbm5lY3RTY21BcmdzEioKBnJlc3VsdBgCIAEoCzIaLmFnZW50LnYxLkNvbm5lY3RTY21SZXN1bHQqiAEKHUFwcGxpZWRBZ2VudENoYW5nZV9DaGFuZ2VUeXBlEhsKF0NIQU5HRV9UWVBFX1VOU1BFQ0lGSUVEEAASFwoTQ0hBTkdFX1RZUEVfQ1JFQVRFRBABEhgKFENIQU5HRV9UWVBFX01PRElGSUVEEAISFwoTQ0hBTkdFX1RZUEVfREVMRVRFRBADKqQBCgtNb3VzZUJ1dHRvbhIcChhNT1VTRV9CVVRUT05fVU5TUEVDSUZJRUQQABIVChFNT1VTRV9CVVRUT05fTEVGVBABEhYKEk1PVVNFX0JVVFRPTl9SSUdIVBACEhcKE01PVVNFX0JVVFRPTl9NSURETEUQAxIVChFNT1VTRV9CVVRUT05fQkFDSxAEEhgKFE1PVVNFX0JVVFRPTl9GT1JXQVJEEAUqngEKD1Njcm9sbERpcmVjdGlvbhIgChxTQ1JPTExfRElSRUNUSU9OX1VOU1BFQ0lGSUVEEAASFwoTU0NST0xMX0RJUkVDVElPTl9VUBABEhkKFVNDUk9MTF9ESVJFQ1RJT05fRE9XThACEhkKFVNDUk9MTF9ESVJFQ1RJT05fTEVGVBADEhoKFlNDUk9MTF9ESVJFQ1RJT05fUklHSFQQBCpwChBDdXJzb3JSdWxlU291cmNlEiIKHkNVUlNPUl9SVUxFX1NPVVJDRV9VTlNQRUNJRklFRBAAEhsKF0NVUlNPUl9SVUxFX1NPVVJDRV9URUFNEAESGwoXQ1VSU09SX1JVTEVfU09VUkNFX1VTRVIQAiq8AQoSRGlhZ25vc3RpY1NldmVyaXR5EiMKH0RJQUdOT1NUSUNfU0VWRVJJVFlfVU5TUEVDSUZJRUQQABIdChlESUFHTk9TVElDX1NFVkVSSVRZX0VSUk9SEAESHwobRElBR05PU1RJQ19TRVZFUklUWV9XQVJOSU5HEAISIwofRElBR05PU1RJQ19TRVZFUklUWV9JTkZPUk1BVElPThADEhwKGERJQUdOT1NUSUNfU0VWRVJJVFlfSElOVBAEKpwBCg1SZWNvcmRpbmdNb2RlEh4KGlJFQ09SRElOR19NT0RFX1VOU1BFQ0lGSUVEEAASIgoeUkVDT1JESU5HX01PREVfU1RBUlRfUkVDT1JESU5HEAESIQodUkVDT1JESU5HX01PREVfU0FWRV9SRUNPUkRJTkcQAhIkCiBSRUNPUkRJTkdfTU9ERV9ESVNDQVJEX1JFQ09SRElORxADKpMBCh9SZXF1ZXN0ZWRGaWxlUGF0aFJlamVjdGVkUmVhc29uEjMKL1JFUVVFU1RFRF9GSUxFX1BBVEhfUkVKRUNURURfUkVBU09OX1VOU1BFQ0lGSUVEEAASOwo3UkVRVUVTVEVEX0ZJTEVfUEFUSF9SRUpFQ1RFRF9SRUFTT05fU0xBU0hFU19OT1RfQUxMT1dFRBABKq0BCgtQYWNrYWdlVHlwZRIcChhQQUNLQUdFX1RZUEVfVU5TUEVDSUZJRUQQABIfChtQQUNLQUdFX1RZUEVfQ1VSU09SX1BST0pFQ1QQARIgChxQQUNLQUdFX1RZUEVfQ1VSU09SX1BFUlNPTkFMEAISHQoZUEFDS0FHRV9UWVBFX0NMQVVERV9TS0lMTBADEh4KGlBBQ0tBR0VfVFlQRV9DTEFVREVfUExVR0lOEAQqfQoSU2FuZGJveFBvbGljeV9UeXBlEhQKEFRZUEVfVU5TUEVDSUZJRUQQABIWChJUWVBFX0lOU0VDVVJFX05PTkUQARIcChhUWVBFX1dPUktTUEFDRV9SRUFEV1JJVEUQAhIbChdUWVBFX1dPUktTUEFDRV9SRUFET05MWRADKnEKD1RpbWVvdXRCZWhhdmlvchIgChxUSU1FT1VUX0JFSEFWSU9SX1VOU1BFQ0lGSUVEEAASGwoXVElNRU9VVF9CRUhBVklPUl9DQU5DRUwQARIfChtUSU1FT1VUX0JFSEFWSU9SX0JBQ0tHUk9VTkQQAip5ChBTaGVsbEFib3J0UmVhc29uEiIKHlNIRUxMX0FCT1JUX1JFQVNPTl9VTlNQRUNJRklFRBAAEiEKHVNIRUxMX0FCT1JUX1JFQVNPTl9VU0VSX0FCT1JUEAESHgoaU0hFTExfQUJPUlRfUkVBU09OX1RJTUVPVVQQAiqqAQocQ3VzdG9tU3ViYWdlbnRQZXJtaXNzaW9uTW9kZRIvCitDVVNUT01fU1VCQUdFTlRfUEVSTUlTU0lPTl9NT0RFX1VOU1BFQ0lGSUVEEAASKwonQ1VTVE9NX1NVQkFHRU5UX1BFUk1JU1NJT05fTU9ERV9ERUZBVUxUEAESLAooQ1VTVE9NX1NVQkFHRU5UX1BFUk1JU1NJT05fTU9ERV9SRUFET05MWRACKpUBCgpUb2RvU3RhdHVzEhsKF1RPRE9fU1RBVFVTX1VOU1BFQ0lGSUVEEAASFwoTVE9ET19TVEFUVVNfUEVORElORxABEhsKF1RPRE9fU1RBVFVTX0lOX1BST0dSRVNTEAISGQoVVE9ET19TVEFUVVNfQ09NUExFVEVEEAMSGQoVVE9ET19TVEFUVVNfQ0FOQ0VMTEVEEAQqZgoIQ2xpZW50T1MSGQoVQ0xJRU5UX09TX1VOU1BFQ0lGSUVEEAASFQoRQ0xJRU5UX09TX1dJTkRPV1MQARITCg9DTElFTlRfT1NfTUFDT1MQAhITCg9DTElFTlRfT1NfTElOVVgQAyrsAQocQXJ0aWZhY3RVcGxvYWREaXNwYXRjaFN0YXR1cxIvCitBUlRJRkFDVF9VUExPQURfRElTUEFUQ0hfU1RBVFVTX1VOU1BFQ0lGSUVEEAASLAooQVJUSUZBQ1RfVVBMT0FEX0RJU1BBVENIX1NUQVRVU19BQ0NFUFRFRBABEiwKKEFSVElGQUNUX1VQTE9BRF9ESVNQQVRDSF9TVEFUVVNfUkVKRUNURUQQAhI/CjtBUlRJRkFDVF9VUExPQURfRElTUEFUQ0hfU1RBVFVTX1NLSVBQRURfQUxSRUFEWV9JTl9QUk9HUkVTUxADKlcKCkZyYW1lX0tpbmQSFAoQS0lORF9VTlNQRUNJRklFRBAAEhAKDEtJTkRfUkVRVUVTVBABEhEKDUtJTkRfUkVTUE9OU0UQAhIOCgpLSU5EX0VSUk9SEAMqsAIKF0J1Z2JvdERlZXBsaW5rRXZlbnRLaW5kEioKJkJVR0JPVF9ERUVQTElOS19FVkVOVF9LSU5EX1VOU1BFQ0lGSUVEEAASJgoiQlVHQk9UX0RFRVBMSU5LX0VWRU5UX0tJTkRfQ0xJQ0tFRBABEjMKL0JVR0JPVF9ERUVQTElOS19FVkVOVF9LSU5EX0hBTkRMRURfRElBTE9HX1NIT1dOEAISMwovQlVHQk9UX0RFRVBMSU5LX0VWRU5UX0tJTkRfSEFORExFRF9DSEFUX0NSRUFURUQQAxIkCiBCVUdCT1RfREVFUExJTktfRVZFTlRfS0lORF9FUlJPUhAEEjEKLUJVR0JPVF9ERUVQTElOS19FVkVOVF9LSU5EX0hBTkRMRURfRklYX0lOX1dFQhAFKsoBCixDb21tYW5kQ2xhc3NpZmllclJlc3VsdF9TdWdnZXN0ZWRTYW5kYm94TW9kZRImCiJTVUdHRVNURURfU0FOREJPWF9NT0RFX1VOU1BFQ0lGSUVEEAASIgoeU1VHR0VTVEVEX1NBTkRCT1hfTU9ERV9TQU5EQk9YEAESJQohU1VHR0VTVEVEX1NBTkRCT1hfTU9ERV9OT19TQU5EQk9YEAISJwojU1VHR0VTVEVEX1NBTkRCT1hfTU9ERV9VTkRFVEVSTUlORUQQAyqQAQohU2hlbGxIb29rQXBwcm92YWxSZXF1aXJlbWVudF9LaW5kEjQKMFNIRUxMX0hPT0tfQVBQUk9WQUxfUkVRVUlSRU1FTlRfS0lORF9VTlNQRUNJRklFRBAAEjUKMVNIRUxMX0hPT0tfQVBQUk9WQUxfUkVRVUlSRU1FTlRfS0lORF9GT1JDRV9QUk9NUFQQASqPAQoVU2hlbGxCYWNrZ3JvdW5kUmVhc29uEicKI1NIRUxMX0JBQ0tHUk9VTkRfUkVBU09OX1VOU1BFQ0lGSUVEEAASIwofU0hFTExfQkFDS0dST1VORF9SRUFTT05fVElNRU9VVBABEigKJFNIRUxMX0JBQ0tHUk9VTkRfUkVBU09OX1VTRVJfUkVRVUVTVBACKqQBChpGb3JjZUJhY2tncm91bmRTaGVsbFN0YXR1cxItCilGT1JDRV9CQUNLR1JPVU5EX1NIRUxMX1NUQVRVU19VTlNQRUNJRklFRBAAEioKJkZPUkNFX0JBQ0tHUk9VTkRfU0hFTExfU1RBVFVTX0FDQ0VQVEVEEAESKwonRk9SQ0VfQkFDS0dST1VORF9TSEVMTF9TVEFUVVNfTk9UX0ZPVU5EEAIq0gEKGFN1YmFnZW50QmFja2dyb3VuZFJlYXNvbhIqCiZTVUJBR0VOVF9CQUNLR1JPVU5EX1JFQVNPTl9VTlNQRUNJRklFRBAAEiwKKFNVQkFHRU5UX0JBQ0tHUk9VTkRfUkVBU09OX0FHRU5UX1JFUVVFU1QQARIrCidTVUJBR0VOVF9CQUNLR1JPVU5EX1JFQVNPTl9VU0VSX1JFUVVFU1QQAhIvCitTVUJBR0VOVF9CQUNLR1JPVU5EX1JFQVNPTl9RVUVVRURfRk9MTE9XX1VQEAMqsAEKHUZvcmNlQmFja2dyb3VuZFN1YmFnZW50U3RhdHVzEjAKLEZPUkNFX0JBQ0tHUk9VTkRfU1VCQUdFTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASLQopRk9SQ0VfQkFDS0dST1VORF9TVUJBR0VOVF9TVEFUVVNfQUNDRVBURUQQARIuCipGT1JDRV9CQUNLR1JPVU5EX1NVQkFHRU5UX1NUQVRVU19OT1RfRk9VTkQQAiqhAQobU21hcnRNb2RlQ2xhc3NpZmllckRlY2lzaW9uEi4KKlNNQVJUX01PREVfQ0xBU1NJRklFUl9ERUNJU0lPTl9VTlNQRUNJRklFRBAAEigKJFNNQVJUX01PREVfQ0xBU1NJRklFUl9ERUNJU0lPTl9BTExPVxABEigKJFNNQVJUX01PREVfQ0xBU1NJRklFUl9ERUNJU0lPTl9CTE9DSxACKpgBChhDb252ZXJzYXRpb25TZWFyY2hTb3VyY2USKgomQ09OVkVSU0FUSU9OX1NFQVJDSF9TT1VSQ0VfVU5TUEVDSUZJRUQQABIkCiBDT05WRVJTQVRJT05fU0VBUkNIX1NPVVJDRV9MT0NBTBABEioKJkNPTlZFUlNBVElPTl9TRUFSQ0hfU09VUkNFX0NMT1VEX0NBQ0hFEAIq0wEKG0dldERpZmZSZXF1ZXN0X091dHB1dEZvcm1hdBIdChlPVVRQVVRfRk9STUFUX1VOU1BFQ0lGSUVEEAASHQoZT1VUUFVUX0ZPUk1BVF9OQU1FX1NUQVRVUxABEikKJU9VVFBVVF9GT1JNQVRfTkFNRV9TVEFUVVNfQU5EX05VTVNUQVQQAhIcChhPVVRQVVRfRk9STUFUX0ZJTEVfRElGRlMQAxItCilPVVRQVVRfRk9STUFUX0RJRkZTX1dJVEhfQkVGT1JFX0FORF9BRlRFUhAEKnEKEEdpdERpZmZfRGlmZlR5cGUSGQoVRElGRl9UWVBFX1VOU1BFQ0lGSUVEEAASGgoWRElGRl9UWVBFX0RJRkZfVE9fSEVBRBABEiYKIkRJRkZfVFlQRV9ESUZGX0ZST01fQlJBTkNIX1RPX01BSU4QAjKHBAoMQWdlbnRTZXJ2aWNlEkEKA1J1bhIcLmFnZW50LnYxLkFnZW50Q2xpZW50TWVzc2FnZRocLmFnZW50LnYxLkFnZW50U2VydmVyTWVzc2FnZRI/CgZSdW5TU0USFy5hZ2VudC52MS5CaWRpUmVxdWVzdElkGhwuYWdlbnQudjEuQWdlbnRTZXJ2ZXJNZXNzYWdlEkQKCU5hbWVBZ2VudBIaLmFnZW50LnYxLk5hbWVBZ2VudFJlcXVlc3QaGy5hZ2VudC52MS5OYW1lQWdlbnRSZXNwb25zZRJWCg9HZXRVc2FibGVNb2RlbHMSIC5hZ2VudC52MS5HZXRVc2FibGVNb2RlbHNSZXF1ZXN0GiEuYWdlbnQudjEuR2V0VXNhYmxlTW9kZWxzUmVzcG9uc2USaAoVR2V0RGVmYXVsdE1vZGVsRm9yQ2xpEiYuYWdlbnQudjEuR2V0RGVmYXVsdE1vZGVsRm9yQ2xpUmVxdWVzdBonLmFnZW50LnYxLkdldERlZmF1bHRNb2RlbEZvckNsaVJlc3BvbnNlEmsKFkdldEFsbG93ZWRNb2RlbEludGVudHMSJy5hZ2VudC52MS5HZXRBbGxvd2VkTW9kZWxJbnRlbnRzUmVxdWVzdBooLmFnZW50LnYxLkdldEFsbG93ZWRNb2RlbEludGVudHNSZXNwb25zZTK1CAoOQ29udHJvbFNlcnZpY2USTQoMUmVhZFRleHRGaWxlEh0uYWdlbnQudjEuUmVhZFRleHRGaWxlUmVxdWVzdBoeLmFnZW50LnYxLlJlYWRUZXh0RmlsZVJlc3BvbnNlElAKDVdyaXRlVGV4dEZpbGUSHi5hZ2VudC52MS5Xcml0ZVRleHRGaWxlUmVxdWVzdBofLmFnZW50LnYxLldyaXRlVGV4dEZpbGVSZXNwb25zZRJTCg5SZWFkQmluYXJ5RmlsZRIfLmFnZW50LnYxLlJlYWRCaW5hcnlGaWxlUmVxdWVzdBogLmFnZW50LnYxLlJlYWRCaW5hcnlGaWxlUmVzcG9uc2USVgoPV3JpdGVCaW5hcnlGaWxlEiAuYWdlbnQudjEuV3JpdGVCaW5hcnlGaWxlUmVxdWVzdBohLmFnZW50LnYxLldyaXRlQmluYXJ5RmlsZVJlc3BvbnNlEm4KF0dldFdvcmtzcGFjZUNoYW5nZXNIYXNoEiguYWdlbnQudjEuR2V0V29ya3NwYWNlQ2hhbmdlc0hhc2hSZXF1ZXN0GikuYWdlbnQudjEuR2V0V29ya3NwYWNlQ2hhbmdlc0hhc2hSZXNwb25zZRJxChhSZWZyZXNoR2l0aHViQWNjZXNzVG9rZW4SKS5hZ2VudC52MS5SZWZyZXNoR2l0aHViQWNjZXNzVG9rZW5SZXF1ZXN0GiouYWdlbnQudjEuUmVmcmVzaEdpdGh1YkFjY2Vzc1Rva2VuUmVzcG9uc2USawoWV2FybVJlbW90ZUFjY2Vzc1NlcnZlchInLmFnZW50LnYxLldhcm1SZW1vdGVBY2Nlc3NTZXJ2ZXJSZXF1ZXN0GiguYWdlbnQudjEuV2FybVJlbW90ZUFjY2Vzc1NlcnZlclJlc3BvbnNlElAKDUxpc3RBcnRpZmFjdHMSHi5hZ2VudC52MS5MaXN0QXJ0aWZhY3RzUmVxdWVzdBofLmFnZW50LnYxLkxpc3RBcnRpZmFjdHNSZXNwb25zZRJWCg9VcGxvYWRBcnRpZmFjdHMSIC5hZ2VudC52MS5VcGxvYWRBcnRpZmFjdHNSZXF1ZXN0GiEuYWdlbnQudjEuVXBsb2FkQXJ0aWZhY3RzUmVzcG9uc2USYgoTR2V0TWNwUmVmcmVzaFRva2VucxIkLmFnZW50LnYxLkdldE1jcFJlZnJlc2hUb2tlbnNSZXF1ZXN0GiUuYWdlbnQudjEuR2V0TWNwUmVmcmVzaFRva2Vuc1Jlc3BvbnNlEncKGlVwZGF0ZUVudmlyb25tZW50VmFyaWFibGVzEisuYWdlbnQudjEuVXBkYXRlRW52aXJvbm1lbnRWYXJpYWJsZXNSZXF1ZXN0GiwuYWdlbnQudjEuVXBkYXRlRW52aXJvbm1lbnRWYXJpYWJsZXNSZXNwb25zZTINCgtFeGVjU2VydmljZTJRCiJQcml2YXRlV29ya2VyQnJpZGdlRXh0ZXJuYWxTZXJ2aWNlEisKB0Nvbm5lY3QSDy5hZ2VudC52MS5GcmFtZRoPLmFnZW50LnYxLkZyYW1lMngKEExpZmVjeWNsZVNlcnZpY2USMQoNUmVzZXRJbnN0YW5jZRIPLmFnZW50LnYxLkVtcHR5Gg8uYWdlbnQudjEuRW1wdHkSMQoNUmVuZXdJbnN0YW5jZRIPLmFnZW50LnYxLkVtcHR5Gg8uYWdlbnQudjEuRW1wdHliBnByb3RvMw");var McpToolErrorSchema=messageDesc(file_agent,12),McpToolResultSchema=messageDesc(file_agent,13),McpToolCallSchema=messageDesc(file_agent,14);var ToolCallSchema=messageDesc(file_agent,46);var ConversationStepSchema=messageDesc(file_agent,53),ConversationActionSchema=messageDesc(file_agent,54),UserMessageActionSchema=messageDesc(file_agent,55);var ResumeActionSchema=messageDesc(file_agent,57);var UserMessageSchema=messageDesc(file_agent,63),AssistantMessageSchema=messageDesc(file_agent,64);var ConversationTurnStructureSchema=messageDesc(file_agent,70);var AgentConversationTurnStructureSchema=messageDesc(file_agent,72);var ConversationStateStructureSchema=messageDesc(file_agent,83);var ModelDetailsSchema=messageDesc(file_agent,88),RequestedModelSchema=messageDesc(file_agent,89),RequestedModel_ModelParameterbytesSchema=messageDesc(file_agent,90),AgentRunRequestSchema=messageDesc(file_agent,91);var ClientHeartbeatSchema=messageDesc(file_agent,114);var AgentClientMessageSchema=messageDesc(file_agent,118),AgentServerMessageSchema=messageDesc(file_agent,119);var GetUsableModelsRequestSchema=messageDesc(file_agent,122),GetUsableModelsResponseSchema=messageDesc(file_agent,123);var BackgroundShellSpawnResultSchema=messageDesc(file_agent,147);var WriteShellStdinResultSchema=messageDesc(file_agent,151);var WriteShellStdinErrorSchema=messageDesc(file_agent,153);var ComputerUseResultSchema=messageDesc(file_agent,168);var ComputerUseErrorSchema=messageDesc(file_agent,170);var DeleteResultSchema=messageDesc(file_agent,187),DeleteSuccessSchema=messageDesc(file_agent,188);var DeleteRejectedSchema=messageDesc(file_agent,193),DeleteErrorSchema=messageDesc(file_agent,194);var DiagnosticsResultSchema=messageDesc(file_agent,197),DiagnosticsSuccessSchema=messageDesc(file_agent,198);var DiagnosticsErrorSchema=messageDesc(file_agent,200),DiagnosticsRejectedSchema=messageDesc(file_agent,201);var ExecClientStreamCloseSchema=messageDesc(file_agent,236),ExecClientThrowSchema=messageDesc(file_agent,237),ExecClientHeartbeatSchema=messageDesc(file_agent,238),ExecClientControlMessageSchema=messageDesc(file_agent,239);var ExecClientMessageSchema=messageDesc(file_agent,244);var FetchResultSchema=messageDesc(file_agent,246);var FetchErrorSchema=messageDesc(file_agent,248);var GrepResultSchema=messageDesc(file_agent,255),GrepErrorSchema=messageDesc(file_agent,256),GrepSuccessSchema=messageDesc(file_agent,257),GrepUnionResultSchema=messageDesc(file_agent,258),GrepCountResultSchema=messageDesc(file_agent,259),GrepFileCountSchema=messageDesc(file_agent,260),GrepFilesResultSchema=messageDesc(file_agent,261),GrepContentResultSchema=messageDesc(file_agent,262),GrepFileMatchSchema=messageDesc(file_agent,263),GrepContentMatchSchema=messageDesc(file_agent,264);var GetBlobResultSchema=messageDesc(file_agent,268);var SetBlobResultSchema=messageDesc(file_agent,270);var KvClientMessageSchema=messageDesc(file_agent,272);var LsResultSchema=messageDesc(file_agent,274),LsSuccessSchema=messageDesc(file_agent,275),LsDirectoryTreeNodeSchema=messageDesc(file_agent,276),LsDirectoryTreeNode_FileSchema=messageDesc(file_agent,277),LsErrorSchema=messageDesc(file_agent,278),LsRejectedSchema=messageDesc(file_agent,279);var McpArgsSchema=messageDesc(file_agent,284),McpResultSchema=messageDesc(file_agent,285),McpToolNotFoundSchema=messageDesc(file_agent,286),McpTextContentSchema=messageDesc(file_agent,287),McpImageContentSchema=messageDesc(file_agent,288),McpToolResultContentItemSchema=messageDesc(file_agent,289),McpSuccessSchema=messageDesc(file_agent,290),McpErrorSchema=messageDesc(file_agent,291),McpRejectedSchema=messageDesc(file_agent,292);var ListMcpResourcesExecResultSchema=messageDesc(file_agent,295);var ListMcpResourcesSuccessSchema=messageDesc(file_agent,297);var ReadMcpResourceExecResultSchema=messageDesc(file_agent,301);var ReadMcpResourceNotFoundSchema=messageDesc(file_agent,305),McpToolDefinitionSchema=messageDesc(file_agent,306);var ReadResultSchema=messageDesc(file_agent,313),ReadSuccessSchema=messageDesc(file_agent,314),ReadErrorSchema=messageDesc(file_agent,315),ReadRejectedSchema=messageDesc(file_agent,316);var RecordScreenResultSchema=messageDesc(file_agent,327);var RecordScreenFailureSchema=messageDesc(file_agent,331);var RequestContextResultSchema=messageDesc(file_agent,336),RequestContextSuccessSchema=messageDesc(file_agent,337);var RequestContextSchema=messageDesc(file_agent,347);var SelectedImageSchema=messageDesc(file_agent,349);var SelectedContextSchema=messageDesc(file_agent,373);var ShellResultSchema=messageDesc(file_agent,389),ShellStreamStdoutSchema=messageDesc(file_agent,390),ShellStreamStderrSchema=messageDesc(file_agent,391),ShellStreamExitSchema=messageDesc(file_agent,392),ShellStreamStartSchema=messageDesc(file_agent,393);var ShellStreamSchema=messageDesc(file_agent,395);var ShellSuccessSchema=messageDesc(file_agent,397),ShellFailureSchema=messageDesc(file_agent,398);var ShellRejectedSchema=messageDesc(file_agent,400);var WriteResultSchema=messageDesc(file_agent,450),WriteSuccessSchema=messageDesc(file_agent,451);var WriteErrorSchema=messageDesc(file_agent,454),WriteRejectedSchema=messageDesc(file_agent,455);var PiTruncationSchema=messageDesc(file_agent,492);var PiReadExecSuccessSchema=messageDesc(file_agent,495),PiReadExecErrorSchema=messageDesc(file_agent,496),PiReadExecResultSchema=messageDesc(file_agent,497);var PiBashExecSuccessSchema=messageDesc(file_agent,499),PiBashExecErrorSchema=messageDesc(file_agent,500),PiBashExecResultSchema=messageDesc(file_agent,501);var PiEditExecSuccessSchema=messageDesc(file_agent,503),PiEditExecErrorSchema=messageDesc(file_agent,504),PiEditExecRejectedSchema=messageDesc(file_agent,505),PiEditExecResultSchema=messageDesc(file_agent,506);var PiWriteExecSuccessSchema=messageDesc(file_agent,508),PiWriteExecErrorSchema=messageDesc(file_agent,509),PiWriteExecRejectedSchema=messageDesc(file_agent,510),PiWriteExecResultSchema=messageDesc(file_agent,511);var PiGrepExecSuccessSchema=messageDesc(file_agent,513),PiGrepExecErrorSchema=messageDesc(file_agent,514),PiGrepExecResultSchema=messageDesc(file_agent,515);var PiFindExecSuccessSchema=messageDesc(file_agent,517),PiFindExecErrorSchema=messageDesc(file_agent,518),PiFindExecResultSchema=messageDesc(file_agent,519);var PiLsExecSuccessSchema=messageDesc(file_agent,521),PiLsExecErrorSchema=messageDesc(file_agent,522),PiLsExecResultSchema=messageDesc(file_agent,523);var McpApprovedSchema=messageDesc(file_agent,525);var McpStateServerSchema=messageDesc(file_agent,527),McpStateSuccessSchema=messageDesc(file_agent,528);var McpStateExecResultSchema=messageDesc(file_agent,531);var ShellAllowlistPrecheckResultSchema=messageDesc(file_agent,536);var McpAllowlistPrecheckResultSchema=messageDesc(file_agent,538);var WebFetchAllowlistPrecheckResultSchema=messageDesc(file_agent,540);var ForceBackgroundShellResultSchema=messageDesc(file_agent,545);var SubagentErrorSchema=messageDesc(file_agent,550),SubagentResultSchema=messageDesc(file_agent,551);var SubagentAwaitNotFoundSchema=messageDesc(file_agent,555);var SubagentAwaitResultSchema=messageDesc(file_agent,557);var ForceBackgroundSubagentResultSchema=messageDesc(file_agent,559);var PreCompactRequestResponseSchema=messageDesc(file_agent,570),SubagentStartRequestResponseSchema=messageDesc(file_agent,571),SubagentStopRequestResponseSchema=messageDesc(file_agent,572),PreToolUseRequestResponseSchema=messageDesc(file_agent,573),PostToolUseRequestResponseSchema=messageDesc(file_agent,574),PostToolUseFailureRequestResponseSchema=messageDesc(file_agent,575),BeforeSubmitPromptRequestResponseSchema=messageDesc(file_agent,576),AfterAgentResponseRequestResponseSchema=messageDesc(file_agent,577),AfterAgentThoughtRequestResponseSchema=messageDesc(file_agent,578),StopRequestResponseSchema=messageDesc(file_agent,579);var ExecuteHookResponseSchema=messageDesc(file_agent,581);var ExecuteHookResultSchema=messageDesc(file_agent,583);var SmartModeClassifierErrorSchema=messageDesc(file_agent,588),SmartModeClassifierResultSchema=messageDesc(file_agent,589);var CanvasDiagnosticsErrorSchema=messageDesc(file_agent,592),CanvasDiagnosticsResultSchema=messageDesc(file_agent,593);var ConversationSearchErrorSchema=messageDesc(file_agent,596);var ConversationSearchResultSchema=messageDesc(file_agent,598);var AgentStoreConflictErrorSchema=messageDesc(file_agent,602);var AgentStoreConflictResultSchema=messageDesc(file_agent,604);var ForceBackgroundShellStatus={UNSPECIFIED:0,ACCEPTED:1,NOT_FOUND:2};var ForceBackgroundSubagentStatus={UNSPECIFIED:0,ACCEPTED:1,NOT_FOUND:2};function piOutputText(toolResult){return toolResult.content.map(item=>item.type==="text"?item.text:`[${item.mimeType} image]`).join(`
21
21
  `)}function bagValue(bag,key){if(!(!bag||typeof bag!="object"||!(key in bag)))return Reflect.get(bag,key)}function detailCount(toolResult,key){let value=bagValue(toolResult.details,key);return positiveCount(value)}function positiveCount(value){return typeof value=="number"&&Number.isFinite(value)&&value>0?Math.floor(value):void 0}function resultLimitReached(toolResult){let flat=detailCount(toolResult,"resultLimitReached");if(flat!==void 0)return flat;let limits=bagValue(bagValue(toolResult.details,"meta"),"limits");return positiveCount(bagValue(bagValue(limits,"resultLimit"),"reached"))}function piTruncation(toolResult){let direct=bagValue(toolResult.details,"truncation"),truncation=direct!==void 0?direct:bagValue(bagValue(toolResult.details,"meta"),"truncation");if(truncation==null)return;let flag=bagValue(truncation,"truncated");if(flag!==void 0&&flag!==!0)return;let truncatedBy=bagValue(truncation,"truncatedBy"),totalLines=bagValue(truncation,"totalLines"),outputLines=bagValue(truncation,"outputLines"),outputBytes=bagValue(truncation,"outputBytes");return create(PiTruncationSchema,{truncated:!0,truncatedBy:typeof truncatedBy=="string"?truncatedBy:"",totalLines:typeof totalLines=="number"?totalLines:0,outputLines:typeof outputLines=="number"?outputLines:0,outputBytes:typeof outputBytes=="number"?outputBytes:0,firstLineExceedsLimit:bagValue(truncation,"firstLineExceedsLimit")===!0,lastLinePartial:bagValue(truncation,"lastLinePartial")===!0})}function buildPiReadResult(toolResult){let text=piOutputText(toolResult);return toolResult.isError?buildPiReadError(text||"Read failed"):create(PiReadExecResultSchema,{result:{case:"success",value:create(PiReadExecSuccessSchema,{output:text,truncation:piTruncation(toolResult)})}})}function buildPiReadError(error){return create(PiReadExecResultSchema,{result:{case:"error",value:create(PiReadExecErrorSchema,{error})}})}function buildPiBashResult(toolResult){let text=piOutputText(toolResult),truncation=piTruncation(toolResult);return toolResult.isError?create(PiBashExecResultSchema,{result:{case:"error",value:create(PiBashExecErrorSchema,{error:text||"Command failed",truncation})}}):create(PiBashExecResultSchema,{result:{case:"success",value:create(PiBashExecSuccessSchema,{output:text,truncation})}})}function buildPiBashError(error){return create(PiBashExecResultSchema,{result:{case:"error",value:create(PiBashExecErrorSchema,{error})}})}function buildPiEditResult(toolResult){let text=piOutputText(toolResult);if(toolResult.isError)return buildPiEditError(text||"Edit failed");let diff=bagValue(toolResult.details,"diff"),patch=bagValue(toolResult.details,"patch");return create(PiEditExecResultSchema,{result:{case:"success",value:create(PiEditExecSuccessSchema,{output:text,diff:typeof diff=="string"?diff:"",patch:typeof patch=="string"?patch:"",firstChangedLine:detailCount(toolResult,"firstChangedLine")})}})}function buildPiEditError(error){return create(PiEditExecResultSchema,{result:{case:"error",value:create(PiEditExecErrorSchema,{error})}})}function buildPiEditRejected(reason){return create(PiEditExecResultSchema,{result:{case:"rejected",value:create(PiEditExecRejectedSchema,{reason})}})}function buildPiWriteResult(toolResult){let text=piOutputText(toolResult);return toolResult.isError?buildPiWriteError(text||"Write failed"):create(PiWriteExecResultSchema,{result:{case:"success",value:create(PiWriteExecSuccessSchema,{output:text})}})}function buildPiWriteError(error){return create(PiWriteExecResultSchema,{result:{case:"error",value:create(PiWriteExecErrorSchema,{error})}})}function buildPiWriteRejected(reason){return create(PiWriteExecResultSchema,{result:{case:"rejected",value:create(PiWriteExecRejectedSchema,{reason})}})}function buildPiGrepResult(toolResult){let text=piOutputText(toolResult);if(toolResult.isError)return buildPiGrepError(text||"Grep failed");let matchLimitReached=detailCount(toolResult,"perFileLimitReached");return create(PiGrepExecResultSchema,{result:{case:"success",value:create(PiGrepExecSuccessSchema,{output:text,truncation:piTruncation(toolResult)??grepInternalCapTruncation(toolResult,text,matchLimitReached),matchLimitReached,linesTruncated:bagValue(toolResult.details,"linesTruncated")===!0})}})}function grepInternalCapTruncation(toolResult,text,matchLimitReached){if(matchLimitReached===void 0&&bagValue(toolResult.details,"truncated")===!0)return create(PiTruncationSchema,{truncated:!0,truncatedBy:"matches",totalLines:0,outputLines:text?text.split(`
22
22
  `).length:0,outputBytes:Buffer.byteLength(text,"utf-8"),firstLineExceedsLimit:!1,lastLinePartial:!1})}function buildPiGrepError(error){return create(PiGrepExecResultSchema,{result:{case:"error",value:create(PiGrepExecErrorSchema,{error})}})}function buildPiFindResult(toolResult){let text=piOutputText(toolResult);return toolResult.isError?buildPiFindError(text||"Find failed"):create(PiFindExecResultSchema,{result:{case:"success",value:create(PiFindExecSuccessSchema,{output:text,truncation:piTruncation(toolResult),resultLimitReached:resultLimitReached(toolResult)})}})}function buildPiFindError(error){return create(PiFindExecResultSchema,{result:{case:"error",value:create(PiFindExecErrorSchema,{error})}})}function buildPiLsResult(toolResult){let text=piOutputText(toolResult);return toolResult.isError?buildPiLsError(text||"Ls failed"):create(PiLsExecResultSchema,{result:{case:"success",value:create(PiLsExecSuccessSchema,{output:text,truncation:piTruncation(toolResult),entryLimitReached:resultLimitReached(toolResult)})}})}function buildPiLsError(error){return create(PiLsExecResultSchema,{result:{case:"error",value:create(PiLsExecErrorSchema,{error})}})}function buildMcpStateResult(tools,serverIdentifiers){let byProvider=new Map;for(let tool of tools){let identifier=tool.providerIdentifier,existing=byProvider.get(identifier);existing?existing.push(tool):byProvider.set(identifier,[tool])}let wanted=serverIdentifiers.length>0?new Set(serverIdentifiers):void 0,servers=[];for(let[identifier,serverTools]of byProvider)wanted&&!wanted.has(identifier)||servers.push(create(McpStateServerSchema,{serverName:identifier,serverIdentifier:identifier,tools:serverTools,status:"connected"}));return create(McpStateExecResultSchema,{result:{case:"success",value:create(McpStateSuccessSchema,{servers})}})}function buildNeutralHookResult(request){let response;switch(request?.request.case){case"preCompact":response=create(ExecuteHookResponseSchema,{response:{case:"preCompact",value:create(PreCompactRequestResponseSchema,{})}});break;case"subagentStart":response=create(ExecuteHookResponseSchema,{response:{case:"subagentStart",value:create(SubagentStartRequestResponseSchema,{})}});break;case"subagentStop":response=create(ExecuteHookResponseSchema,{response:{case:"subagentStop",value:create(SubagentStopRequestResponseSchema,{})}});break;case"preToolUse":response=create(ExecuteHookResponseSchema,{response:{case:"preToolUse",value:create(PreToolUseRequestResponseSchema,{})}});break;case"postToolUse":response=create(ExecuteHookResponseSchema,{response:{case:"postToolUse",value:create(PostToolUseRequestResponseSchema,{})}});break;case"postToolUseFailure":response=create(ExecuteHookResponseSchema,{response:{case:"postToolUseFailure",value:create(PostToolUseFailureRequestResponseSchema,{})}});break;case"beforeSubmitPrompt":response=create(ExecuteHookResponseSchema,{response:{case:"beforeSubmitPrompt",value:create(BeforeSubmitPromptRequestResponseSchema,{})}});break;case"afterAgentResponse":response=create(ExecuteHookResponseSchema,{response:{case:"afterAgentResponse",value:create(AfterAgentResponseRequestResponseSchema,{})}});break;case"afterAgentThought":response=create(ExecuteHookResponseSchema,{response:{case:"afterAgentThought",value:create(AfterAgentThoughtRequestResponseSchema,{})}});break;case"stop":response=create(ExecuteHookResponseSchema,{response:{case:"stop",value:create(StopRequestResponseSchema,{})}});break;default:return null}return create(ExecuteHookResultSchema,{response})}function piReadArgs(path,offset,limit){return limit!==void 0&&Math.floor(limit)<=0?null:{path,offset:offset!==void 0?Math.max(1,Math.floor(offset)):void 0,limit:limit!==void 0?Math.floor(limit):void 0}}function piLsPath(basePath){return basePath||"."}function piLimit(limit){return limit===void 0?void 0:Math.max(1,Math.floor(limit))}function piTimeout(timeout){return timeout!==void 0&&timeout>=0?timeout:void 0}function composeShellCommand(command,workingDirectory){return workingDirectory?`cd ${`'${workingDirectory.replace(/'/g,"'\\''")}'`} && { ${command}
23
- }`:command}function omitUndefinedArgs(args){let out={};for(let key of Object.keys(args)){let value=args[key];value!==void 0&&(out[key]=value)}return out}var cursor_variant_aliases_default={$schema:"cursor-variant-aliases/v1",source:"union of GetUsableModels live capture (204 ids) and cursor-agent CLI listing capture (203 ids), 2026-08-18",aliases:{"claude-4-sonnet":{targetId:"claude-4-sonnet",legacyVariantId:"claude-4-sonnet",encoding:"legacy-variant"},"claude-4-sonnet-thinking":{targetId:"claude-4-sonnet-thinking",legacyVariantId:"claude-4-sonnet-thinking",encoding:"legacy-variant"},"claude-4.5-opus-high":{targetId:"claude-4.5-opus",level:"high",legacyVariantId:"claude-4.5-opus-high",encoding:"legacy-variant"},"claude-4.5-opus-high-thinking":{targetId:"claude-4.5-opus-thinking",level:"high",legacyVariantId:"claude-4.5-opus-high-thinking",encoding:"legacy-variant"},"claude-4.5-sonnet":{targetId:"claude-4.5-sonnet",legacyVariantId:"claude-4.5-sonnet",encoding:"legacy-variant"},"claude-4.5-sonnet-thinking":{targetId:"claude-4.5-sonnet-thinking",legacyVariantId:"claude-4.5-sonnet-thinking",encoding:"legacy-variant"},"claude-4.6-opus-high":{targetId:"claude-4.6-opus",level:"high",legacyVariantId:"claude-4.6-opus-high",encoding:"legacy-variant"},"claude-4.6-opus-max":{targetId:"claude-4.6-opus",level:"max",legacyVariantId:"claude-4.6-opus-max",encoding:"legacy-variant"},"claude-4.6-opus-high-thinking":{targetId:"claude-4.6-opus-thinking",level:"high",legacyVariantId:"claude-4.6-opus-high-thinking",encoding:"legacy-variant"},"claude-4.6-opus-max-thinking":{targetId:"claude-4.6-opus-thinking",level:"max",legacyVariantId:"claude-4.6-opus-max-thinking",encoding:"legacy-variant"},"claude-4.6-sonnet-medium":{targetId:"claude-4.6-sonnet",level:"medium",legacyVariantId:"claude-4.6-sonnet-medium",encoding:"legacy-variant"},"claude-4.6-sonnet-medium-thinking":{targetId:"claude-4.6-sonnet-thinking",level:"medium",legacyVariantId:"claude-4.6-sonnet-medium-thinking",encoding:"legacy-variant"},"claude-fable-5-high":{targetId:"claude-fable-5",level:"high",legacyVariantId:"claude-fable-5-high",encoding:"legacy-variant"},"claude-fable-5-low":{targetId:"claude-fable-5",level:"low",legacyVariantId:"claude-fable-5-low",encoding:"legacy-variant"},"claude-fable-5-max":{targetId:"claude-fable-5",level:"max",legacyVariantId:"claude-fable-5-max",encoding:"legacy-variant"},"claude-fable-5-medium":{targetId:"claude-fable-5",level:"medium",legacyVariantId:"claude-fable-5-medium",encoding:"legacy-variant"},"claude-fable-5-xhigh":{targetId:"claude-fable-5",level:"xhigh",legacyVariantId:"claude-fable-5-xhigh",encoding:"legacy-variant"},"claude-fable-5-thinking-high":{targetId:"claude-fable-5-thinking",level:"high",legacyVariantId:"claude-fable-5-thinking-high",encoding:"legacy-variant"},"claude-fable-5-thinking-low":{targetId:"claude-fable-5-thinking",level:"low",legacyVariantId:"claude-fable-5-thinking-low",encoding:"legacy-variant"},"claude-fable-5-thinking-max":{targetId:"claude-fable-5-thinking",level:"max",legacyVariantId:"claude-fable-5-thinking-max",encoding:"legacy-variant"},"claude-fable-5-thinking-medium":{targetId:"claude-fable-5-thinking",level:"medium",legacyVariantId:"claude-fable-5-thinking-medium",encoding:"legacy-variant"},"claude-fable-5-thinking-xhigh":{targetId:"claude-fable-5-thinking",level:"xhigh",legacyVariantId:"claude-fable-5-thinking-xhigh",encoding:"legacy-variant"},"claude-opus-4-7-high":{targetId:"claude-opus-4-7",level:"high",legacyVariantId:"claude-opus-4-7-high",encoding:"legacy-variant"},"claude-opus-4-7-low":{targetId:"claude-opus-4-7",level:"low",legacyVariantId:"claude-opus-4-7-low",encoding:"legacy-variant"},"claude-opus-4-7-max":{targetId:"claude-opus-4-7",level:"max",legacyVariantId:"claude-opus-4-7-max",encoding:"legacy-variant"},"claude-opus-4-7-medium":{targetId:"claude-opus-4-7",level:"medium",legacyVariantId:"claude-opus-4-7-medium",encoding:"legacy-variant"},"claude-opus-4-7-xhigh":{targetId:"claude-opus-4-7",level:"xhigh",legacyVariantId:"claude-opus-4-7-xhigh",encoding:"legacy-variant"},"claude-opus-4-7-high-fast":{targetId:"claude-opus-4-7-high-fast",legacyVariantId:"claude-opus-4-7-high-fast",encoding:"legacy-variant"},"claude-opus-4-7-low-fast":{targetId:"claude-opus-4-7-low-fast",legacyVariantId:"claude-opus-4-7-low-fast",encoding:"legacy-variant"},"claude-opus-4-7-max-fast":{targetId:"claude-opus-4-7-max-fast",legacyVariantId:"claude-opus-4-7-max-fast",encoding:"legacy-variant"},"claude-opus-4-7-medium-fast":{targetId:"claude-opus-4-7-medium-fast",legacyVariantId:"claude-opus-4-7-medium-fast",encoding:"legacy-variant"},"claude-opus-4-7-xhigh-fast":{targetId:"claude-opus-4-7-xhigh-fast",legacyVariantId:"claude-opus-4-7-xhigh-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-high":{targetId:"claude-opus-4-7-thinking",level:"high",legacyVariantId:"claude-opus-4-7-thinking-high",encoding:"legacy-variant"},"claude-opus-4-7-thinking-low":{targetId:"claude-opus-4-7-thinking",level:"low",legacyVariantId:"claude-opus-4-7-thinking-low",encoding:"legacy-variant"},"claude-opus-4-7-thinking-max":{targetId:"claude-opus-4-7-thinking",level:"max",legacyVariantId:"claude-opus-4-7-thinking-max",encoding:"legacy-variant"},"claude-opus-4-7-thinking-medium":{targetId:"claude-opus-4-7-thinking",level:"medium",legacyVariantId:"claude-opus-4-7-thinking-medium",encoding:"legacy-variant"},"claude-opus-4-7-thinking-xhigh":{targetId:"claude-opus-4-7-thinking",level:"xhigh",legacyVariantId:"claude-opus-4-7-thinking-xhigh",encoding:"legacy-variant"},"claude-opus-4-7-thinking-high-fast":{targetId:"claude-opus-4-7-thinking-high-fast",legacyVariantId:"claude-opus-4-7-thinking-high-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-low-fast":{targetId:"claude-opus-4-7-thinking-low-fast",legacyVariantId:"claude-opus-4-7-thinking-low-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-max-fast":{targetId:"claude-opus-4-7-thinking-max-fast",legacyVariantId:"claude-opus-4-7-thinking-max-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-medium-fast":{targetId:"claude-opus-4-7-thinking-medium-fast",legacyVariantId:"claude-opus-4-7-thinking-medium-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-xhigh-fast":{targetId:"claude-opus-4-7-thinking-xhigh-fast",legacyVariantId:"claude-opus-4-7-thinking-xhigh-fast",encoding:"legacy-variant"},"claude-opus-4-8-high":{targetId:"claude-opus-4-8",level:"high",legacyVariantId:"claude-opus-4-8-high",encoding:"legacy-variant"},"claude-opus-4-8-low":{targetId:"claude-opus-4-8",level:"low",legacyVariantId:"claude-opus-4-8-low",encoding:"legacy-variant"},"claude-opus-4-8-max":{targetId:"claude-opus-4-8",level:"max",legacyVariantId:"claude-opus-4-8-max",encoding:"legacy-variant"},"claude-opus-4-8-medium":{targetId:"claude-opus-4-8",level:"medium",legacyVariantId:"claude-opus-4-8-medium",encoding:"legacy-variant"},"claude-opus-4-8-xhigh":{targetId:"claude-opus-4-8",level:"xhigh",legacyVariantId:"claude-opus-4-8-xhigh",encoding:"legacy-variant"},"claude-opus-4-8-high-fast":{targetId:"claude-opus-4-8-high-fast",legacyVariantId:"claude-opus-4-8-high-fast",encoding:"legacy-variant"},"claude-opus-4-8-low-fast":{targetId:"claude-opus-4-8-low-fast",legacyVariantId:"claude-opus-4-8-low-fast",encoding:"legacy-variant"},"claude-opus-4-8-max-fast":{targetId:"claude-opus-4-8-max-fast",legacyVariantId:"claude-opus-4-8-max-fast",encoding:"legacy-variant"},"claude-opus-4-8-medium-fast":{targetId:"claude-opus-4-8-medium-fast",legacyVariantId:"claude-opus-4-8-medium-fast",encoding:"legacy-variant"},"claude-opus-4-8-xhigh-fast":{targetId:"claude-opus-4-8-xhigh-fast",legacyVariantId:"claude-opus-4-8-xhigh-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-high":{targetId:"claude-opus-4-8-thinking",level:"high",legacyVariantId:"claude-opus-4-8-thinking-high",encoding:"legacy-variant"},"claude-opus-4-8-thinking-low":{targetId:"claude-opus-4-8-thinking",level:"low",legacyVariantId:"claude-opus-4-8-thinking-low",encoding:"legacy-variant"},"claude-opus-4-8-thinking-max":{targetId:"claude-opus-4-8-thinking",level:"max",legacyVariantId:"claude-opus-4-8-thinking-max",encoding:"legacy-variant"},"claude-opus-4-8-thinking-medium":{targetId:"claude-opus-4-8-thinking",level:"medium",legacyVariantId:"claude-opus-4-8-thinking-medium",encoding:"legacy-variant"},"claude-opus-4-8-thinking-xhigh":{targetId:"claude-opus-4-8-thinking",level:"xhigh",legacyVariantId:"claude-opus-4-8-thinking-xhigh",encoding:"legacy-variant"},"claude-opus-4-8-thinking-high-fast":{targetId:"claude-opus-4-8-thinking-high-fast",legacyVariantId:"claude-opus-4-8-thinking-high-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-low-fast":{targetId:"claude-opus-4-8-thinking-low-fast",legacyVariantId:"claude-opus-4-8-thinking-low-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-max-fast":{targetId:"claude-opus-4-8-thinking-max-fast",legacyVariantId:"claude-opus-4-8-thinking-max-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-medium-fast":{targetId:"claude-opus-4-8-thinking-medium-fast",legacyVariantId:"claude-opus-4-8-thinking-medium-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-xhigh-fast":{targetId:"claude-opus-4-8-thinking-xhigh-fast",legacyVariantId:"claude-opus-4-8-thinking-xhigh-fast",encoding:"legacy-variant"},"claude-opus-5-high":{targetId:"claude-opus-5",level:"high",legacyVariantId:"claude-opus-5-high",encoding:"legacy-variant"},"claude-opus-5-low":{targetId:"claude-opus-5",level:"low",legacyVariantId:"claude-opus-5-low",encoding:"legacy-variant"},"claude-opus-5-medium":{targetId:"claude-opus-5",level:"medium",legacyVariantId:"claude-opus-5-medium",encoding:"legacy-variant"},"claude-opus-5-max":{targetId:"claude-opus-5",level:"max",legacyVariantId:"claude-opus-5-max",encoding:"legacy-variant"},"claude-opus-5-high-fast":{targetId:"claude-opus-5-high-fast",legacyVariantId:"claude-opus-5-high-fast",encoding:"legacy-variant"},"claude-opus-5-low-fast":{targetId:"claude-opus-5-low-fast",legacyVariantId:"claude-opus-5-low-fast",encoding:"legacy-variant"},"claude-opus-5-medium-fast":{targetId:"claude-opus-5-medium-fast",legacyVariantId:"claude-opus-5-medium-fast",encoding:"legacy-variant"},"claude-opus-5-max-fast":{targetId:"claude-opus-5-max-fast",legacyVariantId:"claude-opus-5-max-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-high":{targetId:"claude-opus-5-thinking",level:"high",legacyVariantId:"claude-opus-5-thinking-high",encoding:"legacy-variant"},"claude-opus-5-thinking-low":{targetId:"claude-opus-5-thinking",level:"low",legacyVariantId:"claude-opus-5-thinking-low",encoding:"legacy-variant"},"claude-opus-5-thinking-max":{targetId:"claude-opus-5-thinking",level:"max",legacyVariantId:"claude-opus-5-thinking-max",encoding:"legacy-variant"},"claude-opus-5-thinking-medium":{targetId:"claude-opus-5-thinking",level:"medium",legacyVariantId:"claude-opus-5-thinking-medium",encoding:"legacy-variant"},"claude-opus-5-thinking-xhigh":{targetId:"claude-opus-5-thinking",level:"xhigh",legacyVariantId:"claude-opus-5-thinking-xhigh",encoding:"legacy-variant"},"claude-opus-5-thinking-high-fast":{targetId:"claude-opus-5-thinking-high-fast",legacyVariantId:"claude-opus-5-thinking-high-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-low-fast":{targetId:"claude-opus-5-thinking-low-fast",legacyVariantId:"claude-opus-5-thinking-low-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-max-fast":{targetId:"claude-opus-5-thinking-max-fast",legacyVariantId:"claude-opus-5-thinking-max-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-medium-fast":{targetId:"claude-opus-5-thinking-medium-fast",legacyVariantId:"claude-opus-5-thinking-medium-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-xhigh-fast":{targetId:"claude-opus-5-thinking-xhigh-fast",legacyVariantId:"claude-opus-5-thinking-xhigh-fast",encoding:"legacy-variant"},"claude-sonnet-5-high":{targetId:"claude-sonnet-5",level:"high",legacyVariantId:"claude-sonnet-5-high",encoding:"legacy-variant"},"claude-sonnet-5-low":{targetId:"claude-sonnet-5",level:"low",legacyVariantId:"claude-sonnet-5-low",encoding:"legacy-variant"},"claude-sonnet-5-max":{targetId:"claude-sonnet-5",level:"max",legacyVariantId:"claude-sonnet-5-max",encoding:"legacy-variant"},"claude-sonnet-5-medium":{targetId:"claude-sonnet-5",level:"medium",legacyVariantId:"claude-sonnet-5-medium",encoding:"legacy-variant"},"claude-sonnet-5-xhigh":{targetId:"claude-sonnet-5",level:"xhigh",legacyVariantId:"claude-sonnet-5-xhigh",encoding:"legacy-variant"},"claude-sonnet-5-thinking-high":{targetId:"claude-sonnet-5-thinking",level:"high",legacyVariantId:"claude-sonnet-5-thinking-high",encoding:"legacy-variant"},"claude-sonnet-5-thinking-low":{targetId:"claude-sonnet-5-thinking",level:"low",legacyVariantId:"claude-sonnet-5-thinking-low",encoding:"legacy-variant"},"claude-sonnet-5-thinking-max":{targetId:"claude-sonnet-5-thinking",level:"max",legacyVariantId:"claude-sonnet-5-thinking-max",encoding:"legacy-variant"},"claude-sonnet-5-thinking-medium":{targetId:"claude-sonnet-5-thinking",level:"medium",legacyVariantId:"claude-sonnet-5-thinking-medium",encoding:"legacy-variant"},"claude-sonnet-5-thinking-xhigh":{targetId:"claude-sonnet-5-thinking",level:"xhigh",legacyVariantId:"claude-sonnet-5-thinking-xhigh",encoding:"legacy-variant"},"composer-2.5":{targetId:"composer-2.5",legacyVariantId:"composer-2.5",encoding:"legacy-variant"},"composer-2.5-fast":{targetId:"composer-2.5-fast",legacyVariantId:"composer-2.5-fast",encoding:"legacy-variant"},"cursor-grok-4.5-high":{targetId:"cursor-grok-4.5",level:"high",legacyVariantId:"cursor-grok-4.5-high",encoding:"legacy-variant"},"cursor-grok-4.5-low":{targetId:"cursor-grok-4.5",level:"low",legacyVariantId:"cursor-grok-4.5-low",encoding:"legacy-variant"},"cursor-grok-4.5-medium":{targetId:"cursor-grok-4.5",level:"medium",legacyVariantId:"cursor-grok-4.5-medium",encoding:"legacy-variant"},"cursor-grok-4.5-max":{targetId:"cursor-grok-4.5",level:"max",legacyVariantId:"cursor-grok-4.5-max",encoding:"legacy-variant"},"cursor-grok-4.5-thinking-low":{targetId:"cursor-grok-4.5",level:"low",legacyVariantId:"cursor-grok-4.5-thinking-low",encoding:"legacy-variant"},"cursor-grok-4.5-thinking-medium":{targetId:"cursor-grok-4.5",level:"medium",legacyVariantId:"cursor-grok-4.5-thinking-medium",encoding:"legacy-variant"},"cursor-grok-4.5-thinking-max":{targetId:"cursor-grok-4.5",level:"max",legacyVariantId:"cursor-grok-4.5-thinking-max",encoding:"legacy-variant"},"cursor-grok-4.5-high-fast":{targetId:"cursor-grok-4.5-high-fast",legacyVariantId:"cursor-grok-4.5-high-fast",encoding:"legacy-variant"},"cursor-grok-4.5-low-fast":{targetId:"cursor-grok-4.5-low-fast",legacyVariantId:"cursor-grok-4.5-low-fast",encoding:"legacy-variant"},"cursor-grok-4.5-medium-fast":{targetId:"cursor-grok-4.5-medium-fast",legacyVariantId:"cursor-grok-4.5-medium-fast",encoding:"legacy-variant"},"cursor-grok-4.5-max-fast":{targetId:"cursor-grok-4.5-max-fast",legacyVariantId:"cursor-grok-4.5-max-fast",encoding:"legacy-variant"},"cursor-grok-4.6-high":{targetId:"cursor-grok-4.6",level:"high",legacyVariantId:"cursor-grok-4.6-high",encoding:"legacy-variant"},"cursor-grok-4.6-low":{targetId:"cursor-grok-4.6",level:"low",legacyVariantId:"cursor-grok-4.6-low",encoding:"legacy-variant"},"cursor-grok-4.6-medium":{targetId:"cursor-grok-4.6",level:"medium",legacyVariantId:"cursor-grok-4.6-medium",encoding:"legacy-variant"},"cursor-grok-4.6-xhigh":{targetId:"cursor-grok-4.6",level:"xhigh",legacyVariantId:"cursor-grok-4.6-xhigh",encoding:"legacy-variant"},"cursor-grok-4.6-max":{targetId:"cursor-grok-4.6",level:"max",legacyVariantId:"cursor-grok-4.6-max",encoding:"legacy-variant"},"cursor-grok-4.6-thinking-low":{targetId:"cursor-grok-4.6",level:"low",legacyVariantId:"cursor-grok-4.6-thinking-low",encoding:"legacy-variant"},"cursor-grok-4.6-thinking-medium":{targetId:"cursor-grok-4.6",level:"medium",legacyVariantId:"cursor-grok-4.6-thinking-medium",encoding:"legacy-variant"},"cursor-grok-4.6-thinking-max":{targetId:"cursor-grok-4.6",level:"max",legacyVariantId:"cursor-grok-4.6-thinking-max",encoding:"legacy-variant"},"cursor-grok-4.6-high-fast":{targetId:"cursor-grok-4.6-high-fast",legacyVariantId:"cursor-grok-4.6-high-fast",encoding:"legacy-variant"},"cursor-grok-4.6-low-fast":{targetId:"cursor-grok-4.6-low-fast",legacyVariantId:"cursor-grok-4.6-low-fast",encoding:"legacy-variant"},"cursor-grok-4.6-medium-fast":{targetId:"cursor-grok-4.6-medium-fast",legacyVariantId:"cursor-grok-4.6-medium-fast",encoding:"legacy-variant"},"cursor-grok-4.6-xhigh-fast":{targetId:"cursor-grok-4.6-xhigh-fast",legacyVariantId:"cursor-grok-4.6-xhigh-fast",encoding:"legacy-variant"},"cursor-grok-4.6-max-fast":{targetId:"cursor-grok-4.6-max-fast",legacyVariantId:"cursor-grok-4.6-max-fast",encoding:"legacy-variant"},default:{targetId:"default",legacyVariantId:"default",encoding:"legacy-variant"},"gemini-3-flash":{targetId:"gemini-3-flash",legacyVariantId:"gemini-3-flash",encoding:"legacy-variant"},"gemini-3.1-pro":{targetId:"gemini-3.1-pro",legacyVariantId:"gemini-3.1-pro",encoding:"legacy-variant"},"gemini-3.5-flash":{targetId:"gemini-3.5-flash",legacyVariantId:"gemini-3.5-flash",encoding:"legacy-variant"},"gemini-3.6-flash-high":{targetId:"gemini-3.6-flash",level:"high",legacyVariantId:"gemini-3.6-flash-high",encoding:"legacy-variant"},"gemini-3.6-flash-low":{targetId:"gemini-3.6-flash",level:"low",legacyVariantId:"gemini-3.6-flash-low",encoding:"legacy-variant"},"gemini-3.6-flash-medium":{targetId:"gemini-3.6-flash",level:"medium",legacyVariantId:"gemini-3.6-flash-medium",encoding:"legacy-variant"},"gemini-3.6-flash-minimal":{targetId:"gemini-3.6-flash",level:"minimal",legacyVariantId:"gemini-3.6-flash-minimal",encoding:"legacy-variant"},"gemini-3.7-flash-high":{targetId:"gemini-3.7-flash",level:"high",legacyVariantId:"gemini-3.7-flash-high",encoding:"legacy-variant"},"gemini-3.7-flash-low":{targetId:"gemini-3.7-flash",level:"low",legacyVariantId:"gemini-3.7-flash-low",encoding:"legacy-variant"},"gemini-3.7-flash-medium":{targetId:"gemini-3.7-flash",level:"medium",legacyVariantId:"gemini-3.7-flash-medium",encoding:"legacy-variant"},"gemini-3.7-flash-max":{targetId:"gemini-3.7-flash",level:"max",legacyVariantId:"gemini-3.7-flash-max",encoding:"legacy-variant"},"gemini-3.7-flash-thinking-low":{targetId:"gemini-3.7-flash",level:"low",legacyVariantId:"gemini-3.7-flash-thinking-low",encoding:"legacy-variant"},"gemini-3.7-flash-thinking-medium":{targetId:"gemini-3.7-flash",level:"medium",legacyVariantId:"gemini-3.7-flash-thinking-medium",encoding:"legacy-variant"},"gemini-3.7-flash-thinking-max":{targetId:"gemini-3.7-flash",level:"max",legacyVariantId:"gemini-3.7-flash-thinking-max",encoding:"legacy-variant"},"glm-5.2-high":{targetId:"glm-5.2",level:"high",legacyVariantId:"glm-5.2-high",encoding:"legacy-variant"},"glm-5.2-max":{targetId:"glm-5.2",level:"max",legacyVariantId:"glm-5.2-max",encoding:"legacy-variant"},"gpt-5-mini":{targetId:"gpt-5-mini",legacyVariantId:"gpt-5-mini",encoding:"legacy-variant"},"gpt-5.1":{targetId:"gpt-5.1",legacyVariantId:"gpt-5.1",encoding:"legacy-variant"},"gpt-5.1-high":{targetId:"gpt-5.1",level:"high",legacyVariantId:"gpt-5.1-high",encoding:"legacy-variant"},"gpt-5.1-low":{targetId:"gpt-5.1",level:"low",legacyVariantId:"gpt-5.1-low",encoding:"legacy-variant"},"gpt-5.2":{targetId:"gpt-5.2",legacyVariantId:"gpt-5.2",encoding:"legacy-variant"},"gpt-5.2-high":{targetId:"gpt-5.2",level:"high",legacyVariantId:"gpt-5.2-high",encoding:"legacy-variant"},"gpt-5.2-low":{targetId:"gpt-5.2",level:"low",legacyVariantId:"gpt-5.2-low",encoding:"legacy-variant"},"gpt-5.2-xhigh":{targetId:"gpt-5.2",level:"xhigh",legacyVariantId:"gpt-5.2-xhigh",encoding:"legacy-variant"},"gpt-5.2-medium":{targetId:"gpt-5.2",level:"medium",legacyVariantId:"gpt-5.2-medium",encoding:"legacy-variant"},"gpt-5.2-max":{targetId:"gpt-5.2",level:"max",legacyVariantId:"gpt-5.2-max",encoding:"legacy-variant"},"gpt-5.2-thinking-low":{targetId:"gpt-5.2",level:"low",legacyVariantId:"gpt-5.2-thinking-low",encoding:"legacy-variant"},"gpt-5.2-thinking-medium":{targetId:"gpt-5.2",level:"medium",legacyVariantId:"gpt-5.2-thinking-medium",encoding:"legacy-variant"},"gpt-5.2-thinking-max":{targetId:"gpt-5.2",level:"max",legacyVariantId:"gpt-5.2-thinking-max",encoding:"legacy-variant"},"gpt-5.2-fast":{targetId:"gpt-5.2-fast",legacyVariantId:"gpt-5.2-fast",encoding:"legacy-variant"},"gpt-5.2-high-fast":{targetId:"gpt-5.2-high-fast",legacyVariantId:"gpt-5.2-high-fast",encoding:"legacy-variant"},"gpt-5.2-low-fast":{targetId:"gpt-5.2-low-fast",legacyVariantId:"gpt-5.2-low-fast",encoding:"legacy-variant"},"gpt-5.2-xhigh-fast":{targetId:"gpt-5.2-xhigh-fast",legacyVariantId:"gpt-5.2-xhigh-fast",encoding:"legacy-variant"},"gpt-5.2-medium-fast":{targetId:"gpt-5.2-medium-fast",legacyVariantId:"gpt-5.2-medium-fast",encoding:"legacy-variant"},"gpt-5.2-max-fast":{targetId:"gpt-5.2-max-fast",legacyVariantId:"gpt-5.2-max-fast",encoding:"legacy-variant"},"gpt-5.3-codex":{targetId:"gpt-5.3-codex",legacyVariantId:"gpt-5.3-codex",encoding:"legacy-variant"},"gpt-5.3-codex-high":{targetId:"gpt-5.3-codex",level:"high",legacyVariantId:"gpt-5.3-codex-high",encoding:"legacy-variant"},"gpt-5.3-codex-low":{targetId:"gpt-5.3-codex",level:"low",legacyVariantId:"gpt-5.3-codex-low",encoding:"legacy-variant"},"gpt-5.3-codex-xhigh":{targetId:"gpt-5.3-codex",level:"xhigh",legacyVariantId:"gpt-5.3-codex-xhigh",encoding:"legacy-variant"},"gpt-5.3-codex-medium":{targetId:"gpt-5.3-codex",level:"medium",legacyVariantId:"gpt-5.3-codex-medium",encoding:"legacy-variant"},"gpt-5.3-codex-max":{targetId:"gpt-5.3-codex",level:"max",legacyVariantId:"gpt-5.3-codex-max",encoding:"legacy-variant"},"gpt-5.3-codex-thinking-low":{targetId:"gpt-5.3-codex",level:"low",legacyVariantId:"gpt-5.3-codex-thinking-low",encoding:"legacy-variant"},"gpt-5.3-codex-thinking-medium":{targetId:"gpt-5.3-codex",level:"medium",legacyVariantId:"gpt-5.3-codex-thinking-medium",encoding:"legacy-variant"},"gpt-5.3-codex-thinking-max":{targetId:"gpt-5.3-codex",level:"max",legacyVariantId:"gpt-5.3-codex-thinking-max",encoding:"legacy-variant"},"gpt-5.3-codex-fast":{targetId:"gpt-5.3-codex-fast",legacyVariantId:"gpt-5.3-codex-fast",encoding:"legacy-variant"},"gpt-5.3-codex-high-fast":{targetId:"gpt-5.3-codex-high-fast",legacyVariantId:"gpt-5.3-codex-high-fast",encoding:"legacy-variant"},"gpt-5.3-codex-low-fast":{targetId:"gpt-5.3-codex-low-fast",legacyVariantId:"gpt-5.3-codex-low-fast",encoding:"legacy-variant"},"gpt-5.3-codex-xhigh-fast":{targetId:"gpt-5.3-codex-xhigh-fast",legacyVariantId:"gpt-5.3-codex-xhigh-fast",encoding:"legacy-variant"},"gpt-5.3-codex-medium-fast":{targetId:"gpt-5.3-codex-medium-fast",legacyVariantId:"gpt-5.3-codex-medium-fast",encoding:"legacy-variant"},"gpt-5.3-codex-max-fast":{targetId:"gpt-5.3-codex-max-fast",legacyVariantId:"gpt-5.3-codex-max-fast",encoding:"legacy-variant"},"gpt-5.4-high":{targetId:"gpt-5.4",level:"high",legacyVariantId:"gpt-5.4-high",encoding:"legacy-variant"},"gpt-5.4-low":{targetId:"gpt-5.4",level:"low",legacyVariantId:"gpt-5.4-low",encoding:"legacy-variant"},"gpt-5.4-medium":{targetId:"gpt-5.4",level:"medium",legacyVariantId:"gpt-5.4-medium",encoding:"legacy-variant"},"gpt-5.4-xhigh":{targetId:"gpt-5.4",level:"xhigh",legacyVariantId:"gpt-5.4-xhigh",encoding:"legacy-variant"},"gpt-5.4-high-fast":{targetId:"gpt-5.4-high-fast",legacyVariantId:"gpt-5.4-high-fast",encoding:"legacy-variant"},"gpt-5.4-medium-fast":{targetId:"gpt-5.4-medium-fast",legacyVariantId:"gpt-5.4-medium-fast",encoding:"legacy-variant"},"gpt-5.4-xhigh-fast":{targetId:"gpt-5.4-xhigh-fast",legacyVariantId:"gpt-5.4-xhigh-fast",encoding:"legacy-variant"},"gpt-5.4-mini-high":{targetId:"gpt-5.4-mini",level:"high",legacyVariantId:"gpt-5.4-mini-high",encoding:"legacy-variant"},"gpt-5.4-mini-low":{targetId:"gpt-5.4-mini",level:"low",legacyVariantId:"gpt-5.4-mini-low",encoding:"legacy-variant"},"gpt-5.4-mini-medium":{targetId:"gpt-5.4-mini",level:"medium",legacyVariantId:"gpt-5.4-mini-medium",encoding:"legacy-variant"},"gpt-5.4-mini-none":{targetId:"gpt-5.4-mini",level:"off",legacyVariantId:"gpt-5.4-mini-none",encoding:"legacy-variant"},"gpt-5.4-mini-xhigh":{targetId:"gpt-5.4-mini",level:"xhigh",legacyVariantId:"gpt-5.4-mini-xhigh",encoding:"legacy-variant"},"gpt-5.4-nano-high":{targetId:"gpt-5.4-nano",level:"high",legacyVariantId:"gpt-5.4-nano-high",encoding:"legacy-variant"},"gpt-5.4-nano-low":{targetId:"gpt-5.4-nano",level:"low",legacyVariantId:"gpt-5.4-nano-low",encoding:"legacy-variant"},"gpt-5.4-nano-medium":{targetId:"gpt-5.4-nano",level:"medium",legacyVariantId:"gpt-5.4-nano-medium",encoding:"legacy-variant"},"gpt-5.4-nano-none":{targetId:"gpt-5.4-nano",level:"off",legacyVariantId:"gpt-5.4-nano-none",encoding:"legacy-variant"},"gpt-5.4-nano-xhigh":{targetId:"gpt-5.4-nano",level:"xhigh",legacyVariantId:"gpt-5.4-nano-xhigh",encoding:"legacy-variant"},"gpt-5.5-extra-high":{targetId:"gpt-5.5",level:"extra-high",legacyVariantId:"gpt-5.5-extra-high",encoding:"legacy-variant"},"gpt-5.5-high":{targetId:"gpt-5.5",level:"high",legacyVariantId:"gpt-5.5-high",encoding:"legacy-variant"},"gpt-5.5-low":{targetId:"gpt-5.5",level:"low",legacyVariantId:"gpt-5.5-low",encoding:"legacy-variant"},"gpt-5.5-medium":{targetId:"gpt-5.5",level:"medium",legacyVariantId:"gpt-5.5-medium",encoding:"legacy-variant"},"gpt-5.5-none":{targetId:"gpt-5.5",level:"off",legacyVariantId:"gpt-5.5-none",encoding:"legacy-variant"},"gpt-5.5-max":{targetId:"gpt-5.5",level:"max",legacyVariantId:"gpt-5.5-max",encoding:"legacy-variant"},"gpt-5.5-thinking-low":{targetId:"gpt-5.5",level:"low",legacyVariantId:"gpt-5.5-thinking-low",encoding:"legacy-variant"},"gpt-5.5-thinking-medium":{targetId:"gpt-5.5",level:"medium",legacyVariantId:"gpt-5.5-thinking-medium",encoding:"legacy-variant"},"gpt-5.5-thinking-max":{targetId:"gpt-5.5",level:"max",legacyVariantId:"gpt-5.5-thinking-max",encoding:"legacy-variant"},"gpt-5.5-extra-high-fast":{targetId:"gpt-5.5-extra-high-fast",legacyVariantId:"gpt-5.5-extra-high-fast",encoding:"legacy-variant"},"gpt-5.5-high-fast":{targetId:"gpt-5.5-high-fast",legacyVariantId:"gpt-5.5-high-fast",encoding:"legacy-variant"},"gpt-5.5-low-fast":{targetId:"gpt-5.5-low-fast",legacyVariantId:"gpt-5.5-low-fast",encoding:"legacy-variant"},"gpt-5.5-medium-fast":{targetId:"gpt-5.5-medium-fast",legacyVariantId:"gpt-5.5-medium-fast",encoding:"legacy-variant"},"gpt-5.5-none-fast":{targetId:"gpt-5.5-none-fast",legacyVariantId:"gpt-5.5-none-fast",encoding:"legacy-variant"},"gpt-5.5-max-fast":{targetId:"gpt-5.5-max-fast",legacyVariantId:"gpt-5.5-max-fast",encoding:"legacy-variant"},"gpt-5.6-luna-high":{targetId:"gpt-5.6-luna",level:"high",legacyVariantId:"gpt-5.6-luna-high",encoding:"legacy-variant"},"gpt-5.6-luna-low":{targetId:"gpt-5.6-luna",level:"low",legacyVariantId:"gpt-5.6-luna-low",encoding:"legacy-variant"},"gpt-5.6-luna-max":{targetId:"gpt-5.6-luna",level:"max",legacyVariantId:"gpt-5.6-luna-max",encoding:"legacy-variant"},"gpt-5.6-luna-medium":{targetId:"gpt-5.6-luna",level:"medium",legacyVariantId:"gpt-5.6-luna-medium",encoding:"legacy-variant"},"gpt-5.6-luna-none":{targetId:"gpt-5.6-luna",level:"off",legacyVariantId:"gpt-5.6-luna-none",encoding:"legacy-variant"},"gpt-5.6-luna-xhigh":{targetId:"gpt-5.6-luna",level:"xhigh",legacyVariantId:"gpt-5.6-luna-xhigh",encoding:"legacy-variant"},"gpt-5.6-luna-thinking-low":{targetId:"gpt-5.6-luna",level:"low",legacyVariantId:"gpt-5.6-luna-thinking-low",encoding:"legacy-variant"},"gpt-5.6-luna-thinking-medium":{targetId:"gpt-5.6-luna",level:"medium",legacyVariantId:"gpt-5.6-luna-thinking-medium",encoding:"legacy-variant"},"gpt-5.6-luna-thinking-max":{targetId:"gpt-5.6-luna",level:"max",legacyVariantId:"gpt-5.6-luna-thinking-max",encoding:"legacy-variant"},"gpt-5.6-luna-high-fast":{targetId:"gpt-5.6-luna-high-fast",legacyVariantId:"gpt-5.6-luna-high-fast",encoding:"legacy-variant"},"gpt-5.6-luna-low-fast":{targetId:"gpt-5.6-luna-low-fast",legacyVariantId:"gpt-5.6-luna-low-fast",encoding:"legacy-variant"},"gpt-5.6-luna-max-fast":{targetId:"gpt-5.6-luna-max-fast",legacyVariantId:"gpt-5.6-luna-max-fast",encoding:"legacy-variant"},"gpt-5.6-luna-medium-fast":{targetId:"gpt-5.6-luna-medium-fast",legacyVariantId:"gpt-5.6-luna-medium-fast",encoding:"legacy-variant"},"gpt-5.6-luna-none-fast":{targetId:"gpt-5.6-luna-none-fast",legacyVariantId:"gpt-5.6-luna-none-fast",encoding:"legacy-variant"},"gpt-5.6-luna-xhigh-fast":{targetId:"gpt-5.6-luna-xhigh-fast",legacyVariantId:"gpt-5.6-luna-xhigh-fast",encoding:"legacy-variant"},"gpt-5.6-sol-high":{targetId:"gpt-5.6-sol",level:"high",legacyVariantId:"gpt-5.6-sol-high",encoding:"legacy-variant"},"gpt-5.6-sol-low":{targetId:"gpt-5.6-sol",level:"low",legacyVariantId:"gpt-5.6-sol-low",encoding:"legacy-variant"},"gpt-5.6-sol-max":{targetId:"gpt-5.6-sol",level:"max",legacyVariantId:"gpt-5.6-sol-max",encoding:"legacy-variant"},"gpt-5.6-sol-medium":{targetId:"gpt-5.6-sol",level:"medium",legacyVariantId:"gpt-5.6-sol-medium",encoding:"legacy-variant"},"gpt-5.6-sol-none":{targetId:"gpt-5.6-sol",level:"off",legacyVariantId:"gpt-5.6-sol-none",encoding:"legacy-variant"},"gpt-5.6-sol-xhigh":{targetId:"gpt-5.6-sol",level:"xhigh",legacyVariantId:"gpt-5.6-sol-xhigh",encoding:"legacy-variant"},"gpt-5.6-sol-thinking-low":{targetId:"gpt-5.6-sol",level:"low",legacyVariantId:"gpt-5.6-sol-thinking-low",encoding:"legacy-variant"},"gpt-5.6-sol-thinking-medium":{targetId:"gpt-5.6-sol",level:"medium",legacyVariantId:"gpt-5.6-sol-thinking-medium",encoding:"legacy-variant"},"gpt-5.6-sol-thinking-max":{targetId:"gpt-5.6-sol",level:"max",legacyVariantId:"gpt-5.6-sol-thinking-max",encoding:"legacy-variant"},"gpt-5.6-sol-high-fast":{targetId:"gpt-5.6-sol-high-fast",legacyVariantId:"gpt-5.6-sol-high-fast",encoding:"legacy-variant"},"gpt-5.6-sol-low-fast":{targetId:"gpt-5.6-sol-low-fast",legacyVariantId:"gpt-5.6-sol-low-fast",encoding:"legacy-variant"},"gpt-5.6-sol-max-fast":{targetId:"gpt-5.6-sol-max-fast",legacyVariantId:"gpt-5.6-sol-max-fast",encoding:"legacy-variant"},"gpt-5.6-sol-medium-fast":{targetId:"gpt-5.6-sol-medium-fast",legacyVariantId:"gpt-5.6-sol-medium-fast",encoding:"legacy-variant"},"gpt-5.6-sol-none-fast":{targetId:"gpt-5.6-sol-none-fast",legacyVariantId:"gpt-5.6-sol-none-fast",encoding:"legacy-variant"},"gpt-5.6-sol-xhigh-fast":{targetId:"gpt-5.6-sol-xhigh-fast",legacyVariantId:"gpt-5.6-sol-xhigh-fast",encoding:"legacy-variant"},"gpt-5.6-terra-high":{targetId:"gpt-5.6-terra",level:"high",legacyVariantId:"gpt-5.6-terra-high",encoding:"legacy-variant"},"gpt-5.6-terra-low":{targetId:"gpt-5.6-terra",level:"low",legacyVariantId:"gpt-5.6-terra-low",encoding:"legacy-variant"},"gpt-5.6-terra-max":{targetId:"gpt-5.6-terra",level:"max",legacyVariantId:"gpt-5.6-terra-max",encoding:"legacy-variant"},"gpt-5.6-terra-medium":{targetId:"gpt-5.6-terra",level:"medium",legacyVariantId:"gpt-5.6-terra-medium",encoding:"legacy-variant"},"gpt-5.6-terra-none":{targetId:"gpt-5.6-terra",level:"off",legacyVariantId:"gpt-5.6-terra-none",encoding:"legacy-variant"},"gpt-5.6-terra-xhigh":{targetId:"gpt-5.6-terra",level:"xhigh",legacyVariantId:"gpt-5.6-terra-xhigh",encoding:"legacy-variant"},"gpt-5.6-terra-high-fast":{targetId:"gpt-5.6-terra-high-fast",legacyVariantId:"gpt-5.6-terra-high-fast",encoding:"legacy-variant"},"gpt-5.6-terra-low-fast":{targetId:"gpt-5.6-terra-low-fast",legacyVariantId:"gpt-5.6-terra-low-fast",encoding:"legacy-variant"},"gpt-5.6-terra-max-fast":{targetId:"gpt-5.6-terra-max-fast",legacyVariantId:"gpt-5.6-terra-max-fast",encoding:"legacy-variant"},"gpt-5.6-terra-medium-fast":{targetId:"gpt-5.6-terra-medium-fast",legacyVariantId:"gpt-5.6-terra-medium-fast",encoding:"legacy-variant"},"gpt-5.6-terra-none-fast":{targetId:"gpt-5.6-terra-none-fast",legacyVariantId:"gpt-5.6-terra-none-fast",encoding:"legacy-variant"},"gpt-5.6-terra-xhigh-fast":{targetId:"gpt-5.6-terra-xhigh-fast",legacyVariantId:"gpt-5.6-terra-xhigh-fast",encoding:"legacy-variant"},"kimi-k2.7-code":{targetId:"kimi-k2.7-code",legacyVariantId:"kimi-k2.7-code",encoding:"legacy-variant"},"kimi-k3-high":{targetId:"kimi-k3",level:"high",legacyVariantId:"kimi-k3-high",encoding:"legacy-variant"},"kimi-k3-low":{targetId:"kimi-k3",level:"low",legacyVariantId:"kimi-k3-low",encoding:"legacy-variant"},"kimi-k3-max":{targetId:"kimi-k3",level:"max",legacyVariantId:"kimi-k3-max",encoding:"legacy-variant"},auto:{targetId:"auto",legacyVariantId:"auto",encoding:"legacy-variant"},"claude-fable-5-low-fast":{targetId:"claude-fable-5-low-fast",legacyVariantId:"claude-fable-5-low-fast",encoding:"legacy-variant"},"claude-fable-5-medium-fast":{targetId:"claude-fable-5-medium-fast",legacyVariantId:"claude-fable-5-medium-fast",encoding:"legacy-variant"},"claude-fable-5-max-fast":{targetId:"claude-fable-5-max-fast",legacyVariantId:"claude-fable-5-max-fast",encoding:"legacy-variant"},"claude-sonnet-5-low-fast":{targetId:"claude-sonnet-5-low-fast",legacyVariantId:"claude-sonnet-5-low-fast",encoding:"legacy-variant"},"claude-sonnet-5-medium-fast":{targetId:"claude-sonnet-5-medium-fast",legacyVariantId:"claude-sonnet-5-medium-fast",encoding:"legacy-variant"},"claude-sonnet-5-max-fast":{targetId:"claude-sonnet-5-max-fast",legacyVariantId:"claude-sonnet-5-max-fast",encoding:"legacy-variant"},"claude-sonnet-4-7-low":{targetId:"claude-sonnet-4-7",level:"low",legacyVariantId:"claude-sonnet-4-7-low",encoding:"legacy-variant"},"claude-sonnet-4-7-medium":{targetId:"claude-sonnet-4-7",level:"medium",legacyVariantId:"claude-sonnet-4-7-medium",encoding:"legacy-variant"},"claude-sonnet-4-7-max":{targetId:"claude-sonnet-4-7",level:"max",legacyVariantId:"claude-sonnet-4-7-max",encoding:"legacy-variant"},"claude-sonnet-4-7-low-fast":{targetId:"claude-sonnet-4-7-low-fast",legacyVariantId:"claude-sonnet-4-7-low-fast",encoding:"legacy-variant"},"claude-sonnet-4-7-medium-fast":{targetId:"claude-sonnet-4-7-medium-fast",legacyVariantId:"claude-sonnet-4-7-medium-fast",encoding:"legacy-variant"},"claude-sonnet-4-7-max-fast":{targetId:"claude-sonnet-4-7-max-fast",legacyVariantId:"claude-sonnet-4-7-max-fast",encoding:"legacy-variant"},"claude-sonnet-4-7-thinking-low":{targetId:"claude-sonnet-4-7-thinking",level:"low",legacyVariantId:"claude-sonnet-4-7-thinking-low",encoding:"legacy-variant"},"claude-sonnet-4-7-thinking-medium":{targetId:"claude-sonnet-4-7-thinking",level:"medium",legacyVariantId:"claude-sonnet-4-7-thinking-medium",encoding:"legacy-variant"},"claude-sonnet-4-7-thinking-max":{targetId:"claude-sonnet-4-7-thinking",level:"max",legacyVariantId:"claude-sonnet-4-7-thinking-max",encoding:"legacy-variant"},"claude-mythos-5-low":{targetId:"claude-mythos-5",level:"low",legacyVariantId:"claude-mythos-5-low",encoding:"legacy-variant"},"claude-mythos-5-medium":{targetId:"claude-mythos-5",level:"medium",legacyVariantId:"claude-mythos-5-medium",encoding:"legacy-variant"},"claude-mythos-5-max":{targetId:"claude-mythos-5",level:"max",legacyVariantId:"claude-mythos-5-max",encoding:"legacy-variant"},"claude-mythos-5-low-fast":{targetId:"claude-mythos-5-low-fast",legacyVariantId:"claude-mythos-5-low-fast",encoding:"legacy-variant"},"claude-mythos-5-medium-fast":{targetId:"claude-mythos-5-medium-fast",legacyVariantId:"claude-mythos-5-medium-fast",encoding:"legacy-variant"},"claude-mythos-5-max-fast":{targetId:"claude-mythos-5-max-fast",legacyVariantId:"claude-mythos-5-max-fast",encoding:"legacy-variant"},"claude-mythos-5-thinking-low":{targetId:"claude-mythos-5-thinking",level:"low",legacyVariantId:"claude-mythos-5-thinking-low",encoding:"legacy-variant"},"claude-mythos-5-thinking-medium":{targetId:"claude-mythos-5-thinking",level:"medium",legacyVariantId:"claude-mythos-5-thinking-medium",encoding:"legacy-variant"},"claude-mythos-5-thinking-max":{targetId:"claude-mythos-5-thinking",level:"max",legacyVariantId:"claude-mythos-5-thinking-max",encoding:"legacy-variant"},"gpt-5.4-codex-low":{targetId:"gpt-5.4-codex",level:"low",legacyVariantId:"gpt-5.4-codex-low",encoding:"legacy-variant"},"gpt-5.4-codex-medium":{targetId:"gpt-5.4-codex",level:"medium",legacyVariantId:"gpt-5.4-codex-medium",encoding:"legacy-variant"},"gpt-5.4-codex-max":{targetId:"gpt-5.4-codex",level:"max",legacyVariantId:"gpt-5.4-codex-max",encoding:"legacy-variant"},"gpt-5.4-codex-thinking-low":{targetId:"gpt-5.4-codex",level:"low",legacyVariantId:"gpt-5.4-codex-thinking-low",encoding:"legacy-variant"},"gpt-5.4-codex-thinking-medium":{targetId:"gpt-5.4-codex",level:"medium",legacyVariantId:"gpt-5.4-codex-thinking-medium",encoding:"legacy-variant"},"gpt-5.4-codex-thinking-max":{targetId:"gpt-5.4-codex",level:"max",legacyVariantId:"gpt-5.4-codex-thinking-max",encoding:"legacy-variant"},"gpt-5.4-codex-low-fast":{targetId:"gpt-5.4-codex-low-fast",legacyVariantId:"gpt-5.4-codex-low-fast",encoding:"legacy-variant"},"gpt-5.4-codex-medium-fast":{targetId:"gpt-5.4-codex-medium-fast",legacyVariantId:"gpt-5.4-codex-medium-fast",encoding:"legacy-variant"},"gpt-5.4-codex-max-fast":{targetId:"gpt-5.4-codex-max-fast",legacyVariantId:"gpt-5.4-codex-max-fast",encoding:"legacy-variant"},"gemini-3.7-flash-low-fast":{targetId:"gemini-3.7-flash-low-fast",legacyVariantId:"gemini-3.7-flash-low-fast",encoding:"legacy-variant"},"gemini-3.7-flash-medium-fast":{targetId:"gemini-3.7-flash-medium-fast",legacyVariantId:"gemini-3.7-flash-medium-fast",encoding:"legacy-variant"},"gemini-3.7-flash-max-fast":{targetId:"gemini-3.7-flash-max-fast",legacyVariantId:"gemini-3.7-flash-max-fast",encoding:"legacy-variant"},"gemini-3.7-pro-low":{targetId:"gemini-3.7-pro",level:"low",legacyVariantId:"gemini-3.7-pro-low",encoding:"legacy-variant"},"gemini-3.7-pro-medium":{targetId:"gemini-3.7-pro",level:"medium",legacyVariantId:"gemini-3.7-pro-medium",encoding:"legacy-variant"},"gemini-3.7-pro-max":{targetId:"gemini-3.7-pro",level:"max",legacyVariantId:"gemini-3.7-pro-max",encoding:"legacy-variant"},"gemini-3.7-pro-thinking-low":{targetId:"gemini-3.7-pro",level:"low",legacyVariantId:"gemini-3.7-pro-thinking-low",encoding:"legacy-variant"},"gemini-3.7-pro-thinking-medium":{targetId:"gemini-3.7-pro",level:"medium",legacyVariantId:"gemini-3.7-pro-thinking-medium",encoding:"legacy-variant"},"gemini-3.7-pro-thinking-max":{targetId:"gemini-3.7-pro",level:"max",legacyVariantId:"gemini-3.7-pro-thinking-max",encoding:"legacy-variant"},"gemini-3.7-pro-low-fast":{targetId:"gemini-3.7-pro-low-fast",legacyVariantId:"gemini-3.7-pro-low-fast",encoding:"legacy-variant"},"gemini-3.7-pro-medium-fast":{targetId:"gemini-3.7-pro-medium-fast",legacyVariantId:"gemini-3.7-pro-medium-fast",encoding:"legacy-variant"},"gemini-3.7-pro-max-fast":{targetId:"gemini-3.7-pro-max-fast",legacyVariantId:"gemini-3.7-pro-max-fast",encoding:"legacy-variant"},"gemini-3.6-pro-low":{targetId:"gemini-3.6-pro",level:"low",legacyVariantId:"gemini-3.6-pro-low",encoding:"legacy-variant"},"gemini-3.6-pro-medium":{targetId:"gemini-3.6-pro",level:"medium",legacyVariantId:"gemini-3.6-pro-medium",encoding:"legacy-variant"},"gemini-3.6-pro-max":{targetId:"gemini-3.6-pro",level:"max",legacyVariantId:"gemini-3.6-pro-max",encoding:"legacy-variant"},"gemini-3.6-pro-thinking-low":{targetId:"gemini-3.6-pro",level:"low",legacyVariantId:"gemini-3.6-pro-thinking-low",encoding:"legacy-variant"},"gemini-3.6-pro-thinking-medium":{targetId:"gemini-3.6-pro",level:"medium",legacyVariantId:"gemini-3.6-pro-thinking-medium",encoding:"legacy-variant"},"gemini-3.6-pro-thinking-max":{targetId:"gemini-3.6-pro",level:"max",legacyVariantId:"gemini-3.6-pro-thinking-max",encoding:"legacy-variant"},"gemini-3.6-pro-low-fast":{targetId:"gemini-3.6-pro-low-fast",legacyVariantId:"gemini-3.6-pro-low-fast",encoding:"legacy-variant"},"gemini-3.6-pro-medium-fast":{targetId:"gemini-3.6-pro-medium-fast",legacyVariantId:"gemini-3.6-pro-medium-fast",encoding:"legacy-variant"},"gemini-3.6-pro-max-fast":{targetId:"gemini-3.6-pro-max-fast",legacyVariantId:"gemini-3.6-pro-max-fast",encoding:"legacy-variant"},"gemini-3.5-pro-low":{targetId:"gemini-3.5-pro",level:"low",legacyVariantId:"gemini-3.5-pro-low",encoding:"legacy-variant"},"gemini-3.5-pro-medium":{targetId:"gemini-3.5-pro",level:"medium",legacyVariantId:"gemini-3.5-pro-medium",encoding:"legacy-variant"},"gemini-3.5-pro-max":{targetId:"gemini-3.5-pro",level:"max",legacyVariantId:"gemini-3.5-pro-max",encoding:"legacy-variant"},"gemini-3.5-pro-thinking-low":{targetId:"gemini-3.5-pro",level:"low",legacyVariantId:"gemini-3.5-pro-thinking-low",encoding:"legacy-variant"},"gemini-3.5-pro-thinking-medium":{targetId:"gemini-3.5-pro",level:"medium",legacyVariantId:"gemini-3.5-pro-thinking-medium",encoding:"legacy-variant"},"gemini-3.5-pro-thinking-max":{targetId:"gemini-3.5-pro",level:"max",legacyVariantId:"gemini-3.5-pro-thinking-max",encoding:"legacy-variant"},"gemini-3.5-pro-low-fast":{targetId:"gemini-3.5-pro-low-fast",legacyVariantId:"gemini-3.5-pro-low-fast",encoding:"legacy-variant"},"gemini-3.5-pro-medium-fast":{targetId:"gemini-3.5-pro-medium-fast",legacyVariantId:"gemini-3.5-pro-medium-fast",encoding:"legacy-variant"},"gemini-3.5-pro-max-fast":{targetId:"gemini-3.5-pro-max-fast",legacyVariantId:"gemini-3.5-pro-max-fast",encoding:"legacy-variant"},"composer-2.6-low":{targetId:"composer-2.6",level:"low",legacyVariantId:"composer-2.6-low",encoding:"legacy-variant"},"composer-2.6-medium":{targetId:"composer-2.6",level:"medium",legacyVariantId:"composer-2.6-medium",encoding:"legacy-variant"},"composer-2.6-max":{targetId:"composer-2.6",level:"max",legacyVariantId:"composer-2.6-max",encoding:"legacy-variant"},"composer-2.6-thinking-low":{targetId:"composer-2.6",level:"low",legacyVariantId:"composer-2.6-thinking-low",encoding:"legacy-variant"},"composer-2.6-thinking-medium":{targetId:"composer-2.6",level:"medium",legacyVariantId:"composer-2.6-thinking-medium",encoding:"legacy-variant"},"composer-2.6-thinking-max":{targetId:"composer-2.6",level:"max",legacyVariantId:"composer-2.6-thinking-max",encoding:"legacy-variant"},"composer-2.6-low-fast":{targetId:"composer-2.6-low-fast",legacyVariantId:"composer-2.6-low-fast",encoding:"legacy-variant"},"composer-2.6-medium-fast":{targetId:"composer-2.6-medium-fast",legacyVariantId:"composer-2.6-medium-fast",encoding:"legacy-variant"},"composer-2.6-max-fast":{targetId:"composer-2.6-max-fast",legacyVariantId:"composer-2.6-max-fast",encoding:"legacy-variant"},"composer-2.6-lite-low":{targetId:"composer-2.6-lite",level:"low",legacyVariantId:"composer-2.6-lite-low",encoding:"legacy-variant"},"composer-2.6-lite-medium":{targetId:"composer-2.6-lite",level:"medium",legacyVariantId:"composer-2.6-lite-medium",encoding:"legacy-variant"},"composer-2.6-lite-max":{targetId:"composer-2.6-lite",level:"max",legacyVariantId:"composer-2.6-lite-max",encoding:"legacy-variant"},"composer-2.6-lite-thinking-low":{targetId:"composer-2.6-lite",level:"low",legacyVariantId:"composer-2.6-lite-thinking-low",encoding:"legacy-variant"},"composer-2.6-lite-thinking-medium":{targetId:"composer-2.6-lite",level:"medium",legacyVariantId:"composer-2.6-lite-thinking-medium",encoding:"legacy-variant"},"composer-2.6-lite-thinking-max":{targetId:"composer-2.6-lite",level:"max",legacyVariantId:"composer-2.6-lite-thinking-max",encoding:"legacy-variant"},"composer-2.6-lite-low-fast":{targetId:"composer-2.6-lite-low-fast",legacyVariantId:"composer-2.6-lite-low-fast",encoding:"legacy-variant"},"composer-2.6-lite-medium-fast":{targetId:"composer-2.6-lite-medium-fast",legacyVariantId:"composer-2.6-lite-medium-fast",encoding:"legacy-variant"},"composer-2.6-lite-max-fast":{targetId:"composer-2.6-lite-max-fast",legacyVariantId:"composer-2.6-lite-max-fast",encoding:"legacy-variant"},"deepseek-v4-low":{targetId:"deepseek-v4",level:"low",legacyVariantId:"deepseek-v4-low",encoding:"legacy-variant"},"deepseek-v4-medium":{targetId:"deepseek-v4",level:"medium",legacyVariantId:"deepseek-v4-medium",encoding:"legacy-variant"},"deepseek-v4-max":{targetId:"deepseek-v4",level:"max",legacyVariantId:"deepseek-v4-max",encoding:"legacy-variant"},"deepseek-v4-thinking-low":{targetId:"deepseek-v4",level:"low",legacyVariantId:"deepseek-v4-thinking-low",encoding:"legacy-variant"},"deepseek-v4-thinking-medium":{targetId:"deepseek-v4",level:"medium",legacyVariantId:"deepseek-v4-thinking-medium",encoding:"legacy-variant"},"deepseek-v4-thinking-max":{targetId:"deepseek-v4",level:"max",legacyVariantId:"deepseek-v4-thinking-max",encoding:"legacy-variant"},"deepseek-v4-low-fast":{targetId:"deepseek-v4-low-fast",legacyVariantId:"deepseek-v4-low-fast",encoding:"legacy-variant"},"deepseek-v4-medium-fast":{targetId:"deepseek-v4-medium-fast",legacyVariantId:"deepseek-v4-medium-fast",encoding:"legacy-variant"},"deepseek-v4-max-fast":{targetId:"deepseek-v4-max-fast",legacyVariantId:"deepseek-v4-max-fast",encoding:"legacy-variant"}}};var P="parameters",V="variant-id";function ladder(values,encoding=P){let out={};for(let value of values)out[value==="none"?"off":value]={value,encoding};return out}var CLAUDE_ORDER=["thinking","context","effort"],GPT_ORDER=["context","reasoning","fast"];function claude(window,maxWindow,levels,defaultContext){return{evidence:"available-models",window,maxWindow,parameterOrder:CLAUDE_ORDER,defaultContext,requestContext:window>=1e6?"1m":defaultContext,levels:ladder(levels)}}function gpt(levels,order=GPT_ORDER,window=4e5,maxWindow=4e5){return{evidence:"available-models",window,maxWindow,parameterOrder:order,defaultContext:"272k",requestContext:order.includes("context")&&window>=1e6?"1m":void 0,levels:ladder(levels)}}var CURSOR_MODEL_CAPABILITIES={"claude-fable-5":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-sonnet-5":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-opus-4-7":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-opus-4-8":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-opus-5":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-4.6-opus":claude(1e6,1e6,["high","max"],"200k"),"claude-4.6-sonnet":claude(1e6,1e6,["medium"],"200k"),"claude-4.5-opus":{evidence:"available-models",window:2e5,parameterOrder:["thinking"],levels:{high:{value:"high",encoding:V}}},"gpt-5.6-sol":gpt(["none","low","medium","high","xhigh","max"],GPT_ORDER,1e6,1e6),"gpt-5.6-luna":gpt(["none","low","medium","high","xhigh","max"],GPT_ORDER,1e6,1e6),"gpt-5.6-terra":gpt(["none","low","medium","high","xhigh","max"],GPT_ORDER,272e3,272e3),"gpt-5.5":{...gpt(["none","low","medium","high"],GPT_ORDER,1e6,1e6),levels:{...ladder(["none","low","medium","high"]),xhigh:{value:"extra-high",encoding:P}}},"gpt-5.3-codex":{...gpt([],["reasoning","fast"]),maxWindow:void 0,defaultContext:void 0,levels:{...ladder(["low","medium","high"]),xhigh:{value:"extra-high",encoding:P}}},"gpt-5.1":{...gpt([],["reasoning"]),maxWindow:void 0,defaultContext:void 0,levels:ladder(["low","high"])},"gpt-5.2":{...gpt([],["reasoning"]),maxWindow:void 0,defaultContext:void 0,levels:{...ladder(["low","high"]),xhigh:{value:"xhigh",encoding:V}}},"gpt-5.4":{...gpt([],["reasoning"]),maxWindow:void 0,defaultContext:void 0,levels:{...ladder(["low","medium","high"]),xhigh:{value:"xhigh",encoding:V}}},"gpt-5.4-mini":{evidence:"available-models",window:4e5,parameterOrder:[],levels:ladder(["none","low","medium","high","xhigh"],V)},"gpt-5.4-nano":{...gpt([],["reasoning"]),maxWindow:void 0,defaultContext:void 0,levels:ladder(["none","low","medium","high","xhigh"])},"gemini-3.7-flash":{evidence:"cli-live",window:1048576,parameterOrder:["effort"],levels:ladder(["low","medium","high"])},"gemini-3.6-flash":{evidence:"suffix-only",window:1048576,parameterOrder:[],levels:ladder(["minimal","low","medium","high"],V)},"cursor-grok-4.6":{evidence:"available-models",window:5e5,parameterOrder:["effort","fast"],levels:ladder(["low","medium","high","xhigh"])},"cursor-grok-4.5":{evidence:"suffix-only",window:5e5,parameterOrder:[],levels:ladder(["low","medium","high"],V)},"glm-5.2":{evidence:"available-models",window:1e6,parameterOrder:["reasoning"],levels:ladder(["high","max"])},"kimi-k3":{evidence:"available-models",window:1048576,parameterOrder:["reasoning"],levels:ladder(["low","high","max"])},"composer-2.5":{evidence:"available-models",window:2e5,parameterOrder:["fast"],levels:{}},"claude-haiku-4-5":{evidence:"available-models",window:2e5,parameterOrder:["thinking"],levels:{}},"claude-4-sonnet":{evidence:"available-models",window:2e5,parameterOrder:["thinking","context"],defaultContext:"200k",levels:{}},"claude-4.5-sonnet":{evidence:"available-models",window:2e5,parameterOrder:["thinking","context"],defaultContext:"200k",levels:{}},"kimi-k2.7-code":{evidence:"available-models",window:262144,parameterOrder:[],levels:{}},"gemini-3-flash":{evidence:"available-models",window:1e6,parameterOrder:[],levels:{}},"gemini-3.1-pro":{evidence:"available-models",window:1e6,parameterOrder:[],levels:{}},"gemini-3.5-flash":{evidence:"available-models",window:1048576,parameterOrder:[],levels:{}},"gpt-5-mini":{evidence:"available-models",window:4e5,parameterOrder:[],levels:{}}},ALIASES=cursor_variant_aliases_default.aliases;function getCursorVariantAlias(originalId){return ALIASES[originalId]}function identityCompat(model){return model.compat?.cursorReasoning}function suffixAliasId(compat,level,spec){let suffixes=level==="off"?["none"]:spec.value===level?[spec.value]:[spec.value,level];for(let suffix of suffixes){let candidates=compat.thinkingMode===!0?[`${compat.capabilityId}-thinking-${suffix}`,`${compat.capabilityId}-${suffix}-thinking`]:[`${compat.capabilityId}-${suffix}`];for(let candidate of candidates){let alias=getCursorVariantAlias(candidate);if(alias)return alias.legacyVariantId}}}function buildParameters(capabilityId,value,thinkingMode){let capability=CURSOR_MODEL_CAPABILITIES[capabilityId];if(!capability)return[];let out=[];for(let id of capability.parameterOrder)switch(id){case"thinking":out.push({id,value:thinkingMode===!0?"true":"false"});break;case"context":{let context=capability.requestContext??capability.defaultContext;context!==void 0&&out.push({id,value:context});break}case"effort":case"reasoning":out.push({id,value});break;case"fast":out.push({id,value:"false"});break}return out}function resolveCursorSelectionDescriptor(model,selection){let compat=identityCompat(model),fallback={modelId:model.upstreamModelId??model.id,parameters:[]};if(!compat)return fallback;if(selection===void 0)return{modelId:compat.representativeVariantId,parameters:[]};if(selection.source==="legacy-variant")return selection.legacyVariantId===void 0||getCursorVariantAlias(selection.legacyVariantId)===void 0?{modelId:compat.representativeVariantId,parameters:[]}:{modelId:selection.legacyVariantId,parameters:[]};let capability=CURSOR_MODEL_CAPABILITIES[compat.capabilityId],spec=capability?.levels[selection.level];if(!capability||!spec)return{modelId:compat.representativeVariantId,parameters:[]};let suffixId=suffixAliasId(compat,selection.level,spec);return suffixId!==void 0?{modelId:suffixId,parameters:[]}:spec.encoding==="variant-id"?{modelId:compat.representativeVariantId,parameters:[]}:{modelId:compat.capabilityId,parameters:buildParameters(compat.capabilityId,spec.value,compat.thinkingMode)}}function buildRequestedModelFields(model,selection){let resolved=resolveCursorSelectionDescriptor(model,selection);return{modelId:resolved.modelId,maxMode:model.compat?.cursorMaxMode===!0,parameters:resolved.parameters.map(parameter=>({id:parameter.id,value:parameter.value}))}}function buildRequestedModel(model,selection){let fields=buildRequestedModelFields(model,selection);return create(RequestedModelSchema,{modelId:fields.modelId,maxMode:fields.maxMode,parameters:fields.parameters.map(parameter=>create(RequestedModel_ModelParameterbytesSchema,{id:parameter.id,value:parameter.value}))})}var CursorRetryableStreamError=class extends Error{constructor(message,retryCause,options){super(message,options),this.name="CursorRetryableStreamError",this.retryCause=retryCause}};function isCursorRetryableStreamError(error){return error instanceof CursorRetryableStreamError}function cursorStreamRetryDelayMs(options){if(options.fixedDelayMs!==void 0)return Math.max(0,options.fixedDelayMs);let baseDelayMs=options.baseDelayMs??1e3,backoffMs=Math.min(baseDelayMs*2**options.attempt,6e4),jitter=Math.floor(backoffMs*.2*(options.random??Math.random)());return backoffMs+jitter}function shouldRetryCursorStream(options){return!options.sawTurnEnded&&!options.aborted&&options.retries<options.maxRetries&&isCursorRetryableStreamError(options.error)}async function waitForCursorStreamRetry(delayMs,signal){delayMs<=0||signal?.aborted||await new Promise(resolve=>{let timer=setTimeout(resolve,delayMs);signal?.addEventListener("abort",()=>{clearTimeout(timer),resolve()},{once:!0})})}import{randomUUID}from"node:crypto";import{mkdirSync as mkdirSync2,readFileSync as readFileSync2,writeFileSync as writeFileSync2}from"node:fs";import{dirname as dirname2}from"node:path";var MAX_CURSOR_CONVERSATION_ROTATIONS=3,MAX_CURSOR_CONVERSATION_ROTATION_RECORDS=512,CURSOR_CONVERSATION_POISONED_MESSAGE="Cursor conversation is poisoned for this session; use another provider",RESOURCE_EXHAUSTED_PATTERN=/resource.?exhausted/i;function isZeroTokenResourceExhausted(errorMessage,sawTokenDelta){return!sawTokenDelta&&RESOURCE_EXHAUSTED_PATTERN.test(errorMessage)}function createConversationRotationStore(options){let randomId=options.randomId??randomUUID,maxRecords=options.maxRecords??readRotationRecordLimit(process.env.PI_CURSOR_ROTATION_RECORD_LIMIT)??MAX_CURSOR_CONVERSATION_ROTATION_RECORDS,records=loadRecords(options.persistPath),trimRecords=()=>{let keys=Object.keys(records);for(let i=0;i<keys.length-maxRecords;i++)delete records[keys[i]]},persist=()=>{trimRecords(),mkdirSync2(dirname2(options.persistPath),{recursive:!0}),writeFileSync2(options.persistPath,`${JSON.stringify(records,null,2)}
23
+ }`:command}function omitUndefinedArgs(args){let out={};for(let key of Object.keys(args)){let value=args[key];value!==void 0&&(out[key]=value)}return out}var cursor_variant_aliases_default={$schema:"cursor-variant-aliases/v1",source:"union of GetUsableModels live capture (204 ids) and cursor-agent CLI listing capture (203 ids), 2026-08-18",aliases:{"claude-4-sonnet":{targetId:"claude-4-sonnet",legacyVariantId:"claude-4-sonnet",encoding:"legacy-variant"},"claude-4-sonnet-thinking":{targetId:"claude-4-sonnet-thinking",legacyVariantId:"claude-4-sonnet-thinking",encoding:"legacy-variant"},"claude-4.5-opus-high":{targetId:"claude-4.5-opus",level:"high",legacyVariantId:"claude-4.5-opus-high",encoding:"legacy-variant"},"claude-4.5-opus-high-thinking":{targetId:"claude-4.5-opus-thinking",level:"high",legacyVariantId:"claude-4.5-opus-high-thinking",encoding:"legacy-variant"},"claude-4.5-sonnet":{targetId:"claude-4.5-sonnet",legacyVariantId:"claude-4.5-sonnet",encoding:"legacy-variant"},"claude-4.5-sonnet-thinking":{targetId:"claude-4.5-sonnet-thinking",legacyVariantId:"claude-4.5-sonnet-thinking",encoding:"legacy-variant"},"claude-4.6-opus-high":{targetId:"claude-4.6-opus",level:"high",legacyVariantId:"claude-4.6-opus-high",encoding:"legacy-variant"},"claude-4.6-opus-max":{targetId:"claude-4.6-opus",level:"max",legacyVariantId:"claude-4.6-opus-max",encoding:"legacy-variant"},"claude-4.6-opus-high-thinking":{targetId:"claude-4.6-opus-thinking",level:"high",legacyVariantId:"claude-4.6-opus-high-thinking",encoding:"legacy-variant"},"claude-4.6-opus-max-thinking":{targetId:"claude-4.6-opus-thinking",level:"max",legacyVariantId:"claude-4.6-opus-max-thinking",encoding:"legacy-variant"},"claude-4.6-sonnet-medium":{targetId:"claude-4.6-sonnet",level:"medium",legacyVariantId:"claude-4.6-sonnet-medium",encoding:"legacy-variant"},"claude-4.6-sonnet-medium-thinking":{targetId:"claude-4.6-sonnet-thinking",level:"medium",legacyVariantId:"claude-4.6-sonnet-medium-thinking",encoding:"legacy-variant"},"claude-fable-5-high":{targetId:"claude-fable-5",level:"high",legacyVariantId:"claude-fable-5-high",encoding:"legacy-variant"},"claude-fable-5-low":{targetId:"claude-fable-5",level:"low",legacyVariantId:"claude-fable-5-low",encoding:"legacy-variant"},"claude-fable-5-max":{targetId:"claude-fable-5",level:"max",legacyVariantId:"claude-fable-5-max",encoding:"legacy-variant"},"claude-fable-5-medium":{targetId:"claude-fable-5",level:"medium",legacyVariantId:"claude-fable-5-medium",encoding:"legacy-variant"},"claude-fable-5-xhigh":{targetId:"claude-fable-5",level:"xhigh",legacyVariantId:"claude-fable-5-xhigh",encoding:"legacy-variant"},"claude-fable-5-thinking-high":{targetId:"claude-fable-5-thinking",level:"high",legacyVariantId:"claude-fable-5-thinking-high",encoding:"legacy-variant"},"claude-fable-5-thinking-low":{targetId:"claude-fable-5-thinking",level:"low",legacyVariantId:"claude-fable-5-thinking-low",encoding:"legacy-variant"},"claude-fable-5-thinking-max":{targetId:"claude-fable-5-thinking",level:"max",legacyVariantId:"claude-fable-5-thinking-max",encoding:"legacy-variant"},"claude-fable-5-thinking-medium":{targetId:"claude-fable-5-thinking",level:"medium",legacyVariantId:"claude-fable-5-thinking-medium",encoding:"legacy-variant"},"claude-fable-5-thinking-xhigh":{targetId:"claude-fable-5-thinking",level:"xhigh",legacyVariantId:"claude-fable-5-thinking-xhigh",encoding:"legacy-variant"},"claude-opus-4-7-high":{targetId:"claude-opus-4-7",level:"high",legacyVariantId:"claude-opus-4-7-high",encoding:"legacy-variant"},"claude-opus-4-7-low":{targetId:"claude-opus-4-7",level:"low",legacyVariantId:"claude-opus-4-7-low",encoding:"legacy-variant"},"claude-opus-4-7-max":{targetId:"claude-opus-4-7",level:"max",legacyVariantId:"claude-opus-4-7-max",encoding:"legacy-variant"},"claude-opus-4-7-medium":{targetId:"claude-opus-4-7",level:"medium",legacyVariantId:"claude-opus-4-7-medium",encoding:"legacy-variant"},"claude-opus-4-7-xhigh":{targetId:"claude-opus-4-7",level:"xhigh",legacyVariantId:"claude-opus-4-7-xhigh",encoding:"legacy-variant"},"claude-opus-4-7-high-fast":{targetId:"claude-opus-4-7-high-fast",legacyVariantId:"claude-opus-4-7-high-fast",encoding:"legacy-variant"},"claude-opus-4-7-low-fast":{targetId:"claude-opus-4-7-low-fast",legacyVariantId:"claude-opus-4-7-low-fast",encoding:"legacy-variant"},"claude-opus-4-7-max-fast":{targetId:"claude-opus-4-7-max-fast",legacyVariantId:"claude-opus-4-7-max-fast",encoding:"legacy-variant"},"claude-opus-4-7-medium-fast":{targetId:"claude-opus-4-7-medium-fast",legacyVariantId:"claude-opus-4-7-medium-fast",encoding:"legacy-variant"},"claude-opus-4-7-xhigh-fast":{targetId:"claude-opus-4-7-xhigh-fast",legacyVariantId:"claude-opus-4-7-xhigh-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-high":{targetId:"claude-opus-4-7-thinking",level:"high",legacyVariantId:"claude-opus-4-7-thinking-high",encoding:"legacy-variant"},"claude-opus-4-7-thinking-low":{targetId:"claude-opus-4-7-thinking",level:"low",legacyVariantId:"claude-opus-4-7-thinking-low",encoding:"legacy-variant"},"claude-opus-4-7-thinking-max":{targetId:"claude-opus-4-7-thinking",level:"max",legacyVariantId:"claude-opus-4-7-thinking-max",encoding:"legacy-variant"},"claude-opus-4-7-thinking-medium":{targetId:"claude-opus-4-7-thinking",level:"medium",legacyVariantId:"claude-opus-4-7-thinking-medium",encoding:"legacy-variant"},"claude-opus-4-7-thinking-xhigh":{targetId:"claude-opus-4-7-thinking",level:"xhigh",legacyVariantId:"claude-opus-4-7-thinking-xhigh",encoding:"legacy-variant"},"claude-opus-4-7-thinking-high-fast":{targetId:"claude-opus-4-7-thinking-high-fast",legacyVariantId:"claude-opus-4-7-thinking-high-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-low-fast":{targetId:"claude-opus-4-7-thinking-low-fast",legacyVariantId:"claude-opus-4-7-thinking-low-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-max-fast":{targetId:"claude-opus-4-7-thinking-max-fast",legacyVariantId:"claude-opus-4-7-thinking-max-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-medium-fast":{targetId:"claude-opus-4-7-thinking-medium-fast",legacyVariantId:"claude-opus-4-7-thinking-medium-fast",encoding:"legacy-variant"},"claude-opus-4-7-thinking-xhigh-fast":{targetId:"claude-opus-4-7-thinking-xhigh-fast",legacyVariantId:"claude-opus-4-7-thinking-xhigh-fast",encoding:"legacy-variant"},"claude-opus-4-8-high":{targetId:"claude-opus-4-8",level:"high",legacyVariantId:"claude-opus-4-8-high",encoding:"legacy-variant"},"claude-opus-4-8-low":{targetId:"claude-opus-4-8",level:"low",legacyVariantId:"claude-opus-4-8-low",encoding:"legacy-variant"},"claude-opus-4-8-max":{targetId:"claude-opus-4-8",level:"max",legacyVariantId:"claude-opus-4-8-max",encoding:"legacy-variant"},"claude-opus-4-8-medium":{targetId:"claude-opus-4-8",level:"medium",legacyVariantId:"claude-opus-4-8-medium",encoding:"legacy-variant"},"claude-opus-4-8-xhigh":{targetId:"claude-opus-4-8",level:"xhigh",legacyVariantId:"claude-opus-4-8-xhigh",encoding:"legacy-variant"},"claude-opus-4-8-high-fast":{targetId:"claude-opus-4-8-high-fast",legacyVariantId:"claude-opus-4-8-high-fast",encoding:"legacy-variant"},"claude-opus-4-8-low-fast":{targetId:"claude-opus-4-8-low-fast",legacyVariantId:"claude-opus-4-8-low-fast",encoding:"legacy-variant"},"claude-opus-4-8-max-fast":{targetId:"claude-opus-4-8-max-fast",legacyVariantId:"claude-opus-4-8-max-fast",encoding:"legacy-variant"},"claude-opus-4-8-medium-fast":{targetId:"claude-opus-4-8-medium-fast",legacyVariantId:"claude-opus-4-8-medium-fast",encoding:"legacy-variant"},"claude-opus-4-8-xhigh-fast":{targetId:"claude-opus-4-8-xhigh-fast",legacyVariantId:"claude-opus-4-8-xhigh-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-high":{targetId:"claude-opus-4-8-thinking",level:"high",legacyVariantId:"claude-opus-4-8-thinking-high",encoding:"legacy-variant"},"claude-opus-4-8-thinking-low":{targetId:"claude-opus-4-8-thinking",level:"low",legacyVariantId:"claude-opus-4-8-thinking-low",encoding:"legacy-variant"},"claude-opus-4-8-thinking-max":{targetId:"claude-opus-4-8-thinking",level:"max",legacyVariantId:"claude-opus-4-8-thinking-max",encoding:"legacy-variant"},"claude-opus-4-8-thinking-medium":{targetId:"claude-opus-4-8-thinking",level:"medium",legacyVariantId:"claude-opus-4-8-thinking-medium",encoding:"legacy-variant"},"claude-opus-4-8-thinking-xhigh":{targetId:"claude-opus-4-8-thinking",level:"xhigh",legacyVariantId:"claude-opus-4-8-thinking-xhigh",encoding:"legacy-variant"},"claude-opus-4-8-thinking-high-fast":{targetId:"claude-opus-4-8-thinking-high-fast",legacyVariantId:"claude-opus-4-8-thinking-high-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-low-fast":{targetId:"claude-opus-4-8-thinking-low-fast",legacyVariantId:"claude-opus-4-8-thinking-low-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-max-fast":{targetId:"claude-opus-4-8-thinking-max-fast",legacyVariantId:"claude-opus-4-8-thinking-max-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-medium-fast":{targetId:"claude-opus-4-8-thinking-medium-fast",legacyVariantId:"claude-opus-4-8-thinking-medium-fast",encoding:"legacy-variant"},"claude-opus-4-8-thinking-xhigh-fast":{targetId:"claude-opus-4-8-thinking-xhigh-fast",legacyVariantId:"claude-opus-4-8-thinking-xhigh-fast",encoding:"legacy-variant"},"claude-opus-5-high":{targetId:"claude-opus-5",level:"high",legacyVariantId:"claude-opus-5-high",encoding:"legacy-variant"},"claude-opus-5-low":{targetId:"claude-opus-5",level:"low",legacyVariantId:"claude-opus-5-low",encoding:"legacy-variant"},"claude-opus-5-medium":{targetId:"claude-opus-5",level:"medium",legacyVariantId:"claude-opus-5-medium",encoding:"legacy-variant"},"claude-opus-5-max":{targetId:"claude-opus-5",level:"max",legacyVariantId:"claude-opus-5-max",encoding:"legacy-variant"},"claude-opus-5-high-fast":{targetId:"claude-opus-5-high-fast",legacyVariantId:"claude-opus-5-high-fast",encoding:"legacy-variant"},"claude-opus-5-low-fast":{targetId:"claude-opus-5-low-fast",legacyVariantId:"claude-opus-5-low-fast",encoding:"legacy-variant"},"claude-opus-5-medium-fast":{targetId:"claude-opus-5-medium-fast",legacyVariantId:"claude-opus-5-medium-fast",encoding:"legacy-variant"},"claude-opus-5-max-fast":{targetId:"claude-opus-5-max-fast",legacyVariantId:"claude-opus-5-max-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-high":{targetId:"claude-opus-5-thinking",level:"high",legacyVariantId:"claude-opus-5-thinking-high",encoding:"legacy-variant"},"claude-opus-5-thinking-low":{targetId:"claude-opus-5-thinking",level:"low",legacyVariantId:"claude-opus-5-thinking-low",encoding:"legacy-variant"},"claude-opus-5-thinking-max":{targetId:"claude-opus-5-thinking",level:"max",legacyVariantId:"claude-opus-5-thinking-max",encoding:"legacy-variant"},"claude-opus-5-thinking-medium":{targetId:"claude-opus-5-thinking",level:"medium",legacyVariantId:"claude-opus-5-thinking-medium",encoding:"legacy-variant"},"claude-opus-5-thinking-xhigh":{targetId:"claude-opus-5-thinking",level:"xhigh",legacyVariantId:"claude-opus-5-thinking-xhigh",encoding:"legacy-variant"},"claude-opus-5-thinking-high-fast":{targetId:"claude-opus-5-thinking-high-fast",legacyVariantId:"claude-opus-5-thinking-high-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-low-fast":{targetId:"claude-opus-5-thinking-low-fast",legacyVariantId:"claude-opus-5-thinking-low-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-max-fast":{targetId:"claude-opus-5-thinking-max-fast",legacyVariantId:"claude-opus-5-thinking-max-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-medium-fast":{targetId:"claude-opus-5-thinking-medium-fast",legacyVariantId:"claude-opus-5-thinking-medium-fast",encoding:"legacy-variant"},"claude-opus-5-thinking-xhigh-fast":{targetId:"claude-opus-5-thinking-xhigh-fast",legacyVariantId:"claude-opus-5-thinking-xhigh-fast",encoding:"legacy-variant"},"claude-sonnet-5-high":{targetId:"claude-sonnet-5",level:"high",legacyVariantId:"claude-sonnet-5-high",encoding:"legacy-variant"},"claude-sonnet-5-low":{targetId:"claude-sonnet-5",level:"low",legacyVariantId:"claude-sonnet-5-low",encoding:"legacy-variant"},"claude-sonnet-5-max":{targetId:"claude-sonnet-5",level:"max",legacyVariantId:"claude-sonnet-5-max",encoding:"legacy-variant"},"claude-sonnet-5-medium":{targetId:"claude-sonnet-5",level:"medium",legacyVariantId:"claude-sonnet-5-medium",encoding:"legacy-variant"},"claude-sonnet-5-xhigh":{targetId:"claude-sonnet-5",level:"xhigh",legacyVariantId:"claude-sonnet-5-xhigh",encoding:"legacy-variant"},"claude-sonnet-5-thinking-high":{targetId:"claude-sonnet-5-thinking",level:"high",legacyVariantId:"claude-sonnet-5-thinking-high",encoding:"legacy-variant"},"claude-sonnet-5-thinking-low":{targetId:"claude-sonnet-5-thinking",level:"low",legacyVariantId:"claude-sonnet-5-thinking-low",encoding:"legacy-variant"},"claude-sonnet-5-thinking-max":{targetId:"claude-sonnet-5-thinking",level:"max",legacyVariantId:"claude-sonnet-5-thinking-max",encoding:"legacy-variant"},"claude-sonnet-5-thinking-medium":{targetId:"claude-sonnet-5-thinking",level:"medium",legacyVariantId:"claude-sonnet-5-thinking-medium",encoding:"legacy-variant"},"claude-sonnet-5-thinking-xhigh":{targetId:"claude-sonnet-5-thinking",level:"xhigh",legacyVariantId:"claude-sonnet-5-thinking-xhigh",encoding:"legacy-variant"},"composer-2.5":{targetId:"composer-2.5",legacyVariantId:"composer-2.5",encoding:"legacy-variant"},"composer-2.5-fast":{targetId:"composer-2.5-fast",legacyVariantId:"composer-2.5-fast",encoding:"legacy-variant"},"cursor-grok-4.5-high":{targetId:"cursor-grok-4.5",level:"high",legacyVariantId:"cursor-grok-4.5-high",encoding:"legacy-variant"},"cursor-grok-4.5-low":{targetId:"cursor-grok-4.5",level:"low",legacyVariantId:"cursor-grok-4.5-low",encoding:"legacy-variant"},"cursor-grok-4.5-medium":{targetId:"cursor-grok-4.5",level:"medium",legacyVariantId:"cursor-grok-4.5-medium",encoding:"legacy-variant"},"cursor-grok-4.5-max":{targetId:"cursor-grok-4.5",level:"max",legacyVariantId:"cursor-grok-4.5-max",encoding:"legacy-variant"},"cursor-grok-4.5-thinking-low":{targetId:"cursor-grok-4.5",level:"low",legacyVariantId:"cursor-grok-4.5-thinking-low",encoding:"legacy-variant"},"cursor-grok-4.5-thinking-medium":{targetId:"cursor-grok-4.5",level:"medium",legacyVariantId:"cursor-grok-4.5-thinking-medium",encoding:"legacy-variant"},"cursor-grok-4.5-thinking-max":{targetId:"cursor-grok-4.5",level:"max",legacyVariantId:"cursor-grok-4.5-thinking-max",encoding:"legacy-variant"},"cursor-grok-4.5-high-fast":{targetId:"cursor-grok-4.5-high-fast",legacyVariantId:"cursor-grok-4.5-high-fast",encoding:"legacy-variant"},"cursor-grok-4.5-low-fast":{targetId:"cursor-grok-4.5-low-fast",legacyVariantId:"cursor-grok-4.5-low-fast",encoding:"legacy-variant"},"cursor-grok-4.5-medium-fast":{targetId:"cursor-grok-4.5-medium-fast",legacyVariantId:"cursor-grok-4.5-medium-fast",encoding:"legacy-variant"},"cursor-grok-4.5-max-fast":{targetId:"cursor-grok-4.5-max-fast",legacyVariantId:"cursor-grok-4.5-max-fast",encoding:"legacy-variant"},"cursor-grok-4.6-high":{targetId:"cursor-grok-4.6",level:"high",legacyVariantId:"cursor-grok-4.6-high",encoding:"legacy-variant"},"cursor-grok-4.6-low":{targetId:"cursor-grok-4.6",level:"low",legacyVariantId:"cursor-grok-4.6-low",encoding:"legacy-variant"},"cursor-grok-4.6-medium":{targetId:"cursor-grok-4.6",level:"medium",legacyVariantId:"cursor-grok-4.6-medium",encoding:"legacy-variant"},"cursor-grok-4.6-xhigh":{targetId:"cursor-grok-4.6",level:"xhigh",legacyVariantId:"cursor-grok-4.6-xhigh",encoding:"legacy-variant"},"cursor-grok-4.6-max":{targetId:"cursor-grok-4.6",level:"max",legacyVariantId:"cursor-grok-4.6-max",encoding:"legacy-variant"},"cursor-grok-4.6-thinking-low":{targetId:"cursor-grok-4.6",level:"low",legacyVariantId:"cursor-grok-4.6-thinking-low",encoding:"legacy-variant"},"cursor-grok-4.6-thinking-medium":{targetId:"cursor-grok-4.6",level:"medium",legacyVariantId:"cursor-grok-4.6-thinking-medium",encoding:"legacy-variant"},"cursor-grok-4.6-thinking-max":{targetId:"cursor-grok-4.6",level:"max",legacyVariantId:"cursor-grok-4.6-thinking-max",encoding:"legacy-variant"},"cursor-grok-4.6-high-fast":{targetId:"cursor-grok-4.6-high-fast",legacyVariantId:"cursor-grok-4.6-high-fast",encoding:"legacy-variant"},"cursor-grok-4.6-low-fast":{targetId:"cursor-grok-4.6-low-fast",legacyVariantId:"cursor-grok-4.6-low-fast",encoding:"legacy-variant"},"cursor-grok-4.6-medium-fast":{targetId:"cursor-grok-4.6-medium-fast",legacyVariantId:"cursor-grok-4.6-medium-fast",encoding:"legacy-variant"},"cursor-grok-4.6-xhigh-fast":{targetId:"cursor-grok-4.6-xhigh-fast",legacyVariantId:"cursor-grok-4.6-xhigh-fast",encoding:"legacy-variant"},"cursor-grok-4.6-max-fast":{targetId:"cursor-grok-4.6-max-fast",legacyVariantId:"cursor-grok-4.6-max-fast",encoding:"legacy-variant"},default:{targetId:"default",legacyVariantId:"default",encoding:"legacy-variant"},"gemini-3-flash":{targetId:"gemini-3-flash",legacyVariantId:"gemini-3-flash",encoding:"legacy-variant"},"gemini-3.1-pro":{targetId:"gemini-3.1-pro",legacyVariantId:"gemini-3.1-pro",encoding:"legacy-variant"},"gemini-3.5-flash":{targetId:"gemini-3.5-flash",legacyVariantId:"gemini-3.5-flash",encoding:"legacy-variant"},"gemini-3.6-flash-high":{targetId:"gemini-3.6-flash",level:"high",legacyVariantId:"gemini-3.6-flash-high",encoding:"legacy-variant"},"gemini-3.6-flash-low":{targetId:"gemini-3.6-flash",level:"low",legacyVariantId:"gemini-3.6-flash-low",encoding:"legacy-variant"},"gemini-3.6-flash-medium":{targetId:"gemini-3.6-flash",level:"medium",legacyVariantId:"gemini-3.6-flash-medium",encoding:"legacy-variant"},"gemini-3.6-flash-minimal":{targetId:"gemini-3.6-flash",level:"minimal",legacyVariantId:"gemini-3.6-flash-minimal",encoding:"legacy-variant"},"gemini-3.7-flash-high":{targetId:"gemini-3.7-flash",level:"high",legacyVariantId:"gemini-3.7-flash-high",encoding:"legacy-variant"},"gemini-3.7-flash-low":{targetId:"gemini-3.7-flash",level:"low",legacyVariantId:"gemini-3.7-flash-low",encoding:"legacy-variant"},"gemini-3.7-flash-medium":{targetId:"gemini-3.7-flash",level:"medium",legacyVariantId:"gemini-3.7-flash-medium",encoding:"legacy-variant"},"gemini-3.7-flash-max":{targetId:"gemini-3.7-flash",level:"max",legacyVariantId:"gemini-3.7-flash-max",encoding:"legacy-variant"},"gemini-3.7-flash-thinking-low":{targetId:"gemini-3.7-flash",level:"low",legacyVariantId:"gemini-3.7-flash-thinking-low",encoding:"legacy-variant"},"gemini-3.7-flash-thinking-medium":{targetId:"gemini-3.7-flash",level:"medium",legacyVariantId:"gemini-3.7-flash-thinking-medium",encoding:"legacy-variant"},"gemini-3.7-flash-thinking-max":{targetId:"gemini-3.7-flash",level:"max",legacyVariantId:"gemini-3.7-flash-thinking-max",encoding:"legacy-variant"},"glm-5.2-high":{targetId:"glm-5.2",level:"high",legacyVariantId:"glm-5.2-high",encoding:"legacy-variant"},"glm-5.2-max":{targetId:"glm-5.2",level:"max",legacyVariantId:"glm-5.2-max",encoding:"legacy-variant"},"gpt-5-mini":{targetId:"gpt-5-mini",legacyVariantId:"gpt-5-mini",encoding:"legacy-variant"},"gpt-5.1":{targetId:"gpt-5.1",legacyVariantId:"gpt-5.1",encoding:"legacy-variant"},"gpt-5.1-high":{targetId:"gpt-5.1",level:"high",legacyVariantId:"gpt-5.1-high",encoding:"legacy-variant"},"gpt-5.1-low":{targetId:"gpt-5.1",level:"low",legacyVariantId:"gpt-5.1-low",encoding:"legacy-variant"},"gpt-5.2":{targetId:"gpt-5.2",legacyVariantId:"gpt-5.2",encoding:"legacy-variant"},"gpt-5.2-high":{targetId:"gpt-5.2",level:"high",legacyVariantId:"gpt-5.2-high",encoding:"legacy-variant"},"gpt-5.2-low":{targetId:"gpt-5.2",level:"low",legacyVariantId:"gpt-5.2-low",encoding:"legacy-variant"},"gpt-5.2-xhigh":{targetId:"gpt-5.2",level:"xhigh",legacyVariantId:"gpt-5.2-xhigh",encoding:"legacy-variant"},"gpt-5.2-medium":{targetId:"gpt-5.2",level:"medium",legacyVariantId:"gpt-5.2-medium",encoding:"legacy-variant"},"gpt-5.2-max":{targetId:"gpt-5.2",level:"max",legacyVariantId:"gpt-5.2-max",encoding:"legacy-variant"},"gpt-5.2-thinking-low":{targetId:"gpt-5.2",level:"low",legacyVariantId:"gpt-5.2-thinking-low",encoding:"legacy-variant"},"gpt-5.2-thinking-medium":{targetId:"gpt-5.2",level:"medium",legacyVariantId:"gpt-5.2-thinking-medium",encoding:"legacy-variant"},"gpt-5.2-thinking-max":{targetId:"gpt-5.2",level:"max",legacyVariantId:"gpt-5.2-thinking-max",encoding:"legacy-variant"},"gpt-5.2-fast":{targetId:"gpt-5.2-fast",legacyVariantId:"gpt-5.2-fast",encoding:"legacy-variant"},"gpt-5.2-high-fast":{targetId:"gpt-5.2-high-fast",legacyVariantId:"gpt-5.2-high-fast",encoding:"legacy-variant"},"gpt-5.2-low-fast":{targetId:"gpt-5.2-low-fast",legacyVariantId:"gpt-5.2-low-fast",encoding:"legacy-variant"},"gpt-5.2-xhigh-fast":{targetId:"gpt-5.2-xhigh-fast",legacyVariantId:"gpt-5.2-xhigh-fast",encoding:"legacy-variant"},"gpt-5.2-medium-fast":{targetId:"gpt-5.2-medium-fast",legacyVariantId:"gpt-5.2-medium-fast",encoding:"legacy-variant"},"gpt-5.2-max-fast":{targetId:"gpt-5.2-max-fast",legacyVariantId:"gpt-5.2-max-fast",encoding:"legacy-variant"},"gpt-5.3-codex":{targetId:"gpt-5.3-codex",legacyVariantId:"gpt-5.3-codex",encoding:"legacy-variant"},"gpt-5.3-codex-high":{targetId:"gpt-5.3-codex",level:"high",legacyVariantId:"gpt-5.3-codex-high",encoding:"legacy-variant"},"gpt-5.3-codex-low":{targetId:"gpt-5.3-codex",level:"low",legacyVariantId:"gpt-5.3-codex-low",encoding:"legacy-variant"},"gpt-5.3-codex-xhigh":{targetId:"gpt-5.3-codex",level:"xhigh",legacyVariantId:"gpt-5.3-codex-xhigh",encoding:"legacy-variant"},"gpt-5.3-codex-medium":{targetId:"gpt-5.3-codex",level:"medium",legacyVariantId:"gpt-5.3-codex-medium",encoding:"legacy-variant"},"gpt-5.3-codex-max":{targetId:"gpt-5.3-codex",level:"max",legacyVariantId:"gpt-5.3-codex-max",encoding:"legacy-variant"},"gpt-5.3-codex-thinking-low":{targetId:"gpt-5.3-codex",level:"low",legacyVariantId:"gpt-5.3-codex-thinking-low",encoding:"legacy-variant"},"gpt-5.3-codex-thinking-medium":{targetId:"gpt-5.3-codex",level:"medium",legacyVariantId:"gpt-5.3-codex-thinking-medium",encoding:"legacy-variant"},"gpt-5.3-codex-thinking-max":{targetId:"gpt-5.3-codex",level:"max",legacyVariantId:"gpt-5.3-codex-thinking-max",encoding:"legacy-variant"},"gpt-5.3-codex-fast":{targetId:"gpt-5.3-codex-fast",legacyVariantId:"gpt-5.3-codex-fast",encoding:"legacy-variant"},"gpt-5.3-codex-high-fast":{targetId:"gpt-5.3-codex-high-fast",legacyVariantId:"gpt-5.3-codex-high-fast",encoding:"legacy-variant"},"gpt-5.3-codex-low-fast":{targetId:"gpt-5.3-codex-low-fast",legacyVariantId:"gpt-5.3-codex-low-fast",encoding:"legacy-variant"},"gpt-5.3-codex-xhigh-fast":{targetId:"gpt-5.3-codex-xhigh-fast",legacyVariantId:"gpt-5.3-codex-xhigh-fast",encoding:"legacy-variant"},"gpt-5.3-codex-medium-fast":{targetId:"gpt-5.3-codex-medium-fast",legacyVariantId:"gpt-5.3-codex-medium-fast",encoding:"legacy-variant"},"gpt-5.3-codex-max-fast":{targetId:"gpt-5.3-codex-max-fast",legacyVariantId:"gpt-5.3-codex-max-fast",encoding:"legacy-variant"},"gpt-5.4-high":{targetId:"gpt-5.4",level:"high",legacyVariantId:"gpt-5.4-high",encoding:"legacy-variant"},"gpt-5.4-low":{targetId:"gpt-5.4",level:"low",legacyVariantId:"gpt-5.4-low",encoding:"legacy-variant"},"gpt-5.4-medium":{targetId:"gpt-5.4",level:"medium",legacyVariantId:"gpt-5.4-medium",encoding:"legacy-variant"},"gpt-5.4-xhigh":{targetId:"gpt-5.4",level:"xhigh",legacyVariantId:"gpt-5.4-xhigh",encoding:"legacy-variant"},"gpt-5.4-high-fast":{targetId:"gpt-5.4-high-fast",legacyVariantId:"gpt-5.4-high-fast",encoding:"legacy-variant"},"gpt-5.4-medium-fast":{targetId:"gpt-5.4-medium-fast",legacyVariantId:"gpt-5.4-medium-fast",encoding:"legacy-variant"},"gpt-5.4-xhigh-fast":{targetId:"gpt-5.4-xhigh-fast",legacyVariantId:"gpt-5.4-xhigh-fast",encoding:"legacy-variant"},"gpt-5.4-mini-high":{targetId:"gpt-5.4-mini",level:"high",legacyVariantId:"gpt-5.4-mini-high",encoding:"legacy-variant"},"gpt-5.4-mini-low":{targetId:"gpt-5.4-mini",level:"low",legacyVariantId:"gpt-5.4-mini-low",encoding:"legacy-variant"},"gpt-5.4-mini-medium":{targetId:"gpt-5.4-mini",level:"medium",legacyVariantId:"gpt-5.4-mini-medium",encoding:"legacy-variant"},"gpt-5.4-mini-none":{targetId:"gpt-5.4-mini",level:"off",legacyVariantId:"gpt-5.4-mini-none",encoding:"legacy-variant"},"gpt-5.4-mini-xhigh":{targetId:"gpt-5.4-mini",level:"xhigh",legacyVariantId:"gpt-5.4-mini-xhigh",encoding:"legacy-variant"},"gpt-5.4-nano-high":{targetId:"gpt-5.4-nano",level:"high",legacyVariantId:"gpt-5.4-nano-high",encoding:"legacy-variant"},"gpt-5.4-nano-low":{targetId:"gpt-5.4-nano",level:"low",legacyVariantId:"gpt-5.4-nano-low",encoding:"legacy-variant"},"gpt-5.4-nano-medium":{targetId:"gpt-5.4-nano",level:"medium",legacyVariantId:"gpt-5.4-nano-medium",encoding:"legacy-variant"},"gpt-5.4-nano-none":{targetId:"gpt-5.4-nano",level:"off",legacyVariantId:"gpt-5.4-nano-none",encoding:"legacy-variant"},"gpt-5.4-nano-xhigh":{targetId:"gpt-5.4-nano",level:"xhigh",legacyVariantId:"gpt-5.4-nano-xhigh",encoding:"legacy-variant"},"gpt-5.5-extra-high":{targetId:"gpt-5.5",level:"extra-high",legacyVariantId:"gpt-5.5-extra-high",encoding:"legacy-variant"},"gpt-5.5-high":{targetId:"gpt-5.5",level:"high",legacyVariantId:"gpt-5.5-high",encoding:"legacy-variant"},"gpt-5.5-low":{targetId:"gpt-5.5",level:"low",legacyVariantId:"gpt-5.5-low",encoding:"legacy-variant"},"gpt-5.5-medium":{targetId:"gpt-5.5",level:"medium",legacyVariantId:"gpt-5.5-medium",encoding:"legacy-variant"},"gpt-5.5-none":{targetId:"gpt-5.5",level:"off",legacyVariantId:"gpt-5.5-none",encoding:"legacy-variant"},"gpt-5.5-max":{targetId:"gpt-5.5",level:"max",legacyVariantId:"gpt-5.5-max",encoding:"legacy-variant"},"gpt-5.5-thinking-low":{targetId:"gpt-5.5",level:"low",legacyVariantId:"gpt-5.5-thinking-low",encoding:"legacy-variant"},"gpt-5.5-thinking-medium":{targetId:"gpt-5.5",level:"medium",legacyVariantId:"gpt-5.5-thinking-medium",encoding:"legacy-variant"},"gpt-5.5-thinking-max":{targetId:"gpt-5.5",level:"max",legacyVariantId:"gpt-5.5-thinking-max",encoding:"legacy-variant"},"gpt-5.5-extra-high-fast":{targetId:"gpt-5.5-extra-high-fast",legacyVariantId:"gpt-5.5-extra-high-fast",encoding:"legacy-variant"},"gpt-5.5-high-fast":{targetId:"gpt-5.5-high-fast",legacyVariantId:"gpt-5.5-high-fast",encoding:"legacy-variant"},"gpt-5.5-low-fast":{targetId:"gpt-5.5-low-fast",legacyVariantId:"gpt-5.5-low-fast",encoding:"legacy-variant"},"gpt-5.5-medium-fast":{targetId:"gpt-5.5-medium-fast",legacyVariantId:"gpt-5.5-medium-fast",encoding:"legacy-variant"},"gpt-5.5-none-fast":{targetId:"gpt-5.5-none-fast",legacyVariantId:"gpt-5.5-none-fast",encoding:"legacy-variant"},"gpt-5.5-max-fast":{targetId:"gpt-5.5-max-fast",legacyVariantId:"gpt-5.5-max-fast",encoding:"legacy-variant"},"gpt-5.6-luna-high":{targetId:"gpt-5.6-luna",level:"high",legacyVariantId:"gpt-5.6-luna-high",encoding:"legacy-variant"},"gpt-5.6-luna-low":{targetId:"gpt-5.6-luna",level:"low",legacyVariantId:"gpt-5.6-luna-low",encoding:"legacy-variant"},"gpt-5.6-luna-max":{targetId:"gpt-5.6-luna",level:"max",legacyVariantId:"gpt-5.6-luna-max",encoding:"legacy-variant"},"gpt-5.6-luna-medium":{targetId:"gpt-5.6-luna",level:"medium",legacyVariantId:"gpt-5.6-luna-medium",encoding:"legacy-variant"},"gpt-5.6-luna-none":{targetId:"gpt-5.6-luna",level:"off",legacyVariantId:"gpt-5.6-luna-none",encoding:"legacy-variant"},"gpt-5.6-luna-xhigh":{targetId:"gpt-5.6-luna",level:"xhigh",legacyVariantId:"gpt-5.6-luna-xhigh",encoding:"legacy-variant"},"gpt-5.6-luna-thinking-low":{targetId:"gpt-5.6-luna",level:"low",legacyVariantId:"gpt-5.6-luna-thinking-low",encoding:"legacy-variant"},"gpt-5.6-luna-thinking-medium":{targetId:"gpt-5.6-luna",level:"medium",legacyVariantId:"gpt-5.6-luna-thinking-medium",encoding:"legacy-variant"},"gpt-5.6-luna-thinking-max":{targetId:"gpt-5.6-luna",level:"max",legacyVariantId:"gpt-5.6-luna-thinking-max",encoding:"legacy-variant"},"gpt-5.6-luna-high-fast":{targetId:"gpt-5.6-luna-high-fast",legacyVariantId:"gpt-5.6-luna-high-fast",encoding:"legacy-variant"},"gpt-5.6-luna-low-fast":{targetId:"gpt-5.6-luna-low-fast",legacyVariantId:"gpt-5.6-luna-low-fast",encoding:"legacy-variant"},"gpt-5.6-luna-max-fast":{targetId:"gpt-5.6-luna-max-fast",legacyVariantId:"gpt-5.6-luna-max-fast",encoding:"legacy-variant"},"gpt-5.6-luna-medium-fast":{targetId:"gpt-5.6-luna-medium-fast",legacyVariantId:"gpt-5.6-luna-medium-fast",encoding:"legacy-variant"},"gpt-5.6-luna-none-fast":{targetId:"gpt-5.6-luna-none-fast",legacyVariantId:"gpt-5.6-luna-none-fast",encoding:"legacy-variant"},"gpt-5.6-luna-xhigh-fast":{targetId:"gpt-5.6-luna-xhigh-fast",legacyVariantId:"gpt-5.6-luna-xhigh-fast",encoding:"legacy-variant"},"gpt-5.6-sol-high":{targetId:"gpt-5.6-sol",level:"high",legacyVariantId:"gpt-5.6-sol-high",encoding:"legacy-variant"},"gpt-5.6-sol-low":{targetId:"gpt-5.6-sol",level:"low",legacyVariantId:"gpt-5.6-sol-low",encoding:"legacy-variant"},"gpt-5.6-sol-max":{targetId:"gpt-5.6-sol",level:"max",legacyVariantId:"gpt-5.6-sol-max",encoding:"legacy-variant"},"gpt-5.6-sol-medium":{targetId:"gpt-5.6-sol",level:"medium",legacyVariantId:"gpt-5.6-sol-medium",encoding:"legacy-variant"},"gpt-5.6-sol-none":{targetId:"gpt-5.6-sol",level:"off",legacyVariantId:"gpt-5.6-sol-none",encoding:"legacy-variant"},"gpt-5.6-sol-xhigh":{targetId:"gpt-5.6-sol",level:"xhigh",legacyVariantId:"gpt-5.6-sol-xhigh",encoding:"legacy-variant"},"gpt-5.6-sol-thinking-low":{targetId:"gpt-5.6-sol",level:"low",legacyVariantId:"gpt-5.6-sol-thinking-low",encoding:"legacy-variant"},"gpt-5.6-sol-thinking-medium":{targetId:"gpt-5.6-sol",level:"medium",legacyVariantId:"gpt-5.6-sol-thinking-medium",encoding:"legacy-variant"},"gpt-5.6-sol-thinking-max":{targetId:"gpt-5.6-sol",level:"max",legacyVariantId:"gpt-5.6-sol-thinking-max",encoding:"legacy-variant"},"gpt-5.6-sol-high-fast":{targetId:"gpt-5.6-sol-high-fast",legacyVariantId:"gpt-5.6-sol-high-fast",encoding:"legacy-variant"},"gpt-5.6-sol-low-fast":{targetId:"gpt-5.6-sol-low-fast",legacyVariantId:"gpt-5.6-sol-low-fast",encoding:"legacy-variant"},"gpt-5.6-sol-max-fast":{targetId:"gpt-5.6-sol-max-fast",legacyVariantId:"gpt-5.6-sol-max-fast",encoding:"legacy-variant"},"gpt-5.6-sol-medium-fast":{targetId:"gpt-5.6-sol-medium-fast",legacyVariantId:"gpt-5.6-sol-medium-fast",encoding:"legacy-variant"},"gpt-5.6-sol-none-fast":{targetId:"gpt-5.6-sol-none-fast",legacyVariantId:"gpt-5.6-sol-none-fast",encoding:"legacy-variant"},"gpt-5.6-sol-xhigh-fast":{targetId:"gpt-5.6-sol-xhigh-fast",legacyVariantId:"gpt-5.6-sol-xhigh-fast",encoding:"legacy-variant"},"gpt-5.6-terra-high":{targetId:"gpt-5.6-terra",level:"high",legacyVariantId:"gpt-5.6-terra-high",encoding:"legacy-variant"},"gpt-5.6-terra-low":{targetId:"gpt-5.6-terra",level:"low",legacyVariantId:"gpt-5.6-terra-low",encoding:"legacy-variant"},"gpt-5.6-terra-max":{targetId:"gpt-5.6-terra",level:"max",legacyVariantId:"gpt-5.6-terra-max",encoding:"legacy-variant"},"gpt-5.6-terra-medium":{targetId:"gpt-5.6-terra",level:"medium",legacyVariantId:"gpt-5.6-terra-medium",encoding:"legacy-variant"},"gpt-5.6-terra-none":{targetId:"gpt-5.6-terra",level:"off",legacyVariantId:"gpt-5.6-terra-none",encoding:"legacy-variant"},"gpt-5.6-terra-xhigh":{targetId:"gpt-5.6-terra",level:"xhigh",legacyVariantId:"gpt-5.6-terra-xhigh",encoding:"legacy-variant"},"gpt-5.6-terra-high-fast":{targetId:"gpt-5.6-terra-high-fast",legacyVariantId:"gpt-5.6-terra-high-fast",encoding:"legacy-variant"},"gpt-5.6-terra-low-fast":{targetId:"gpt-5.6-terra-low-fast",legacyVariantId:"gpt-5.6-terra-low-fast",encoding:"legacy-variant"},"gpt-5.6-terra-max-fast":{targetId:"gpt-5.6-terra-max-fast",legacyVariantId:"gpt-5.6-terra-max-fast",encoding:"legacy-variant"},"gpt-5.6-terra-medium-fast":{targetId:"gpt-5.6-terra-medium-fast",legacyVariantId:"gpt-5.6-terra-medium-fast",encoding:"legacy-variant"},"gpt-5.6-terra-none-fast":{targetId:"gpt-5.6-terra-none-fast",legacyVariantId:"gpt-5.6-terra-none-fast",encoding:"legacy-variant"},"gpt-5.6-terra-xhigh-fast":{targetId:"gpt-5.6-terra-xhigh-fast",legacyVariantId:"gpt-5.6-terra-xhigh-fast",encoding:"legacy-variant"},"kimi-k2.7-code":{targetId:"kimi-k2.7-code",legacyVariantId:"kimi-k2.7-code",encoding:"legacy-variant"},"kimi-k3-high":{targetId:"kimi-k3",level:"high",legacyVariantId:"kimi-k3-high",encoding:"legacy-variant"},"kimi-k3-low":{targetId:"kimi-k3",level:"low",legacyVariantId:"kimi-k3-low",encoding:"legacy-variant"},"kimi-k3-max":{targetId:"kimi-k3",level:"max",legacyVariantId:"kimi-k3-max",encoding:"legacy-variant"},auto:{targetId:"auto",legacyVariantId:"auto",encoding:"legacy-variant"},"claude-fable-5-low-fast":{targetId:"claude-fable-5-low-fast",legacyVariantId:"claude-fable-5-low-fast",encoding:"legacy-variant"},"claude-fable-5-medium-fast":{targetId:"claude-fable-5-medium-fast",legacyVariantId:"claude-fable-5-medium-fast",encoding:"legacy-variant"},"claude-fable-5-max-fast":{targetId:"claude-fable-5-max-fast",legacyVariantId:"claude-fable-5-max-fast",encoding:"legacy-variant"},"claude-sonnet-5-low-fast":{targetId:"claude-sonnet-5-low-fast",legacyVariantId:"claude-sonnet-5-low-fast",encoding:"legacy-variant"},"claude-sonnet-5-medium-fast":{targetId:"claude-sonnet-5-medium-fast",legacyVariantId:"claude-sonnet-5-medium-fast",encoding:"legacy-variant"},"claude-sonnet-5-max-fast":{targetId:"claude-sonnet-5-max-fast",legacyVariantId:"claude-sonnet-5-max-fast",encoding:"legacy-variant"},"claude-sonnet-4-7-low":{targetId:"claude-sonnet-4-7",level:"low",legacyVariantId:"claude-sonnet-4-7-low",encoding:"legacy-variant"},"claude-sonnet-4-7-medium":{targetId:"claude-sonnet-4-7",level:"medium",legacyVariantId:"claude-sonnet-4-7-medium",encoding:"legacy-variant"},"claude-sonnet-4-7-max":{targetId:"claude-sonnet-4-7",level:"max",legacyVariantId:"claude-sonnet-4-7-max",encoding:"legacy-variant"},"claude-sonnet-4-7-low-fast":{targetId:"claude-sonnet-4-7-low-fast",legacyVariantId:"claude-sonnet-4-7-low-fast",encoding:"legacy-variant"},"claude-sonnet-4-7-medium-fast":{targetId:"claude-sonnet-4-7-medium-fast",legacyVariantId:"claude-sonnet-4-7-medium-fast",encoding:"legacy-variant"},"claude-sonnet-4-7-max-fast":{targetId:"claude-sonnet-4-7-max-fast",legacyVariantId:"claude-sonnet-4-7-max-fast",encoding:"legacy-variant"},"claude-sonnet-4-7-thinking-low":{targetId:"claude-sonnet-4-7-thinking",level:"low",legacyVariantId:"claude-sonnet-4-7-thinking-low",encoding:"legacy-variant"},"claude-sonnet-4-7-thinking-medium":{targetId:"claude-sonnet-4-7-thinking",level:"medium",legacyVariantId:"claude-sonnet-4-7-thinking-medium",encoding:"legacy-variant"},"claude-sonnet-4-7-thinking-max":{targetId:"claude-sonnet-4-7-thinking",level:"max",legacyVariantId:"claude-sonnet-4-7-thinking-max",encoding:"legacy-variant"},"claude-mythos-5-low":{targetId:"claude-mythos-5",level:"low",legacyVariantId:"claude-mythos-5-low",encoding:"legacy-variant"},"claude-mythos-5-medium":{targetId:"claude-mythos-5",level:"medium",legacyVariantId:"claude-mythos-5-medium",encoding:"legacy-variant"},"claude-mythos-5-max":{targetId:"claude-mythos-5",level:"max",legacyVariantId:"claude-mythos-5-max",encoding:"legacy-variant"},"claude-mythos-5-low-fast":{targetId:"claude-mythos-5-low-fast",legacyVariantId:"claude-mythos-5-low-fast",encoding:"legacy-variant"},"claude-mythos-5-medium-fast":{targetId:"claude-mythos-5-medium-fast",legacyVariantId:"claude-mythos-5-medium-fast",encoding:"legacy-variant"},"claude-mythos-5-max-fast":{targetId:"claude-mythos-5-max-fast",legacyVariantId:"claude-mythos-5-max-fast",encoding:"legacy-variant"},"claude-mythos-5-thinking-low":{targetId:"claude-mythos-5-thinking",level:"low",legacyVariantId:"claude-mythos-5-thinking-low",encoding:"legacy-variant"},"claude-mythos-5-thinking-medium":{targetId:"claude-mythos-5-thinking",level:"medium",legacyVariantId:"claude-mythos-5-thinking-medium",encoding:"legacy-variant"},"claude-mythos-5-thinking-max":{targetId:"claude-mythos-5-thinking",level:"max",legacyVariantId:"claude-mythos-5-thinking-max",encoding:"legacy-variant"},"gpt-5.4-codex-low":{targetId:"gpt-5.4-codex",level:"low",legacyVariantId:"gpt-5.4-codex-low",encoding:"legacy-variant"},"gpt-5.4-codex-medium":{targetId:"gpt-5.4-codex",level:"medium",legacyVariantId:"gpt-5.4-codex-medium",encoding:"legacy-variant"},"gpt-5.4-codex-max":{targetId:"gpt-5.4-codex",level:"max",legacyVariantId:"gpt-5.4-codex-max",encoding:"legacy-variant"},"gpt-5.4-codex-thinking-low":{targetId:"gpt-5.4-codex",level:"low",legacyVariantId:"gpt-5.4-codex-thinking-low",encoding:"legacy-variant"},"gpt-5.4-codex-thinking-medium":{targetId:"gpt-5.4-codex",level:"medium",legacyVariantId:"gpt-5.4-codex-thinking-medium",encoding:"legacy-variant"},"gpt-5.4-codex-thinking-max":{targetId:"gpt-5.4-codex",level:"max",legacyVariantId:"gpt-5.4-codex-thinking-max",encoding:"legacy-variant"},"gpt-5.4-codex-low-fast":{targetId:"gpt-5.4-codex-low-fast",legacyVariantId:"gpt-5.4-codex-low-fast",encoding:"legacy-variant"},"gpt-5.4-codex-medium-fast":{targetId:"gpt-5.4-codex-medium-fast",legacyVariantId:"gpt-5.4-codex-medium-fast",encoding:"legacy-variant"},"gpt-5.4-codex-max-fast":{targetId:"gpt-5.4-codex-max-fast",legacyVariantId:"gpt-5.4-codex-max-fast",encoding:"legacy-variant"},"gemini-3.7-flash-low-fast":{targetId:"gemini-3.7-flash-low-fast",legacyVariantId:"gemini-3.7-flash-low-fast",encoding:"legacy-variant"},"gemini-3.7-flash-medium-fast":{targetId:"gemini-3.7-flash-medium-fast",legacyVariantId:"gemini-3.7-flash-medium-fast",encoding:"legacy-variant"},"gemini-3.7-flash-max-fast":{targetId:"gemini-3.7-flash-max-fast",legacyVariantId:"gemini-3.7-flash-max-fast",encoding:"legacy-variant"},"gemini-3.7-pro-low":{targetId:"gemini-3.7-pro",level:"low",legacyVariantId:"gemini-3.7-pro-low",encoding:"legacy-variant"},"gemini-3.7-pro-medium":{targetId:"gemini-3.7-pro",level:"medium",legacyVariantId:"gemini-3.7-pro-medium",encoding:"legacy-variant"},"gemini-3.7-pro-max":{targetId:"gemini-3.7-pro",level:"max",legacyVariantId:"gemini-3.7-pro-max",encoding:"legacy-variant"},"gemini-3.7-pro-thinking-low":{targetId:"gemini-3.7-pro",level:"low",legacyVariantId:"gemini-3.7-pro-thinking-low",encoding:"legacy-variant"},"gemini-3.7-pro-thinking-medium":{targetId:"gemini-3.7-pro",level:"medium",legacyVariantId:"gemini-3.7-pro-thinking-medium",encoding:"legacy-variant"},"gemini-3.7-pro-thinking-max":{targetId:"gemini-3.7-pro",level:"max",legacyVariantId:"gemini-3.7-pro-thinking-max",encoding:"legacy-variant"},"gemini-3.7-pro-low-fast":{targetId:"gemini-3.7-pro-low-fast",legacyVariantId:"gemini-3.7-pro-low-fast",encoding:"legacy-variant"},"gemini-3.7-pro-medium-fast":{targetId:"gemini-3.7-pro-medium-fast",legacyVariantId:"gemini-3.7-pro-medium-fast",encoding:"legacy-variant"},"gemini-3.7-pro-max-fast":{targetId:"gemini-3.7-pro-max-fast",legacyVariantId:"gemini-3.7-pro-max-fast",encoding:"legacy-variant"},"gemini-3.6-pro-low":{targetId:"gemini-3.6-pro",level:"low",legacyVariantId:"gemini-3.6-pro-low",encoding:"legacy-variant"},"gemini-3.6-pro-medium":{targetId:"gemini-3.6-pro",level:"medium",legacyVariantId:"gemini-3.6-pro-medium",encoding:"legacy-variant"},"gemini-3.6-pro-max":{targetId:"gemini-3.6-pro",level:"max",legacyVariantId:"gemini-3.6-pro-max",encoding:"legacy-variant"},"gemini-3.6-pro-thinking-low":{targetId:"gemini-3.6-pro",level:"low",legacyVariantId:"gemini-3.6-pro-thinking-low",encoding:"legacy-variant"},"gemini-3.6-pro-thinking-medium":{targetId:"gemini-3.6-pro",level:"medium",legacyVariantId:"gemini-3.6-pro-thinking-medium",encoding:"legacy-variant"},"gemini-3.6-pro-thinking-max":{targetId:"gemini-3.6-pro",level:"max",legacyVariantId:"gemini-3.6-pro-thinking-max",encoding:"legacy-variant"},"gemini-3.6-pro-low-fast":{targetId:"gemini-3.6-pro-low-fast",legacyVariantId:"gemini-3.6-pro-low-fast",encoding:"legacy-variant"},"gemini-3.6-pro-medium-fast":{targetId:"gemini-3.6-pro-medium-fast",legacyVariantId:"gemini-3.6-pro-medium-fast",encoding:"legacy-variant"},"gemini-3.6-pro-max-fast":{targetId:"gemini-3.6-pro-max-fast",legacyVariantId:"gemini-3.6-pro-max-fast",encoding:"legacy-variant"},"gemini-3.5-pro-low":{targetId:"gemini-3.5-pro",level:"low",legacyVariantId:"gemini-3.5-pro-low",encoding:"legacy-variant"},"gemini-3.5-pro-medium":{targetId:"gemini-3.5-pro",level:"medium",legacyVariantId:"gemini-3.5-pro-medium",encoding:"legacy-variant"},"gemini-3.5-pro-max":{targetId:"gemini-3.5-pro",level:"max",legacyVariantId:"gemini-3.5-pro-max",encoding:"legacy-variant"},"gemini-3.5-pro-thinking-low":{targetId:"gemini-3.5-pro",level:"low",legacyVariantId:"gemini-3.5-pro-thinking-low",encoding:"legacy-variant"},"gemini-3.5-pro-thinking-medium":{targetId:"gemini-3.5-pro",level:"medium",legacyVariantId:"gemini-3.5-pro-thinking-medium",encoding:"legacy-variant"},"gemini-3.5-pro-thinking-max":{targetId:"gemini-3.5-pro",level:"max",legacyVariantId:"gemini-3.5-pro-thinking-max",encoding:"legacy-variant"},"gemini-3.5-pro-low-fast":{targetId:"gemini-3.5-pro-low-fast",legacyVariantId:"gemini-3.5-pro-low-fast",encoding:"legacy-variant"},"gemini-3.5-pro-medium-fast":{targetId:"gemini-3.5-pro-medium-fast",legacyVariantId:"gemini-3.5-pro-medium-fast",encoding:"legacy-variant"},"gemini-3.5-pro-max-fast":{targetId:"gemini-3.5-pro-max-fast",legacyVariantId:"gemini-3.5-pro-max-fast",encoding:"legacy-variant"},"composer-2.6-low":{targetId:"composer-2.6",level:"low",legacyVariantId:"composer-2.6-low",encoding:"legacy-variant"},"composer-2.6-medium":{targetId:"composer-2.6",level:"medium",legacyVariantId:"composer-2.6-medium",encoding:"legacy-variant"},"composer-2.6-max":{targetId:"composer-2.6",level:"max",legacyVariantId:"composer-2.6-max",encoding:"legacy-variant"},"composer-2.6-thinking-low":{targetId:"composer-2.6",level:"low",legacyVariantId:"composer-2.6-thinking-low",encoding:"legacy-variant"},"composer-2.6-thinking-medium":{targetId:"composer-2.6",level:"medium",legacyVariantId:"composer-2.6-thinking-medium",encoding:"legacy-variant"},"composer-2.6-thinking-max":{targetId:"composer-2.6",level:"max",legacyVariantId:"composer-2.6-thinking-max",encoding:"legacy-variant"},"composer-2.6-low-fast":{targetId:"composer-2.6-low-fast",legacyVariantId:"composer-2.6-low-fast",encoding:"legacy-variant"},"composer-2.6-medium-fast":{targetId:"composer-2.6-medium-fast",legacyVariantId:"composer-2.6-medium-fast",encoding:"legacy-variant"},"composer-2.6-max-fast":{targetId:"composer-2.6-max-fast",legacyVariantId:"composer-2.6-max-fast",encoding:"legacy-variant"},"composer-2.6-lite-low":{targetId:"composer-2.6-lite",level:"low",legacyVariantId:"composer-2.6-lite-low",encoding:"legacy-variant"},"composer-2.6-lite-medium":{targetId:"composer-2.6-lite",level:"medium",legacyVariantId:"composer-2.6-lite-medium",encoding:"legacy-variant"},"composer-2.6-lite-max":{targetId:"composer-2.6-lite",level:"max",legacyVariantId:"composer-2.6-lite-max",encoding:"legacy-variant"},"composer-2.6-lite-thinking-low":{targetId:"composer-2.6-lite",level:"low",legacyVariantId:"composer-2.6-lite-thinking-low",encoding:"legacy-variant"},"composer-2.6-lite-thinking-medium":{targetId:"composer-2.6-lite",level:"medium",legacyVariantId:"composer-2.6-lite-thinking-medium",encoding:"legacy-variant"},"composer-2.6-lite-thinking-max":{targetId:"composer-2.6-lite",level:"max",legacyVariantId:"composer-2.6-lite-thinking-max",encoding:"legacy-variant"},"composer-2.6-lite-low-fast":{targetId:"composer-2.6-lite-low-fast",legacyVariantId:"composer-2.6-lite-low-fast",encoding:"legacy-variant"},"composer-2.6-lite-medium-fast":{targetId:"composer-2.6-lite-medium-fast",legacyVariantId:"composer-2.6-lite-medium-fast",encoding:"legacy-variant"},"composer-2.6-lite-max-fast":{targetId:"composer-2.6-lite-max-fast",legacyVariantId:"composer-2.6-lite-max-fast",encoding:"legacy-variant"},"deepseek-v4-low":{targetId:"deepseek-v4",level:"low",legacyVariantId:"deepseek-v4-low",encoding:"legacy-variant"},"deepseek-v4-medium":{targetId:"deepseek-v4",level:"medium",legacyVariantId:"deepseek-v4-medium",encoding:"legacy-variant"},"deepseek-v4-max":{targetId:"deepseek-v4",level:"max",legacyVariantId:"deepseek-v4-max",encoding:"legacy-variant"},"deepseek-v4-thinking-low":{targetId:"deepseek-v4",level:"low",legacyVariantId:"deepseek-v4-thinking-low",encoding:"legacy-variant"},"deepseek-v4-thinking-medium":{targetId:"deepseek-v4",level:"medium",legacyVariantId:"deepseek-v4-thinking-medium",encoding:"legacy-variant"},"deepseek-v4-thinking-max":{targetId:"deepseek-v4",level:"max",legacyVariantId:"deepseek-v4-thinking-max",encoding:"legacy-variant"},"deepseek-v4-low-fast":{targetId:"deepseek-v4-low-fast",legacyVariantId:"deepseek-v4-low-fast",encoding:"legacy-variant"},"deepseek-v4-medium-fast":{targetId:"deepseek-v4-medium-fast",legacyVariantId:"deepseek-v4-medium-fast",encoding:"legacy-variant"},"deepseek-v4-max-fast":{targetId:"deepseek-v4-max-fast",legacyVariantId:"deepseek-v4-max-fast",encoding:"legacy-variant"}}};var P="parameters",V="variant-id";function ladder(values,encoding=P){let out={};for(let value of values)out[value==="none"?"off":value]={value,encoding};return out}var CLAUDE_ORDER=["thinking","context","effort"],GPT_ORDER=["context","reasoning","fast"];function claude(window,maxWindow,levels,defaultContext){return{evidence:"available-models",window,maxWindow,parameterOrder:CLAUDE_ORDER,defaultContext,requestContext:window>=1e6?"1m":defaultContext,levels:ladder(levels)}}function gpt(levels,order=GPT_ORDER,window=4e5,maxWindow=4e5){return{evidence:"available-models",window,maxWindow,parameterOrder:order,defaultContext:"272k",requestContext:order.includes("context")&&window>=1e6?"1m":void 0,levels:ladder(levels)}}var CURSOR_MODEL_CAPABILITIES={"claude-fable-5":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-sonnet-5":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-opus-4-7":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-opus-4-8":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-opus-5":claude(1e6,1e6,["low","medium","high","xhigh","max"],"300k"),"claude-4.6-opus":claude(1e6,1e6,["high","max"],"200k"),"claude-4.6-sonnet":claude(1e6,1e6,["medium"],"200k"),"claude-4.5-opus":{evidence:"available-models",window:2e5,parameterOrder:["thinking"],levels:{high:{value:"high",encoding:V}}},"gpt-5.6-sol":gpt(["none","low","medium","high","xhigh","max"],GPT_ORDER,1e6,1e6),"gpt-5.6-luna":gpt(["none","low","medium","high","xhigh","max"],GPT_ORDER,1e6,1e6),"gpt-5.6-terra":gpt(["none","low","medium","high","xhigh","max"],GPT_ORDER,272e3,272e3),"gpt-5.5":{...gpt(["none","low","medium","high"],GPT_ORDER,1e6,1e6),levels:{...ladder(["none","low","medium","high"]),xhigh:{value:"extra-high",encoding:P}}},"gpt-5.3-codex":{...gpt([],["reasoning","fast"]),maxWindow:void 0,defaultContext:void 0,levels:{...ladder(["low","medium","high"]),xhigh:{value:"extra-high",encoding:P}}},"gpt-5.1":{...gpt([],["reasoning"]),maxWindow:void 0,defaultContext:void 0,levels:ladder(["low","high"])},"gpt-5.2":{...gpt([],["reasoning"]),maxWindow:void 0,defaultContext:void 0,levels:{...ladder(["low","high"]),xhigh:{value:"xhigh",encoding:V}}},"gpt-5.4":{...gpt([],["reasoning"]),maxWindow:void 0,defaultContext:void 0,levels:{...ladder(["low","medium","high"]),xhigh:{value:"xhigh",encoding:V}}},"gpt-5.4-mini":{evidence:"available-models",window:4e5,parameterOrder:[],levels:ladder(["none","low","medium","high","xhigh"],V)},"gpt-5.4-nano":{...gpt([],["reasoning"]),maxWindow:void 0,defaultContext:void 0,levels:ladder(["none","low","medium","high","xhigh"])},"gemini-3.7-flash":{evidence:"cli-live",window:1048576,parameterOrder:["effort"],levels:ladder(["low","medium","high"])},"gemini-3.6-flash":{evidence:"suffix-only",window:1048576,parameterOrder:[],levels:ladder(["minimal","low","medium","high"],V)},"cursor-grok-4.6":{evidence:"available-models",window:5e5,parameterOrder:["effort","fast"],levels:ladder(["low","medium","high","xhigh"])},"cursor-grok-4.5":{evidence:"suffix-only",window:5e5,parameterOrder:[],levels:ladder(["low","medium","high"],V)},"glm-5.2":{evidence:"available-models",window:1e6,parameterOrder:["reasoning"],levels:ladder(["high","max"])},"kimi-k3":{evidence:"available-models",window:1048576,parameterOrder:["reasoning"],levels:ladder(["low","high","max"])},"composer-2.5":{evidence:"available-models",window:2e5,parameterOrder:["fast"],levels:{}},"claude-haiku-4-5":{evidence:"available-models",window:2e5,parameterOrder:["thinking"],levels:{}},"claude-4-sonnet":{evidence:"available-models",window:2e5,parameterOrder:["thinking","context"],defaultContext:"200k",levels:{}},"claude-4.5-sonnet":{evidence:"available-models",window:2e5,parameterOrder:["thinking","context"],defaultContext:"200k",levels:{}},"kimi-k2.7-code":{evidence:"available-models",window:262144,parameterOrder:[],levels:{}},"gemini-3-flash":{evidence:"available-models",window:1e6,parameterOrder:[],levels:{}},"gemini-3.1-pro":{evidence:"available-models",window:1e6,parameterOrder:[],levels:{}},"gemini-3.5-flash":{evidence:"available-models",window:1048576,parameterOrder:[],levels:{}},"gpt-5-mini":{evidence:"available-models",window:4e5,parameterOrder:[],levels:{}}},ALIASES=cursor_variant_aliases_default.aliases;function getCursorVariantAlias(originalId){return ALIASES[originalId]}function identityCompat(model){return model.compat?.cursorReasoning}function suffixAliasId(compat,level,spec){let suffixes=level==="off"?["none"]:spec.value===level?[spec.value]:[spec.value,level];for(let suffix of suffixes){let candidates=compat.thinkingMode===!0?[`${compat.capabilityId}-thinking-${suffix}`,`${compat.capabilityId}-${suffix}-thinking`]:[`${compat.capabilityId}-${suffix}`];for(let candidate of candidates){let alias=getCursorVariantAlias(candidate);if(alias)return alias.legacyVariantId}}}function buildParameters(capabilityId,value,thinkingMode){let capability=CURSOR_MODEL_CAPABILITIES[capabilityId];if(!capability)return[];let out=[];for(let id of capability.parameterOrder)switch(id){case"thinking":out.push({id,value:thinkingMode===!0?"true":"false"});break;case"context":{let context=capability.requestContext??capability.defaultContext;context!==void 0&&out.push({id,value:context});break}case"effort":case"reasoning":out.push({id,value});break;case"fast":out.push({id,value:"false"});break}return out}function resolveCursorSelectionDescriptor(model,selection){let compat=identityCompat(model),fallback={modelId:model.upstreamModelId??model.id,parameters:[]};if(!compat)return fallback;if(selection===void 0)return{modelId:compat.representativeVariantId,parameters:[]};if(selection.source==="legacy-variant"){let legacyId=selection.legacyVariantId;return legacyId!==void 0&&(getCursorVariantAlias(legacyId)!==void 0||Object.values(compat.variantIds??{}).includes(legacyId))?{modelId:legacyId,parameters:[]}:{modelId:compat.representativeVariantId,parameters:[]}}let derivedVariantId=compat.variantIds?.[selection.level];if(derivedVariantId!==void 0)return{modelId:derivedVariantId,parameters:[]};if(compat.variantIds!==void 0)return{modelId:compat.representativeVariantId,parameters:[]};let capability=CURSOR_MODEL_CAPABILITIES[compat.capabilityId],spec=capability?.levels[selection.level];if(!capability||!spec)return{modelId:compat.representativeVariantId,parameters:[]};let suffixId=suffixAliasId(compat,selection.level,spec);return suffixId!==void 0?{modelId:suffixId,parameters:[]}:spec.encoding==="variant-id"?{modelId:compat.representativeVariantId,parameters:[]}:{modelId:compat.capabilityId,parameters:buildParameters(compat.capabilityId,spec.value,compat.thinkingMode)}}function buildRequestedModelFields(model,selection){let resolved=resolveCursorSelectionDescriptor(model,selection);return{modelId:resolved.modelId,maxMode:model.compat?.cursorMaxMode===!0,parameters:resolved.parameters.map(parameter=>({id:parameter.id,value:parameter.value}))}}function buildRequestedModel(model,selection){let fields=buildRequestedModelFields(model,selection);return create(RequestedModelSchema,{modelId:fields.modelId,maxMode:fields.maxMode,parameters:fields.parameters.map(parameter=>create(RequestedModel_ModelParameterbytesSchema,{id:parameter.id,value:parameter.value}))})}var CursorRetryableStreamError=class extends Error{constructor(message,retryCause,options){super(message,options),this.name="CursorRetryableStreamError",this.retryCause=retryCause}};function isCursorRetryableStreamError(error){return error instanceof CursorRetryableStreamError}function cursorStreamRetryDelayMs(options){if(options.fixedDelayMs!==void 0)return Math.max(0,options.fixedDelayMs);let baseDelayMs=options.baseDelayMs??1e3,backoffMs=Math.min(baseDelayMs*2**options.attempt,6e4),jitter=Math.floor(backoffMs*.2*(options.random??Math.random)());return backoffMs+jitter}function shouldRetryCursorStream(options){return!options.sawTurnEnded&&!options.aborted&&options.retries<options.maxRetries&&isCursorRetryableStreamError(options.error)}async function waitForCursorStreamRetry(delayMs,signal){delayMs<=0||signal?.aborted||await new Promise(resolve=>{let timer=setTimeout(resolve,delayMs);signal?.addEventListener("abort",()=>{clearTimeout(timer),resolve()},{once:!0})})}import{randomUUID}from"node:crypto";import{mkdirSync as mkdirSync2,readFileSync as readFileSync2,writeFileSync as writeFileSync2}from"node:fs";import{dirname as dirname2}from"node:path";var MAX_CURSOR_CONVERSATION_ROTATIONS=3,MAX_CURSOR_CONVERSATION_ROTATION_RECORDS=512,CURSOR_CONVERSATION_POISONED_MESSAGE="Cursor conversation is poisoned for this session; use another provider",RESOURCE_EXHAUSTED_PATTERN=/resource.?exhausted/i;function isZeroTokenResourceExhausted(errorMessage,sawTokenDelta){return!sawTokenDelta&&RESOURCE_EXHAUSTED_PATTERN.test(errorMessage)}function createConversationRotationStore(options){let randomId=options.randomId??randomUUID,maxRecords=options.maxRecords??readRotationRecordLimit(process.env.PI_CURSOR_ROTATION_RECORD_LIMIT)??MAX_CURSOR_CONVERSATION_ROTATION_RECORDS,records=loadRecords(options.persistPath),trimRecords=()=>{let keys=Object.keys(records);for(let i=0;i<keys.length-maxRecords;i++)delete records[keys[i]]},persist=()=>{trimRecords(),mkdirSync2(dirname2(options.persistPath),{recursive:!0}),writeFileSync2(options.persistPath,`${JSON.stringify(records,null,2)}
24
24
  `)};return{getWireId(baseId){let existing=records[baseId];if(!existing)return baseId;if(!existing.skip)return existing.wireId;let wireId=randomId();return existing.wireId=wireId,existing.skip=!1,existing.poisonCount=0,existing.surfaced=!1,records[baseId]=existing,persist(),wireId},shouldSkip(baseId){return records[baseId]?.skip===!0},shouldSurfaceBeforeRotating(baseId){return records[baseId]?.surfaced!==!0},markSurfaced(baseId,currentWireId){let existing=records[baseId]??{wireId:currentWireId,poisonCount:0,skip:!1,surfaced:!1};existing.surfaced||(existing.surfaced=!0,records[baseId]=existing,persist())},recordCount(){return Object.keys(records).length},recordZeroTokenPoison(baseId,currentWireId){let existing=records[baseId]??{wireId:currentWireId,poisonCount:0,skip:!1,surfaced:!1};if(existing.skip||existing.poisonCount>=MAX_CURSOR_CONVERSATION_ROTATIONS)return existing.skip=!0,existing.wireId=currentWireId,records[baseId]=existing,persist(),{kind:"exhausted"};let wireId=randomId();return existing.wireId=wireId,existing.poisonCount+=1,records[baseId]=existing,persist(),{kind:"rotated",wireId}}}}function resolveConversationRotationPersistPath(env=process.env){return env.CURSOR_CONVERSATION_ID_STORE?env.CURSOR_CONVERSATION_ID_STORE:`${(env.SENPI_CODING_AGENT_DIR??env.CODING_AGENT_DIR??`${(env.HOME??".").replace(/\/$/,"")}/.senpi/agent`).replace(/\/$/,"")}/cursor-conversation-ids.json`}function readRotationRecordLimit(raw){let parsed=Number(raw);return Number.isFinite(parsed)&&parsed>0?Math.floor(parsed):void 0}function loadRecords(persistPath){try{let parsed=JSON.parse(readFileSync2(persistPath,"utf8"));if(!parsed||typeof parsed!="object"||Array.isArray(parsed))return{};let records={};for(let[baseId,value]of Object.entries(parsed)){if(!value||typeof value!="object")continue;let raw=value;typeof raw.wireId!="string"||raw.wireId.length===0||(records[baseId]={wireId:raw.wireId,poisonCount:typeof raw.poisonCount=="number"&&raw.poisonCount>=0?raw.poisonCount:0,skip:raw.skip===!0,surfaced:raw.surfaced===!0})}return records}catch{return{}}}function isUsableCursorTaskArgs(args){if(!args||typeof args!="object"||Array.isArray(args))return!1;let rec=args;return!!(rec.category||rec.subagent_type||typeof rec.prompt=="string"&&rec.prompt.trim()||Array.isArray(rec.tasks)&&rec.tasks.length>0)}function keepUsableCursorTaskArgs(previous,next){return isUsableCursorTaskArgs(next)?next:isUsableCursorTaskArgs(previous)?previous:next}function hashBytes(input){let out=new Uint8Array(32),b=typeof input=="string"?new TextEncoder().encode(input):input;for(let i=0;i<b.length;i++)out[i%32]=out[i%32]+b[i]+i&255;return out}function createHash2(input){let data=typeof input=="string"?input:new TextDecoder().decode(input);return{update(v){return data+=typeof v=="string"?v:new TextDecoder().decode(v),this},digest(format){let b=hashBytes(data);return format==="hex"?[...b].map(x=>x.toString(16).padStart(2,"0")).join(""):b}}}function deterministicUuid2(s){let h=[...hashBytes(s)].map(x=>x.toString(16).padStart(2,"0")).join("");return`${h.slice(0,8)}-${h.slice(8,12)}-${h.slice(12,16)}-${h.slice(16,20)}-${h.slice(20,32)}`}function randomUUID2(){let h=[...hashBytes(String(Math.random())+Date.now())].map(x=>x.toString(16).padStart(2,"0")).join("");return`${h.slice(0,8)}-${h.slice(8,12)}-${h.slice(12,16)}-${h.slice(16,20)}-${h.slice(20,32)}`}function storeCursorBlob(m,d){let id=hashBytes(d);return m.set([...id].map(x=>x.toString(16).padStart(2,"0")).join(""),d),id}function readCursorBlob(m,id){let d=m.get([...id].map(x=>x.toString(16).padStart(2,"0")).join(""));if(!d)throw Error("Cursor blob not found");return d}function toolResultToText(r){return r.content.map(i=>i.type==="text"?i.text:`[${i.mimeType} image]`).join(`
25
25
  `)}function extractUserMessageText(msg){if(msg.role!=="user")return"";let content=msg.content;return typeof content=="string"?content.trim():content.filter(c=>c.type==="text").map(c=>c.text).join(`
26
26
  `).trim()}function hasUserMessageImages(msg){return msg.role==="user"&&Array.isArray(msg.content)&&msg.content.some(item=>item.type==="image")}function buildCursorRootPromptContent(content){if(typeof content=="string"){let text=content.trim();return text?[{type:"text",text}]:[]}let parts=[];for(let item of content)if(item.type==="text"){let text=item.text.trim();text&&parts.push({type:"text",text})}else parts.push({type:"image",image:`data:${item.mimeType};base64,${item.data}`,mediaType:item.mimeType});return parts}function cursorUserContentKey(content){if(typeof content=="string")return content.trim();let hash=createHash2("sha256");for(let item of content)hash.update(item.type),item.type==="text"?hash.update(item.text):(hash.update(item.mimeType),hash.update(item.data));return hash.digest("hex")}function buildCursorAssistantContent(msg){let content=[];for(let item of msg.content)item.type==="text"?item.text&&content.push({type:"text",text:item.text}):item.type==="toolCall"&&content.push({type:"tool-call",toolCallId:item.id,toolName:item.name,args:item.arguments});return content}function findLastUserMessageIndex(messages){for(let i=messages.length-1;i>=0;i--)if(messages[i].role==="user")return i;return-1}function buildRootPromptMessagesJson(messages,systemPromptIds,blobStore,activeUserMessageIndex=findLastUserMessageIndex(messages)){let entries=[...systemPromptIds],pushJson=obj=>{let bytes=new TextEncoder().encode(JSON.stringify(obj));entries.push(storeCursorBlob(blobStore,bytes))};for(let i=0;i<messages.length&&i!==activeUserMessageIndex;i++){let msg=messages[i];if(msg.role==="user"){let content=buildCursorRootPromptContent(msg.content);if(content.length===0)continue;pushJson({role:"user",content})}else if(msg.role==="assistant"){let content=buildCursorAssistantContent(msg);if(content.length===0)continue;pushJson({role:"assistant",content})}else msg.role==="toolResult"&&pushJson({role:"tool",id:msg.toolCallId,content:[{type:"tool-result",toolName:msg.toolName,toolCallId:msg.toolCallId,result:toolResultToText(msg),...msg.isError?{isError:!0}:{}}]})}return entries}function isPlainRecord(value){if(value===null||typeof value!="object"||Array.isArray(value))return!1;let prototype=Object.getPrototypeOf(value);return prototype===Object.prototype||prototype===null}function isJsonValue(value){if(value===null||typeof value=="string"||typeof value=="boolean")return!0;if(typeof value=="number")return Number.isFinite(value);if(Array.isArray(value))return value.every(isJsonValue);if(!isPlainRecord(value))return!1;for(let key in value)if(!isJsonValue(value[key]))return!1;return!0}function encodeCursorMcpArguments(toolCall){let encoded={};for(let name in toolCall.arguments){let value=toolCall.arguments[name];if(value!==void 0){if(!isJsonValue(value))throw new Error(`Cursor tool argument ${toolCall.name}.${name} is not JSON-serializable`);encoded[name]=toBinary(ValueSchema,fromJson(ValueSchema,value))}}return encoded}function createCursorMcpResult(result){return result.isError?create(McpToolResultSchema,{result:{case:"error",value:create(McpToolErrorSchema,{error:toolResultToText(result)})}}):create(McpToolResultSchema,{result:{case:"success",value:create(McpSuccessSchema,{content:result.content.map(item=>item.type==="text"?create(McpToolResultContentItemSchema,{content:{case:"text",value:create(McpTextContentSchema,{text:item.text})}}):create(McpToolResultContentItemSchema,{content:{case:"image",value:create(McpImageContentSchema,{data:Uint8Array.from(Uint8Array.from(atob(item.data),c=>c.charCodeAt(0))),mimeType:item.mimeType})}}))})}})}function createCursorToolCallStep(toolCall,result){let mcpCall=create(McpToolCallSchema,{args:create(McpArgsSchema,{name:toolCall.name,args:encodeCursorMcpArguments(toolCall),toolCallId:toolCall.id,providerIdentifier:"pi-agent",toolName:toolCall.name}),...result?{result:createCursorMcpResult(result)}:{}});return create(ConversationStepSchema,{message:{case:"toolCall",value:create(ToolCallSchema,{tool:{case:"mcpToolCall",value:mcpCall},toolCallId:toolCall.id})}})}function buildConversationTurns(messages,blobStore,activeUserMessageIndex=findLastUserMessageIndex(messages)){let turns=[],historyEnd=activeUserMessageIndex>=0?activeUserMessageIndex:messages.length,toolResults=new Map,pairedToolCallIds=new Set;for(let index=0;index<historyEnd;index++){let message=messages[index];if(message.role==="toolResult")toolResults.set(message.toolCallId,message);else if(message.role==="assistant")for(let item of message.content)item.type==="toolCall"&&pairedToolCallIds.add(item.id)}let i=0;for(;i<messages.length;){let msg=messages[i];if(msg.role!=="user"){i++;continue}if(i===activeUserMessageIndex)break;let userText=extractUserMessageText(msg);if(userText.length===0&&!hasUserMessageImages(msg)){i++;continue}let userMessage=createCursorUserMessage(msg.content,userText,deterministicUuid2(`u:${turns.length}:${cursorUserContentKey(msg.content)}`)),userMessageBlobId=storeCursorBlob(blobStore,toBinary(UserMessageSchema,userMessage)),stepBlobIds=[];for(i++;i<messages.length&&messages[i].role!=="user";){let stepMsg=messages[i];if(stepMsg.role==="assistant")for(let item of stepMsg.content){let step;if(item.type==="text"){if(!item.text)continue;step=create(ConversationStepSchema,{message:{case:"assistantMessage",value:create(AssistantMessageSchema,{text:item.text})}})}else{if(item.type==="thinking")continue;if(item.type==="toolCall")step=createCursorToolCallStep(item,toolResults.get(item.id));else continue}stepBlobIds.push(storeCursorBlob(blobStore,toBinary(ConversationStepSchema,step)))}else if(stepMsg.role==="toolResult"&&!pairedToolCallIds.has(stepMsg.toolCallId)){let text=toolResultToText(stepMsg);if(text){let prefix=stepMsg.isError?"[Tool Error]":"[Tool Result]",step=create(ConversationStepSchema,{message:{case:"assistantMessage",value:create(AssistantMessageSchema,{text:`${prefix}