@dan-uni/dan-any 1.2.5 → 1.3.0

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 (28) hide show
  1. package/buf.gen.yaml +4 -2
  2. package/buf.yaml +12 -0
  3. package/dist/browser/17.min.js +44 -25
  4. package/dist/browser/index.min.js +1 -1
  5. package/dist/browser/src/index.d.ts +15 -3
  6. package/dist/browser/src/proto/gen/{bili → bilibili/community/service/dm/v1}/dm_pb.d.ts +2 -2
  7. package/dist/{umd/src/proto/gen/danuni_pb.d.ts → browser/src/proto/gen/danuni/danmaku/v1/danmaku_pb.d.ts} +45 -41
  8. package/dist/node/17.js +44 -25
  9. package/dist/node/index.js +1 -1
  10. package/dist/node/src/index.d.ts +15 -3
  11. package/dist/{umd/src/proto/gen/bili → node/src/proto/gen/bilibili/community/service/dm/v1}/dm_pb.d.ts +2 -2
  12. package/dist/{browser/src/proto/gen/danuni_pb.d.ts → node/src/proto/gen/danuni/danmaku/v1/danmaku_pb.d.ts} +45 -41
  13. package/dist/umd/index.umd.min.js +124 -52
  14. package/dist/umd/plugins/bili.umd.min.js +109 -52
  15. package/dist/umd/plugins/index.umd.min.js +109 -52
  16. package/dist/umd/src/index.d.ts +15 -3
  17. package/dist/{node/src/proto/gen/bili → umd/src/proto/gen/bilibili/community/service/dm/v1}/dm_pb.d.ts +2 -2
  18. package/dist/{node/src/proto/gen/danuni_pb.d.ts → umd/src/proto/gen/danuni/danmaku/v1/danmaku_pb.d.ts} +45 -41
  19. package/package.json +3 -3
  20. package/src/index.test.ts +1 -1
  21. package/src/index.ts +45 -34
  22. package/src/proto/gen/{bili → bilibili/community/service/dm/v1}/dm_pb.ts +104 -104
  23. package/src/proto/gen/danuni/danmaku/v1/danmaku_pb.ts +223 -0
  24. package/src/proto/src/danuni/danmaku/v1/danmaku.proto +52 -0
  25. package/src/utils/dm-gen.ts +2 -2
  26. package/src/proto/gen/danuni_pb.ts +0 -219
  27. package/src/proto/src/danuni.proto +0 -50
  28. /package/src/proto/src/{bili → bilibili/community/service/dm/v1}/dm.proto +0 -0
package/dist/node/17.js CHANGED
@@ -39,7 +39,7 @@ __webpack_require__.d(platform_namespaceObject, {
39
39
  PlatformVideoSource: ()=>platform_PlatformVideoSource,
40
40
  PlatformVideoSources: ()=>PlatformVideoSources
41
41
  });
42
- var package_namespaceObject = JSON.parse('{"UU":"@dan-uni/dan-any","rE":"1.2.5","TB":"https://github.com/ani-uni/danuni/tree/master/packages/dan-any#readme"}');
42
+ var package_namespaceObject = JSON.parse('{"UU":"@dan-uni/dan-any","rE":"1.3.0","TB":"https://github.com/ani-uni/danuni/tree/master/packages/dan-any#readme"}');
43
43
  const color_pad = (s)=>s.length < 2 ? `0${s}` : s;
44
44
  const decimalToHex = (n)=>color_pad(n.toString(16));
45
45
  const isDarkColor = ({ r, g, b })=>0.299 * r + 0.587 * g + 0.114 * b < 0x30;
@@ -353,7 +353,7 @@ class UniDM {
353
353
  if (this.attr.length > 0) result.attr = this.attr;
354
354
  if (void 0 !== this.platform) result.platform = this.platform;
355
355
  if (this.extraStr && '{}' !== this.extraStr) result.extraStr = this.extraStr;
356
- if (void 0 !== this.DMID) result.DMID = this.DMID;
356
+ if (void 0 !== this.DMID && this.options.dmid) result.DMID = this.DMID;
357
357
  return result;
358
358
  }
359
359
  downgradeAdvcancedDan({ include, exclude, cleanExtra = false } = {}) {
@@ -469,7 +469,7 @@ class UniDM {
469
469
  }) ? args.midHash : id_gen_UniID.fromBili({
470
470
  midHash: args.midHash
471
471
  });
472
- let mode = 0;
472
+ let mode;
473
473
  const pool = args.pool;
474
474
  const extra = {
475
475
  bili: {
@@ -1290,13 +1290,13 @@ function parseAssRawField(ass, options) {
1290
1290
  if (raw) return DanmakuList2UniPool(raw.list, options);
1291
1291
  return UniPool.create();
1292
1292
  }
1293
- const file_bili_dm = /*@__PURE__*/ fileDesc("Cg1iaWxpL2RtLnByb3RvEiBiaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MSJkCgZBdmF0YXISCgoCaWQYASABKAkSCwoDdXJsGAIgASgJEkEKC2F2YXRhcl90eXBlGAMgASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQXZhdGFyVHlwZSIjCgZCdWJibGUSDAoEdGV4dBgBIAEoCRILCgN1cmwYAiABKAkixgEKCEJ1YmJsZVYyEgwKBHRleHQYASABKAkSCwoDdXJsGAIgASgJEkEKC2J1YmJsZV90eXBlGAMgASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQnViYmxlVHlwZRIVCg1leHBvc3VyZV9vbmNlGAQgASgIEkUKDWV4cG9zdXJlX3R5cGUYBSABKA4yLi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5FeHBvc3VyZVR5cGUiWwoGQnV0dG9uEgwKBHRleHQYASABKAkSQwoGYWN0aW9uGAIgASgOMjMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuVG9hc3RGdW5jdGlvblR5cGUiWAoOQnV6endvcmRDb25maWcSRgoIa2V5d29yZHMYASADKAsyNC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5CdXp6d29yZFNob3dDb25maWcieAoSQnV6endvcmRTaG93Q29uZmlnEgwKBG5hbWUYASABKAkSDgoGc2NoZW1hGAIgASgJEg4KBnNvdXJjZRgDIAEoBRIKCgJpZBgEIAEoAxITCgtidXp6d29yZF9pZBgFIAEoAxITCgtzY2hlbWFfdHlwZRgGIAEoBSJ7CghDaGVja0JveBIMCgR0ZXh0GAEgASgJEjwKBHR5cGUYAiABKA4yLi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5DaGVja2JveFR5cGUSFQoNZGVmYXVsdF92YWx1ZRgDIAEoCBIMCgRzaG93GAQgASgIIm8KCkNoZWNrQm94VjISDAoEdGV4dBgBIAEoCRI8CgR0eXBlGAIgASgOMi4uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQ2hlY2tib3hUeXBlEhUKDWRlZmF1bHRfdmFsdWUYAyABKAgiggIKC0NsaWNrQnV0dG9uEhUKDXBvcnRyYWl0X3RleHQYASADKAkSFgoObGFuZHNjYXBlX3RleHQYAiADKAkSGwoTcG9ydHJhaXRfdGV4dF9mb2N1cxgDIAMoCRIcChRsYW5kc2NhcGVfdGV4dF9mb2N1cxgEIAMoCRJBCgtyZW5kZXJfdHlwZRgFIAEoDjIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlJlbmRlclR5cGUSDAoEc2hvdxgGIAEoCBI4CgZidWJibGUYByABKAsyKC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5CdWJibGUiswIKDUNsaWNrQnV0dG9uVjISFQoNcG9ydHJhaXRfdGV4dBgBIAMoCRIWCg5sYW5kc2NhcGVfdGV4dBgCIAMoCRIbChNwb3J0cmFpdF90ZXh0X2ZvY3VzGAMgAygJEhwKFGxhbmRzY2FwZV90ZXh0X2ZvY3VzGAQgAygJEkEKC3JlbmRlcl90eXBlGAUgASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUmVuZGVyVHlwZRIXCg90ZXh0X2lucHV0X3Bvc3QYBiABKAgSFQoNZXhwb3N1cmVfb25jZRgHIAEoCBJFCg1leHBvc3VyZV90eXBlGAggASgOMi4uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRXhwb3N1cmVUeXBlIksKB0NvbW1hbmQSQAoLY29tbWFuZF9kbXMYASADKAsyKy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Db21tYW5kRG0i5gEKCUNvbW1hbmREbRIKCgJpZBgBIAEoAxILCgNvaWQYAiABKAMSCwoDbWlkGAMgASgDEg8KB2NvbW1hbmQYBCABKAkSDwoHY29udGVudBgFIAEoCRIQCghwcm9ncmVzcxgGIAEoBRINCgVjdGltZRgHIAEoCRINCgVtdGltZRgIIAEoCRINCgVleHRyYRgJIAEoCRINCgVpZFN0chgKIAEoCRIMCgR0eXBlGAsgASgFEhMKC2F1dG9fY3JlYXRlGAwgASgIEhIKCmNvdW50X2Rvd24YDSABKAUSDAoEYXR0chgOIAEoBSJQCg1EYW5tYWt1QUlGbGFnEj8KCGRtX2ZsYWdzGAEgAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubWFrdUZsYWciiwMKC0Rhbm1ha3VFbGVtEgoKAmlkGAEgASgDEhAKCHByb2dyZXNzGAIgASgFEgwKBG1vZGUYAyABKAUSEAoIZm9udHNpemUYBCABKAUSPwoFY29sb3IYBSABKA4yMC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbUNvbG9yZnVsVHlwZRIQCghtaWRfaGFzaBgGIAEoCRIPCgdjb250ZW50GAcgASgJEg0KBWN0aW1lGAggASgDEg4KBndlaWdodBgJIAEoBRIOCgZhY3Rpb24YCiABKAkSDAoEcG9vbBgLIAEoBRIOCgZpZF9zdHIYDCABKAkSDAoEYXR0chgNIAEoBRIRCglhbmltYXRpb24YFiABKAkSDQoFZXh0cmEYFyABKAkSQgoIY29sb3JmdWwYGCABKA4yMC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbUNvbG9yZnVsVHlwZRIMCgR0eXBlGBkgASgFEgsKA29pZBgaIAEoAyIpCgtEYW5tYWt1RmxhZxIMCgRkbWlkGAEgASgDEgwKBGZsYWcYAiABKAUiSwoRRGFubWFrdUZsYWdDb25maWcSEAoIcmVjX2ZsYWcYASABKAUSEAoIcmVjX3RleHQYAiABKAkSEgoKcmVjX3N3aXRjaBgDIAEoBSKLBwoYRGFubXVEZWZhdWx0UGxheWVyQ29uZmlnEikKIXBsYXllcl9kYW5tYWt1X3VzZV9kZWZhdWx0X2NvbmZpZxgBIAEoCBIsCiRwbGF5ZXJfZGFubWFrdV9haV9yZWNvbW1lbmRlZF9zd2l0Y2gYBCABKAgSKwojcGxheWVyX2Rhbm1ha3VfYWlfcmVjb21tZW5kZWRfbGV2ZWwYBSABKAUSHwoXcGxheWVyX2Rhbm1ha3VfYmxvY2t0b3AYBiABKAgSIgoacGxheWVyX2Rhbm1ha3VfYmxvY2tzY3JvbGwYByABKAgSIgoacGxheWVyX2Rhbm1ha3VfYmxvY2tib3R0b20YCCABKAgSJAoccGxheWVyX2Rhbm1ha3VfYmxvY2tjb2xvcmZ1bBgJIAEoCBIiChpwbGF5ZXJfZGFubWFrdV9ibG9ja3JlcGVhdBgKIAEoCBIjChtwbGF5ZXJfZGFubWFrdV9ibG9ja3NwZWNpYWwYCyABKAgSHgoWcGxheWVyX2Rhbm1ha3Vfb3BhY2l0eRgMIAEoAhIkChxwbGF5ZXJfZGFubWFrdV9zY2FsaW5nZmFjdG9yGA0gASgCEh0KFXBsYXllcl9kYW5tYWt1X2RvbWFpbhgOIAEoAhIcChRwbGF5ZXJfZGFubWFrdV9zcGVlZBgPIAEoBRIkChxpbmxpbmVfcGxheWVyX2Rhbm1ha3Vfc3dpdGNoGBAgASgIEikKIXBsYXllcl9kYW5tYWt1X3Nlbmlvcl9tb2RlX3N3aXRjaBgRIAEoBRIuCiZwbGF5ZXJfZGFubWFrdV9haV9yZWNvbW1lbmRlZF9sZXZlbF92MhgSIAEoBRKYAQoqcGxheWVyX2Rhbm1ha3VfYWlfcmVjb21tZW5kZWRfbGV2ZWxfdjJfbWFwGBMgAygLMmQuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVEZWZhdWx0UGxheWVyQ29uZmlnLlBsYXllckRhbm1ha3VBaVJlY29tbWVuZGVkTGV2ZWxWMk1hcEVudHJ5EiUKHXBsYXllcl9kYW5tYWt1X2VuYWJsZV9oZXJkX2RtGBQgASgIGksKKVBsYXllckRhbm1ha3VBaVJlY29tbWVuZGVkTGV2ZWxWMk1hcEVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoBToCOAEi7AkKEURhbm11UGxheWVyQ29uZmlnEh0KFXBsYXllcl9kYW5tYWt1X3N3aXRjaBgBIAEoCBIiChpwbGF5ZXJfZGFubWFrdV9zd2l0Y2hfc2F2ZRgCIAEoCBIpCiFwbGF5ZXJfZGFubWFrdV91c2VfZGVmYXVsdF9jb25maWcYAyABKAgSLAokcGxheWVyX2Rhbm1ha3VfYWlfcmVjb21tZW5kZWRfc3dpdGNoGAQgASgIEisKI3BsYXllcl9kYW5tYWt1X2FpX3JlY29tbWVuZGVkX2xldmVsGAUgASgFEh8KF3BsYXllcl9kYW5tYWt1X2Jsb2NrdG9wGAYgASgIEiIKGnBsYXllcl9kYW5tYWt1X2Jsb2Nrc2Nyb2xsGAcgASgIEiIKGnBsYXllcl9kYW5tYWt1X2Jsb2NrYm90dG9tGAggASgIEiQKHHBsYXllcl9kYW5tYWt1X2Jsb2NrY29sb3JmdWwYCSABKAgSIgoacGxheWVyX2Rhbm1ha3VfYmxvY2tyZXBlYXQYCiABKAgSIwobcGxheWVyX2Rhbm1ha3VfYmxvY2tzcGVjaWFsGAsgASgIEh4KFnBsYXllcl9kYW5tYWt1X29wYWNpdHkYDCABKAISJAoccGxheWVyX2Rhbm1ha3Vfc2NhbGluZ2ZhY3RvchgNIAEoAhIdChVwbGF5ZXJfZGFubWFrdV9kb21haW4YDiABKAISHAoUcGxheWVyX2Rhbm1ha3Vfc3BlZWQYDyABKAUSJgoecGxheWVyX2Rhbm1ha3VfZW5hYmxlYmxvY2tsaXN0GBAgASgIEiQKHGlubGluZV9wbGF5ZXJfZGFubWFrdV9zd2l0Y2gYESABKAgSJAocaW5saW5lX3BsYXllcl9kYW5tYWt1X2NvbmZpZxgSIAEoBRImCh5wbGF5ZXJfZGFubWFrdV9pb3Nfc3dpdGNoX3NhdmUYEyABKAUSKQohcGxheWVyX2Rhbm1ha3Vfc2VuaW9yX21vZGVfc3dpdGNoGBQgASgFEi4KJnBsYXllcl9kYW5tYWt1X2FpX3JlY29tbWVuZGVkX2xldmVsX3YyGBUgASgFEpEBCipwbGF5ZXJfZGFubWFrdV9haV9yZWNvbW1lbmRlZF9sZXZlbF92Ml9tYXAYFiADKAsyXS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tdVBsYXllckNvbmZpZy5QbGF5ZXJEYW5tYWt1QWlSZWNvbW1lbmRlZExldmVsVjJNYXBFbnRyeRIlCh1wbGF5ZXJfZGFubWFrdV9lbmFibGVfaGVyZF9kbRgXIAEoCBImCh5wbGF5ZXJfZGFubWFrdV9ibG9ja3RvcF9ib3R0b20YGCABKAgSIAoYcGxheWVyX2Rhbm1ha3VfZG9tYWluX3YyGBkgASgFEh4KFnBsYXllcl9kYW5tYWt1X2RlbnNpdHkYGiABKAUSJQodcGxheWVyX2Rhbm1ha3Vfc3VidGl0bGVfcHJvb2YYGyABKAgSIwobcGxheWVyX2Rhbm1ha3VfcGVvcGxlX3Byb29mGBwgASgIGksKKVBsYXllckRhbm1ha3VBaVJlY29tbWVuZGVkTGV2ZWxWMk1hcEVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoBToCOAEiMAoWRGFubXVQbGF5ZXJDb25maWdQYW5lbBIWCg5zZWxlY3Rpb25fdGV4dBgBIAEoCSJLChhEYW5tdVBsYXllckR5bmFtaWNDb25maWcSEAoIcHJvZ3Jlc3MYASABKAUSHQoVcGxheWVyX2Rhbm1ha3VfZG9tYWluGA4gASgCIpADChVEYW5tdVBsYXllclZpZXdDb25maWcSYQodZGFubXVrdV9kZWZhdWx0X3BsYXllcl9jb25maWcYASABKAsyOi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tdURlZmF1bHRQbGF5ZXJDb25maWcSUgoVZGFubXVrdV9wbGF5ZXJfY29uZmlnGAIgASgLMjMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVQbGF5ZXJDb25maWcSYQodZGFubXVrdV9wbGF5ZXJfZHluYW1pY19jb25maWcYAyADKAsyOi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tdVBsYXllckR5bmFtaWNDb25maWcSXQobZGFubXVrdV9wbGF5ZXJfY29uZmlnX3BhbmVsGAQgASgLMjguYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVQbGF5ZXJDb25maWdQYW5lbCKZBQoURGFubXVXZWJQbGF5ZXJDb25maWcSEQoJZG1fc3dpdGNoGAEgASgIEhEKCWFpX3N3aXRjaBgCIAEoCBIQCghhaV9sZXZlbBgDIAEoBRIQCghibG9ja3RvcBgEIAEoCBITCgtibG9ja3Njcm9sbBgFIAEoCBITCgtibG9ja2JvdHRvbRgGIAEoCBISCgpibG9ja2NvbG9yGAcgASgIEhQKDGJsb2Nrc3BlY2lhbBgIIAEoCBIUCgxwcmV2ZW50c2hhZGUYCSABKAgSDQoFZG1hc2sYCiABKAgSDwoHb3BhY2l0eRgLIAEoAhIOCgZkbWFyZWEYDCABKAUSEQoJc3BlZWRwbHVzGA0gASgCEhAKCGZvbnRzaXplGA4gASgCEhIKCnNjcmVlbnN5bmMYDyABKAgSEQoJc3BlZWRzeW5jGBAgASgIEhIKCmZvbnRmYW1pbHkYESABKAkSDAoEYm9sZBgSIAEoCBISCgpmb250Ym9yZGVyGBMgASgFEhEKCWRyYXdfdHlwZRgUIAEoCRIaChJzZW5pb3JfbW9kZV9zd2l0Y2gYFSABKAUSEwoLYWlfbGV2ZWxfdjIYFiABKAUSYQoPYWlfbGV2ZWxfdjJfbWFwGBcgAygLMkguYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVXZWJQbGF5ZXJDb25maWcuQWlMZXZlbFYyTWFwRW50cnkSFwoPYmxvY2t0b3BfYm90dG9tGBggASgIEhIKCmRtX2FyZWFfdjIYGSABKAUSEgoKZG1fZGVuc2l0eRgaIAEoBRozChFBaUxldmVsVjJNYXBFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUYAiABKAU6AjgBIlkKCkRtQ29sb3JmdWwSPgoEdHlwZRgBIAEoDjIwLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtQ29sb3JmdWxUeXBlEgsKA3NyYxgCIAEoCSJQCg9EbUV4cG9SZXBvcnRSZXESEgoKc2Vzc2lvbl9pZBgBIAEoCRILCgNvaWQYAiABKAMSDQoFZG1pZHMYAyABKAwSDQoFc3BtaWQYBCABKAkiEQoPRG1FeHBvUmVwb3J0UmVzIm0KCkRtSGVyZFZpZXcSGwoTZGlzcGxheV9oZXJkX2RtX251bRgBIAEoBRJCCghoZXJkX2RtcxgCIAMoCzIwLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlZpZXdIZXJkRG1FbGVtIpYCCgpEbU1hc2tXYWxsEg0KBXN0YXJ0GAEgASgDEgsKA2VuZBgCIAEoAxIPCgdjb250ZW50GAMgASgJEk0KDGNvbnRlbnRfdHlwZRgEIAEoDjI3LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtTWFza1dhbGxDb250ZW50VHlwZRJFCghiaXpfdHlwZRgFIAEoDjIzLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtTWFza1dhbGxCaXpUeXBlEkUKCGNvbnRlbnRzGAYgAygLMjMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1NYXNrV2FsbENvbnRlbnQiawoRRG1NYXNrV2FsbENvbnRlbnQSRQoEdHlwZRgBIAEoDjI3LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtTWFza1dhbGxDb250ZW50VHlwZRIPCgdjb250ZW50GAIgASgJIs0QChFEbVBsYXllckNvbmZpZ1JlcRIKCgJ0cxgBIAEoAxJFCgZzd2l0Y2gYAiABKAsyNS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1U3dpdGNoEk4KC3N3aXRjaF9zYXZlGAMgASgLMjkuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdVN3aXRjaFNhdmUSWwoSdXNlX2RlZmF1bHRfY29uZmlnGAQgASgLMj8uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdVVzZURlZmF1bHRDb25maWcSYQoVYWlfcmVjb21tZW5kZWRfc3dpdGNoGAUgASgLMkIuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUFpUmVjb21tZW5kZWRTd2l0Y2gSXwoUYWlfcmVjb21tZW5kZWRfbGV2ZWwYBiABKAsyQS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1QWlSZWNvbW1lbmRlZExldmVsEkkKCGJsb2NrdG9wGAcgASgLMjcuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUJsb2NrdG9wEk8KC2Jsb2Nrc2Nyb2xsGAggASgLMjouYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUJsb2Nrc2Nyb2xsEk8KC2Jsb2NrYm90dG9tGAkgASgLMjouYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUJsb2NrYm90dG9tElMKDWJsb2NrY29sb3JmdWwYCiABKAsyPC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1QmxvY2tjb2xvcmZ1bBJPCgtibG9ja3JlcGVhdBgLIAEoCzI6LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VCbG9ja3JlcGVhdBJRCgxibG9ja3NwZWNpYWwYDCABKAsyOy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1QmxvY2tzcGVjaWFsEkcKB29wYWNpdHkYDSABKAsyNi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1T3BhY2l0eRJTCg1zY2FsaW5nZmFjdG9yGA4gASgLMjwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdVNjYWxpbmdmYWN0b3ISRQoGZG9tYWluGA8gASgLMjUuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdURvbWFpbhJDCgVzcGVlZBgQIAEoCzI0LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VTcGVlZBJXCg9lbmFibGVibG9ja2xpc3QYESABKAsyPi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1RW5hYmxlYmxvY2tsaXN0El4KGWlubGluZVBsYXllckRhbm1ha3VTd2l0Y2gYEiABKAsyOy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5JbmxpbmVQbGF5ZXJEYW5tYWt1U3dpdGNoElsKEnNlbmlvcl9tb2RlX3N3aXRjaBgTIAEoCzI/LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VTZW5pb3JNb2RlU3dpdGNoEmQKF2FpX3JlY29tbWVuZGVkX2xldmVsX3YyGBQgASgLMkMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUFpUmVjb21tZW5kZWRMZXZlbFYyElMKDmVuYWJsZV9oZXJkX2RtGBUgASgLMjsuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUVuYWJsZUhlcmREbRJWCg9ibG9ja3RvcF9ib3R0b20YFiABKAsyPS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1QmxvY2t0b3BCb3R0b20SSgoJZG9tYWluX3YyGBcgASgLMjcuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdURvbWFpblYyEkcKB2RlbnNpdHkYGCABKAsyNi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1RGVuc2l0eRJUCg5zdWJ0aXRsZV9wcm9vZhgZIAEoCzI8LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VTdWJ0aXRsZVByb29mElAKDHBlb3BsZV9wcm9vZhgaIAEoCzI6LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VQZW9wbGVQcm9vZiIvCgtEbVNlZ0NvbmZpZxIRCglwYWdlX3NpemUYASABKAMSDQoFdG90YWwYAiABKAMikQIKEERtU2VnTW9iaWxlUmVwbHkSPAoFZWxlbXMYASADKAsyLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tYWt1RWxlbRINCgVzdGF0ZRgCIAEoBRJACgdhaV9mbGFnGAMgASgLMi8uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubWFrdUFJRmxhZxIVCg1zZWdtZW50X3J1bGVzGAQgAygDEkIKDGNvbG9yZnVsX3NyYxgFIAMoCzIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtQ29sb3JmdWwSEwoLY29udGV4dF9zcmMYBiABKAkiygEKDkRtU2VnTW9iaWxlUmVxEgsKA3BpZBgBIAEoAxILCgNvaWQYAiABKAMSDAoEdHlwZRgDIAEoBRIVCg1zZWdtZW50X2luZGV4GAQgASgDEhYKDnRlZW5hZ2Vyc19tb2RlGAUgASgFEgoKAnBzGAYgASgDEgoKAnBlGAcgASgDEhEKCXB1bGxfbW9kZRgIIAEoBRISCgpmcm9tX3NjZW5lGAkgASgFEg0KBXNwbWlkGAogASgJEhMKC2NvbnRleHRfZXh0GAsgASgJIlwKDURtU2VnT3R0UmVwbHkSPAoFZWxlbXMYASADKAsyLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tYWt1RWxlbRINCgVzdGF0ZRgCIAEoBSJMCgtEbVNlZ090dFJlcRILCgNwaWQYASABKAMSCwoDb2lkGAIgASgDEgwKBHR5cGUYAyABKAUSFQoNc2VnbWVudF9pbmRleBgEIAEoAyJdCg1EbVNlZ1NES1JlcGx5Eg4KBmNsb3NlZBgBIAEoCBI8CgVlbGVtcxgCIAMoCzItLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm1ha3VFbGVtIkwKC0RtU2VnU0RLUmVxEgsKA3BpZBgBIAEoAxILCgNvaWQYAiABKAMSDAoEdHlwZRgDIAEoBRIVCg1zZWdtZW50X2luZGV4GAQgASgDIncKCURtU3ViVmlldxIMCgR0eXBlGAEgASgFEgsKA29pZBgCIAEoAxILCgNwaWQYAyABKAMSQgoLcG9zdF9wYW5lbDIYBCADKAsyLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Qb3N0UGFuZWxWMiKhCQoLRG1WaWV3UmVwbHkSDgoGY2xvc2VkGAEgASgIEjkKBG1hc2sYAiABKAsyKy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5WaWRlb01hc2sSQQoIc3VidGl0bGUYAyABKAsyLy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5WaWRlb1N1YnRpdGxlEhMKC3NwZWNpYWxfZG1zGAQgAygJEkQKB2FpX2ZsYWcYBSABKAsyMy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tYWt1RmxhZ0NvbmZpZxJOCg1wbGF5ZXJfY29uZmlnGAYgASgLMjcuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVQbGF5ZXJWaWV3Q29uZmlnEhYKDnNlbmRfYm94X3N0eWxlGAcgASgFEg0KBWFsbG93GAggASgIEhEKCWNoZWNrX2JveBgJIAEoCBIaChJjaGVja19ib3hfc2hvd19tc2cYCiABKAkSGAoQdGV4dF9wbGFjZWhvbGRlchgLIAEoCRIZChFpbnB1dF9wbGFjZWhvbGRlchgMIAEoCRIdChVyZXBvcnRfZmlsdGVyX2NvbnRlbnQYDSADKAkSQQoLZXhwb19yZXBvcnQYDiABKAsyLC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5FeHBvUmVwb3J0EkkKD2J1enp3b3JkX2NvbmZpZxgPIAEoCzIwLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkJ1enp3b3JkQ29uZmlnEkIKC2V4cHJlc3Npb25zGBAgAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRXhwcmVzc2lvbnMSPwoKcG9zdF9wYW5lbBgRIAMoCzIrLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBvc3RQYW5lbBIVCg1hY3Rpdml0eV9tZXRhGBIgAygJEkIKC3Bvc3RfcGFuZWwyGBMgAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUG9zdFBhbmVsVjISQgoMZG1fbWFza193YWxsGBQgAygLMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1NYXNrV2FsbBI9CgdkbV9oZXJkGBUgASgLMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1IZXJkVmlldxI6Cgdjb21tYW5kGBYgASgLMikuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQ29tbWFuZBIKCgJrdhgXIAEoCRI+CglzdWJfdmlld3MYGCADKAsyKy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVN1YlZpZXcSNgoDcW9lGBkgASgLMikuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUW9lSW5mbyJtCglEbVZpZXdSZXESCwoDcGlkGAEgASgDEgsKA29pZBgCIAEoAxIMCgR0eXBlGAMgASgFEg0KBXNwbWlkGAQgASgJEhQKDGlzX2hhcmRfYm9vdBgFIAEoBRITCgtjb250ZXh0X2V4dBgGIAEoCSKBBgoORG1XZWJWaWV3UmVwbHkSDQoFc3RhdGUYASABKAUSDAoEdGV4dBgCIAEoCRIRCgl0ZXh0X3NpZGUYAyABKAkSPQoGZG1fc2dlGAQgASgLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1TZWdDb25maWcSQQoEZmxhZxgFIAEoCzIzLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm1ha3VGbGFnQ29uZmlnEhMKC3NwZWNpYWxfZG1zGAYgAygJEhEKCWNoZWNrX2JveBgHIAEoCBINCgVjb3VudBgIIAEoAxJACgtjb21tYW5kX2RtcxgJIAMoCzIrLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkNvbW1hbmREbRJNCg1wbGF5ZXJfY29uZmlnGAogASgLMjYuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVXZWJQbGF5ZXJDb25maWcSHQoVcmVwb3J0X2ZpbHRlcl9jb250ZW50GAsgAygJEkIKC2V4cHJlc3Npb25zGAwgAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRXhwcmVzc2lvbnMSPwoKcG9zdF9wYW5lbBgNIAMoCzIrLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBvc3RQYW5lbBIVCg1hY3Rpdml0eV9tZXRhGA4gAygJEkIKC3Bvc3RfcGFuZWwyGA8gAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUG9zdFBhbmVsVjISPgoJc3ViX3ZpZXdzGBAgAygLMisuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1TdWJWaWV3EjYKA3FvZRgRIAEoCzIpLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlFvZUluZm8iKgoKRXhwb1JlcG9ydBIcChRzaG91bGRfcmVwb3J0X2F0X2VuZBgBIAEoCCJkCgpFeHByZXNzaW9uEg8KB2tleXdvcmQYASADKAkSCwoDdXJsGAIgASgJEjgKBnBlcmlvZBgDIAMoCzIoLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBlcmlvZCJJCgtFeHByZXNzaW9ucxI6CgRkYXRhGAEgAygLMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRXhwcmVzc2lvbiIqChlJbmxpbmVQbGF5ZXJEYW5tYWt1U3dpdGNoEg0KBXZhbHVlGAEgASgIIicKBUxhYmVsEg0KBXRpdGxlGAEgASgJEg8KB2NvbnRlbnQYAiADKAkihwEKB0xhYmVsVjISDQoFdGl0bGUYASABKAkSDwoHY29udGVudBgCIAMoCRIVCg1leHBvc3VyZV9vbmNlGAMgASgIEkUKDWV4cG9zdXJlX3R5cGUYBCABKA4yLi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5FeHBvc3VyZVR5cGUiJAoGUGVyaW9kEg0KBXN0YXJ0GAEgASgDEgsKA2VuZBgCIAEoAyIwCh9QbGF5ZXJEYW5tYWt1QWlSZWNvbW1lbmRlZExldmVsEg0KBXZhbHVlGAEgASgFIjIKIVBsYXllckRhbm1ha3VBaVJlY29tbWVuZGVkTGV2ZWxWMhINCgV2YWx1ZRgBIAEoBSIxCiBQbGF5ZXJEYW5tYWt1QWlSZWNvbW1lbmRlZFN3aXRjaBINCgV2YWx1ZRgBIAEoCCIpChhQbGF5ZXJEYW5tYWt1QmxvY2tib3R0b20SDQoFdmFsdWUYASABKAgiKwoaUGxheWVyRGFubWFrdUJsb2NrY29sb3JmdWwSDQoFdmFsdWUYASABKAgiKQoYUGxheWVyRGFubWFrdUJsb2NrcmVwZWF0Eg0KBXZhbHVlGAEgASgIIikKGFBsYXllckRhbm1ha3VCbG9ja3Njcm9sbBINCgV2YWx1ZRgBIAEoCCIqChlQbGF5ZXJEYW5tYWt1QmxvY2tzcGVjaWFsEg0KBXZhbHVlGAEgASgIIiYKFVBsYXllckRhbm1ha3VCbG9ja3RvcBINCgV2YWx1ZRgBIAEoCCIsChtQbGF5ZXJEYW5tYWt1QmxvY2t0b3BCb3R0b20SDQoFdmFsdWUYASABKAgiJQoUUGxheWVyRGFubWFrdURlbnNpdHkSDQoFdmFsdWUYASABKAUiJAoTUGxheWVyRGFubWFrdURvbWFpbhINCgV2YWx1ZRgBIAEoAiImChVQbGF5ZXJEYW5tYWt1RG9tYWluVjISDQoFdmFsdWUYASABKAUiKgoZUGxheWVyRGFubWFrdUVuYWJsZUhlcmREbRINCgV2YWx1ZRgBIAEoCCItChxQbGF5ZXJEYW5tYWt1RW5hYmxlYmxvY2tsaXN0Eg0KBXZhbHVlGAEgASgIIiUKFFBsYXllckRhbm1ha3VPcGFjaXR5Eg0KBXZhbHVlGAEgASgCIikKGFBsYXllckRhbm1ha3VQZW9wbGVQcm9vZhINCgV2YWx1ZRgBIAEoCCIrChpQbGF5ZXJEYW5tYWt1U2NhbGluZ2ZhY3RvchINCgV2YWx1ZRgBIAEoAiIuCh1QbGF5ZXJEYW5tYWt1U2VuaW9yTW9kZVN3aXRjaBINCgV2YWx1ZRgBIAEoBSIjChJQbGF5ZXJEYW5tYWt1U3BlZWQSDQoFdmFsdWUYASABKAUiKwoaUGxheWVyRGFubWFrdVN1YnRpdGxlUHJvb2YSDQoFdmFsdWUYASABKAgiOAoTUGxheWVyRGFubWFrdVN3aXRjaBINCgV2YWx1ZRgBIAEoCBISCgpjYW5faWdub3JlGAIgASgIIigKF1BsYXllckRhbm1ha3VTd2l0Y2hTYXZlEg0KBXZhbHVlGAEgASgIIi4KHVBsYXllckRhbm1ha3VVc2VEZWZhdWx0Q29uZmlnEg0KBXZhbHVlGAEgASgIIowDCglQb3N0UGFuZWwSDQoFc3RhcnQYASABKAMSCwoDZW5kGAIgASgDEhAKCHByaW9yaXR5GAMgASgDEg4KBmJpel9pZBgEIAEoAxJECghiaXpfdHlwZRgFIAEoDjIyLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBvc3RQYW5lbEJpelR5cGUSQwoMY2xpY2tfYnV0dG9uGAYgASgLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQ2xpY2tCdXR0b24SPwoKdGV4dF9pbnB1dBgHIAEoCzIrLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlRleHRJbnB1dBI9CgljaGVja19ib3gYCCABKAsyKi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5DaGVja0JveBI2CgV0b2FzdBgJIAEoCzInLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlRvYXN0Iq0ECgtQb3N0UGFuZWxWMhINCgVzdGFydBgBIAEoAxILCgNlbmQYAiABKAMSRAoIYml6X3R5cGUYAyABKA4yMi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Qb3N0UGFuZWxCaXpUeXBlEkUKDGNsaWNrX2J1dHRvbhgEIAEoCzIvLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkNsaWNrQnV0dG9uVjISQQoKdGV4dF9pbnB1dBgFIAEoCzItLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlRleHRJbnB1dFYyEj8KCWNoZWNrX2JveBgGIAEoCzIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkNoZWNrQm94VjISOAoFdG9hc3QYByABKAsyKS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Ub2FzdFYyEjoKBmJ1YmJsZRgIIAEoCzIqLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkJ1YmJsZVYyEjgKBWxhYmVsGAkgASgLMikuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuTGFiZWxWMhJBCgtwb3N0X3N0YXR1cxgKIAEoDjIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBvc3RTdGF0dXMiFwoHUW9lSW5mbxIMCgRpbmZvGAEgASgJIikKCFJlc3BvbnNlEgwKBGNvZGUYASABKAUSDwoHbWVzc2FnZRgCIAEoCSL5AgoMU3VidGl0bGVJdGVtEgoKAmlkGAEgASgDEg4KBmlkX3N0chgCIAEoCRILCgNsYW4YAyABKAkSDwoHbGFuX2RvYxgEIAEoCRIUCgxzdWJ0aXRsZV91cmwYBSABKAkSOgoGYXV0aG9yGAYgASgLMiouYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuVXNlckluZm8SPAoEdHlwZRgHIAEoDjIuLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlN1YnRpdGxlVHlwZRIVCg1sYW5fZG9jX2JyaWVmGAggASgJEkEKB2FpX3R5cGUYCSABKA4yMC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5TdWJ0aXRsZUFpVHlwZRJFCglhaV9zdGF0dXMYCiABKA4yMi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5TdWJ0aXRsZUFpU3RhdHVzIugCCglUZXh0SW5wdXQSHAoUcG9ydHJhaXRfcGxhY2Vob2xkZXIYASADKAkSHQoVbGFuZHNjYXBlX3BsYWNlaG9sZGVyGAIgAygJEkEKC3JlbmRlcl90eXBlGAMgASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUmVuZGVyVHlwZRIYChBwbGFjZWhvbGRlcl9wb3N0GAQgASgIEgwKBHNob3cYBSABKAgSOAoGYXZhdGFyGAYgAygLMiguYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQXZhdGFyEkEKC3Bvc3Rfc3RhdHVzGAcgASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUG9zdFN0YXR1cxI2CgVsYWJlbBgIIAEoCzInLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkxhYmVsIvsBCgtUZXh0SW5wdXRWMhIcChRwb3J0cmFpdF9wbGFjZWhvbGRlchgBIAMoCRIdChVsYW5kc2NhcGVfcGxhY2Vob2xkZXIYAiADKAkSQQoLcmVuZGVyX3R5cGUYAyABKA4yLC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5SZW5kZXJUeXBlEhgKEHBsYWNlaG9sZGVyX3Bvc3QYBCABKAgSOAoGYXZhdGFyGAUgAygLMiguYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQXZhdGFyEhgKEHRleHRfaW5wdXRfbGltaXQYBiABKAUibwoFVG9hc3QSDAoEdGV4dBgBIAEoCRIQCghkdXJhdGlvbhgCIAEoBRIMCgRzaG93GAMgASgIEjgKBmJ1dHRvbhgEIAEoCzIoLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkJ1dHRvbiJiCg1Ub2FzdEJ1dHRvblYyEgwKBHRleHQYASABKAkSQwoGYWN0aW9uGAIgASgOMjMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuVG9hc3RGdW5jdGlvblR5cGUicwoHVG9hc3RWMhIMCgR0ZXh0GAEgASgJEhAKCGR1cmF0aW9uGAIgASgFEkgKD3RvYXN0X2J1dHRvbl92MhgDIAEoCzIvLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlRvYXN0QnV0dG9uVjIiXAoIVXNlckluZm8SCwoDbWlkGAEgASgDEgwKBG5hbWUYAiABKAkSCwoDc2V4GAMgASgJEgwKBGZhY2UYBCABKAkSDAoEc2lnbhgFIAEoCRIMCgRyYW5rGAYgASgFIlMKCVZpZGVvTWFzaxILCgNjaWQYASABKAMSDAoEcGxhdBgCIAEoBRILCgNmcHMYAyABKAUSDAoEdGltZRgEIAEoAxIQCghtYXNrX3VybBgFIAEoCSJwCg1WaWRlb1N1YnRpdGxlEgsKA2xhbhgBIAEoCRIPCgdsYW5fZG9jGAIgASgJEkEKCXN1YnRpdGxlcxgDIAMoCzIuLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlN1YnRpdGxlSXRlbSKSAQoOVmlld0hlcmREbUVsZW0SEAoIaGVyZF9tc2cYASABKAkSFgoOaGVyZF9zdGFydF9jbnQYAiABKAUSFAoMaGVyZF9lbmRfY250GAMgASgFEhIKCnJlZ2V4X3J1bGUYBCABKAkSFgoOc3RhcnRfcHJvZ3Jlc3MYBSABKAUSFAoMZW5kX3Byb2dyZXNzGAYgASgFKjMKCkF2YXRhclR5cGUSEgoOQXZhdGFyVHlwZU5vbmUQABIRCg1BdmF0YXJUeXBlTkZUEAEqWQoKQnViYmxlVHlwZRISCg5CdWJibGVUeXBlTm9uZRAAEhkKFUJ1YmJsZVR5cGVDbGlja0J1dHRvbhABEhwKGEJ1YmJsZVR5cGVEbVNldHRpbmdQYW5lbBACKlgKDENoZWNrYm94VHlwZRIUChBDaGVja2JveFR5cGVOb25lEAASGQoVQ2hlY2tib3hUeXBlRW5jb3VyYWdlEAESFwoTQ2hlY2tib3hUeXBlQ29sb3JETRACKjUKDkRtQ29sb3JmdWxUeXBlEgwKCE5vbmVUeXBlEAASFQoPVmlwR3JhZHVhbENvbG9yEOHUAypgChFEbU1hc2tXYWxsQml6VHlwZRILCgdVbmtub3duEAASBwoDT0dWEAESCgoGQml6UGljEAISCAoETXV0ZRADEgoKBlJlY29yZBAEEgkKBUNsb3VkEAUSCAoEQUlHQxAGKnYKFURtTWFza1dhbGxDb250ZW50VHlwZRIgChxEbU1hc2tXYWxsQ29udGVudFR5cGVVbmtub3duEAASHQoZRG1NYXNrV2FsbENvbnRlbnRUeXBlVGV4dBABEhwKGERtTWFza1dhbGxDb250ZW50VHlwZVBpYxACKjwKDEV4cG9zdXJlVHlwZRIUChBFeHBvc3VyZVR5cGVOb25lEAASFgoSRXhwb3N1cmVUeXBlRE1TZW5kEAEqgwIKEFBvc3RQYW5lbEJpelR5cGUSGAoUUG9zdFBhbmVsQml6VHlwZU5vbmUQABIdChlQb3N0UGFuZWxCaXpUeXBlRW5jb3VyYWdlEAESGwoXUG9zdFBhbmVsQml6VHlwZUNvbG9yRE0QAhIZChVQb3N0UGFuZWxCaXpUeXBlTkZURE0QAxIdChlQb3N0UGFuZWxCaXpUeXBlRnJhZ0Nsb3NlEAQSHQoZUG9zdFBhbmVsQml6VHlwZVJlY29tbWVuZBAFEhwKGFBvc3RQYW5lbEJpelR5cGVQbG90TGVhaxAGEiIKHlBvc3RQYW5lbEJpelR5cGVBbnRpSGFyYXNzbWVudBAHKjgKClBvc3RTdGF0dXMSFAoQUG9zdFN0YXR1c05vcm1hbBAAEhQKEFBvc3RTdGF0dXNDbG9zZWQQASpOCgpSZW5kZXJUeXBlEhIKDlJlbmRlclR5cGVOb25lEAASFAoQUmVuZGVyVHlwZVNpbmdsZRABEhYKElJlbmRlclR5cGVSb3RhdGlvbhACKjYKEFN1YnRpdGxlQWlTdGF0dXMSCAoETm9uZRAAEgwKCEV4cG9zdXJlEAESCgoGQXNzaXN0EAIqKwoOU3VidGl0bGVBaVR5cGUSCgoGTm9ybWFsEAASDQoJVHJhbnNsYXRlEAEqHgoMU3VidGl0bGVUeXBlEgYKAkNDEAASBgoCQUkQASpOChFUb2FzdEZ1bmN0aW9uVHlwZRIZChVUb2FzdEZ1bmN0aW9uVHlwZU5vbmUQABIeChpUb2FzdEZ1bmN0aW9uVHlwZVBvc3RQYW5lbBABMqAFCgJETRJzCgtEbVNlZ01vYmlsZRIwLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtU2VnTW9iaWxlUmVxGjIuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1TZWdNb2JpbGVSZXBseRJkCgZEbVZpZXcSKy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVZpZXdSZXEaLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVZpZXdSZXBseRJxCg5EbVBsYXllckNvbmZpZxIzLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtUGxheWVyQ29uZmlnUmVxGiouYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUmVzcG9uc2USagoIRG1TZWdPdHQSLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVNlZ090dFJlcRovLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtU2VnT3R0UmVwbHkSagoIRG1TZWdTREsSLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVNlZ1NES1JlcRovLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtU2VnU0RLUmVwbHkSdAoMRG1FeHBvUmVwb3J0EjEuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1FeHBvUmVwb3J0UmVxGjEuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1FeHBvUmVwb3J0UmVzYgZwcm90bzM");
1294
- const DmSegMobileReplySchema = /*@__PURE__*/ codegenv2_messageDesc(file_bili_dm, 30);
1295
- const DmWebViewReplySchema = /*@__PURE__*/ codegenv2_messageDesc(file_bili_dm, 39);
1296
- const file_danuni = /*@__PURE__*/ fileDesc("CgxkYW51bmkucHJvdG8SEWRhbnVuaS5kYW5tYWt1LnYxIjIKCmxpc3REYW5SZXESCgoCSUQYASABKAkSEAoDc2VnGAIgASgFSACIAQFCBgoEX3NlZyLUAgoHRGFubWFrdRIMCgRTT0lEGAEgASgJEgwKBERNSUQYAiABKAkSEAoIcHJvZ3Jlc3MYAyABKAUSJQoEbW9kZRgEIAEoDjIXLmRhbnVuaS5kYW5tYWt1LnYxLk1vZGUSEAoIZm9udHNpemUYBSABKAUSDQoFY29sb3IYBiABKAUSEAoIc2VuZGVySUQYByABKAkSDwoHY29udGVudBgIIAEoCRIpCgVjdGltZRgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGd2VpZ2h0GAogASgFEiUKBHBvb2wYCyABKA4yFy5kYW51bmkuZGFubWFrdS52MS5Qb29sEgwKBGF0dHIYDCADKAkSFQoIcGxhdGZvcm0YDSABKAlIAIgBARISCgVleHRyYRgOIAEoCUgBiAEBQgsKCV9wbGF0Zm9ybUIICgZfZXh0cmEiPAoMRGFubWFrdVJlcGx5EiwKCGRhbm1ha3VzGAEgAygLMhouZGFudW5pLmRhbm1ha3UudjEuRGFubWFrdSo9CgRNb2RlEgoKBk5vcm1hbBAAEgoKBkJvdHRvbRABEgcKA1RvcBACEgsKB1JldmVyc2UQAxIHCgNFeHQQBCopCgRQb29sEgcKA0RlZhAAEgcKA1N1YhABEgcKA0FkdhACEgYKAkl4EAMyXQoORGFubWFrdVNlcnZpY2USSwoHbGlzdERhbhIdLmRhbnVuaS5kYW5tYWt1LnYxLmxpc3REYW5SZXEaHy5kYW51bmkuZGFubWFrdS52MS5EYW5tYWt1UmVwbHkiAFAAYgZwcm90bzM", [
1293
+ const file_bilibili_community_service_dm_v1_dm = /*@__PURE__*/ fileDesc("CiliaWxpYmlsaS9jb21tdW5pdHkvc2VydmljZS9kbS92MS9kbS5wcm90bxIgYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEiZAoGQXZhdGFyEgoKAmlkGAEgASgJEgsKA3VybBgCIAEoCRJBCgthdmF0YXJfdHlwZRgDIAEoDjIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkF2YXRhclR5cGUiIwoGQnViYmxlEgwKBHRleHQYASABKAkSCwoDdXJsGAIgASgJIsYBCghCdWJibGVWMhIMCgR0ZXh0GAEgASgJEgsKA3VybBgCIAEoCRJBCgtidWJibGVfdHlwZRgDIAEoDjIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkJ1YmJsZVR5cGUSFQoNZXhwb3N1cmVfb25jZRgEIAEoCBJFCg1leHBvc3VyZV90eXBlGAUgASgOMi4uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRXhwb3N1cmVUeXBlIlsKBkJ1dHRvbhIMCgR0ZXh0GAEgASgJEkMKBmFjdGlvbhgCIAEoDjIzLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlRvYXN0RnVuY3Rpb25UeXBlIlgKDkJ1enp3b3JkQ29uZmlnEkYKCGtleXdvcmRzGAEgAygLMjQuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQnV6endvcmRTaG93Q29uZmlnIngKEkJ1enp3b3JkU2hvd0NvbmZpZxIMCgRuYW1lGAEgASgJEg4KBnNjaGVtYRgCIAEoCRIOCgZzb3VyY2UYAyABKAUSCgoCaWQYBCABKAMSEwoLYnV6endvcmRfaWQYBSABKAMSEwoLc2NoZW1hX3R5cGUYBiABKAUiewoIQ2hlY2tCb3gSDAoEdGV4dBgBIAEoCRI8CgR0eXBlGAIgASgOMi4uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQ2hlY2tib3hUeXBlEhUKDWRlZmF1bHRfdmFsdWUYAyABKAgSDAoEc2hvdxgEIAEoCCJvCgpDaGVja0JveFYyEgwKBHRleHQYASABKAkSPAoEdHlwZRgCIAEoDjIuLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkNoZWNrYm94VHlwZRIVCg1kZWZhdWx0X3ZhbHVlGAMgASgIIoICCgtDbGlja0J1dHRvbhIVCg1wb3J0cmFpdF90ZXh0GAEgAygJEhYKDmxhbmRzY2FwZV90ZXh0GAIgAygJEhsKE3BvcnRyYWl0X3RleHRfZm9jdXMYAyADKAkSHAoUbGFuZHNjYXBlX3RleHRfZm9jdXMYBCADKAkSQQoLcmVuZGVyX3R5cGUYBSABKA4yLC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5SZW5kZXJUeXBlEgwKBHNob3cYBiABKAgSOAoGYnViYmxlGAcgASgLMiguYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQnViYmxlIrMCCg1DbGlja0J1dHRvblYyEhUKDXBvcnRyYWl0X3RleHQYASADKAkSFgoObGFuZHNjYXBlX3RleHQYAiADKAkSGwoTcG9ydHJhaXRfdGV4dF9mb2N1cxgDIAMoCRIcChRsYW5kc2NhcGVfdGV4dF9mb2N1cxgEIAMoCRJBCgtyZW5kZXJfdHlwZRgFIAEoDjIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlJlbmRlclR5cGUSFwoPdGV4dF9pbnB1dF9wb3N0GAYgASgIEhUKDWV4cG9zdXJlX29uY2UYByABKAgSRQoNZXhwb3N1cmVfdHlwZRgIIAEoDjIuLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkV4cG9zdXJlVHlwZSJLCgdDb21tYW5kEkAKC2NvbW1hbmRfZG1zGAEgAygLMisuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQ29tbWFuZERtIuYBCglDb21tYW5kRG0SCgoCaWQYASABKAMSCwoDb2lkGAIgASgDEgsKA21pZBgDIAEoAxIPCgdjb21tYW5kGAQgASgJEg8KB2NvbnRlbnQYBSABKAkSEAoIcHJvZ3Jlc3MYBiABKAUSDQoFY3RpbWUYByABKAkSDQoFbXRpbWUYCCABKAkSDQoFZXh0cmEYCSABKAkSDQoFaWRTdHIYCiABKAkSDAoEdHlwZRgLIAEoBRITCgthdXRvX2NyZWF0ZRgMIAEoCBISCgpjb3VudF9kb3duGA0gASgFEgwKBGF0dHIYDiABKAUiUAoNRGFubWFrdUFJRmxhZxI/CghkbV9mbGFncxgBIAMoCzItLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm1ha3VGbGFnIosDCgtEYW5tYWt1RWxlbRIKCgJpZBgBIAEoAxIQCghwcm9ncmVzcxgCIAEoBRIMCgRtb2RlGAMgASgFEhAKCGZvbnRzaXplGAQgASgFEj8KBWNvbG9yGAUgASgOMjAuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1Db2xvcmZ1bFR5cGUSEAoIbWlkX2hhc2gYBiABKAkSDwoHY29udGVudBgHIAEoCRINCgVjdGltZRgIIAEoAxIOCgZ3ZWlnaHQYCSABKAUSDgoGYWN0aW9uGAogASgJEgwKBHBvb2wYCyABKAUSDgoGaWRfc3RyGAwgASgJEgwKBGF0dHIYDSABKAUSEQoJYW5pbWF0aW9uGBYgASgJEg0KBWV4dHJhGBcgASgJEkIKCGNvbG9yZnVsGBggASgOMjAuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1Db2xvcmZ1bFR5cGUSDAoEdHlwZRgZIAEoBRILCgNvaWQYGiABKAMiKQoLRGFubWFrdUZsYWcSDAoEZG1pZBgBIAEoAxIMCgRmbGFnGAIgASgFIksKEURhbm1ha3VGbGFnQ29uZmlnEhAKCHJlY19mbGFnGAEgASgFEhAKCHJlY190ZXh0GAIgASgJEhIKCnJlY19zd2l0Y2gYAyABKAUiiwcKGERhbm11RGVmYXVsdFBsYXllckNvbmZpZxIpCiFwbGF5ZXJfZGFubWFrdV91c2VfZGVmYXVsdF9jb25maWcYASABKAgSLAokcGxheWVyX2Rhbm1ha3VfYWlfcmVjb21tZW5kZWRfc3dpdGNoGAQgASgIEisKI3BsYXllcl9kYW5tYWt1X2FpX3JlY29tbWVuZGVkX2xldmVsGAUgASgFEh8KF3BsYXllcl9kYW5tYWt1X2Jsb2NrdG9wGAYgASgIEiIKGnBsYXllcl9kYW5tYWt1X2Jsb2Nrc2Nyb2xsGAcgASgIEiIKGnBsYXllcl9kYW5tYWt1X2Jsb2NrYm90dG9tGAggASgIEiQKHHBsYXllcl9kYW5tYWt1X2Jsb2NrY29sb3JmdWwYCSABKAgSIgoacGxheWVyX2Rhbm1ha3VfYmxvY2tyZXBlYXQYCiABKAgSIwobcGxheWVyX2Rhbm1ha3VfYmxvY2tzcGVjaWFsGAsgASgIEh4KFnBsYXllcl9kYW5tYWt1X29wYWNpdHkYDCABKAISJAoccGxheWVyX2Rhbm1ha3Vfc2NhbGluZ2ZhY3RvchgNIAEoAhIdChVwbGF5ZXJfZGFubWFrdV9kb21haW4YDiABKAISHAoUcGxheWVyX2Rhbm1ha3Vfc3BlZWQYDyABKAUSJAocaW5saW5lX3BsYXllcl9kYW5tYWt1X3N3aXRjaBgQIAEoCBIpCiFwbGF5ZXJfZGFubWFrdV9zZW5pb3JfbW9kZV9zd2l0Y2gYESABKAUSLgomcGxheWVyX2Rhbm1ha3VfYWlfcmVjb21tZW5kZWRfbGV2ZWxfdjIYEiABKAUSmAEKKnBsYXllcl9kYW5tYWt1X2FpX3JlY29tbWVuZGVkX2xldmVsX3YyX21hcBgTIAMoCzJkLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm11RGVmYXVsdFBsYXllckNvbmZpZy5QbGF5ZXJEYW5tYWt1QWlSZWNvbW1lbmRlZExldmVsVjJNYXBFbnRyeRIlCh1wbGF5ZXJfZGFubWFrdV9lbmFibGVfaGVyZF9kbRgUIAEoCBpLCilQbGF5ZXJEYW5tYWt1QWlSZWNvbW1lbmRlZExldmVsVjJNYXBFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUYAiABKAU6AjgBIuwJChFEYW5tdVBsYXllckNvbmZpZxIdChVwbGF5ZXJfZGFubWFrdV9zd2l0Y2gYASABKAgSIgoacGxheWVyX2Rhbm1ha3Vfc3dpdGNoX3NhdmUYAiABKAgSKQohcGxheWVyX2Rhbm1ha3VfdXNlX2RlZmF1bHRfY29uZmlnGAMgASgIEiwKJHBsYXllcl9kYW5tYWt1X2FpX3JlY29tbWVuZGVkX3N3aXRjaBgEIAEoCBIrCiNwbGF5ZXJfZGFubWFrdV9haV9yZWNvbW1lbmRlZF9sZXZlbBgFIAEoBRIfChdwbGF5ZXJfZGFubWFrdV9ibG9ja3RvcBgGIAEoCBIiChpwbGF5ZXJfZGFubWFrdV9ibG9ja3Njcm9sbBgHIAEoCBIiChpwbGF5ZXJfZGFubWFrdV9ibG9ja2JvdHRvbRgIIAEoCBIkChxwbGF5ZXJfZGFubWFrdV9ibG9ja2NvbG9yZnVsGAkgASgIEiIKGnBsYXllcl9kYW5tYWt1X2Jsb2NrcmVwZWF0GAogASgIEiMKG3BsYXllcl9kYW5tYWt1X2Jsb2Nrc3BlY2lhbBgLIAEoCBIeChZwbGF5ZXJfZGFubWFrdV9vcGFjaXR5GAwgASgCEiQKHHBsYXllcl9kYW5tYWt1X3NjYWxpbmdmYWN0b3IYDSABKAISHQoVcGxheWVyX2Rhbm1ha3VfZG9tYWluGA4gASgCEhwKFHBsYXllcl9kYW5tYWt1X3NwZWVkGA8gASgFEiYKHnBsYXllcl9kYW5tYWt1X2VuYWJsZWJsb2NrbGlzdBgQIAEoCBIkChxpbmxpbmVfcGxheWVyX2Rhbm1ha3Vfc3dpdGNoGBEgASgIEiQKHGlubGluZV9wbGF5ZXJfZGFubWFrdV9jb25maWcYEiABKAUSJgoecGxheWVyX2Rhbm1ha3VfaW9zX3N3aXRjaF9zYXZlGBMgASgFEikKIXBsYXllcl9kYW5tYWt1X3Nlbmlvcl9tb2RlX3N3aXRjaBgUIAEoBRIuCiZwbGF5ZXJfZGFubWFrdV9haV9yZWNvbW1lbmRlZF9sZXZlbF92MhgVIAEoBRKRAQoqcGxheWVyX2Rhbm1ha3VfYWlfcmVjb21tZW5kZWRfbGV2ZWxfdjJfbWFwGBYgAygLMl0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVQbGF5ZXJDb25maWcuUGxheWVyRGFubWFrdUFpUmVjb21tZW5kZWRMZXZlbFYyTWFwRW50cnkSJQodcGxheWVyX2Rhbm1ha3VfZW5hYmxlX2hlcmRfZG0YFyABKAgSJgoecGxheWVyX2Rhbm1ha3VfYmxvY2t0b3BfYm90dG9tGBggASgIEiAKGHBsYXllcl9kYW5tYWt1X2RvbWFpbl92MhgZIAEoBRIeChZwbGF5ZXJfZGFubWFrdV9kZW5zaXR5GBogASgFEiUKHXBsYXllcl9kYW5tYWt1X3N1YnRpdGxlX3Byb29mGBsgASgIEiMKG3BsYXllcl9kYW5tYWt1X3Blb3BsZV9wcm9vZhgcIAEoCBpLCilQbGF5ZXJEYW5tYWt1QWlSZWNvbW1lbmRlZExldmVsVjJNYXBFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUYAiABKAU6AjgBIjAKFkRhbm11UGxheWVyQ29uZmlnUGFuZWwSFgoOc2VsZWN0aW9uX3RleHQYASABKAkiSwoYRGFubXVQbGF5ZXJEeW5hbWljQ29uZmlnEhAKCHByb2dyZXNzGAEgASgFEh0KFXBsYXllcl9kYW5tYWt1X2RvbWFpbhgOIAEoAiKQAwoVRGFubXVQbGF5ZXJWaWV3Q29uZmlnEmEKHWRhbm11a3VfZGVmYXVsdF9wbGF5ZXJfY29uZmlnGAEgASgLMjouYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVEZWZhdWx0UGxheWVyQ29uZmlnElIKFWRhbm11a3VfcGxheWVyX2NvbmZpZxgCIAEoCzIzLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm11UGxheWVyQ29uZmlnEmEKHWRhbm11a3VfcGxheWVyX2R5bmFtaWNfY29uZmlnGAMgAygLMjouYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVQbGF5ZXJEeW5hbWljQ29uZmlnEl0KG2Rhbm11a3VfcGxheWVyX2NvbmZpZ19wYW5lbBgEIAEoCzI4LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm11UGxheWVyQ29uZmlnUGFuZWwimQUKFERhbm11V2ViUGxheWVyQ29uZmlnEhEKCWRtX3N3aXRjaBgBIAEoCBIRCglhaV9zd2l0Y2gYAiABKAgSEAoIYWlfbGV2ZWwYAyABKAUSEAoIYmxvY2t0b3AYBCABKAgSEwoLYmxvY2tzY3JvbGwYBSABKAgSEwoLYmxvY2tib3R0b20YBiABKAgSEgoKYmxvY2tjb2xvchgHIAEoCBIUCgxibG9ja3NwZWNpYWwYCCABKAgSFAoMcHJldmVudHNoYWRlGAkgASgIEg0KBWRtYXNrGAogASgIEg8KB29wYWNpdHkYCyABKAISDgoGZG1hcmVhGAwgASgFEhEKCXNwZWVkcGx1cxgNIAEoAhIQCghmb250c2l6ZRgOIAEoAhISCgpzY3JlZW5zeW5jGA8gASgIEhEKCXNwZWVkc3luYxgQIAEoCBISCgpmb250ZmFtaWx5GBEgASgJEgwKBGJvbGQYEiABKAgSEgoKZm9udGJvcmRlchgTIAEoBRIRCglkcmF3X3R5cGUYFCABKAkSGgoSc2VuaW9yX21vZGVfc3dpdGNoGBUgASgFEhMKC2FpX2xldmVsX3YyGBYgASgFEmEKD2FpX2xldmVsX3YyX21hcBgXIAMoCzJILmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm11V2ViUGxheWVyQ29uZmlnLkFpTGV2ZWxWMk1hcEVudHJ5EhcKD2Jsb2NrdG9wX2JvdHRvbRgYIAEoCBISCgpkbV9hcmVhX3YyGBkgASgFEhIKCmRtX2RlbnNpdHkYGiABKAUaMwoRQWlMZXZlbFYyTWFwRW50cnkSCwoDa2V5GAEgASgFEg0KBXZhbHVlGAIgASgFOgI4ASJZCgpEbUNvbG9yZnVsEj4KBHR5cGUYASABKA4yMC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbUNvbG9yZnVsVHlwZRILCgNzcmMYAiABKAkiUAoPRG1FeHBvUmVwb3J0UmVxEhIKCnNlc3Npb25faWQYASABKAkSCwoDb2lkGAIgASgDEg0KBWRtaWRzGAMgASgMEg0KBXNwbWlkGAQgASgJIhEKD0RtRXhwb1JlcG9ydFJlcyJtCgpEbUhlcmRWaWV3EhsKE2Rpc3BsYXlfaGVyZF9kbV9udW0YASABKAUSQgoIaGVyZF9kbXMYAiADKAsyMC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5WaWV3SGVyZERtRWxlbSKWAgoKRG1NYXNrV2FsbBINCgVzdGFydBgBIAEoAxILCgNlbmQYAiABKAMSDwoHY29udGVudBgDIAEoCRJNCgxjb250ZW50X3R5cGUYBCABKA4yNy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbU1hc2tXYWxsQ29udGVudFR5cGUSRQoIYml6X3R5cGUYBSABKA4yMy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbU1hc2tXYWxsQml6VHlwZRJFCghjb250ZW50cxgGIAMoCzIzLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtTWFza1dhbGxDb250ZW50ImsKEURtTWFza1dhbGxDb250ZW50EkUKBHR5cGUYASABKA4yNy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbU1hc2tXYWxsQ29udGVudFR5cGUSDwoHY29udGVudBgCIAEoCSLNEAoRRG1QbGF5ZXJDb25maWdSZXESCgoCdHMYASABKAMSRQoGc3dpdGNoGAIgASgLMjUuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdVN3aXRjaBJOCgtzd2l0Y2hfc2F2ZRgDIAEoCzI5LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VTd2l0Y2hTYXZlElsKEnVzZV9kZWZhdWx0X2NvbmZpZxgEIAEoCzI/LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VVc2VEZWZhdWx0Q29uZmlnEmEKFWFpX3JlY29tbWVuZGVkX3N3aXRjaBgFIAEoCzJCLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VBaVJlY29tbWVuZGVkU3dpdGNoEl8KFGFpX3JlY29tbWVuZGVkX2xldmVsGAYgASgLMkEuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUFpUmVjb21tZW5kZWRMZXZlbBJJCghibG9ja3RvcBgHIAEoCzI3LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VCbG9ja3RvcBJPCgtibG9ja3Njcm9sbBgIIAEoCzI6LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VCbG9ja3Njcm9sbBJPCgtibG9ja2JvdHRvbRgJIAEoCzI6LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VCbG9ja2JvdHRvbRJTCg1ibG9ja2NvbG9yZnVsGAogASgLMjwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUJsb2NrY29sb3JmdWwSTwoLYmxvY2tyZXBlYXQYCyABKAsyOi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1QmxvY2tyZXBlYXQSUQoMYmxvY2tzcGVjaWFsGAwgASgLMjsuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUJsb2Nrc3BlY2lhbBJHCgdvcGFjaXR5GA0gASgLMjYuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdU9wYWNpdHkSUwoNc2NhbGluZ2ZhY3RvchgOIAEoCzI8LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VTY2FsaW5nZmFjdG9yEkUKBmRvbWFpbhgPIAEoCzI1LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VEb21haW4SQwoFc3BlZWQYECABKAsyNC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1U3BlZWQSVwoPZW5hYmxlYmxvY2tsaXN0GBEgASgLMj4uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUVuYWJsZWJsb2NrbGlzdBJeChlpbmxpbmVQbGF5ZXJEYW5tYWt1U3dpdGNoGBIgASgLMjsuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuSW5saW5lUGxheWVyRGFubWFrdVN3aXRjaBJbChJzZW5pb3JfbW9kZV9zd2l0Y2gYEyABKAsyPy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1U2VuaW9yTW9kZVN3aXRjaBJkChdhaV9yZWNvbW1lbmRlZF9sZXZlbF92MhgUIAEoCzJDLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VBaVJlY29tbWVuZGVkTGV2ZWxWMhJTCg5lbmFibGVfaGVyZF9kbRgVIAEoCzI7LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VFbmFibGVIZXJkRG0SVgoPYmxvY2t0b3BfYm90dG9tGBYgASgLMj0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUJsb2NrdG9wQm90dG9tEkoKCWRvbWFpbl92MhgXIAEoCzI3LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VEb21haW5WMhJHCgdkZW5zaXR5GBggASgLMjYuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdURlbnNpdHkSVAoOc3VidGl0bGVfcHJvb2YYGSABKAsyPC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1U3VidGl0bGVQcm9vZhJQCgxwZW9wbGVfcHJvb2YYGiABKAsyOi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1UGVvcGxlUHJvb2YiLwoLRG1TZWdDb25maWcSEQoJcGFnZV9zaXplGAEgASgDEg0KBXRvdGFsGAIgASgDIpECChBEbVNlZ01vYmlsZVJlcGx5EjwKBWVsZW1zGAEgAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubWFrdUVsZW0SDQoFc3RhdGUYAiABKAUSQAoHYWlfZmxhZxgDIAEoCzIvLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm1ha3VBSUZsYWcSFQoNc2VnbWVudF9ydWxlcxgEIAMoAxJCCgxjb2xvcmZ1bF9zcmMYBSADKAsyLC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbUNvbG9yZnVsEhMKC2NvbnRleHRfc3JjGAYgASgJIsoBCg5EbVNlZ01vYmlsZVJlcRILCgNwaWQYASABKAMSCwoDb2lkGAIgASgDEgwKBHR5cGUYAyABKAUSFQoNc2VnbWVudF9pbmRleBgEIAEoAxIWCg50ZWVuYWdlcnNfbW9kZRgFIAEoBRIKCgJwcxgGIAEoAxIKCgJwZRgHIAEoAxIRCglwdWxsX21vZGUYCCABKAUSEgoKZnJvbV9zY2VuZRgJIAEoBRINCgVzcG1pZBgKIAEoCRITCgtjb250ZXh0X2V4dBgLIAEoCSJcCg1EbVNlZ090dFJlcGx5EjwKBWVsZW1zGAEgAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubWFrdUVsZW0SDQoFc3RhdGUYAiABKAUiTAoLRG1TZWdPdHRSZXESCwoDcGlkGAEgASgDEgsKA29pZBgCIAEoAxIMCgR0eXBlGAMgASgFEhUKDXNlZ21lbnRfaW5kZXgYBCABKAMiXQoNRG1TZWdTREtSZXBseRIOCgZjbG9zZWQYASABKAgSPAoFZWxlbXMYAiADKAsyLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tYWt1RWxlbSJMCgtEbVNlZ1NES1JlcRILCgNwaWQYASABKAMSCwoDb2lkGAIgASgDEgwKBHR5cGUYAyABKAUSFQoNc2VnbWVudF9pbmRleBgEIAEoAyJ3CglEbVN1YlZpZXcSDAoEdHlwZRgBIAEoBRILCgNvaWQYAiABKAMSCwoDcGlkGAMgASgDEkIKC3Bvc3RfcGFuZWwyGAQgAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUG9zdFBhbmVsVjIioQkKC0RtVmlld1JlcGx5Eg4KBmNsb3NlZBgBIAEoCBI5CgRtYXNrGAIgASgLMisuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuVmlkZW9NYXNrEkEKCHN1YnRpdGxlGAMgASgLMi8uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuVmlkZW9TdWJ0aXRsZRITCgtzcGVjaWFsX2RtcxgEIAMoCRJECgdhaV9mbGFnGAUgASgLMjMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubWFrdUZsYWdDb25maWcSTgoNcGxheWVyX2NvbmZpZxgGIAEoCzI3LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm11UGxheWVyVmlld0NvbmZpZxIWCg5zZW5kX2JveF9zdHlsZRgHIAEoBRINCgVhbGxvdxgIIAEoCBIRCgljaGVja19ib3gYCSABKAgSGgoSY2hlY2tfYm94X3Nob3dfbXNnGAogASgJEhgKEHRleHRfcGxhY2Vob2xkZXIYCyABKAkSGQoRaW5wdXRfcGxhY2Vob2xkZXIYDCABKAkSHQoVcmVwb3J0X2ZpbHRlcl9jb250ZW50GA0gAygJEkEKC2V4cG9fcmVwb3J0GA4gASgLMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRXhwb1JlcG9ydBJJCg9idXp6d29yZF9jb25maWcYDyABKAsyMC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5CdXp6d29yZENvbmZpZxJCCgtleHByZXNzaW9ucxgQIAMoCzItLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkV4cHJlc3Npb25zEj8KCnBvc3RfcGFuZWwYESADKAsyKy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Qb3N0UGFuZWwSFQoNYWN0aXZpdHlfbWV0YRgSIAMoCRJCCgtwb3N0X3BhbmVsMhgTIAMoCzItLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBvc3RQYW5lbFYyEkIKDGRtX21hc2tfd2FsbBgUIAMoCzIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtTWFza1dhbGwSPQoHZG1faGVyZBgVIAEoCzIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtSGVyZFZpZXcSOgoHY29tbWFuZBgWIAEoCzIpLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkNvbW1hbmQSCgoCa3YYFyABKAkSPgoJc3ViX3ZpZXdzGBggAygLMisuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1TdWJWaWV3EjYKA3FvZRgZIAEoCzIpLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlFvZUluZm8ibQoJRG1WaWV3UmVxEgsKA3BpZBgBIAEoAxILCgNvaWQYAiABKAMSDAoEdHlwZRgDIAEoBRINCgVzcG1pZBgEIAEoCRIUCgxpc19oYXJkX2Jvb3QYBSABKAUSEwoLY29udGV4dF9leHQYBiABKAkigQYKDkRtV2ViVmlld1JlcGx5Eg0KBXN0YXRlGAEgASgFEgwKBHRleHQYAiABKAkSEQoJdGV4dF9zaWRlGAMgASgJEj0KBmRtX3NnZRgEIAEoCzItLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtU2VnQ29uZmlnEkEKBGZsYWcYBSABKAsyMy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tYWt1RmxhZ0NvbmZpZxITCgtzcGVjaWFsX2RtcxgGIAMoCRIRCgljaGVja19ib3gYByABKAgSDQoFY291bnQYCCABKAMSQAoLY29tbWFuZF9kbXMYCSADKAsyKy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Db21tYW5kRG0STQoNcGxheWVyX2NvbmZpZxgKIAEoCzI2LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm11V2ViUGxheWVyQ29uZmlnEh0KFXJlcG9ydF9maWx0ZXJfY29udGVudBgLIAMoCRJCCgtleHByZXNzaW9ucxgMIAMoCzItLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkV4cHJlc3Npb25zEj8KCnBvc3RfcGFuZWwYDSADKAsyKy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Qb3N0UGFuZWwSFQoNYWN0aXZpdHlfbWV0YRgOIAMoCRJCCgtwb3N0X3BhbmVsMhgPIAMoCzItLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBvc3RQYW5lbFYyEj4KCXN1Yl92aWV3cxgQIAMoCzIrLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtU3ViVmlldxI2CgNxb2UYESABKAsyKS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Rb2VJbmZvIioKCkV4cG9SZXBvcnQSHAoUc2hvdWxkX3JlcG9ydF9hdF9lbmQYASABKAgiZAoKRXhwcmVzc2lvbhIPCgdrZXl3b3JkGAEgAygJEgsKA3VybBgCIAEoCRI4CgZwZXJpb2QYAyADKAsyKC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QZXJpb2QiSQoLRXhwcmVzc2lvbnMSOgoEZGF0YRgBIAMoCzIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkV4cHJlc3Npb24iKgoZSW5saW5lUGxheWVyRGFubWFrdVN3aXRjaBINCgV2YWx1ZRgBIAEoCCInCgVMYWJlbBINCgV0aXRsZRgBIAEoCRIPCgdjb250ZW50GAIgAygJIocBCgdMYWJlbFYyEg0KBXRpdGxlGAEgASgJEg8KB2NvbnRlbnQYAiADKAkSFQoNZXhwb3N1cmVfb25jZRgDIAEoCBJFCg1leHBvc3VyZV90eXBlGAQgASgOMi4uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRXhwb3N1cmVUeXBlIiQKBlBlcmlvZBINCgVzdGFydBgBIAEoAxILCgNlbmQYAiABKAMiMAofUGxheWVyRGFubWFrdUFpUmVjb21tZW5kZWRMZXZlbBINCgV2YWx1ZRgBIAEoBSIyCiFQbGF5ZXJEYW5tYWt1QWlSZWNvbW1lbmRlZExldmVsVjISDQoFdmFsdWUYASABKAUiMQogUGxheWVyRGFubWFrdUFpUmVjb21tZW5kZWRTd2l0Y2gSDQoFdmFsdWUYASABKAgiKQoYUGxheWVyRGFubWFrdUJsb2NrYm90dG9tEg0KBXZhbHVlGAEgASgIIisKGlBsYXllckRhbm1ha3VCbG9ja2NvbG9yZnVsEg0KBXZhbHVlGAEgASgIIikKGFBsYXllckRhbm1ha3VCbG9ja3JlcGVhdBINCgV2YWx1ZRgBIAEoCCIpChhQbGF5ZXJEYW5tYWt1QmxvY2tzY3JvbGwSDQoFdmFsdWUYASABKAgiKgoZUGxheWVyRGFubWFrdUJsb2Nrc3BlY2lhbBINCgV2YWx1ZRgBIAEoCCImChVQbGF5ZXJEYW5tYWt1QmxvY2t0b3ASDQoFdmFsdWUYASABKAgiLAobUGxheWVyRGFubWFrdUJsb2NrdG9wQm90dG9tEg0KBXZhbHVlGAEgASgIIiUKFFBsYXllckRhbm1ha3VEZW5zaXR5Eg0KBXZhbHVlGAEgASgFIiQKE1BsYXllckRhbm1ha3VEb21haW4SDQoFdmFsdWUYASABKAIiJgoVUGxheWVyRGFubWFrdURvbWFpblYyEg0KBXZhbHVlGAEgASgFIioKGVBsYXllckRhbm1ha3VFbmFibGVIZXJkRG0SDQoFdmFsdWUYASABKAgiLQocUGxheWVyRGFubWFrdUVuYWJsZWJsb2NrbGlzdBINCgV2YWx1ZRgBIAEoCCIlChRQbGF5ZXJEYW5tYWt1T3BhY2l0eRINCgV2YWx1ZRgBIAEoAiIpChhQbGF5ZXJEYW5tYWt1UGVvcGxlUHJvb2YSDQoFdmFsdWUYASABKAgiKwoaUGxheWVyRGFubWFrdVNjYWxpbmdmYWN0b3ISDQoFdmFsdWUYASABKAIiLgodUGxheWVyRGFubWFrdVNlbmlvck1vZGVTd2l0Y2gSDQoFdmFsdWUYASABKAUiIwoSUGxheWVyRGFubWFrdVNwZWVkEg0KBXZhbHVlGAEgASgFIisKGlBsYXllckRhbm1ha3VTdWJ0aXRsZVByb29mEg0KBXZhbHVlGAEgASgIIjgKE1BsYXllckRhbm1ha3VTd2l0Y2gSDQoFdmFsdWUYASABKAgSEgoKY2FuX2lnbm9yZRgCIAEoCCIoChdQbGF5ZXJEYW5tYWt1U3dpdGNoU2F2ZRINCgV2YWx1ZRgBIAEoCCIuCh1QbGF5ZXJEYW5tYWt1VXNlRGVmYXVsdENvbmZpZxINCgV2YWx1ZRgBIAEoCCKMAwoJUG9zdFBhbmVsEg0KBXN0YXJ0GAEgASgDEgsKA2VuZBgCIAEoAxIQCghwcmlvcml0eRgDIAEoAxIOCgZiaXpfaWQYBCABKAMSRAoIYml6X3R5cGUYBSABKA4yMi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Qb3N0UGFuZWxCaXpUeXBlEkMKDGNsaWNrX2J1dHRvbhgGIAEoCzItLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkNsaWNrQnV0dG9uEj8KCnRleHRfaW5wdXQYByABKAsyKy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5UZXh0SW5wdXQSPQoJY2hlY2tfYm94GAggASgLMiouYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQ2hlY2tCb3gSNgoFdG9hc3QYCSABKAsyJy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Ub2FzdCKtBAoLUG9zdFBhbmVsVjISDQoFc3RhcnQYASABKAMSCwoDZW5kGAIgASgDEkQKCGJpel90eXBlGAMgASgOMjIuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUG9zdFBhbmVsQml6VHlwZRJFCgxjbGlja19idXR0b24YBCABKAsyLy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5DbGlja0J1dHRvblYyEkEKCnRleHRfaW5wdXQYBSABKAsyLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5UZXh0SW5wdXRWMhI/CgljaGVja19ib3gYBiABKAsyLC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5DaGVja0JveFYyEjgKBXRvYXN0GAcgASgLMikuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuVG9hc3RWMhI6CgZidWJibGUYCCABKAsyKi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5CdWJibGVWMhI4CgVsYWJlbBgJIAEoCzIpLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkxhYmVsVjISQQoLcG9zdF9zdGF0dXMYCiABKA4yLC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Qb3N0U3RhdHVzIhcKB1FvZUluZm8SDAoEaW5mbxgBIAEoCSIpCghSZXNwb25zZRIMCgRjb2RlGAEgASgFEg8KB21lc3NhZ2UYAiABKAki+QIKDFN1YnRpdGxlSXRlbRIKCgJpZBgBIAEoAxIOCgZpZF9zdHIYAiABKAkSCwoDbGFuGAMgASgJEg8KB2xhbl9kb2MYBCABKAkSFAoMc3VidGl0bGVfdXJsGAUgASgJEjoKBmF1dGhvchgGIAEoCzIqLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlVzZXJJbmZvEjwKBHR5cGUYByABKA4yLi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5TdWJ0aXRsZVR5cGUSFQoNbGFuX2RvY19icmllZhgIIAEoCRJBCgdhaV90eXBlGAkgASgOMjAuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuU3VidGl0bGVBaVR5cGUSRQoJYWlfc3RhdHVzGAogASgOMjIuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuU3VidGl0bGVBaVN0YXR1cyLoAgoJVGV4dElucHV0EhwKFHBvcnRyYWl0X3BsYWNlaG9sZGVyGAEgAygJEh0KFWxhbmRzY2FwZV9wbGFjZWhvbGRlchgCIAMoCRJBCgtyZW5kZXJfdHlwZRgDIAEoDjIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlJlbmRlclR5cGUSGAoQcGxhY2Vob2xkZXJfcG9zdBgEIAEoCBIMCgRzaG93GAUgASgIEjgKBmF2YXRhchgGIAMoCzIoLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkF2YXRhchJBCgtwb3N0X3N0YXR1cxgHIAEoDjIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBvc3RTdGF0dXMSNgoFbGFiZWwYCCABKAsyJy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5MYWJlbCL7AQoLVGV4dElucHV0VjISHAoUcG9ydHJhaXRfcGxhY2Vob2xkZXIYASADKAkSHQoVbGFuZHNjYXBlX3BsYWNlaG9sZGVyGAIgAygJEkEKC3JlbmRlcl90eXBlGAMgASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUmVuZGVyVHlwZRIYChBwbGFjZWhvbGRlcl9wb3N0GAQgASgIEjgKBmF2YXRhchgFIAMoCzIoLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkF2YXRhchIYChB0ZXh0X2lucHV0X2xpbWl0GAYgASgFIm8KBVRvYXN0EgwKBHRleHQYASABKAkSEAoIZHVyYXRpb24YAiABKAUSDAoEc2hvdxgDIAEoCBI4CgZidXR0b24YBCABKAsyKC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5CdXR0b24iYgoNVG9hc3RCdXR0b25WMhIMCgR0ZXh0GAEgASgJEkMKBmFjdGlvbhgCIAEoDjIzLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlRvYXN0RnVuY3Rpb25UeXBlInMKB1RvYXN0VjISDAoEdGV4dBgBIAEoCRIQCghkdXJhdGlvbhgCIAEoBRJICg90b2FzdF9idXR0b25fdjIYAyABKAsyLy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Ub2FzdEJ1dHRvblYyIlwKCFVzZXJJbmZvEgsKA21pZBgBIAEoAxIMCgRuYW1lGAIgASgJEgsKA3NleBgDIAEoCRIMCgRmYWNlGAQgASgJEgwKBHNpZ24YBSABKAkSDAoEcmFuaxgGIAEoBSJTCglWaWRlb01hc2sSCwoDY2lkGAEgASgDEgwKBHBsYXQYAiABKAUSCwoDZnBzGAMgASgFEgwKBHRpbWUYBCABKAMSEAoIbWFza191cmwYBSABKAkicAoNVmlkZW9TdWJ0aXRsZRILCgNsYW4YASABKAkSDwoHbGFuX2RvYxgCIAEoCRJBCglzdWJ0aXRsZXMYAyADKAsyLi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5TdWJ0aXRsZUl0ZW0ikgEKDlZpZXdIZXJkRG1FbGVtEhAKCGhlcmRfbXNnGAEgASgJEhYKDmhlcmRfc3RhcnRfY250GAIgASgFEhQKDGhlcmRfZW5kX2NudBgDIAEoBRISCgpyZWdleF9ydWxlGAQgASgJEhYKDnN0YXJ0X3Byb2dyZXNzGAUgASgFEhQKDGVuZF9wcm9ncmVzcxgGIAEoBSozCgpBdmF0YXJUeXBlEhIKDkF2YXRhclR5cGVOb25lEAASEQoNQXZhdGFyVHlwZU5GVBABKlkKCkJ1YmJsZVR5cGUSEgoOQnViYmxlVHlwZU5vbmUQABIZChVCdWJibGVUeXBlQ2xpY2tCdXR0b24QARIcChhCdWJibGVUeXBlRG1TZXR0aW5nUGFuZWwQAipYCgxDaGVja2JveFR5cGUSFAoQQ2hlY2tib3hUeXBlTm9uZRAAEhkKFUNoZWNrYm94VHlwZUVuY291cmFnZRABEhcKE0NoZWNrYm94VHlwZUNvbG9yRE0QAio1Cg5EbUNvbG9yZnVsVHlwZRIMCghOb25lVHlwZRAAEhUKD1ZpcEdyYWR1YWxDb2xvchDh1AMqYAoRRG1NYXNrV2FsbEJpelR5cGUSCwoHVW5rbm93bhAAEgcKA09HVhABEgoKBkJpelBpYxACEggKBE11dGUQAxIKCgZSZWNvcmQQBBIJCgVDbG91ZBAFEggKBEFJR0MQBip2ChVEbU1hc2tXYWxsQ29udGVudFR5cGUSIAocRG1NYXNrV2FsbENvbnRlbnRUeXBlVW5rbm93bhAAEh0KGURtTWFza1dhbGxDb250ZW50VHlwZVRleHQQARIcChhEbU1hc2tXYWxsQ29udGVudFR5cGVQaWMQAio8CgxFeHBvc3VyZVR5cGUSFAoQRXhwb3N1cmVUeXBlTm9uZRAAEhYKEkV4cG9zdXJlVHlwZURNU2VuZBABKoMCChBQb3N0UGFuZWxCaXpUeXBlEhgKFFBvc3RQYW5lbEJpelR5cGVOb25lEAASHQoZUG9zdFBhbmVsQml6VHlwZUVuY291cmFnZRABEhsKF1Bvc3RQYW5lbEJpelR5cGVDb2xvckRNEAISGQoVUG9zdFBhbmVsQml6VHlwZU5GVERNEAMSHQoZUG9zdFBhbmVsQml6VHlwZUZyYWdDbG9zZRAEEh0KGVBvc3RQYW5lbEJpelR5cGVSZWNvbW1lbmQQBRIcChhQb3N0UGFuZWxCaXpUeXBlUGxvdExlYWsQBhIiCh5Qb3N0UGFuZWxCaXpUeXBlQW50aUhhcmFzc21lbnQQByo4CgpQb3N0U3RhdHVzEhQKEFBvc3RTdGF0dXNOb3JtYWwQABIUChBQb3N0U3RhdHVzQ2xvc2VkEAEqTgoKUmVuZGVyVHlwZRISCg5SZW5kZXJUeXBlTm9uZRAAEhQKEFJlbmRlclR5cGVTaW5nbGUQARIWChJSZW5kZXJUeXBlUm90YXRpb24QAio2ChBTdWJ0aXRsZUFpU3RhdHVzEggKBE5vbmUQABIMCghFeHBvc3VyZRABEgoKBkFzc2lzdBACKisKDlN1YnRpdGxlQWlUeXBlEgoKBk5vcm1hbBAAEg0KCVRyYW5zbGF0ZRABKh4KDFN1YnRpdGxlVHlwZRIGCgJDQxAAEgYKAkFJEAEqTgoRVG9hc3RGdW5jdGlvblR5cGUSGQoVVG9hc3RGdW5jdGlvblR5cGVOb25lEAASHgoaVG9hc3RGdW5jdGlvblR5cGVQb3N0UGFuZWwQATKgBQoCRE0ScwoLRG1TZWdNb2JpbGUSMC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVNlZ01vYmlsZVJlcRoyLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtU2VnTW9iaWxlUmVwbHkSZAoGRG1WaWV3EisuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1WaWV3UmVxGi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1WaWV3UmVwbHkScQoORG1QbGF5ZXJDb25maWcSMy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVBsYXllckNvbmZpZ1JlcRoqLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlJlc3BvbnNlEmoKCERtU2VnT3R0Ei0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1TZWdPdHRSZXEaLy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVNlZ090dFJlcGx5EmoKCERtU2VnU0RLEi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1TZWdTREtSZXEaLy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVNlZ1NES1JlcGx5EnQKDERtRXhwb1JlcG9ydBIxLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtRXhwb1JlcG9ydFJlcRoxLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtRXhwb1JlcG9ydFJlc0LUAQokY29tLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxQgdEbVByb3RvUAGiAgRCQ1NEqgIgQmlsaWJpbGkuQ29tbXVuaXR5LlNlcnZpY2UuRG0uVjHKAiBCaWxpYmlsaVxDb21tdW5pdHlcU2VydmljZVxEbVxWMeICLEJpbGliaWxpXENvbW11bml0eVxTZXJ2aWNlXERtXFYxXEdQQk1ldGFkYXRh6gIkQmlsaWJpbGk6OkNvbW11bml0eTo6U2VydmljZTo6RG06OlYxYgZwcm90bzM");
1294
+ const DmSegMobileReplySchema = /*@__PURE__*/ codegenv2_messageDesc(file_bilibili_community_service_dm_v1_dm, 30);
1295
+ const DmWebViewReplySchema = /*@__PURE__*/ codegenv2_messageDesc(file_bilibili_community_service_dm_v1_dm, 39);
1296
+ const file_danuni_danmaku_v1_danmaku = /*@__PURE__*/ fileDesc("Ch9kYW51bmkvZGFubWFrdS92MS9kYW5tYWt1LnByb3RvEhFkYW51bmkuZGFubWFrdS52MSI2Cg5MaXN0RGFuUmVxdWVzdBIKCgJpZBgBIAEoCRIQCgNzZWcYAiABKAVIAIgBAUIGCgRfc2VnIusCCgdEYW5tYWt1EhIKBHNvaWQYASABKAlSBFNPSUQSEgoEZG1pZBgCIAEoCVIERE1JRBIQCghwcm9ncmVzcxgDIAEoBRIlCgRtb2RlGAQgASgOMhcuZGFudW5pLmRhbm1ha3UudjEuTW9kZRIQCghmb250c2l6ZRgFIAEoBRINCgVjb2xvchgGIAEoBRIbCglzZW5kZXJfaWQYByABKAlSCHNlbmRlcklEEg8KB2NvbnRlbnQYCCABKAkSKQoFY3RpbWUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBndlaWdodBgKIAEoBRIlCgRwb29sGAsgASgOMhcuZGFudW5pLmRhbm1ha3UudjEuUG9vbBIMCgRhdHRyGAwgAygJEhUKCHBsYXRmb3JtGA0gASgJSACIAQESEgoFZXh0cmEYDiABKAlIAYgBAUILCglfcGxhdGZvcm1CCAoGX2V4dHJhIj8KD0xpc3REYW5SZXNwb25zZRIsCghkYW5tYWt1cxgBIAMoCzIaLmRhbnVuaS5kYW5tYWt1LnYxLkRhbm1ha3UqYgoETW9kZRIbChdNT0RFX05PUk1BTF9VTlNQRUNJRklFRBAAEg8KC01PREVfQk9UVE9NEAESDAoITU9ERV9UT1AQAhIQCgxNT0RFX1JFVkVSU0UQAxIMCghNT0RFX0VYVBAEKkkKBFBvb2wSGAoUUE9PTF9ERUZfVU5TUEVDSUZJRUQQABIMCghQT09MX1NVQhABEgwKCFBPT0xfQURWEAISCwoHUE9PTF9JWBADMmQKDkRhbm1ha3VTZXJ2aWNlElIKB0xpc3REYW4SIS5kYW51bmkuZGFubWFrdS52MS5MaXN0RGFuUmVxdWVzdBoiLmRhbnVuaS5kYW5tYWt1LnYxLkxpc3REYW5SZXNwb25zZSIAQosBChVjb20uZGFudW5pLmRhbm1ha3UudjFCDERhbm1ha3VQcm90b1ABogIDRERYqgIRRGFudW5pLkRhbm1ha3UuVjHKAhFEYW51bmlcRGFubWFrdVxWMeICHURhbnVuaVxEYW5tYWt1XFYxXEdQQk1ldGFkYXRh6gITRGFudW5pOjpEYW5tYWt1OjpWMWIGcHJvdG8z", [
1297
1297
  file_google_protobuf_timestamp
1298
1298
  ]);
1299
- const DanmakuReplySchema = /*@__PURE__*/ codegenv2_messageDesc(file_danuni, 2);
1299
+ const ListDanResponseSchema = /*@__PURE__*/ codegenv2_messageDesc(file_danuni_danmaku_v1_danmaku, 2);
1300
1300
  const src_JSON = json_bigint({
1301
1301
  useNativeBigInt: true
1302
1302
  });
@@ -1304,6 +1304,20 @@ const DanUniConvertTipTemplate = {
1304
1304
  meassage: 'Converted by DanUni!',
1305
1305
  version: `JS/TS ${package_namespaceObject.UU} (v${package_namespaceObject.rE})`
1306
1306
  };
1307
+ var src_DM_format = /*#__PURE__*/ function(DM_format) {
1308
+ DM_format["DanuniJson"] = "danuni.json";
1309
+ DM_format["DanuniMinJson"] = "danuni.min.json";
1310
+ DM_format["DanuniPbBin"] = "danuni.binpb";
1311
+ DM_format["BiliXml"] = "bili.xml";
1312
+ DM_format["BiliPbBin"] = "bili.binpb";
1313
+ DM_format["BiliCmdPbBin"] = "bili.cmd.binpb";
1314
+ DM_format["BiliUpJson"] = "bili.up.json";
1315
+ DM_format["DplayerJson"] = "dplayer.json";
1316
+ DM_format["ArtplayerJson"] = "artplayer.json";
1317
+ DM_format["DdplayJson"] = "ddplay.json";
1318
+ DM_format["CommonAss"] = "common.ass";
1319
+ return DM_format;
1320
+ }({});
1307
1321
  class UniPool {
1308
1322
  constructor(dans, options = {}, info = {
1309
1323
  fromConverted: false
@@ -1526,23 +1540,23 @@ class UniPool {
1526
1540
  try {
1527
1541
  if (Array.isArray(json) && json.every((d)=>d.SOID)) return {
1528
1542
  pool: new UniPool(json, options),
1529
- fmt: 'danuni.json'
1543
+ fmt: "danuni.json"
1530
1544
  };
1531
1545
  if (json.danmuku && json.danmuku.every((d)=>d.text)) return {
1532
1546
  pool: this.fromArtplayer(json, json.danuni?.data ?? '', void 0, options),
1533
- fmt: 'artplayer.json'
1547
+ fmt: "artplayer.json"
1534
1548
  };
1535
1549
  if (json.count && json.comments && Array.isArray(json.comments) && json.comments.every((d)=>d.m)) return {
1536
1550
  pool: this.fromDDPlay(json, json.danuni?.data ?? '', options),
1537
- fmt: 'ddplay.json'
1551
+ fmt: "ddplay.json"
1538
1552
  };
1539
1553
  else if (0 == json.code && json.data && Array.isArray(json.data) && json.data.every((d)=>Array.isArray(d))) return {
1540
1554
  pool: this.fromDplayer(json, json.danuni?.data ?? '', void 0, options),
1541
- fmt: 'dplayer.json'
1555
+ fmt: "dplayer.json"
1542
1556
  };
1543
1557
  else if (0 == json.code && '0' == json.message && json.data && json.data.page && json.data.result && Array.isArray(json.data.result) && json.data.result.every((d)=>d.id && d.oid)) return {
1544
1558
  pool: this.fromBiliUp(json, options),
1545
- fmt: 'bili.up.json'
1559
+ fmt: "bili.up.json"
1546
1560
  };
1547
1561
  } catch {}
1548
1562
  };
@@ -1561,13 +1575,13 @@ class UniPool {
1561
1575
  const xml = xmlParser.parse(file);
1562
1576
  if (xml?.i?.d) return {
1563
1577
  pool: this.fromBiliXML(file, options),
1564
- fmt: 'bili.xml'
1578
+ fmt: "bili.xml"
1565
1579
  };
1566
1580
  } catch {}
1567
1581
  try {
1568
1582
  return {
1569
1583
  pool: this.fromASS(file, options),
1570
- fmt: 'common.ass'
1584
+ fmt: "common.ass"
1571
1585
  };
1572
1586
  } catch {}
1573
1587
  }
@@ -1579,19 +1593,19 @@ class UniPool {
1579
1593
  try {
1580
1594
  return {
1581
1595
  pool: this.fromPb(file),
1582
- fmt: 'danuni.pb.bin'
1596
+ fmt: "danuni.binpb"
1583
1597
  };
1584
1598
  } catch {}
1585
1599
  try {
1586
1600
  return {
1587
1601
  pool: this.fromBiliGrpc(file),
1588
- fmt: 'bili.pb.bin'
1602
+ fmt: "bili.binpb"
1589
1603
  };
1590
1604
  } catch {}
1591
1605
  try {
1592
1606
  return {
1593
1607
  pool: this.fromBiliCommandGrpc(file),
1594
- fmt: 'bili.cmd.pb.bin'
1608
+ fmt: "bili.cmd.binpb"
1595
1609
  };
1596
1610
  } catch {}
1597
1611
  }
@@ -1617,7 +1631,9 @@ class UniPool {
1617
1631
  switch(format){
1618
1632
  case 'danuni.json':
1619
1633
  return this.dans;
1620
- case 'danuni.pb.bin':
1634
+ case 'danuni.min.json':
1635
+ return this.minify();
1636
+ case 'danuni.binpb':
1621
1637
  return this.toPb();
1622
1638
  case 'bili.xml':
1623
1639
  return this.toBiliXML();
@@ -1636,11 +1652,14 @@ class UniPool {
1636
1652
  }
1637
1653
  }
1638
1654
  static fromPb(bin, options) {
1639
- const data = fromBinary(DanmakuReplySchema, new Uint8Array(bin));
1655
+ const data = fromBinary(ListDanResponseSchema, new Uint8Array(bin));
1640
1656
  return new UniPool(data.danmakus.map((d)=>UniDM.create({
1641
1657
  ...d,
1658
+ SOID: d.soid,
1659
+ DMID: d.dmid,
1642
1660
  progress: d.progress / 1000,
1643
1661
  mode: d.mode,
1662
+ senderID: d.senderId,
1644
1663
  ctime: timestampDate(d.ctime || timestampNow()),
1645
1664
  pool: d.pool,
1646
1665
  attr: d.attr,
@@ -1649,15 +1668,15 @@ class UniPool {
1649
1668
  }, options)), options);
1650
1669
  }
1651
1670
  toPb() {
1652
- return toBinary(DanmakuReplySchema, create(DanmakuReplySchema, {
1671
+ return toBinary(ListDanResponseSchema, create(ListDanResponseSchema, {
1653
1672
  danmakus: this.dans.map((d)=>({
1654
- SOID: d.SOID,
1655
- DMID: d.DMID,
1673
+ soid: d.SOID,
1674
+ dmid: d.DMID ?? '',
1656
1675
  progress: Math.round(1000 * d.progress),
1657
1676
  mode: d.mode,
1658
1677
  fontsize: d.fontsize,
1659
1678
  color: d.color,
1660
- senderID: d.senderID,
1679
+ senderId: d.senderID,
1661
1680
  content: d.content,
1662
1681
  ctime: timestampFromDate(d.ctime),
1663
1682
  weight: d.weight,
@@ -1858,4 +1877,4 @@ class UniPool {
1858
1877
  }, canvasCtx);
1859
1878
  }
1860
1879
  }
1861
- export { UniDM, UniPool, dm_gen_namespaceObject as UniDMTools, id_gen_namespaceObject as UniIDTools, platform_PlatformVideoSource, platform_namespaceObject as platform };
1880
+ export { UniDM, UniPool, dm_gen_namespaceObject as UniDMTools, id_gen_namespaceObject as UniIDTools, platform_PlatformVideoSource, platform_namespaceObject as platform, src_DM_format as DM_format };
@@ -1 +1 @@
1
- export { UniDM, UniDMTools, UniIDTools, UniPool, platform } from "./17.js";
1
+ export { DM_format, UniDM, UniDMTools, UniIDTools, UniPool, platform } from "./17.js";
@@ -1,6 +1,6 @@
1
1
  import 'reflect-metadata/lite';
2
2
  import type { Options as AssGenOptions, CanvasCtx } from './ass-gen';
3
- import type { CommandDm as DM_JSON_BiliCommandGrpc } from './proto/gen/bili/dm_pb';
3
+ import type { CommandDm as DM_JSON_BiliCommandGrpc } from './proto/gen/bilibili/community/service/dm/v1/dm_pb';
4
4
  import { UniDM } from './utils/dm-gen';
5
5
  import * as UniDMTools from './utils/dm-gen';
6
6
  import * as UniIDTools from './utils/id-gen';
@@ -116,7 +116,19 @@ export interface DM_JSON_DDPlay {
116
116
  m: string;
117
117
  }[];
118
118
  }
119
- export type DM_format = 'danuni.json' | 'danuni.pb.bin' | 'bili.xml' | 'bili.pb.bin' | 'bili.cmd.pb.bin' | 'bili.up.json' | 'dplayer.json' | 'artplayer.json' | 'ddplay.json' | 'common.ass';
119
+ export declare enum DM_format {
120
+ DanuniJson = "danuni.json",
121
+ DanuniMinJson = "danuni.min.json",
122
+ DanuniPbBin = "danuni.binpb",
123
+ BiliXml = "bili.xml",
124
+ BiliPbBin = "bili.binpb",
125
+ BiliCmdPbBin = "bili.cmd.binpb",
126
+ BiliUpJson = "bili.up.json",
127
+ DplayerJson = "dplayer.json",
128
+ ArtplayerJson = "artplayer.json",
129
+ DdplayJson = "ddplay.json",
130
+ CommonAss = "common.ass"
131
+ }
120
132
  type shareItems = Partial<Pick<UniDMTools.UniDMObj, 'SOID' | 'senderID' | 'platform' | 'SOID' | 'pool' | 'mode' | 'color'>>;
121
133
  type statItems = Partial<Pick<UniDMTools.UniDMObj, 'SOID' | 'mode' | 'fontsize' | 'color' | 'senderID' | 'content' | 'weight' | 'pool' | 'platform'>>;
122
134
  type Stats<T extends keyof statItems> = Map<statItems[T], number>;
@@ -194,7 +206,7 @@ export declare class UniPool {
194
206
  pool: UniPool;
195
207
  fmt: DM_format;
196
208
  };
197
- convert2(format: DM_format, continue_on_error?: boolean): string | Uint8Array<ArrayBuffer> | UniDM[] | (DM_JSON_Dplayer & {
209
+ convert2(format: DM_format, continue_on_error?: boolean): string | Uint8Array<ArrayBuffer> | UniDM[] | (Partial<UniDMTools.UniDMObj> & Pick<UniDMTools.UniDMObj, "SOID">)[] | (DM_JSON_Dplayer & {
198
210
  danuni?: DanUniConvertTip;
199
211
  }) | (DM_JSON_Artplayer & {
200
212
  danuni?: DanUniConvertTip;
@@ -1,9 +1,9 @@
1
1
  import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
2
  import type { Message } from "@bufbuild/protobuf";
3
3
  /**
4
- * Describes the file bili/dm.proto.
4
+ * Describes the file bilibili/community/service/dm/v1/dm.proto.
5
5
  */
6
- export declare const file_bili_dm: GenFile;
6
+ export declare const file_bilibili_community_service_dm_v1_dm: GenFile;
7
7
  /**
8
8
  * @generated from message bilibili.community.service.dm.v1.Avatar
9
9
  */
@@ -2,39 +2,39 @@ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobu
2
2
  import type { Timestamp } from "@bufbuild/protobuf/wkt";
3
3
  import type { Message } from "@bufbuild/protobuf";
4
4
  /**
5
- * Describes the file danuni.proto.
5
+ * Describes the file danuni/danmaku/v1/danmaku.proto.
6
6
  */
7
- export declare const file_danuni: GenFile;
7
+ export declare const file_danuni_danmaku_v1_danmaku: GenFile;
8
8
  /**
9
- * @generated from message danuni.danmaku.v1.listDanReq
9
+ * @generated from message danuni.danmaku.v1.ListDanRequest
10
10
  */
11
- export type listDanReq = Message<"danuni.danmaku.v1.listDanReq"> & {
11
+ export type ListDanRequest = Message<"danuni.danmaku.v1.ListDanRequest"> & {
12
12
  /**
13
- * @generated from field: string ID = 1;
13
+ * @generated from field: string id = 1;
14
14
  */
15
- ID: string;
15
+ id: string;
16
16
  /**
17
17
  * @generated from field: optional int32 seg = 2;
18
18
  */
19
19
  seg?: number;
20
20
  };
21
21
  /**
22
- * Describes the message danuni.danmaku.v1.listDanReq.
23
- * Use `create(listDanReqSchema)` to create a new message.
22
+ * Describes the message danuni.danmaku.v1.ListDanRequest.
23
+ * Use `create(ListDanRequestSchema)` to create a new message.
24
24
  */
25
- export declare const listDanReqSchema: GenMessage<listDanReq>;
25
+ export declare const ListDanRequestSchema: GenMessage<ListDanRequest>;
26
26
  /**
27
27
  * @generated from message danuni.danmaku.v1.Danmaku
28
28
  */
29
29
  export type Danmaku = Message<"danuni.danmaku.v1.Danmaku"> & {
30
30
  /**
31
- * @generated from field: string SOID = 1;
31
+ * @generated from field: string soid = 1 [json_name = "SOID"];
32
32
  */
33
- SOID: string;
33
+ soid: string;
34
34
  /**
35
- * @generated from field: string DMID = 2;
35
+ * @generated from field: string dmid = 2 [json_name = "DMID"];
36
36
  */
37
- DMID: string;
37
+ dmid: string;
38
38
  /**
39
39
  * @generated from field: int32 progress = 3;
40
40
  */
@@ -52,9 +52,9 @@ export type Danmaku = Message<"danuni.danmaku.v1.Danmaku"> & {
52
52
  */
53
53
  color: number;
54
54
  /**
55
- * @generated from field: string senderID = 7;
55
+ * @generated from field: string sender_id = 7 [json_name = "senderID"];
56
56
  */
57
- senderID: string;
57
+ senderId: string;
58
58
  /**
59
59
  * @generated from field: string content = 8;
60
60
  */
@@ -90,68 +90,72 @@ export type Danmaku = Message<"danuni.danmaku.v1.Danmaku"> & {
90
90
  */
91
91
  export declare const DanmakuSchema: GenMessage<Danmaku>;
92
92
  /**
93
- * @generated from message danuni.danmaku.v1.DanmakuReply
93
+ * @generated from message danuni.danmaku.v1.ListDanResponse
94
94
  */
95
- export type DanmakuReply = Message<"danuni.danmaku.v1.DanmakuReply"> & {
95
+ export type ListDanResponse = Message<"danuni.danmaku.v1.ListDanResponse"> & {
96
96
  /**
97
97
  * @generated from field: repeated danuni.danmaku.v1.Danmaku danmakus = 1;
98
98
  */
99
99
  danmakus: Danmaku[];
100
100
  };
101
101
  /**
102
- * Describes the message danuni.danmaku.v1.DanmakuReply.
103
- * Use `create(DanmakuReplySchema)` to create a new message.
102
+ * Describes the message danuni.danmaku.v1.ListDanResponse.
103
+ * Use `create(ListDanResponseSchema)` to create a new message.
104
104
  */
105
- export declare const DanmakuReplySchema: GenMessage<DanmakuReply>;
105
+ export declare const ListDanResponseSchema: GenMessage<ListDanResponse>;
106
106
  /**
107
+ * 此处作为数字应与danuni库相应类型一一对应
108
+ *
107
109
  * @generated from enum danuni.danmaku.v1.Mode
108
110
  */
109
111
  export declare enum Mode {
110
112
  /**
111
- * @generated from enum value: Normal = 0;
113
+ * @generated from enum value: MODE_NORMAL_UNSPECIFIED = 0;
112
114
  */
113
- Normal = 0,
115
+ NORMAL_UNSPECIFIED = 0,
114
116
  /**
115
- * @generated from enum value: Bottom = 1;
117
+ * @generated from enum value: MODE_BOTTOM = 1;
116
118
  */
117
- Bottom = 1,
119
+ BOTTOM = 1,
118
120
  /**
119
- * @generated from enum value: Top = 2;
121
+ * @generated from enum value: MODE_TOP = 2;
120
122
  */
121
- Top = 2,
123
+ TOP = 2,
122
124
  /**
123
- * @generated from enum value: Reverse = 3;
125
+ * @generated from enum value: MODE_REVERSE = 3;
124
126
  */
125
- Reverse = 3,
127
+ REVERSE = 3,
126
128
  /**
127
- * @generated from enum value: Ext = 4;
129
+ * @generated from enum value: MODE_EXT = 4;
128
130
  */
129
- Ext = 4
131
+ EXT = 4
130
132
  }
131
133
  /**
132
134
  * Describes the enum danuni.danmaku.v1.Mode.
133
135
  */
134
136
  export declare const ModeSchema: GenEnum<Mode>;
135
137
  /**
138
+ * 此处作为数字应与danuni库相应类型一一对应
139
+ *
136
140
  * @generated from enum danuni.danmaku.v1.Pool
137
141
  */
138
142
  export declare enum Pool {
139
143
  /**
140
- * @generated from enum value: Def = 0;
144
+ * @generated from enum value: POOL_DEF_UNSPECIFIED = 0;
141
145
  */
142
- Def = 0,
146
+ DEF_UNSPECIFIED = 0,
143
147
  /**
144
- * @generated from enum value: Sub = 1;
148
+ * @generated from enum value: POOL_SUB = 1;
145
149
  */
146
- Sub = 1,
150
+ SUB = 1,
147
151
  /**
148
- * @generated from enum value: Adv = 2;
152
+ * @generated from enum value: POOL_ADV = 2;
149
153
  */
150
- Adv = 2,
154
+ ADV = 2,
151
155
  /**
152
- * @generated from enum value: Ix = 3;
156
+ * @generated from enum value: POOL_IX = 3;
153
157
  */
154
- Ix = 3
158
+ IX = 3
155
159
  }
156
160
  /**
157
161
  * Describes the enum danuni.danmaku.v1.Pool.
@@ -162,11 +166,11 @@ export declare const PoolSchema: GenEnum<Pool>;
162
166
  */
163
167
  export declare const DanmakuService: GenService<{
164
168
  /**
165
- * @generated from rpc danuni.danmaku.v1.DanmakuService.listDan
169
+ * @generated from rpc danuni.danmaku.v1.DanmakuService.ListDan
166
170
  */
167
171
  listDan: {
168
172
  methodKind: "unary";
169
- input: typeof listDanReqSchema;
170
- output: typeof DanmakuReplySchema;
173
+ input: typeof ListDanRequestSchema;
174
+ output: typeof ListDanResponseSchema;
171
175
  };
172
176
  }>;