Auto-deploy from GitHub
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .gitignore +2 -0
- app.py +103 -20
- entity_recognition.py +68 -18
- lib/bindings/utils.js +189 -0
- lib/tom-select/tom-select.complete.min.js +356 -0
- lib/tom-select/tom-select.css +334 -0
- lib/vis-9.1.2/vis-network.css +0 -0
- lib/vis-9.1.2/vis-network.min.js +0 -0
- requirements.txt +3 -1
- space/.gitignore +2 -0
- space/app.py +103 -20
- space/entity_recognition.py +68 -18
- space/lib/bindings/utils.js +189 -0
- space/lib/tom-select/tom-select.complete.min.js +356 -0
- space/lib/tom-select/tom-select.css +334 -0
- space/lib/vis-9.1.2/vis-network.css +0 -0
- space/lib/vis-9.1.2/vis-network.min.js +0 -0
- space/requirements.txt +3 -1
- space/space/.gitignore +2 -0
- space/space/app.py +103 -20
- space/space/entity_recognition.py +68 -18
- space/space/jfk_text/104-10003-10041.md +47 -0
- space/space/jfk_text/104-10004-10143 (C06932208).md +147 -0
- space/space/jfk_text/104-10004-10143.md +68 -0
- space/space/jfk_text/104-10004-10156.md +55 -0
- space/space/jfk_text/104-10004-10213.md +206 -0
- space/space/jfk_text/104-10005-10321.md +82 -0
- space/space/jfk_text/104-10006-10247.md +145 -0
- space/space/jfk_text/104-10007-10345.md +326 -0
- space/space/jfk_text/104-10009-10021.md +192 -0
- space/space/jfk_text/104-10009-10222.md +72 -0
- space/space/jfk_text/104-10012-10022.md +102 -0
- space/space/jfk_text/104-10012-10024.md +29 -0
- space/space/jfk_text/104-10012-10035.md +208 -0
- space/space/jfk_text/104-10012-10076.md +180 -0
- space/space/jfk_text/104-10012-10078.md +199 -0
- space/space/jfk_text/104-10012-10079.md +61 -0
- space/space/jfk_text/104-10014-10051.md +56 -0
- space/space/jfk_text/104-10014-10064.md +149 -0
- space/space/jfk_text/104-10016-10021.md +74 -0
- space/space/jfk_text/104-10023-10087.md +907 -0
- space/space/jfk_text/104-10048-10124.md +441 -0
- space/space/jfk_text/104-10048-10252.md +104 -0
- space/space/jfk_text/104-10049-10362.md +22 -0
- space/space/jfk_text/104-10049-10375.md +58 -0
- space/space/jfk_text/104-10051-10106.md +40 -0
- space/space/jfk_text/104-10051-10170.md +962 -0
- space/space/jfk_text/104-10052-10130.md +201 -0
- space/space/jfk_text/104-10059-10099.md +501 -0
- space/space/jfk_text/104-10059-10188.md +67 -0
.gitignore
CHANGED
@@ -34,6 +34,8 @@ wordcloud.png
|
|
34 |
wordcloud_output
|
35 |
extracted_entities
|
36 |
entities
|
|
|
|
|
37 |
|
38 |
# Gradio cache & config
|
39 |
gradio_cached_examples/
|
|
|
34 |
wordcloud_output
|
35 |
extracted_entities
|
36 |
entities
|
37 |
+
mindmap.png
|
38 |
+
mindmap_output
|
39 |
|
40 |
# Gradio cache & config
|
41 |
gradio_cached_examples/
|
app.py
CHANGED
@@ -2,22 +2,75 @@ from fastapi import FastAPI,HTTPException
|
|
2 |
from pydantic import BaseModel
|
3 |
from fastapi.responses import FileResponse
|
4 |
import gradio as gr
|
5 |
-
from entity_recognition import extract_entities
|
6 |
#from entity_recognition import generate_word_cloud
|
7 |
from wordcloud import WordCloud
|
8 |
from summarization import summarizer
|
9 |
-
import os
|
10 |
from utils import list_files,process_file
|
11 |
|
12 |
# import threading
|
13 |
-
|
14 |
app = FastAPI()
|
15 |
|
16 |
# Request Model
|
17 |
class TextRequest(BaseModel):
|
18 |
text: str
|
|
|
|
|
19 |
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
@app.post("/summarize")
|
22 |
def summarize_text(request: TextRequest):
|
23 |
chunks = [request.text[i:i+500] for i in range(0, len(request.text), 500)]
|
@@ -44,39 +97,69 @@ def extract_entities_endpoint(request: TextRequest):
|
|
44 |
# Word Cloud Generation Endpoint
|
45 |
@app.post("/wordcloud")
|
46 |
def generate_word_cloud(request: TextRequest):
|
47 |
-
wordcloud = WordCloud(width=800, height=
|
48 |
img_path = "wordcloud.png"
|
49 |
wordcloud.to_file(img_path)
|
50 |
return FileResponse(img_path, media_type="image/png", filename="wordcloud.png")
|
51 |
|
52 |
|
53 |
-
|
54 |
# Gradio UI
|
55 |
with gr.Blocks() as iface:
|
56 |
gr.Markdown("File Selector")
|
57 |
gr.Markdown("Choose a file and process it for summarization, entity recognition, and word cloud generation.")
|
58 |
|
59 |
-
# File selection
|
60 |
-
|
61 |
-
|
|
|
62 |
|
|
|
|
|
|
|
|
|
63 |
|
64 |
-
#
|
65 |
-
|
66 |
-
|
67 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
|
69 |
-
|
70 |
# Process selected file
|
71 |
process_button.click(
|
72 |
fn=process_file,
|
73 |
inputs=file_dropdown,
|
74 |
-
outputs=[output_summary, output_entities, output_wordcloud]
|
75 |
)
|
76 |
|
77 |
-
|
78 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
if __name__ == "__main__":
|
80 |
-
iface.launch(server_name="0.0.0.0", server_port=7860, share=False)
|
81 |
-
time.sleep(1) # Allow time for logs
|
82 |
-
print("\n\n **Gradio Interface is LIVE at: http://localhost:7860 ** \n")
|
|
|
2 |
from pydantic import BaseModel
|
3 |
from fastapi.responses import FileResponse
|
4 |
import gradio as gr
|
5 |
+
from entity_recognition import extract_entities # Import entity extraction function
|
6 |
#from entity_recognition import generate_word_cloud
|
7 |
from wordcloud import WordCloud
|
8 |
from summarization import summarizer
|
|
|
9 |
from utils import list_files,process_file
|
10 |
|
11 |
# import threading
|
12 |
+
TEXT_FOLDER = "jfk_text"
|
13 |
app = FastAPI()
|
14 |
|
15 |
# Request Model
|
16 |
class TextRequest(BaseModel):
|
17 |
text: str
|
18 |
+
import pygraphviz as pgv
|
19 |
+
import re
|
20 |
|
21 |
+
def generate_mermaid_mindmap(text):
|
22 |
+
entities = extract_entities(text)
|
23 |
+
print("Extracted Entities:", entities)
|
24 |
+
|
25 |
+
# Create a directed graph
|
26 |
+
G = pgv.AGraph(directed=True, rankdir="TB", bgcolor="white")
|
27 |
+
|
28 |
+
# Add root node
|
29 |
+
G.add_node("Document", shape="ellipse", style="filled", fillcolor="lightblue", label="Document")
|
30 |
+
|
31 |
+
# Keep track of node names to ensure uniqueness
|
32 |
+
node_counter = {}
|
33 |
+
|
34 |
+
for category, values in entities.items():
|
35 |
+
# Sanitize category name for the node identifier
|
36 |
+
safe_category = re.sub(r'[^a-zA-Z0-9_]', '', category)
|
37 |
+
if not safe_category or safe_category.startswith('.'):
|
38 |
+
safe_category = "Category_" + str(hash(category) % 10000)
|
39 |
+
|
40 |
+
# Add category node
|
41 |
+
G.add_node(safe_category, shape="box", style="filled", fillcolor="lightgreen", label=category)
|
42 |
+
G.add_edge("Document", safe_category)
|
43 |
+
|
44 |
+
for value in values:
|
45 |
+
# Clean up the value
|
46 |
+
cleaned_value = value.strip().rstrip(')').lstrip(',')
|
47 |
+
if not cleaned_value:
|
48 |
+
cleaned_value = "Unknown"
|
49 |
+
|
50 |
+
# Truncate long values for readability (max 50 characters)
|
51 |
+
if len(cleaned_value) > 50:
|
52 |
+
cleaned_value = cleaned_value[:47] + "..."
|
53 |
+
|
54 |
+
# Sanitize value name for the node identifier
|
55 |
+
safe_value = re.sub(r'[^a-zA-Z0-9_]', '', cleaned_value)
|
56 |
+
if not safe_value:
|
57 |
+
safe_value = "Value_" + str(hash(cleaned_value) % 10000)
|
58 |
+
|
59 |
+
# Ensure unique node name
|
60 |
+
node_key = safe_value
|
61 |
+
node_counter[node_key] = node_counter.get(node_key, 0) + 1
|
62 |
+
if node_counter[node_key] > 1:
|
63 |
+
safe_value = f"{safe_value}_{node_counter[node_key]}"
|
64 |
+
|
65 |
+
# Add value node
|
66 |
+
G.add_node(safe_value, shape="ellipse", style="filled", fillcolor="lightyellow", label=cleaned_value)
|
67 |
+
G.add_edge(safe_category, safe_value)
|
68 |
+
|
69 |
+
# Render the graph to a PNG file
|
70 |
+
output_path = "mindmap.png"
|
71 |
+
G.draw(output_path, format="png", prog="dot") # 'dot' is the layout engine
|
72 |
+
|
73 |
+
return output_path
|
74 |
@app.post("/summarize")
|
75 |
def summarize_text(request: TextRequest):
|
76 |
chunks = [request.text[i:i+500] for i in range(0, len(request.text), 500)]
|
|
|
97 |
# Word Cloud Generation Endpoint
|
98 |
@app.post("/wordcloud")
|
99 |
def generate_word_cloud(request: TextRequest):
|
100 |
+
wordcloud = WordCloud(width=800, height=800,max_font_size=40, min_font_size=10, background_color="white").generate(request.text)
|
101 |
img_path = "wordcloud.png"
|
102 |
wordcloud.to_file(img_path)
|
103 |
return FileResponse(img_path, media_type="image/png", filename="wordcloud.png")
|
104 |
|
105 |
|
|
|
106 |
# Gradio UI
|
107 |
with gr.Blocks() as iface:
|
108 |
gr.Markdown("File Selector")
|
109 |
gr.Markdown("Choose a file and process it for summarization, entity recognition, and word cloud generation.")
|
110 |
|
111 |
+
# **File selection & process button**
|
112 |
+
with gr.Row():
|
113 |
+
file_dropdown = gr.Dropdown(choices=list_files(), label=" Select a File", interactive=True)
|
114 |
+
process_button = gr.Button(" Process")
|
115 |
|
116 |
+
# **First Row (Original Text & Summary)**
|
117 |
+
with gr.Row():
|
118 |
+
full_doc_text = gr.Textbox(label=" Full Document")
|
119 |
+
output_summary = gr.Textbox(label=" Summarized Text")
|
120 |
|
121 |
+
# **Second Row (Entities & Word Cloud)**
|
122 |
+
with gr.Row():
|
123 |
+
output_entities = gr.JSON(label=" Entities")
|
124 |
+
output_wordcloud = gr.Image(label=" Word Cloud")
|
125 |
+
with gr.Row():
|
126 |
+
generate_mindmap_button = gr.Button("Generate Mind Map")
|
127 |
+
output_mindmap = gr.Image(label="Mind Map") # Use HTML instead of Textbox
|
128 |
+
|
129 |
+
generate_mindmap_button.click(
|
130 |
+
fn=generate_mermaid_mindmap,
|
131 |
+
inputs=full_doc_text,
|
132 |
+
outputs=output_mindmap
|
133 |
+
)
|
134 |
+
|
135 |
+
|
136 |
+
# # **Mind Map Generation**
|
137 |
+
# with gr.Row():
|
138 |
+
# generate_mindmap_button = gr.Button("Generate Mind Map")
|
139 |
+
# output_mindmap = gr.Image(label="Mind Map")
|
140 |
+
# Mind Map Generation Section
|
141 |
+
# with gr.Row():
|
142 |
+
# generate_mindmap_button = gr.Button("Generate Mind Map")
|
143 |
+
# output_mindmap = gr.HTML(label="Mind Map")
|
144 |
|
|
|
145 |
# Process selected file
|
146 |
process_button.click(
|
147 |
fn=process_file,
|
148 |
inputs=file_dropdown,
|
149 |
+
outputs=[full_doc_text, output_summary, output_entities, output_wordcloud]
|
150 |
)
|
151 |
|
152 |
+
# # Connect mind map button to function (MOVE THIS INSIDE `with gr.Blocks()`)
|
153 |
+
# generate_mindmap_button.click(
|
154 |
+
# fn=generate_mind_map,
|
155 |
+
# inputs=full_doc_text, # Use the full document text
|
156 |
+
# outputs=output_mindmap
|
157 |
+
# )
|
158 |
+
# generate_mindmap_button.click(
|
159 |
+
# fn=generate_mermaid_mindmap,
|
160 |
+
# inputs=full_doc_text,
|
161 |
+
# outputs=output_mindmap
|
162 |
+
# )
|
163 |
+
# Launch Gradio app
|
164 |
if __name__ == "__main__":
|
165 |
+
iface.launch(server_name="0.0.0.0", server_port=7860, share=False, debug=True)
|
|
|
|
entity_recognition.py
CHANGED
@@ -3,7 +3,23 @@ import torch
|
|
3 |
import matplotlib.pyplot as plt
|
4 |
from wordcloud import WordCloud
|
5 |
from gliner import GLiNER
|
6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
# 📂 Define input/output directories
|
8 |
input_dir = "summaryoutput" # Folder containing summarized documents
|
9 |
entity_output_dir = "extracted_entities" # Folder to save extracted entities
|
@@ -14,29 +30,63 @@ device = "cuda" if torch.cuda.is_available() else "cpu" # Use GPU if available
|
|
14 |
model = GLiNER.from_pretrained("urchade/gliner_medium-v2.1").to(device)
|
15 |
|
16 |
# Define labels for entity extraction
|
17 |
-
labels = ["person", "organization", "location", "date", "document", "event", "role", "cryptonym", "operation", "nationality", "contact"]
|
18 |
-
#
|
19 |
existing_entity_files = set(os.listdir(entity_output_dir))
|
20 |
-
|
21 |
-
# 🔹 Function to extract entities from text
|
22 |
def extract_entities(text):
|
23 |
entities = model.predict_entities(text, labels)
|
24 |
-
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
for entity in entities:
|
27 |
entity_type = entity["label"]
|
28 |
-
entity_text = entity["text"]
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
# Function to generate word cloud
|
38 |
def generate_word_cloud(text, output_filename):
|
39 |
-
|
|
|
|
|
|
|
|
|
40 |
|
41 |
# Save word cloud image
|
42 |
plt.figure(figsize=(10, 5))
|
@@ -95,5 +145,5 @@ def extract_entities_from_summaries():
|
|
95 |
print(" Entity extraction and word cloud generation completed!")
|
96 |
|
97 |
|
98 |
-
if __name__ == "__main__":
|
99 |
extract_entities_from_summaries()
|
|
|
3 |
import matplotlib.pyplot as plt
|
4 |
from wordcloud import WordCloud
|
5 |
from gliner import GLiNER
|
6 |
+
import spacy
|
7 |
+
import re
|
8 |
+
# Load spaCy English model
|
9 |
+
nlp = spacy.load("en_core_web_sm")
|
10 |
+
|
11 |
+
# Function to remove stop words
|
12 |
+
def preprocess_text(text):
|
13 |
+
doc = nlp(text)
|
14 |
+
filtered_words = [ token.lemma_ # Convert to base form
|
15 |
+
for token in doc
|
16 |
+
if not token.is_stop # Remove stop words
|
17 |
+
and not token.is_punct # Remove punctuation
|
18 |
+
and not token.is_digit # Remove numbers
|
19 |
+
and len(token.text) > 2 ]
|
20 |
+
|
21 |
+
return " ".join(filtered_words)
|
22 |
+
|
23 |
# 📂 Define input/output directories
|
24 |
input_dir = "summaryoutput" # Folder containing summarized documents
|
25 |
entity_output_dir = "extracted_entities" # Folder to save extracted entities
|
|
|
30 |
model = GLiNER.from_pretrained("urchade/gliner_medium-v2.1").to(device)
|
31 |
|
32 |
# Define labels for entity extraction
|
33 |
+
labels = ["person", "organization", "location", "date", "document", "event", "role", "cryptonym", "operation", "nationality", "contact","SUBJECT","REFERENCE","FROM","TO","DATE","REF","INFO"]
|
34 |
+
# Get already processed files
|
35 |
existing_entity_files = set(os.listdir(entity_output_dir))
|
|
|
|
|
36 |
def extract_entities(text):
|
37 |
entities = model.predict_entities(text, labels)
|
38 |
+
extracted = {}
|
39 |
+
regex_patterns = {
|
40 |
+
"TO": r"(?i)\bTO[:\s]+([^\n]+)",
|
41 |
+
"FROM": r"(?i)\bFROM[:\s]+([^\n]+)",
|
42 |
+
"DATE": r"(?i)\bDATE[:\s]+([^\n]+)",
|
43 |
+
"REF": r"(?i)\bREF[:\s]+([^\n]+)",
|
44 |
+
"SUBJECT": r"(?i)\bSUBJECT[:\s]+([^\n]+)",
|
45 |
+
}
|
46 |
+
for label, pattern in regex_patterns.items():
|
47 |
+
matches = re.findall(pattern, text)
|
48 |
+
if matches:
|
49 |
+
# Clean up matches
|
50 |
+
cleaned_matches = [m.strip().rstrip(')').lstrip(',') for m in matches]
|
51 |
+
extracted[label] = list(set(cleaned_matches)) # Remove duplicates
|
52 |
for entity in entities:
|
53 |
entity_type = entity["label"]
|
54 |
+
entity_text = entity["text"].strip().rstrip(')').lstrip(',')
|
55 |
+
if entity_type not in extracted:
|
56 |
+
extracted[entity_type] = []
|
57 |
+
if entity_text not in extracted[entity_type]: # Avoid duplicates
|
58 |
+
extracted[entity_type].append(entity_text)
|
59 |
+
return extracted
|
60 |
+
# def extract_entities(text):
|
61 |
+
# entities = model.predict_entities(text, labels)
|
62 |
+
# extracted = {}
|
63 |
+
# regex_patterns = {
|
64 |
+
# "TO": r"(?i)\bTO[:\s]+([^\n]+)", # Matches "TO: some text"
|
65 |
+
# "FROM": r"(?i)\bFROM[:\s]+([^\n]+)", # Matches "FROM: some text"
|
66 |
+
# "DATE": r"(?i)\bDATE[:\s]+([^\n]+)", # Matches "DATE: some text"
|
67 |
+
# "REF": r"(?i)\bREF[:\s]+([^\n]+)", # Matches "REF: some text"
|
68 |
+
# "SUBJECT": r"(?i)\bSUBJECT[:\s]+([^\n]+)", # Matches "SUBJECT: some text"
|
69 |
+
# }
|
70 |
+
# # Apply regex patterns
|
71 |
+
# for label, pattern in regex_patterns.items():
|
72 |
+
# matches = re.findall(pattern, text)
|
73 |
+
# if matches:
|
74 |
+
# extracted[label] = matches
|
75 |
+
|
76 |
+
# for entity in entities:
|
77 |
+
# entity_type = entity["label"]
|
78 |
+
# entity_text = entity["text"]
|
79 |
+
# if entity_type not in extracted:
|
80 |
+
# extracted[entity_type] = []
|
81 |
+
# extracted[entity_type].append(entity_text)
|
82 |
+
# return extracted
|
83 |
# Function to generate word cloud
|
84 |
def generate_word_cloud(text, output_filename):
|
85 |
+
os.makedirs(os.path.dirname(output_filename), exist_ok=True)
|
86 |
+
filtered_text = preprocess_text(text)
|
87 |
+
wordcloud = WordCloud(width=800, height=400, background_color="white").generate(filtered_text)
|
88 |
+
wordcloud.to_file(output_filename)
|
89 |
+
|
90 |
|
91 |
# Save word cloud image
|
92 |
plt.figure(figsize=(10, 5))
|
|
|
145 |
print(" Entity extraction and word cloud generation completed!")
|
146 |
|
147 |
|
148 |
+
if __name__ == "__main__"and False:
|
149 |
extract_entities_from_summaries()
|
lib/bindings/utils.js
ADDED
@@ -0,0 +1,189 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
function neighbourhoodHighlight(params) {
|
2 |
+
// console.log("in nieghbourhoodhighlight");
|
3 |
+
allNodes = nodes.get({ returnType: "Object" });
|
4 |
+
// originalNodes = JSON.parse(JSON.stringify(allNodes));
|
5 |
+
// if something is selected:
|
6 |
+
if (params.nodes.length > 0) {
|
7 |
+
highlightActive = true;
|
8 |
+
var i, j;
|
9 |
+
var selectedNode = params.nodes[0];
|
10 |
+
var degrees = 2;
|
11 |
+
|
12 |
+
// mark all nodes as hard to read.
|
13 |
+
for (let nodeId in allNodes) {
|
14 |
+
// nodeColors[nodeId] = allNodes[nodeId].color;
|
15 |
+
allNodes[nodeId].color = "rgba(200,200,200,0.5)";
|
16 |
+
if (allNodes[nodeId].hiddenLabel === undefined) {
|
17 |
+
allNodes[nodeId].hiddenLabel = allNodes[nodeId].label;
|
18 |
+
allNodes[nodeId].label = undefined;
|
19 |
+
}
|
20 |
+
}
|
21 |
+
var connectedNodes = network.getConnectedNodes(selectedNode);
|
22 |
+
var allConnectedNodes = [];
|
23 |
+
|
24 |
+
// get the second degree nodes
|
25 |
+
for (i = 1; i < degrees; i++) {
|
26 |
+
for (j = 0; j < connectedNodes.length; j++) {
|
27 |
+
allConnectedNodes = allConnectedNodes.concat(
|
28 |
+
network.getConnectedNodes(connectedNodes[j])
|
29 |
+
);
|
30 |
+
}
|
31 |
+
}
|
32 |
+
|
33 |
+
// all second degree nodes get a different color and their label back
|
34 |
+
for (i = 0; i < allConnectedNodes.length; i++) {
|
35 |
+
// allNodes[allConnectedNodes[i]].color = "pink";
|
36 |
+
allNodes[allConnectedNodes[i]].color = "rgba(150,150,150,0.75)";
|
37 |
+
if (allNodes[allConnectedNodes[i]].hiddenLabel !== undefined) {
|
38 |
+
allNodes[allConnectedNodes[i]].label =
|
39 |
+
allNodes[allConnectedNodes[i]].hiddenLabel;
|
40 |
+
allNodes[allConnectedNodes[i]].hiddenLabel = undefined;
|
41 |
+
}
|
42 |
+
}
|
43 |
+
|
44 |
+
// all first degree nodes get their own color and their label back
|
45 |
+
for (i = 0; i < connectedNodes.length; i++) {
|
46 |
+
// allNodes[connectedNodes[i]].color = undefined;
|
47 |
+
allNodes[connectedNodes[i]].color = nodeColors[connectedNodes[i]];
|
48 |
+
if (allNodes[connectedNodes[i]].hiddenLabel !== undefined) {
|
49 |
+
allNodes[connectedNodes[i]].label =
|
50 |
+
allNodes[connectedNodes[i]].hiddenLabel;
|
51 |
+
allNodes[connectedNodes[i]].hiddenLabel = undefined;
|
52 |
+
}
|
53 |
+
}
|
54 |
+
|
55 |
+
// the main node gets its own color and its label back.
|
56 |
+
// allNodes[selectedNode].color = undefined;
|
57 |
+
allNodes[selectedNode].color = nodeColors[selectedNode];
|
58 |
+
if (allNodes[selectedNode].hiddenLabel !== undefined) {
|
59 |
+
allNodes[selectedNode].label = allNodes[selectedNode].hiddenLabel;
|
60 |
+
allNodes[selectedNode].hiddenLabel = undefined;
|
61 |
+
}
|
62 |
+
} else if (highlightActive === true) {
|
63 |
+
// console.log("highlightActive was true");
|
64 |
+
// reset all nodes
|
65 |
+
for (let nodeId in allNodes) {
|
66 |
+
// allNodes[nodeId].color = "purple";
|
67 |
+
allNodes[nodeId].color = nodeColors[nodeId];
|
68 |
+
// delete allNodes[nodeId].color;
|
69 |
+
if (allNodes[nodeId].hiddenLabel !== undefined) {
|
70 |
+
allNodes[nodeId].label = allNodes[nodeId].hiddenLabel;
|
71 |
+
allNodes[nodeId].hiddenLabel = undefined;
|
72 |
+
}
|
73 |
+
}
|
74 |
+
highlightActive = false;
|
75 |
+
}
|
76 |
+
|
77 |
+
// transform the object into an array
|
78 |
+
var updateArray = [];
|
79 |
+
if (params.nodes.length > 0) {
|
80 |
+
for (let nodeId in allNodes) {
|
81 |
+
if (allNodes.hasOwnProperty(nodeId)) {
|
82 |
+
// console.log(allNodes[nodeId]);
|
83 |
+
updateArray.push(allNodes[nodeId]);
|
84 |
+
}
|
85 |
+
}
|
86 |
+
nodes.update(updateArray);
|
87 |
+
} else {
|
88 |
+
// console.log("Nothing was selected");
|
89 |
+
for (let nodeId in allNodes) {
|
90 |
+
if (allNodes.hasOwnProperty(nodeId)) {
|
91 |
+
// console.log(allNodes[nodeId]);
|
92 |
+
// allNodes[nodeId].color = {};
|
93 |
+
updateArray.push(allNodes[nodeId]);
|
94 |
+
}
|
95 |
+
}
|
96 |
+
nodes.update(updateArray);
|
97 |
+
}
|
98 |
+
}
|
99 |
+
|
100 |
+
function filterHighlight(params) {
|
101 |
+
allNodes = nodes.get({ returnType: "Object" });
|
102 |
+
// if something is selected:
|
103 |
+
if (params.nodes.length > 0) {
|
104 |
+
filterActive = true;
|
105 |
+
let selectedNodes = params.nodes;
|
106 |
+
|
107 |
+
// hiding all nodes and saving the label
|
108 |
+
for (let nodeId in allNodes) {
|
109 |
+
allNodes[nodeId].hidden = true;
|
110 |
+
if (allNodes[nodeId].savedLabel === undefined) {
|
111 |
+
allNodes[nodeId].savedLabel = allNodes[nodeId].label;
|
112 |
+
allNodes[nodeId].label = undefined;
|
113 |
+
}
|
114 |
+
}
|
115 |
+
|
116 |
+
for (let i=0; i < selectedNodes.length; i++) {
|
117 |
+
allNodes[selectedNodes[i]].hidden = false;
|
118 |
+
if (allNodes[selectedNodes[i]].savedLabel !== undefined) {
|
119 |
+
allNodes[selectedNodes[i]].label = allNodes[selectedNodes[i]].savedLabel;
|
120 |
+
allNodes[selectedNodes[i]].savedLabel = undefined;
|
121 |
+
}
|
122 |
+
}
|
123 |
+
|
124 |
+
} else if (filterActive === true) {
|
125 |
+
// reset all nodes
|
126 |
+
for (let nodeId in allNodes) {
|
127 |
+
allNodes[nodeId].hidden = false;
|
128 |
+
if (allNodes[nodeId].savedLabel !== undefined) {
|
129 |
+
allNodes[nodeId].label = allNodes[nodeId].savedLabel;
|
130 |
+
allNodes[nodeId].savedLabel = undefined;
|
131 |
+
}
|
132 |
+
}
|
133 |
+
filterActive = false;
|
134 |
+
}
|
135 |
+
|
136 |
+
// transform the object into an array
|
137 |
+
var updateArray = [];
|
138 |
+
if (params.nodes.length > 0) {
|
139 |
+
for (let nodeId in allNodes) {
|
140 |
+
if (allNodes.hasOwnProperty(nodeId)) {
|
141 |
+
updateArray.push(allNodes[nodeId]);
|
142 |
+
}
|
143 |
+
}
|
144 |
+
nodes.update(updateArray);
|
145 |
+
} else {
|
146 |
+
for (let nodeId in allNodes) {
|
147 |
+
if (allNodes.hasOwnProperty(nodeId)) {
|
148 |
+
updateArray.push(allNodes[nodeId]);
|
149 |
+
}
|
150 |
+
}
|
151 |
+
nodes.update(updateArray);
|
152 |
+
}
|
153 |
+
}
|
154 |
+
|
155 |
+
function selectNode(nodes) {
|
156 |
+
network.selectNodes(nodes);
|
157 |
+
neighbourhoodHighlight({ nodes: nodes });
|
158 |
+
return nodes;
|
159 |
+
}
|
160 |
+
|
161 |
+
function selectNodes(nodes) {
|
162 |
+
network.selectNodes(nodes);
|
163 |
+
filterHighlight({nodes: nodes});
|
164 |
+
return nodes;
|
165 |
+
}
|
166 |
+
|
167 |
+
function highlightFilter(filter) {
|
168 |
+
let selectedNodes = []
|
169 |
+
let selectedProp = filter['property']
|
170 |
+
if (filter['item'] === 'node') {
|
171 |
+
let allNodes = nodes.get({ returnType: "Object" });
|
172 |
+
for (let nodeId in allNodes) {
|
173 |
+
if (allNodes[nodeId][selectedProp] && filter['value'].includes((allNodes[nodeId][selectedProp]).toString())) {
|
174 |
+
selectedNodes.push(nodeId)
|
175 |
+
}
|
176 |
+
}
|
177 |
+
}
|
178 |
+
else if (filter['item'] === 'edge'){
|
179 |
+
let allEdges = edges.get({returnType: 'object'});
|
180 |
+
// check if the selected property exists for selected edge and select the nodes connected to the edge
|
181 |
+
for (let edge in allEdges) {
|
182 |
+
if (allEdges[edge][selectedProp] && filter['value'].includes((allEdges[edge][selectedProp]).toString())) {
|
183 |
+
selectedNodes.push(allEdges[edge]['from'])
|
184 |
+
selectedNodes.push(allEdges[edge]['to'])
|
185 |
+
}
|
186 |
+
}
|
187 |
+
}
|
188 |
+
selectNodes(selectedNodes)
|
189 |
+
}
|
lib/tom-select/tom-select.complete.min.js
ADDED
@@ -0,0 +1,356 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Tom Select v2.0.0-rc.4
|
3 |
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
4 |
+
*/
|
5 |
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).TomSelect=t()}(this,(function(){"use strict"
|
6 |
+
function e(e,t){e.split(/\s+/).forEach((e=>{t(e)}))}class t{constructor(){this._events={}}on(t,i){e(t,(e=>{this._events[e]=this._events[e]||[],this._events[e].push(i)}))}off(t,i){var s=arguments.length
|
7 |
+
0!==s?e(t,(e=>{if(1===s)return delete this._events[e]
|
8 |
+
e in this._events!=!1&&this._events[e].splice(this._events[e].indexOf(i),1)})):this._events={}}trigger(t,...i){var s=this
|
9 |
+
e(t,(e=>{if(e in s._events!=!1)for(let t of s._events[e])t.apply(s,i)}))}}var i
|
10 |
+
const s="[̀-ͯ·ʾ]",n=new RegExp(s,"g")
|
11 |
+
var o
|
12 |
+
const r={"æ":"ae","ⱥ":"a","ø":"o"},l=new RegExp(Object.keys(r).join("|"),"g"),a=[[67,67],[160,160],[192,438],[452,652],[961,961],[1019,1019],[1083,1083],[1281,1289],[1984,1984],[5095,5095],[7429,7441],[7545,7549],[7680,7935],[8580,8580],[9398,9449],[11360,11391],[42792,42793],[42802,42851],[42873,42897],[42912,42922],[64256,64260],[65313,65338],[65345,65370]],c=e=>e.normalize("NFKD").replace(n,"").toLowerCase().replace(l,(function(e){return r[e]})),d=(e,t="|")=>{if(1==e.length)return e[0]
|
13 |
+
var i=1
|
14 |
+
return e.forEach((e=>{i=Math.max(i,e.length)})),1==i?"["+e.join("")+"]":"(?:"+e.join(t)+")"},p=e=>{if(1===e.length)return[[e]]
|
15 |
+
var t=[]
|
16 |
+
return p(e.substring(1)).forEach((function(i){var s=i.slice(0)
|
17 |
+
s[0]=e.charAt(0)+s[0],t.push(s),(s=i.slice(0)).unshift(e.charAt(0)),t.push(s)})),t},u=e=>{void 0===o&&(o=(()=>{var e={}
|
18 |
+
a.forEach((t=>{for(let s=t[0];s<=t[1];s++){let t=String.fromCharCode(s),n=c(t)
|
19 |
+
if(n!=t.toLowerCase()){n in e||(e[n]=[n])
|
20 |
+
var i=new RegExp(d(e[n]),"iu")
|
21 |
+
t.match(i)||e[n].push(t)}}}))
|
22 |
+
var t=Object.keys(e)
|
23 |
+
t=t.sort(((e,t)=>t.length-e.length)),i=new RegExp("("+d(t)+"[̀-ͯ·ʾ]*)","g")
|
24 |
+
var s={}
|
25 |
+
return t.sort(((e,t)=>e.length-t.length)).forEach((t=>{var i=p(t).map((t=>(t=t.map((t=>e.hasOwnProperty(t)?d(e[t]):t)),d(t,""))))
|
26 |
+
s[t]=d(i)})),s})())
|
27 |
+
return e.normalize("NFKD").toLowerCase().split(i).map((e=>{if(""==e)return""
|
28 |
+
const t=c(e)
|
29 |
+
if(o.hasOwnProperty(t))return o[t]
|
30 |
+
const i=e.normalize("NFC")
|
31 |
+
return i!=e?d([e,i]):e})).join("")},h=(e,t)=>{if(e)return e[t]},g=(e,t)=>{if(e){for(var i,s=t.split(".");(i=s.shift())&&(e=e[i]););return e}},f=(e,t,i)=>{var s,n
|
32 |
+
return e?-1===(n=(e+="").search(t.regex))?0:(s=t.string.length/e.length,0===n&&(s+=.5),s*i):0},v=e=>(e+"").replace(/([\$\(-\+\.\?\[-\^\{-\}])/g,"\\$1"),m=(e,t)=>{var i=e[t]
|
33 |
+
if("function"==typeof i)return i
|
34 |
+
i&&!Array.isArray(i)&&(e[t]=[i])},y=(e,t)=>{if(Array.isArray(e))e.forEach(t)
|
35 |
+
else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)},O=(e,t)=>"number"==typeof e&&"number"==typeof t?e>t?1:e<t?-1:0:(e=c(e+"").toLowerCase())>(t=c(t+"").toLowerCase())?1:t>e?-1:0
|
36 |
+
class b{constructor(e,t){this.items=e,this.settings=t||{diacritics:!0}}tokenize(e,t,i){if(!e||!e.length)return[]
|
37 |
+
const s=[],n=e.split(/\s+/)
|
38 |
+
var o
|
39 |
+
return i&&(o=new RegExp("^("+Object.keys(i).map(v).join("|")+"):(.*)$")),n.forEach((e=>{let i,n=null,r=null
|
40 |
+
o&&(i=e.match(o))&&(n=i[1],e=i[2]),e.length>0&&(r=v(e),this.settings.diacritics&&(r=u(r)),t&&(r="\\b"+r)),s.push({string:e,regex:r?new RegExp(r,"iu"):null,field:n})})),s}getScoreFunction(e,t){var i=this.prepareSearch(e,t)
|
41 |
+
return this._getScoreFunction(i)}_getScoreFunction(e){const t=e.tokens,i=t.length
|
42 |
+
if(!i)return function(){return 0}
|
43 |
+
const s=e.options.fields,n=e.weights,o=s.length,r=e.getAttrFn
|
44 |
+
if(!o)return function(){return 1}
|
45 |
+
const l=1===o?function(e,t){const i=s[0].field
|
46 |
+
return f(r(t,i),e,n[i])}:function(e,t){var i=0
|
47 |
+
if(e.field){const s=r(t,e.field)
|
48 |
+
!e.regex&&s?i+=1/o:i+=f(s,e,1)}else y(n,((s,n)=>{i+=f(r(t,n),e,s)}))
|
49 |
+
return i/o}
|
50 |
+
return 1===i?function(e){return l(t[0],e)}:"and"===e.options.conjunction?function(e){for(var s,n=0,o=0;n<i;n++){if((s=l(t[n],e))<=0)return 0
|
51 |
+
o+=s}return o/i}:function(e){var s=0
|
52 |
+
return y(t,(t=>{s+=l(t,e)})),s/i}}getSortFunction(e,t){var i=this.prepareSearch(e,t)
|
53 |
+
return this._getSortFunction(i)}_getSortFunction(e){var t,i,s
|
54 |
+
const n=this,o=e.options,r=!e.query&&o.sort_empty?o.sort_empty:o.sort,l=[],a=[]
|
55 |
+
if("function"==typeof r)return r.bind(this)
|
56 |
+
const c=function(t,i){return"$score"===t?i.score:e.getAttrFn(n.items[i.id],t)}
|
57 |
+
if(r)for(t=0,i=r.length;t<i;t++)(e.query||"$score"!==r[t].field)&&l.push(r[t])
|
58 |
+
if(e.query){for(s=!0,t=0,i=l.length;t<i;t++)if("$score"===l[t].field){s=!1
|
59 |
+
break}s&&l.unshift({field:"$score",direction:"desc"})}else for(t=0,i=l.length;t<i;t++)if("$score"===l[t].field){l.splice(t,1)
|
60 |
+
break}for(t=0,i=l.length;t<i;t++)a.push("desc"===l[t].direction?-1:1)
|
61 |
+
const d=l.length
|
62 |
+
if(d){if(1===d){const e=l[0].field,t=a[0]
|
63 |
+
return function(i,s){return t*O(c(e,i),c(e,s))}}return function(e,t){var i,s,n
|
64 |
+
for(i=0;i<d;i++)if(n=l[i].field,s=a[i]*O(c(n,e),c(n,t)))return s
|
65 |
+
return 0}}return null}prepareSearch(e,t){const i={}
|
66 |
+
var s=Object.assign({},t)
|
67 |
+
if(m(s,"sort"),m(s,"sort_empty"),s.fields){m(s,"fields")
|
68 |
+
const e=[]
|
69 |
+
s.fields.forEach((t=>{"string"==typeof t&&(t={field:t,weight:1}),e.push(t),i[t.field]="weight"in t?t.weight:1})),s.fields=e}return{options:s,query:e.toLowerCase().trim(),tokens:this.tokenize(e,s.respect_word_boundaries,i),total:0,items:[],weights:i,getAttrFn:s.nesting?g:h}}search(e,t){var i,s,n=this
|
70 |
+
s=this.prepareSearch(e,t),t=s.options,e=s.query
|
71 |
+
const o=t.score||n._getScoreFunction(s)
|
72 |
+
e.length?y(n.items,((e,n)=>{i=o(e),(!1===t.filter||i>0)&&s.items.push({score:i,id:n})})):y(n.items,((e,t)=>{s.items.push({score:1,id:t})}))
|
73 |
+
const r=n._getSortFunction(s)
|
74 |
+
return r&&s.items.sort(r),s.total=s.items.length,"number"==typeof t.limit&&(s.items=s.items.slice(0,t.limit)),s}}const w=e=>{if(e.jquery)return e[0]
|
75 |
+
if(e instanceof HTMLElement)return e
|
76 |
+
if(e.indexOf("<")>-1){let t=document.createElement("div")
|
77 |
+
return t.innerHTML=e.trim(),t.firstChild}return document.querySelector(e)},_=(e,t)=>{var i=document.createEvent("HTMLEvents")
|
78 |
+
i.initEvent(t,!0,!1),e.dispatchEvent(i)},I=(e,t)=>{Object.assign(e.style,t)},C=(e,...t)=>{var i=A(t);(e=x(e)).map((e=>{i.map((t=>{e.classList.add(t)}))}))},S=(e,...t)=>{var i=A(t);(e=x(e)).map((e=>{i.map((t=>{e.classList.remove(t)}))}))},A=e=>{var t=[]
|
79 |
+
return y(e,(e=>{"string"==typeof e&&(e=e.trim().split(/[\11\12\14\15\40]/)),Array.isArray(e)&&(t=t.concat(e))})),t.filter(Boolean)},x=e=>(Array.isArray(e)||(e=[e]),e),k=(e,t,i)=>{if(!i||i.contains(e))for(;e&&e.matches;){if(e.matches(t))return e
|
80 |
+
e=e.parentNode}},F=(e,t=0)=>t>0?e[e.length-1]:e[0],L=(e,t)=>{if(!e)return-1
|
81 |
+
t=t||e.nodeName
|
82 |
+
for(var i=0;e=e.previousElementSibling;)e.matches(t)&&i++
|
83 |
+
return i},P=(e,t)=>{y(t,((t,i)=>{null==t?e.removeAttribute(i):e.setAttribute(i,""+t)}))},E=(e,t)=>{e.parentNode&&e.parentNode.replaceChild(t,e)},T=(e,t)=>{if(null===t)return
|
84 |
+
if("string"==typeof t){if(!t.length)return
|
85 |
+
t=new RegExp(t,"i")}const i=e=>3===e.nodeType?(e=>{var i=e.data.match(t)
|
86 |
+
if(i&&e.data.length>0){var s=document.createElement("span")
|
87 |
+
s.className="highlight"
|
88 |
+
var n=e.splitText(i.index)
|
89 |
+
n.splitText(i[0].length)
|
90 |
+
var o=n.cloneNode(!0)
|
91 |
+
return s.appendChild(o),E(n,s),1}return 0})(e):((e=>{if(1===e.nodeType&&e.childNodes&&!/(script|style)/i.test(e.tagName)&&("highlight"!==e.className||"SPAN"!==e.tagName))for(var t=0;t<e.childNodes.length;++t)t+=i(e.childNodes[t])})(e),0)
|
92 |
+
i(e)},V="undefined"!=typeof navigator&&/Mac/.test(navigator.userAgent)?"metaKey":"ctrlKey"
|
93 |
+
var j={options:[],optgroups:[],plugins:[],delimiter:",",splitOn:null,persist:!0,diacritics:!0,create:null,createOnBlur:!1,createFilter:null,highlight:!0,openOnFocus:!0,shouldOpen:null,maxOptions:50,maxItems:null,hideSelected:null,duplicates:!1,addPrecedence:!1,selectOnTab:!1,preload:null,allowEmptyOption:!1,loadThrottle:300,loadingClass:"loading",dataAttr:null,optgroupField:"optgroup",valueField:"value",labelField:"text",disabledField:"disabled",optgroupLabelField:"label",optgroupValueField:"value",lockOptgroupOrder:!1,sortField:"$order",searchField:["text"],searchConjunction:"and",mode:null,wrapperClass:"ts-wrapper",controlClass:"ts-control",dropdownClass:"ts-dropdown",dropdownContentClass:"ts-dropdown-content",itemClass:"item",optionClass:"option",dropdownParent:null,copyClassesToDropdown:!1,placeholder:null,hidePlaceholder:null,shouldLoad:function(e){return e.length>0},render:{}}
|
94 |
+
const q=e=>null==e?null:D(e),D=e=>"boolean"==typeof e?e?"1":"0":e+"",N=e=>(e+"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""),z=(e,t)=>{var i
|
95 |
+
return function(s,n){var o=this
|
96 |
+
i&&(o.loading=Math.max(o.loading-1,0),clearTimeout(i)),i=setTimeout((function(){i=null,o.loadedSearches[s]=!0,e.call(o,s,n)}),t)}},R=(e,t,i)=>{var s,n=e.trigger,o={}
|
97 |
+
for(s in e.trigger=function(){var i=arguments[0]
|
98 |
+
if(-1===t.indexOf(i))return n.apply(e,arguments)
|
99 |
+
o[i]=arguments},i.apply(e,[]),e.trigger=n,o)n.apply(e,o[s])},H=(e,t=!1)=>{e&&(e.preventDefault(),t&&e.stopPropagation())},B=(e,t,i,s)=>{e.addEventListener(t,i,s)},K=(e,t)=>!!t&&(!!t[e]&&1===(t.altKey?1:0)+(t.ctrlKey?1:0)+(t.shiftKey?1:0)+(t.metaKey?1:0)),M=(e,t)=>{const i=e.getAttribute("id")
|
100 |
+
return i||(e.setAttribute("id",t),t)},Q=e=>e.replace(/[\\"']/g,"\\$&"),G=(e,t)=>{t&&e.append(t)}
|
101 |
+
function U(e,t){var i=Object.assign({},j,t),s=i.dataAttr,n=i.labelField,o=i.valueField,r=i.disabledField,l=i.optgroupField,a=i.optgroupLabelField,c=i.optgroupValueField,d=e.tagName.toLowerCase(),p=e.getAttribute("placeholder")||e.getAttribute("data-placeholder")
|
102 |
+
if(!p&&!i.allowEmptyOption){let t=e.querySelector('option[value=""]')
|
103 |
+
t&&(p=t.textContent)}var u,h,g,f,v,m,O={placeholder:p,options:[],optgroups:[],items:[],maxItems:null}
|
104 |
+
return"select"===d?(h=O.options,g={},f=1,v=e=>{var t=Object.assign({},e.dataset),i=s&&t[s]
|
105 |
+
return"string"==typeof i&&i.length&&(t=Object.assign(t,JSON.parse(i))),t},m=(e,t)=>{var s=q(e.value)
|
106 |
+
if(null!=s&&(s||i.allowEmptyOption)){if(g.hasOwnProperty(s)){if(t){var a=g[s][l]
|
107 |
+
a?Array.isArray(a)?a.push(t):g[s][l]=[a,t]:g[s][l]=t}}else{var c=v(e)
|
108 |
+
c[n]=c[n]||e.textContent,c[o]=c[o]||s,c[r]=c[r]||e.disabled,c[l]=c[l]||t,c.$option=e,g[s]=c,h.push(c)}e.selected&&O.items.push(s)}},O.maxItems=e.hasAttribute("multiple")?null:1,y(e.children,(e=>{var t,i,s
|
109 |
+
"optgroup"===(u=e.tagName.toLowerCase())?((s=v(t=e))[a]=s[a]||t.getAttribute("label")||"",s[c]=s[c]||f++,s[r]=s[r]||t.disabled,O.optgroups.push(s),i=s[c],y(t.children,(e=>{m(e,i)}))):"option"===u&&m(e)}))):(()=>{const t=e.getAttribute(s)
|
110 |
+
if(t)O.options=JSON.parse(t),y(O.options,(e=>{O.items.push(e[o])}))
|
111 |
+
else{var r=e.value.trim()||""
|
112 |
+
if(!i.allowEmptyOption&&!r.length)return
|
113 |
+
const t=r.split(i.delimiter)
|
114 |
+
y(t,(e=>{const t={}
|
115 |
+
t[n]=e,t[o]=e,O.options.push(t)})),O.items=t}})(),Object.assign({},j,O,t)}var W=0
|
116 |
+
class J extends(function(e){return e.plugins={},class extends e{constructor(...e){super(...e),this.plugins={names:[],settings:{},requested:{},loaded:{}}}static define(t,i){e.plugins[t]={name:t,fn:i}}initializePlugins(e){var t,i
|
117 |
+
const s=this,n=[]
|
118 |
+
if(Array.isArray(e))e.forEach((e=>{"string"==typeof e?n.push(e):(s.plugins.settings[e.name]=e.options,n.push(e.name))}))
|
119 |
+
else if(e)for(t in e)e.hasOwnProperty(t)&&(s.plugins.settings[t]=e[t],n.push(t))
|
120 |
+
for(;i=n.shift();)s.require(i)}loadPlugin(t){var i=this,s=i.plugins,n=e.plugins[t]
|
121 |
+
if(!e.plugins.hasOwnProperty(t))throw new Error('Unable to find "'+t+'" plugin')
|
122 |
+
s.requested[t]=!0,s.loaded[t]=n.fn.apply(i,[i.plugins.settings[t]||{}]),s.names.push(t)}require(e){var t=this,i=t.plugins
|
123 |
+
if(!t.plugins.loaded.hasOwnProperty(e)){if(i.requested[e])throw new Error('Plugin has circular dependency ("'+e+'")')
|
124 |
+
t.loadPlugin(e)}return i.loaded[e]}}}(t)){constructor(e,t){var i
|
125 |
+
super(),this.order=0,this.isOpen=!1,this.isDisabled=!1,this.isInvalid=!1,this.isValid=!0,this.isLocked=!1,this.isFocused=!1,this.isInputHidden=!1,this.isSetup=!1,this.ignoreFocus=!1,this.hasOptions=!1,this.lastValue="",this.caretPos=0,this.loading=0,this.loadedSearches={},this.activeOption=null,this.activeItems=[],this.optgroups={},this.options={},this.userOptions={},this.items=[],W++
|
126 |
+
var s=w(e)
|
127 |
+
if(s.tomselect)throw new Error("Tom Select already initialized on this element")
|
128 |
+
s.tomselect=this,i=(window.getComputedStyle&&window.getComputedStyle(s,null)).getPropertyValue("direction")
|
129 |
+
const n=U(s,t)
|
130 |
+
this.settings=n,this.input=s,this.tabIndex=s.tabIndex||0,this.is_select_tag="select"===s.tagName.toLowerCase(),this.rtl=/rtl/i.test(i),this.inputId=M(s,"tomselect-"+W),this.isRequired=s.required,this.sifter=new b(this.options,{diacritics:n.diacritics}),n.mode=n.mode||(1===n.maxItems?"single":"multi"),"boolean"!=typeof n.hideSelected&&(n.hideSelected="multi"===n.mode),"boolean"!=typeof n.hidePlaceholder&&(n.hidePlaceholder="multi"!==n.mode)
|
131 |
+
var o=n.createFilter
|
132 |
+
"function"!=typeof o&&("string"==typeof o&&(o=new RegExp(o)),o instanceof RegExp?n.createFilter=e=>o.test(e):n.createFilter=()=>!0),this.initializePlugins(n.plugins),this.setupCallbacks(),this.setupTemplates()
|
133 |
+
const r=w("<div>"),l=w("<div>"),a=this._render("dropdown"),c=w('<div role="listbox" tabindex="-1">'),d=this.input.getAttribute("class")||"",p=n.mode
|
134 |
+
var u
|
135 |
+
if(C(r,n.wrapperClass,d,p),C(l,n.controlClass),G(r,l),C(a,n.dropdownClass,p),n.copyClassesToDropdown&&C(a,d),C(c,n.dropdownContentClass),G(a,c),w(n.dropdownParent||r).appendChild(a),n.hasOwnProperty("controlInput"))n.controlInput?(u=w(n.controlInput),this.focus_node=u):(u=w("<input/>"),this.focus_node=l)
|
136 |
+
else{u=w('<input type="text" autocomplete="off" size="1" />')
|
137 |
+
y(["autocorrect","autocapitalize","autocomplete"],(e=>{s.getAttribute(e)&&P(u,{[e]:s.getAttribute(e)})})),u.tabIndex=-1,l.appendChild(u),this.focus_node=u}this.wrapper=r,this.dropdown=a,this.dropdown_content=c,this.control=l,this.control_input=u,this.setup()}setup(){const e=this,t=e.settings,i=e.control_input,s=e.dropdown,n=e.dropdown_content,o=e.wrapper,r=e.control,l=e.input,a=e.focus_node,c={passive:!0},d=e.inputId+"-ts-dropdown"
|
138 |
+
P(n,{id:d}),P(a,{role:"combobox","aria-haspopup":"listbox","aria-expanded":"false","aria-controls":d})
|
139 |
+
const p=M(a,e.inputId+"-ts-control"),u="label[for='"+(e=>e.replace(/['"\\]/g,"\\$&"))(e.inputId)+"']",h=document.querySelector(u),g=e.focus.bind(e)
|
140 |
+
if(h){B(h,"click",g),P(h,{for:p})
|
141 |
+
const t=M(h,e.inputId+"-ts-label")
|
142 |
+
P(a,{"aria-labelledby":t}),P(n,{"aria-labelledby":t})}if(o.style.width=l.style.width,e.plugins.names.length){const t="plugin-"+e.plugins.names.join(" plugin-")
|
143 |
+
C([o,s],t)}(null===t.maxItems||t.maxItems>1)&&e.is_select_tag&&P(l,{multiple:"multiple"}),e.settings.placeholder&&P(i,{placeholder:t.placeholder}),!e.settings.splitOn&&e.settings.delimiter&&(e.settings.splitOn=new RegExp("\\s*"+v(e.settings.delimiter)+"+\\s*")),t.load&&t.loadThrottle&&(t.load=z(t.load,t.loadThrottle)),e.control_input.type=l.type,B(s,"click",(t=>{const i=k(t.target,"[data-selectable]")
|
144 |
+
i&&(e.onOptionSelect(t,i),H(t,!0))})),B(r,"click",(t=>{var s=k(t.target,"[data-ts-item]",r)
|
145 |
+
s&&e.onItemSelect(t,s)?H(t,!0):""==i.value&&(e.onClick(),H(t,!0))})),B(i,"mousedown",(e=>{""!==i.value&&e.stopPropagation()})),B(a,"keydown",(t=>e.onKeyDown(t))),B(i,"keypress",(t=>e.onKeyPress(t))),B(i,"input",(t=>e.onInput(t))),B(a,"resize",(()=>e.positionDropdown()),c),B(a,"blur",(t=>e.onBlur(t))),B(a,"focus",(t=>e.onFocus(t))),B(a,"paste",(t=>e.onPaste(t)))
|
146 |
+
const f=t=>{const i=t.composedPath()[0]
|
147 |
+
if(!o.contains(i)&&!s.contains(i))return e.isFocused&&e.blur(),void e.inputState()
|
148 |
+
H(t,!0)}
|
149 |
+
var m=()=>{e.isOpen&&e.positionDropdown()}
|
150 |
+
B(document,"mousedown",f),B(window,"scroll",m,c),B(window,"resize",m,c),this._destroy=()=>{document.removeEventListener("mousedown",f),window.removeEventListener("sroll",m),window.removeEventListener("resize",m),h&&h.removeEventListener("click",g)},this.revertSettings={innerHTML:l.innerHTML,tabIndex:l.tabIndex},l.tabIndex=-1,l.insertAdjacentElement("afterend",e.wrapper),e.sync(!1),t.items=[],delete t.optgroups,delete t.options,B(l,"invalid",(t=>{e.isValid&&(e.isValid=!1,e.isInvalid=!0,e.refreshState())})),e.updateOriginalInput(),e.refreshItems(),e.close(!1),e.inputState(),e.isSetup=!0,l.disabled?e.disable():e.enable(),e.on("change",this.onChange),C(l,"tomselected","ts-hidden-accessible"),e.trigger("initialize"),!0===t.preload&&e.preload()}setupOptions(e=[],t=[]){this.addOptions(e),y(t,(e=>{this.registerOptionGroup(e)}))}setupTemplates(){var e=this,t=e.settings.labelField,i=e.settings.optgroupLabelField,s={optgroup:e=>{let t=document.createElement("div")
|
151 |
+
return t.className="optgroup",t.appendChild(e.options),t},optgroup_header:(e,t)=>'<div class="optgroup-header">'+t(e[i])+"</div>",option:(e,i)=>"<div>"+i(e[t])+"</div>",item:(e,i)=>"<div>"+i(e[t])+"</div>",option_create:(e,t)=>'<div class="create">Add <strong>'+t(e.input)+"</strong>…</div>",no_results:()=>'<div class="no-results">No results found</div>',loading:()=>'<div class="spinner"></div>',not_loading:()=>{},dropdown:()=>"<div></div>"}
|
152 |
+
e.settings.render=Object.assign({},s,e.settings.render)}setupCallbacks(){var e,t,i={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",item_select:"onItemSelect",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",optgroup_add:"onOptionGroupAdd",optgroup_remove:"onOptionGroupRemove",optgroup_clear:"onOptionGroupClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType",load:"onLoad",focus:"onFocus",blur:"onBlur"}
|
153 |
+
for(e in i)(t=this.settings[i[e]])&&this.on(e,t)}sync(e=!0){const t=this,i=e?U(t.input,{delimiter:t.settings.delimiter}):t.settings
|
154 |
+
t.setupOptions(i.options,i.optgroups),t.setValue(i.items,!0),t.lastQuery=null}onClick(){var e=this
|
155 |
+
if(e.activeItems.length>0)return e.clearActiveItems(),void e.focus()
|
156 |
+
e.isFocused&&e.isOpen?e.blur():e.focus()}onMouseDown(){}onChange(){_(this.input,"input"),_(this.input,"change")}onPaste(e){var t=this
|
157 |
+
t.isFull()||t.isInputHidden||t.isLocked?H(e):t.settings.splitOn&&setTimeout((()=>{var e=t.inputValue()
|
158 |
+
if(e.match(t.settings.splitOn)){var i=e.trim().split(t.settings.splitOn)
|
159 |
+
y(i,(e=>{t.createItem(e)}))}}),0)}onKeyPress(e){var t=this
|
160 |
+
if(!t.isLocked){var i=String.fromCharCode(e.keyCode||e.which)
|
161 |
+
return t.settings.create&&"multi"===t.settings.mode&&i===t.settings.delimiter?(t.createItem(),void H(e)):void 0}H(e)}onKeyDown(e){var t=this
|
162 |
+
if(t.isLocked)9!==e.keyCode&&H(e)
|
163 |
+
else{switch(e.keyCode){case 65:if(K(V,e))return H(e),void t.selectAll()
|
164 |
+
break
|
165 |
+
case 27:return t.isOpen&&(H(e,!0),t.close()),void t.clearActiveItems()
|
166 |
+
case 40:if(!t.isOpen&&t.hasOptions)t.open()
|
167 |
+
else if(t.activeOption){let e=t.getAdjacent(t.activeOption,1)
|
168 |
+
e&&t.setActiveOption(e)}return void H(e)
|
169 |
+
case 38:if(t.activeOption){let e=t.getAdjacent(t.activeOption,-1)
|
170 |
+
e&&t.setActiveOption(e)}return void H(e)
|
171 |
+
case 13:return void(t.isOpen&&t.activeOption?(t.onOptionSelect(e,t.activeOption),H(e)):t.settings.create&&t.createItem()&&H(e))
|
172 |
+
case 37:return void t.advanceSelection(-1,e)
|
173 |
+
case 39:return void t.advanceSelection(1,e)
|
174 |
+
case 9:return void(t.settings.selectOnTab&&(t.isOpen&&t.activeOption&&(t.onOptionSelect(e,t.activeOption),H(e)),t.settings.create&&t.createItem()&&H(e)))
|
175 |
+
case 8:case 46:return void t.deleteSelection(e)}t.isInputHidden&&!K(V,e)&&H(e)}}onInput(e){var t=this
|
176 |
+
if(!t.isLocked){var i=t.inputValue()
|
177 |
+
t.lastValue!==i&&(t.lastValue=i,t.settings.shouldLoad.call(t,i)&&t.load(i),t.refreshOptions(),t.trigger("type",i))}}onFocus(e){var t=this,i=t.isFocused
|
178 |
+
if(t.isDisabled)return t.blur(),void H(e)
|
179 |
+
t.ignoreFocus||(t.isFocused=!0,"focus"===t.settings.preload&&t.preload(),i||t.trigger("focus"),t.activeItems.length||(t.showInput(),t.refreshOptions(!!t.settings.openOnFocus)),t.refreshState())}onBlur(e){if(!1!==document.hasFocus()){var t=this
|
180 |
+
if(t.isFocused){t.isFocused=!1,t.ignoreFocus=!1
|
181 |
+
var i=()=>{t.close(),t.setActiveItem(),t.setCaret(t.items.length),t.trigger("blur")}
|
182 |
+
t.settings.create&&t.settings.createOnBlur?t.createItem(null,!1,i):i()}}}onOptionSelect(e,t){var i,s=this
|
183 |
+
t&&(t.parentElement&&t.parentElement.matches("[data-disabled]")||(t.classList.contains("create")?s.createItem(null,!0,(()=>{s.settings.closeAfterSelect&&s.close()})):void 0!==(i=t.dataset.value)&&(s.lastQuery=null,s.addItem(i),s.settings.closeAfterSelect&&s.close(),!s.settings.hideSelected&&e.type&&/click/.test(e.type)&&s.setActiveOption(t))))}onItemSelect(e,t){var i=this
|
184 |
+
return!i.isLocked&&"multi"===i.settings.mode&&(H(e),i.setActiveItem(t,e),!0)}canLoad(e){return!!this.settings.load&&!this.loadedSearches.hasOwnProperty(e)}load(e){const t=this
|
185 |
+
if(!t.canLoad(e))return
|
186 |
+
C(t.wrapper,t.settings.loadingClass),t.loading++
|
187 |
+
const i=t.loadCallback.bind(t)
|
188 |
+
t.settings.load.call(t,e,i)}loadCallback(e,t){const i=this
|
189 |
+
i.loading=Math.max(i.loading-1,0),i.lastQuery=null,i.clearActiveOption(),i.setupOptions(e,t),i.refreshOptions(i.isFocused&&!i.isInputHidden),i.loading||S(i.wrapper,i.settings.loadingClass),i.trigger("load",e,t)}preload(){var e=this.wrapper.classList
|
190 |
+
e.contains("preloaded")||(e.add("preloaded"),this.load(""))}setTextboxValue(e=""){var t=this.control_input
|
191 |
+
t.value!==e&&(t.value=e,_(t,"update"),this.lastValue=e)}getValue(){return this.is_select_tag&&this.input.hasAttribute("multiple")?this.items:this.items.join(this.settings.delimiter)}setValue(e,t){R(this,t?[]:["change"],(()=>{this.clear(t),this.addItems(e,t)}))}setMaxItems(e){0===e&&(e=null),this.settings.maxItems=e,this.refreshState()}setActiveItem(e,t){var i,s,n,o,r,l,a=this
|
192 |
+
if("single"!==a.settings.mode){if(!e)return a.clearActiveItems(),void(a.isFocused&&a.showInput())
|
193 |
+
if("click"===(i=t&&t.type.toLowerCase())&&K("shiftKey",t)&&a.activeItems.length){for(l=a.getLastActive(),(n=Array.prototype.indexOf.call(a.control.children,l))>(o=Array.prototype.indexOf.call(a.control.children,e))&&(r=n,n=o,o=r),s=n;s<=o;s++)e=a.control.children[s],-1===a.activeItems.indexOf(e)&&a.setActiveItemClass(e)
|
194 |
+
H(t)}else"click"===i&&K(V,t)||"keydown"===i&&K("shiftKey",t)?e.classList.contains("active")?a.removeActiveItem(e):a.setActiveItemClass(e):(a.clearActiveItems(),a.setActiveItemClass(e))
|
195 |
+
a.hideInput(),a.isFocused||a.focus()}}setActiveItemClass(e){const t=this,i=t.control.querySelector(".last-active")
|
196 |
+
i&&S(i,"last-active"),C(e,"active last-active"),t.trigger("item_select",e),-1==t.activeItems.indexOf(e)&&t.activeItems.push(e)}removeActiveItem(e){var t=this.activeItems.indexOf(e)
|
197 |
+
this.activeItems.splice(t,1),S(e,"active")}clearActiveItems(){S(this.activeItems,"active"),this.activeItems=[]}setActiveOption(e){e!==this.activeOption&&(this.clearActiveOption(),e&&(this.activeOption=e,P(this.focus_node,{"aria-activedescendant":e.getAttribute("id")}),P(e,{"aria-selected":"true"}),C(e,"active"),this.scrollToOption(e)))}scrollToOption(e,t){if(!e)return
|
198 |
+
const i=this.dropdown_content,s=i.clientHeight,n=i.scrollTop||0,o=e.offsetHeight,r=e.getBoundingClientRect().top-i.getBoundingClientRect().top+n
|
199 |
+
r+o>s+n?this.scroll(r-s+o,t):r<n&&this.scroll(r,t)}scroll(e,t){const i=this.dropdown_content
|
200 |
+
t&&(i.style.scrollBehavior=t),i.scrollTop=e,i.style.scrollBehavior=""}clearActiveOption(){this.activeOption&&(S(this.activeOption,"active"),P(this.activeOption,{"aria-selected":null})),this.activeOption=null,P(this.focus_node,{"aria-activedescendant":null})}selectAll(){if("single"===this.settings.mode)return
|
201 |
+
const e=this.controlChildren()
|
202 |
+
e.length&&(this.hideInput(),this.close(),this.activeItems=e,C(e,"active"))}inputState(){var e=this
|
203 |
+
e.control.contains(e.control_input)&&(P(e.control_input,{placeholder:e.settings.placeholder}),e.activeItems.length>0||!e.isFocused&&e.settings.hidePlaceholder&&e.items.length>0?(e.setTextboxValue(),e.isInputHidden=!0):(e.settings.hidePlaceholder&&e.items.length>0&&P(e.control_input,{placeholder:""}),e.isInputHidden=!1),e.wrapper.classList.toggle("input-hidden",e.isInputHidden))}hideInput(){this.inputState()}showInput(){this.inputState()}inputValue(){return this.control_input.value.trim()}focus(){var e=this
|
204 |
+
e.isDisabled||(e.ignoreFocus=!0,e.control_input.offsetWidth?e.control_input.focus():e.focus_node.focus(),setTimeout((()=>{e.ignoreFocus=!1,e.onFocus()}),0))}blur(){this.focus_node.blur(),this.onBlur()}getScoreFunction(e){return this.sifter.getScoreFunction(e,this.getSearchOptions())}getSearchOptions(){var e=this.settings,t=e.sortField
|
205 |
+
return"string"==typeof e.sortField&&(t=[{field:e.sortField}]),{fields:e.searchField,conjunction:e.searchConjunction,sort:t,nesting:e.nesting}}search(e){var t,i,s,n=this,o=this.getSearchOptions()
|
206 |
+
if(n.settings.score&&"function"!=typeof(s=n.settings.score.call(n,e)))throw new Error('Tom Select "score" setting must be a function that returns a function')
|
207 |
+
if(e!==n.lastQuery?(n.lastQuery=e,i=n.sifter.search(e,Object.assign(o,{score:s})),n.currentResults=i):i=Object.assign({},n.currentResults),n.settings.hideSelected)for(t=i.items.length-1;t>=0;t--){let e=q(i.items[t].id)
|
208 |
+
e&&-1!==n.items.indexOf(e)&&i.items.splice(t,1)}return i}refreshOptions(e=!0){var t,i,s,n,o,r,l,a,c,d,p
|
209 |
+
const u={},h=[]
|
210 |
+
var g,f=this,v=f.inputValue(),m=f.search(v),O=f.activeOption,b=f.settings.shouldOpen||!1,w=f.dropdown_content
|
211 |
+
for(O&&(c=O.dataset.value,d=O.closest("[data-group]")),n=m.items.length,"number"==typeof f.settings.maxOptions&&(n=Math.min(n,f.settings.maxOptions)),n>0&&(b=!0),t=0;t<n;t++){let e=m.items[t].id,n=f.options[e],l=f.getOption(e,!0)
|
212 |
+
for(f.settings.hideSelected||l.classList.toggle("selected",f.items.includes(e)),o=n[f.settings.optgroupField]||"",i=0,s=(r=Array.isArray(o)?o:[o])&&r.length;i<s;i++)o=r[i],f.optgroups.hasOwnProperty(o)||(o=""),u.hasOwnProperty(o)||(u[o]=document.createDocumentFragment(),h.push(o)),i>0&&(l=l.cloneNode(!0),P(l,{id:n.$id+"-clone-"+i,"aria-selected":null}),l.classList.add("ts-cloned"),S(l,"active")),c==e&&d&&d.dataset.group===o&&(O=l),u[o].appendChild(l)}this.settings.lockOptgroupOrder&&h.sort(((e,t)=>(f.optgroups[e]&&f.optgroups[e].$order||0)-(f.optgroups[t]&&f.optgroups[t].$order||0))),l=document.createDocumentFragment(),y(h,(e=>{if(f.optgroups.hasOwnProperty(e)&&u[e].children.length){let t=document.createDocumentFragment(),i=f.render("optgroup_header",f.optgroups[e])
|
213 |
+
G(t,i),G(t,u[e])
|
214 |
+
let s=f.render("optgroup",{group:f.optgroups[e],options:t})
|
215 |
+
G(l,s)}else G(l,u[e])})),w.innerHTML="",G(w,l),f.settings.highlight&&(g=w.querySelectorAll("span.highlight"),Array.prototype.forEach.call(g,(function(e){var t=e.parentNode
|
216 |
+
t.replaceChild(e.firstChild,e),t.normalize()})),m.query.length&&m.tokens.length&&y(m.tokens,(e=>{T(w,e.regex)})))
|
217 |
+
var _=e=>{let t=f.render(e,{input:v})
|
218 |
+
return t&&(b=!0,w.insertBefore(t,w.firstChild)),t}
|
219 |
+
if(f.loading?_("loading"):f.settings.shouldLoad.call(f,v)?0===m.items.length&&_("no_results"):_("not_loading"),(a=f.canCreate(v))&&(p=_("option_create")),f.hasOptions=m.items.length>0||a,b){if(m.items.length>0){if(!w.contains(O)&&"single"===f.settings.mode&&f.items.length&&(O=f.getOption(f.items[0])),!w.contains(O)){let e=0
|
220 |
+
p&&!f.settings.addPrecedence&&(e=1),O=f.selectable()[e]}}else p&&(O=p)
|
221 |
+
e&&!f.isOpen&&(f.open(),f.scrollToOption(O,"auto")),f.setActiveOption(O)}else f.clearActiveOption(),e&&f.isOpen&&f.close(!1)}selectable(){return this.dropdown_content.querySelectorAll("[data-selectable]")}addOption(e,t=!1){const i=this
|
222 |
+
if(Array.isArray(e))return i.addOptions(e,t),!1
|
223 |
+
const s=q(e[i.settings.valueField])
|
224 |
+
return null!==s&&!i.options.hasOwnProperty(s)&&(e.$order=e.$order||++i.order,e.$id=i.inputId+"-opt-"+e.$order,i.options[s]=e,i.lastQuery=null,t&&(i.userOptions[s]=t,i.trigger("option_add",s,e)),s)}addOptions(e,t=!1){y(e,(e=>{this.addOption(e,t)}))}registerOption(e){return this.addOption(e)}registerOptionGroup(e){var t=q(e[this.settings.optgroupValueField])
|
225 |
+
return null!==t&&(e.$order=e.$order||++this.order,this.optgroups[t]=e,t)}addOptionGroup(e,t){var i
|
226 |
+
t[this.settings.optgroupValueField]=e,(i=this.registerOptionGroup(t))&&this.trigger("optgroup_add",i,t)}removeOptionGroup(e){this.optgroups.hasOwnProperty(e)&&(delete this.optgroups[e],this.clearCache(),this.trigger("optgroup_remove",e))}clearOptionGroups(){this.optgroups={},this.clearCache(),this.trigger("optgroup_clear")}updateOption(e,t){const i=this
|
227 |
+
var s,n
|
228 |
+
const o=q(e),r=q(t[i.settings.valueField])
|
229 |
+
if(null===o)return
|
230 |
+
if(!i.options.hasOwnProperty(o))return
|
231 |
+
if("string"!=typeof r)throw new Error("Value must be set in option data")
|
232 |
+
const l=i.getOption(o),a=i.getItem(o)
|
233 |
+
if(t.$order=t.$order||i.options[o].$order,delete i.options[o],i.uncacheValue(r),i.options[r]=t,l){if(i.dropdown_content.contains(l)){const e=i._render("option",t)
|
234 |
+
E(l,e),i.activeOption===l&&i.setActiveOption(e)}l.remove()}a&&(-1!==(n=i.items.indexOf(o))&&i.items.splice(n,1,r),s=i._render("item",t),a.classList.contains("active")&&C(s,"active"),E(a,s)),i.lastQuery=null}removeOption(e,t){const i=this
|
235 |
+
e=D(e),i.uncacheValue(e),delete i.userOptions[e],delete i.options[e],i.lastQuery=null,i.trigger("option_remove",e),i.removeItem(e,t)}clearOptions(){this.loadedSearches={},this.userOptions={},this.clearCache()
|
236 |
+
var e={}
|
237 |
+
y(this.options,((t,i)=>{this.items.indexOf(i)>=0&&(e[i]=this.options[i])})),this.options=this.sifter.items=e,this.lastQuery=null,this.trigger("option_clear")}getOption(e,t=!1){const i=q(e)
|
238 |
+
if(null!==i&&this.options.hasOwnProperty(i)){const e=this.options[i]
|
239 |
+
if(e.$div)return e.$div
|
240 |
+
if(t)return this._render("option",e)}return null}getAdjacent(e,t,i="option"){var s
|
241 |
+
if(!e)return null
|
242 |
+
s="item"==i?this.controlChildren():this.dropdown_content.querySelectorAll("[data-selectable]")
|
243 |
+
for(let i=0;i<s.length;i++)if(s[i]==e)return t>0?s[i+1]:s[i-1]
|
244 |
+
return null}getItem(e){if("object"==typeof e)return e
|
245 |
+
var t=q(e)
|
246 |
+
return null!==t?this.control.querySelector(`[data-value="${Q(t)}"]`):null}addItems(e,t){var i=this,s=Array.isArray(e)?e:[e]
|
247 |
+
for(let e=0,n=(s=s.filter((e=>-1===i.items.indexOf(e)))).length;e<n;e++)i.isPending=e<n-1,i.addItem(s[e],t)}addItem(e,t){R(this,t?[]:["change"],(()=>{var i,s
|
248 |
+
const n=this,o=n.settings.mode,r=q(e)
|
249 |
+
if((!r||-1===n.items.indexOf(r)||("single"===o&&n.close(),"single"!==o&&n.settings.duplicates))&&null!==r&&n.options.hasOwnProperty(r)&&("single"===o&&n.clear(t),"multi"!==o||!n.isFull())){if(i=n._render("item",n.options[r]),n.control.contains(i)&&(i=i.cloneNode(!0)),s=n.isFull(),n.items.splice(n.caretPos,0,r),n.insertAtCaret(i),n.isSetup){if(!n.isPending&&n.settings.hideSelected){let e=n.getOption(r),t=n.getAdjacent(e,1)
|
250 |
+
t&&n.setActiveOption(t)}n.isPending||n.refreshOptions(n.isFocused&&"single"!==o),0!=n.settings.closeAfterSelect&&n.isFull()?n.close():n.isPending||n.positionDropdown(),n.trigger("item_add",r,i),n.isPending||n.updateOriginalInput({silent:t})}(!n.isPending||!s&&n.isFull())&&(n.inputState(),n.refreshState())}}))}removeItem(e=null,t){const i=this
|
251 |
+
if(!(e=i.getItem(e)))return
|
252 |
+
var s,n
|
253 |
+
const o=e.dataset.value
|
254 |
+
s=L(e),e.remove(),e.classList.contains("active")&&(n=i.activeItems.indexOf(e),i.activeItems.splice(n,1),S(e,"active")),i.items.splice(s,1),i.lastQuery=null,!i.settings.persist&&i.userOptions.hasOwnProperty(o)&&i.removeOption(o,t),s<i.caretPos&&i.setCaret(i.caretPos-1),i.updateOriginalInput({silent:t}),i.refreshState(),i.positionDropdown(),i.trigger("item_remove",o,e)}createItem(e=null,t=!0,i=(()=>{})){var s,n=this,o=n.caretPos
|
255 |
+
if(e=e||n.inputValue(),!n.canCreate(e))return i(),!1
|
256 |
+
n.lock()
|
257 |
+
var r=!1,l=e=>{if(n.unlock(),!e||"object"!=typeof e)return i()
|
258 |
+
var s=q(e[n.settings.valueField])
|
259 |
+
if("string"!=typeof s)return i()
|
260 |
+
n.setTextboxValue(),n.addOption(e,!0),n.setCaret(o),n.addItem(s),n.refreshOptions(t&&"single"!==n.settings.mode),i(e),r=!0}
|
261 |
+
return s="function"==typeof n.settings.create?n.settings.create.call(this,e,l):{[n.settings.labelField]:e,[n.settings.valueField]:e},r||l(s),!0}refreshItems(){var e=this
|
262 |
+
e.lastQuery=null,e.isSetup&&e.addItems(e.items),e.updateOriginalInput(),e.refreshState()}refreshState(){const e=this
|
263 |
+
e.refreshValidityState()
|
264 |
+
const t=e.isFull(),i=e.isLocked
|
265 |
+
e.wrapper.classList.toggle("rtl",e.rtl)
|
266 |
+
const s=e.wrapper.classList
|
267 |
+
var n
|
268 |
+
s.toggle("focus",e.isFocused),s.toggle("disabled",e.isDisabled),s.toggle("required",e.isRequired),s.toggle("invalid",!e.isValid),s.toggle("locked",i),s.toggle("full",t),s.toggle("input-active",e.isFocused&&!e.isInputHidden),s.toggle("dropdown-active",e.isOpen),s.toggle("has-options",(n=e.options,0===Object.keys(n).length)),s.toggle("has-items",e.items.length>0)}refreshValidityState(){var e=this
|
269 |
+
e.input.checkValidity&&(e.isValid=e.input.checkValidity(),e.isInvalid=!e.isValid)}isFull(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems}updateOriginalInput(e={}){const t=this
|
270 |
+
var i,s
|
271 |
+
const n=t.input.querySelector('option[value=""]')
|
272 |
+
if(t.is_select_tag){const e=[]
|
273 |
+
function o(i,s,o){return i||(i=w('<option value="'+N(s)+'">'+N(o)+"</option>")),i!=n&&t.input.append(i),e.push(i),i.selected=!0,i}t.input.querySelectorAll("option:checked").forEach((e=>{e.selected=!1})),0==t.items.length&&"single"==t.settings.mode?o(n,"",""):t.items.forEach((n=>{if(i=t.options[n],s=i[t.settings.labelField]||"",e.includes(i.$option)){o(t.input.querySelector(`option[value="${Q(n)}"]:not(:checked)`),n,s)}else i.$option=o(i.$option,n,s)}))}else t.input.value=t.getValue()
|
274 |
+
t.isSetup&&(e.silent||t.trigger("change",t.getValue()))}open(){var e=this
|
275 |
+
e.isLocked||e.isOpen||"multi"===e.settings.mode&&e.isFull()||(e.isOpen=!0,P(e.focus_node,{"aria-expanded":"true"}),e.refreshState(),I(e.dropdown,{visibility:"hidden",display:"block"}),e.positionDropdown(),I(e.dropdown,{visibility:"visible",display:"block"}),e.focus(),e.trigger("dropdown_open",e.dropdown))}close(e=!0){var t=this,i=t.isOpen
|
276 |
+
e&&(t.setTextboxValue(),"single"===t.settings.mode&&t.items.length&&t.hideInput()),t.isOpen=!1,P(t.focus_node,{"aria-expanded":"false"}),I(t.dropdown,{display:"none"}),t.settings.hideSelected&&t.clearActiveOption(),t.refreshState(),i&&t.trigger("dropdown_close",t.dropdown)}positionDropdown(){if("body"===this.settings.dropdownParent){var e=this.control,t=e.getBoundingClientRect(),i=e.offsetHeight+t.top+window.scrollY,s=t.left+window.scrollX
|
277 |
+
I(this.dropdown,{width:t.width+"px",top:i+"px",left:s+"px"})}}clear(e){var t=this
|
278 |
+
if(t.items.length){var i=t.controlChildren()
|
279 |
+
y(i,(e=>{t.removeItem(e,!0)})),t.showInput(),e||t.updateOriginalInput(),t.trigger("clear")}}insertAtCaret(e){const t=this,i=t.caretPos,s=t.control
|
280 |
+
s.insertBefore(e,s.children[i]),t.setCaret(i+1)}deleteSelection(e){var t,i,s,n,o,r=this
|
281 |
+
t=e&&8===e.keyCode?-1:1,i={start:(o=r.control_input).selectionStart||0,length:(o.selectionEnd||0)-(o.selectionStart||0)}
|
282 |
+
const l=[]
|
283 |
+
if(r.activeItems.length)n=F(r.activeItems,t),s=L(n),t>0&&s++,y(r.activeItems,(e=>l.push(e)))
|
284 |
+
else if((r.isFocused||"single"===r.settings.mode)&&r.items.length){const e=r.controlChildren()
|
285 |
+
t<0&&0===i.start&&0===i.length?l.push(e[r.caretPos-1]):t>0&&i.start===r.inputValue().length&&l.push(e[r.caretPos])}const a=l.map((e=>e.dataset.value))
|
286 |
+
if(!a.length||"function"==typeof r.settings.onDelete&&!1===r.settings.onDelete.call(r,a,e))return!1
|
287 |
+
for(H(e,!0),void 0!==s&&r.setCaret(s);l.length;)r.removeItem(l.pop())
|
288 |
+
return r.showInput(),r.positionDropdown(),r.refreshOptions(!1),!0}advanceSelection(e,t){var i,s,n=this
|
289 |
+
n.rtl&&(e*=-1),n.inputValue().length||(K(V,t)||K("shiftKey",t)?(s=(i=n.getLastActive(e))?i.classList.contains("active")?n.getAdjacent(i,e,"item"):i:e>0?n.control_input.nextElementSibling:n.control_input.previousElementSibling)&&(s.classList.contains("active")&&n.removeActiveItem(i),n.setActiveItemClass(s)):n.moveCaret(e))}moveCaret(e){}getLastActive(e){let t=this.control.querySelector(".last-active")
|
290 |
+
if(t)return t
|
291 |
+
var i=this.control.querySelectorAll(".active")
|
292 |
+
return i?F(i,e):void 0}setCaret(e){this.caretPos=this.items.length}controlChildren(){return Array.from(this.control.querySelectorAll("[data-ts-item]"))}lock(){this.close(),this.isLocked=!0,this.refreshState()}unlock(){this.isLocked=!1,this.refreshState()}disable(){var e=this
|
293 |
+
e.input.disabled=!0,e.control_input.disabled=!0,e.focus_node.tabIndex=-1,e.isDisabled=!0,e.lock()}enable(){var e=this
|
294 |
+
e.input.disabled=!1,e.control_input.disabled=!1,e.focus_node.tabIndex=e.tabIndex,e.isDisabled=!1,e.unlock()}destroy(){var e=this,t=e.revertSettings
|
295 |
+
e.trigger("destroy"),e.off(),e.wrapper.remove(),e.dropdown.remove(),e.input.innerHTML=t.innerHTML,e.input.tabIndex=t.tabIndex,S(e.input,"tomselected","ts-hidden-accessible"),e._destroy(),delete e.input.tomselect}render(e,t){return"function"!=typeof this.settings.render[e]?null:this._render(e,t)}_render(e,t){var i,s,n=""
|
296 |
+
const o=this
|
297 |
+
return"option"!==e&&"item"!=e||(n=D(t[o.settings.valueField])),null==(s=o.settings.render[e].call(this,t,N))||(s=w(s),"option"===e||"option_create"===e?t[o.settings.disabledField]?P(s,{"aria-disabled":"true"}):P(s,{"data-selectable":""}):"optgroup"===e&&(i=t.group[o.settings.optgroupValueField],P(s,{"data-group":i}),t.group[o.settings.disabledField]&&P(s,{"data-disabled":""})),"option"!==e&&"item"!==e||(P(s,{"data-value":n}),"item"===e?(C(s,o.settings.itemClass),P(s,{"data-ts-item":""})):(C(s,o.settings.optionClass),P(s,{role:"option",id:t.$id}),o.options[n].$div=s))),s}clearCache(){y(this.options,((e,t)=>{e.$div&&(e.$div.remove(),delete e.$div)}))}uncacheValue(e){const t=this.getOption(e)
|
298 |
+
t&&t.remove()}canCreate(e){return this.settings.create&&e.length>0&&this.settings.createFilter.call(this,e)}hook(e,t,i){var s=this,n=s[t]
|
299 |
+
s[t]=function(){var t,o
|
300 |
+
return"after"===e&&(t=n.apply(s,arguments)),o=i.apply(s,arguments),"instead"===e?o:("before"===e&&(t=n.apply(s,arguments)),t)}}}return J.define("change_listener",(function(){B(this.input,"change",(()=>{this.sync()}))})),J.define("checkbox_options",(function(){var e=this,t=e.onOptionSelect
|
301 |
+
e.settings.hideSelected=!1
|
302 |
+
var i=function(e){setTimeout((()=>{var t=e.querySelector("input")
|
303 |
+
e.classList.contains("selected")?t.checked=!0:t.checked=!1}),1)}
|
304 |
+
e.hook("after","setupTemplates",(()=>{var t=e.settings.render.option
|
305 |
+
e.settings.render.option=(i,s)=>{var n=w(t.call(e,i,s)),o=document.createElement("input")
|
306 |
+
o.addEventListener("click",(function(e){H(e)})),o.type="checkbox"
|
307 |
+
const r=q(i[e.settings.valueField])
|
308 |
+
return r&&e.items.indexOf(r)>-1&&(o.checked=!0),n.prepend(o),n}})),e.on("item_remove",(t=>{var s=e.getOption(t)
|
309 |
+
s&&(s.classList.remove("selected"),i(s))})),e.hook("instead","onOptionSelect",((s,n)=>{if(n.classList.contains("selected"))return n.classList.remove("selected"),e.removeItem(n.dataset.value),e.refreshOptions(),void H(s,!0)
|
310 |
+
t.call(e,s,n),i(n)}))})),J.define("clear_button",(function(e){const t=this,i=Object.assign({className:"clear-button",title:"Clear All",html:e=>`<div class="${e.className}" title="${e.title}">×</div>`},e)
|
311 |
+
t.on("initialize",(()=>{var e=w(i.html(i))
|
312 |
+
e.addEventListener("click",(e=>{t.clear(),"single"===t.settings.mode&&t.settings.allowEmptyOption&&t.addItem(""),e.preventDefault(),e.stopPropagation()})),t.control.appendChild(e)}))})),J.define("drag_drop",(function(){var e=this
|
313 |
+
if(!$.fn.sortable)throw new Error('The "drag_drop" plugin requires jQuery UI "sortable".')
|
314 |
+
if("multi"===e.settings.mode){var t=e.lock,i=e.unlock
|
315 |
+
e.hook("instead","lock",(()=>{var i=$(e.control).data("sortable")
|
316 |
+
return i&&i.disable(),t.call(e)})),e.hook("instead","unlock",(()=>{var t=$(e.control).data("sortable")
|
317 |
+
return t&&t.enable(),i.call(e)})),e.on("initialize",(()=>{var t=$(e.control).sortable({items:"[data-value]",forcePlaceholderSize:!0,disabled:e.isLocked,start:(e,i)=>{i.placeholder.css("width",i.helper.css("width")),t.css({overflow:"visible"})},stop:()=>{t.css({overflow:"hidden"})
|
318 |
+
var i=[]
|
319 |
+
t.children("[data-value]").each((function(){this.dataset.value&&i.push(this.dataset.value)})),e.setValue(i)}})}))}})),J.define("dropdown_header",(function(e){const t=this,i=Object.assign({title:"Untitled",headerClass:"dropdown-header",titleRowClass:"dropdown-header-title",labelClass:"dropdown-header-label",closeClass:"dropdown-header-close",html:e=>'<div class="'+e.headerClass+'"><div class="'+e.titleRowClass+'"><span class="'+e.labelClass+'">'+e.title+'</span><a class="'+e.closeClass+'">×</a></div></div>'},e)
|
320 |
+
t.on("initialize",(()=>{var e=w(i.html(i)),s=e.querySelector("."+i.closeClass)
|
321 |
+
s&&s.addEventListener("click",(e=>{H(e,!0),t.close()})),t.dropdown.insertBefore(e,t.dropdown.firstChild)}))})),J.define("caret_position",(function(){var e=this
|
322 |
+
e.hook("instead","setCaret",(t=>{"single"!==e.settings.mode&&e.control.contains(e.control_input)?(t=Math.max(0,Math.min(e.items.length,t)))==e.caretPos||e.isPending||e.controlChildren().forEach(((i,s)=>{s<t?e.control_input.insertAdjacentElement("beforebegin",i):e.control.appendChild(i)})):t=e.items.length,e.caretPos=t})),e.hook("instead","moveCaret",(t=>{if(!e.isFocused)return
|
323 |
+
const i=e.getLastActive(t)
|
324 |
+
if(i){const s=L(i)
|
325 |
+
e.setCaret(t>0?s+1:s),e.setActiveItem()}else e.setCaret(e.caretPos+t)}))})),J.define("dropdown_input",(function(){var e=this
|
326 |
+
e.settings.shouldOpen=!0,e.hook("before","setup",(()=>{e.focus_node=e.control,C(e.control_input,"dropdown-input")
|
327 |
+
const t=w('<div class="dropdown-input-wrap">')
|
328 |
+
t.append(e.control_input),e.dropdown.insertBefore(t,e.dropdown.firstChild)})),e.on("initialize",(()=>{e.control_input.addEventListener("keydown",(t=>{switch(t.keyCode){case 27:return e.isOpen&&(H(t,!0),e.close()),void e.clearActiveItems()
|
329 |
+
case 9:e.focus_node.tabIndex=-1}return e.onKeyDown.call(e,t)})),e.on("blur",(()=>{e.focus_node.tabIndex=e.isDisabled?-1:e.tabIndex})),e.on("dropdown_open",(()=>{e.control_input.focus()}))
|
330 |
+
const t=e.onBlur
|
331 |
+
e.hook("instead","onBlur",(i=>{if(!i||i.relatedTarget!=e.control_input)return t.call(e)})),B(e.control_input,"blur",(()=>e.onBlur())),e.hook("before","close",(()=>{e.isOpen&&e.focus_node.focus()}))}))})),J.define("input_autogrow",(function(){var e=this
|
332 |
+
e.on("initialize",(()=>{var t=document.createElement("span"),i=e.control_input
|
333 |
+
t.style.cssText="position:absolute; top:-99999px; left:-99999px; width:auto; padding:0; white-space:pre; ",e.wrapper.appendChild(t)
|
334 |
+
for(const e of["letterSpacing","fontSize","fontFamily","fontWeight","textTransform"])t.style[e]=i.style[e]
|
335 |
+
var s=()=>{e.items.length>0?(t.textContent=i.value,i.style.width=t.clientWidth+"px"):i.style.width=""}
|
336 |
+
s(),e.on("update item_add item_remove",s),B(i,"input",s),B(i,"keyup",s),B(i,"blur",s),B(i,"update",s)}))})),J.define("no_backspace_delete",(function(){var e=this,t=e.deleteSelection
|
337 |
+
this.hook("instead","deleteSelection",(i=>!!e.activeItems.length&&t.call(e,i)))})),J.define("no_active_items",(function(){this.hook("instead","setActiveItem",(()=>{})),this.hook("instead","selectAll",(()=>{}))})),J.define("optgroup_columns",(function(){var e=this,t=e.onKeyDown
|
338 |
+
e.hook("instead","onKeyDown",(i=>{var s,n,o,r
|
339 |
+
if(!e.isOpen||37!==i.keyCode&&39!==i.keyCode)return t.call(e,i)
|
340 |
+
r=k(e.activeOption,"[data-group]"),s=L(e.activeOption,"[data-selectable]"),r&&(r=37===i.keyCode?r.previousSibling:r.nextSibling)&&(n=(o=r.querySelectorAll("[data-selectable]"))[Math.min(o.length-1,s)])&&e.setActiveOption(n)}))})),J.define("remove_button",(function(e){const t=Object.assign({label:"×",title:"Remove",className:"remove",append:!0},e)
|
341 |
+
var i=this
|
342 |
+
if(t.append){var s='<a href="javascript:void(0)" class="'+t.className+'" tabindex="-1" title="'+N(t.title)+'">'+t.label+"</a>"
|
343 |
+
i.hook("after","setupTemplates",(()=>{var e=i.settings.render.item
|
344 |
+
i.settings.render.item=(t,n)=>{var o=w(e.call(i,t,n)),r=w(s)
|
345 |
+
return o.appendChild(r),B(r,"mousedown",(e=>{H(e,!0)})),B(r,"click",(e=>{if(H(e,!0),!i.isLocked){var t=o.dataset.value
|
346 |
+
i.removeItem(t),i.refreshOptions(!1)}})),o}}))}})),J.define("restore_on_backspace",(function(e){const t=this,i=Object.assign({text:e=>e[t.settings.labelField]},e)
|
347 |
+
t.on("item_remove",(function(e){if(""===t.control_input.value.trim()){var s=t.options[e]
|
348 |
+
s&&t.setTextboxValue(i.text.call(t,s))}}))})),J.define("virtual_scroll",(function(){const e=this,t=e.canLoad,i=e.clearActiveOption,s=e.loadCallback
|
349 |
+
var n,o={},r=!1
|
350 |
+
if(!e.settings.firstUrl)throw"virtual_scroll plugin requires a firstUrl() method"
|
351 |
+
function l(t){return!("number"==typeof e.settings.maxOptions&&n.children.length>=e.settings.maxOptions)&&!(!(t in o)||!o[t])}e.settings.sortField=[{field:"$order"},{field:"$score"}],e.setNextUrl=function(e,t){o[e]=t},e.getUrl=function(t){if(t in o){const e=o[t]
|
352 |
+
return o[t]=!1,e}return o={},e.settings.firstUrl(t)},e.hook("instead","clearActiveOption",(()=>{if(!r)return i.call(e)})),e.hook("instead","canLoad",(i=>i in o?l(i):t.call(e,i))),e.hook("instead","loadCallback",((t,i)=>{r||e.clearOptions(),s.call(e,t,i),r=!1})),e.hook("after","refreshOptions",(()=>{const t=e.lastValue
|
353 |
+
var i
|
354 |
+
l(t)?(i=e.render("loading_more",{query:t}))&&i.setAttribute("data-selectable",""):t in o&&!n.querySelector(".no-results")&&(i=e.render("no_more_results",{query:t})),i&&(C(i,e.settings.optionClass),n.append(i))})),e.on("initialize",(()=>{n=e.dropdown_content,e.settings.render=Object.assign({},{loading_more:function(){return'<div class="loading-more-results">Loading more results ... </div>'},no_more_results:function(){return'<div class="no-more-results">No more results</div>'}},e.settings.render),n.addEventListener("scroll",(function(){n.clientHeight/(n.scrollHeight-n.scrollTop)<.95||l(e.lastValue)&&(r||(r=!0,e.load.call(e,e.lastValue)))}))}))})),J}))
|
355 |
+
var tomSelect=function(e,t){return new TomSelect(e,t)}
|
356 |
+
//# sourceMappingURL=tom-select.complete.min.js.map
|
lib/tom-select/tom-select.css
ADDED
@@ -0,0 +1,334 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* tom-select.css (v2.0.0-rc.4)
|
3 |
+
* Copyright (c) contributors
|
4 |
+
*
|
5 |
+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
|
6 |
+
* file except in compliance with the License. You may obtain a copy of the License at:
|
7 |
+
* http://www.apache.org/licenses/LICENSE-2.0
|
8 |
+
*
|
9 |
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
10 |
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
11 |
+
* ANY KIND, either express or implied. See the License for the specific language
|
12 |
+
* governing permissions and limitations under the License.
|
13 |
+
*
|
14 |
+
*/
|
15 |
+
.ts-wrapper.plugin-drag_drop.multi > .ts-control > div.ui-sortable-placeholder {
|
16 |
+
visibility: visible !important;
|
17 |
+
background: #f2f2f2 !important;
|
18 |
+
background: rgba(0, 0, 0, 0.06) !important;
|
19 |
+
border: 0 none !important;
|
20 |
+
box-shadow: inset 0 0 12px 4px #fff; }
|
21 |
+
|
22 |
+
.ts-wrapper.plugin-drag_drop .ui-sortable-placeholder::after {
|
23 |
+
content: '!';
|
24 |
+
visibility: hidden; }
|
25 |
+
|
26 |
+
.ts-wrapper.plugin-drag_drop .ui-sortable-helper {
|
27 |
+
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); }
|
28 |
+
|
29 |
+
.plugin-checkbox_options .option input {
|
30 |
+
margin-right: 0.5rem; }
|
31 |
+
|
32 |
+
.plugin-clear_button .ts-control {
|
33 |
+
padding-right: calc( 1em + (3 * 6px)) !important; }
|
34 |
+
|
35 |
+
.plugin-clear_button .clear-button {
|
36 |
+
opacity: 0;
|
37 |
+
position: absolute;
|
38 |
+
top: 8px;
|
39 |
+
right: calc(8px - 6px);
|
40 |
+
margin-right: 0 !important;
|
41 |
+
background: transparent !important;
|
42 |
+
transition: opacity 0.5s;
|
43 |
+
cursor: pointer; }
|
44 |
+
|
45 |
+
.plugin-clear_button.single .clear-button {
|
46 |
+
right: calc(8px - 6px + 2rem); }
|
47 |
+
|
48 |
+
.plugin-clear_button.focus.has-items .clear-button,
|
49 |
+
.plugin-clear_button:hover.has-items .clear-button {
|
50 |
+
opacity: 1; }
|
51 |
+
|
52 |
+
.ts-wrapper .dropdown-header {
|
53 |
+
position: relative;
|
54 |
+
padding: 10px 8px;
|
55 |
+
border-bottom: 1px solid #d0d0d0;
|
56 |
+
background: #f8f8f8;
|
57 |
+
border-radius: 3px 3px 0 0; }
|
58 |
+
|
59 |
+
.ts-wrapper .dropdown-header-close {
|
60 |
+
position: absolute;
|
61 |
+
right: 8px;
|
62 |
+
top: 50%;
|
63 |
+
color: #303030;
|
64 |
+
opacity: 0.4;
|
65 |
+
margin-top: -12px;
|
66 |
+
line-height: 20px;
|
67 |
+
font-size: 20px !important; }
|
68 |
+
|
69 |
+
.ts-wrapper .dropdown-header-close:hover {
|
70 |
+
color: black; }
|
71 |
+
|
72 |
+
.plugin-dropdown_input.focus.dropdown-active .ts-control {
|
73 |
+
box-shadow: none;
|
74 |
+
border: 1px solid #d0d0d0; }
|
75 |
+
|
76 |
+
.plugin-dropdown_input .dropdown-input {
|
77 |
+
border: 1px solid #d0d0d0;
|
78 |
+
border-width: 0 0 1px 0;
|
79 |
+
display: block;
|
80 |
+
padding: 8px 8px;
|
81 |
+
box-shadow: none;
|
82 |
+
width: 100%;
|
83 |
+
background: transparent; }
|
84 |
+
|
85 |
+
.ts-wrapper.plugin-input_autogrow.has-items .ts-control > input {
|
86 |
+
min-width: 0; }
|
87 |
+
|
88 |
+
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input {
|
89 |
+
flex: none;
|
90 |
+
min-width: 4px; }
|
91 |
+
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-webkit-input-placeholder {
|
92 |
+
color: transparent; }
|
93 |
+
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-ms-input-placeholder {
|
94 |
+
color: transparent; }
|
95 |
+
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::placeholder {
|
96 |
+
color: transparent; }
|
97 |
+
|
98 |
+
.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content {
|
99 |
+
display: flex; }
|
100 |
+
|
101 |
+
.ts-dropdown.plugin-optgroup_columns .optgroup {
|
102 |
+
border-right: 1px solid #f2f2f2;
|
103 |
+
border-top: 0 none;
|
104 |
+
flex-grow: 1;
|
105 |
+
flex-basis: 0;
|
106 |
+
min-width: 0; }
|
107 |
+
|
108 |
+
.ts-dropdown.plugin-optgroup_columns .optgroup:last-child {
|
109 |
+
border-right: 0 none; }
|
110 |
+
|
111 |
+
.ts-dropdown.plugin-optgroup_columns .optgroup:before {
|
112 |
+
display: none; }
|
113 |
+
|
114 |
+
.ts-dropdown.plugin-optgroup_columns .optgroup-header {
|
115 |
+
border-top: 0 none; }
|
116 |
+
|
117 |
+
.ts-wrapper.plugin-remove_button .item {
|
118 |
+
display: inline-flex;
|
119 |
+
align-items: center;
|
120 |
+
padding-right: 0 !important; }
|
121 |
+
|
122 |
+
.ts-wrapper.plugin-remove_button .item .remove {
|
123 |
+
color: inherit;
|
124 |
+
text-decoration: none;
|
125 |
+
vertical-align: middle;
|
126 |
+
display: inline-block;
|
127 |
+
padding: 2px 6px;
|
128 |
+
border-left: 1px solid #d0d0d0;
|
129 |
+
border-radius: 0 2px 2px 0;
|
130 |
+
box-sizing: border-box;
|
131 |
+
margin-left: 6px; }
|
132 |
+
|
133 |
+
.ts-wrapper.plugin-remove_button .item .remove:hover {
|
134 |
+
background: rgba(0, 0, 0, 0.05); }
|
135 |
+
|
136 |
+
.ts-wrapper.plugin-remove_button .item.active .remove {
|
137 |
+
border-left-color: #cacaca; }
|
138 |
+
|
139 |
+
.ts-wrapper.plugin-remove_button.disabled .item .remove:hover {
|
140 |
+
background: none; }
|
141 |
+
|
142 |
+
.ts-wrapper.plugin-remove_button.disabled .item .remove {
|
143 |
+
border-left-color: white; }
|
144 |
+
|
145 |
+
.ts-wrapper.plugin-remove_button .remove-single {
|
146 |
+
position: absolute;
|
147 |
+
right: 0;
|
148 |
+
top: 0;
|
149 |
+
font-size: 23px; }
|
150 |
+
|
151 |
+
.ts-wrapper {
|
152 |
+
position: relative; }
|
153 |
+
|
154 |
+
.ts-dropdown,
|
155 |
+
.ts-control,
|
156 |
+
.ts-control input {
|
157 |
+
color: #303030;
|
158 |
+
font-family: inherit;
|
159 |
+
font-size: 13px;
|
160 |
+
line-height: 18px;
|
161 |
+
font-smoothing: inherit; }
|
162 |
+
|
163 |
+
.ts-control,
|
164 |
+
.ts-wrapper.single.input-active .ts-control {
|
165 |
+
background: #fff;
|
166 |
+
cursor: text; }
|
167 |
+
|
168 |
+
.ts-control {
|
169 |
+
border: 1px solid #d0d0d0;
|
170 |
+
padding: 8px 8px;
|
171 |
+
width: 100%;
|
172 |
+
overflow: hidden;
|
173 |
+
position: relative;
|
174 |
+
z-index: 1;
|
175 |
+
box-sizing: border-box;
|
176 |
+
box-shadow: none;
|
177 |
+
border-radius: 3px;
|
178 |
+
display: flex;
|
179 |
+
flex-wrap: wrap; }
|
180 |
+
.ts-wrapper.multi.has-items .ts-control {
|
181 |
+
padding: calc( 8px - 2px - 0) 8px calc( 8px - 2px - 3px - 0); }
|
182 |
+
.full .ts-control {
|
183 |
+
background-color: #fff; }
|
184 |
+
.disabled .ts-control,
|
185 |
+
.disabled .ts-control * {
|
186 |
+
cursor: default !important; }
|
187 |
+
.focus .ts-control {
|
188 |
+
box-shadow: none; }
|
189 |
+
.ts-control > * {
|
190 |
+
vertical-align: baseline;
|
191 |
+
display: inline-block; }
|
192 |
+
.ts-wrapper.multi .ts-control > div {
|
193 |
+
cursor: pointer;
|
194 |
+
margin: 0 3px 3px 0;
|
195 |
+
padding: 2px 6px;
|
196 |
+
background: #f2f2f2;
|
197 |
+
color: #303030;
|
198 |
+
border: 0 solid #d0d0d0; }
|
199 |
+
.ts-wrapper.multi .ts-control > div.active {
|
200 |
+
background: #e8e8e8;
|
201 |
+
color: #303030;
|
202 |
+
border: 0 solid #cacaca; }
|
203 |
+
.ts-wrapper.multi.disabled .ts-control > div, .ts-wrapper.multi.disabled .ts-control > div.active {
|
204 |
+
color: #7d7c7c;
|
205 |
+
background: white;
|
206 |
+
border: 0 solid white; }
|
207 |
+
.ts-control > input {
|
208 |
+
flex: 1 1 auto;
|
209 |
+
min-width: 7rem;
|
210 |
+
display: inline-block !important;
|
211 |
+
padding: 0 !important;
|
212 |
+
min-height: 0 !important;
|
213 |
+
max-height: none !important;
|
214 |
+
max-width: 100% !important;
|
215 |
+
margin: 0 !important;
|
216 |
+
text-indent: 0 !important;
|
217 |
+
border: 0 none !important;
|
218 |
+
background: none !important;
|
219 |
+
line-height: inherit !important;
|
220 |
+
-webkit-user-select: auto !important;
|
221 |
+
-moz-user-select: auto !important;
|
222 |
+
-ms-user-select: auto !important;
|
223 |
+
user-select: auto !important;
|
224 |
+
box-shadow: none !important; }
|
225 |
+
.ts-control > input::-ms-clear {
|
226 |
+
display: none; }
|
227 |
+
.ts-control > input:focus {
|
228 |
+
outline: none !important; }
|
229 |
+
.has-items .ts-control > input {
|
230 |
+
margin: 0 4px !important; }
|
231 |
+
.ts-control.rtl {
|
232 |
+
text-align: right; }
|
233 |
+
.ts-control.rtl.single .ts-control:after {
|
234 |
+
left: 15px;
|
235 |
+
right: auto; }
|
236 |
+
.ts-control.rtl .ts-control > input {
|
237 |
+
margin: 0 4px 0 -2px !important; }
|
238 |
+
.disabled .ts-control {
|
239 |
+
opacity: 0.5;
|
240 |
+
background-color: #fafafa; }
|
241 |
+
.input-hidden .ts-control > input {
|
242 |
+
opacity: 0;
|
243 |
+
position: absolute;
|
244 |
+
left: -10000px; }
|
245 |
+
|
246 |
+
.ts-dropdown {
|
247 |
+
position: absolute;
|
248 |
+
top: 100%;
|
249 |
+
left: 0;
|
250 |
+
width: 100%;
|
251 |
+
z-index: 10;
|
252 |
+
border: 1px solid #d0d0d0;
|
253 |
+
background: #fff;
|
254 |
+
margin: 0.25rem 0 0 0;
|
255 |
+
border-top: 0 none;
|
256 |
+
box-sizing: border-box;
|
257 |
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
258 |
+
border-radius: 0 0 3px 3px; }
|
259 |
+
.ts-dropdown [data-selectable] {
|
260 |
+
cursor: pointer;
|
261 |
+
overflow: hidden; }
|
262 |
+
.ts-dropdown [data-selectable] .highlight {
|
263 |
+
background: rgba(125, 168, 208, 0.2);
|
264 |
+
border-radius: 1px; }
|
265 |
+
.ts-dropdown .option,
|
266 |
+
.ts-dropdown .optgroup-header,
|
267 |
+
.ts-dropdown .no-results,
|
268 |
+
.ts-dropdown .create {
|
269 |
+
padding: 5px 8px; }
|
270 |
+
.ts-dropdown .option, .ts-dropdown [data-disabled], .ts-dropdown [data-disabled] [data-selectable].option {
|
271 |
+
cursor: inherit;
|
272 |
+
opacity: 0.5; }
|
273 |
+
.ts-dropdown [data-selectable].option {
|
274 |
+
opacity: 1;
|
275 |
+
cursor: pointer; }
|
276 |
+
.ts-dropdown .optgroup:first-child .optgroup-header {
|
277 |
+
border-top: 0 none; }
|
278 |
+
.ts-dropdown .optgroup-header {
|
279 |
+
color: #303030;
|
280 |
+
background: #fff;
|
281 |
+
cursor: default; }
|
282 |
+
.ts-dropdown .create:hover,
|
283 |
+
.ts-dropdown .option:hover,
|
284 |
+
.ts-dropdown .active {
|
285 |
+
background-color: #f5fafd;
|
286 |
+
color: #495c68; }
|
287 |
+
.ts-dropdown .create:hover.create,
|
288 |
+
.ts-dropdown .option:hover.create,
|
289 |
+
.ts-dropdown .active.create {
|
290 |
+
color: #495c68; }
|
291 |
+
.ts-dropdown .create {
|
292 |
+
color: rgba(48, 48, 48, 0.5); }
|
293 |
+
.ts-dropdown .spinner {
|
294 |
+
display: inline-block;
|
295 |
+
width: 30px;
|
296 |
+
height: 30px;
|
297 |
+
margin: 5px 8px; }
|
298 |
+
.ts-dropdown .spinner:after {
|
299 |
+
content: " ";
|
300 |
+
display: block;
|
301 |
+
width: 24px;
|
302 |
+
height: 24px;
|
303 |
+
margin: 3px;
|
304 |
+
border-radius: 50%;
|
305 |
+
border: 5px solid #d0d0d0;
|
306 |
+
border-color: #d0d0d0 transparent #d0d0d0 transparent;
|
307 |
+
animation: lds-dual-ring 1.2s linear infinite; }
|
308 |
+
|
309 |
+
@keyframes lds-dual-ring {
|
310 |
+
0% {
|
311 |
+
transform: rotate(0deg); }
|
312 |
+
100% {
|
313 |
+
transform: rotate(360deg); } }
|
314 |
+
|
315 |
+
.ts-dropdown-content {
|
316 |
+
overflow-y: auto;
|
317 |
+
overflow-x: hidden;
|
318 |
+
max-height: 200px;
|
319 |
+
overflow-scrolling: touch;
|
320 |
+
scroll-behavior: smooth; }
|
321 |
+
|
322 |
+
.ts-hidden-accessible {
|
323 |
+
border: 0 !important;
|
324 |
+
clip: rect(0 0 0 0) !important;
|
325 |
+
-webkit-clip-path: inset(50%) !important;
|
326 |
+
clip-path: inset(50%) !important;
|
327 |
+
height: 1px !important;
|
328 |
+
overflow: hidden !important;
|
329 |
+
padding: 0 !important;
|
330 |
+
position: absolute !important;
|
331 |
+
width: 1px !important;
|
332 |
+
white-space: nowrap !important; }
|
333 |
+
|
334 |
+
/*# sourceMappingURL=tom-select.css.map */
|
lib/vis-9.1.2/vis-network.css
ADDED
The diff for this file is too large to render.
See raw diff
|
|
lib/vis-9.1.2/vis-network.min.js
ADDED
The diff for this file is too large to render.
See raw diff
|
|
requirements.txt
CHANGED
@@ -5,4 +5,6 @@ transformers
|
|
5 |
wordcloud
|
6 |
pydantic
|
7 |
uvicorn
|
8 |
-
gliner
|
|
|
|
|
|
5 |
wordcloud
|
6 |
pydantic
|
7 |
uvicorn
|
8 |
+
gliner
|
9 |
+
pygraphviz
|
10 |
+
graphviz
|
space/.gitignore
CHANGED
@@ -34,6 +34,8 @@ wordcloud.png
|
|
34 |
wordcloud_output
|
35 |
extracted_entities
|
36 |
entities
|
|
|
|
|
37 |
|
38 |
# Gradio cache & config
|
39 |
gradio_cached_examples/
|
|
|
34 |
wordcloud_output
|
35 |
extracted_entities
|
36 |
entities
|
37 |
+
mindmap.png
|
38 |
+
mindmap_output
|
39 |
|
40 |
# Gradio cache & config
|
41 |
gradio_cached_examples/
|
space/app.py
CHANGED
@@ -2,22 +2,75 @@ from fastapi import FastAPI,HTTPException
|
|
2 |
from pydantic import BaseModel
|
3 |
from fastapi.responses import FileResponse
|
4 |
import gradio as gr
|
5 |
-
from entity_recognition import extract_entities
|
6 |
#from entity_recognition import generate_word_cloud
|
7 |
from wordcloud import WordCloud
|
8 |
from summarization import summarizer
|
9 |
-
import os
|
10 |
from utils import list_files,process_file
|
11 |
|
12 |
# import threading
|
13 |
-
|
14 |
app = FastAPI()
|
15 |
|
16 |
# Request Model
|
17 |
class TextRequest(BaseModel):
|
18 |
text: str
|
|
|
|
|
19 |
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
@app.post("/summarize")
|
22 |
def summarize_text(request: TextRequest):
|
23 |
chunks = [request.text[i:i+500] for i in range(0, len(request.text), 500)]
|
@@ -44,39 +97,69 @@ def extract_entities_endpoint(request: TextRequest):
|
|
44 |
# Word Cloud Generation Endpoint
|
45 |
@app.post("/wordcloud")
|
46 |
def generate_word_cloud(request: TextRequest):
|
47 |
-
wordcloud = WordCloud(width=800, height=
|
48 |
img_path = "wordcloud.png"
|
49 |
wordcloud.to_file(img_path)
|
50 |
return FileResponse(img_path, media_type="image/png", filename="wordcloud.png")
|
51 |
|
52 |
|
53 |
-
|
54 |
# Gradio UI
|
55 |
with gr.Blocks() as iface:
|
56 |
gr.Markdown("File Selector")
|
57 |
gr.Markdown("Choose a file and process it for summarization, entity recognition, and word cloud generation.")
|
58 |
|
59 |
-
# File selection
|
60 |
-
|
61 |
-
|
|
|
62 |
|
|
|
|
|
|
|
|
|
63 |
|
64 |
-
#
|
65 |
-
|
66 |
-
|
67 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
|
69 |
-
|
70 |
# Process selected file
|
71 |
process_button.click(
|
72 |
fn=process_file,
|
73 |
inputs=file_dropdown,
|
74 |
-
outputs=[output_summary, output_entities, output_wordcloud]
|
75 |
)
|
76 |
|
77 |
-
|
78 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
if __name__ == "__main__":
|
80 |
-
iface.launch(server_name="0.0.0.0", server_port=7860, share=False)
|
81 |
-
time.sleep(1) # Allow time for logs
|
82 |
-
print("\n\n **Gradio Interface is LIVE at: http://localhost:7860 ** \n")
|
|
|
2 |
from pydantic import BaseModel
|
3 |
from fastapi.responses import FileResponse
|
4 |
import gradio as gr
|
5 |
+
from entity_recognition import extract_entities # Import entity extraction function
|
6 |
#from entity_recognition import generate_word_cloud
|
7 |
from wordcloud import WordCloud
|
8 |
from summarization import summarizer
|
|
|
9 |
from utils import list_files,process_file
|
10 |
|
11 |
# import threading
|
12 |
+
TEXT_FOLDER = "jfk_text"
|
13 |
app = FastAPI()
|
14 |
|
15 |
# Request Model
|
16 |
class TextRequest(BaseModel):
|
17 |
text: str
|
18 |
+
import pygraphviz as pgv
|
19 |
+
import re
|
20 |
|
21 |
+
def generate_mermaid_mindmap(text):
|
22 |
+
entities = extract_entities(text)
|
23 |
+
print("Extracted Entities:", entities)
|
24 |
+
|
25 |
+
# Create a directed graph
|
26 |
+
G = pgv.AGraph(directed=True, rankdir="TB", bgcolor="white")
|
27 |
+
|
28 |
+
# Add root node
|
29 |
+
G.add_node("Document", shape="ellipse", style="filled", fillcolor="lightblue", label="Document")
|
30 |
+
|
31 |
+
# Keep track of node names to ensure uniqueness
|
32 |
+
node_counter = {}
|
33 |
+
|
34 |
+
for category, values in entities.items():
|
35 |
+
# Sanitize category name for the node identifier
|
36 |
+
safe_category = re.sub(r'[^a-zA-Z0-9_]', '', category)
|
37 |
+
if not safe_category or safe_category.startswith('.'):
|
38 |
+
safe_category = "Category_" + str(hash(category) % 10000)
|
39 |
+
|
40 |
+
# Add category node
|
41 |
+
G.add_node(safe_category, shape="box", style="filled", fillcolor="lightgreen", label=category)
|
42 |
+
G.add_edge("Document", safe_category)
|
43 |
+
|
44 |
+
for value in values:
|
45 |
+
# Clean up the value
|
46 |
+
cleaned_value = value.strip().rstrip(')').lstrip(',')
|
47 |
+
if not cleaned_value:
|
48 |
+
cleaned_value = "Unknown"
|
49 |
+
|
50 |
+
# Truncate long values for readability (max 50 characters)
|
51 |
+
if len(cleaned_value) > 50:
|
52 |
+
cleaned_value = cleaned_value[:47] + "..."
|
53 |
+
|
54 |
+
# Sanitize value name for the node identifier
|
55 |
+
safe_value = re.sub(r'[^a-zA-Z0-9_]', '', cleaned_value)
|
56 |
+
if not safe_value:
|
57 |
+
safe_value = "Value_" + str(hash(cleaned_value) % 10000)
|
58 |
+
|
59 |
+
# Ensure unique node name
|
60 |
+
node_key = safe_value
|
61 |
+
node_counter[node_key] = node_counter.get(node_key, 0) + 1
|
62 |
+
if node_counter[node_key] > 1:
|
63 |
+
safe_value = f"{safe_value}_{node_counter[node_key]}"
|
64 |
+
|
65 |
+
# Add value node
|
66 |
+
G.add_node(safe_value, shape="ellipse", style="filled", fillcolor="lightyellow", label=cleaned_value)
|
67 |
+
G.add_edge(safe_category, safe_value)
|
68 |
+
|
69 |
+
# Render the graph to a PNG file
|
70 |
+
output_path = "mindmap.png"
|
71 |
+
G.draw(output_path, format="png", prog="dot") # 'dot' is the layout engine
|
72 |
+
|
73 |
+
return output_path
|
74 |
@app.post("/summarize")
|
75 |
def summarize_text(request: TextRequest):
|
76 |
chunks = [request.text[i:i+500] for i in range(0, len(request.text), 500)]
|
|
|
97 |
# Word Cloud Generation Endpoint
|
98 |
@app.post("/wordcloud")
|
99 |
def generate_word_cloud(request: TextRequest):
|
100 |
+
wordcloud = WordCloud(width=800, height=800,max_font_size=40, min_font_size=10, background_color="white").generate(request.text)
|
101 |
img_path = "wordcloud.png"
|
102 |
wordcloud.to_file(img_path)
|
103 |
return FileResponse(img_path, media_type="image/png", filename="wordcloud.png")
|
104 |
|
105 |
|
|
|
106 |
# Gradio UI
|
107 |
with gr.Blocks() as iface:
|
108 |
gr.Markdown("File Selector")
|
109 |
gr.Markdown("Choose a file and process it for summarization, entity recognition, and word cloud generation.")
|
110 |
|
111 |
+
# **File selection & process button**
|
112 |
+
with gr.Row():
|
113 |
+
file_dropdown = gr.Dropdown(choices=list_files(), label=" Select a File", interactive=True)
|
114 |
+
process_button = gr.Button(" Process")
|
115 |
|
116 |
+
# **First Row (Original Text & Summary)**
|
117 |
+
with gr.Row():
|
118 |
+
full_doc_text = gr.Textbox(label=" Full Document")
|
119 |
+
output_summary = gr.Textbox(label=" Summarized Text")
|
120 |
|
121 |
+
# **Second Row (Entities & Word Cloud)**
|
122 |
+
with gr.Row():
|
123 |
+
output_entities = gr.JSON(label=" Entities")
|
124 |
+
output_wordcloud = gr.Image(label=" Word Cloud")
|
125 |
+
with gr.Row():
|
126 |
+
generate_mindmap_button = gr.Button("Generate Mind Map")
|
127 |
+
output_mindmap = gr.Image(label="Mind Map") # Use HTML instead of Textbox
|
128 |
+
|
129 |
+
generate_mindmap_button.click(
|
130 |
+
fn=generate_mermaid_mindmap,
|
131 |
+
inputs=full_doc_text,
|
132 |
+
outputs=output_mindmap
|
133 |
+
)
|
134 |
+
|
135 |
+
|
136 |
+
# # **Mind Map Generation**
|
137 |
+
# with gr.Row():
|
138 |
+
# generate_mindmap_button = gr.Button("Generate Mind Map")
|
139 |
+
# output_mindmap = gr.Image(label="Mind Map")
|
140 |
+
# Mind Map Generation Section
|
141 |
+
# with gr.Row():
|
142 |
+
# generate_mindmap_button = gr.Button("Generate Mind Map")
|
143 |
+
# output_mindmap = gr.HTML(label="Mind Map")
|
144 |
|
|
|
145 |
# Process selected file
|
146 |
process_button.click(
|
147 |
fn=process_file,
|
148 |
inputs=file_dropdown,
|
149 |
+
outputs=[full_doc_text, output_summary, output_entities, output_wordcloud]
|
150 |
)
|
151 |
|
152 |
+
# # Connect mind map button to function (MOVE THIS INSIDE `with gr.Blocks()`)
|
153 |
+
# generate_mindmap_button.click(
|
154 |
+
# fn=generate_mind_map,
|
155 |
+
# inputs=full_doc_text, # Use the full document text
|
156 |
+
# outputs=output_mindmap
|
157 |
+
# )
|
158 |
+
# generate_mindmap_button.click(
|
159 |
+
# fn=generate_mermaid_mindmap,
|
160 |
+
# inputs=full_doc_text,
|
161 |
+
# outputs=output_mindmap
|
162 |
+
# )
|
163 |
+
# Launch Gradio app
|
164 |
if __name__ == "__main__":
|
165 |
+
iface.launch(server_name="0.0.0.0", server_port=7860, share=False, debug=True)
|
|
|
|
space/entity_recognition.py
CHANGED
@@ -3,7 +3,23 @@ import torch
|
|
3 |
import matplotlib.pyplot as plt
|
4 |
from wordcloud import WordCloud
|
5 |
from gliner import GLiNER
|
6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
# 📂 Define input/output directories
|
8 |
input_dir = "summaryoutput" # Folder containing summarized documents
|
9 |
entity_output_dir = "extracted_entities" # Folder to save extracted entities
|
@@ -14,29 +30,63 @@ device = "cuda" if torch.cuda.is_available() else "cpu" # Use GPU if available
|
|
14 |
model = GLiNER.from_pretrained("urchade/gliner_medium-v2.1").to(device)
|
15 |
|
16 |
# Define labels for entity extraction
|
17 |
-
labels = ["person", "organization", "location", "date", "document", "event", "role", "cryptonym", "operation", "nationality", "contact"]
|
18 |
-
#
|
19 |
existing_entity_files = set(os.listdir(entity_output_dir))
|
20 |
-
|
21 |
-
# 🔹 Function to extract entities from text
|
22 |
def extract_entities(text):
|
23 |
entities = model.predict_entities(text, labels)
|
24 |
-
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
for entity in entities:
|
27 |
entity_type = entity["label"]
|
28 |
-
entity_text = entity["text"]
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
# Function to generate word cloud
|
38 |
def generate_word_cloud(text, output_filename):
|
39 |
-
|
|
|
|
|
|
|
|
|
40 |
|
41 |
# Save word cloud image
|
42 |
plt.figure(figsize=(10, 5))
|
@@ -95,5 +145,5 @@ def extract_entities_from_summaries():
|
|
95 |
print(" Entity extraction and word cloud generation completed!")
|
96 |
|
97 |
|
98 |
-
if __name__ == "__main__":
|
99 |
extract_entities_from_summaries()
|
|
|
3 |
import matplotlib.pyplot as plt
|
4 |
from wordcloud import WordCloud
|
5 |
from gliner import GLiNER
|
6 |
+
import spacy
|
7 |
+
import re
|
8 |
+
# Load spaCy English model
|
9 |
+
nlp = spacy.load("en_core_web_sm")
|
10 |
+
|
11 |
+
# Function to remove stop words
|
12 |
+
def preprocess_text(text):
|
13 |
+
doc = nlp(text)
|
14 |
+
filtered_words = [ token.lemma_ # Convert to base form
|
15 |
+
for token in doc
|
16 |
+
if not token.is_stop # Remove stop words
|
17 |
+
and not token.is_punct # Remove punctuation
|
18 |
+
and not token.is_digit # Remove numbers
|
19 |
+
and len(token.text) > 2 ]
|
20 |
+
|
21 |
+
return " ".join(filtered_words)
|
22 |
+
|
23 |
# 📂 Define input/output directories
|
24 |
input_dir = "summaryoutput" # Folder containing summarized documents
|
25 |
entity_output_dir = "extracted_entities" # Folder to save extracted entities
|
|
|
30 |
model = GLiNER.from_pretrained("urchade/gliner_medium-v2.1").to(device)
|
31 |
|
32 |
# Define labels for entity extraction
|
33 |
+
labels = ["person", "organization", "location", "date", "document", "event", "role", "cryptonym", "operation", "nationality", "contact","SUBJECT","REFERENCE","FROM","TO","DATE","REF","INFO"]
|
34 |
+
# Get already processed files
|
35 |
existing_entity_files = set(os.listdir(entity_output_dir))
|
|
|
|
|
36 |
def extract_entities(text):
|
37 |
entities = model.predict_entities(text, labels)
|
38 |
+
extracted = {}
|
39 |
+
regex_patterns = {
|
40 |
+
"TO": r"(?i)\bTO[:\s]+([^\n]+)",
|
41 |
+
"FROM": r"(?i)\bFROM[:\s]+([^\n]+)",
|
42 |
+
"DATE": r"(?i)\bDATE[:\s]+([^\n]+)",
|
43 |
+
"REF": r"(?i)\bREF[:\s]+([^\n]+)",
|
44 |
+
"SUBJECT": r"(?i)\bSUBJECT[:\s]+([^\n]+)",
|
45 |
+
}
|
46 |
+
for label, pattern in regex_patterns.items():
|
47 |
+
matches = re.findall(pattern, text)
|
48 |
+
if matches:
|
49 |
+
# Clean up matches
|
50 |
+
cleaned_matches = [m.strip().rstrip(')').lstrip(',') for m in matches]
|
51 |
+
extracted[label] = list(set(cleaned_matches)) # Remove duplicates
|
52 |
for entity in entities:
|
53 |
entity_type = entity["label"]
|
54 |
+
entity_text = entity["text"].strip().rstrip(')').lstrip(',')
|
55 |
+
if entity_type not in extracted:
|
56 |
+
extracted[entity_type] = []
|
57 |
+
if entity_text not in extracted[entity_type]: # Avoid duplicates
|
58 |
+
extracted[entity_type].append(entity_text)
|
59 |
+
return extracted
|
60 |
+
# def extract_entities(text):
|
61 |
+
# entities = model.predict_entities(text, labels)
|
62 |
+
# extracted = {}
|
63 |
+
# regex_patterns = {
|
64 |
+
# "TO": r"(?i)\bTO[:\s]+([^\n]+)", # Matches "TO: some text"
|
65 |
+
# "FROM": r"(?i)\bFROM[:\s]+([^\n]+)", # Matches "FROM: some text"
|
66 |
+
# "DATE": r"(?i)\bDATE[:\s]+([^\n]+)", # Matches "DATE: some text"
|
67 |
+
# "REF": r"(?i)\bREF[:\s]+([^\n]+)", # Matches "REF: some text"
|
68 |
+
# "SUBJECT": r"(?i)\bSUBJECT[:\s]+([^\n]+)", # Matches "SUBJECT: some text"
|
69 |
+
# }
|
70 |
+
# # Apply regex patterns
|
71 |
+
# for label, pattern in regex_patterns.items():
|
72 |
+
# matches = re.findall(pattern, text)
|
73 |
+
# if matches:
|
74 |
+
# extracted[label] = matches
|
75 |
+
|
76 |
+
# for entity in entities:
|
77 |
+
# entity_type = entity["label"]
|
78 |
+
# entity_text = entity["text"]
|
79 |
+
# if entity_type not in extracted:
|
80 |
+
# extracted[entity_type] = []
|
81 |
+
# extracted[entity_type].append(entity_text)
|
82 |
+
# return extracted
|
83 |
# Function to generate word cloud
|
84 |
def generate_word_cloud(text, output_filename):
|
85 |
+
os.makedirs(os.path.dirname(output_filename), exist_ok=True)
|
86 |
+
filtered_text = preprocess_text(text)
|
87 |
+
wordcloud = WordCloud(width=800, height=400, background_color="white").generate(filtered_text)
|
88 |
+
wordcloud.to_file(output_filename)
|
89 |
+
|
90 |
|
91 |
# Save word cloud image
|
92 |
plt.figure(figsize=(10, 5))
|
|
|
145 |
print(" Entity extraction and word cloud generation completed!")
|
146 |
|
147 |
|
148 |
+
if __name__ == "__main__"and False:
|
149 |
extract_entities_from_summaries()
|
space/lib/bindings/utils.js
ADDED
@@ -0,0 +1,189 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
function neighbourhoodHighlight(params) {
|
2 |
+
// console.log("in nieghbourhoodhighlight");
|
3 |
+
allNodes = nodes.get({ returnType: "Object" });
|
4 |
+
// originalNodes = JSON.parse(JSON.stringify(allNodes));
|
5 |
+
// if something is selected:
|
6 |
+
if (params.nodes.length > 0) {
|
7 |
+
highlightActive = true;
|
8 |
+
var i, j;
|
9 |
+
var selectedNode = params.nodes[0];
|
10 |
+
var degrees = 2;
|
11 |
+
|
12 |
+
// mark all nodes as hard to read.
|
13 |
+
for (let nodeId in allNodes) {
|
14 |
+
// nodeColors[nodeId] = allNodes[nodeId].color;
|
15 |
+
allNodes[nodeId].color = "rgba(200,200,200,0.5)";
|
16 |
+
if (allNodes[nodeId].hiddenLabel === undefined) {
|
17 |
+
allNodes[nodeId].hiddenLabel = allNodes[nodeId].label;
|
18 |
+
allNodes[nodeId].label = undefined;
|
19 |
+
}
|
20 |
+
}
|
21 |
+
var connectedNodes = network.getConnectedNodes(selectedNode);
|
22 |
+
var allConnectedNodes = [];
|
23 |
+
|
24 |
+
// get the second degree nodes
|
25 |
+
for (i = 1; i < degrees; i++) {
|
26 |
+
for (j = 0; j < connectedNodes.length; j++) {
|
27 |
+
allConnectedNodes = allConnectedNodes.concat(
|
28 |
+
network.getConnectedNodes(connectedNodes[j])
|
29 |
+
);
|
30 |
+
}
|
31 |
+
}
|
32 |
+
|
33 |
+
// all second degree nodes get a different color and their label back
|
34 |
+
for (i = 0; i < allConnectedNodes.length; i++) {
|
35 |
+
// allNodes[allConnectedNodes[i]].color = "pink";
|
36 |
+
allNodes[allConnectedNodes[i]].color = "rgba(150,150,150,0.75)";
|
37 |
+
if (allNodes[allConnectedNodes[i]].hiddenLabel !== undefined) {
|
38 |
+
allNodes[allConnectedNodes[i]].label =
|
39 |
+
allNodes[allConnectedNodes[i]].hiddenLabel;
|
40 |
+
allNodes[allConnectedNodes[i]].hiddenLabel = undefined;
|
41 |
+
}
|
42 |
+
}
|
43 |
+
|
44 |
+
// all first degree nodes get their own color and their label back
|
45 |
+
for (i = 0; i < connectedNodes.length; i++) {
|
46 |
+
// allNodes[connectedNodes[i]].color = undefined;
|
47 |
+
allNodes[connectedNodes[i]].color = nodeColors[connectedNodes[i]];
|
48 |
+
if (allNodes[connectedNodes[i]].hiddenLabel !== undefined) {
|
49 |
+
allNodes[connectedNodes[i]].label =
|
50 |
+
allNodes[connectedNodes[i]].hiddenLabel;
|
51 |
+
allNodes[connectedNodes[i]].hiddenLabel = undefined;
|
52 |
+
}
|
53 |
+
}
|
54 |
+
|
55 |
+
// the main node gets its own color and its label back.
|
56 |
+
// allNodes[selectedNode].color = undefined;
|
57 |
+
allNodes[selectedNode].color = nodeColors[selectedNode];
|
58 |
+
if (allNodes[selectedNode].hiddenLabel !== undefined) {
|
59 |
+
allNodes[selectedNode].label = allNodes[selectedNode].hiddenLabel;
|
60 |
+
allNodes[selectedNode].hiddenLabel = undefined;
|
61 |
+
}
|
62 |
+
} else if (highlightActive === true) {
|
63 |
+
// console.log("highlightActive was true");
|
64 |
+
// reset all nodes
|
65 |
+
for (let nodeId in allNodes) {
|
66 |
+
// allNodes[nodeId].color = "purple";
|
67 |
+
allNodes[nodeId].color = nodeColors[nodeId];
|
68 |
+
// delete allNodes[nodeId].color;
|
69 |
+
if (allNodes[nodeId].hiddenLabel !== undefined) {
|
70 |
+
allNodes[nodeId].label = allNodes[nodeId].hiddenLabel;
|
71 |
+
allNodes[nodeId].hiddenLabel = undefined;
|
72 |
+
}
|
73 |
+
}
|
74 |
+
highlightActive = false;
|
75 |
+
}
|
76 |
+
|
77 |
+
// transform the object into an array
|
78 |
+
var updateArray = [];
|
79 |
+
if (params.nodes.length > 0) {
|
80 |
+
for (let nodeId in allNodes) {
|
81 |
+
if (allNodes.hasOwnProperty(nodeId)) {
|
82 |
+
// console.log(allNodes[nodeId]);
|
83 |
+
updateArray.push(allNodes[nodeId]);
|
84 |
+
}
|
85 |
+
}
|
86 |
+
nodes.update(updateArray);
|
87 |
+
} else {
|
88 |
+
// console.log("Nothing was selected");
|
89 |
+
for (let nodeId in allNodes) {
|
90 |
+
if (allNodes.hasOwnProperty(nodeId)) {
|
91 |
+
// console.log(allNodes[nodeId]);
|
92 |
+
// allNodes[nodeId].color = {};
|
93 |
+
updateArray.push(allNodes[nodeId]);
|
94 |
+
}
|
95 |
+
}
|
96 |
+
nodes.update(updateArray);
|
97 |
+
}
|
98 |
+
}
|
99 |
+
|
100 |
+
function filterHighlight(params) {
|
101 |
+
allNodes = nodes.get({ returnType: "Object" });
|
102 |
+
// if something is selected:
|
103 |
+
if (params.nodes.length > 0) {
|
104 |
+
filterActive = true;
|
105 |
+
let selectedNodes = params.nodes;
|
106 |
+
|
107 |
+
// hiding all nodes and saving the label
|
108 |
+
for (let nodeId in allNodes) {
|
109 |
+
allNodes[nodeId].hidden = true;
|
110 |
+
if (allNodes[nodeId].savedLabel === undefined) {
|
111 |
+
allNodes[nodeId].savedLabel = allNodes[nodeId].label;
|
112 |
+
allNodes[nodeId].label = undefined;
|
113 |
+
}
|
114 |
+
}
|
115 |
+
|
116 |
+
for (let i=0; i < selectedNodes.length; i++) {
|
117 |
+
allNodes[selectedNodes[i]].hidden = false;
|
118 |
+
if (allNodes[selectedNodes[i]].savedLabel !== undefined) {
|
119 |
+
allNodes[selectedNodes[i]].label = allNodes[selectedNodes[i]].savedLabel;
|
120 |
+
allNodes[selectedNodes[i]].savedLabel = undefined;
|
121 |
+
}
|
122 |
+
}
|
123 |
+
|
124 |
+
} else if (filterActive === true) {
|
125 |
+
// reset all nodes
|
126 |
+
for (let nodeId in allNodes) {
|
127 |
+
allNodes[nodeId].hidden = false;
|
128 |
+
if (allNodes[nodeId].savedLabel !== undefined) {
|
129 |
+
allNodes[nodeId].label = allNodes[nodeId].savedLabel;
|
130 |
+
allNodes[nodeId].savedLabel = undefined;
|
131 |
+
}
|
132 |
+
}
|
133 |
+
filterActive = false;
|
134 |
+
}
|
135 |
+
|
136 |
+
// transform the object into an array
|
137 |
+
var updateArray = [];
|
138 |
+
if (params.nodes.length > 0) {
|
139 |
+
for (let nodeId in allNodes) {
|
140 |
+
if (allNodes.hasOwnProperty(nodeId)) {
|
141 |
+
updateArray.push(allNodes[nodeId]);
|
142 |
+
}
|
143 |
+
}
|
144 |
+
nodes.update(updateArray);
|
145 |
+
} else {
|
146 |
+
for (let nodeId in allNodes) {
|
147 |
+
if (allNodes.hasOwnProperty(nodeId)) {
|
148 |
+
updateArray.push(allNodes[nodeId]);
|
149 |
+
}
|
150 |
+
}
|
151 |
+
nodes.update(updateArray);
|
152 |
+
}
|
153 |
+
}
|
154 |
+
|
155 |
+
function selectNode(nodes) {
|
156 |
+
network.selectNodes(nodes);
|
157 |
+
neighbourhoodHighlight({ nodes: nodes });
|
158 |
+
return nodes;
|
159 |
+
}
|
160 |
+
|
161 |
+
function selectNodes(nodes) {
|
162 |
+
network.selectNodes(nodes);
|
163 |
+
filterHighlight({nodes: nodes});
|
164 |
+
return nodes;
|
165 |
+
}
|
166 |
+
|
167 |
+
function highlightFilter(filter) {
|
168 |
+
let selectedNodes = []
|
169 |
+
let selectedProp = filter['property']
|
170 |
+
if (filter['item'] === 'node') {
|
171 |
+
let allNodes = nodes.get({ returnType: "Object" });
|
172 |
+
for (let nodeId in allNodes) {
|
173 |
+
if (allNodes[nodeId][selectedProp] && filter['value'].includes((allNodes[nodeId][selectedProp]).toString())) {
|
174 |
+
selectedNodes.push(nodeId)
|
175 |
+
}
|
176 |
+
}
|
177 |
+
}
|
178 |
+
else if (filter['item'] === 'edge'){
|
179 |
+
let allEdges = edges.get({returnType: 'object'});
|
180 |
+
// check if the selected property exists for selected edge and select the nodes connected to the edge
|
181 |
+
for (let edge in allEdges) {
|
182 |
+
if (allEdges[edge][selectedProp] && filter['value'].includes((allEdges[edge][selectedProp]).toString())) {
|
183 |
+
selectedNodes.push(allEdges[edge]['from'])
|
184 |
+
selectedNodes.push(allEdges[edge]['to'])
|
185 |
+
}
|
186 |
+
}
|
187 |
+
}
|
188 |
+
selectNodes(selectedNodes)
|
189 |
+
}
|
space/lib/tom-select/tom-select.complete.min.js
ADDED
@@ -0,0 +1,356 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Tom Select v2.0.0-rc.4
|
3 |
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
4 |
+
*/
|
5 |
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).TomSelect=t()}(this,(function(){"use strict"
|
6 |
+
function e(e,t){e.split(/\s+/).forEach((e=>{t(e)}))}class t{constructor(){this._events={}}on(t,i){e(t,(e=>{this._events[e]=this._events[e]||[],this._events[e].push(i)}))}off(t,i){var s=arguments.length
|
7 |
+
0!==s?e(t,(e=>{if(1===s)return delete this._events[e]
|
8 |
+
e in this._events!=!1&&this._events[e].splice(this._events[e].indexOf(i),1)})):this._events={}}trigger(t,...i){var s=this
|
9 |
+
e(t,(e=>{if(e in s._events!=!1)for(let t of s._events[e])t.apply(s,i)}))}}var i
|
10 |
+
const s="[̀-ͯ·ʾ]",n=new RegExp(s,"g")
|
11 |
+
var o
|
12 |
+
const r={"æ":"ae","ⱥ":"a","ø":"o"},l=new RegExp(Object.keys(r).join("|"),"g"),a=[[67,67],[160,160],[192,438],[452,652],[961,961],[1019,1019],[1083,1083],[1281,1289],[1984,1984],[5095,5095],[7429,7441],[7545,7549],[7680,7935],[8580,8580],[9398,9449],[11360,11391],[42792,42793],[42802,42851],[42873,42897],[42912,42922],[64256,64260],[65313,65338],[65345,65370]],c=e=>e.normalize("NFKD").replace(n,"").toLowerCase().replace(l,(function(e){return r[e]})),d=(e,t="|")=>{if(1==e.length)return e[0]
|
13 |
+
var i=1
|
14 |
+
return e.forEach((e=>{i=Math.max(i,e.length)})),1==i?"["+e.join("")+"]":"(?:"+e.join(t)+")"},p=e=>{if(1===e.length)return[[e]]
|
15 |
+
var t=[]
|
16 |
+
return p(e.substring(1)).forEach((function(i){var s=i.slice(0)
|
17 |
+
s[0]=e.charAt(0)+s[0],t.push(s),(s=i.slice(0)).unshift(e.charAt(0)),t.push(s)})),t},u=e=>{void 0===o&&(o=(()=>{var e={}
|
18 |
+
a.forEach((t=>{for(let s=t[0];s<=t[1];s++){let t=String.fromCharCode(s),n=c(t)
|
19 |
+
if(n!=t.toLowerCase()){n in e||(e[n]=[n])
|
20 |
+
var i=new RegExp(d(e[n]),"iu")
|
21 |
+
t.match(i)||e[n].push(t)}}}))
|
22 |
+
var t=Object.keys(e)
|
23 |
+
t=t.sort(((e,t)=>t.length-e.length)),i=new RegExp("("+d(t)+"[̀-ͯ·ʾ]*)","g")
|
24 |
+
var s={}
|
25 |
+
return t.sort(((e,t)=>e.length-t.length)).forEach((t=>{var i=p(t).map((t=>(t=t.map((t=>e.hasOwnProperty(t)?d(e[t]):t)),d(t,""))))
|
26 |
+
s[t]=d(i)})),s})())
|
27 |
+
return e.normalize("NFKD").toLowerCase().split(i).map((e=>{if(""==e)return""
|
28 |
+
const t=c(e)
|
29 |
+
if(o.hasOwnProperty(t))return o[t]
|
30 |
+
const i=e.normalize("NFC")
|
31 |
+
return i!=e?d([e,i]):e})).join("")},h=(e,t)=>{if(e)return e[t]},g=(e,t)=>{if(e){for(var i,s=t.split(".");(i=s.shift())&&(e=e[i]););return e}},f=(e,t,i)=>{var s,n
|
32 |
+
return e?-1===(n=(e+="").search(t.regex))?0:(s=t.string.length/e.length,0===n&&(s+=.5),s*i):0},v=e=>(e+"").replace(/([\$\(-\+\.\?\[-\^\{-\}])/g,"\\$1"),m=(e,t)=>{var i=e[t]
|
33 |
+
if("function"==typeof i)return i
|
34 |
+
i&&!Array.isArray(i)&&(e[t]=[i])},y=(e,t)=>{if(Array.isArray(e))e.forEach(t)
|
35 |
+
else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)},O=(e,t)=>"number"==typeof e&&"number"==typeof t?e>t?1:e<t?-1:0:(e=c(e+"").toLowerCase())>(t=c(t+"").toLowerCase())?1:t>e?-1:0
|
36 |
+
class b{constructor(e,t){this.items=e,this.settings=t||{diacritics:!0}}tokenize(e,t,i){if(!e||!e.length)return[]
|
37 |
+
const s=[],n=e.split(/\s+/)
|
38 |
+
var o
|
39 |
+
return i&&(o=new RegExp("^("+Object.keys(i).map(v).join("|")+"):(.*)$")),n.forEach((e=>{let i,n=null,r=null
|
40 |
+
o&&(i=e.match(o))&&(n=i[1],e=i[2]),e.length>0&&(r=v(e),this.settings.diacritics&&(r=u(r)),t&&(r="\\b"+r)),s.push({string:e,regex:r?new RegExp(r,"iu"):null,field:n})})),s}getScoreFunction(e,t){var i=this.prepareSearch(e,t)
|
41 |
+
return this._getScoreFunction(i)}_getScoreFunction(e){const t=e.tokens,i=t.length
|
42 |
+
if(!i)return function(){return 0}
|
43 |
+
const s=e.options.fields,n=e.weights,o=s.length,r=e.getAttrFn
|
44 |
+
if(!o)return function(){return 1}
|
45 |
+
const l=1===o?function(e,t){const i=s[0].field
|
46 |
+
return f(r(t,i),e,n[i])}:function(e,t){var i=0
|
47 |
+
if(e.field){const s=r(t,e.field)
|
48 |
+
!e.regex&&s?i+=1/o:i+=f(s,e,1)}else y(n,((s,n)=>{i+=f(r(t,n),e,s)}))
|
49 |
+
return i/o}
|
50 |
+
return 1===i?function(e){return l(t[0],e)}:"and"===e.options.conjunction?function(e){for(var s,n=0,o=0;n<i;n++){if((s=l(t[n],e))<=0)return 0
|
51 |
+
o+=s}return o/i}:function(e){var s=0
|
52 |
+
return y(t,(t=>{s+=l(t,e)})),s/i}}getSortFunction(e,t){var i=this.prepareSearch(e,t)
|
53 |
+
return this._getSortFunction(i)}_getSortFunction(e){var t,i,s
|
54 |
+
const n=this,o=e.options,r=!e.query&&o.sort_empty?o.sort_empty:o.sort,l=[],a=[]
|
55 |
+
if("function"==typeof r)return r.bind(this)
|
56 |
+
const c=function(t,i){return"$score"===t?i.score:e.getAttrFn(n.items[i.id],t)}
|
57 |
+
if(r)for(t=0,i=r.length;t<i;t++)(e.query||"$score"!==r[t].field)&&l.push(r[t])
|
58 |
+
if(e.query){for(s=!0,t=0,i=l.length;t<i;t++)if("$score"===l[t].field){s=!1
|
59 |
+
break}s&&l.unshift({field:"$score",direction:"desc"})}else for(t=0,i=l.length;t<i;t++)if("$score"===l[t].field){l.splice(t,1)
|
60 |
+
break}for(t=0,i=l.length;t<i;t++)a.push("desc"===l[t].direction?-1:1)
|
61 |
+
const d=l.length
|
62 |
+
if(d){if(1===d){const e=l[0].field,t=a[0]
|
63 |
+
return function(i,s){return t*O(c(e,i),c(e,s))}}return function(e,t){var i,s,n
|
64 |
+
for(i=0;i<d;i++)if(n=l[i].field,s=a[i]*O(c(n,e),c(n,t)))return s
|
65 |
+
return 0}}return null}prepareSearch(e,t){const i={}
|
66 |
+
var s=Object.assign({},t)
|
67 |
+
if(m(s,"sort"),m(s,"sort_empty"),s.fields){m(s,"fields")
|
68 |
+
const e=[]
|
69 |
+
s.fields.forEach((t=>{"string"==typeof t&&(t={field:t,weight:1}),e.push(t),i[t.field]="weight"in t?t.weight:1})),s.fields=e}return{options:s,query:e.toLowerCase().trim(),tokens:this.tokenize(e,s.respect_word_boundaries,i),total:0,items:[],weights:i,getAttrFn:s.nesting?g:h}}search(e,t){var i,s,n=this
|
70 |
+
s=this.prepareSearch(e,t),t=s.options,e=s.query
|
71 |
+
const o=t.score||n._getScoreFunction(s)
|
72 |
+
e.length?y(n.items,((e,n)=>{i=o(e),(!1===t.filter||i>0)&&s.items.push({score:i,id:n})})):y(n.items,((e,t)=>{s.items.push({score:1,id:t})}))
|
73 |
+
const r=n._getSortFunction(s)
|
74 |
+
return r&&s.items.sort(r),s.total=s.items.length,"number"==typeof t.limit&&(s.items=s.items.slice(0,t.limit)),s}}const w=e=>{if(e.jquery)return e[0]
|
75 |
+
if(e instanceof HTMLElement)return e
|
76 |
+
if(e.indexOf("<")>-1){let t=document.createElement("div")
|
77 |
+
return t.innerHTML=e.trim(),t.firstChild}return document.querySelector(e)},_=(e,t)=>{var i=document.createEvent("HTMLEvents")
|
78 |
+
i.initEvent(t,!0,!1),e.dispatchEvent(i)},I=(e,t)=>{Object.assign(e.style,t)},C=(e,...t)=>{var i=A(t);(e=x(e)).map((e=>{i.map((t=>{e.classList.add(t)}))}))},S=(e,...t)=>{var i=A(t);(e=x(e)).map((e=>{i.map((t=>{e.classList.remove(t)}))}))},A=e=>{var t=[]
|
79 |
+
return y(e,(e=>{"string"==typeof e&&(e=e.trim().split(/[\11\12\14\15\40]/)),Array.isArray(e)&&(t=t.concat(e))})),t.filter(Boolean)},x=e=>(Array.isArray(e)||(e=[e]),e),k=(e,t,i)=>{if(!i||i.contains(e))for(;e&&e.matches;){if(e.matches(t))return e
|
80 |
+
e=e.parentNode}},F=(e,t=0)=>t>0?e[e.length-1]:e[0],L=(e,t)=>{if(!e)return-1
|
81 |
+
t=t||e.nodeName
|
82 |
+
for(var i=0;e=e.previousElementSibling;)e.matches(t)&&i++
|
83 |
+
return i},P=(e,t)=>{y(t,((t,i)=>{null==t?e.removeAttribute(i):e.setAttribute(i,""+t)}))},E=(e,t)=>{e.parentNode&&e.parentNode.replaceChild(t,e)},T=(e,t)=>{if(null===t)return
|
84 |
+
if("string"==typeof t){if(!t.length)return
|
85 |
+
t=new RegExp(t,"i")}const i=e=>3===e.nodeType?(e=>{var i=e.data.match(t)
|
86 |
+
if(i&&e.data.length>0){var s=document.createElement("span")
|
87 |
+
s.className="highlight"
|
88 |
+
var n=e.splitText(i.index)
|
89 |
+
n.splitText(i[0].length)
|
90 |
+
var o=n.cloneNode(!0)
|
91 |
+
return s.appendChild(o),E(n,s),1}return 0})(e):((e=>{if(1===e.nodeType&&e.childNodes&&!/(script|style)/i.test(e.tagName)&&("highlight"!==e.className||"SPAN"!==e.tagName))for(var t=0;t<e.childNodes.length;++t)t+=i(e.childNodes[t])})(e),0)
|
92 |
+
i(e)},V="undefined"!=typeof navigator&&/Mac/.test(navigator.userAgent)?"metaKey":"ctrlKey"
|
93 |
+
var j={options:[],optgroups:[],plugins:[],delimiter:",",splitOn:null,persist:!0,diacritics:!0,create:null,createOnBlur:!1,createFilter:null,highlight:!0,openOnFocus:!0,shouldOpen:null,maxOptions:50,maxItems:null,hideSelected:null,duplicates:!1,addPrecedence:!1,selectOnTab:!1,preload:null,allowEmptyOption:!1,loadThrottle:300,loadingClass:"loading",dataAttr:null,optgroupField:"optgroup",valueField:"value",labelField:"text",disabledField:"disabled",optgroupLabelField:"label",optgroupValueField:"value",lockOptgroupOrder:!1,sortField:"$order",searchField:["text"],searchConjunction:"and",mode:null,wrapperClass:"ts-wrapper",controlClass:"ts-control",dropdownClass:"ts-dropdown",dropdownContentClass:"ts-dropdown-content",itemClass:"item",optionClass:"option",dropdownParent:null,copyClassesToDropdown:!1,placeholder:null,hidePlaceholder:null,shouldLoad:function(e){return e.length>0},render:{}}
|
94 |
+
const q=e=>null==e?null:D(e),D=e=>"boolean"==typeof e?e?"1":"0":e+"",N=e=>(e+"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""),z=(e,t)=>{var i
|
95 |
+
return function(s,n){var o=this
|
96 |
+
i&&(o.loading=Math.max(o.loading-1,0),clearTimeout(i)),i=setTimeout((function(){i=null,o.loadedSearches[s]=!0,e.call(o,s,n)}),t)}},R=(e,t,i)=>{var s,n=e.trigger,o={}
|
97 |
+
for(s in e.trigger=function(){var i=arguments[0]
|
98 |
+
if(-1===t.indexOf(i))return n.apply(e,arguments)
|
99 |
+
o[i]=arguments},i.apply(e,[]),e.trigger=n,o)n.apply(e,o[s])},H=(e,t=!1)=>{e&&(e.preventDefault(),t&&e.stopPropagation())},B=(e,t,i,s)=>{e.addEventListener(t,i,s)},K=(e,t)=>!!t&&(!!t[e]&&1===(t.altKey?1:0)+(t.ctrlKey?1:0)+(t.shiftKey?1:0)+(t.metaKey?1:0)),M=(e,t)=>{const i=e.getAttribute("id")
|
100 |
+
return i||(e.setAttribute("id",t),t)},Q=e=>e.replace(/[\\"']/g,"\\$&"),G=(e,t)=>{t&&e.append(t)}
|
101 |
+
function U(e,t){var i=Object.assign({},j,t),s=i.dataAttr,n=i.labelField,o=i.valueField,r=i.disabledField,l=i.optgroupField,a=i.optgroupLabelField,c=i.optgroupValueField,d=e.tagName.toLowerCase(),p=e.getAttribute("placeholder")||e.getAttribute("data-placeholder")
|
102 |
+
if(!p&&!i.allowEmptyOption){let t=e.querySelector('option[value=""]')
|
103 |
+
t&&(p=t.textContent)}var u,h,g,f,v,m,O={placeholder:p,options:[],optgroups:[],items:[],maxItems:null}
|
104 |
+
return"select"===d?(h=O.options,g={},f=1,v=e=>{var t=Object.assign({},e.dataset),i=s&&t[s]
|
105 |
+
return"string"==typeof i&&i.length&&(t=Object.assign(t,JSON.parse(i))),t},m=(e,t)=>{var s=q(e.value)
|
106 |
+
if(null!=s&&(s||i.allowEmptyOption)){if(g.hasOwnProperty(s)){if(t){var a=g[s][l]
|
107 |
+
a?Array.isArray(a)?a.push(t):g[s][l]=[a,t]:g[s][l]=t}}else{var c=v(e)
|
108 |
+
c[n]=c[n]||e.textContent,c[o]=c[o]||s,c[r]=c[r]||e.disabled,c[l]=c[l]||t,c.$option=e,g[s]=c,h.push(c)}e.selected&&O.items.push(s)}},O.maxItems=e.hasAttribute("multiple")?null:1,y(e.children,(e=>{var t,i,s
|
109 |
+
"optgroup"===(u=e.tagName.toLowerCase())?((s=v(t=e))[a]=s[a]||t.getAttribute("label")||"",s[c]=s[c]||f++,s[r]=s[r]||t.disabled,O.optgroups.push(s),i=s[c],y(t.children,(e=>{m(e,i)}))):"option"===u&&m(e)}))):(()=>{const t=e.getAttribute(s)
|
110 |
+
if(t)O.options=JSON.parse(t),y(O.options,(e=>{O.items.push(e[o])}))
|
111 |
+
else{var r=e.value.trim()||""
|
112 |
+
if(!i.allowEmptyOption&&!r.length)return
|
113 |
+
const t=r.split(i.delimiter)
|
114 |
+
y(t,(e=>{const t={}
|
115 |
+
t[n]=e,t[o]=e,O.options.push(t)})),O.items=t}})(),Object.assign({},j,O,t)}var W=0
|
116 |
+
class J extends(function(e){return e.plugins={},class extends e{constructor(...e){super(...e),this.plugins={names:[],settings:{},requested:{},loaded:{}}}static define(t,i){e.plugins[t]={name:t,fn:i}}initializePlugins(e){var t,i
|
117 |
+
const s=this,n=[]
|
118 |
+
if(Array.isArray(e))e.forEach((e=>{"string"==typeof e?n.push(e):(s.plugins.settings[e.name]=e.options,n.push(e.name))}))
|
119 |
+
else if(e)for(t in e)e.hasOwnProperty(t)&&(s.plugins.settings[t]=e[t],n.push(t))
|
120 |
+
for(;i=n.shift();)s.require(i)}loadPlugin(t){var i=this,s=i.plugins,n=e.plugins[t]
|
121 |
+
if(!e.plugins.hasOwnProperty(t))throw new Error('Unable to find "'+t+'" plugin')
|
122 |
+
s.requested[t]=!0,s.loaded[t]=n.fn.apply(i,[i.plugins.settings[t]||{}]),s.names.push(t)}require(e){var t=this,i=t.plugins
|
123 |
+
if(!t.plugins.loaded.hasOwnProperty(e)){if(i.requested[e])throw new Error('Plugin has circular dependency ("'+e+'")')
|
124 |
+
t.loadPlugin(e)}return i.loaded[e]}}}(t)){constructor(e,t){var i
|
125 |
+
super(),this.order=0,this.isOpen=!1,this.isDisabled=!1,this.isInvalid=!1,this.isValid=!0,this.isLocked=!1,this.isFocused=!1,this.isInputHidden=!1,this.isSetup=!1,this.ignoreFocus=!1,this.hasOptions=!1,this.lastValue="",this.caretPos=0,this.loading=0,this.loadedSearches={},this.activeOption=null,this.activeItems=[],this.optgroups={},this.options={},this.userOptions={},this.items=[],W++
|
126 |
+
var s=w(e)
|
127 |
+
if(s.tomselect)throw new Error("Tom Select already initialized on this element")
|
128 |
+
s.tomselect=this,i=(window.getComputedStyle&&window.getComputedStyle(s,null)).getPropertyValue("direction")
|
129 |
+
const n=U(s,t)
|
130 |
+
this.settings=n,this.input=s,this.tabIndex=s.tabIndex||0,this.is_select_tag="select"===s.tagName.toLowerCase(),this.rtl=/rtl/i.test(i),this.inputId=M(s,"tomselect-"+W),this.isRequired=s.required,this.sifter=new b(this.options,{diacritics:n.diacritics}),n.mode=n.mode||(1===n.maxItems?"single":"multi"),"boolean"!=typeof n.hideSelected&&(n.hideSelected="multi"===n.mode),"boolean"!=typeof n.hidePlaceholder&&(n.hidePlaceholder="multi"!==n.mode)
|
131 |
+
var o=n.createFilter
|
132 |
+
"function"!=typeof o&&("string"==typeof o&&(o=new RegExp(o)),o instanceof RegExp?n.createFilter=e=>o.test(e):n.createFilter=()=>!0),this.initializePlugins(n.plugins),this.setupCallbacks(),this.setupTemplates()
|
133 |
+
const r=w("<div>"),l=w("<div>"),a=this._render("dropdown"),c=w('<div role="listbox" tabindex="-1">'),d=this.input.getAttribute("class")||"",p=n.mode
|
134 |
+
var u
|
135 |
+
if(C(r,n.wrapperClass,d,p),C(l,n.controlClass),G(r,l),C(a,n.dropdownClass,p),n.copyClassesToDropdown&&C(a,d),C(c,n.dropdownContentClass),G(a,c),w(n.dropdownParent||r).appendChild(a),n.hasOwnProperty("controlInput"))n.controlInput?(u=w(n.controlInput),this.focus_node=u):(u=w("<input/>"),this.focus_node=l)
|
136 |
+
else{u=w('<input type="text" autocomplete="off" size="1" />')
|
137 |
+
y(["autocorrect","autocapitalize","autocomplete"],(e=>{s.getAttribute(e)&&P(u,{[e]:s.getAttribute(e)})})),u.tabIndex=-1,l.appendChild(u),this.focus_node=u}this.wrapper=r,this.dropdown=a,this.dropdown_content=c,this.control=l,this.control_input=u,this.setup()}setup(){const e=this,t=e.settings,i=e.control_input,s=e.dropdown,n=e.dropdown_content,o=e.wrapper,r=e.control,l=e.input,a=e.focus_node,c={passive:!0},d=e.inputId+"-ts-dropdown"
|
138 |
+
P(n,{id:d}),P(a,{role:"combobox","aria-haspopup":"listbox","aria-expanded":"false","aria-controls":d})
|
139 |
+
const p=M(a,e.inputId+"-ts-control"),u="label[for='"+(e=>e.replace(/['"\\]/g,"\\$&"))(e.inputId)+"']",h=document.querySelector(u),g=e.focus.bind(e)
|
140 |
+
if(h){B(h,"click",g),P(h,{for:p})
|
141 |
+
const t=M(h,e.inputId+"-ts-label")
|
142 |
+
P(a,{"aria-labelledby":t}),P(n,{"aria-labelledby":t})}if(o.style.width=l.style.width,e.plugins.names.length){const t="plugin-"+e.plugins.names.join(" plugin-")
|
143 |
+
C([o,s],t)}(null===t.maxItems||t.maxItems>1)&&e.is_select_tag&&P(l,{multiple:"multiple"}),e.settings.placeholder&&P(i,{placeholder:t.placeholder}),!e.settings.splitOn&&e.settings.delimiter&&(e.settings.splitOn=new RegExp("\\s*"+v(e.settings.delimiter)+"+\\s*")),t.load&&t.loadThrottle&&(t.load=z(t.load,t.loadThrottle)),e.control_input.type=l.type,B(s,"click",(t=>{const i=k(t.target,"[data-selectable]")
|
144 |
+
i&&(e.onOptionSelect(t,i),H(t,!0))})),B(r,"click",(t=>{var s=k(t.target,"[data-ts-item]",r)
|
145 |
+
s&&e.onItemSelect(t,s)?H(t,!0):""==i.value&&(e.onClick(),H(t,!0))})),B(i,"mousedown",(e=>{""!==i.value&&e.stopPropagation()})),B(a,"keydown",(t=>e.onKeyDown(t))),B(i,"keypress",(t=>e.onKeyPress(t))),B(i,"input",(t=>e.onInput(t))),B(a,"resize",(()=>e.positionDropdown()),c),B(a,"blur",(t=>e.onBlur(t))),B(a,"focus",(t=>e.onFocus(t))),B(a,"paste",(t=>e.onPaste(t)))
|
146 |
+
const f=t=>{const i=t.composedPath()[0]
|
147 |
+
if(!o.contains(i)&&!s.contains(i))return e.isFocused&&e.blur(),void e.inputState()
|
148 |
+
H(t,!0)}
|
149 |
+
var m=()=>{e.isOpen&&e.positionDropdown()}
|
150 |
+
B(document,"mousedown",f),B(window,"scroll",m,c),B(window,"resize",m,c),this._destroy=()=>{document.removeEventListener("mousedown",f),window.removeEventListener("sroll",m),window.removeEventListener("resize",m),h&&h.removeEventListener("click",g)},this.revertSettings={innerHTML:l.innerHTML,tabIndex:l.tabIndex},l.tabIndex=-1,l.insertAdjacentElement("afterend",e.wrapper),e.sync(!1),t.items=[],delete t.optgroups,delete t.options,B(l,"invalid",(t=>{e.isValid&&(e.isValid=!1,e.isInvalid=!0,e.refreshState())})),e.updateOriginalInput(),e.refreshItems(),e.close(!1),e.inputState(),e.isSetup=!0,l.disabled?e.disable():e.enable(),e.on("change",this.onChange),C(l,"tomselected","ts-hidden-accessible"),e.trigger("initialize"),!0===t.preload&&e.preload()}setupOptions(e=[],t=[]){this.addOptions(e),y(t,(e=>{this.registerOptionGroup(e)}))}setupTemplates(){var e=this,t=e.settings.labelField,i=e.settings.optgroupLabelField,s={optgroup:e=>{let t=document.createElement("div")
|
151 |
+
return t.className="optgroup",t.appendChild(e.options),t},optgroup_header:(e,t)=>'<div class="optgroup-header">'+t(e[i])+"</div>",option:(e,i)=>"<div>"+i(e[t])+"</div>",item:(e,i)=>"<div>"+i(e[t])+"</div>",option_create:(e,t)=>'<div class="create">Add <strong>'+t(e.input)+"</strong>…</div>",no_results:()=>'<div class="no-results">No results found</div>',loading:()=>'<div class="spinner"></div>',not_loading:()=>{},dropdown:()=>"<div></div>"}
|
152 |
+
e.settings.render=Object.assign({},s,e.settings.render)}setupCallbacks(){var e,t,i={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",item_select:"onItemSelect",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",optgroup_add:"onOptionGroupAdd",optgroup_remove:"onOptionGroupRemove",optgroup_clear:"onOptionGroupClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType",load:"onLoad",focus:"onFocus",blur:"onBlur"}
|
153 |
+
for(e in i)(t=this.settings[i[e]])&&this.on(e,t)}sync(e=!0){const t=this,i=e?U(t.input,{delimiter:t.settings.delimiter}):t.settings
|
154 |
+
t.setupOptions(i.options,i.optgroups),t.setValue(i.items,!0),t.lastQuery=null}onClick(){var e=this
|
155 |
+
if(e.activeItems.length>0)return e.clearActiveItems(),void e.focus()
|
156 |
+
e.isFocused&&e.isOpen?e.blur():e.focus()}onMouseDown(){}onChange(){_(this.input,"input"),_(this.input,"change")}onPaste(e){var t=this
|
157 |
+
t.isFull()||t.isInputHidden||t.isLocked?H(e):t.settings.splitOn&&setTimeout((()=>{var e=t.inputValue()
|
158 |
+
if(e.match(t.settings.splitOn)){var i=e.trim().split(t.settings.splitOn)
|
159 |
+
y(i,(e=>{t.createItem(e)}))}}),0)}onKeyPress(e){var t=this
|
160 |
+
if(!t.isLocked){var i=String.fromCharCode(e.keyCode||e.which)
|
161 |
+
return t.settings.create&&"multi"===t.settings.mode&&i===t.settings.delimiter?(t.createItem(),void H(e)):void 0}H(e)}onKeyDown(e){var t=this
|
162 |
+
if(t.isLocked)9!==e.keyCode&&H(e)
|
163 |
+
else{switch(e.keyCode){case 65:if(K(V,e))return H(e),void t.selectAll()
|
164 |
+
break
|
165 |
+
case 27:return t.isOpen&&(H(e,!0),t.close()),void t.clearActiveItems()
|
166 |
+
case 40:if(!t.isOpen&&t.hasOptions)t.open()
|
167 |
+
else if(t.activeOption){let e=t.getAdjacent(t.activeOption,1)
|
168 |
+
e&&t.setActiveOption(e)}return void H(e)
|
169 |
+
case 38:if(t.activeOption){let e=t.getAdjacent(t.activeOption,-1)
|
170 |
+
e&&t.setActiveOption(e)}return void H(e)
|
171 |
+
case 13:return void(t.isOpen&&t.activeOption?(t.onOptionSelect(e,t.activeOption),H(e)):t.settings.create&&t.createItem()&&H(e))
|
172 |
+
case 37:return void t.advanceSelection(-1,e)
|
173 |
+
case 39:return void t.advanceSelection(1,e)
|
174 |
+
case 9:return void(t.settings.selectOnTab&&(t.isOpen&&t.activeOption&&(t.onOptionSelect(e,t.activeOption),H(e)),t.settings.create&&t.createItem()&&H(e)))
|
175 |
+
case 8:case 46:return void t.deleteSelection(e)}t.isInputHidden&&!K(V,e)&&H(e)}}onInput(e){var t=this
|
176 |
+
if(!t.isLocked){var i=t.inputValue()
|
177 |
+
t.lastValue!==i&&(t.lastValue=i,t.settings.shouldLoad.call(t,i)&&t.load(i),t.refreshOptions(),t.trigger("type",i))}}onFocus(e){var t=this,i=t.isFocused
|
178 |
+
if(t.isDisabled)return t.blur(),void H(e)
|
179 |
+
t.ignoreFocus||(t.isFocused=!0,"focus"===t.settings.preload&&t.preload(),i||t.trigger("focus"),t.activeItems.length||(t.showInput(),t.refreshOptions(!!t.settings.openOnFocus)),t.refreshState())}onBlur(e){if(!1!==document.hasFocus()){var t=this
|
180 |
+
if(t.isFocused){t.isFocused=!1,t.ignoreFocus=!1
|
181 |
+
var i=()=>{t.close(),t.setActiveItem(),t.setCaret(t.items.length),t.trigger("blur")}
|
182 |
+
t.settings.create&&t.settings.createOnBlur?t.createItem(null,!1,i):i()}}}onOptionSelect(e,t){var i,s=this
|
183 |
+
t&&(t.parentElement&&t.parentElement.matches("[data-disabled]")||(t.classList.contains("create")?s.createItem(null,!0,(()=>{s.settings.closeAfterSelect&&s.close()})):void 0!==(i=t.dataset.value)&&(s.lastQuery=null,s.addItem(i),s.settings.closeAfterSelect&&s.close(),!s.settings.hideSelected&&e.type&&/click/.test(e.type)&&s.setActiveOption(t))))}onItemSelect(e,t){var i=this
|
184 |
+
return!i.isLocked&&"multi"===i.settings.mode&&(H(e),i.setActiveItem(t,e),!0)}canLoad(e){return!!this.settings.load&&!this.loadedSearches.hasOwnProperty(e)}load(e){const t=this
|
185 |
+
if(!t.canLoad(e))return
|
186 |
+
C(t.wrapper,t.settings.loadingClass),t.loading++
|
187 |
+
const i=t.loadCallback.bind(t)
|
188 |
+
t.settings.load.call(t,e,i)}loadCallback(e,t){const i=this
|
189 |
+
i.loading=Math.max(i.loading-1,0),i.lastQuery=null,i.clearActiveOption(),i.setupOptions(e,t),i.refreshOptions(i.isFocused&&!i.isInputHidden),i.loading||S(i.wrapper,i.settings.loadingClass),i.trigger("load",e,t)}preload(){var e=this.wrapper.classList
|
190 |
+
e.contains("preloaded")||(e.add("preloaded"),this.load(""))}setTextboxValue(e=""){var t=this.control_input
|
191 |
+
t.value!==e&&(t.value=e,_(t,"update"),this.lastValue=e)}getValue(){return this.is_select_tag&&this.input.hasAttribute("multiple")?this.items:this.items.join(this.settings.delimiter)}setValue(e,t){R(this,t?[]:["change"],(()=>{this.clear(t),this.addItems(e,t)}))}setMaxItems(e){0===e&&(e=null),this.settings.maxItems=e,this.refreshState()}setActiveItem(e,t){var i,s,n,o,r,l,a=this
|
192 |
+
if("single"!==a.settings.mode){if(!e)return a.clearActiveItems(),void(a.isFocused&&a.showInput())
|
193 |
+
if("click"===(i=t&&t.type.toLowerCase())&&K("shiftKey",t)&&a.activeItems.length){for(l=a.getLastActive(),(n=Array.prototype.indexOf.call(a.control.children,l))>(o=Array.prototype.indexOf.call(a.control.children,e))&&(r=n,n=o,o=r),s=n;s<=o;s++)e=a.control.children[s],-1===a.activeItems.indexOf(e)&&a.setActiveItemClass(e)
|
194 |
+
H(t)}else"click"===i&&K(V,t)||"keydown"===i&&K("shiftKey",t)?e.classList.contains("active")?a.removeActiveItem(e):a.setActiveItemClass(e):(a.clearActiveItems(),a.setActiveItemClass(e))
|
195 |
+
a.hideInput(),a.isFocused||a.focus()}}setActiveItemClass(e){const t=this,i=t.control.querySelector(".last-active")
|
196 |
+
i&&S(i,"last-active"),C(e,"active last-active"),t.trigger("item_select",e),-1==t.activeItems.indexOf(e)&&t.activeItems.push(e)}removeActiveItem(e){var t=this.activeItems.indexOf(e)
|
197 |
+
this.activeItems.splice(t,1),S(e,"active")}clearActiveItems(){S(this.activeItems,"active"),this.activeItems=[]}setActiveOption(e){e!==this.activeOption&&(this.clearActiveOption(),e&&(this.activeOption=e,P(this.focus_node,{"aria-activedescendant":e.getAttribute("id")}),P(e,{"aria-selected":"true"}),C(e,"active"),this.scrollToOption(e)))}scrollToOption(e,t){if(!e)return
|
198 |
+
const i=this.dropdown_content,s=i.clientHeight,n=i.scrollTop||0,o=e.offsetHeight,r=e.getBoundingClientRect().top-i.getBoundingClientRect().top+n
|
199 |
+
r+o>s+n?this.scroll(r-s+o,t):r<n&&this.scroll(r,t)}scroll(e,t){const i=this.dropdown_content
|
200 |
+
t&&(i.style.scrollBehavior=t),i.scrollTop=e,i.style.scrollBehavior=""}clearActiveOption(){this.activeOption&&(S(this.activeOption,"active"),P(this.activeOption,{"aria-selected":null})),this.activeOption=null,P(this.focus_node,{"aria-activedescendant":null})}selectAll(){if("single"===this.settings.mode)return
|
201 |
+
const e=this.controlChildren()
|
202 |
+
e.length&&(this.hideInput(),this.close(),this.activeItems=e,C(e,"active"))}inputState(){var e=this
|
203 |
+
e.control.contains(e.control_input)&&(P(e.control_input,{placeholder:e.settings.placeholder}),e.activeItems.length>0||!e.isFocused&&e.settings.hidePlaceholder&&e.items.length>0?(e.setTextboxValue(),e.isInputHidden=!0):(e.settings.hidePlaceholder&&e.items.length>0&&P(e.control_input,{placeholder:""}),e.isInputHidden=!1),e.wrapper.classList.toggle("input-hidden",e.isInputHidden))}hideInput(){this.inputState()}showInput(){this.inputState()}inputValue(){return this.control_input.value.trim()}focus(){var e=this
|
204 |
+
e.isDisabled||(e.ignoreFocus=!0,e.control_input.offsetWidth?e.control_input.focus():e.focus_node.focus(),setTimeout((()=>{e.ignoreFocus=!1,e.onFocus()}),0))}blur(){this.focus_node.blur(),this.onBlur()}getScoreFunction(e){return this.sifter.getScoreFunction(e,this.getSearchOptions())}getSearchOptions(){var e=this.settings,t=e.sortField
|
205 |
+
return"string"==typeof e.sortField&&(t=[{field:e.sortField}]),{fields:e.searchField,conjunction:e.searchConjunction,sort:t,nesting:e.nesting}}search(e){var t,i,s,n=this,o=this.getSearchOptions()
|
206 |
+
if(n.settings.score&&"function"!=typeof(s=n.settings.score.call(n,e)))throw new Error('Tom Select "score" setting must be a function that returns a function')
|
207 |
+
if(e!==n.lastQuery?(n.lastQuery=e,i=n.sifter.search(e,Object.assign(o,{score:s})),n.currentResults=i):i=Object.assign({},n.currentResults),n.settings.hideSelected)for(t=i.items.length-1;t>=0;t--){let e=q(i.items[t].id)
|
208 |
+
e&&-1!==n.items.indexOf(e)&&i.items.splice(t,1)}return i}refreshOptions(e=!0){var t,i,s,n,o,r,l,a,c,d,p
|
209 |
+
const u={},h=[]
|
210 |
+
var g,f=this,v=f.inputValue(),m=f.search(v),O=f.activeOption,b=f.settings.shouldOpen||!1,w=f.dropdown_content
|
211 |
+
for(O&&(c=O.dataset.value,d=O.closest("[data-group]")),n=m.items.length,"number"==typeof f.settings.maxOptions&&(n=Math.min(n,f.settings.maxOptions)),n>0&&(b=!0),t=0;t<n;t++){let e=m.items[t].id,n=f.options[e],l=f.getOption(e,!0)
|
212 |
+
for(f.settings.hideSelected||l.classList.toggle("selected",f.items.includes(e)),o=n[f.settings.optgroupField]||"",i=0,s=(r=Array.isArray(o)?o:[o])&&r.length;i<s;i++)o=r[i],f.optgroups.hasOwnProperty(o)||(o=""),u.hasOwnProperty(o)||(u[o]=document.createDocumentFragment(),h.push(o)),i>0&&(l=l.cloneNode(!0),P(l,{id:n.$id+"-clone-"+i,"aria-selected":null}),l.classList.add("ts-cloned"),S(l,"active")),c==e&&d&&d.dataset.group===o&&(O=l),u[o].appendChild(l)}this.settings.lockOptgroupOrder&&h.sort(((e,t)=>(f.optgroups[e]&&f.optgroups[e].$order||0)-(f.optgroups[t]&&f.optgroups[t].$order||0))),l=document.createDocumentFragment(),y(h,(e=>{if(f.optgroups.hasOwnProperty(e)&&u[e].children.length){let t=document.createDocumentFragment(),i=f.render("optgroup_header",f.optgroups[e])
|
213 |
+
G(t,i),G(t,u[e])
|
214 |
+
let s=f.render("optgroup",{group:f.optgroups[e],options:t})
|
215 |
+
G(l,s)}else G(l,u[e])})),w.innerHTML="",G(w,l),f.settings.highlight&&(g=w.querySelectorAll("span.highlight"),Array.prototype.forEach.call(g,(function(e){var t=e.parentNode
|
216 |
+
t.replaceChild(e.firstChild,e),t.normalize()})),m.query.length&&m.tokens.length&&y(m.tokens,(e=>{T(w,e.regex)})))
|
217 |
+
var _=e=>{let t=f.render(e,{input:v})
|
218 |
+
return t&&(b=!0,w.insertBefore(t,w.firstChild)),t}
|
219 |
+
if(f.loading?_("loading"):f.settings.shouldLoad.call(f,v)?0===m.items.length&&_("no_results"):_("not_loading"),(a=f.canCreate(v))&&(p=_("option_create")),f.hasOptions=m.items.length>0||a,b){if(m.items.length>0){if(!w.contains(O)&&"single"===f.settings.mode&&f.items.length&&(O=f.getOption(f.items[0])),!w.contains(O)){let e=0
|
220 |
+
p&&!f.settings.addPrecedence&&(e=1),O=f.selectable()[e]}}else p&&(O=p)
|
221 |
+
e&&!f.isOpen&&(f.open(),f.scrollToOption(O,"auto")),f.setActiveOption(O)}else f.clearActiveOption(),e&&f.isOpen&&f.close(!1)}selectable(){return this.dropdown_content.querySelectorAll("[data-selectable]")}addOption(e,t=!1){const i=this
|
222 |
+
if(Array.isArray(e))return i.addOptions(e,t),!1
|
223 |
+
const s=q(e[i.settings.valueField])
|
224 |
+
return null!==s&&!i.options.hasOwnProperty(s)&&(e.$order=e.$order||++i.order,e.$id=i.inputId+"-opt-"+e.$order,i.options[s]=e,i.lastQuery=null,t&&(i.userOptions[s]=t,i.trigger("option_add",s,e)),s)}addOptions(e,t=!1){y(e,(e=>{this.addOption(e,t)}))}registerOption(e){return this.addOption(e)}registerOptionGroup(e){var t=q(e[this.settings.optgroupValueField])
|
225 |
+
return null!==t&&(e.$order=e.$order||++this.order,this.optgroups[t]=e,t)}addOptionGroup(e,t){var i
|
226 |
+
t[this.settings.optgroupValueField]=e,(i=this.registerOptionGroup(t))&&this.trigger("optgroup_add",i,t)}removeOptionGroup(e){this.optgroups.hasOwnProperty(e)&&(delete this.optgroups[e],this.clearCache(),this.trigger("optgroup_remove",e))}clearOptionGroups(){this.optgroups={},this.clearCache(),this.trigger("optgroup_clear")}updateOption(e,t){const i=this
|
227 |
+
var s,n
|
228 |
+
const o=q(e),r=q(t[i.settings.valueField])
|
229 |
+
if(null===o)return
|
230 |
+
if(!i.options.hasOwnProperty(o))return
|
231 |
+
if("string"!=typeof r)throw new Error("Value must be set in option data")
|
232 |
+
const l=i.getOption(o),a=i.getItem(o)
|
233 |
+
if(t.$order=t.$order||i.options[o].$order,delete i.options[o],i.uncacheValue(r),i.options[r]=t,l){if(i.dropdown_content.contains(l)){const e=i._render("option",t)
|
234 |
+
E(l,e),i.activeOption===l&&i.setActiveOption(e)}l.remove()}a&&(-1!==(n=i.items.indexOf(o))&&i.items.splice(n,1,r),s=i._render("item",t),a.classList.contains("active")&&C(s,"active"),E(a,s)),i.lastQuery=null}removeOption(e,t){const i=this
|
235 |
+
e=D(e),i.uncacheValue(e),delete i.userOptions[e],delete i.options[e],i.lastQuery=null,i.trigger("option_remove",e),i.removeItem(e,t)}clearOptions(){this.loadedSearches={},this.userOptions={},this.clearCache()
|
236 |
+
var e={}
|
237 |
+
y(this.options,((t,i)=>{this.items.indexOf(i)>=0&&(e[i]=this.options[i])})),this.options=this.sifter.items=e,this.lastQuery=null,this.trigger("option_clear")}getOption(e,t=!1){const i=q(e)
|
238 |
+
if(null!==i&&this.options.hasOwnProperty(i)){const e=this.options[i]
|
239 |
+
if(e.$div)return e.$div
|
240 |
+
if(t)return this._render("option",e)}return null}getAdjacent(e,t,i="option"){var s
|
241 |
+
if(!e)return null
|
242 |
+
s="item"==i?this.controlChildren():this.dropdown_content.querySelectorAll("[data-selectable]")
|
243 |
+
for(let i=0;i<s.length;i++)if(s[i]==e)return t>0?s[i+1]:s[i-1]
|
244 |
+
return null}getItem(e){if("object"==typeof e)return e
|
245 |
+
var t=q(e)
|
246 |
+
return null!==t?this.control.querySelector(`[data-value="${Q(t)}"]`):null}addItems(e,t){var i=this,s=Array.isArray(e)?e:[e]
|
247 |
+
for(let e=0,n=(s=s.filter((e=>-1===i.items.indexOf(e)))).length;e<n;e++)i.isPending=e<n-1,i.addItem(s[e],t)}addItem(e,t){R(this,t?[]:["change"],(()=>{var i,s
|
248 |
+
const n=this,o=n.settings.mode,r=q(e)
|
249 |
+
if((!r||-1===n.items.indexOf(r)||("single"===o&&n.close(),"single"!==o&&n.settings.duplicates))&&null!==r&&n.options.hasOwnProperty(r)&&("single"===o&&n.clear(t),"multi"!==o||!n.isFull())){if(i=n._render("item",n.options[r]),n.control.contains(i)&&(i=i.cloneNode(!0)),s=n.isFull(),n.items.splice(n.caretPos,0,r),n.insertAtCaret(i),n.isSetup){if(!n.isPending&&n.settings.hideSelected){let e=n.getOption(r),t=n.getAdjacent(e,1)
|
250 |
+
t&&n.setActiveOption(t)}n.isPending||n.refreshOptions(n.isFocused&&"single"!==o),0!=n.settings.closeAfterSelect&&n.isFull()?n.close():n.isPending||n.positionDropdown(),n.trigger("item_add",r,i),n.isPending||n.updateOriginalInput({silent:t})}(!n.isPending||!s&&n.isFull())&&(n.inputState(),n.refreshState())}}))}removeItem(e=null,t){const i=this
|
251 |
+
if(!(e=i.getItem(e)))return
|
252 |
+
var s,n
|
253 |
+
const o=e.dataset.value
|
254 |
+
s=L(e),e.remove(),e.classList.contains("active")&&(n=i.activeItems.indexOf(e),i.activeItems.splice(n,1),S(e,"active")),i.items.splice(s,1),i.lastQuery=null,!i.settings.persist&&i.userOptions.hasOwnProperty(o)&&i.removeOption(o,t),s<i.caretPos&&i.setCaret(i.caretPos-1),i.updateOriginalInput({silent:t}),i.refreshState(),i.positionDropdown(),i.trigger("item_remove",o,e)}createItem(e=null,t=!0,i=(()=>{})){var s,n=this,o=n.caretPos
|
255 |
+
if(e=e||n.inputValue(),!n.canCreate(e))return i(),!1
|
256 |
+
n.lock()
|
257 |
+
var r=!1,l=e=>{if(n.unlock(),!e||"object"!=typeof e)return i()
|
258 |
+
var s=q(e[n.settings.valueField])
|
259 |
+
if("string"!=typeof s)return i()
|
260 |
+
n.setTextboxValue(),n.addOption(e,!0),n.setCaret(o),n.addItem(s),n.refreshOptions(t&&"single"!==n.settings.mode),i(e),r=!0}
|
261 |
+
return s="function"==typeof n.settings.create?n.settings.create.call(this,e,l):{[n.settings.labelField]:e,[n.settings.valueField]:e},r||l(s),!0}refreshItems(){var e=this
|
262 |
+
e.lastQuery=null,e.isSetup&&e.addItems(e.items),e.updateOriginalInput(),e.refreshState()}refreshState(){const e=this
|
263 |
+
e.refreshValidityState()
|
264 |
+
const t=e.isFull(),i=e.isLocked
|
265 |
+
e.wrapper.classList.toggle("rtl",e.rtl)
|
266 |
+
const s=e.wrapper.classList
|
267 |
+
var n
|
268 |
+
s.toggle("focus",e.isFocused),s.toggle("disabled",e.isDisabled),s.toggle("required",e.isRequired),s.toggle("invalid",!e.isValid),s.toggle("locked",i),s.toggle("full",t),s.toggle("input-active",e.isFocused&&!e.isInputHidden),s.toggle("dropdown-active",e.isOpen),s.toggle("has-options",(n=e.options,0===Object.keys(n).length)),s.toggle("has-items",e.items.length>0)}refreshValidityState(){var e=this
|
269 |
+
e.input.checkValidity&&(e.isValid=e.input.checkValidity(),e.isInvalid=!e.isValid)}isFull(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems}updateOriginalInput(e={}){const t=this
|
270 |
+
var i,s
|
271 |
+
const n=t.input.querySelector('option[value=""]')
|
272 |
+
if(t.is_select_tag){const e=[]
|
273 |
+
function o(i,s,o){return i||(i=w('<option value="'+N(s)+'">'+N(o)+"</option>")),i!=n&&t.input.append(i),e.push(i),i.selected=!0,i}t.input.querySelectorAll("option:checked").forEach((e=>{e.selected=!1})),0==t.items.length&&"single"==t.settings.mode?o(n,"",""):t.items.forEach((n=>{if(i=t.options[n],s=i[t.settings.labelField]||"",e.includes(i.$option)){o(t.input.querySelector(`option[value="${Q(n)}"]:not(:checked)`),n,s)}else i.$option=o(i.$option,n,s)}))}else t.input.value=t.getValue()
|
274 |
+
t.isSetup&&(e.silent||t.trigger("change",t.getValue()))}open(){var e=this
|
275 |
+
e.isLocked||e.isOpen||"multi"===e.settings.mode&&e.isFull()||(e.isOpen=!0,P(e.focus_node,{"aria-expanded":"true"}),e.refreshState(),I(e.dropdown,{visibility:"hidden",display:"block"}),e.positionDropdown(),I(e.dropdown,{visibility:"visible",display:"block"}),e.focus(),e.trigger("dropdown_open",e.dropdown))}close(e=!0){var t=this,i=t.isOpen
|
276 |
+
e&&(t.setTextboxValue(),"single"===t.settings.mode&&t.items.length&&t.hideInput()),t.isOpen=!1,P(t.focus_node,{"aria-expanded":"false"}),I(t.dropdown,{display:"none"}),t.settings.hideSelected&&t.clearActiveOption(),t.refreshState(),i&&t.trigger("dropdown_close",t.dropdown)}positionDropdown(){if("body"===this.settings.dropdownParent){var e=this.control,t=e.getBoundingClientRect(),i=e.offsetHeight+t.top+window.scrollY,s=t.left+window.scrollX
|
277 |
+
I(this.dropdown,{width:t.width+"px",top:i+"px",left:s+"px"})}}clear(e){var t=this
|
278 |
+
if(t.items.length){var i=t.controlChildren()
|
279 |
+
y(i,(e=>{t.removeItem(e,!0)})),t.showInput(),e||t.updateOriginalInput(),t.trigger("clear")}}insertAtCaret(e){const t=this,i=t.caretPos,s=t.control
|
280 |
+
s.insertBefore(e,s.children[i]),t.setCaret(i+1)}deleteSelection(e){var t,i,s,n,o,r=this
|
281 |
+
t=e&&8===e.keyCode?-1:1,i={start:(o=r.control_input).selectionStart||0,length:(o.selectionEnd||0)-(o.selectionStart||0)}
|
282 |
+
const l=[]
|
283 |
+
if(r.activeItems.length)n=F(r.activeItems,t),s=L(n),t>0&&s++,y(r.activeItems,(e=>l.push(e)))
|
284 |
+
else if((r.isFocused||"single"===r.settings.mode)&&r.items.length){const e=r.controlChildren()
|
285 |
+
t<0&&0===i.start&&0===i.length?l.push(e[r.caretPos-1]):t>0&&i.start===r.inputValue().length&&l.push(e[r.caretPos])}const a=l.map((e=>e.dataset.value))
|
286 |
+
if(!a.length||"function"==typeof r.settings.onDelete&&!1===r.settings.onDelete.call(r,a,e))return!1
|
287 |
+
for(H(e,!0),void 0!==s&&r.setCaret(s);l.length;)r.removeItem(l.pop())
|
288 |
+
return r.showInput(),r.positionDropdown(),r.refreshOptions(!1),!0}advanceSelection(e,t){var i,s,n=this
|
289 |
+
n.rtl&&(e*=-1),n.inputValue().length||(K(V,t)||K("shiftKey",t)?(s=(i=n.getLastActive(e))?i.classList.contains("active")?n.getAdjacent(i,e,"item"):i:e>0?n.control_input.nextElementSibling:n.control_input.previousElementSibling)&&(s.classList.contains("active")&&n.removeActiveItem(i),n.setActiveItemClass(s)):n.moveCaret(e))}moveCaret(e){}getLastActive(e){let t=this.control.querySelector(".last-active")
|
290 |
+
if(t)return t
|
291 |
+
var i=this.control.querySelectorAll(".active")
|
292 |
+
return i?F(i,e):void 0}setCaret(e){this.caretPos=this.items.length}controlChildren(){return Array.from(this.control.querySelectorAll("[data-ts-item]"))}lock(){this.close(),this.isLocked=!0,this.refreshState()}unlock(){this.isLocked=!1,this.refreshState()}disable(){var e=this
|
293 |
+
e.input.disabled=!0,e.control_input.disabled=!0,e.focus_node.tabIndex=-1,e.isDisabled=!0,e.lock()}enable(){var e=this
|
294 |
+
e.input.disabled=!1,e.control_input.disabled=!1,e.focus_node.tabIndex=e.tabIndex,e.isDisabled=!1,e.unlock()}destroy(){var e=this,t=e.revertSettings
|
295 |
+
e.trigger("destroy"),e.off(),e.wrapper.remove(),e.dropdown.remove(),e.input.innerHTML=t.innerHTML,e.input.tabIndex=t.tabIndex,S(e.input,"tomselected","ts-hidden-accessible"),e._destroy(),delete e.input.tomselect}render(e,t){return"function"!=typeof this.settings.render[e]?null:this._render(e,t)}_render(e,t){var i,s,n=""
|
296 |
+
const o=this
|
297 |
+
return"option"!==e&&"item"!=e||(n=D(t[o.settings.valueField])),null==(s=o.settings.render[e].call(this,t,N))||(s=w(s),"option"===e||"option_create"===e?t[o.settings.disabledField]?P(s,{"aria-disabled":"true"}):P(s,{"data-selectable":""}):"optgroup"===e&&(i=t.group[o.settings.optgroupValueField],P(s,{"data-group":i}),t.group[o.settings.disabledField]&&P(s,{"data-disabled":""})),"option"!==e&&"item"!==e||(P(s,{"data-value":n}),"item"===e?(C(s,o.settings.itemClass),P(s,{"data-ts-item":""})):(C(s,o.settings.optionClass),P(s,{role:"option",id:t.$id}),o.options[n].$div=s))),s}clearCache(){y(this.options,((e,t)=>{e.$div&&(e.$div.remove(),delete e.$div)}))}uncacheValue(e){const t=this.getOption(e)
|
298 |
+
t&&t.remove()}canCreate(e){return this.settings.create&&e.length>0&&this.settings.createFilter.call(this,e)}hook(e,t,i){var s=this,n=s[t]
|
299 |
+
s[t]=function(){var t,o
|
300 |
+
return"after"===e&&(t=n.apply(s,arguments)),o=i.apply(s,arguments),"instead"===e?o:("before"===e&&(t=n.apply(s,arguments)),t)}}}return J.define("change_listener",(function(){B(this.input,"change",(()=>{this.sync()}))})),J.define("checkbox_options",(function(){var e=this,t=e.onOptionSelect
|
301 |
+
e.settings.hideSelected=!1
|
302 |
+
var i=function(e){setTimeout((()=>{var t=e.querySelector("input")
|
303 |
+
e.classList.contains("selected")?t.checked=!0:t.checked=!1}),1)}
|
304 |
+
e.hook("after","setupTemplates",(()=>{var t=e.settings.render.option
|
305 |
+
e.settings.render.option=(i,s)=>{var n=w(t.call(e,i,s)),o=document.createElement("input")
|
306 |
+
o.addEventListener("click",(function(e){H(e)})),o.type="checkbox"
|
307 |
+
const r=q(i[e.settings.valueField])
|
308 |
+
return r&&e.items.indexOf(r)>-1&&(o.checked=!0),n.prepend(o),n}})),e.on("item_remove",(t=>{var s=e.getOption(t)
|
309 |
+
s&&(s.classList.remove("selected"),i(s))})),e.hook("instead","onOptionSelect",((s,n)=>{if(n.classList.contains("selected"))return n.classList.remove("selected"),e.removeItem(n.dataset.value),e.refreshOptions(),void H(s,!0)
|
310 |
+
t.call(e,s,n),i(n)}))})),J.define("clear_button",(function(e){const t=this,i=Object.assign({className:"clear-button",title:"Clear All",html:e=>`<div class="${e.className}" title="${e.title}">×</div>`},e)
|
311 |
+
t.on("initialize",(()=>{var e=w(i.html(i))
|
312 |
+
e.addEventListener("click",(e=>{t.clear(),"single"===t.settings.mode&&t.settings.allowEmptyOption&&t.addItem(""),e.preventDefault(),e.stopPropagation()})),t.control.appendChild(e)}))})),J.define("drag_drop",(function(){var e=this
|
313 |
+
if(!$.fn.sortable)throw new Error('The "drag_drop" plugin requires jQuery UI "sortable".')
|
314 |
+
if("multi"===e.settings.mode){var t=e.lock,i=e.unlock
|
315 |
+
e.hook("instead","lock",(()=>{var i=$(e.control).data("sortable")
|
316 |
+
return i&&i.disable(),t.call(e)})),e.hook("instead","unlock",(()=>{var t=$(e.control).data("sortable")
|
317 |
+
return t&&t.enable(),i.call(e)})),e.on("initialize",(()=>{var t=$(e.control).sortable({items:"[data-value]",forcePlaceholderSize:!0,disabled:e.isLocked,start:(e,i)=>{i.placeholder.css("width",i.helper.css("width")),t.css({overflow:"visible"})},stop:()=>{t.css({overflow:"hidden"})
|
318 |
+
var i=[]
|
319 |
+
t.children("[data-value]").each((function(){this.dataset.value&&i.push(this.dataset.value)})),e.setValue(i)}})}))}})),J.define("dropdown_header",(function(e){const t=this,i=Object.assign({title:"Untitled",headerClass:"dropdown-header",titleRowClass:"dropdown-header-title",labelClass:"dropdown-header-label",closeClass:"dropdown-header-close",html:e=>'<div class="'+e.headerClass+'"><div class="'+e.titleRowClass+'"><span class="'+e.labelClass+'">'+e.title+'</span><a class="'+e.closeClass+'">×</a></div></div>'},e)
|
320 |
+
t.on("initialize",(()=>{var e=w(i.html(i)),s=e.querySelector("."+i.closeClass)
|
321 |
+
s&&s.addEventListener("click",(e=>{H(e,!0),t.close()})),t.dropdown.insertBefore(e,t.dropdown.firstChild)}))})),J.define("caret_position",(function(){var e=this
|
322 |
+
e.hook("instead","setCaret",(t=>{"single"!==e.settings.mode&&e.control.contains(e.control_input)?(t=Math.max(0,Math.min(e.items.length,t)))==e.caretPos||e.isPending||e.controlChildren().forEach(((i,s)=>{s<t?e.control_input.insertAdjacentElement("beforebegin",i):e.control.appendChild(i)})):t=e.items.length,e.caretPos=t})),e.hook("instead","moveCaret",(t=>{if(!e.isFocused)return
|
323 |
+
const i=e.getLastActive(t)
|
324 |
+
if(i){const s=L(i)
|
325 |
+
e.setCaret(t>0?s+1:s),e.setActiveItem()}else e.setCaret(e.caretPos+t)}))})),J.define("dropdown_input",(function(){var e=this
|
326 |
+
e.settings.shouldOpen=!0,e.hook("before","setup",(()=>{e.focus_node=e.control,C(e.control_input,"dropdown-input")
|
327 |
+
const t=w('<div class="dropdown-input-wrap">')
|
328 |
+
t.append(e.control_input),e.dropdown.insertBefore(t,e.dropdown.firstChild)})),e.on("initialize",(()=>{e.control_input.addEventListener("keydown",(t=>{switch(t.keyCode){case 27:return e.isOpen&&(H(t,!0),e.close()),void e.clearActiveItems()
|
329 |
+
case 9:e.focus_node.tabIndex=-1}return e.onKeyDown.call(e,t)})),e.on("blur",(()=>{e.focus_node.tabIndex=e.isDisabled?-1:e.tabIndex})),e.on("dropdown_open",(()=>{e.control_input.focus()}))
|
330 |
+
const t=e.onBlur
|
331 |
+
e.hook("instead","onBlur",(i=>{if(!i||i.relatedTarget!=e.control_input)return t.call(e)})),B(e.control_input,"blur",(()=>e.onBlur())),e.hook("before","close",(()=>{e.isOpen&&e.focus_node.focus()}))}))})),J.define("input_autogrow",(function(){var e=this
|
332 |
+
e.on("initialize",(()=>{var t=document.createElement("span"),i=e.control_input
|
333 |
+
t.style.cssText="position:absolute; top:-99999px; left:-99999px; width:auto; padding:0; white-space:pre; ",e.wrapper.appendChild(t)
|
334 |
+
for(const e of["letterSpacing","fontSize","fontFamily","fontWeight","textTransform"])t.style[e]=i.style[e]
|
335 |
+
var s=()=>{e.items.length>0?(t.textContent=i.value,i.style.width=t.clientWidth+"px"):i.style.width=""}
|
336 |
+
s(),e.on("update item_add item_remove",s),B(i,"input",s),B(i,"keyup",s),B(i,"blur",s),B(i,"update",s)}))})),J.define("no_backspace_delete",(function(){var e=this,t=e.deleteSelection
|
337 |
+
this.hook("instead","deleteSelection",(i=>!!e.activeItems.length&&t.call(e,i)))})),J.define("no_active_items",(function(){this.hook("instead","setActiveItem",(()=>{})),this.hook("instead","selectAll",(()=>{}))})),J.define("optgroup_columns",(function(){var e=this,t=e.onKeyDown
|
338 |
+
e.hook("instead","onKeyDown",(i=>{var s,n,o,r
|
339 |
+
if(!e.isOpen||37!==i.keyCode&&39!==i.keyCode)return t.call(e,i)
|
340 |
+
r=k(e.activeOption,"[data-group]"),s=L(e.activeOption,"[data-selectable]"),r&&(r=37===i.keyCode?r.previousSibling:r.nextSibling)&&(n=(o=r.querySelectorAll("[data-selectable]"))[Math.min(o.length-1,s)])&&e.setActiveOption(n)}))})),J.define("remove_button",(function(e){const t=Object.assign({label:"×",title:"Remove",className:"remove",append:!0},e)
|
341 |
+
var i=this
|
342 |
+
if(t.append){var s='<a href="javascript:void(0)" class="'+t.className+'" tabindex="-1" title="'+N(t.title)+'">'+t.label+"</a>"
|
343 |
+
i.hook("after","setupTemplates",(()=>{var e=i.settings.render.item
|
344 |
+
i.settings.render.item=(t,n)=>{var o=w(e.call(i,t,n)),r=w(s)
|
345 |
+
return o.appendChild(r),B(r,"mousedown",(e=>{H(e,!0)})),B(r,"click",(e=>{if(H(e,!0),!i.isLocked){var t=o.dataset.value
|
346 |
+
i.removeItem(t),i.refreshOptions(!1)}})),o}}))}})),J.define("restore_on_backspace",(function(e){const t=this,i=Object.assign({text:e=>e[t.settings.labelField]},e)
|
347 |
+
t.on("item_remove",(function(e){if(""===t.control_input.value.trim()){var s=t.options[e]
|
348 |
+
s&&t.setTextboxValue(i.text.call(t,s))}}))})),J.define("virtual_scroll",(function(){const e=this,t=e.canLoad,i=e.clearActiveOption,s=e.loadCallback
|
349 |
+
var n,o={},r=!1
|
350 |
+
if(!e.settings.firstUrl)throw"virtual_scroll plugin requires a firstUrl() method"
|
351 |
+
function l(t){return!("number"==typeof e.settings.maxOptions&&n.children.length>=e.settings.maxOptions)&&!(!(t in o)||!o[t])}e.settings.sortField=[{field:"$order"},{field:"$score"}],e.setNextUrl=function(e,t){o[e]=t},e.getUrl=function(t){if(t in o){const e=o[t]
|
352 |
+
return o[t]=!1,e}return o={},e.settings.firstUrl(t)},e.hook("instead","clearActiveOption",(()=>{if(!r)return i.call(e)})),e.hook("instead","canLoad",(i=>i in o?l(i):t.call(e,i))),e.hook("instead","loadCallback",((t,i)=>{r||e.clearOptions(),s.call(e,t,i),r=!1})),e.hook("after","refreshOptions",(()=>{const t=e.lastValue
|
353 |
+
var i
|
354 |
+
l(t)?(i=e.render("loading_more",{query:t}))&&i.setAttribute("data-selectable",""):t in o&&!n.querySelector(".no-results")&&(i=e.render("no_more_results",{query:t})),i&&(C(i,e.settings.optionClass),n.append(i))})),e.on("initialize",(()=>{n=e.dropdown_content,e.settings.render=Object.assign({},{loading_more:function(){return'<div class="loading-more-results">Loading more results ... </div>'},no_more_results:function(){return'<div class="no-more-results">No more results</div>'}},e.settings.render),n.addEventListener("scroll",(function(){n.clientHeight/(n.scrollHeight-n.scrollTop)<.95||l(e.lastValue)&&(r||(r=!0,e.load.call(e,e.lastValue)))}))}))})),J}))
|
355 |
+
var tomSelect=function(e,t){return new TomSelect(e,t)}
|
356 |
+
//# sourceMappingURL=tom-select.complete.min.js.map
|
space/lib/tom-select/tom-select.css
ADDED
@@ -0,0 +1,334 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* tom-select.css (v2.0.0-rc.4)
|
3 |
+
* Copyright (c) contributors
|
4 |
+
*
|
5 |
+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
|
6 |
+
* file except in compliance with the License. You may obtain a copy of the License at:
|
7 |
+
* http://www.apache.org/licenses/LICENSE-2.0
|
8 |
+
*
|
9 |
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
10 |
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
11 |
+
* ANY KIND, either express or implied. See the License for the specific language
|
12 |
+
* governing permissions and limitations under the License.
|
13 |
+
*
|
14 |
+
*/
|
15 |
+
.ts-wrapper.plugin-drag_drop.multi > .ts-control > div.ui-sortable-placeholder {
|
16 |
+
visibility: visible !important;
|
17 |
+
background: #f2f2f2 !important;
|
18 |
+
background: rgba(0, 0, 0, 0.06) !important;
|
19 |
+
border: 0 none !important;
|
20 |
+
box-shadow: inset 0 0 12px 4px #fff; }
|
21 |
+
|
22 |
+
.ts-wrapper.plugin-drag_drop .ui-sortable-placeholder::after {
|
23 |
+
content: '!';
|
24 |
+
visibility: hidden; }
|
25 |
+
|
26 |
+
.ts-wrapper.plugin-drag_drop .ui-sortable-helper {
|
27 |
+
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); }
|
28 |
+
|
29 |
+
.plugin-checkbox_options .option input {
|
30 |
+
margin-right: 0.5rem; }
|
31 |
+
|
32 |
+
.plugin-clear_button .ts-control {
|
33 |
+
padding-right: calc( 1em + (3 * 6px)) !important; }
|
34 |
+
|
35 |
+
.plugin-clear_button .clear-button {
|
36 |
+
opacity: 0;
|
37 |
+
position: absolute;
|
38 |
+
top: 8px;
|
39 |
+
right: calc(8px - 6px);
|
40 |
+
margin-right: 0 !important;
|
41 |
+
background: transparent !important;
|
42 |
+
transition: opacity 0.5s;
|
43 |
+
cursor: pointer; }
|
44 |
+
|
45 |
+
.plugin-clear_button.single .clear-button {
|
46 |
+
right: calc(8px - 6px + 2rem); }
|
47 |
+
|
48 |
+
.plugin-clear_button.focus.has-items .clear-button,
|
49 |
+
.plugin-clear_button:hover.has-items .clear-button {
|
50 |
+
opacity: 1; }
|
51 |
+
|
52 |
+
.ts-wrapper .dropdown-header {
|
53 |
+
position: relative;
|
54 |
+
padding: 10px 8px;
|
55 |
+
border-bottom: 1px solid #d0d0d0;
|
56 |
+
background: #f8f8f8;
|
57 |
+
border-radius: 3px 3px 0 0; }
|
58 |
+
|
59 |
+
.ts-wrapper .dropdown-header-close {
|
60 |
+
position: absolute;
|
61 |
+
right: 8px;
|
62 |
+
top: 50%;
|
63 |
+
color: #303030;
|
64 |
+
opacity: 0.4;
|
65 |
+
margin-top: -12px;
|
66 |
+
line-height: 20px;
|
67 |
+
font-size: 20px !important; }
|
68 |
+
|
69 |
+
.ts-wrapper .dropdown-header-close:hover {
|
70 |
+
color: black; }
|
71 |
+
|
72 |
+
.plugin-dropdown_input.focus.dropdown-active .ts-control {
|
73 |
+
box-shadow: none;
|
74 |
+
border: 1px solid #d0d0d0; }
|
75 |
+
|
76 |
+
.plugin-dropdown_input .dropdown-input {
|
77 |
+
border: 1px solid #d0d0d0;
|
78 |
+
border-width: 0 0 1px 0;
|
79 |
+
display: block;
|
80 |
+
padding: 8px 8px;
|
81 |
+
box-shadow: none;
|
82 |
+
width: 100%;
|
83 |
+
background: transparent; }
|
84 |
+
|
85 |
+
.ts-wrapper.plugin-input_autogrow.has-items .ts-control > input {
|
86 |
+
min-width: 0; }
|
87 |
+
|
88 |
+
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input {
|
89 |
+
flex: none;
|
90 |
+
min-width: 4px; }
|
91 |
+
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-webkit-input-placeholder {
|
92 |
+
color: transparent; }
|
93 |
+
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-ms-input-placeholder {
|
94 |
+
color: transparent; }
|
95 |
+
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::placeholder {
|
96 |
+
color: transparent; }
|
97 |
+
|
98 |
+
.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content {
|
99 |
+
display: flex; }
|
100 |
+
|
101 |
+
.ts-dropdown.plugin-optgroup_columns .optgroup {
|
102 |
+
border-right: 1px solid #f2f2f2;
|
103 |
+
border-top: 0 none;
|
104 |
+
flex-grow: 1;
|
105 |
+
flex-basis: 0;
|
106 |
+
min-width: 0; }
|
107 |
+
|
108 |
+
.ts-dropdown.plugin-optgroup_columns .optgroup:last-child {
|
109 |
+
border-right: 0 none; }
|
110 |
+
|
111 |
+
.ts-dropdown.plugin-optgroup_columns .optgroup:before {
|
112 |
+
display: none; }
|
113 |
+
|
114 |
+
.ts-dropdown.plugin-optgroup_columns .optgroup-header {
|
115 |
+
border-top: 0 none; }
|
116 |
+
|
117 |
+
.ts-wrapper.plugin-remove_button .item {
|
118 |
+
display: inline-flex;
|
119 |
+
align-items: center;
|
120 |
+
padding-right: 0 !important; }
|
121 |
+
|
122 |
+
.ts-wrapper.plugin-remove_button .item .remove {
|
123 |
+
color: inherit;
|
124 |
+
text-decoration: none;
|
125 |
+
vertical-align: middle;
|
126 |
+
display: inline-block;
|
127 |
+
padding: 2px 6px;
|
128 |
+
border-left: 1px solid #d0d0d0;
|
129 |
+
border-radius: 0 2px 2px 0;
|
130 |
+
box-sizing: border-box;
|
131 |
+
margin-left: 6px; }
|
132 |
+
|
133 |
+
.ts-wrapper.plugin-remove_button .item .remove:hover {
|
134 |
+
background: rgba(0, 0, 0, 0.05); }
|
135 |
+
|
136 |
+
.ts-wrapper.plugin-remove_button .item.active .remove {
|
137 |
+
border-left-color: #cacaca; }
|
138 |
+
|
139 |
+
.ts-wrapper.plugin-remove_button.disabled .item .remove:hover {
|
140 |
+
background: none; }
|
141 |
+
|
142 |
+
.ts-wrapper.plugin-remove_button.disabled .item .remove {
|
143 |
+
border-left-color: white; }
|
144 |
+
|
145 |
+
.ts-wrapper.plugin-remove_button .remove-single {
|
146 |
+
position: absolute;
|
147 |
+
right: 0;
|
148 |
+
top: 0;
|
149 |
+
font-size: 23px; }
|
150 |
+
|
151 |
+
.ts-wrapper {
|
152 |
+
position: relative; }
|
153 |
+
|
154 |
+
.ts-dropdown,
|
155 |
+
.ts-control,
|
156 |
+
.ts-control input {
|
157 |
+
color: #303030;
|
158 |
+
font-family: inherit;
|
159 |
+
font-size: 13px;
|
160 |
+
line-height: 18px;
|
161 |
+
font-smoothing: inherit; }
|
162 |
+
|
163 |
+
.ts-control,
|
164 |
+
.ts-wrapper.single.input-active .ts-control {
|
165 |
+
background: #fff;
|
166 |
+
cursor: text; }
|
167 |
+
|
168 |
+
.ts-control {
|
169 |
+
border: 1px solid #d0d0d0;
|
170 |
+
padding: 8px 8px;
|
171 |
+
width: 100%;
|
172 |
+
overflow: hidden;
|
173 |
+
position: relative;
|
174 |
+
z-index: 1;
|
175 |
+
box-sizing: border-box;
|
176 |
+
box-shadow: none;
|
177 |
+
border-radius: 3px;
|
178 |
+
display: flex;
|
179 |
+
flex-wrap: wrap; }
|
180 |
+
.ts-wrapper.multi.has-items .ts-control {
|
181 |
+
padding: calc( 8px - 2px - 0) 8px calc( 8px - 2px - 3px - 0); }
|
182 |
+
.full .ts-control {
|
183 |
+
background-color: #fff; }
|
184 |
+
.disabled .ts-control,
|
185 |
+
.disabled .ts-control * {
|
186 |
+
cursor: default !important; }
|
187 |
+
.focus .ts-control {
|
188 |
+
box-shadow: none; }
|
189 |
+
.ts-control > * {
|
190 |
+
vertical-align: baseline;
|
191 |
+
display: inline-block; }
|
192 |
+
.ts-wrapper.multi .ts-control > div {
|
193 |
+
cursor: pointer;
|
194 |
+
margin: 0 3px 3px 0;
|
195 |
+
padding: 2px 6px;
|
196 |
+
background: #f2f2f2;
|
197 |
+
color: #303030;
|
198 |
+
border: 0 solid #d0d0d0; }
|
199 |
+
.ts-wrapper.multi .ts-control > div.active {
|
200 |
+
background: #e8e8e8;
|
201 |
+
color: #303030;
|
202 |
+
border: 0 solid #cacaca; }
|
203 |
+
.ts-wrapper.multi.disabled .ts-control > div, .ts-wrapper.multi.disabled .ts-control > div.active {
|
204 |
+
color: #7d7c7c;
|
205 |
+
background: white;
|
206 |
+
border: 0 solid white; }
|
207 |
+
.ts-control > input {
|
208 |
+
flex: 1 1 auto;
|
209 |
+
min-width: 7rem;
|
210 |
+
display: inline-block !important;
|
211 |
+
padding: 0 !important;
|
212 |
+
min-height: 0 !important;
|
213 |
+
max-height: none !important;
|
214 |
+
max-width: 100% !important;
|
215 |
+
margin: 0 !important;
|
216 |
+
text-indent: 0 !important;
|
217 |
+
border: 0 none !important;
|
218 |
+
background: none !important;
|
219 |
+
line-height: inherit !important;
|
220 |
+
-webkit-user-select: auto !important;
|
221 |
+
-moz-user-select: auto !important;
|
222 |
+
-ms-user-select: auto !important;
|
223 |
+
user-select: auto !important;
|
224 |
+
box-shadow: none !important; }
|
225 |
+
.ts-control > input::-ms-clear {
|
226 |
+
display: none; }
|
227 |
+
.ts-control > input:focus {
|
228 |
+
outline: none !important; }
|
229 |
+
.has-items .ts-control > input {
|
230 |
+
margin: 0 4px !important; }
|
231 |
+
.ts-control.rtl {
|
232 |
+
text-align: right; }
|
233 |
+
.ts-control.rtl.single .ts-control:after {
|
234 |
+
left: 15px;
|
235 |
+
right: auto; }
|
236 |
+
.ts-control.rtl .ts-control > input {
|
237 |
+
margin: 0 4px 0 -2px !important; }
|
238 |
+
.disabled .ts-control {
|
239 |
+
opacity: 0.5;
|
240 |
+
background-color: #fafafa; }
|
241 |
+
.input-hidden .ts-control > input {
|
242 |
+
opacity: 0;
|
243 |
+
position: absolute;
|
244 |
+
left: -10000px; }
|
245 |
+
|
246 |
+
.ts-dropdown {
|
247 |
+
position: absolute;
|
248 |
+
top: 100%;
|
249 |
+
left: 0;
|
250 |
+
width: 100%;
|
251 |
+
z-index: 10;
|
252 |
+
border: 1px solid #d0d0d0;
|
253 |
+
background: #fff;
|
254 |
+
margin: 0.25rem 0 0 0;
|
255 |
+
border-top: 0 none;
|
256 |
+
box-sizing: border-box;
|
257 |
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
258 |
+
border-radius: 0 0 3px 3px; }
|
259 |
+
.ts-dropdown [data-selectable] {
|
260 |
+
cursor: pointer;
|
261 |
+
overflow: hidden; }
|
262 |
+
.ts-dropdown [data-selectable] .highlight {
|
263 |
+
background: rgba(125, 168, 208, 0.2);
|
264 |
+
border-radius: 1px; }
|
265 |
+
.ts-dropdown .option,
|
266 |
+
.ts-dropdown .optgroup-header,
|
267 |
+
.ts-dropdown .no-results,
|
268 |
+
.ts-dropdown .create {
|
269 |
+
padding: 5px 8px; }
|
270 |
+
.ts-dropdown .option, .ts-dropdown [data-disabled], .ts-dropdown [data-disabled] [data-selectable].option {
|
271 |
+
cursor: inherit;
|
272 |
+
opacity: 0.5; }
|
273 |
+
.ts-dropdown [data-selectable].option {
|
274 |
+
opacity: 1;
|
275 |
+
cursor: pointer; }
|
276 |
+
.ts-dropdown .optgroup:first-child .optgroup-header {
|
277 |
+
border-top: 0 none; }
|
278 |
+
.ts-dropdown .optgroup-header {
|
279 |
+
color: #303030;
|
280 |
+
background: #fff;
|
281 |
+
cursor: default; }
|
282 |
+
.ts-dropdown .create:hover,
|
283 |
+
.ts-dropdown .option:hover,
|
284 |
+
.ts-dropdown .active {
|
285 |
+
background-color: #f5fafd;
|
286 |
+
color: #495c68; }
|
287 |
+
.ts-dropdown .create:hover.create,
|
288 |
+
.ts-dropdown .option:hover.create,
|
289 |
+
.ts-dropdown .active.create {
|
290 |
+
color: #495c68; }
|
291 |
+
.ts-dropdown .create {
|
292 |
+
color: rgba(48, 48, 48, 0.5); }
|
293 |
+
.ts-dropdown .spinner {
|
294 |
+
display: inline-block;
|
295 |
+
width: 30px;
|
296 |
+
height: 30px;
|
297 |
+
margin: 5px 8px; }
|
298 |
+
.ts-dropdown .spinner:after {
|
299 |
+
content: " ";
|
300 |
+
display: block;
|
301 |
+
width: 24px;
|
302 |
+
height: 24px;
|
303 |
+
margin: 3px;
|
304 |
+
border-radius: 50%;
|
305 |
+
border: 5px solid #d0d0d0;
|
306 |
+
border-color: #d0d0d0 transparent #d0d0d0 transparent;
|
307 |
+
animation: lds-dual-ring 1.2s linear infinite; }
|
308 |
+
|
309 |
+
@keyframes lds-dual-ring {
|
310 |
+
0% {
|
311 |
+
transform: rotate(0deg); }
|
312 |
+
100% {
|
313 |
+
transform: rotate(360deg); } }
|
314 |
+
|
315 |
+
.ts-dropdown-content {
|
316 |
+
overflow-y: auto;
|
317 |
+
overflow-x: hidden;
|
318 |
+
max-height: 200px;
|
319 |
+
overflow-scrolling: touch;
|
320 |
+
scroll-behavior: smooth; }
|
321 |
+
|
322 |
+
.ts-hidden-accessible {
|
323 |
+
border: 0 !important;
|
324 |
+
clip: rect(0 0 0 0) !important;
|
325 |
+
-webkit-clip-path: inset(50%) !important;
|
326 |
+
clip-path: inset(50%) !important;
|
327 |
+
height: 1px !important;
|
328 |
+
overflow: hidden !important;
|
329 |
+
padding: 0 !important;
|
330 |
+
position: absolute !important;
|
331 |
+
width: 1px !important;
|
332 |
+
white-space: nowrap !important; }
|
333 |
+
|
334 |
+
/*# sourceMappingURL=tom-select.css.map */
|
space/lib/vis-9.1.2/vis-network.css
ADDED
The diff for this file is too large to render.
See raw diff
|
|
space/lib/vis-9.1.2/vis-network.min.js
ADDED
The diff for this file is too large to render.
See raw diff
|
|
space/requirements.txt
CHANGED
@@ -5,4 +5,6 @@ transformers
|
|
5 |
wordcloud
|
6 |
pydantic
|
7 |
uvicorn
|
8 |
-
gliner
|
|
|
|
|
|
5 |
wordcloud
|
6 |
pydantic
|
7 |
uvicorn
|
8 |
+
gliner
|
9 |
+
pygraphviz
|
10 |
+
graphviz
|
space/space/.gitignore
CHANGED
@@ -34,6 +34,8 @@ wordcloud.png
|
|
34 |
wordcloud_output
|
35 |
extracted_entities
|
36 |
entities
|
|
|
|
|
37 |
|
38 |
# Gradio cache & config
|
39 |
gradio_cached_examples/
|
|
|
34 |
wordcloud_output
|
35 |
extracted_entities
|
36 |
entities
|
37 |
+
mindmap.png
|
38 |
+
mindmap_output
|
39 |
|
40 |
# Gradio cache & config
|
41 |
gradio_cached_examples/
|
space/space/app.py
CHANGED
@@ -2,22 +2,75 @@ from fastapi import FastAPI,HTTPException
|
|
2 |
from pydantic import BaseModel
|
3 |
from fastapi.responses import FileResponse
|
4 |
import gradio as gr
|
5 |
-
from entity_recognition import extract_entities
|
6 |
#from entity_recognition import generate_word_cloud
|
7 |
from wordcloud import WordCloud
|
8 |
from summarization import summarizer
|
9 |
-
import os
|
10 |
from utils import list_files,process_file
|
11 |
|
12 |
# import threading
|
13 |
-
|
14 |
app = FastAPI()
|
15 |
|
16 |
# Request Model
|
17 |
class TextRequest(BaseModel):
|
18 |
text: str
|
|
|
|
|
19 |
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
@app.post("/summarize")
|
22 |
def summarize_text(request: TextRequest):
|
23 |
chunks = [request.text[i:i+500] for i in range(0, len(request.text), 500)]
|
@@ -44,39 +97,69 @@ def extract_entities_endpoint(request: TextRequest):
|
|
44 |
# Word Cloud Generation Endpoint
|
45 |
@app.post("/wordcloud")
|
46 |
def generate_word_cloud(request: TextRequest):
|
47 |
-
wordcloud = WordCloud(width=800, height=
|
48 |
img_path = "wordcloud.png"
|
49 |
wordcloud.to_file(img_path)
|
50 |
return FileResponse(img_path, media_type="image/png", filename="wordcloud.png")
|
51 |
|
52 |
|
53 |
-
|
54 |
# Gradio UI
|
55 |
with gr.Blocks() as iface:
|
56 |
gr.Markdown("File Selector")
|
57 |
gr.Markdown("Choose a file and process it for summarization, entity recognition, and word cloud generation.")
|
58 |
|
59 |
-
# File selection
|
60 |
-
|
61 |
-
|
|
|
62 |
|
|
|
|
|
|
|
|
|
63 |
|
64 |
-
#
|
65 |
-
|
66 |
-
|
67 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
|
69 |
-
|
70 |
# Process selected file
|
71 |
process_button.click(
|
72 |
fn=process_file,
|
73 |
inputs=file_dropdown,
|
74 |
-
outputs=[output_summary, output_entities, output_wordcloud]
|
75 |
)
|
76 |
|
77 |
-
|
78 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
if __name__ == "__main__":
|
80 |
-
iface.launch(server_name="0.0.0.0", server_port=7860, share=False)
|
81 |
-
time.sleep(1) # Allow time for logs
|
82 |
-
print("\n\n **Gradio Interface is LIVE at: http://localhost:7860 ** \n")
|
|
|
2 |
from pydantic import BaseModel
|
3 |
from fastapi.responses import FileResponse
|
4 |
import gradio as gr
|
5 |
+
from entity_recognition import extract_entities # Import entity extraction function
|
6 |
#from entity_recognition import generate_word_cloud
|
7 |
from wordcloud import WordCloud
|
8 |
from summarization import summarizer
|
|
|
9 |
from utils import list_files,process_file
|
10 |
|
11 |
# import threading
|
12 |
+
TEXT_FOLDER = "jfk_text"
|
13 |
app = FastAPI()
|
14 |
|
15 |
# Request Model
|
16 |
class TextRequest(BaseModel):
|
17 |
text: str
|
18 |
+
import pygraphviz as pgv
|
19 |
+
import re
|
20 |
|
21 |
+
def generate_mermaid_mindmap(text):
|
22 |
+
entities = extract_entities(text)
|
23 |
+
print("Extracted Entities:", entities)
|
24 |
+
|
25 |
+
# Create a directed graph
|
26 |
+
G = pgv.AGraph(directed=True, rankdir="TB", bgcolor="white")
|
27 |
+
|
28 |
+
# Add root node
|
29 |
+
G.add_node("Document", shape="ellipse", style="filled", fillcolor="lightblue", label="Document")
|
30 |
+
|
31 |
+
# Keep track of node names to ensure uniqueness
|
32 |
+
node_counter = {}
|
33 |
+
|
34 |
+
for category, values in entities.items():
|
35 |
+
# Sanitize category name for the node identifier
|
36 |
+
safe_category = re.sub(r'[^a-zA-Z0-9_]', '', category)
|
37 |
+
if not safe_category or safe_category.startswith('.'):
|
38 |
+
safe_category = "Category_" + str(hash(category) % 10000)
|
39 |
+
|
40 |
+
# Add category node
|
41 |
+
G.add_node(safe_category, shape="box", style="filled", fillcolor="lightgreen", label=category)
|
42 |
+
G.add_edge("Document", safe_category)
|
43 |
+
|
44 |
+
for value in values:
|
45 |
+
# Clean up the value
|
46 |
+
cleaned_value = value.strip().rstrip(')').lstrip(',')
|
47 |
+
if not cleaned_value:
|
48 |
+
cleaned_value = "Unknown"
|
49 |
+
|
50 |
+
# Truncate long values for readability (max 50 characters)
|
51 |
+
if len(cleaned_value) > 50:
|
52 |
+
cleaned_value = cleaned_value[:47] + "..."
|
53 |
+
|
54 |
+
# Sanitize value name for the node identifier
|
55 |
+
safe_value = re.sub(r'[^a-zA-Z0-9_]', '', cleaned_value)
|
56 |
+
if not safe_value:
|
57 |
+
safe_value = "Value_" + str(hash(cleaned_value) % 10000)
|
58 |
+
|
59 |
+
# Ensure unique node name
|
60 |
+
node_key = safe_value
|
61 |
+
node_counter[node_key] = node_counter.get(node_key, 0) + 1
|
62 |
+
if node_counter[node_key] > 1:
|
63 |
+
safe_value = f"{safe_value}_{node_counter[node_key]}"
|
64 |
+
|
65 |
+
# Add value node
|
66 |
+
G.add_node(safe_value, shape="ellipse", style="filled", fillcolor="lightyellow", label=cleaned_value)
|
67 |
+
G.add_edge(safe_category, safe_value)
|
68 |
+
|
69 |
+
# Render the graph to a PNG file
|
70 |
+
output_path = "mindmap.png"
|
71 |
+
G.draw(output_path, format="png", prog="dot") # 'dot' is the layout engine
|
72 |
+
|
73 |
+
return output_path
|
74 |
@app.post("/summarize")
|
75 |
def summarize_text(request: TextRequest):
|
76 |
chunks = [request.text[i:i+500] for i in range(0, len(request.text), 500)]
|
|
|
97 |
# Word Cloud Generation Endpoint
|
98 |
@app.post("/wordcloud")
|
99 |
def generate_word_cloud(request: TextRequest):
|
100 |
+
wordcloud = WordCloud(width=800, height=800,max_font_size=40, min_font_size=10, background_color="white").generate(request.text)
|
101 |
img_path = "wordcloud.png"
|
102 |
wordcloud.to_file(img_path)
|
103 |
return FileResponse(img_path, media_type="image/png", filename="wordcloud.png")
|
104 |
|
105 |
|
|
|
106 |
# Gradio UI
|
107 |
with gr.Blocks() as iface:
|
108 |
gr.Markdown("File Selector")
|
109 |
gr.Markdown("Choose a file and process it for summarization, entity recognition, and word cloud generation.")
|
110 |
|
111 |
+
# **File selection & process button**
|
112 |
+
with gr.Row():
|
113 |
+
file_dropdown = gr.Dropdown(choices=list_files(), label=" Select a File", interactive=True)
|
114 |
+
process_button = gr.Button(" Process")
|
115 |
|
116 |
+
# **First Row (Original Text & Summary)**
|
117 |
+
with gr.Row():
|
118 |
+
full_doc_text = gr.Textbox(label=" Full Document")
|
119 |
+
output_summary = gr.Textbox(label=" Summarized Text")
|
120 |
|
121 |
+
# **Second Row (Entities & Word Cloud)**
|
122 |
+
with gr.Row():
|
123 |
+
output_entities = gr.JSON(label=" Entities")
|
124 |
+
output_wordcloud = gr.Image(label=" Word Cloud")
|
125 |
+
with gr.Row():
|
126 |
+
generate_mindmap_button = gr.Button("Generate Mind Map")
|
127 |
+
output_mindmap = gr.Image(label="Mind Map") # Use HTML instead of Textbox
|
128 |
+
|
129 |
+
generate_mindmap_button.click(
|
130 |
+
fn=generate_mermaid_mindmap,
|
131 |
+
inputs=full_doc_text,
|
132 |
+
outputs=output_mindmap
|
133 |
+
)
|
134 |
+
|
135 |
+
|
136 |
+
# # **Mind Map Generation**
|
137 |
+
# with gr.Row():
|
138 |
+
# generate_mindmap_button = gr.Button("Generate Mind Map")
|
139 |
+
# output_mindmap = gr.Image(label="Mind Map")
|
140 |
+
# Mind Map Generation Section
|
141 |
+
# with gr.Row():
|
142 |
+
# generate_mindmap_button = gr.Button("Generate Mind Map")
|
143 |
+
# output_mindmap = gr.HTML(label="Mind Map")
|
144 |
|
|
|
145 |
# Process selected file
|
146 |
process_button.click(
|
147 |
fn=process_file,
|
148 |
inputs=file_dropdown,
|
149 |
+
outputs=[full_doc_text, output_summary, output_entities, output_wordcloud]
|
150 |
)
|
151 |
|
152 |
+
# # Connect mind map button to function (MOVE THIS INSIDE `with gr.Blocks()`)
|
153 |
+
# generate_mindmap_button.click(
|
154 |
+
# fn=generate_mind_map,
|
155 |
+
# inputs=full_doc_text, # Use the full document text
|
156 |
+
# outputs=output_mindmap
|
157 |
+
# )
|
158 |
+
# generate_mindmap_button.click(
|
159 |
+
# fn=generate_mermaid_mindmap,
|
160 |
+
# inputs=full_doc_text,
|
161 |
+
# outputs=output_mindmap
|
162 |
+
# )
|
163 |
+
# Launch Gradio app
|
164 |
if __name__ == "__main__":
|
165 |
+
iface.launch(server_name="0.0.0.0", server_port=7860, share=False, debug=True)
|
|
|
|
space/space/entity_recognition.py
CHANGED
@@ -3,7 +3,23 @@ import torch
|
|
3 |
import matplotlib.pyplot as plt
|
4 |
from wordcloud import WordCloud
|
5 |
from gliner import GLiNER
|
6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
# 📂 Define input/output directories
|
8 |
input_dir = "summaryoutput" # Folder containing summarized documents
|
9 |
entity_output_dir = "extracted_entities" # Folder to save extracted entities
|
@@ -14,29 +30,63 @@ device = "cuda" if torch.cuda.is_available() else "cpu" # Use GPU if available
|
|
14 |
model = GLiNER.from_pretrained("urchade/gliner_medium-v2.1").to(device)
|
15 |
|
16 |
# Define labels for entity extraction
|
17 |
-
labels = ["person", "organization", "location", "date", "document", "event", "role", "cryptonym", "operation", "nationality", "contact"]
|
18 |
-
#
|
19 |
existing_entity_files = set(os.listdir(entity_output_dir))
|
20 |
-
|
21 |
-
# 🔹 Function to extract entities from text
|
22 |
def extract_entities(text):
|
23 |
entities = model.predict_entities(text, labels)
|
24 |
-
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
for entity in entities:
|
27 |
entity_type = entity["label"]
|
28 |
-
entity_text = entity["text"]
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
# Function to generate word cloud
|
38 |
def generate_word_cloud(text, output_filename):
|
39 |
-
|
|
|
|
|
|
|
|
|
40 |
|
41 |
# Save word cloud image
|
42 |
plt.figure(figsize=(10, 5))
|
@@ -95,5 +145,5 @@ def extract_entities_from_summaries():
|
|
95 |
print(" Entity extraction and word cloud generation completed!")
|
96 |
|
97 |
|
98 |
-
if __name__ == "__main__":
|
99 |
extract_entities_from_summaries()
|
|
|
3 |
import matplotlib.pyplot as plt
|
4 |
from wordcloud import WordCloud
|
5 |
from gliner import GLiNER
|
6 |
+
import spacy
|
7 |
+
import re
|
8 |
+
# Load spaCy English model
|
9 |
+
nlp = spacy.load("en_core_web_sm")
|
10 |
+
|
11 |
+
# Function to remove stop words
|
12 |
+
def preprocess_text(text):
|
13 |
+
doc = nlp(text)
|
14 |
+
filtered_words = [ token.lemma_ # Convert to base form
|
15 |
+
for token in doc
|
16 |
+
if not token.is_stop # Remove stop words
|
17 |
+
and not token.is_punct # Remove punctuation
|
18 |
+
and not token.is_digit # Remove numbers
|
19 |
+
and len(token.text) > 2 ]
|
20 |
+
|
21 |
+
return " ".join(filtered_words)
|
22 |
+
|
23 |
# 📂 Define input/output directories
|
24 |
input_dir = "summaryoutput" # Folder containing summarized documents
|
25 |
entity_output_dir = "extracted_entities" # Folder to save extracted entities
|
|
|
30 |
model = GLiNER.from_pretrained("urchade/gliner_medium-v2.1").to(device)
|
31 |
|
32 |
# Define labels for entity extraction
|
33 |
+
labels = ["person", "organization", "location", "date", "document", "event", "role", "cryptonym", "operation", "nationality", "contact","SUBJECT","REFERENCE","FROM","TO","DATE","REF","INFO"]
|
34 |
+
# Get already processed files
|
35 |
existing_entity_files = set(os.listdir(entity_output_dir))
|
|
|
|
|
36 |
def extract_entities(text):
|
37 |
entities = model.predict_entities(text, labels)
|
38 |
+
extracted = {}
|
39 |
+
regex_patterns = {
|
40 |
+
"TO": r"(?i)\bTO[:\s]+([^\n]+)",
|
41 |
+
"FROM": r"(?i)\bFROM[:\s]+([^\n]+)",
|
42 |
+
"DATE": r"(?i)\bDATE[:\s]+([^\n]+)",
|
43 |
+
"REF": r"(?i)\bREF[:\s]+([^\n]+)",
|
44 |
+
"SUBJECT": r"(?i)\bSUBJECT[:\s]+([^\n]+)",
|
45 |
+
}
|
46 |
+
for label, pattern in regex_patterns.items():
|
47 |
+
matches = re.findall(pattern, text)
|
48 |
+
if matches:
|
49 |
+
# Clean up matches
|
50 |
+
cleaned_matches = [m.strip().rstrip(')').lstrip(',') for m in matches]
|
51 |
+
extracted[label] = list(set(cleaned_matches)) # Remove duplicates
|
52 |
for entity in entities:
|
53 |
entity_type = entity["label"]
|
54 |
+
entity_text = entity["text"].strip().rstrip(')').lstrip(',')
|
55 |
+
if entity_type not in extracted:
|
56 |
+
extracted[entity_type] = []
|
57 |
+
if entity_text not in extracted[entity_type]: # Avoid duplicates
|
58 |
+
extracted[entity_type].append(entity_text)
|
59 |
+
return extracted
|
60 |
+
# def extract_entities(text):
|
61 |
+
# entities = model.predict_entities(text, labels)
|
62 |
+
# extracted = {}
|
63 |
+
# regex_patterns = {
|
64 |
+
# "TO": r"(?i)\bTO[:\s]+([^\n]+)", # Matches "TO: some text"
|
65 |
+
# "FROM": r"(?i)\bFROM[:\s]+([^\n]+)", # Matches "FROM: some text"
|
66 |
+
# "DATE": r"(?i)\bDATE[:\s]+([^\n]+)", # Matches "DATE: some text"
|
67 |
+
# "REF": r"(?i)\bREF[:\s]+([^\n]+)", # Matches "REF: some text"
|
68 |
+
# "SUBJECT": r"(?i)\bSUBJECT[:\s]+([^\n]+)", # Matches "SUBJECT: some text"
|
69 |
+
# }
|
70 |
+
# # Apply regex patterns
|
71 |
+
# for label, pattern in regex_patterns.items():
|
72 |
+
# matches = re.findall(pattern, text)
|
73 |
+
# if matches:
|
74 |
+
# extracted[label] = matches
|
75 |
+
|
76 |
+
# for entity in entities:
|
77 |
+
# entity_type = entity["label"]
|
78 |
+
# entity_text = entity["text"]
|
79 |
+
# if entity_type not in extracted:
|
80 |
+
# extracted[entity_type] = []
|
81 |
+
# extracted[entity_type].append(entity_text)
|
82 |
+
# return extracted
|
83 |
# Function to generate word cloud
|
84 |
def generate_word_cloud(text, output_filename):
|
85 |
+
os.makedirs(os.path.dirname(output_filename), exist_ok=True)
|
86 |
+
filtered_text = preprocess_text(text)
|
87 |
+
wordcloud = WordCloud(width=800, height=400, background_color="white").generate(filtered_text)
|
88 |
+
wordcloud.to_file(output_filename)
|
89 |
+
|
90 |
|
91 |
# Save word cloud image
|
92 |
plt.figure(figsize=(10, 5))
|
|
|
145 |
print(" Entity extraction and word cloud generation completed!")
|
146 |
|
147 |
|
148 |
+
if __name__ == "__main__"and False:
|
149 |
extract_entities_from_summaries()
|
space/space/jfk_text/104-10003-10041.md
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# 104-10003-10041 2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
2 |
+
|
3 |
+
☐ UNCLASSIFIED
|
4 |
+
☐ INTERNAL ONLY
|
5 |
+
☐ CONFI**I**NTIAL
|
6 |
+
☑ SECRET
|
7 |
+
|
8 |
+
## ROUTING AND RECORD SHEET
|
9 |
+
|
10 |
+
SUBJECT: (Optional)
|
11 |
+
|
12 |
+
Clipping of article "The Kennedy Murder and the Secret Services of the USA"
|
13 |
+
|
14 |
+
FROM:
|
15 |
+
|
16 |
+
WE/4/INT Arthur P. Iorio
|
17 |
+
|
18 |
+
EXTENSION NO.
|
19 |
+
|
20 |
+
DATE: 26 March 1964
|
21 |
+
|
22 |
+
TO: (Officer designation, room number, and building) | DATE | OFFICER'S INITIALS | COMMENTS (Number each comment to show from whom to whom. Draw a line across column after each comment.)
|
23 |
+
-----|------|-------|-----
|
24 |
+
1. CI Staff Birch O'Neil Room 2603 | RECEIVED | FORWARDED | The attached article, which may be of interest to you, appeared in the 7 March issue of the Italian Communist Party weekly Rinascita. The writer, Gianfranco Corsini, has been on and off US correspondent for the Italian Communist press. Note that in the section pencille in red rumors are referred which suggest that kind it was the Agency to organize the murder of President Kennedy.
|
25 |
+
2. | | |
|
26 |
+
3. | | |
|
27 |
+
4. | | |
|
28 |
+
5. | | |
|
29 |
+
6. | | |
|
30 |
+
7. | | |
|
31 |
+
8. | | |
|
32 |
+
9. | | |
|
33 |
+
10. | | |
|
34 |
+
11. | | |
|
35 |
+
12. | | |
|
36 |
+
13. | | |
|
37 |
+
14. | | |
|
38 |
+
15. | | 18 |
|
39 |
+
|
40 |
+
FORM 610 USE PREVIOUS EDITIONS 3-62
|
41 |
+
|
42 |
+
☑ SECRET
|
43 |
+
☐ CONFIDENTIAL
|
44 |
+
☐ INTERNAL USE ONLY
|
45 |
+
☐ UNCLASSIFIED
|
46 |
+
|
47 |
+
Clipping not retained
|
space/space/jfk_text/104-10004-10143 (C06932208).md
ADDED
@@ -0,0 +1,147 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
104-10004-10143
|
2 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
3 |
+
|
4 |
+
Date: 05/08/96
|
5 |
+
Page: 1
|
6 |
+
|
7 |
+
JFK ASSASSINATION SYSTEM
|
8 |
+
IDENTIFICATION FORM
|
9 |
+
|
10 |
+
AGENCY INFORMATION
|
11 |
+
|
12 |
+
AGENCY : CIA
|
13 |
+
RECORD NUMBER : 104-10004-10143
|
14 |
+
RECORD SERIES : JFK
|
15 |
+
AGENCY FILE NUMBER : 201-289248
|
16 |
+
|
17 |
+
DOCUMENT INFORMATION
|
18 |
+
|
19 |
+
ORIGINATOR : CIA
|
20 |
+
FROM :
|
21 |
+
TO :
|
22 |
+
TITLE : DISCUSSION BETWEEN MEMBER SR DIVISION CONCERNING
|
23 |
+
OSWALD'S STAY IN HELSINKI.
|
24 |
+
DATE : 06/01/64
|
25 |
+
PAGES : 2
|
26 |
+
SUBJECTS : HELSINKI TRIP
|
27 |
+
USSR CONSULATE
|
28 |
+
|
29 |
+
DOCUMENT TYPE : PAPER, TEXTUAL DOCUMENT
|
30 |
+
CLASSIFICATION : SECRET
|
31 |
+
RESTRICTIONS : 1B
|
32 |
+
CURRENT STATUS : RELEASED WITH DELETIONS
|
33 |
+
DATE OF LAST REVIEW : 06/12/93
|
34 |
+
OPENING CRITERIA :
|
35 |
+
COMMENTS : OSW10:V43 1993.06.12.10:33:55:150000:
|
36 |
+
|
37 |
+
[R] ITEM IS RESTRICTED
|
38 |
+
NW 64937 Docld:32106269 Page 1
|
39 |
+
|
40 |
+
INTERNAL
|
41 |
+
USE ONLY
|
42 |
+
CO DENTIAL
|
43 |
+
SECRET
|
44 |
+
ROUTING AND RECORD SHEET
|
45 |
+
|
46 |
+
SUBJECT: (Optional)
|
47 |
+
|
48 |
+
FROM: CIRA/PS
|
49 |
+
2823
|
50 |
+
|
51 |
+
TO: (Officer designation, room number, and
|
52 |
+
building)
|
53 |
+
DATE
|
54 |
+
SX-25605
|
55 |
+
1 June 64
|
56 |
+
|
57 |
+
OFFICER'S
|
58 |
+
INITIALS
|
59 |
+
COMMENTS (Number each comment to show from whom
|
60 |
+
to whom. Draw a line across column after each comment.)
|
61 |
+
RECEIVED
|
62 |
+
FORWARDED
|
63 |
+
1.
|
64 |
+
IPIAN
|
65 |
+
5 MAR 1975
|
66 |
+
Phoe assign
|
67 |
+
SX # and
|
68 |
+
clamefs to
|
69 |
+
2.
|
70 |
+
3.
|
71 |
+
4.
|
72 |
+
5.
|
73 |
+
IP JEDI
|
74 |
+
6.
|
75 |
+
201-289248
|
76 |
+
7.
|
77 |
+
8.
|
78 |
+
IPIFILES
|
79 |
+
Document Number 716-838
|
80 |
+
for FOIA Review on JUN 1976
|
81 |
+
|
82 |
+
Ath Pori, Millen
|
83 |
+
10.
|
84 |
+
11.
|
85 |
+
12.
|
86 |
+
13.
|
87 |
+
14.
|
88 |
+
15.
|
89 |
+
FORM 610 USE PREVIOUS
|
90 |
+
NW-64937 DocId 32906269 Page 2
|
91 |
+
CONFIDENTIAL
|
92 |
+
INTERNAL
|
93 |
+
USE ONLY
|
94 |
+
UNCLASSIFIED
|
95 |
+
|
96 |
+
MEMO FOR THE RECORD
|
97 |
+
1 June 1964.
|
98 |
+
SX-25605
|
99 |
+
Discussion betroen MOMBOR SR. Divisiong
|
100 |
+
and CoS Helsinki CONCERNING timetable
|
101 |
+
OF OSWALD'S stay in and Holsinki
|
102 |
+
|
103 |
+
1. At 0900 this morning I talked with Frank Friberg recently
|
104 |
+
returned COS Helsinki re Warren Commission inquiry concerning
|
105 |
+
the timetable of Oswald's stay in Finland in October 1959, including
|
106 |
+
his contact with the Soviet Consulate there. (Copy of the Commission
|
107 |
+
letter of 25 May 64 and State Cable of 22 May 64 attached.)
|
108 |
+
|
109 |
+
2. Friberg gave me the following information:
|
110 |
+
|
111 |
+
a. It takes 25 minutes to drive from the airport to
|
112 |
+
downtown Helsinki;
|
113 |
+
|
114 |
+
b. By taxi, it would take no more than 5 minutes to
|
115 |
+
reach the Soviet consulate;
|
116 |
+
|
117 |
+
C. The Soviet consulate probably closed at 1300 hours local
|
118 |
+
time on Saturdays in 1959;
|
119 |
+
|
120 |
+
d. Passenger lists (manifests) at the U.S. Consulate in
|
121 |
+
Helsinki are retained for six months only and then are destroyed.
|
122 |
+
Mr. Robert Fulton (CIA) was U.S. consular official there at
|
123 |
+
the time.
|
124 |
+
|
125 |
+
e. A copy of State's cable inquiry would go to the Helsinki
|
126 |
+
Station and they would assist in preparation of a reply.
|
127 |
+
|
128 |
+
3. Mr. Friberg agreed that it would be worthwhile to cable che
|
129 |
+
Station concerning points not covered by State in their inquiry. He
|
130 |
+
suggested changes incorporated into the cable sent to Helsinki.
|
131 |
+
|
132 |
+
Lee H. Wigren
|
133 |
+
C/SR/CI/R
|
134 |
+
|
135 |
+
Document Number
|
136 |
+
for FOIA Review on.
|
137 |
+
716-838
|
138 |
+
JUN 1976
|
139 |
+
SAME AS RELEASED
|
140 |
+
DOC
|
141 |
+
340
|
142 |
+
|
143 |
+
RECORD COPY
|
144 |
+
1
|
145 |
+
1 Jun 64
|
146 |
+
201-289248
|
147 |
+
NW 64937 Docld:32106269 Page 3
|
space/space/jfk_text/104-10004-10143.md
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
10.00000
|
2 |
+
104-10004-10143 2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
3 |
+
|
4 |
+
13-00000
|
5 |
+
|
6 |
+
MEMO FOR THE RECORD 1 June 1964
|
7 |
+
Sx-25605
|
8 |
+
|
9 |
+
DISCUSSION between members SR Division,
|
10 |
+
and CoS Helsinki concerning timetable
|
11 |
+
OF OSWALD'S stay in Finland and Helsinki
|
12 |
+
|
13 |
+
1. At 0900 this morning I talked with Frank Friberg recently
|
14 |
+
returned COS Helsinki re Warren Commission inguiry concerninge.
|
15 |
+
the timetable of Oswald's stay in Finland in October 1959, including
|
16 |
+
his contact with the Soviet Consulate therer. (Copy of the Commission
|
17 |
+
letter of 25 May 64 and State Cable of 22 May, 64, attached.)
|
18 |
+
|
19 |
+
2. Friberg gave me the following information:
|
20 |
+
|
21 |
+
a. It takes 25 minutes to drive from the airport to
|
22 |
+
Helsinki.
|
23 |
+
|
24 |
+
b. By taxi, it would take no more than 5 minutes to
|
25 |
+
reach the Soviet consulate;
|
26 |
+
|
27 |
+
c. Consulate in Helsinki was open Saturdays in 1959;
|
28 |
+
|
29 |
+
d. Passenger lists (manifests) at the Helsinki airports of
|
30 |
+
Helsinki are retained for six months only and then are destroyed.
|
31 |
+
Mr. Robert Fulton (CIA) was U.S. consular official there at
|
32 |
+
the time.
|
33 |
+
|
34 |
+
e. A copy of State's cable inquiry would go to the Helsinki
|
35 |
+
Station and they would assist in preparation of a reply.
|
36 |
+
|
37 |
+
3. Mr. Friberg agreed that it would be worthwhile to cable the
|
38 |
+
Station concerning points not covered by State in their inquiry. He
|
39 |
+
suggested changes incorporated into the cable sent to Helsinki.
|
40 |
+
|
41 |
+
Lee H. Wigren
|
42 |
+
C/SR/CI/R
|
43 |
+
TRAVEL PROGRAM
|
44 |
+
IP/EDI ABSTRACTA
|
45 |
+
INDEX
|
46 |
+
IP/FIS
|
47 |
+
IP/PH
|
48 |
+
PREPARE FOR FICKING
|
49 |
+
FILM
|
50 |
+
CODE NO. (2,3,4)
|
51 |
+
RYBAT REST CODE
|
52 |
+
ISO/DCU
|
53 |
+
CABLE IDEN (11)
|
54 |
+
NTD (8)
|
55 |
+
IP/FILES
|
56 |
+
FOR FILING
|
57 |
+
|
58 |
+
Document Number 716-838
|
59 |
+
for FOIA Review on JUN 1976
|
60 |
+
SAME AS RELEASED
|
61 |
+
DOC -340
|
62 |
+
|
63 |
+
RECORD COPY
|
64 |
+
|
65 |
+
1. Jun 64
|
66 |
+
201-289248
|
67 |
+
|
68 |
+
Box 8
|
space/space/jfk_text/104-10004-10156.md
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
10.00000
|
2 |
+
104-10004-10156
|
3 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
4 |
+
|
5 |
+
Box 8
|
6 |
+
|
7 |
+
13-00000
|
8 |
+
|
9 |
+
1 June 1964
|
10 |
+
|
11 |
+
MEMO FOR THE RECORD
|
12 |
+
|
13 |
+
1. At 0900 this morning I talked with Frank Friberg recently
|
14 |
+
returned COS Helsinki re Warren Commission inquiry concerning
|
15 |
+
the timetable of Oswald's stay in Finland in October 1959, including
|
16 |
+
his contact with the Soviet Consulate there. (Copy of the Commission
|
17 |
+
letter of 25 May 64 and State Cable of 22 May 64 attached.)
|
18 |
+
|
19 |
+
2. Friberg gave me the following information:
|
20 |
+
|
21 |
+
a. It takes 25 minutes to drive from the airport to
|
22 |
+
downtown Helsinki;
|
23 |
+
|
24 |
+
b. By taxi, it would take no more than 5 minutes to
|
25 |
+
reach the Soviet consulate;
|
26 |
+
|
27 |
+
c. The Soviet consulate probably closed at 1300 hours local
|
28 |
+
time on Saturdays in 1959;
|
29 |
+
|
30 |
+
d. Passenger lists (manifests) at the U.S. Consulate in
|
31 |
+
Helsinki are retained for six months only and then are destroyed.
|
32 |
+
Mr. Robert Fulton (CIA) was U.S. consular official there at
|
33 |
+
the time.
|
34 |
+
|
35 |
+
e. A copy of State's cable inquiry would go to the Helsinki
|
36 |
+
Station and they would assist in preparation of a reply.
|
37 |
+
|
38 |
+
3. Mr. Friberg agreed that it would be worthwhile to cable the
|
39 |
+
Station concerning points not covered by State in their inquiry. He
|
40 |
+
suggested changes incorporated into the cable sent to Helsinki.
|
41 |
+
|
42 |
+
Document Number 780-340
|
43 |
+
|
44 |
+
FAIA Review on JUN 1976
|
45 |
+
|
46 |
+
SAME AS 716-838
|
47 |
+
|
48 |
+
ZONET
|
49 |
+
|
50 |
+
13-00000
|
51 |
+
|
52 |
+
See Sanitized File
|
53 |
+
Number 335
|
54 |
+
For steril
|
55 |
+
H
|
space/space/jfk_text/104-10004-10213.md
ADDED
@@ -0,0 +1,206 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
104-10004-10213 2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
2 |
+
|
3 |
+
SECRET
|
4 |
+
|
5 |
+
YF2-27221
|
6 |
+
9 July 1964
|
7 |
+
|
8 |
+
MEMORANDUM FOR THE RECORD
|
9 |
+
SUBJECT : Discussion with Warren Commission Staff Member
|
10 |
+
REFERENCE: Letter from J. Lee Rankin, General Counsel of the
|
11 |
+
President's Commission, to Mr. Richard Helms
|
12 |
+
dated 3 July 1964
|
13 |
+
|
14 |
+
>O SRICE DISCUSSION with SLAUSEN & Tily on .girations.
|
15 |
+
Svitt felicy towards design woats HALETICONS ANd
|
16 |
+
CUINT Visa Puccedures,
|
17 |
+
1. With the approval of C/SR and the DDP, I met with Mr. W.
|
18 |
+
David Slawson of the staff of the President's Commission on the
|
19 |
+
Assassination of President Kennedy at 1400 hours on this date in
|
20 |
+
the Commission's offices at 200 Maryland Avenue, N.E., Washington,
|
21 |
+
D.C. The purpose of this meeting was to discuss apparent inconsistencies
|
22 |
+
in material provided the Commission by CIA and by the Department of
|
23 |
+
State which were called to our attention in a letter from the General
|
24 |
+
Counsel of the Commission to Mr. Helms, dated 3 July 1964.
|
25 |
+
|
26 |
+
2. By way of introduction, Mr. Slawson said that in the portion of the
|
27 |
+
Commission's report that he was writing, he would have to deal with the
|
28 |
+
question of whether or not the OSWALDs' departure from the USSR - and
|
29 |
+
the circumstances (i.e. timing) of that departare were unusual or
|
30 |
+
suspicious in any way. He expressed his belief that they probably were
|
31 |
+
not and cited Soviet relaxation in such matters in the post-Stalin era.
|
32 |
+
However, he wanted to be sure in his own mind that our information was
|
33 |
+
not in conflict with that which the Commission had received from State
|
34 |
+
since all of that information would remain in the records of the
|
35 |
+
Commission.
|
36 |
+
|
37 |
+
3. After stating my belief that there was no real disagreement or
|
38 |
+
inconsistency between the information from CLA and that from State, I
|
39 |
+
expressed the view that the matter resolved itself into three questions:
|
40 |
+
|
41 |
+
Document Number 767-864
|
42 |
+
for FOIA Review on
|
43 |
+
/a. Do the Soviet
|
44 |
+
JUN 1976
|
45 |
+
|
46 |
+
CS COPY
|
47 |
+
|
48 |
+
SECRET
|
49 |
+
|
50 |
+
a. Do the Soviet authorities normally permit Soviet
|
51 |
+
citizens married to foreign nationals to emigrate from the
|
52 |
+
Soviet Union to the homelands of their spouses?
|
53 |
+
|
54 |
+
b. Do they normally permit such Soviet citizens to
|
55 |
+
accompany (i.e. depart simultaneously with) their spouses
|
56 |
+
from the Soviet Union?
|
57 |
+
|
58 |
+
c. How long does it take such Soviet citizens to get
|
59 |
+
Soviet exit visas for such a purpose (time lapse from application
|
60 |
+
to granting of visas)?
|
61 |
+
|
62 |
+
4. Concerning the first two questions (3a and 3b above) I pointed out.
|
63 |
+
that we had addressed ourselves mainly to the question of Sovie: citizens
|
64 |
+
being allowed to accompany their spouses abroad while State dealt only
|
65 |
+
with the larger question of Soviets married to foreigners being allowed
|
66 |
+
to emigrate without reference to whether or not they left simultaneously
|
67 |
+
with or at another time from their spouses. Mr. Slawson commented
|
68 |
+
that this explanation was most helpful and he reread what both we and
|
69 |
+
State had said in that light.
|
70 |
+
|
71 |
+
5. By way of further explanation, I said that the statements in
|
72 |
+
paragraph 6 of our memorandum of 6 April 1964 concerning Soviets being
|
73 |
+
permitted to accompany their foreign spouses abroad were based on a
|
74 |
+
review of 26 cases, of which 10 involved Americans. In only four of
|
75 |
+
these cases did a Soviet wife leave the USSR in the company of her foreign
|
76 |
+
husband; in 14 of the cases the foreign spouse departed alone; and in the
|
77 |
+
remaining seven cases insufficient details are known to permit us to
|
78 |
+
categorize them. I added that although State's information began by
|
79 |
+
citing the issuance of 724 quota and non-quota immigrant visas by the
|
80 |
+
American Embassy in Moscow during the period FY 1954 to December
|
81 |
+
1963, it did not indicate how many of these visas were for Soviet citizens
|
82 |
+
who had married U.S. nationals. Actually State provided detailed
|
83 |
+
information for only sixteen cases and did not indicate in many of these
|
84 |
+
whether or not the Soviet was permitted to accompany the foreign spouse.
|
85 |
+
16. In response to
|
86 |
+
|
87 |
+
-2-
|
88 |
+
|
89 |
+
6. In response to a question from Mr. Slawson I stated that most
|
90 |
+
of the 26 cases upon which we based our statements involved foreign
|
91 |
+
students, exchange teachers and other relatively transient persons,
|
92 |
+
and while a number of cases have certain points in common, they bear
|
93 |
+
little similarity to the OSWALD case in that none involved a defector who
|
94 |
+
married prior to repatriating. I noted that paragraph 6 of our 6 April
|
95 |
+
1964 memorandum to the Commission had pointed this out. Mr. Slawson
|
96 |
+
indicated that he was now satisfied on this matter.
|
97 |
+
|
98 |
+
7. Concerning the length of time taken by Soviet authorities to
|
99 |
+
process exit visas for Soviet citizens married to foreign nationals
|
100 |
+
(question 3c above), I stated that, in my opinion, the information
|
101 |
+
provided by State (in the third enclosure to Mr. Meeker's letter)
|
102 |
+
substantially corresponded to the views expressed in paragraphs 6 and 7
|
103 |
+
of our memorandum to the Commission dated 6 April 1964. Mr. Slawson
|
104 |
+
asked if it would be possible to elaborate paragraph 7 of our memorandum
|
105 |
+
of 6 April by providing a statistical breakdown of the cases on which our
|
106 |
+
statements were based. I indicated that this could be done.
|
107 |
+
|
108 |
+
8. At this point Mr. Slawson stated that as a result of our discussion
|
109 |
+
he felt that the question of possible inconsistencies bad been resolved.
|
110 |
+
However, he asked that we send a brief written reply to the Commission's
|
111 |
+
letter of 3 July 1964 embodying the substance of what I had said concerning
|
112 |
+
the basis for statements included in our 6 April 1964 memorandum. (This
|
113 |
+
would include the gist of the draft reply to the Commission which I showed
|
114 |
+
to C/SR on 8 July plus an elaboration of our statements concerning Soviet
|
115 |
+
visa applications.]
|
116 |
+
|
117 |
+
9. Mr. Slawson indicated that he would be sending parts of his report
|
118 |
+
dealing with the Soviet intelligence services to CIA for checking as to
|
119 |
+
their accuracy. He did not say when this would occur.
|
120 |
+
|
121 |
+
10. After concluding the meeting with Mr. Slawson, I read Volume 52
|
122 |
+
of the transcript of testimony before the Commission. This included the
|
123 |
+
reinterview of Marina OSWALD.
|
124 |
+
|
125 |
+
-3-
|
126 |
+
|
127 |
+
Lee H. Wigren
|
128 |
+
C/SR/CI/Research
|
129 |
+
|
130 |
+
@Do. sors normally permit Sov. cityens married to for
|
131 |
+
natla to engrate pom Sll to homeland of sprise ?
|
132 |
+
• State says you - cites 724 visa applicationم
|
133 |
+
(perbably minority Spouse's; mij
|
134 |
+
belatives ite ast mijint)
|
135 |
+
- We cite absence of law; do not say.
|
136 |
+
|
137 |
+
2 arimally
|
138 |
+
② Do Sros permit sou. cits menit to fon marks to
|
139 |
+
accompany (ie depont simultanernely co.) spouses
|
140 |
+
from Sele to homelandes of spouses
|
141 |
+
- State does not say
|
142 |
+
se cite evidence that they do not
|
143 |
+
We ليه
|
144 |
+
|
145 |
+
③ How long does it take Soveits to gel. Sevivians
|
146 |
+
at to homelan Ss of fou Spouses?
|
147 |
+
to junge at
|
148 |
+
-Our #7 and State's inse
|
149 |
+
فه
|
150 |
+
Cases inhuid. it ikurus ajrec
|
151 |
+
|
152 |
+
Notes, Hedin
|
153 |
+
Co
|
154 |
+
CS-COPY
|
155 |
+
|
156 |
+
dil Ite XAA2-27221
|
157 |
+
|
158 |
+
Le 7
|
159 |
+
with) friin sprστασις
|
160 |
+
Based on in de la 26 Cail
|
161 |
+
fre till out c/ SU.
|
162 |
+
(10 US)
|
163 |
+
|
164 |
+
-Safe left line oftenband - 4
|
165 |
+
-
|
166 |
+
-
|
167 |
+
-
|
168 |
+
-
|
169 |
+
- 7- !
|
170 |
+
|
171 |
+
② Irifi in fu 47
|
172 |
+
1-2 fine taken by for allite
|
173 |
+
bisa apple of Sor Spencer of fin
|
174 |
+
substant illy agrees is lite o infe
|
175 |
+
نر
|
176 |
+
4. on Juice taken by Sri-st. poreias veda
|
177 |
+
aggelies of Sou woofcitis (1)
|
178 |
+
|
179 |
+
Gust of State is w
|
180 |
+
life cancion y bar, tibi of tense to her bij de citthoritie
|
181 |
+
1.
|
182 |
+
bun cits in Sel
|
183 |
+
life in the poor
|
184 |
+
/
|
185 |
+
740
|
186 |
+
li inquest for norme of all 1152
|
187 |
+
ت
|
188 |
+
:/ cits vitus ricerit'd in Cast
|
189 |
+
2: 10 quo cesta Collis len, the of
|
190 |
+
fine betinien intrs of aggler. l. He apport
|
191 |
+
by God auth
|
192 |
+
2 יני
|
193 |
+
|
194 |
+
Aun cat
|
195 |
+
0063
|
196 |
+
>
|
197 |
+
|
198 |
+
② Date of appplectenfor os doit reser
|
199 |
+
Ion dedures, in 14
|
200 |
+
12
|
201 |
+
|
202 |
+
"
|
203 |
+
[10dayo-194]
|
204 |
+
Promplit all itthees
|
205 |
+
-10 line to 14 yeю
|
206 |
+
- Cant till bord
|
space/space/jfk_text/104-10005-10321.md
ADDED
@@ -0,0 +1,82 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
2 |
+
|
3 |
+
CLASSIFIED MESSAGE
|
4 |
+
|
5 |
+
SECRETARTDAT
|
6 |
+
|
7 |
+
30 September 64 FILE NO. 201-4524
|
8 |
+
|
9 |
+
BONN, FRANKFURT, BERLIN, COPENHAGEN,
|
10 |
+
REYKJAVIK, PARIS, STOCKHOLM
|
11 |
+
DIRECTOR THE HAGUE BRUSSELS
|
12 |
+
|
13 |
+
nue, stess, cluez, VR, FILE
|
14 |
+
|
15 |
+
UN, FRAN, BRLN, COPENJO GMNY
|
16 |
+
E. PARI, STOC, muda, Hagu, Beas
|
17 |
+
|
18 |
+
AT/KUDESK/TPMURILLO / CATIJA
|
19 |
+
|
20 |
+
KIGREST TRACES JOACHIM JOESTER DPOB 29 JUL 07 COLOGNE.
|
21 |
+
|
22 |
+
ENTER ENTIRE ADULT CAREER AND AUTHOR CA 30 BOOKS AND NUMEROUS
|
23 |
+
SPAPER ARTICLES. POST WWII WORKS VERY ANTI-KUBARK, LAST
|
24 |
+
OK TITLE - OSWALD: ASSASSIN OR FALL GUY? HAS WRITTEN UNDER
|
25 |
+
UE NAME AND UNDER PSEUDONYMS: FRANZ VON NESSELRODE; H.F.
|
26 |
+
LIKIN; WALTER KELL; PAUL DELATHUIS.
|
27 |
+
|
28 |
+
2. ACCORDING CAPTURED GESTAPO DOCS HE JOINED GERM CP ON
|
29 |
+
MAY 32 AND HAD MEMBERSHIP NO. 532315. OWNED LENDING LIBRARY
|
30 |
+
LN AND SOME TIME AFTER MAY 32 WENT USSR WHERE REMAINED UNTIL
|
31 |
+
|
32 |
+
33. DURING ABSENCE HIS LIBRARY MANAGED BY FIANCEE ANNA
|
33 |
+
SCHINSKY. LAST RESIDENCE GERMANY BRLN LUETZOWSTRASSE 40
|
34 |
+
BEI HESS.
|
35 |
+
|
36 |
+
Document Number 888-906
|
37 |
+
for FOIA Review on JUL 1976
|
38 |
+
|
39 |
+
CONTINUED
|
40 |
+
|
41 |
+
COORDINATING OFFICERS
|
42 |
+
GROUP 1
|
43 |
+
Excluded from automatic
|
44 |
+
downgrading and
|
45 |
+
declassification
|
46 |
+
AUTHENTICAT
|
47 |
+
OFFICER
|
48 |
+
|
49 |
+
SECRET/RYB
|
50 |
+
REPRODUCTION BY OTHER THAN THE ISSUING OFFICE IS PROHIBITED.
|
51 |
+
|
52 |
+
3. IN MAY 33 FLED TO FRANCE, WAS IN COPE 36-37 BUT EXPELLED
|
53 |
+
(OR LEFT) EDCAUSE HIS ANTI-DAHISK GOVT WAITINGS. LEFT DENMARK
|
54 |
+
FOR FRANCE VIA ICELAND. IN 40 IN SWEDEN, MARRIED MAY NILSSON,
|
55 |
+
CAME US VIA USSR IN 41 AND NATURALIZED CITIZEN SINCE 48
|
56 |
+
|
57 |
+
4. WOULD APPRECIATE AS FULL A CHECK AS POSSIBLE, INCLUDING
|
58 |
+
LOCAL SERVICES AND AVAILABLE OVERT LOCAL PRE-WWL REFERENCES
|
59 |
+
(PRESS, BOOKS, ETC.) ON JOESTEN AND FIANCEE.
|
60 |
+
|
61 |
+
5. FOR BAIN: PLS ALSO CHECK DDC AND REQUEST PHOTOSTATS
|
62 |
+
ANY DOCS, CAN ADDRESS AND NAME HESS BE CHECKED? ANY CHANCE
|
63 |
+
LOCATE FIANCEE?
|
64 |
+
|
65 |
+
6. ALL ADDRESSERS PLS HANDLE AEQUEST URGENTLY AS MATTER
|
66 |
+
ALSO OF INTEREST TO WARREN COMMISSION. CABLE SUMMARY RESULTS
|
67 |
+
AND POUCH DETAILS INCLUDING ALL COPIES AVAILABLE JOESTEN PRE
|
68 |
+
WWI WRITINGS.
|
69 |
+
|
70 |
+
CONTINUED
|
71 |
+
|
72 |
+
SEGRET/RVRAT
|
73 |
+
|
74 |
+
MIC PARASI THROUGK 3 AECVI IN PUBLIC DOMAIN, AUS
|
75 |
+
FILE
|
76 |
+
END OF MESSAGE
|
77 |
+
|
78 |
+
C/EE/06
|
79 |
+
C/WE/L
|
80 |
+
CAVELS
|
81 |
+
|
82 |
+
SEGRET/RVRAT
|
space/space/jfk_text/104-10006-10247.md
ADDED
@@ -0,0 +1,145 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
104-10006-10247
|
2 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
3 |
+
SECRET
|
4 |
+
FROM: (Requesters name)
|
5 |
+
BRANCH
|
6 |
+
ROOM
|
7 |
+
BADGE NO.
|
8 |
+
NAME CHECK AND CONSOLIDATION REQUEST
|
9 |
+
EXTENSION
|
10 |
+
DATE
|
11 |
+
RID CONTROL NO.
|
12 |
+
TO
|
13 |
+
TUBE
|
14 |
+
ROOM
|
15 |
+
DATE
|
16 |
+
INITIALS
|
17 |
+
RID/INDEX
|
18 |
+
DT-5
|
19 |
+
REQUESTER
|
20 |
+
RID/FILES
|
21 |
+
DT-6
|
22 |
+
REQUESTER
|
23 |
+
RID/ANALYSIS GT-7
|
24 |
+
RID/201
|
25 |
+
DW-6
|
26 |
+
RID/MIS
|
27 |
+
GT-6
|
28 |
+
RID/INDEX
|
29 |
+
DT-5
|
30 |
+
|
31 |
+
SUBJECT TO BE CHECKED
|
32 |
+
SURNAME
|
33 |
+
(All spellings)
|
34 |
+
D'EDKOV, Roman Fedorovich er Vilasa Nikolaevna
|
35 |
+
SPELLING VARIATIONS TO BE CHECKED
|
36 |
+
AKA, ALIASES
|
37 |
+
OTHER IDENTIFYING DATA (Occupation, sex, CP membership,
|
38 |
+
I. S. affiliations, etc.)
|
39 |
+
Poss. at soo. Eulest. Ind
|
40 |
+
RESIDENCE
|
41 |
+
New Delhi, Ind
|
42 |
+
SEX DATE OF BIRTH
|
43 |
+
PLACE OF BIRTH
|
44 |
+
CITIZENSHIP
|
45 |
+
USSR
|
46 |
+
Minse USSR
|
47 |
+
|
48 |
+
RESULTS OF RID/INDEX CHECK
|
49 |
+
COMMENTS
|
50 |
+
NO PERTINENT IDENTIFIABLE INFORMATION
|
51 |
+
CARD REFERENCES ATTACHED
|
52 |
+
|
53 |
+
INSTRUCTIONS FOR REQUESTERS
|
54 |
+
IN ALL CASES
|
55 |
+
1. Use gummed label; type or print all
|
56 |
+
entries.
|
57 |
+
2. Upon receipt of index card reproductions
|
58 |
+
draw a green diagonal line across the
|
59 |
+
items you do not want.
|
60 |
+
3. Edit (use green) the reproduced index
|
61 |
+
cards to indicate:
|
62 |
+
(a) cards to be destroyed (mark with
|
63 |
+
green D and note reason for destruction)
|
64 |
+
Examples: document destroyed; duplicate
|
65 |
+
or less informative than retained in-
|
66 |
+
formation; information of no CS value.
|
67 |
+
|
68 |
+
(b) corrections and additions, inclu-
|
69 |
+
ding infinity symbol ∞ when card in-
|
70 |
+
cludes all facts contained in the
|
71 |
+
document.
|
72 |
+
|
73 |
+
Note 1. Records of COI, SSU, OSS and CIG
|
74 |
+
are in RID/ARD, and those that meet
|
75 |
+
indexing criteria in CSHB 70-1-l are
|
76 |
+
carded in the CS Main Index. If you
|
77 |
+
believe there could be additional in-
|
78 |
+
formation of value in these records,
|
79 |
+
you must request an Archives Index
|
80 |
+
search.
|
81 |
+
201 CONSOLIDATION
|
82 |
+
1. Return this form with the card repro-
|
83 |
+
ductions, also return pertinent documents,
|
84 |
+
aperture cards and the dossier if a 201 on
|
85 |
+
the subject exists.
|
86 |
+
2. For each document to be included in the
|
87 |
+
consolidation (i.e., copy or cross reference
|
88 |
+
to be placed in the 201 file), green D the
|
89 |
+
corresponding card and check (a) or (b)
|
90 |
+
below:
|
91 |
+
|
92 |
+
(a) Consolidate into
|
93 |
+
201-
|
94 |
+
(b) Open 201 file on subject.
|
95 |
+
|
96 |
+
RESTRICTION (If any)
|
97 |
+
CRYPTONYM
|
98 |
+
OTHER INTERESTED DESKS OR STATIONS
|
99 |
+
ASSIGNED
|
100 |
+
YES
|
101 |
+
NO
|
102 |
+
FILE TO
|
103 |
+
BE KEPT
|
104 |
+
RID
|
105 |
+
DESK
|
106 |
+
Note 2. Information concerning foreign
|
107 |
+
public personalities (except mili-
|
108 |
+
tary) may be available in BR/OCR
|
109 |
+
x7997.
|
110 |
+
DATE
|
111 |
+
SIGNATURE OF RECORDS OFFICER
|
112 |
+
|
113 |
+
13-00000
|
114 |
+
|
115 |
+
One Roman Fedorovich DEDKOV, born 28 March 1927 in Ariansk, USSR,
|
116 |
+
|
117 |
+
and his wife Vilasa Nikolayevna DEDKOV, born 31 December 1930 in Minsk,
|
118 |
+
USSR, applied for were listed as applicants for entry visas to Indiad
|
119 |
+
sometime prior to April 1962. DEDKOV, who was issued Soviet passport
|
120 |
+
number 207461 on 17 September 1960, was scheduled to arrive in New Delhi
|
121 |
+
for two years as an English language teacher at the Soviet Embassy.
|
122 |
+
|
123 |
+
It is not known whether or not DEDKOV actually arrived in New Delhi.
|
124 |
+
|
125 |
+
Not at sent because it shows lioman to Indonians, aaring
|
126 |
+
"Home List" nut classified.
|
127 |
+
SCAT
|
128 |
+
10 AUG 1964
|
129 |
+
|
130 |
+
13-00000
|
131 |
+
|
132 |
+
INDIA 1
|
133 |
+
|
134 |
+
DEDKOV, Roman Fedorovich
|
135 |
+
|
136 |
+
Subj scheduled to arrive New Delhi for two years as an
|
137 |
+
English teacher at the Soviet Embassy; Ppt 207461 iss
|
138 |
+
17 Sept 60 (Mos Comment: Subj is presumed to have arr
|
139 |
+
sometime after sept 60). NBDA-8509, 24 Apr 62
|
140 |
+
|
141 |
+
Wife: Vilasa Nikolayevna (DPOB: 31 Dec 1930; Minsk)
|
142 |
+
|
143 |
+
201-756978
|
144 |
+
|
145 |
+
DPOB: 28 Mar 1927; Ariansk
|
space/space/jfk_text/104-10007-10345.md
ADDED
@@ -0,0 +1,326 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
2 |
+
|
3 |
+
ROUTING AND RECORD SHEET
|
4 |
+
|
5 |
+
SUBJECT: Document Number 988-927 BD
|
6 |
+
|
7 |
+
for FOIA Review on SEP 1976
|
8 |
+
|
9 |
+
FROM: Chief, CI/R&A
|
10 |
+
2 C 17
|
11 |
+
|
12 |
+
TO: Chief, AF
|
13 |
+
7 C 32
|
14 |
+
|
15 |
+
Chief, EE
|
16 |
+
3 D 31 07
|
17 |
+
|
18 |
+
Chief, FE
|
19 |
+
5 D 31 07
|
20 |
+
|
21 |
+
Chief, NE
|
22 |
+
6 D 31 07
|
23 |
+
|
24 |
+
Chief, WE
|
25 |
+
4 B 44 05
|
26 |
+
|
27 |
+
Chief, WH
|
28 |
+
3 B 44 03
|
29 |
+
|
30 |
+
DDP
|
31 |
+
3 C 20 16
|
32 |
+
|
33 |
+
CI/R&A
|
34 |
+
2 C 17
|
35 |
+
|
36 |
+
PSD
|
37 |
+
|
38 |
+
RID
|
39 |
+
|
40 |
+
DATE 27-865
|
41 |
+
24 December 1964
|
42 |
+
|
43 |
+
For Coordination
|
44 |
+
|
45 |
+
DEFERRED
|
46 |
+
|
47 |
+
RID PROUESTING STOPPED
|
48 |
+
PLEASE INDICATE HANDLING
|
49 |
+
|
50 |
+
NOTE: This Document of the CA R
|
51 |
+
of the CS Decur
|
52 |
+
Desired Handling
|
53 |
+
For Signature and Release
|
54 |
+
BY HAND
|
55 |
+
PLEASE CALL
|
56 |
+
|
57 |
+
Easy Printing 201-289248
|
58 |
+
|
59 |
+
DISPATCH
|
60 |
+
|
61 |
+
Chiefs of all Stations
|
62 |
+
|
63 |
+
Chief, KUDOVE
|
64 |
+
|
65 |
+
Warren Commission Testimony - Selected Excerpts
|
66 |
+
|
67 |
+
FYI
|
68 |
+
|
69 |
+
1. The Warren Commission's Report on the assassination of
|
70 |
+
President Kennedy focused attention on the magnitude of the problem.
|
71 |
+
involved in the protection of the Chief Executive. As you know, it is
|
72 |
+
our responsibility, overseas and in headquarters, to render every
|
73 |
+
support possible to the Secret Service in the conduct of its statutory
|
74 |
+
responsibilities in the United States, and especially when the President
|
75 |
+
travels abroad,
|
76 |
+
|
77 |
+
2. The circumstances confronting the Warren Commission
|
78 |
+
produced discussion and testimony on various aspects of the problem
|
79 |
+
of Presidential protection and on interagency operational cooperation,
|
80 |
+
which normally do not find their way into the public domain. These
|
81 |
+
include the acquisition and dissemination of information, consultation,
|
82 |
+
coordination, and operational interchanges. I believe you will be
|
83 |
+
interested in the attached extracts of testimony given before the Warren
|
84 |
+
Commission by U.S. intelligence and security officials. Pertinent
|
85 |
+
Fortions have been side lined. I commend these materials for reading
|
86 |
+
by all officers in positions of senior responsibility in headquarters and
|
87 |
+
overseas.
|
88 |
+
|
89 |
+
Document Number 988-927 BD.
|
90 |
+
|
91 |
+
for FOIA Review on SEP 1976
|
92 |
+
|
93 |
+
FLETCHER M. KNIGHT
|
94 |
+
201-289245
|
95 |
+
|
96 |
+
Book Dispatch No. 4726
|
97 |
+
|
98 |
+
100-300-12
|
99 |
+
|
100 |
+
Raymond G. Rocca gwh
|
101 |
+
|
102 |
+
HQ COPY
|
103 |
+
DISPATCH
|
104 |
+
|
105 |
+
Distribution For
|
106 |
+
Book Dispatch No. 4726
|
107 |
+
|
108 |
+
AF Division
|
109 |
+
Abidjan
|
110 |
+
Accra
|
111 |
+
Addis Ababa
|
112 |
+
Algiers
|
113 |
+
Bamako
|
114 |
+
Brazzaville
|
115 |
+
Bujumbura
|
116 |
+
Conakry
|
117 |
+
Dakar
|
118 |
+
Dar-es-Salaam
|
119 |
+
Freetown
|
120 |
+
Kampala
|
121 |
+
Khartoum
|
122 |
+
Lagos
|
123 |
+
Leopoldville
|
124 |
+
Lome
|
125 |
+
Lusaka
|
126 |
+
Mogadiscio
|
127 |
+
Monrovia
|
128 |
+
Nairobi
|
129 |
+
Pretoria
|
130 |
+
Rabat
|
131 |
+
Salisbury
|
132 |
+
Tananarive
|
133 |
+
Tripoli
|
134 |
+
Tunis
|
135 |
+
Yaounde
|
136 |
+
|
137 |
+
The above listing has been
|
138 |
+
reviewed in the AF Division.
|
139 |
+
|
140 |
+
dw
|
141 |
+
|
142 |
+
EE Division
|
143 |
+
Athens
|
144 |
+
Bern
|
145 |
+
Frankfurt
|
146 |
+
Nicosia
|
147 |
+
Vienna
|
148 |
+
|
149 |
+
The above listing has been
|
150 |
+
reviewed in the EE Division.
|
151 |
+
|
152 |
+
FE Division
|
153 |
+
Bangkok
|
154 |
+
Djakarta
|
155 |
+
Hong Kong
|
156 |
+
Honolulur
|
157 |
+
Kuala Lumpur
|
158 |
+
Manila
|
159 |
+
Melbourne
|
160 |
+
Okinawa
|
161 |
+
Phnom Penh
|
162 |
+
Rangoon
|
163 |
+
Saigon
|
164 |
+
Seoul
|
165 |
+
Taipei
|
166 |
+
Tokyo
|
167 |
+
Vientiane
|
168 |
+
Wellington
|
169 |
+
|
170 |
+
The above listing has been
|
171 |
+
reviewed in the FE Division.
|
172 |
+
|
173 |
+
себ
|
174 |
+
|
175 |
+
Distribution For
|
176 |
+
Book Dispatch No. 4726
|
177 |
+
|
178 |
+
NE Division
|
179 |
+
Aden
|
180 |
+
Amman
|
181 |
+
Ankara
|
182 |
+
Baghdad
|
183 |
+
Beirut
|
184 |
+
Cairo
|
185 |
+
Colombo
|
186 |
+
Damascus
|
187 |
+
Jidda
|
188 |
+
Kabul
|
189 |
+
Karachi
|
190 |
+
Kathmandu
|
191 |
+
Kuwait
|
192 |
+
New Delhi
|
193 |
+
Tehran
|
194 |
+
|
195 |
+
The above listing has been
|
196 |
+
reviewed in the NE Division.
|
197 |
+
|
198 |
+
WE Division
|
199 |
+
Brussels
|
200 |
+
Copenhagen
|
201 |
+
The Hague
|
202 |
+
Helsinki
|
203 |
+
Lisbon
|
204 |
+
London
|
205 |
+
Luxembourg
|
206 |
+
Madrid
|
207 |
+
Oslo
|
208 |
+
Ottawa
|
209 |
+
Paris
|
210 |
+
Paris/LCPIPIT
|
211 |
+
Reykjavik
|
212 |
+
Rome
|
213 |
+
Stockholm
|
214 |
+
|
215 |
+
The above listing has been
|
216 |
+
reviewed in the WE Division.
|
217 |
+
|
218 |
+
-2-
|
219 |
+
|
220 |
+
Distribution For
|
221 |
+
Book Dispatch No. 4726
|
222 |
+
|
223 |
+
WH Division
|
224 |
+
Asuncion
|
225 |
+
Bogota
|
226 |
+
Buenos Aires
|
227 |
+
Caracas
|
228 |
+
Georgetown
|
229 |
+
Guatemala City
|
230 |
+
Kingston
|
231 |
+
La Paz
|
232 |
+
Lima
|
233 |
+
Managua
|
234 |
+
Mexico City
|
235 |
+
Montevideo
|
236 |
+
Panama City
|
237 |
+
Paramaribo
|
238 |
+
Port-au-Prince
|
239 |
+
Port of Spain
|
240 |
+
Quito
|
241 |
+
Rio de Janeiro
|
242 |
+
San Jose
|
243 |
+
San Juan
|
244 |
+
San Salvador
|
245 |
+
Santiago
|
246 |
+
Santo Domingo
|
247 |
+
Tegucigalpa
|
248 |
+
|
249 |
+
The above listing has been
|
250 |
+
reviewed in the WH Division.
|
251 |
+
|
252 |
+
-3-
|
253 |
+
|
254 |
+
Headquarters Distribution for
|
255 |
+
Book Dispatch No. 4726
|
256 |
+
|
257 |
+
2 DDP
|
258 |
+
1 ADDP
|
259 |
+
1 C/OPSER
|
260 |
+
1 C/TSD
|
261 |
+
1 C/CA
|
262 |
+
1 C/CCS
|
263 |
+
1 C/SOD
|
264 |
+
1 C/CI
|
265 |
+
1 C/FI
|
266 |
+
|
267 |
+
2 C/AF
|
268 |
+
1 C/AF/1
|
269 |
+
1 C/AF/2
|
270 |
+
1 C/AF/3
|
271 |
+
1 C/AF/4
|
272 |
+
1 C/AF/5
|
273 |
+
1 C/AF/6
|
274 |
+
|
275 |
+
2 C/EE
|
276 |
+
1 C/EE/G
|
277 |
+
1 C/EE/K
|
278 |
+
1 C/EE/SA
|
279 |
+
|
280 |
+
2 C/FE
|
281 |
+
1 C/FE/CH
|
282 |
+
1 C/FE/HULA
|
283 |
+
1 C/FE/JKO
|
284 |
+
1 C/FE/PMI
|
285 |
+
1 C/FE/TBL
|
286 |
+
1 C/FE/VNC
|
287 |
+
|
288 |
+
2 C/NE
|
289 |
+
1 C/NE/1
|
290 |
+
1 DC/NE/AA
|
291 |
+
1 C/NE/4
|
292 |
+
1 C/NE/5
|
293 |
+
1 C/NE/6
|
294 |
+
|
295 |
+
2 C/WE
|
296 |
+
1 C/WE/1
|
297 |
+
1 C/WE/2
|
298 |
+
1 C/WE/3
|
299 |
+
1 C/WE/4
|
300 |
+
1 C/WE/5
|
301 |
+
1 C/WE/BC
|
302 |
+
|
303 |
+
2 C/WH
|
304 |
+
1 C/WH/1
|
305 |
+
1 C/WH/2
|
306 |
+
1 C/WH/3
|
307 |
+
1 C/WH/4
|
308 |
+
1 C/WH/5
|
309 |
+
1 WH/COPS
|
310 |
+
1 WH/POA
|
311 |
+
1 WH/POB
|
312 |
+
1 WH/Plans
|
313 |
+
|
314 |
+
2 CI/R&A
|
315 |
+
1 CI/LIA
|
316 |
+
1 CI/OPS/AF
|
317 |
+
1 CI/OPS/EE
|
318 |
+
1 CI/OPS/FE
|
319 |
+
1 CI/OPS/NE
|
320 |
+
1 CI/OPS/SS
|
321 |
+
1 CI/OPS/WE
|
322 |
+
1 CI/OPS/WH
|
323 |
+
|
324 |
+
1 RID
|
325 |
+
|
326 |
+
Originated by: Chief, CI/R&A, Ext. 7468/23 December 1964
|
space/space/jfk_text/104-10009-10021.md
ADDED
@@ -0,0 +1,192 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
2 |
+
|
3 |
+
SECRET
|
4 |
+
|
5 |
+
FIELD DISTRIBUTION - BD #5847
|
6 |
+
|
7 |
+
AF DIVISION
|
8 |
+
Johannesburg
|
9 |
+
Lagos
|
10 |
+
Nairobi
|
11 |
+
Pretoria
|
12 |
+
Rabat
|
13 |
+
Salisbury
|
14 |
+
|
15 |
+
EUR DIVISION
|
16 |
+
Barcelona
|
17 |
+
Berlin
|
18 |
+
Bern
|
19 |
+
Bonn
|
20 |
+
Brussels
|
21 |
+
Copenhagen
|
22 |
+
Geneva
|
23 |
+
The Hague
|
24 |
+
Hamburg
|
25 |
+
Helsinki
|
26 |
+
Lisbon
|
27 |
+
London
|
28 |
+
Madrid
|
29 |
+
Milan
|
30 |
+
Munich Liaison Base
|
31 |
+
Munich Ops. Base (Laurion)
|
32 |
+
Oslo
|
33 |
+
Ottawa
|
34 |
+
Paris
|
35 |
+
LCPIPIT
|
36 |
+
Rome
|
37 |
+
Salzburg
|
38 |
+
Stockholm
|
39 |
+
Vienna
|
40 |
+
Zurich
|
41 |
+
|
42 |
+
NB DIVISION
|
43 |
+
Ankara
|
44 |
+
Athens
|
45 |
+
Beirut
|
46 |
+
Calcutta
|
47 |
+
Colombo
|
48 |
+
Istanbul
|
49 |
+
New Delhi
|
50 |
+
Rawalpindi
|
51 |
+
Teheren
|
52 |
+
|
53 |
+
FE DIVISION
|
54 |
+
Bangkok
|
55 |
+
Djakarta
|
56 |
+
Hong Kong
|
57 |
+
Honolulu
|
58 |
+
Kuala Lumpur
|
59 |
+
Kuching
|
60 |
+
Manila
|
61 |
+
Medan
|
62 |
+
Melbourne
|
63 |
+
Okinawa
|
64 |
+
Rangoon
|
65 |
+
Saigon
|
66 |
+
Seoul
|
67 |
+
Singapore
|
68 |
+
Taipei
|
69 |
+
Tokyo
|
70 |
+
Vientiane
|
71 |
+
Surabaya
|
72 |
+
Wellington
|
73 |
+
|
74 |
+
WH DIVISION
|
75 |
+
Asuncion
|
76 |
+
Bogota
|
77 |
+
Brasilia
|
78 |
+
Buenos Aires
|
79 |
+
Caracas
|
80 |
+
Georgetown
|
81 |
+
Guatemala City
|
82 |
+
Guayaquil
|
83 |
+
JMWAVE
|
84 |
+
Kingston
|
85 |
+
La Paz
|
86 |
+
Lima
|
87 |
+
Managua
|
88 |
+
Mexico City
|
89 |
+
Monterrey
|
90 |
+
Montevideo
|
91 |
+
Norfolk (REPLANT)
|
92 |
+
Panama City
|
93 |
+
Port au Prince
|
94 |
+
Porto Alegre
|
95 |
+
Quito
|
96 |
+
Recife
|
97 |
+
Rio de Janerio
|
98 |
+
San Jose
|
99 |
+
San Salvador
|
100 |
+
Santiago
|
101 |
+
Santiago de los Caballeros
|
102 |
+
Santo Domingo
|
103 |
+
Sao Paulo
|
104 |
+
Tegucigalpa
|
105 |
+
|
106 |
+
SECRET
|
107 |
+
|
108 |
+
HQS DISTRIBUTION - BD #5847
|
109 |
+
|
110 |
+
CA STAFF
|
111 |
+
DC/CA
|
112 |
+
CA/COPS
|
113 |
+
CA/PROP
|
114 |
+
CA/LO
|
115 |
+
CA/B1
|
116 |
+
CA/B2
|
117 |
+
CA/B3
|
118 |
+
CA/B4
|
119 |
+
CA/B5
|
120 |
+
|
121 |
+
AF/COPS/CA
|
122 |
+
AF/1
|
123 |
+
AF/2
|
124 |
+
AF/3
|
125 |
+
AF/4
|
126 |
+
AF/5
|
127 |
+
AF/6
|
128 |
+
|
129 |
+
FE/CA 14
|
130 |
+
C/CO/CA
|
131 |
+
|
132 |
+
SB/CA
|
133 |
+
|
134 |
+
DO/CA 3
|
135 |
+
|
136 |
+
CI/R&A 10
|
137 |
+
|
138 |
+
EUR DIVISION
|
139 |
+
E/CA
|
140 |
+
E/SC
|
141 |
+
E/BNL
|
142 |
+
E/F
|
143 |
+
E/I
|
144 |
+
E/IB
|
145 |
+
E/G
|
146 |
+
E/AS
|
147 |
+
E/BC
|
148 |
+
|
149 |
+
NE DIVISION
|
150 |
+
NE/COPS
|
151 |
+
NE/GTI/G
|
152 |
+
NE/GTI/T
|
153 |
+
NE/GTI/I
|
154 |
+
NEAA/I
|
155 |
+
NEAA/AP
|
156 |
+
NEAA/S&L
|
157 |
+
NESA/RE
|
158 |
+
NESA/C&N
|
159 |
+
NESA/I
|
160 |
+
NESA/P
|
161 |
+
|
162 |
+
WH DIVISION
|
163 |
+
WH/CA
|
164 |
+
WH/C
|
165 |
+
WH/C/CA
|
166 |
+
WH/1
|
167 |
+
WH/1/Mexico
|
168 |
+
WH/2
|
169 |
+
WH/2/G
|
170 |
+
WH/2/P
|
171 |
+
WH/H/S
|
172 |
+
WH/2/CR/N
|
173 |
+
WH/3
|
174 |
+
WH/3/B
|
175 |
+
WH/3/CO
|
176 |
+
WH/3/E
|
177 |
+
WH/3/P
|
178 |
+
WH/3/V
|
179 |
+
WH/4
|
180 |
+
WH/4/AR
|
181 |
+
WH/4/CH
|
182 |
+
WH/4/P/U
|
183 |
+
WH/5
|
184 |
+
WH/5/Brasil
|
185 |
+
WH/6
|
186 |
+
WH/7
|
187 |
+
WH/7/HT
|
188 |
+
WH/7/GU
|
189 |
+
WH/7/DR
|
190 |
+
WH/7/JTS
|
191 |
+
|
192 |
+
SECRET
|
space/space/jfk_text/104-10009-10222.md
ADDED
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
104-10009-10222
|
2 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
3 |
+
|
4 |
+
SECRET
|
5 |
+
|
6 |
+
DD/P8:4635/1
|
7 |
+
|
8 |
+
26 NOV 1968
|
9 |
+
|
10 |
+
Sir Charles C. F. Spry
|
11 |
+
Director General
|
12 |
+
Australian Security Intelligence Organization
|
13 |
+
G. P. O. Box 510583
|
14 |
+
Melbourne
|
15 |
+
|
16 |
+
Dear Charles,
|
17 |
+
|
18 |
+
Thank you for your letter of 15 October
|
19 |
+
recommending against the declassification of
|
20 |
+
Warren Commission document CD-971. I might
|
21 |
+
mention that our inquiry to you in August (1968)
|
22 |
+
was in anticipation of further pressure for the
|
23 |
+
release of Warren Commission papers, a pressure
|
24 |
+
which has not materialized. Accordingly, there is
|
25 |
+
not, at the present time, any intention to release
|
26 |
+
CD-971.
|
27 |
+
|
28 |
+
Should the question be raised at some future
|
29 |
+
time, the points made by you in your letter provide
|
30 |
+
every reason to keep the document out of the
|
31 |
+
public domain.
|
32 |
+
|
33 |
+
With kindest regards,
|
34 |
+
|
35 |
+
Sincerely,
|
36 |
+
/s/ Richard Helms
|
37 |
+
|
38 |
+
Richard Helms
|
39 |
+
Director
|
40 |
+
|
41 |
+
Document Number 1042-947c
|
42 |
+
for FOIA Review on SEP 1976
|
43 |
+
|
44 |
+
cc: DDCI
|
45 |
+
|
46 |
+
Signature Recommended:
|
47 |
+
|
48 |
+
Deputy Director for Plans
|
49 |
+
DDP/FE/PMI/AN/Amos Taylor, Jr. (X 5502):aib (25 November 1968)
|
50 |
+
5681
|
51 |
+
|
52 |
+
Distribution:
|
53 |
+
Orig - Addee
|
54 |
+
1 - ADDP 2 - DCI
|
55 |
+
1 - CPE 1 - DDCI
|
56 |
+
1 - PMI 2 - DDP
|
57 |
+
1 - PMI/AN
|
58 |
+
21 NOV 1968
|
59 |
+
Date
|
60 |
+
|
61 |
+
SECRET
|
62 |
+
|
63 |
+
CORRES
|
64 |
+
RELATING TO
|
65 |
+
THIS-
|
66 |
+
INCLUDING
|
67 |
+
NAVYS OK
|
68 |
+
OF 27 June
|
69 |
+
|
70 |
+
FILE
|
71 |
+
MAIN
|
72 |
+
FILE
|
space/space/jfk_text/104-10012-10022.md
ADDED
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
2 |
+
|
3 |
+
SECRET
|
4 |
+
|
5 |
+
21 MAY
|
6 |
+
1982
|
7 |
+
US/82/71
|
8 |
+
|
9 |
+
Dear Anthony,
|
10 |
+
|
11 |
+
Regarding your letter 6/705 of 10 May 1982, our
|
12 |
+
records indicate that Valeriy Vladimirovich Kostikov
|
13 |
+
traveled to Mexico, France, Spain, the U.S. and Cuba
|
14 |
+
during the period 1959-61. In 1961, he was assigned
|
15 |
+
permanently to Mexico City as a consular officer and
|
16 |
+
served there until August 1965. He was variously
|
17 |
+
described as a translator, vice-consul, and attache.
|
18 |
+
During this tour he attempted to cultivate a U.S.
|
19 |
+
Government employee assigned to our embassy in Mexico
|
20 |
+
City.
|
21 |
+
|
22 |
+
In September/October 1963, Lee Harvey Oswald
|
23 |
+
approached the Soviet Embassy in Mexico City in an attempt
|
24 |
+
to get a visa allowing him to return to the USSR.
|
25 |
+
Kostikov, as a consular officer, handled this visa
|
26 |
+
request. We have no information which indicates any
|
27 |
+
relationship between these individuals other than for the
|
28 |
+
purpose of Oswald's making his visa request.
|
29 |
+
|
30 |
+
Kostikov returned to Mexico City for a second tour of
|
31 |
+
duty in July 1968. During this tour he was again assigned
|
32 |
+
to the consular section and was a second secretary. It
|
33 |
+
appeared that he was tasked with following the activities
|
34 |
+
of the Central American communist parties and left-wing
|
35 |
+
groups, and he met often with members of these groups,
|
36 |
+
reportedly providing them with funds and technical
|
37 |
+
guidance. In July/August 1969, Kostikov made an unusual
|
38 |
+
TDY trip to Moscow lasting three weeks. (His family
|
39 |
+
remained in Mexico.) In July 1970 he made a four-day trip
|
40 |
+
to Havana.
|
41 |
+
|
42 |
+
Kostikov's tour in Mexico ended unexpectedly in
|
43 |
+
September 1971. Our information indicated that he was
|
44 |
+
not due to leave for another three to four months, and at
|
45 |
+
the time of his departure, there was some speculation that
|
46 |
+
the suddenness of his departure was due to the fact that
|
47 |
+
he was known to Lyalin.
|
48 |
+
|
49 |
+
CROSS FILE COPY FOR
|
50 |
+
201-289248
|
51 |
+
DO NOT DESTROY
|
52 |
+
|
53 |
+
RECORD COPY
|
54 |
+
|
55 |
+
SECRET
|
56 |
+
|
57 |
+
XAE09222
|
58 |
+
21MAY 82
|
59 |
+
100-2-95
|
60 |
+
|
61 |
+
While in Mexico he was considered by some to be the
|
62 |
+
most effective and dangerous of intelligence officers in
|
63 |
+
Mexico. He has been described as being without morals,
|
64 |
+
education, and manners. Shortly after his arrival in
|
65 |
+
Mexico in 1968, he was arrested in front of a house of
|
66 |
+
prostitution after becoming involved in a fist fight with
|
67 |
+
some locals. It appears this incident did not affect his
|
68 |
+
position in Mexico City, despite the fact that it
|
69 |
+
received a good deal of press coverage.
|
70 |
+
|
71 |
+
We are aware only that Kostikov arrived in Beirut in
|
72 |
+
June 1978. We are unable to confirm his presence there
|
73 |
+
now.
|
74 |
+
|
75 |
+
Although our file indicates that Kostikov may have
|
76 |
+
been a member of Department 13 (Executive Action)
|
77 |
+
(Department V's predecessor), we have been unable to
|
78 |
+
confirm this. Also, to the best of our knowledge the KGB
|
79 |
+
has not engaged in such executive action since 1959.
|
80 |
+
|
81 |
+
Sincerely,
|
82 |
+
|
83 |
+
/s/ David
|
84 |
+
|
85 |
+
David H. Blee
|
86 |
+
|
87 |
+
Mr. Anthony C. M. DeVere
|
88 |
+
|
89 |
+
PHOTO ATTACHED
|
90 |
+
|
91 |
+
DDO/CI/RA/Joan Paxson (21 May 1982)
|
92 |
+
|
93 |
+
DISTRIBUTION:
|
94 |
+
Orig & 1 - Adse
|
95 |
+
1 - CI/RA Chrono
|
96 |
+
1 - 100-2-95
|
97 |
+
1 - Reading Board
|
98 |
+
1 - Paxson
|
99 |
+
|
100 |
+
SECRET
|
101 |
+
|
102 |
+
100-2-95
|
space/space/jfk_text/104-10012-10024.md
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
104-10012-10024 2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
2 |
+
|
3 |
+
6/705
|
4 |
+
10 May 1982
|
5 |
+
|
6 |
+
Dear David,
|
7 |
+
|
8 |
+
VALERIY VLADIMIROVICH KOSTIKOV
|
9 |
+
|
10 |
+
1. Please refer to our conversation of 6 May. KOSTIKOV, born 17 March 1933, Moscow, was posted to Beirut in 1978 as 1st Secretary and may still be there. He is identified KGB and served in Mexico City from 1961-71. There is a reference to him on page 307 of BARRON's KGB which suggests that he may have been Department V. We do not appear to have asked LYALIN about him, and are now doing so.
|
11 |
+
|
12 |
+
2. We also note that EPSTEIN in "Legend" claims that according to a CIA telecheck KOSTIKOV was Lee Harvey OSWALD'S KGB case officer in Mexico City. According to BARRON (page 335) OSWALD was in Mexico between September and November 1963 and was seeking to obtain a Soviet visa. There was certainly a KGB interest in OSWALD, although according to NOSENKO this was defensive.
|
13 |
+
|
14 |
+
3. The reason for our current interest in KOSTIKOV will be obvious. As you are aware, our Embassy in Beirut, in common with other Western Missions, has been subject to threats and violence in recent months, and in view of earlier hostile attentions from the KGB, we have been reviewing our records of KGB staff in the area who might have been involved in promoting strong-arm tactics.
|
15 |
+
|
16 |
+
4. We would be grateful for your views as to whether the KGB are likely to be behind any of the recent incidents (possibly through the Syrians) and for any information on KOSTIKOV and his activities in Mexico and in Beirut. In particular, what are your comments on the OSWALD story; can you confirm that KOSTIKOV is still in Beirut; is there anyone else in Beirut or Damascus whose trace record suggests an Active Measures role, or worse?
|
17 |
+
|
18 |
+
5. We should be grateful for an early reply and as I said on 6 May will treat anything you can tell us on a strictly Service to Service basis.
|
19 |
+
|
20 |
+
CROSS FILE COPY FOR
|
21 |
+
201-289248
|
22 |
+
|
23 |
+
DO NOT DESTROY
|
24 |
+
|
25 |
+
Yours ever
|
26 |
+
|
27 |
+
A C M de Vere
|
28 |
+
|
29 |
+
Form 547a Processed
|
space/space/jfk_text/104-10012-10035.md
ADDED
@@ -0,0 +1,208 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# 2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
2 |
+
|
3 |
+
1 UNCLASSIFIED
|
4 |
+
INTERNAL USE ONLY
|
5 |
+
CONFIDENTIAL
|
6 |
+
SECRET
|
7 |
+
|
8 |
+
ROUTING AND RECORD SHEET
|
9 |
+
|
10 |
+
SUBJECT: (Optional)
|
11 |
+
|
12 |
+
FROM: E/BC
|
13 |
+
4C 20 Hqs?
|
14 |
+
|
15 |
+
EXTENSION NO
|
16 |
+
1413
|
17 |
+
7220
|
18 |
+
|
19 |
+
DATE
|
20 |
+
5 APR 1978
|
21 |
+
|
22 |
+
TO: (Officer designation, room number, and building)
|
23 |
+
|
24 |
+
DATE
|
25 |
+
OFFICER'S INITIALS
|
26 |
+
RECEIVED
|
27 |
+
FORWARDED
|
28 |
+
COMMENTS (Number each comment to show from whom to whom. Draw a line across column, after each comment.)
|
29 |
+
|
30 |
+
1. CilRTA
|
31 |
+
2. Hausman APR 1978 ch
|
32 |
+
3. Rum Holmes
|
33 |
+
4. 3D57
|
34 |
+
5.
|
35 |
+
6.
|
36 |
+
7.
|
37 |
+
8.
|
38 |
+
9.
|
39 |
+
10.
|
40 |
+
This is the ACTION/INFO copy of a communication received on from MI-6 in Washington.
|
41 |
+
|
42 |
+
Another copy is being held in E/BC.
|
43 |
+
|
44 |
+
Any reply should be directed to E/BC for forwarding to Liaison.
|
45 |
+
|
46 |
+
Processing by IP is to be determined by
|
47 |
+
|
48 |
+
Coordination with E/BC is required prior to any dissemination of this information outside the DDO.
|
49 |
+
|
50 |
+
NB: Richard A. SPRAGUE, Chief Counsel and Director of HSCA, saw a copy of attached document... See his attached letter to Sergyj CZORNONOH, 04 December 1976.
|
51 |
+
|
52 |
+
RBH
|
53 |
+
11.
|
54 |
+
12.
|
55 |
+
13.
|
56 |
+
14.
|
57 |
+
15.
|
58 |
+
|
59 |
+
FORM 610 USE PREVIOUS EDITIONS
|
60 |
+
SECRET
|
61 |
+
CONFIDENTIAL
|
62 |
+
INTERNAL USE ONLY
|
63 |
+
UNCLASSIFIED
|
64 |
+
|
65 |
+
CONFIDENTIAL
|
66 |
+
|
67 |
+
Our ref: GEN 1
|
68 |
+
|
69 |
+
Dear Art,
|
70 |
+
|
71 |
+
30 March 1978
|
72 |
+
|
73 |
+
Please find attached correspondence received from one Sergyj CZORNONOH who claims that he provided information about Lee Harvey OSWALD to the American Vice Consul (presumably Tom Blackshear) in Sofia, Bulgaria, in August 1963.
|
74 |
+
|
75 |
+
2. I have sent copies of these letters to the FBI and to my Head Office in London.
|
76 |
+
|
77 |
+
Mr A H Stimson
|
78 |
+
|
79 |
+
Enc.
|
80 |
+
|
81 |
+
DH Jones for GML Blackburne-Kan
|
82 |
+
|
83 |
+
CONFIDENTIAL
|
84 |
+
|
85 |
+
SERGYJ. CZORNONOH
|
86 |
+
1106-11TH STREET
|
87 |
+
SACRAMENTO CALIFORNIA
|
88 |
+
95814
|
89 |
+
|
90 |
+
M. Wall
|
91 |
+
|
92 |
+
TO BRITISH EMBASSY
|
93 |
+
3100 MASSACHUSETTS AVE, N. W.
|
94 |
+
WASHINGTON, D. C.
|
95 |
+
|
96 |
+
RETURN RECEIPT REQUESTED
|
97 |
+
REGISTERED NO.257254
|
98 |
+
|
99 |
+
SERGYJ CZORNONDH
|
100 |
+
1106-11TH STREET
|
101 |
+
SACRAMENTO, CALIFORNIA, 95814
|
102 |
+
|
103 |
+
MARCH 15, 1978.
|
104 |
+
|
105 |
+
TO BRITISH AMBASSADOR
|
106 |
+
BRITISH EMBASSY
|
107 |
+
3100 MASSACHUSETTS AVE, N. W.
|
108 |
+
WASHINGTON, DC.
|
109 |
+
|
110 |
+
DEAR SIR.
|
111 |
+
|
112 |
+
I WROTE LETTER ON FEBRUARY 15, 1978 TO MR. JAMES CALLAGHAN PRIME MINISTER I ENCLOSED REGISTERED MAIL NO. 251067.
|
113 |
+
|
114 |
+
ON JULY 18, 1963 I WAS IN LONDON ENGLAND AT THE AIRPORT IMMIGRATION OFFICER NO. 175 I HAD NO VISA IMMIGRATION PLACE ME UNDER HOUSE ARREST, MR. SMITH IN POLICE UNIFORM SECRET SERVICE BROUGHT ME STEAK DINNER AND POLICE OFFICER INTERROGATED ME, HE ASKED ME WHAT THE EMBASSY OF US.S.R. SAY YOU HEARD IN VIENNA, AUSTRIA, I SAID I HAVE HEARD THAT ONE AMERICAN DEFECTOR (MR. LEE HARVEY OSWALD) TO RUSSIA AND HE RETURNED TO UNITED STATES OF AMERICA THIS MAN HE PREPARING TO KILL TO ASSASSINATE PRESIDENT JOHN F. KENNEDY, MR. SMITH POLICE OFFICER ASKED ME DO YOU KNOW HIS NAME, I SAID HIS NAME SOHT ONTO TIME WAS PUBLISHED ONE TIME IN NEWS PAPER IN WASHINGTON POST, MR. SMITH POLICE OFFICER SAID
|
115 |
+
|
116 |
+
I DO SEARCHING FOR THIS FILE IN BRITISH POLICE BRITISH INTELLIGENCE AND BRA IMMIGRATION, JASKING YOUR EMBASSY TO HELP TO FIND THE TRUTH AND I ASK YOUR GOVERNMENT TO FORWARD My RECORD CE JULY 181 1963 TO PRESIDENT JIMMY CARTER AND SENATOR DANIEL K. NOUYE CHAM 21. S. SENATE SELECT COMMITTEE ON IN 11 GENCE I ENCLOSE HIS Copy LETTER TO ALSO I ENCLOSE you copy LETTER I JANT ON FEBRUARY 17, 1978 TO RUSSIAN AMMASSA YOUR JUSTICE ALWAYS WILL BE APPLIA MY INCOMING MAIL iS CONTROL BY FIBI AGENTS SOME OF THE MAIL IDENT GET NOT FORWARD TO ME FIBI, Suppress My INFORMATION AND TORTURE MED DRUG RESPECTFULLY YOURS "21.S. PASSPORT NO, DO 2.7000 Sergyj
|
117 |
+
|
118 |
+
copy. 10
|
119 |
+
BRITISH AMBASSADOR
|
120 |
+
|
121 |
+
Sergyj Czornonoh
|
122 |
+
1106- 11th Street
|
123 |
+
Sacramento, California 95814
|
124 |
+
|
125 |
+
To Russian Ambassador
|
126 |
+
Embassy of U.S.S.R.
|
127 |
+
1125 - 16th Street
|
128 |
+
Washington, D. C.
|
129 |
+
|
130 |
+
Dear Sir:
|
131 |
+
|
132 |
+
This is retyped letter from hand written
|
133 |
+
|
134 |
+
Mr. Wasilev Consul gave me order to transmit this information to U. S. Government, on August 9, 1963 in Sofia, Bulgaria. Mr. Wasilev, Consul of Embassy of U.S.S.R., gave me this information about Mr. Lee Harvey Oswald on August 14, 1963. Mrs. Besera Asenova, girl friend of Russian Consul came to my room and repeated that Mr. Lee Harvey Oswald is assassin. He will kill President Kennedy.
|
135 |
+
|
136 |
+
On August 15, 1963 in Sofia, Bulgaria, at the airport in embassy car, I told to Mr. Blackshire, American Vice Consul, that Mr. Lee Harvey Oswald is assissin. He has a weapon or has ordered one. Mr. Blackshire said it seems like he will kill someone. I said that Mr. Lee H. Oswald is preparing to kill President of the United States, John F. Kennedy. Mr. Blackshire said where will it happen. I said they (right wing) will invite President, criticize him in the newspaper, then kill him. Mr. Blackshire told me he will give the telegram to Department of State and he gave me the address where to report.
|
137 |
+
|
138 |
+
At 9 a.m. on August 19, 1963 in Washington, D. C., I went to see (Mr. Kippingan). Director of Special Counselor Service Department of State at 1901 Pennsylvania Avenue-11th floor. I told the Director that I have information about President Kennedy. The Director said do not mention name of President Kennedy, only respond to the questions. The Director said tell us what will happen to Mr. Lee Harvey Oswald then. I said Mr. Lee H. Oswald will be killed after kill Kennedy. I said I will take the truth drug to tell the truth. Director tell us who else get killed in this country. I said as I heard, that Dr. Martin Luther King, Jr. will be killed. Who will kill Dr. King, Jr. Negro leader? I said a man who is in prison at this time. (Mr. James Earl Ray was in prison at that time.) Director asked where assassination will happen. I said in Dallas, Texas. Director said if someone gave this information here I would expel the man. Director did call on F.B.I. agents after F.B.I. use anesthesia gas to freeze me to drub me to keep amnesia.
|
139 |
+
|
140 |
+
I told Director Department of State that Mr. Lee Harvey Oswald have a weapon. Go see him. Director told me you too can have weapon--so what if Oswald got weapon.
|
141 |
+
|
142 |
+
Sincerely,
|
143 |
+
|
144 |
+
U.S House of Representatives Select Committee on Assassinations told me to write letter to Embassy in early 1977.
|
145 |
+
|
146 |
+
Sergyj Czornonoh
|
147 |
+
Regis Hotel
|
148 |
+
1106 11th Street
|
149 |
+
Sacramento, CA 95814
|
150 |
+
|
151 |
+
GITY MANAGEAS
|
152 |
+
ABOUT HUMAN RIGHTS
|
153 |
+
BRITISH EMBASSY
|
154 |
+
|
155 |
+
February 6, 1978
|
156 |
+
|
157 |
+
Mr. John M. Price
|
158 |
+
District Attorney
|
159 |
+
Sacramento, California
|
160 |
+
|
161 |
+
Dear Mr. Price:
|
162 |
+
|
163 |
+
This is a retyped letter. I visited Mr. Ferry, Deputy District Attorney, on August 16, 1977. I told in the office that F.B.I. agents and Secret Service use police department to harass me. Police department do... supply pencil of anesthesia gas to the manager of the building I live. The manager door use certain people, to freeze me by anesthesia gas - then push drugs, poison in my mouth to torture me - to take my sleep away - or bleed by rectal and they use many other chemicals to brainwash me to use me in political assassination which I refused. On January 20, 1976 in Sacramento on 8th and I Streets, man came to me from police or post office, U.S. Department of Justice and freeze me by gas and told me to take gun, pistol and we will tell you where to go to shoot - to kill - Mr. Sargent Shriver. I refused. Manager, Mr. Sisel, of Marshall Hotel, call on the man to tell me this on the street. In February 1976, police intelligence told me that assassination will not happen here. How about to move to Maryland state.
|
164 |
+
|
165 |
+
In this letter I ask you to get report from Dr. Frederick S. Baker, M.D. colon and rectal surgery on January 31, 1978. His phone – 452-4095. I do bleed today very much and I am weak, In this letter I ask you to give re- strain order or respond to me what could be done. The right wing in America made record to use me in assassination. I refuse. I am human and I like to be treated as human. Police put frame up on me - just to take advantages on me. Police use lie, police use mental case to take advantages on me and tell me that right wing do use such people like me. To prove I enclose copy mid- night June 14, 1976. Also I enclose copy letter I sent to Mr. Ted Sheedy, Supervisor, on January 26, 1978 and copy of his reply to me.
|
166 |
+
|
167 |
+
Please respond to me. Thank you.
|
168 |
+
|
169 |
+
Very truly yours
|
170 |
+
|
171 |
+
Sergyj. Czornonoh
|
172 |
+
|
173 |
+
Mr. Sargent Shriver was run for President in 1976.
|
174 |
+
|
175 |
+
Legal Center
|
176 |
+
For The Disabled
|
177 |
+
|
178 |
+
1722 J STREET, SUITE 19 SACRAMENTO, CA 95814
|
179 |
+
Telephone: 446-4851
|
180 |
+
|
181 |
+
March, 1978
|
182 |
+
|
183 |
+
Sergyj Czornonoh
|
184 |
+
1106 11th Street
|
185 |
+
Sacramento, CA 95814
|
186 |
+
|
187 |
+
Dear Mr. Czornonoh:
|
188 |
+
|
189 |
+
This is to acknowledge receipt of your letter regarding difficulties you have encountered with the police and the FBI.
|
190 |
+
|
191 |
+
In the event that there is legal action taken by the police or the FBI to institutionalize you this office will provide you with legal representation.
|
192 |
+
|
193 |
+
If you have any further legal problems please contact this office.
|
194 |
+
|
195 |
+
Sincerely,
|
196 |
+
|
197 |
+
LESLIE KAY
|
198 |
+
Paralegal
|
199 |
+
|
200 |
+
CATHERINE HUGHES
|
201 |
+
Staff Attorney
|
202 |
+
LK: ab
|
203 |
+
|
204 |
+
REGISTERED NO 2.51067
|
205 |
+
FROM 1106801124 95814
|
206 |
+
TO MR. JAMES CALLAGHAN
|
207 |
+
SF Wen la OFFICE OF MINISTRY
|
208 |
+
LONDON ENGLAND
|
space/space/jfk_text/104-10012-10076.md
ADDED
@@ -0,0 +1,180 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
13-00000
|
2 |
+
|
3 |
+
FIELD DISTRIBUTION
|
4 |
+
|
5 |
+
A Division
|
6 |
+
WH Division
|
7 |
+
NE Division
|
8 |
+
DISTRIBUTION TO BD -
|
9 |
+
r
|
10 |
+
Abidjan
|
11 |
+
Asuncion
|
12 |
+
Amman
|
13 |
+
Accra
|
14 |
+
Fagota
|
15 |
+
Ankara 2
|
16 |
+
Addis Ababa
|
17 |
+
Erasilia
|
18 |
+
Athens 5
|
19 |
+
Апиете
|
20 |
+
Fenos Aires
|
21 |
+
Beirut 3
|
22 |
+
Bangal
|
23 |
+
Cazucas 2
|
24 |
+
Bombay
|
25 |
+
toncu
|
26 |
+
Georgetown
|
27 |
+
Calcutta
|
28 |
+
Dakar
|
29 |
+
Guatemala
|
30 |
+
Colombo
|
31 |
+
Ier at Salava
|
32 |
+
Quayaquil
|
33 |
+
Dacca
|
34 |
+
Kaipals
|
35 |
+
Kingstoc
|
36 |
+
Istanbul
|
37 |
+
Freetown
|
38 |
+
La Paz
|
39 |
+
Jerusalem
|
40 |
+
Khartoum
|
41 |
+
Lima
|
42 |
+
Jidda
|
43 |
+
Kiastasa
|
44 |
+
Keduaa
|
45 |
+
Mexico City 2
|
46 |
+
Kabul
|
47 |
+
Mutevideo
|
48 |
+
Karachi
|
49 |
+
Lagos
|
50 |
+
Рапяка
|
51 |
+
Katmandu
|
52 |
+
Lusaka
|
53 |
+
Forte Alegre
|
54 |
+
Kirwait
|
55 |
+
Mogadiscio
|
56 |
+
Av Spain
|
57 |
+
Lahore
|
58 |
+
Moarovia
|
59 |
+
Madras
|
60 |
+
CI/ICG
|
61 |
+
Nairobi
|
62 |
+
Recife
|
63 |
+
New Delhi
|
64 |
+
Rabat
|
65 |
+
Rio de Janeiro 2
|
66 |
+
Nicosia
|
67 |
+
Tripoli
|
68 |
+
San Jose
|
69 |
+
Rawalpindi
|
70 |
+
Yamade
|
71 |
+
Sau Salvador
|
72 |
+
Teheran
|
73 |
+
Santiago 2
|
74 |
+
|
75 |
+
Sento Domiαει
|
76 |
+
EUR Division
|
77 |
+
Ses Paulc
|
78 |
+
Berlin 3
|
79 |
+
Tegucigalpa
|
80 |
+
Bern
|
81 |
+
Madrid 2
|
82 |
+
Bona 5
|
83 |
+
Preseis
|
84 |
+
Copenhagen
|
85 |
+
Frankfurt
|
86 |
+
FE Divisi
|
87 |
+
|
88 |
+
Do agirak 3
|
89 |
+
karta
|
90 |
+
3
|
91 |
+
AF/2
|
92 |
+
Heleinkta
|
93 |
+
2
|
94 |
+
4
|
95 |
+
karta 2
|
96 |
+
Matid
|
97 |
+
2
|
98 |
+
TALA Lumpur
|
99 |
+
Munich betria) 3
|
100 |
+
Mars la
|
101 |
+
2
|
102 |
+
Me ibaurtu
|
103 |
+
Peru
|
104 |
+
kizawa
|
105 |
+
Pame
|
106 |
+
2
|
107 |
+
כם
|
108 |
+
stockholm
|
109 |
+
Sat 2
|
110 |
+
Sen
|
111 |
+
ogue 2
|
112 |
+
Singapora
|
113 |
+
Vine
|
114 |
+
Suracaye
|
115 |
+
Zurich
|
116 |
+
Taipei 2
|
117 |
+
Tokyo
|
118 |
+
2
|
119 |
+
Vientians
|
120 |
+
Wellington
|
121 |
+
BD 6614?
|
122 |
+
SB/Division
|
123 |
+
C/SB
|
124 |
+
SB/CA
|
125 |
+
SB/BR
|
126 |
+
SB/C
|
127 |
+
SB/YA
|
128 |
+
SB/P
|
129 |
+
SB/CI
|
130 |
+
|
131 |
+
WH/C/CA/PROP 2
|
132 |
+
WH/CA
|
133 |
+
|
134 |
+
WH/1,2,3,4,5
|
135 |
+
WH/7/JTS, CU
|
136 |
+
|
137 |
+
1-D/RR
|
138 |
+
2-DOCA
|
139 |
+
CI/FA
|
140 |
+
|
141 |
+
FBID/Weisa
|
142 |
+
VTR/SIC
|
143 |
+
OTR/Isolation Library
|
144 |
+
FL/8PG
|
145 |
+
MPS/PSC
|
146 |
+
|
147 |
+
CS Special Group Offic
|
148 |
+
INTERNAL DISTRIBUTION
|
149 |
+
AP/COP/CA
|
150 |
+
AP/1
|
151 |
+
C/CA - DC/CA
|
152 |
+
C/CA/PEG
|
153 |
+
AP/L
|
154 |
+
CA/EL 3
|
155 |
+
AF/5
|
156 |
+
08/53 3
|
157 |
+
CA/DA
|
158 |
+
AF/6-Ethiopia
|
159 |
+
40/80
|
160 |
+
C/EUR
|
161 |
+
E/ONE/CA
|
162 |
+
CA/FROF
|
163 |
+
E/G
|
164 |
+
8/A8
|
165 |
+
B/SC
|
166 |
+
E/BNE
|
167 |
+
E/BC
|
168 |
+
E/F
|
169 |
+
ق
|
170 |
+
1/2
|
171 |
+
E/LB
|
172 |
+
|
173 |
+
FE/CA 16
|
174 |
+
|
175 |
+
|
176 |
+
NE/SA/A
|
177 |
+
NE/GTA!!
|
178 |
+
NE/GES T
|
179 |
+
NF 'COPS
|
180 |
+
NEGA/I
|
space/space/jfk_text/104-10012-10078.md
ADDED
@@ -0,0 +1,199 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
2 |
+
104-10012-10078
|
3 |
+
QUNCLASSIFIED
|
4 |
+
ONLY
|
5 |
+
ROUTING AND RECORD SHEET
|
6 |
+
ENTIAL
|
7 |
+
SECRET
|
8 |
+
SUBJECT: (Optional)
|
9 |
+
FROM:
|
10 |
+
Chief Far East Division
|
11 |
+
TO: (Officerdesignation, room number, and.
|
12 |
+
building)
|
13 |
+
EXTENSION NO.
|
14 |
+
FORWARDED
|
15 |
+
OFFICER'S
|
16 |
+
INITIALS:
|
17 |
+
DATE
|
18 |
+
20 Nov.68
|
19 |
+
COMMENTS (Number each comment to show from whom
|
20 |
+
to whom. Draw a line across column after each comment.)
|
21 |
+
DATE
|
22 |
+
RECEIVED
|
23 |
+
Chief CI Staff 27 NOV 1968
|
24 |
+
CIRA
|
25 |
+
Mr. Dooley
|
26 |
+
27 NOV 1968
|
27 |
+
boo
|
28 |
+
for file
|
29 |
+
Document Number
|
30 |
+
येद
|
31 |
+
1128-988
|
32 |
+
for FOIA Review on SEP 1976
|
33 |
+
201-289248
|
34 |
+
FORM
|
35 |
+
3-62
|
36 |
+
610
|
37 |
+
USE PREVIOUS
|
38 |
+
EDITIONS
|
39 |
+
SECRET
|
40 |
+
CONFIDENTIAL
|
41 |
+
INTERNAL
|
42 |
+
USE ONLY
|
43 |
+
UNCLASSIFIED
|
44 |
+
|
45 |
+
UNCLASSIFIEDERAL CO DENTIAL
|
46 |
+
SUBJECT: (Optional)
|
47 |
+
FROM: CIRAIRS
|
48 |
+
2323
|
49 |
+
TO: (Officer designation, room number, and
|
50 |
+
building)
|
51 |
+
1.
|
52 |
+
IP/AN
|
53 |
+
2.
|
54 |
+
3.
|
55 |
+
4.
|
56 |
+
5.
|
57 |
+
JP/EDI
|
58 |
+
6.
|
59 |
+
7.
|
60 |
+
8.
|
61 |
+
9.
|
62 |
+
10.
|
63 |
+
Document Number
|
64 |
+
for FOIA Review on
|
65 |
+
28/Flas
|
66 |
+
HP/RMS
|
67 |
+
12.
|
68 |
+
13.
|
69 |
+
ONLY
|
70 |
+
ROUTING AND RECORD SHEET
|
71 |
+
EXTENSION NO.
|
72 |
+
DATE
|
73 |
+
OFFICER'S
|
74 |
+
INITIALS
|
75 |
+
RECEIVED
|
76 |
+
FORWARDED
|
77 |
+
DATE
|
78 |
+
26 που. 68
|
79 |
+
XAAZ-35926
|
80 |
+
26 NOU 68-
|
81 |
+
SECRET
|
82 |
+
COMMENTS (Number each comment to show from whom
|
83 |
+
to whom. Draw a line across column after each comment.)
|
84 |
+
@ Please asijo
|
85 |
+
XAAZ # and
|
86 |
+
os pay & Of
|
87 |
+
1128-988
|
88 |
+
SEP 1976
|
89 |
+
MAY
|
90 |
+
1978
|
91 |
+
clamifs to
|
92 |
+
201-289748
|
93 |
+
26.
|
94 |
+
Date: 2 NOV 68)
|
95 |
+
Salgent
|
96 |
+
Covesperelerce Cotisan
|
97 |
+
0%
|
98 |
+
CIA and ASIO.
|
99 |
+
Re: release
|
100 |
+
of exftinatun ly
|
101 |
+
Woven Commessen
|
102 |
+
14.
|
103 |
+
15.
|
104 |
+
FORM
|
105 |
+
3-62
|
106 |
+
D
|
107 |
+
610
|
108 |
+
USE PREVIOUS
|
109 |
+
EDITIONS
|
110 |
+
SECRET
|
111 |
+
CONFIDENTIAL
|
112 |
+
INTERNAL
|
113 |
+
USE ONLY
|
114 |
+
UNCLASSIFIED
|
115 |
+
|
116 |
+
SECRET
|
117 |
+
20 NOV 1968
|
118 |
+
KEMORANDUM FOR: Director of Central Intelligence
|
119 |
+
VIA
|
120 |
+
SUBJECT
|
121 |
+
Deputy Director for Plane
|
122 |
+
304635
|
123 |
+
Executive Registry
|
124 |
+
68-516011
|
125 |
+
XAAZ-
|
126 |
+
35926
|
127 |
+
Letter for Direstor from Bir Charles Spry (ASIO)
|
128 |
+
1. Attached is a scaled letter fron Sir Charles Spry,
|
129 |
+
Director General of the Australian Security Intelligenco
|
130 |
+
Organization (who provided a copy of the letter to the Chief
|
131 |
+
of Station, Heibourne), and a suggested reply for your
|
132 |
+
signature.
|
133 |
+
2. Bir Charles' letter to you recommends again好家
|
134 |
+
doclassification of the Farrea Comaission document CD-971,
|
135 |
+
which refers to our investigation of anonymous telephone
|
136 |
+
calls to the Canberra Babassy before and after the
|
137 |
+
amcassination of President Kennedy.
|
138 |
+
3. I consider the points made by Bir Charles in his
|
139 |
+
letter to be valid and accordingly recommend against the
|
140 |
+
decisosification of CD-971 in the foreseeable fature
|
141 |
+
Staff concurs with this recommendation.
|
142 |
+
Document Number 1128-988
|
143 |
+
for FOLA Review on SEP 1976
|
144 |
+
4. Naison
|
145 |
+
William E. Nelson
|
146 |
+
of
|
147 |
+
K
|
148 |
+
P/ERI
|
149 |
+
Chief, Far East Division
|
150 |
+
Attachments, 5
|
151 |
+
130/900
|
152 |
+
A.
|
153 |
+
Letter from Sir Charles Spry
|
154 |
+
PROCARE FOR THAUNG
|
155 |
+
575 40. (2.3.4)
|
156 |
+
AVGAT REST, CODE
|
157 |
+
CABLE ICON (11)
|
158 |
+
(4)
|
159 |
+
B.
|
160 |
+
Letter Replying to Sir Charles Spry
|
161 |
+
P/FRES
|
162 |
+
FOR FILING
|
163 |
+
C. FAMA 5008, subject: Declassification of Warreh
|
164 |
+
Commission Document CD-971-
|
165 |
+
D.
|
166 |
+
Copy of CD-971
|
167 |
+
E. FAMW 3636, subject: Request for Release of Warren
|
168 |
+
Commission Document
|
169 |
+
20: DOCI
|
170 |
+
DDP/FE/PMI/AN: Amos Taylor, Jrl:arc (19) November 1968)
|
171 |
+
Distribution
|
172 |
+
Orig & 1
|
173 |
+
-
|
174 |
+
Addressee
|
175 |
+
1 DDCI
|
176 |
+
-
|
177 |
+
2
|
178 |
+
-
|
179 |
+
1
|
180 |
+
DDP
|
181 |
+
ADDP
|
182 |
+
RECORD COPY
|
183 |
+
-
|
184 |
+
1
|
185 |
+
1
|
186 |
+
1
|
187 |
+
-
|
188 |
+
1
|
189 |
+
-
|
190 |
+
GEODET
|
191 |
+
C/CI Staff
|
192 |
+
CFE
|
193 |
+
CFE/PMI
|
194 |
+
wanatic
|
195 |
+
...and
|
196 |
+
neslassification
|
197 |
+
CFE/PMI/AN
|
198 |
+
26 που 68
|
199 |
+
201-289248
|
space/space/jfk_text/104-10012-10079.md
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
2 |
+
|
3 |
+
SECRET
|
4 |
+
|
5 |
+
68-2/60/a
|
6 |
+
RD/08-4635/
|
7 |
+
|
8 |
+
26 NOV 1968
|
9 |
+
|
10 |
+
FILE
|
11 |
+
|
12 |
+
Sir Charles C. F. Spry
|
13 |
+
Director General
|
14 |
+
Australian Security Intelligence Organization
|
15 |
+
G. P. O. Box 51058B
|
16 |
+
Melbourne
|
17 |
+
|
18 |
+
Dear Charles,
|
19 |
+
|
20 |
+
Thank you for your letter of 15 October
|
21 |
+
recommending against the declassification of
|
22 |
+
Warren Commission document CD-071. I might
|
23 |
+
mention that our inquiry to you in August (1968)
|
24 |
+
was in anticipation of further pressure for the
|
25 |
+
release of Warren Commission papers, a pressure
|
26 |
+
which has not materialized. Accordingly, there is
|
27 |
+
not, at the present time, any intention to release
|
28 |
+
CD-971.
|
29 |
+
|
30 |
+
Should the question be raised at some future
|
31 |
+
time, the points made by you in your letter provide
|
32 |
+
every reason to keep the document out of the
|
33 |
+
public domain.
|
34 |
+
|
35 |
+
With kindest regards,
|
36 |
+
|
37 |
+
Sincerely,
|
38 |
+
|
39 |
+
/s/ Richard Helms
|
40 |
+
|
41 |
+
Richard Helms
|
42 |
+
Director
|
43 |
+
|
44 |
+
cc: DDCI
|
45 |
+
|
46 |
+
Signature Recommended:
|
47 |
+
|
48 |
+
Deputy Director for Plans
|
49 |
+
|
50 |
+
Distribution:
|
51 |
+
Orig - Addee
|
52 |
+
1 - ADDP 2 - DCI
|
53 |
+
1 - CFE 1 - DDCI
|
54 |
+
1 - PMI 2 - DDP
|
55 |
+
1 - PMI/AN
|
56 |
+
|
57 |
+
Date
|
58 |
+
|
59 |
+
DDP/FE/PMI/AN/Amos Taylor, Jr. (X 5502):aib (25 November 1968)
|
60 |
+
|
61 |
+
201-289248
|
space/space/jfk_text/104-10014-10051.md
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
2 |
+
|
3 |
+
SECRET
|
4 |
+
IMS(FABOSS)
|
5 |
+
|
6 |
+
SECRET
|
7 |
+
FRP: ,2,
|
8 |
+
|
9 |
+
STAFF
|
10 |
+
|
11 |
+
ACTION: C/EUR/NOR (729) INFO: EUDORECORD, EUR/LGL, MDSX, ODPD RYBAT.(FILE,
|
12 |
+
|
13 |
+
OC/EURN, CIC/EUR (3/W)
|
14 |
+
|
15 |
+
96 3123036 ASO PAGE 001 IN 3123036
|
16 |
+
TOR: 081248Z FEB 96 (COPB 94608
|
17 |
+
SECRET 081247Z FEB 96 STAFF 19-6
|
18 |
+
CITE:(COPENHAGEN)94608
|
19 |
+
|
20 |
+
TO: IMMEDIATE DIRECTOR.
|
21 |
+
|
22 |
+
FOR: LIMIT EUR/(NOR) INFO DC/EURN) CIC (EU, EUR/LGL)
|
23 |
+
|
24 |
+
SLUGS: WNINTEL RYBAT
|
25 |
+
|
26 |
+
SUBJECT: RELEASE OF CLASSIFIED DOCUMENT
|
27 |
+
|
28 |
+
REF: DIRECTOR 633349 96 3117723
|
29 |
+
|
30 |
+
TEXT:
|
31 |
+
|
32 |
+
1. ACTION REQUIRED: SEE PARA 2.
|
33 |
+
|
34 |
+
2. THE FAX (STATION) RECEIVED APPEARS TO BE INCOMPLETE. IT
|
35 |
+
CONTAINED A COVER SHEET, A ONE-PAGE COPENHAGEN) CABLE STATING "NO
|
36 |
+
TRACES" AND THE FIRST PAGE OF A DIRECTOR CABLE REQUESTING TRACES ON
|
37 |
+
LEE HARVEY ((OSWALD)). UNLESS THE MISSING PORTIONS OF THE DIRECTOR
|
38 |
+
CABLE HAVE SOME BEARING ON (DENMARK, STATION) CANNOT MAKE A CASE
|
39 |
+
AGAINST RELEASE OF THIS MATERIAL WE WOULD INSIST, HOWEVER, THAT
|
40 |
+
CRYPTS BE DELETED - AS REF INDICATED WOULD BE THE CASE.
|
41 |
+
|
42 |
+
3. PLEASE KEEP US APPRISED OF DATE THESE DOCS WILL BE RELEASED
|
43 |
+
SO THAT (STATION) MAY INFORM AMBASSADOR AND OUR LIAISON SERVICE
|
44 |
+
CHIEFS.
|
45 |
+
|
46 |
+
4. CL BY: 0716497 CL REASON: 1.5(C) DECL ON: X1
|
47 |
+
|
48 |
+
4....FILE: 021-120-004/1. DECL DRV. HUM 4-82.
|
49 |
+
|
50 |
+
END OF MESSAGE SECRET
|
51 |
+
|
52 |
+
SECRET
|
53 |
+
|
54 |
+
DO NOT DESTROY
|
55 |
+
CROSS FILE COPY FOR:
|
56 |
+
201-0289248
|
space/space/jfk_text/104-10014-10064.md
ADDED
@@ -0,0 +1,149 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# SECRET
|
2 |
+
|
3 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
4 |
+
|
5 |
+
OPERATOR: SEEGER, EDWA BADGE: KT283 DATE : 14 SEP 93
|
6 |
+
OFFICE : IMS/FABOSS PHONE: 047552 TIME : 15:24
|
7 |
+
ROOM : GC520HB PRINTER: T019 PAGE : 001
|
8 |
+
REQUESTER: HM877
|
9 |
+
DSN: SPET 21162 DOC DATE: 20 NOV 91 MHF#: 91-6320813
|
10 |
+
|
11 |
+
//
|
12 |
+
|
13 |
+
SECRET FRP:
|
14 |
+
STAFF
|
15 |
+
|
16 |
+
ACTION: SE/USSR/10-3 (752) INFO: C/ORMS, DOMDS, LIMITO, ODPD, SEDORECORD.
|
17 |
+
FILE, DDO-2, SE/RR-3 (9/W)
|
18 |
+
|
19 |
+
91 6320813 ASR PAGE 001 IN 6320813
|
20 |
+
TOR: 201455Z NOV 91 SPET 21162
|
21 |
+
|
22 |
+
SECRET 201454Z NOV 91 STAFF
|
23 |
+
|
24 |
+
CITE ST PETERSBURG 21162
|
25 |
+
|
26 |
+
TO: MOSCOW INFO DIRECTOR.
|
27 |
+
|
28 |
+
FOR: LIMIT SE/USSR/10 INFO SE/RR
|
29 |
+
|
30 |
+
SLUGS: WNINTEL GTDANCER
|
31 |
+
|
32 |
+
SUBJECT: KGB OFFICIAL NIKONOV
|
33 |
+
|
34 |
+
REF: NONE
|
35 |
+
|
36 |
+
TEXT:
|
37 |
+
|
38 |
+
1. ACTION REQUIRED: NONE.
|
39 |
+
|
40 |
+
2. DURING THE WEEK OF 3-9 NOVEMBER 1991, U.S. PROFESSOR
|
41 |
+
Ε.Β. ((SMITH)), HAD SEVERAL DISCUSSIONS IN MOSCOW WITH "SLAVA"
|
42 |
+
((NIKONOV)), WHO IS A LONGTIME FRI?ND AND NOW DEPUTY TO KGB
|
43 |
+
DIRECTOR ((BAKATIN)). THE PROFESSOR HAS KNOWN NIKONOV WELL
|
44 |
+
SINCE 1976. HE CURRENTLY IS INSTRUCTING ON A FULBRIGHT GRANT
|
45 |
+
AT ST PETERSBURG STATE UNIVERSITY UNTIL 22 DECEMBER 1991. SEE
|
46 |
+
PARA 7 FOR BIO ON THE PROFESSOR. DCOB STEVEN R. HEIBERG HAS
|
47 |
+
BEFRIENDED THE PROFESSOR, WHO WAS DINNER GUEST AT HEIBERG'S
|
48 |
+
HOME ON 10 NOVEMBER AND PROVIDED THE FOLLOWING INFO ON NIKONOV
|
49 |
+
AND HIS NEW KGB JOB.
|
50 |
+
|
51 |
+
3. NIKONOV IS THE GRANDSON OF FORMER SOVIET FOREIGN
|
52 |
+
MINISTER VYACHESLAV MOLOTOV. THE U.S. PROFESSOR TAUGHT NIKONOV
|
53 |
+
IN 1976 AT MOSCOW STATE UNIVERSITY WHILE A FULBRIGHT
|
54 |
+
PROFESSOR. NIKONOV WAS REGARDED AS EXTREMELY INTELLIGENT AND
|
55 |
+
CAPABLE BUT GAVE THE IMPRESSION THAT HE WAS AN IDEOLOGICAL
|
56 |
+
HARDLINER. THE PROFESSOR BELIEVED THAT HE WAS LIKELY TO BE A
|
57 |
+
RISING STAR IN THE SOVIET SYSTEM AND RECOMMENDED HIM FOR AN
|
58 |
+
IREX-SPONSORED VISIT TO THE U.S. AS EXPECTED, NIKONOV'S VIEWS
|
59 |
+
AND RHETORIC MODERATED VERY VISIBLY AFTER HIS FIRST DIRECT
|
60 |
+
EXPOSURE TO THE U.S. HE HAS HAD AT LEAST ONE ADDITIONAL
|
61 |
+
IREX-SPONSORED TRIP TO THE U.S. AND HAS SPENT PERIODS OF TIME
|
62 |
+
AS A PERSONAL GUEST AT THE HOME OF THE U.S. PROFESSOR IN
|
63 |
+
MARYLAND.
|
64 |
+
|
65 |
+
4. ΝΙΚΟΝNOV CAME TO WORK IN HIS POSITION AT THE KGB AS A
|
66 |
+
RESULT OF BEING A CLOSE FRIEND OF BAKATIN. DURING THE AUGUST
|
67 |
+
1991 COUP ATTEMPT NIKONOV SAID THAT HE REFUSED TO FOLLOW HIS
|
68 |
+
BOSS'S ORDER TO ACT IN ACCORDANCE WITH THE DECLARED STATE OF
|
69 |
+
EMERGENCY. HE WAS DISMISSED BY HIS BOSS (NFI) FROM THIS
|
70 |
+
POSITION AND CALLED BAKATIN TO SEEK ADVICE. BAKATIN SAID HE
|
71 |
+
WAS ALSO OPPOSING THE COUP AND WOULD LOOK OUT FOR NIKONOV ONCE
|
72 |
+
ORDER WAS RESTORED. SOON AFTER THE COUP BAKATIN CALLED HIM TO
|
73 |
+
ASK THAT HE ASSIST WITH RESTRUCTURING THE KGB. AFTER IT WAS
|
74 |
+
AGREED THAT NIKONOV COULD DECLINE TO ACCEPT TWO-STAR MILITARY
|
75 |
+
KGB RANK AND WORK IN THE JOB FOR AN EQUIVALENT CIVILIAN
|
76 |
+
COMPENSATION PACKAGE, HE CAME TO THE KGB AS BAKATIN'S DEPUTY.
|
77 |
+
NIKONOV SAID HIS FRIENDS WERE DELIGHTED THAT HE HAD DECLINED
|
78 |
+
THE KGB COMMISSION.
|
79 |
+
|
80 |
+
5. ΝΙΚΟΝOV'S FIRST ASSIGNMENT FROM BAKATIN WAS MAKING
|
81 |
+
ARRANGEMENTS FOR THE KGB-CIA LIAISON RELATIONSHIP WHICH HAS NOW
|
82 |
+
COME INTO BEING. IN PREPARATION FOR ONE POSSIBLE QUESTION
|
83 |
+
|
84 |
+
<<< TEMPORARY WORKING COPY DESTROY AFTER USE >>>
|
85 |
+
SECRET
|
86 |
+
|
87 |
+
# SECRET
|
88 |
+
|
89 |
+
OPERATOR: SEEGER, EDWA BADGE: KT283 DATE : 14 SEP 93
|
90 |
+
OFFICE : IMS/FABOSS PHONE: 047552 TIME : 15:24
|
91 |
+
ROOM : GC520HB PRINTER: T019 PAGE : 002
|
92 |
+
REQUESTER: HM877
|
93 |
+
DSN: SPET 21162 DOC DATE: 20 NOV 91 MHF#: 31-63208:3
|
94 |
+
|
95 |
+
WHICH MIGHT BE RAISED, NIKONOV PERSONALLY REVIEWED KGB FILES TO
|
96 |
+
DETERMINE IF LEE HARVEY ((OSWALD)) HAD BEEN A KGB AGENT. HE
|
97 |
+
REVIEWED FIVE THICK VOLUMES OF FILES ON OSWALD. NIKONOV IS NOW
|
98 |
+
CONFIDENT THAT OSWALD WAS AT NO TIME AN AGENT CONTROLLED BY THE
|
99 |
+
KGB. FROM THE DESCRIPTION OF OSWALD IN THE FILES HE DOUBTED
|
100 |
+
THAT ANYONE COULD CONTROL OSWALD, BUT NOTED THAT THE KBG
|
101 |
+
WATCHED HIM CLOSELY AND CONSTANTLY WHILE HE WAS IN THE USSR.
|
102 |
+
HE COMMENTED THAT OSWALD HAD A STORMY RELATIONSHIP WITH HIS
|
103 |
+
SOVIET WIFE, WHO RODE HIM INCESSANTLY. THE FILE ALSO REFLECTED
|
104 |
+
THAT OSWALD WAS A POOR SHOT WHEN HE TRIED TARGET FIRING IN THE
|
105 |
+
USSR.
|
106 |
+
|
107 |
+
6. IN PREPARATION FOR ESTABLISHMENT OF A LIAISON
|
108 |
+
RELATIONSHIP WITH THE SWEDISH INTELLIGENCE SERVICE, NIKONOV
|
109 |
+
PERSONALLY PERFORMED AN INQUIRY FOR BAKATIN INTO THE FATE OF
|
110 |
+
SWEDISH DIPLOMAT RAOUL ((WALLENBERG)). THERE IS STILL PRESSURE
|
111 |
+
FROM THE SWEDISH SIDE TO HAVE A DEFINITIVE ANSWER ON THIS
|
112 |
+
MATTER BECAUSE OF THE CONTINUING IMPORTANCE OF THE WALLENBERG
|
113 |
+
FAMILY. NIKONOV WAS AMAZED TO FIND OUT THAT THE KG3 HAD NOT
|
114 |
+
BEEN ABLE TO PREVIOUSLY ESTABLISH WHETHER WALLENBERG HAD DIED
|
115 |
+
AND UNDER WHAT CIRCUMSTANCES. HE WAS ABLE TO FIND PARTIAL
|
116 |
+
EVIDENCE FROM FOURTEEN DIFFERENT SOURCES (NF:). NIKONOV NOW
|
117 |
+
BELIEVES, BUT FOUND NO CONCLUSIVE PROOF, THAT WALLENBERG WAS
|
118 |
+
EXECUTED LATE IN 1947. THERE WERE INDICATIONS THAT WALLENBERG
|
119 |
+
WAS SUSPECTED OF HAVING CONTACTS WITH OTHERS WHO WERE ACCUSED
|
120 |
+
OF PROVIDING FALSE DIPLOMATIC IDENTITY DOCUMENTS TO OTHERS
|
121 |
+
BEYOND JEWS SAVED FROM THE HOLOCAUST. AMONG THESE WERE NAZI
|
122 |
+
WAR CRIMINALS WHO WERE ALLOWED TO ESCAPE. THERE WAS NO PROOF
|
123 |
+
OF WALLENBERG'S GUILT IN ANY OF THESE CHARGES.
|
124 |
+
|
125 |
+
7. FULBRIGHT PROFESSOR WHO IS NIKONOV'S FORMER PROFESSOR
|
126 |
+
AND FRIEND IS:
|
127 |
+
NAME: Ε.Β. ((SMITH))
|
128 |
+
DOB: C.1920
|
129 |
+
CIT: USA
|
130 |
+
OCC: PROFESSOR OF HISTORY AT UNIVERSITY OF MARYLAND,
|
131 |
+
RETIRED
|
132 |
+
LOC: RESIDES NEAR ANNAPOLIS, MD
|
133 |
+
OTHER: FULBRIGHT PROFESSOR FOR WINTER 1991 TERM IN ST
|
134 |
+
PETERSBURG STATE UNIVERSITY, USSR, TWO PREVIOUS FULBRIGHT
|
135 |
+
ASSIGNMENTS IN MOSCOW AND SEVERAL IN PRC AND GERMANY; HOSTS
|
136 |
+
FORMER STUDENTS FROM USSR AND PRC ON U.S. VISITS
|
137 |
+
THERE ARE NO BASE TRACES ON SMITH. HE SERVED IN THE
|
138 |
+
MILITARY AND IS VERY WELL DISPOSED TOWARDS THE U.S.
|
139 |
+
GOVERNMENT. HE VOLUNTEERED INFO ON NIKONOV AND OTHER USSR, PRC
|
140 |
+
AND GERMAN CONTACTS TO HEIBERG AND CAN PROVIDE CONSIDERABLE 810
|
141 |
+
AND ASSESSMENT INFO ON THEM.
|
142 |
+
|
143 |
+
8. FILE: 074-005-011, 201-0005925
|
144 |
+
DEFER. DECL OADR DRV HUM 4-82.
|
145 |
+
END OF MESSAGE SECRET
|
146 |
+
|
147 |
+
END OF DOCUMENT
|
148 |
+
|
149 |
+
<<< TEMPORARY WORKING COPY DESTROY AFTER USE >>>
|
space/space/jfk_text/104-10016-10021.md
ADDED
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
104-10016-10021
|
2 |
+
|
3 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
4 |
+
|
5 |
+
CLASSIFIED MESSAGE
|
6 |
+
|
7 |
+
SECRET
|
8 |
+
|
9 |
+
ROUTING
|
10 |
+
1
|
11 |
+
2
|
12 |
+
4
|
13 |
+
5
|
14 |
+
6
|
15 |
+
|
16 |
+
DIRECTOR
|
17 |
+
RECORDS OFFICER STAMP
|
18 |
+
|
19 |
+
MELBOURNE
|
20 |
+
The following action is authorized: DE SENSITIZE
|
21 |
+
|
22 |
+
CAMH
|
23 |
+
Signed: R. Haufton
|
24 |
+
DCI, D/DCI, DDP, C/CI, C/CI/SI, VR
|
25 |
+
R.O. #1 - Unit: CI/RKA
|
26 |
+
CS COPY
|
27 |
+
|
28 |
+
SECRET 0204222
|
29 |
+
Note: If destruction, cite reasons and coordinate if appropriate.
|
30 |
+
|
31 |
+
DIR INFO CNBR CITE MELB 2517 (ROLLOFIER ACTING)
|
32 |
+
2 DEC 63 IN 71187
|
33 |
+
AVDAT GPFLOOR
|
34 |
+
|
35 |
+
REF DIR 85690
|
36 |
+
|
37 |
+
1. SQUARE PRELIMINARY CHECKS ON RECORDED CONVERSATIONS REVEAL FOLL:
|
38 |
+
|
39 |
+
A NO TRACE 1952 DARK BLUE BUICK BELONGING SOVIET OR BLOC INSTALLATION CNBR OR SYDNEY.
|
40 |
+
|
41 |
+
B NO LICENSE PLATE IDENTICAL TO ONE MENTIONED BUT FOLL N.S.W. VARIANTS CHECKED: CCC 012, 1960 VAUXHALL, TWO-TONED BLUE, HERMAN SATRAPINSKY, 149 WENTWORTH AVE, WENTWORTHVILLE; CCC 122, 1949 STANDARD, FAUN, WILLIAM JOHN SIMS, BINALONG; CCO 122, 1960 HOLDEN, BIEGE, KEITH BETHKE, 28 HEWITT AVE, WAHROONGA. NO SQUARE DEROG ON ABOVE.
|
42 |
+
|
43 |
+
Document Number 270-676 for FOIA Review on. MAY 1976
|
44 |
+
C NO IDENTIFIABLE INFO ON AUSSIE MENTIONED CNBR 9591.(IN 68838)
|
45 |
+
|
46 |
+
D FRASERS MENTIONED SAME REF ARE ALP MPS.
|
47 |
+
|
48 |
+
E INDON FIRST SECY POSSIBLY IDW R. WILLY SASTRANEGARA HAS MOUSTACHE; RUSSIAN CAPABILITY NOT KNOWN TO SQUARE; NOT NOTICEABLY CLOSE TO SOVS CNBR.
|
49 |
+
|
50 |
+
D: 200-5-41
|
51 |
+
CLASSIFICATION REVIEW
|
52 |
+
CS COPY CONDUCTED ON 24 MAY 1970 1289248
|
53 |
+
E IMPDET CL BY 012208
|
54 |
+
|
55 |
+
GROUP
|
56 |
+
SECRET
|
57 |
+
Excluded from ovlomatic downgrading and declassification
|
58 |
+
|
59 |
+
REPRODUCTION BY OTHER THAN THE ISSUING OFFICE IS PROHIBITED
|
60 |
+
Copy No.
|
61 |
+
|
62 |
+
13-00000
|
63 |
+
|
64 |
+
CLASSIFIED MESSAGE 71187 PAGE 2
|
65 |
+
|
66 |
+
2. SQUARE HAS ARRANGED WITH PMG LIAISON OFFICER TED YOUNG TRACE ANY FURTHER CALLS MADE. EMBASSY IN CLOSE CONTACT SQUARE REP CNBR.
|
67 |
+
|
68 |
+
3. WILL ADVISE FURTHER DEVELOPMENTS.
|
69 |
+
|
70 |
+
SECRET
|
71 |
+
|
72 |
+
C/S COMMENY: Hqs requested information on the Polish driver connected with the Russian diplomatic establishment in Australia.
|
73 |
+
|
74 |
+
SECRET
|
space/space/jfk_text/104-10023-10087.md
ADDED
@@ -0,0 +1,907 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
1400000
|
2 |
+
104-10023-10087
|
3 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
4 |
+
|
5 |
+
( SECRET DO NOT REPRODUCE
|
6 |
+
RETURN TO CIA
|
7 |
+
(
|
8 |
+
DOHB 70-1-1
|
9 |
+
CHAPTER III
|
10 |
+
15 November 1974
|
11 |
+
ANNEX B
|
12 |
+
THE 201 SYSTEM
|
13 |
+
RETURN TO CIA
|
14 |
+
Background Use Only
|
15 |
+
Do Not Reproduce
|
16 |
+
:
|
17 |
+
|
18 |
+
Rescission: Annex B of Chapter III, CSHB 70-1-1, 27 October 1966
|
19 |
+
|
20 |
+
1. INTRODUCTION
|
21 |
+
|
22 |
+
The 201 system provides a method for identifying a person of specific in-
|
23 |
+
terest to the Operations Directorate and for controlling and filing all pertinent
|
24 |
+
information about that person. The system also provides a means for identifying
|
25 |
+
subjects of 201 files from various categories of information about them and for
|
26 |
+
producing lisits of 201 personalities according to those categories. Only a rela-
|
27 |
+
tively small number of personalities indexed are of sufficient interest to justify
|
28 |
+
opening a 201 dossier. These are normally subjects of extensive reporting and
|
29 |
+
CI investigation, prospective agents and sources, members of groups and organi-
|
30 |
+
zations of continuing target interest, or subjects on whom a volume of corre-
|
31 |
+
spondence has accumulated.
|
32 |
+
|
33 |
+
2. THE 201 SYSTEM
|
34 |
+
|
35 |
+
The principal features of the 201 system are:
|
36 |
+
|
37 |
+
a. The 201 Number: a unique number, i.e., 201-1234567, assigned to each
|
38 |
+
individual in the system to serve as identifying file number for reporting on that
|
39 |
+
individual.
|
40 |
+
|
41 |
+
b. The 201 Dossier: the official file containing the 201 opening form (Form
|
42 |
+
831) and all biographic reporting on and references to the individual, i.e., per-
|
43 |
+
sonal history, current status, and prospects.
|
44 |
+
|
45 |
+
c. The Master 201 Record: a machine record generated by the opening of
|
46 |
+
a 201 file. This record produces the master 201 reference for the Main Index and
|
47 |
+
stores the pertinent information which may later be retrieved for special listings.
|
48 |
+
|
49 |
+
d. Main Index Master 201 Reference: this reference, printed in reply to an
|
50 |
+
Index Search Request, is printed as illustrated below. When data are absent
|
51 |
+
within the record, succeeding data items or lines will be moved up and the ref-
|
52 |
+
erence consolidated..
|
53 |
+
|
54 |
+
SECRET
|
55 |
+
14-00000
|
56 |
+
SECRET
|
57 |
+
(
|
58 |
+
DOHB 70-1-1
|
59 |
+
CHAPTER III, ANNEX B
|
60 |
+
15 November 1974
|
61 |
+
い
|
62 |
+
0002 CROIX, WILLIAM PENDLETON
|
63 |
+
SEX M DOB 12 APR 26
|
64 |
+
CIT GERM
|
65 |
+
REF AACD-12345, 20 JUN 53
|
66 |
+
POB GERM, BERLIN 5
|
67 |
+
OCC PHARMACIST 6
|
68 |
+
OCC CODE CHEN
|
69 |
+
201-0032671*
|
70 |
+
ΤΥΡΕ ΝΑΜE T-
|
71 |
+
ΟΙ CODES AA XX-10
|
72 |
+
RCD DATE 53.
|
73 |
+
SUBJECT RECENTLY ATTENDED THE SEVENTEENTH ANNUAL
|
74 |
+
CONFERENCE OF THE INTERNATIONAL ASSOCIATION OF CHEMISTS
|
75 |
+
AND PHARMACISTS HELD IN MUNICH, GERMANY FROM 22 THROUGH
|
76 |
+
29 ОСТОВER.
|
77 |
+
30 NOV 70
|
78 |
+
(3
|
79 |
+
Information About Subject
|
80 |
+
1. Sequence Number and Name
|
81 |
+
2. Sex and Date of Birth
|
82 |
+
3. Citizenship
|
83 |
+
4. Place of Birth
|
84 |
+
5. Occupation
|
85 |
+
6. Occupation Code
|
86 |
+
7. Text
|
87 |
+
Document Reference Data Group
|
88 |
+
8. 201 Number
|
89 |
+
7
|
90 |
+
9. Name Type Indicator
|
91 |
+
10. OI Codes
|
92 |
+
11. Record Date (year only)
|
93 |
+
12. Reference
|
94 |
+
ISG Control Information
|
95 |
+
13. Date of latest update of the record
|
96 |
+
14. STAR Index Record Number
|
97 |
+
24
|
98 |
+
SECRET
|
99 |
+
00833555
|
100 |
+
14
|
101 |
+
!
|
102 |
+
14-00000
|
103 |
+
( SECRET (
|
104 |
+
DOHB 70-1-1
|
105 |
+
CHAPTER III, ANNEX B
|
106 |
+
15 November 1974
|
107 |
+
7
|
108 |
+
e. Ol Code: a two letter symbol used in conjunction with the 201 per-
|
109 |
+
sonality records in the 201 system to record the association of an individual
|
110 |
+
with organizations or activities of operational interest. OI codes cover intelli-
|
111 |
+
gence and security service affiliation, whether staff or agent, or known or
|
112 |
+
suspect, as well as activities of DDO interest. There are two categories of OI
|
113 |
+
codes for use by components:
|
114 |
+
|
115 |
+
(1) general OI codes (Attachment 4)
|
116 |
+
(2) OI codes assigned to a specific component for intelligence services
|
117 |
+
or other specific organizations.
|
118 |
+
|
119 |
+
À component may request an OI code be established by submitting a mem-
|
120 |
+
orandum to the DDO/RMO through the component Records Management
|
121 |
+
Officer.
|
122 |
+
|
123 |
+
A 201 personality may be assigned two OI codes. An OI code may be assigned
|
124 |
+
when the 201 Personality File Action Request (Form 831) is initiated (see
|
125 |
+
paragraph 3b below) by filling in Box 13 or a code may be assigned or added
|
126 |
+
at a later date by a Form 831 amendment.
|
127 |
+
|
128 |
+
The 201 system has the capability of producing machine listings of 201
|
129 |
+
personalities by Of codes. For example, if an Ol code has been opened for the
|
130 |
+
security service of a certain country a listing may be compiled of all members
|
131 |
+
of that service.
|
132 |
+
|
133 |
+
f. 201 Machine Lists: produced from the mechanized 201 Index, based on
|
134 |
+
names or other identifying information of personalities on whom 201 dossiers
|
135 |
+
exist.
|
136 |
+
|
137 |
+
3. OPENING A 201 DOSSIER
|
138 |
+
|
139 |
+
a. General
|
140 |
+
|
141 |
+
The opening of a 201 dossier is the prerogative of an operational com-
|
142 |
+
ponent, in coordination with the Information Services Group. An opening creates
|
143 |
+
a master 201 record. Changes to the master record and the occasional closing.
|
144 |
+
of a 201 dossier are controlled jointly by the desks and ISG. 201 dossiers may be
|
145 |
+
opened on persons who meet the carding criteria described in Chapter If of this
|
146 |
+
handbook, when there is a reasonable expectation that additional information
|
147 |
+
will be acquired and filed in such a dossier. Generally dossiers are opened on
|
148 |
+
persons about whom counterintelligence information is being reported, and per-
|
149 |
+
sons of operational interest to the Operations Directorate, specifically those
|
150 |
+
persons for whom provisional operational approvals and operational approvals
|
151 |
+
are requested (see exception below). 201 files are not to be opened on staff
|
152 |
+
employees, staff agents and most categories of contract employees. Files on
|
153 |
+
|
154 |
+
25
|
155 |
+
SECRET
|
156 |
+
14-00000
|
157 |
+
|
158 |
+
SECRET
|
159 |
+
(
|
160 |
+
DOHB 70-1-1
|
161 |
+
CHAPTER III, ANNEX B
|
162 |
+
15 November 1974
|
163 |
+
|
164 |
+
persons who are only of local interest to a field station or Headquarters desk
|
165 |
+
and on whom no DDO records correspondence exists are not a part of the DDO
|
166 |
+
records system and are to be maintained by that unit. Some desks levy require-
|
167 |
+
ments on ISG for automatic 201 openings on certain categories of persons whose.
|
168 |
+
names appear in incoming dispatches. These are listed in Attachment 2. 201
|
169 |
+
dossiers should be opened in the following categories:
|
170 |
+
|
171 |
+
(1) Subjects of provisional operational approval and operational ap-
|
172 |
+
proval requests. However, a file need not be opened when a POA is requested
|
173 |
+
for persons being trained for a foreign liaison service and who are of opera-
|
174 |
+
tional interest for training purposes only.
|
175 |
+
اه
|
176 |
+
|
177 |
+
(2) Persons for whom the field requests a 201 opening.
|
178 |
+
|
179 |
+
(3) MHFIXTURE personalities: bonafide diplomats of other than
|
180 |
+
denied area countries, in close association with staff personnel.
|
181 |
+
|
182 |
+
(4) Subjects of a Personal Record Questionnaire Part I.
|
183 |
+
|
184 |
+
(5) Persons on whom a Main Index search reveals information in five
|
185 |
+
or more documents (see DOI 70-20).
|
186 |
+
|
187 |
+
(6) Subjects of Interagency Source Register memoranda from LSN/
|
188 |
+
ISR (opened only by IP/RMS).
|
189 |
+
|
190 |
+
b. Requesting a 201 File Opening
|
191 |
+
|
192 |
+
Headquarters desks may open a 201 file by filling out and submitting
|
193 |
+
a 201 Personality File Action Request (Form 831) to the Records Main-
|
194 |
+
tenance Section (IP/RMS). Form 831 is also used to create or amend the
|
195 |
+
master 201 record and 201 machine listings and to register the assign-
|
196 |
+
ment of a cryptonym to a 201 personality. Attachment 3 consists of sample
|
197 |
+
201 Personality File Action Requests for opening and amending 201's. A field
|
198 |
+
station may request the opening of a 201 file by writing 201- in the Head-
|
199 |
+
quarters file or cross-reference box on the dispatch form and/or after the
|
200 |
+
subject's name in the body of the dispatch. A telepouch request for a 201 opening
|
201 |
+
is made by indicating 201- in the file number line. A cable request is made by
|
202 |
+
placing 201- after the term "File" on the last line of the transmission. IP/AN
|
203 |
+
will open 201 files as requested by dispatch or telepouch but it is the responsi-
|
204 |
+
bility of the desk to respond to cable requests. Field stations are notified of
|
205 |
+
201 openings through receipt of the field master 201 record.
|
206 |
+
|
207 |
+
28
|
208 |
+
SECRET
|
209 |
+
che kind while distribunal raudase andur, sinclarations . indian phính thi song
|
210 |
+
14-00000
|
211 |
+
( SECRET (
|
212 |
+
DOHB 70-1-1
|
213 |
+
CHAPTER III, ANNEX B
|
214 |
+
15 November 1974
|
215 |
+
|
216 |
+
4. CONTENTS OF THE DOSSIER
|
217 |
+
|
218 |
+
Information about a 201 personality should be filed or cross-referenced into
|
219 |
+
his dossier. When additional information is discovered on a 201 subject through
|
220 |
+
a name trace or other process, i.e., review of predecessor documents, it must
|
221 |
+
be consolidated into his personality dossier. See DOI 70-20 for consolidation
|
222 |
+
procedures.
|
223 |
+
?
|
224 |
+
Material which is filed in the dossier includes but is not limited to:
|
225 |
+
|
226 |
+
a. 201 Personality File Action Request (Form 831).
|
227 |
+
|
228 |
+
b. Biographic information including photographs, fingerprints, and
|
229 |
+
handwriting samples.
|
230 |
+
1.1
|
231 |
+
c. Personal Record Questionnaire Parts I and II.
|
232 |
+
|
233 |
+
d. Operational and other security approvals.
|
234 |
+
|
235 |
+
e. Name check replies, requests, clearances, and approvals.
|
236 |
+
|
237 |
+
f. Acknowledgement of pseudonym.
|
238 |
+
|
239 |
+
g. 201 personality assessments and evaluations.
|
240 |
+
|
241 |
+
h. Copy of contract and termination papers.
|
242 |
+
|
243 |
+
i. Secrecy agreement.
|
244 |
+
|
245 |
+
j. Agent Duty Status Report.
|
246 |
+
|
247 |
+
k. Training and evaluation.
|
248 |
+
|
249 |
+
1. SGSWIRL report.
|
250 |
+
|
251 |
+
m. Newspaper clippings.
|
252 |
+
|
253 |
+
n. Any information which helps provide a better understanding of the
|
254 |
+
subject and our interest in him; this may include operational reporting:
|
255 |
+
:
|
256 |
+
|
257 |
+
5. MAINTENANCE OF 201 DOSSIERS
|
258 |
+
|
259 |
+
The 201 personality dossier contains, in document date order, papers which
|
260 |
+
have been made a part of the Central Records System as well as those which
|
261 |
+
have not. Record documents may range from newspaper or magazine articles
|
262 |
+
on the subject to finance and other administrative papers.
|
263 |
+
|
264 |
+
26,1
|
265 |
+
عت
|
266 |
+
SECRET
|
267 |
+
14-00000
|
268 |
+
( SECRET (
|
269 |
+
DOHB 70-1-1-4
|
270 |
+
CHAPTER III, ANNEX B
|
271 |
+
15 November 1974
|
272 |
+
|
273 |
+
a. Purging
|
274 |
+
Purging a 201 dossier is the responsibility of the desk officer. It requires
|
275 |
+
discrimination in recognizing operationally useful material, rather than the
|
276 |
+
simple distinction between official and unofficial papers; it will therefore take
|
277 |
+
place under the supervision of a Records Officer. Purging should be done
|
278 |
+
periodically. A 201 dossier being forwarded to Central Files for retention should
|
279 |
+
be purged. A 201 dossier should be purged of the following:
|
280 |
+
|
281 |
+
(1) Duplicate material, i.e., exact copy(s) of a document.
|
282 |
+
|
283 |
+
(2) Name trace form (Form 362) unless it has been the basis for
|
284 |
+
the opening.
|
285 |
+
|
286 |
+
(3) All abstract slips.
|
287 |
+
|
288 |
+
(4) All document restriction notices (Form 1884).
|
289 |
+
|
290 |
+
(5) The disseminated version of positive intelligence information if
|
291 |
+
a copy of the raw report is contained in the 201 file; the dissemination number
|
292 |
+
then must be transferred to the first page of the raw report.
|
293 |
+
|
294 |
+
(6) Routing slips, routing and record sheets (Form 610) and dispatch
|
295 |
+
cover sheets unless there are remarks such as coordinations or comments.
|
296 |
+
|
297 |
+
(7) Record copy documents which only repeat substantive information
|
298 |
+
contained in other documents in the file; authorization for destruction is
|
299 |
+
by the Records Officer.
|
300 |
+
|
301 |
+
(8) Top Secret documents are not to be retained in a 201 dossier
|
302 |
+
forwarded to Central Files; the document must be downgraded for retention
|
303 |
+
in the 201 dossier. To downgrade a Top Secret document, an authorized
|
304 |
+
officer in the originating office or the Records Officer having jurisdiction
|
305 |
+
over the contents of the material must possess Top Secret classification-
|
306 |
+
authority. If the document cannot be downgraded the file should be retained
|
307 |
+
at the desk or the copy of the TS document should be removed, retained
|
308 |
+
in a desk TS file or forwarded to the Top Secret Control Officer, and a
|
309 |
+
cross-reference sheet (Form 867) placed in the 201 file giving the location
|
310 |
+
of the TS document.
|
311 |
+
|
312 |
+
(9) Deferred documents (see 5b(2)).
|
313 |
+
|
314 |
+
b. Maintenance Procedures
|
315 |
+
|
316 |
+
(1) All material in a 201 dossier will be filed in document date order.
|
317 |
+
In the case of document attachments which have been classified into a 201
|
318 |
+
26.2
|
319 |
+
SECRET
|
320 |
+
14-00000
|
321 |
+
SECRET (
|
322 |
+
DOHB 70-1-1
|
323 |
+
CHAPTER III, ANNEX B
|
324 |
+
15 November 1974
|
325 |
+
7
|
326 |
+
dossier and separated from the basic document by the assignment of a slash
|
327 |
+
number, the attachment will be filed by the date of the basic document.
|
328 |
+
|
329 |
+
(2) Deferred documents will not be filed in a 201 dossier. If they are
|
330 |
+
to be retained in the dossier they should be sent to IP/RMS for classification
|
331 |
+
into that 201.
|
332 |
+
|
333 |
+
(3) Field index cards (held by some desks) and area desk cards may
|
334 |
+
be retained in the 201 as part of a consolidation procedure. These cards
|
335 |
+
should be mounted on a full-size sheet of paper for filing in the 201..
|
336 |
+
|
337 |
+
(4) A 201 dossier previously opened on a person who becomes a staff
|
338 |
+
employee and which contains Record Copy documents will be restricted to
|
339 |
+
the ISG/DIP unless the desk retains the restriction. The dossier should be
|
340 |
+
closed if there are no Record Copy documents in it.
|
341 |
+
|
342 |
+
(5) A 201 opened in pseudonym should be consolidated into the true
|
343 |
+
name 201 if one exists or converted to the true name.
|
344 |
+
|
345 |
+
(6) Field and duplicate (shadow) (201 files no longer of active interest
|
346 |
+
should be incorporated into the official 201 after the duplicate material
|
347 |
+
has been purged by the desk officer and the remaining information classified
|
348 |
+
to that 201 by the Analysis Section (IP/AN).
|
349 |
+
|
350 |
+
(7) Any document with a predecessor organization cover sheet or an
|
351 |
+
OPC (Office of Policy Coordination) cover sheet from the Archives and
|
352 |
+
Disposition Section (IP/ARD) must be returned to IP/ARD for processing
|
353 |
+
to the 201.
|
354 |
+
|
355 |
+
(8) Desk memoranda (with or without a document source number)
|
356 |
+
containing substantive or derogatory information on the subject of the 201
|
357 |
+
should be sent to. IP/AN to be classified officially into the 201 file.
|
358 |
+
|
359 |
+
(9) An attachment which should be separated from its basic document
|
360 |
+
for inclusion in a-201 personality dossier will be forwarded with the basic
|
361 |
+
document to IP/AN for processing into the 201.
|
362 |
+
|
363 |
+
(10) To retain the P&L, RYBAT, or KAPOK sensitivity of a document
|
364 |
+
remaining in a 201 dossier being retired to Central Files, place that document
|
365 |
+
in an envelope sealed with black tape (see DOI 70-17). Any RYBAT, P&L,
|
366 |
+
or KAPOK document sent to Central Files not in a black-taped envelope will
|
367 |
+
automatically be handled as desensitized. A black-taped envelope may con-
|
368 |
+
tain only one document and must be filed in chronological order within the
|
369 |
+
file. If there are numerous documents of this type the desk officer may black--- v
|
370 |
+
tape the entire dossier rather than individual documents (see DOI 70-10).
|
371 |
+
|
372 |
+
26.3
|
373 |
+
SECRET
|
374 |
+
14-00000
|
375 |
+
SECRET
|
376 |
+
(
|
377 |
+
DOHB 70-1-14
|
378 |
+
CHAPTER III, ANNEX B
|
379 |
+
15 November 1974
|
380 |
+
|
381 |
+
Black-taped dossiers or dossiers with black-taped documents will be
|
382 |
+
handled as restricted dossiers.
|
383 |
+
|
384 |
+
(11) An inactive 201 dossier or an inactive volume of a large 201
|
385 |
+
dossier on permanent charge should be returned to Central Files under a
|
386 |
+
Routing and Record Sheet with the notation shown below..
|
387 |
+
|
388 |
+
UNCLASSIFIED
|
389 |
+
INTERNAL
|
390 |
+
USE ONLY
|
391 |
+
SUBJECT:
|
392 |
+
FROM
|
393 |
+
TO O
|
394 |
+
1.
|
395 |
+
IP/Files
|
396 |
+
CC-52
|
397 |
+
2
|
398 |
+
5.
|
399 |
+
7.
|
400 |
+
L
|
401 |
+
CONFIDENTIAL
|
402 |
+
SECRET
|
403 |
+
ROUTING AND RECORD SHEET
|
404 |
+
TRANSMITTAL OF INACTIVE 201 DOSSIERS
|
405 |
+
DATE
|
406 |
+
OFFICERS COMMENTS eru samned to show ham sh
|
407 |
+
SHETLALS
|
408 |
+
(For guidance see CSHB 70-1-1,
|
409 |
+
Chapter III, Annex B.)
|
410 |
+
Volume(s) of volume(s)
|
411 |
+
of 201-
|
412 |
+
Restricted Dossier
|
413 |
+
(Attach Foru 2021 to
|
414 |
+
Dossier)
|
415 |
+
Non-Restricted Dossier
|
416 |
+
10.
|
417 |
+
For Split Charge Dossiers:
|
418 |
+
11.
|
419 |
+
All documents prior to
|
420 |
+
(date)
|
421 |
+
12
|
422 |
+
12
|
423 |
+
14.
|
424 |
+
15.
|
425 |
+
forvarded to IP/Files. All
|
426 |
+
documents after
|
427 |
+
retained at
|
428 |
+
BIDE
|
429 |
+
SECRET CONFIDENTIAL
|
430 |
+
PETERMAL
|
431 |
+
28.4
|
432 |
+
SECRET
|
433 |
+
(date)
|
434 |
+
desk.
|
435 |
+
CL STA
|
436 |
+
UNCLASSIFIED
|
437 |
+
::
|
438 |
+
14-00000
|
439 |
+
( SECRET (
|
440 |
+
DOHB 70-1-1
|
441 |
+
CHAPTER III, ANNEX B
|
442 |
+
15 November 1974
|
443 |
+
|
444 |
+
6. 201 DOSSIER CHARGES
|
445 |
+
|
446 |
+
A 201 dossier may be kept on permanent charge at the desk during any
|
447 |
+
period of active interest. If the dossier is transferred to another desk, the desk
|
448 |
+
officer who is transferring the dossier must notify Central Files of the transfer.
|
449 |
+
Central Files will then send the Notice of Transfer of Document or File Account-
|
450 |
+
ability (Form 2977) to the new action desk officer.
|
451 |
+
TO:
|
452 |
+
HAME
|
453 |
+
CONFIDENTIAL
|
454 |
+
(Thon gitled in)
|
455 |
+
NOTICE OF TRANSFER OF DOCUMENT OR FILE ACCOUNTABILITY
|
456 |
+
BADGE
|
457 |
+
COMPONENT
|
458 |
+
ROOM
|
459 |
+
TUDE
|
460 |
+
EXT.
|
461 |
+
This is to notify you that accountability for the document(s) and/or file(s) cited
|
462 |
+
below has been transferred to you by:
|
463 |
+
Accordingly, IP's records now reflect you as the custodian. Please contact IP/Files,
|
464 |
+
Ext. 4362, if you have any questions regarding this transfer.
|
465 |
+
SUBJECT OF REQUEST
|
466 |
+
FORM 2377E PREVIOUS COITIONS
|
467 |
+
1-73
|
468 |
+
DATE
|
469 |
+
FILE NO.
|
470 |
+
DOC. STHSOL & NUMBER BOC. DATE
|
471 |
+
40
|
472 |
+
TRANSFER
|
473 |
+
CHARGE
|
474 |
+
PERM
|
475 |
+
OR TENP
|
476 |
+
CONFIDENTIAL
|
477 |
+
CL BY: 007672
|
478 |
+
The new action desk officer must then fill out a 201 Personality File Action
|
479 |
+
Request (Form 813) to change the action desk designation to insure that the
|
480 |
+
201 personality will be included in the Headquarters and field machine listings
|
481 |
+
for his component..
|
482 |
+
|
483 |
+
7. RESTRICTED DOSSIERS
|
484 |
+
|
485 |
+
a. Access to a sensitive 201 dossier may be restricted by holding the file at the
|
486 |
+
desk or placing it on restriction in Central Files.
|
487 |
+
|
488 |
+
(1) The dossier may be restricted by checking Box 2 on the 201
|
489 |
+
Personality File Action Request (Form 831) when the file is opened.
|
490 |
+
|
491 |
+
26.5
|
492 |
+
SECRET
|
493 |
+
:
|
494 |
+
:
|
495 |
+
14-00000
|
496 |
+
( SECRET (
|
497 |
+
DOHB 70-1-1
|
498 |
+
CHAPTER III, ANNEX B
|
499 |
+
15 November 1974
|
500 |
+
|
501 |
+
(2) The dossier may be restricted by holding it on permanent charge
|
502 |
+
from Central Files. (Note: To maintain the restriction of a dossier being
|
503 |
+
returned to Central Files for retention, a File Restriction Notice (Form
|
504 |
+
2021) must accompany the dossier.)
|
505 |
+
|
506 |
+
(3) The dossier may be restricted and held in Central Files by sub-
|
507 |
+
mitting a File Restriction Notice (Form 2021).
|
508 |
+
TO
|
509 |
+
IP/FI
|
510 |
+
GC-52 TUBE DT-6
|
511 |
+
IP/DCU
|
512 |
+
GC-40 TUBE HT-4
|
513 |
+
ACTION DESK: 1.
|
514 |
+
SECTION A
|
515 |
+
CONFIDENTIAL
|
516 |
+
(When Pilled In)
|
517 |
+
INITIALS
|
518 |
+
FILE RESTRICTION NOTICE
|
519 |
+
To restrict a file, complete Section A (signature of R.O. not
|
520 |
+
necessary).
|
521 |
+
2. To remove a restriction, complete Section B (R.O. signature
|
522 |
+
Decessary).
|
523 |
+
FILE HUNGER
|
524 |
+
RESTRICT TO: (Use country or non-country code number. See CSI 70-28)
|
525 |
+
RESTRICTED BY:
|
526 |
+
COMPONENT:
|
527 |
+
Date:
|
528 |
+
SECTION B
|
529 |
+
REMOVE RESTRICTION (AUTHORIZED BY)
|
530 |
+
COMPONENT:
|
531 |
+
R.O. No.
|
532 |
+
Date:
|
533 |
+
FORN
|
534 |
+
2-23 2021 IONS
|
535 |
+
CONFIDENTIAL
|
536 |
+
8-2, IMPORT CL BY, CG7122
|
537 |
+
7
|
538 |
+
b. Access to a restricted dossier located in Central Files is limited to the
|
539 |
+
personnel of the restricting desk or persons authorized by that desk. Any request
|
540 |
+
for the charge of a restricted dossier or any document within a restricted dossier
|
541 |
+
held in Central Files will be forwarded with the entire dossier and a multiple-
|
542 |
+
routed cover sheet to the restricting desk. This desk may then forward the file
|
543 |
+
to the requester or deny the request and return the dossier to Central Files. The
|
544 |
+
desk will notify the requester of a denial.
|
545 |
+
|
546 |
+
c. Anyone requesting a restricted dossier, or a document within a restricted
|
547 |
+
dossier, permanently or temporarily charged to a desk, will be referred to that
|
548 |
+
desk by Central Files.
|
549 |
+
|
550 |
+
26.6
|
551 |
+
SECRET
|
552 |
+
14-00000
|
553 |
+
( SECRET (
|
554 |
+
DOHB 70-1-1
|
555 |
+
CHAPTER III, ANNEX B
|
556 |
+
15 November 1974
|
557 |
+
?
|
558 |
+
8. REQUESTS FOR INFORMATION ON 201 PERSONALITIES
|
559 |
+
|
560 |
+
The Automated Index Section (IP/AIS) will provide the identity of the
|
561 |
+
subject of a 201 number unless the 201 file is restricted, in which case the
|
562 |
+
requester will be referred to the restricting desk.
|
563 |
+
|
564 |
+
IP/AIS will also provide the 201 number assigned to a name, unless the 201
|
565 |
+
file is restricted, or state that there is no 201 number assigned. Requesters should
|
566 |
+
supply identifying information whenever available for each name submitted.
|
567 |
+
|
568 |
+
`Requests pertaining to five or fewer names or numbers may be made by
|
569 |
+
telephone by calling the IP/AIS red line extension; IP/AIS will provide the
|
570 |
+
information by return call to the requester's extension as listed in the Badge
|
571 |
+
Table. Requests for more than five names or numbers must be listed and sent
|
572 |
+
by tube or courier to IP/AIS; IP/AIS will reply by return mail.
|
573 |
+
|
574 |
+
9. 201 DOSSIER CANCELLATION
|
575 |
+
|
576 |
+
A 201 file may be authorized for cancellation by a Records Officer, after
|
577 |
+
appropriate coordination. The file should be forwarded to IP/RMS which will
|
578 |
+
destroy the folder and the cards leading to it and will remove the name and
|
579 |
+
number from machine lists. Any Record Copy document contained in the folder
|
580 |
+
will be reclassified to another appropriate file or sent to the Destruction Unit
|
581 |
+
(IP/DU) as directed by the desk Records Officer.
|
582 |
+
|
583 |
+
10. 201 MACHINE LISTINGS
|
584 |
+
|
585 |
+
Machine listings provide field stations and Headquarters desks with names
|
586 |
+
and 201 numbers in the requester's particular geographic or functional area of
|
587 |
+
interest. If a component wishes to exclude a sensitive 201 personality from its
|
588 |
+
alphabetic, numeric, and cryptonym listings, this may be done when opening
|
589 |
+
the 201 or later by a 201 amendment. On the 201 Personality File Action Request
|
590 |
+
(Form 831) leave the country of location (Box 15) and interest desk (Box 16)
|
591 |
+
blank, use the non-country code 900 in the action box (Box -14), and indicate
|
592 |
+
permanent charge to the responsible desk. The only listing which will include the
|
593 |
+
201 number is the IP/201 record for the Vital Records program. 201 listings are
|
594 |
+
categorized as standard or nonstandard and as scheduled or special.
|
595 |
+
|
596 |
+
a. Standard Listings
|
597 |
+
|
598 |
+
Issued semi-annually to Headquarters and the field; based on a component's
|
599 |
+
interest as indicated in the "Action Desk," "Country of Location," and "Interest
|
600 |
+
|
601 |
+
28.7
|
602 |
+
SECRET
|
603 |
+
14-00000
|
604 |
+
|
605 |
+
( (
|
606 |
+
SECRET
|
607 |
+
DOHB 70-1-1
|
608 |
+
CHAPTER III, ANNEX B
|
609 |
+
15 November 1974
|
610 |
+
**
|
611 |
+
Desk" blocks on the 201 Personality File Action Request (Form 831). The
|
612 |
+
standard listings available are:
|
613 |
+
i
|
614 |
+
|
615 |
+
(1) Alphabetical by surname, leading to a 201 number;
|
616 |
+
|
617 |
+
(2) Alphabetical by given name, leading to a 201 number;
|
618 |
+
|
619 |
+
(3) Alphabetical by cryptonym, leading to a 201 number;
|
620 |
+
९.
|
621 |
+
i
|
622 |
+
|
623 |
+
(4) Numerical, leading to a surname;
|
624 |
+
|
625 |
+
(5) Numerical, leading to a cryptonym.
|
626 |
+
FUL & CHINA
|
627 |
+
201 SURNAME ALPHA LIST
|
628 |
+
03 ICT
|
629 |
+
1973.
|
630 |
+
NAPIE
|
631 |
+
SECRET/ORGANIZATION INTERNAL USE ONLY
|
632 |
+
C, SH 117185/1343/5030/
|
633 |
+
CHEM. SHOU 117115/1343/0001/
|
634 |
+
CINE. SHU 1. 17115/1343/0001/
|
635 |
+
CHE. SHOU-JFY 16774/1108/0088
|
636 |
+
CHEM, SHOU EI
|
637 |
+
17JUL14
|
638 |
+
BIRTHPLACE
|
639 |
+
DA/MO/YR
|
640 |
+
CERY GEFY
|
641 |
+
CHIN, RHANGTUNG
|
642 |
+
4
|
643 |
+
24 JANES
|
644 |
+
90
|
645 |
+
CHIN, AMOY
|
646 |
+
04JAN19
|
647 |
+
CHIN, FUXIEM, PROV.
|
648 |
+
A
|
649 |
+
1240V22
|
650 |
+
CHIN, HUNムス
|
651 |
+
IPMARAS
|
652 |
+
CHIN
|
653 |
+
C41
|
654 |
+
CHIN, CAN ΤΩΝ
|
655 |
+
TYPE
|
656 |
+
008
|
657 |
+
DCC. CIT. 201
|
658 |
+
01-101-2. ACT. LOC. (ir.
|
659 |
+
MAME
|
660 |
+
CRAY
|
661 |
+
CIRY CE
|
662 |
+
CHINT 0165401
|
663 |
+
CHIN HR
|
664 |
+
DIPT
|
665 |
+
0218859
|
666 |
+
CHIN CHIN
|
667 |
+
5178653
|
668 |
+
CHEY
|
669 |
+
f-41G 17109/1343/690
|
670 |
+
CHAN. SIEU SHIH 17115/1105/001
|
671 |
+
CHFE SHCU-TAN
|
672 |
+
CHEY, SH-155467115/1109/1
|
673 |
+
CHEN, SHCU 126 /0701/1343/1807
|
674 |
+
CHEN, SHC-17115/1109/495
|
675 |
+
CHEM, SHU-٩٨١
|
676 |
+
CHY. SHAI-CHI4 17115/2005/6930
|
677 |
+
CHE: SHIU CINIAM 7115/3219/122
|
678 |
+
CHOM, SH-C17115/2535/2
|
679 |
+
CNCS. SITU 7115/2055/2797/ דניים
|
680 |
+
CHEN, SHU FEM
|
681 |
+
A
|
682 |
+
R
|
683 |
+
0258926 CHIM, LEARNING PRO
|
684 |
+
12JAN18
|
685 |
+
09 JUN99
|
686 |
+
1905619
|
687 |
+
02 JUL 30
|
688 |
+
:
|
689 |
+
19
|
690 |
+
NOV30
|
691 |
+
CIAC22
|
692 |
+
OF JUL 14
|
693 |
+
CHIN, FURIEN
|
694 |
+
CHIN, CAЧТО
|
695 |
+
CHIN, FLANGTING PROV
|
696 |
+
CHIN, KWANGTUNG PROV.
|
697 |
+
CHIN, FIJAN TANG IS
|
698 |
+
CHIN. PFILIU
|
699 |
+
CHIN, RAANG TUNG
|
700 |
+
ENGR CHAT 0832655
|
701 |
+
CHI47 0130415
|
702 |
+
CCC? 0091803
|
703 |
+
PROF CHIN? 0040289
|
704 |
+
CH417 0052638
|
705 |
+
ARMY CHAT 0328328
|
706 |
+
CHIN? 0124438
|
707 |
+
TSEA CRAT 0797335
|
708 |
+
210CT06 CHIM, PANCINIPIA, PORT ARTH
|
709 |
+
BUSP CCOM? 0043751
|
710 |
+
CHAT 0179620
|
711 |
+
CHIN HK
|
712 |
+
CHIM? 0234629
|
713 |
+
:
|
714 |
+
CHIN CUSA
|
715 |
+
CHIN CHIN
|
716 |
+
CHAT
|
717 |
+
0069786
|
718 |
+
CHIN
|
719 |
+
DIPT CCON
|
720 |
+
0905340
|
721 |
+
CHIM MALT
|
722 |
+
:
|
723 |
+
CHIK HX
|
724 |
+
CHIR TAIW
|
725 |
+
CHIN
|
726 |
+
CHIN USA
|
727 |
+
CHEN HWA
|
728 |
+
CHER TAL
|
729 |
+
CHEN IK
|
730 |
+
CHIN H
|
731 |
+
CHIT, SMI HA /7113/2885/3185/
|
732 |
+
CFT, SITI HEANG 17115/2579/74
|
733 |
+
CFS-510 7115/2985/7
|
734 |
+
10
|
735 |
+
23FERO7
|
736 |
+
CHIN, FUKIEN
|
737 |
+
CHEN, KWANGTUNG
|
738 |
+
CIER, SHU MS
|
739 |
+
17115/2835/8133
|
740 |
+
OSMAY18
|
741 |
+
CHIN, FOOCH
|
742 |
+
CHIT. SHU-درس
|
743 |
+
30×4326
|
744 |
+
CHIEN SINI-1 2711.5/2925/5030/
|
745 |
+
A
|
746 |
+
06F5816
|
747 |
+
CHIN, HOPET
|
748 |
+
CHIN? 0171622
|
749 |
+
DIPT CCCM. 0223161
|
750 |
+
CHIR USA
|
751 |
+
CHEN CHI
|
752 |
+
CHIN
|
753 |
+
CHIN CHIN
|
754 |
+
CHER USA
|
755 |
+
CHIN? 0200223
|
756 |
+
CHIN
|
757 |
+
04RAST7
|
758 |
+
CHIN ETH
|
759 |
+
CHEY? 0179621
|
760 |
+
CHIK? 0014759
|
761 |
+
CCO? 00923195
|
762 |
+
CILEN
|
763 |
+
CHIN CEY
|
764 |
+
CHEN, SIRU RUET /7215/2695/2710
|
765 |
+
Girn, SIRI LAY
|
766 |
+
27NQY23
|
767 |
+
CHIN. FANG CHIFING
|
768 |
+
PROF CHIN? 0175673
|
769 |
+
CHIM CHI
|
770 |
+
食
|
771 |
+
CHIN
|
772 |
+
CCON 0221972
|
773 |
+
CHIA CHI
|
774 |
+
CHLR, SIPI LIANG 77115/0547/009
|
775 |
+
CHEM. Sins 114 7115/2579/2631/
|
776 |
+
CIRCZE
|
777 |
+
CHIN
|
778 |
+
DEPT CHEN? 0223162
|
779 |
+
CHIN CHIN
|
780 |
+
25MMV20-
|
781 |
+
CHIN, FERGSHUN
|
782 |
+
CHIN? 0179624
|
783 |
+
CHIM TAT
|
784 |
+
CHOEN SHIT-L145 17107/2473/010
|
785 |
+
01 JUL 29
|
786 |
+
CHIN, FIANGSU
|
787 |
+
MILA CCM
|
788 |
+
0834440
|
789 |
+
CHIM LACS
|
790 |
+
20SE 20
|
791 |
+
CHER, HSIAM-HSLEN, KLANGSU
|
792 |
+
CHAT
|
793 |
+
009647-
|
794 |
+
CHIN USA
|
795 |
+
CHEM, SHY 4/7119/2285/0589/
|
796 |
+
CILM, SHU-PAD 7115/2579/0202/
|
797 |
+
CHFA, SHU-SEM/7115/2895/2773/
|
798 |
+
CHIFT, SINI-SHAN 17115/2579/091
|
799 |
+
CHEM, SHU-TE /7115/2455/1795/
|
800 |
+
154PR 30
|
801 |
+
1°PECI
|
802 |
+
A
|
803 |
+
300EC26
|
804 |
+
27JAN25
|
805 |
+
210EC37
|
806 |
+
CIPEN, SHU 1EH/475/
|
807 |
+
27MA 20
|
808 |
+
CHEN, CHEHCHA 1
|
809 |
+
CHIN, KWANGTING PROV.
|
810 |
+
CHIM, KWANG TUPIG
|
811 |
+
CHIM, FUKIEN PROY
|
812 |
+
CHEN, SHANGHAI
|
813 |
+
CHIM, CHANG SHO
|
814 |
+
CHIN CHI
|
815 |
+
CHAT? 0052638
|
816 |
+
CHEN HWAL
|
817 |
+
CHINT 0085119
|
818 |
+
CHIN TATH
|
819 |
+
CHIN? OL03249
|
820 |
+
CHEN CHIN.
|
821 |
+
GEOL CHIN? 0763416-
|
822 |
+
CHEN BUSA
|
823 |
+
0013991
|
824 |
+
CHIN
|
825 |
+
CM. SH15/0647/6639
|
826 |
+
CIPCTS
|
827 |
+
CHIN, HANG CHEA
|
828 |
+
CHIN? 0153929
|
829 |
+
OHER CAIR
|
830 |
+
CHEE, SHE T120 /7115/245/2757/
|
831 |
+
CICM. SU 1217:15/0647/0317 וי/
|
832 |
+
LAMAR17
|
833 |
+
CHEN:
|
834 |
+
FIN CCON0767442-CIA "UR
|
835 |
+
A
|
836 |
+
OZFEROS
|
837 |
+
0151320
|
838 |
+
CHIN
|
839 |
+
CEA, S-T40/7115/2655/1031
|
840 |
+
CIPES, SM-T11
|
841 |
+
CHIR. SHIP 1/7115/2845/5341
|
842 |
+
CHIM, SIRI-19/7115/2579/6992/
|
843 |
+
アレった。ベリー
|
844 |
+
COUNT. SIN 7115/2579/3842/ ניז/
|
845 |
+
11AOVOS
|
846 |
+
CHIN, RUENGTING
|
847 |
+
CHIN
|
848 |
+
OSAPRE?
|
849 |
+
CHIN, PEIPING
|
850 |
+
CHINT 0107306
|
851 |
+
CHIN CHEN
|
852 |
+
15 JUNOG
|
853 |
+
CHEN, FARG CHET KU
|
854 |
+
CHIM? 0179624
|
855 |
+
CHIN CHIN
|
856 |
+
0200130
|
857 |
+
21APP21
|
858 |
+
CHIN, SHANGHAS
|
859 |
+
04 SEP28
|
860 |
+
CHIS. SIECINAN
|
861 |
+
CHIN, HENG YANG HSIEN, HIJN ARMY-CHAT 0349624
|
862 |
+
171FM38 CHIN. CHER LANG
|
863 |
+
SECRET/ORGANIZATION INTERNAL USE ONLY
|
864 |
+
82 INPORS CL BY 056979
|
865 |
+
CHIN? 44010
|
866 |
+
CHIN? 0144758
|
867 |
+
CHIN TAIN
|
868 |
+
INT
|
869 |
+
0111410
|
870 |
+
CHIN DEUX
|
871 |
+
CHIN
|
872 |
+
CHIM TAEw
|
873 |
+
PAGE
|
874 |
+
150
|
875 |
+
26.8
|
876 |
+
SECRET
|
877 |
+
14-00000
|
878 |
+
::
|
879 |
+
( (
|
880 |
+
SECRET
|
881 |
+
DOHB 70-1-1
|
882 |
+
CHAPTER III, ANNEX B
|
883 |
+
15 November 1974
|
884 |
+
|
885 |
+
All standard listings are cumulative; previous editions must be destroyed
|
886 |
+
upon receipt of current editions. These listings are by their very nature extremely
|
887 |
+
sensitive compilations of information and must be given every possible safeguard.
|
888 |
+
|
889 |
+
b. Non-Standard Listings
|
890 |
+
?
|
891 |
+
:
|
892 |
+
Based on one or more of the following selection criteria:
|
893 |
+
|
894 |
+
(1) Country of location
|
895 |
+
|
896 |
+
(2) OI codes (organization and/or intelligence affiliation)
|
897 |
+
|
898 |
+
(3) Citizenship
|
899 |
+
;
|
900 |
+
|
901 |
+
(4) Year of birth (plus or minus a given number of years)
|
902 |
+
|
903 |
+
(5) Occupation.
|
904 |
+
|
905 |
+
These selection criteria may be used singly or in combinations. For example,
|
906 |
+
a user could obtain a list of all 201 personalities who have been assigned the
|
907 |
+
OI code of XX or codes of XX, XY, or XZ. A
|
space/space/jfk_text/104-10048-10124.md
ADDED
@@ -0,0 +1,441 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
2 |
+
|
3 |
+
DISPATCH
|
4 |
+
|
5 |
+
CIA SPECIAL COLLECTION
|
6 |
+
RELEASE AS SANITIZED
|
7 |
+
|
8 |
+
Chief, Special Activities Report on JMWAVE's Relationship with ANCARBON-1
|
9 |
+
|
10 |
+
ACTION REQUIRED: Paragraph 10
|
11 |
+
REFERENCES
|
12 |
+
A. WAVE 8981, dated 24 September 1962
|
13 |
+
B. WAVE 9169, dated 28 September 1962
|
14 |
+
C. WAVE 9343, dated 2 October 1962,
|
15 |
+
D. DIR 40975, dated 6 October 1962
|
16 |
+
E. UFGA 14417, dated 4 March 1964
|
17 |
+
|
18 |
+
1. INTRODUCTION. In Reference E, JMWAVE forwarded a review
|
19 |
+
of the nature of its relationship with AMCARBON-2. This review
|
20 |
+
indicates that the relationship with AMCARBON-2 evolved from that
|
21 |
+
action which was taken in September 1962 to insure that a security
|
22 |
+
breach would not occur as a result of an investigation which was
|
23 |
+
being carried out by the Identity 1 relative to the fact that the
|
24 |
+
establishment of the Identity 2 was being kept from the YOBELT
|
25 |
+
South Campus as a result of security restrictions which were in some
|
26 |
+
way, related to JMDUSK. While the relationship with AMCARDON-2
|
27 |
+
stemmed from the remedial action which had been taken in a crisis
|
28 |
+
situation, the establishment of a working relationship with the
|
29 |
+
Identity 3 was an objective which JMWAVE had always hoped to obtain.
|
30 |
+
As a matter of fact, in Reference A, the recommendation was made
|
31 |
+
that JMWAVE be given approval to contact the major South Florida
|
32 |
+
news media in an attempt to work out a relationship with these news
|
33 |
+
media which would insure that they did not turn the publicity
|
34 |
+
spotlight on those KUBARK activities in South Florida which might
|
35 |
+
come to their attention. Thus, when a relationship was established
|
36 |
+
with AMCARBON-2, it was carefully cultivated in order that JMWAVE
|
37 |
+
might be able to use this contact at the Identity 3 as a means of
|
38 |
+
achieving the objective of having a relationship with the Identity 3,
|
39 |
+
which would simultaneously insure the security of JMWAVE's operations
|
40 |
+
and give JMWAVE an outlet into the press which could be used for
|
41 |
+
surfacing certain select propaganda items. In the period October to
|
42 |
+
|
43 |
+
Attachments: USC
|
44 |
+
A - Five Newspaper Clippings
|
45 |
+
B- Identities
|
46 |
+
|
47 |
+
Distribution:
|
48 |
+
3-Chief, SAS, w/atts.
|
49 |
+
19 March 64
|
50 |
+
APR 2 1984
|
51 |
+
|
52 |
+
UFGA-14781
|
53 |
+
|
54 |
+
SECRET
|
55 |
+
201-
|
56 |
+
|
57 |
+
COS
|
58 |
+
Andrew K. REUTEMAN/vtp
|
59 |
+
251
|
60 |
+
|
61 |
+
Ri Chrono
|
62 |
+
1 - 201 file (O/COS
|
63 |
+
1- COS Chrono
|
64 |
+
|
65 |
+
DUDLEY R. WILLINGS
|
66 |
+
|
67 |
+
ANDREW K. REUTEMAN
|
68 |
+
(40) MAR 3 1 1964
|
69 |
+
|
70 |
+
December 1962, all of JMWAVE's business with the Identity 3
|
71 |
+
was handled via AMCARDON-2. In mid-December 1962, AMCARPON-2
|
72 |
+
made the suggestion that he introduce REUTEMAN to AMCARDON-1
|
73 |
+
in order that there be a backup contact, in the event that
|
74 |
+
AMCARBON-2 were out of town or unavailable at such times as
|
75 |
+
REUTEMAN might require assistance from the Identity 3. REUTEMAN
|
76 |
+
agreed to AMCARBON-2's suggestion, and, as a result, AMCARDON-2
|
77 |
+
hosted a luncheon on 12 December 1962 at the Miami Club in the
|
78 |
+
Hotel Columbus, Miami, Florida, at which AMCARBON-2 introduced
|
79 |
+
AMCARBON-1 to REUTEMAN. As a result of this initial meeting on
|
80 |
+
12 December 1962, an operational relationship has developed with
|
81 |
+
AMCARBON-1, and it is believed that this relationship contributes
|
82 |
+
to the fulfillment of the over-all JMWAVE mission. In view of
|
83 |
+
this, a special activities report is being submitted to cover the
|
84 |
+
nature of JMWAVE's relationship with AMCARBON-1 during the
|
85 |
+
period December. 1962 to March 1964.
|
86 |
+
|
87 |
+
2. FRAME OF REFERENCE FOR JAWAVE'S RELATIONSHIP WITH AMCARDON-1
|
88 |
+
When AMCARBON-2 introduced AMCARCON-1 to REUTEMAN, AMCARLON-2
|
89 |
+
reviewed the ground rules under which he had been cooperating
|
90 |
+
with REUTEMAN. This review was conducted for AMCARBON-1's
|
91 |
+
benefit, in order that he might clearly understand the frame of
|
92 |
+
reference, which should prevail in his relationships with REUTEMAN.
|
93 |
+
In this review, AMCAREON-2 pointed out that it was the policy
|
94 |
+
of the Identity 3 that it would take no action which would
|
95 |
+
purposely embarrass KUBARK or its South Florida operations. As
|
96 |
+
a result, if any embarrassing items relative to KUBARK's operations
|
97 |
+
in South Florida did come to the attention of the Identity 3, this
|
98 |
+
material would be brought to REUTEMAN's immediate attention.
|
99 |
+
AMCARBON-2 made it clear to AMCARBON-1 that such items should be
|
100 |
+
discussed with REUTEMAN in a frank manner. In addition, AMCARBON-2
|
101 |
+
made the point that, after an item was discussed, AMCARBON-1
|
102 |
+
should follow REUTEMAN's guidance relative to how any particularly
|
103 |
+
embarrassing item might be handled by the Identity 3, so that it
|
104 |
+
would not expose KUBARK operations and, at the same time, would
|
105 |
+
not jeopardize the journalistic reputation of the Identity 3.
|
106 |
+
In addition, AMCARBON-2 pointed out that, if AMCARBON-1 brought
|
107 |
+
a potentially embarrassing item to REUTEMAN's attention and
|
108 |
+
remedial action on the matter was not taken by REUTEMAN within
|
109 |
+
a reasonable period of time, then the Identity 3 would feel free
|
110 |
+
to expose any ineptness on KUBARK's part. AMCARBON-2 pointed
|
111 |
+
out that in return for this cooperation from the Identity 3,
|
112 |
+
REUTEMAN had agreed that he would be available for contact by
|
113 |
+
telephone or periodic personal meetings at which AMCARBON-1
|
114 |
+
and AMCARBON-2 could discuss broad trends and developments in
|
115 |
+
Latin American affairs. AMCARBON-2 advised AMCARBON-1 that this
|
116 |
+
arrangement did not mean that AMCARBON-1 could expect to obtain
|
117 |
+
any classified information from REUTEMAN. The point was also
|
118 |
+
made that AMCARBON-1 should not press for the obtaining of
|
119 |
+
classified information, but he should be alert to steering tips
|
120 |
+
which REUTEMAN might furnish him on fast-breaking news stories.
|
121 |
+
AMCARBON-1 indicated that he understood the frame of reference
|
122 |
+
which had been outlined by AMCARBON-2. This frame of reference
|
123 |
+
has prevailed throughout JMWAVE's relationship with AMCAREON-1
|
124 |
+
during the period December 1962 to March 1964....
|
125 |
+
|
126 |
+
3. AMCARBON-1'S JOURNALISTIC CAREER. AMCARBON-1 originally
|
127 |
+
started to work for the Identity 3 in 1957 on the City Desk,
|
128 |
+
and subsequently advanced from this assignment to an assignment
|
129 |
+
which entailed covering major political developments in Florida.
|
130 |
+
At a later date, ANCARBON-1 became a feature writer for the
|
131 |
+
Identity 3. Then in July or August 1962, AMCARBON-1 was made
|
132 |
+
the Identity 4. This assignment was considered to be a significant
|
133 |
+
|
134 |
+
promotion for AMCARBON-1, and it reflected confidence in him by
|
135 |
+
the Identity 3 management. AMCARBON-1 is by no means an expert
|
136 |
+
on Latin America, but he is developing his knowledge on the area
|
137 |
+
and, at the moment, he gives every indication of wanting to be a
|
138 |
+
long-term Latin American specialist. QDELF has been questioned
|
139 |
+
about AMCARBON-1, and he has indicated that AMCARBON-1 is regarded
|
140 |
+
in the journalistic trade as an extremely likeable fellow who has
|
141 |
+
a keen mind but who lacks experience in depth on Latin American
|
142 |
+
affairs. It is QDELF's opinion that given an appropriate lapse
|
143 |
+
of time, AMCARBON-1 will develop into one of the leading Latin
|
144 |
+
American specialists in U.S. journalistic circles. AMCARBON-1
|
145 |
+
has a working command of Spanish, and he is constantly attempting
|
146 |
+
to improve his language fluency. It is REUTEMAN's opinion that
|
147 |
+
AMCARBON-1 has developed rapidly as a Latin American specialist,
|
148 |
+
and he will continue to grow in this field. Thus, he is a contact
|
149 |
+
who should be developed and harnessed for exploitation, bearing
|
150 |
+
in mind that he does have long-term potential.
|
151 |
+
|
152 |
+
4. AMCARBON-1'S CONTACTS AND SOURCES. In keeping with the
|
153 |
+
traditional pattern of source protection which is common to
|
154 |
+
newspapermen, intelligence officers and law enforcement officers,
|
155 |
+
AMCARBON-1 attempts to guard the true identity of all of his
|
156 |
+
sources. On the other hand, when pressed, AMCARBON-1 has identified
|
157 |
+
some of his sources to REUTEMAN, in order that meaningful evaluations
|
158 |
+
could be made of that information which AMCARBON-1 had passed to
|
159 |
+
KUBARK. As a result of these occasional witting identifications
|
160 |
+
of his sources, and, as a result of general conversations with
|
161 |
+
AMCARBON-1, REUTEMAN has learned that AMCARBON-1's sources include
|
162 |
+
the following persons:
|
163 |
+
|
164 |
+
a. Luis FERNANDEZ Rocha (201-316766), secretary 'general
|
165 |
+
of the DRE.
|
166 |
+
|
167 |
+
b. Manolo *RAY Rivero (201-239298), chief of JURE,
|
168 |
+
|
169 |
+
c. Carlos *TODD y Lobo (201-264141) of the defunct
|
170 |
+
Havana Times.
|
171 |
+
|
172 |
+
d. AMBIDDY-1 (201-267437).
|
173 |
+
|
174 |
+
e. Aureliano *SANCHEZ Arango (201-019245), leader of the AAA
|
175 |
+
|
176 |
+
f. Edmund *LEAHY of the Washington News Bureau. AMCARBON-1
|
177 |
+
regards this source as being particularly interesting, in view
|
178 |
+
of the fact that LEAHY's daughter is a secretary in the office of
|
179 |
+
Attorney General Robert KENNEDY.
|
180 |
+
|
181 |
+
g. Frank *FIORINI (201-242256), free-lance pilot and
|
182 |
+
adventurer.
|
183 |
+
|
184 |
+
h. Eduardo *SUAREZ Riva, public relations man for the MRR.
|
185 |
+
|
186 |
+
1. Luis *MUNOZ Marin, governor of Puerto Rico.
|
187 |
+
|
188 |
+
J. Juan *BOSCH Gavino (201-103272), former president of
|
189 |
+
the Dominican Republic.
|
190 |
+
|
191 |
+
k. Charles *KEELY of the Copley Wire Service.
|
192 |
+
|
193 |
+
l. Jorge *VOLSKY Kraisler (201-352252), an employee of
|
194 |
+
USIA in Miami. ANCARBON-1 is well aware of the fact that VOLSKY
|
195 |
+
is a defacto stringer for Tad SZULC of the New York Times, but this
|
196 |
+
does not deter AMCARBON-1 from attempting to exploit VOLSKY as a
|
197 |
+
source of information.
|
198 |
+
|
199 |
+
5. OPERATIONAL SUPPORT. On occasion, AMCARBON-1 is used
|
200 |
+
to carry out certain operational support tasks. In such instances,
|
201 |
+
ANCARBON-1 makes his inquiries or carries out the required action
|
202 |
+
within the context of his normal journalistic activities. The
|
203 |
+
use of AMCARBON-1 for operational support tasks enables JMWAVE to
|
204 |
+
harness the investigative facilities of the Identity 3. Several
|
205 |
+
oxamples of how AMCARBON-1 has been used in operational support
|
206 |
+
tasks are outlined below:
|
207 |
+
|
208 |
+
a. Andrew ORDONO Camps. In March 1963, Andrew *ORDONO
|
209 |
+
Camps, DPOB 30 September 1914, Gibara, Cuba, A 12 837 617, arrived
|
210 |
+
in Miami and was given routine CAC processing. The details of this
|
211 |
+
processing are contained in MIAM-0085, dated 12 March 1963. After
|
212 |
+
being released by CAC, ORDONO was interviewed by the Identity 3, and
|
213 |
+
a sensational story was developed. In view of this story, JMWAVE
|
214 |
+
tried to locate ORDONO for debriefing. This effort was not productive,
|
215 |
+
thus AMCARBON-1 was asked to locate ORDONO. AMCARBON-1 did locate
|
216 |
+
ORDONO in Houston, Texas. See WAVE-6307, dated 25 March 1963, for
|
217 |
+
details.
|
218 |
+
|
219 |
+
b. Discrediting Carlos BANDIN of the MRR Splinter Group.
|
220 |
+
In UFGW-2555, dated 13 September 1963, Headquarters suggested that
|
221 |
+
JMWAVE might be able to discredit Carios BANDIN Cruz (201-309611)
|
222 |
+
of the MRR splinter group as a result of BANDIN's overinflated claims
|
223 |
+
relative to his faction invading Cuba. Headquarters' interest in
|
224 |
+
discrediting BANDIN was also stimulated by the fact that BANDIN's
|
225 |
+
irresponsible publicity stunts were causing problems for AMBIDDY-1.
|
226 |
+
As a result of Headquarters' interest in this matter, REUTEMAN had
|
227 |
+
a luncheon session with AMCARBON-1 on 24 September 1963, at which
|
228 |
+
AMCARBON-1 was advised that the BANDIN faction of the MRR was less
|
229 |
+
than accurate in its claims relative to its activities in Cuba.
|
230 |
+
In view of this, REUTEMAN suggested that the Identity 3 might want
|
231 |
+
to soft peddle any future war communiques which the BANDIN faction
|
232 |
+
might release. AMCARBON-1 stated that, in view of REUTEMAN'S
|
233 |
+
comments, the Identity 3 would not only soft peddle, but would
|
234 |
+
ignore the BANDIN faction in the future. Once BANDIN was discredited
|
235 |
+
with AMCARBON-1, the word was soon leaked by AMCARBON-1 to other
|
236 |
+
newspapermen that BANDIN was not a reliable source. As a result
|
237 |
+
of this action, the BANDIN group has received minimal media coverage
|
238 |
+
in South Florida since September 1963.
|
239 |
+
|
240 |
+
6. OPERATIONAL INTELLIGENCE. In the period February 1963
|
241 |
+
to February 1964, AMCARBON-1 has furnished JMWAVE with operational
|
242 |
+
intelligence as outlined below:
|
243 |
+
|
244 |
+
a. In WAVE 4836, dated 21 February 1963, AMCARBON-1
|
245 |
+
reported that AMBEND-l was back in Miami and was the object of
|
246 |
+
a great deal of press interest in view of AMBEND-1's release from
|
247 |
+
a Havana prison. AMCARBON-1 also indicated that AMBEND-1 would
|
248 |
+
probably be a knowledgeable source on the current activities of the
|
249 |
+
UR in Cuba. This operational intelligence was most helpful in
|
250 |
+
terms of keeping JMWAVE informed on AMBEND-1's movements. Subsequent
|
251 |
+
developments revealed that AMCAREON-1 could not contact AMBEND-1,
|
252 |
+
and thus AMBEND-1's return to the United States did not cause the
|
253 |
+
publicity stir that was initially anticipated.
|
254 |
+
|
255 |
+
b. In WAVE 6176, dated 22 March 1963, AMCARBON-1
|
256 |
+
reported that the Identity 3 was attempting to research a full
|
257 |
+
feature article on the Bay of Pigs invasion. The intent of this
|
258 |
+
article was to furnish a recapitulation of the entire tactical
|
259 |
+
situation. In this connection, AMCARBON-1 pointed out that he was
|
260 |
+
|
261 |
+
thinking about exposing the role of Miami attorney Alex E. *CARLSON,
|
262 |
+
residing 145 Curtiss Parkway, Miami Springs, Florida, in the
|
263 |
+
Bay of Pigs operation. AMCARBON-1 stated that, if CARLSON were
|
264 |
+
of any current interest to REUTEMAN, then the Identity 3 would
|
265 |
+
soft peddle the CARLSON angle. REUTEMAN advised AMCAREON-1 that
|
266 |
+
he had no interest in CARLSON but knew of him and was of the
|
267 |
+
opinion that CARLSON was a sound and honest attorney. The receipt
|
268 |
+
of this operational intelligence enabled JNWAVE to brief CARLSON
|
269 |
+
on the Identity 3's over-all interest in the role that CARLSON had
|
270 |
+
played in the Bay of Pigs invasion. This briefing, in turn,
|
271 |
+
enabled CARLSON to more adequately prepare himself for a meeting
|
272 |
+
with AMCARBON-1. While AMCARBON-1 did attempt to pursue this
|
273 |
+
Bay of Pigs story, he never did put anything into print as the story
|
274 |
+
was overtaken by other developments before AMCARBON-1 could finish
|
275 |
+
his research.
|
276 |
+
|
277 |
+
c. In WAVE 0904, dated 9 July 1963, AMCARBON-1 advised
|
278 |
+
JMWAVE that Mr. Trevor *ARMBRISTER, an associate editor for the
|
279 |
+
Saturday Evening Post, was in Miami during July 1963 attempting
|
280 |
+
to research a story regarding the possibility that strategic
|
281 |
+
missiles were hidden in Cuban caves. This information enabled
|
282 |
+
JMWAVE to keep Headquarters informed on sensational-type articles
|
283 |
+
which might be appearing relative to Soviet missiles in Cuba.
|
284 |
+
|
285 |
+
d. In WAVE 4701, dated 20 September 1963, AMCARBON-1
|
286 |
+
gave JMWAVE his resume of the discussions which he had with
|
287 |
+
AMBIDDY-1 at the Miami Playboy Club on 19 September 1963. This
|
288 |
+
information was useful in obtaining an insight into what AMBIDDY-1
|
289 |
+
was telling the press.
|
290 |
+
|
291 |
+
e. In WAVE 5661, dated 10 October 1963, AMCARBON-1
|
292 |
+
reported on a discussion that he had had on 10 October 1963 with
|
293 |
+
AMBIDDY-1's public relations man. This operational intelligence
|
294 |
+
was useful in terms of keeping KUBARK advised as to what AMBIDDY-1's
|
295 |
+
representatives were telling the outside world about their
|
296 |
+
operational activities.
|
297 |
+
|
298 |
+
f. In WAVE 6910, dated 31 October 1963, AMCARBON-1
|
299 |
+
informed JMWAVE about the flood of telephone calls which were
|
300 |
+
being received at the Identity 3 relative to so-called KUBARK
|
301 |
+
vessels which were located in South Florida waters. This
|
302 |
+
information alerted JMWAVE to the fact that press scrutiny was
|
303 |
+
going to be directed toward the Identity 5. Armed with this warn-
|
304 |
+
ing, JMWAVE was able to take action which minimized the publicity
|
305 |
+
repercussions from a renewed press interest in the Identity 5.
|
306 |
+
|
307 |
+
g. In WAVE 7671, dated 16 November 1963, AMCARBON-1
|
308 |
+
reported to JMWAVE the fact that he had received a letter from
|
309 |
+
Peru which contained an interesting operational lead to one
|
310 |
+
Carlos MONTALVANO in Puno, Peru. This lead was examined by JMWAVE,
|
311 |
+
Headquarters and the Lima Station. This examination revealed
|
312 |
+
that the letter was written by a crackpot; thus, there was no
|
313 |
+
real operational potential in this lead. This incident did underscore
|
314 |
+
the fact that AMCARBON-1 is willing to bring potentially significant
|
315 |
+
operational leads to JMWAVE's attention.
|
316 |
+
|
317 |
+
h. In WAVE 1614, dated 6 February 1964, AMCARBON-1
|
318 |
+
advised JMWAVE that he had received numerous telephone calls
|
319 |
+
indicating that Armando Andres GUIROLA Forte, who had defected
|
320 |
+
from a Cuban fishing vessel might be an individual who had previously
|
321 |
+
been seen in Miami during November or December 1963. At the same
|
322 |
+
time, AMCARDON-1 pointed out that he was suspicious and thought
|
323 |
+
that these telephone calls indicated that GUIROLA was not a bona
|
324 |
+
fide defector, but was either a GOC agent or a KUBARK plant, who
|
325 |
+
was being used as a means of creating an incident which would
|
326 |
+
embarrass the GOC, as a result of their fishing boats penetrating
|
327 |
+
|
328 |
+
United States territorial waters. REUTEMAN a.ised AMCARDON-1
|
329 |
+
that KUBARK had played no role in mounting a provocation operation
|
330 |
+
against the GOC. At the same time, REUTEMAN pointed out that
|
331 |
+
it was highly unlikely that GUIROLA was a GOC agent. As a result
|
332 |
+
of this conversation, arrangements were made for JAMWAVE to check
|
333 |
+
out certain aspects of the GUIROLA story. At the same time,
|
334 |
+
ANCARBON-1 was prevailed upon not to write a story which might
|
335 |
+
lead the public to speculate on whether GUIROLA was an agent or a
|
336 |
+
plant in a propaganda play designed to embarrass the GOC.
|
337 |
+
|
338 |
+
7. PROPAGANDA OUTLET. AMCARBON-1 has been used successfully,
|
339 |
+
during the period covered by this report, as a propaganda outlet
|
340 |
+
through which items of interest to KUBARK could be surfaced in
|
341 |
+
the free world press. Examples of how AMCARBON-1 has been harnessed
|
342 |
+
in this field are outlined below:
|
343 |
+
|
344 |
+
a. AMCRAB-1. The AMCRAB-1 defection story originally
|
345 |
+
surfaced in the Miami area on 13 October 1963 via the Diario de
|
346 |
+
las Americas, which played up an API release from Montevideo.
|
347 |
+
The API Montevideo story highlighted AMCRAB-1's information
|
348 |
+
relative to GOC activities in Uruguay. The story in the Diario
|
349 |
+
de las Americas had an extremely limited impact on Spanish readers
|
350 |
+
in the Miami area. As a result, it was decided to do a series
|
351 |
+
of feature stories on AMCRAB-1, pointing up the fact that AMCRAB-1
|
352 |
+
was typical of the veterans of the Granma expedition, who felt
|
353 |
+
they had been betrayed by CASTRO and had been relegated to positions
|
354 |
+
of obscurity once the revolution had put CASTRO in power. AMCARBON-1
|
355 |
+
was briefed in detail on the AMCRAB-1 story, and he was given an
|
356 |
+
opportunity to debrief AMCRAB-1 under controlled conditions in a
|
357 |
+
JMWAVE safehouse. After completing his debriefing, ANCARDON-1
|
358 |
+
wrote a series of feature articles on AMCRAB-1. The first article
|
359 |
+
in the series received front page headline play. The series of
|
360 |
+
articles on AMCRAB-1 were well written, and they provided an
|
361 |
+
excellent peg for JMWAVE to mount a replay operation via other
|
362 |
+
propaganda assets. AMCARBON-1's story on AMCRAB-1 was picked up
|
363 |
+
by UPI, API and others, and it was played throughout Latin America.
|
364 |
+
The details of this surfacing can be found in WAVE 5826, dated
|
365 |
+
14 October 1963; WAVE 6092, dated 19 October 1963; and, WAVE 6174,
|
366 |
+
dated 21 October 1963.
|
367 |
+
|
368 |
+
b. Charles GRIFFIN Shrimp Boat Story. On 26 February 1964
|
369 |
+
JMWAVE learned that when Mr. Charles GRIFFIN's sons went to Cuba
|
370 |
+
to reclaim the hijacked shrimp boat, JOHNNY REB, they found that
|
371 |
+
select items were missing from the boat when it was turned over
|
372 |
+
to them. It was believed that this information would make a good
|
373 |
+
human interest story which JMWAVE assets could use to counter GOC
|
374 |
+
propaganda claims that United States officials had stolen items
|
375 |
+
from the Cuban fishing boats which had violated United States
|
376 |
+
territorial waters. In view of this opinion, a steering tip was
|
377 |
+
given to AMCARBON-1 to have the Identity 3 representative in
|
378 |
+
Key West interview Mr. GRIFFIN. This interview was carried out,
|
379 |
+
and an article outlining the points which were of interest to
|
380 |
+
JMWAVE was published in the 27 February 1964 edition of the
|
381 |
+
Identity 3.
|
382 |
+
|
383 |
+
c. LAYC Story. The March 1964 LAYC meeting in Santiago,
|
384 |
+
Chile, was not receiving appropriate coverage in the South Florida
|
385 |
+
newspapers; as a result, REUTEMAN contacted AMCARBON-1 on 5 March
|
386 |
+
1964 and suggested that the LAYC meeting was a story which the
|
387 |
+
Identity 3 should pursue. AMCARBON-1 was grateful for this steering
|
388 |
+
tip, and he assigned the task of preparing the story on the LAYC
|
389 |
+
to one of the members of his staff. A story on the LAYC was
|
390 |
+
subsequently published in the 6 March 1964 edition of the Identity 3
|
391 |
+
|
392 |
+
(COMMENT: Copies of the articles cited in subparagraphs a through
|
393 |
+
c above are attached for Headquarters information.)
|
394 |
+
|
395 |
+
8. POSITIVE INTELLIGENCE. Attempts have been made to
|
396 |
+
obtain disseminable positive intelligence from AMCARBON-1 during
|
397 |
+
the period covered by this report. This attempt has been generally
|
398 |
+
unsuccessful, in that AMCARBON-1 does not have a great number of
|
399 |
+
contacts in Latin America who would give him access to worthwhile
|
400 |
+
intelligence appreciably in advance of the information appearing
|
401 |
+
in the overt press. As a result, AMCARBON-1 is usually not aware of in
|
402 |
+
inside developments in any Latin American country; consequently,
|
403 |
+
he is not a worthwhile source of positive intelligence. As a
|
404 |
+
matter of fact, AMCARBON-1 is less valuable as a source of positive
|
405 |
+
intelligence than most journalists. This is attributable solely
|
406 |
+
to his lack of long-standing contacts in the Latin American political
|
407 |
+
scene, It is believed that AMCARBON-1 will ultimately overcome
|
408 |
+
this shortcoming; thus, we will continue to attempt to harness him for
|
409 |
+
the collection of positive intelligence.
|
410 |
+
|
411 |
+
9. COMMENT. In the period covered by this report, AMCARDON-1
|
412 |
+
has been found to be a straight-forward individual who is honest,
|
413 |
+
cooperative and who understands the need for security. Our
|
414 |
+
relationship also indicates that AMCARBON-1 is an accurate reporter
|
415 |
+
of that information which he passes to KUBARK. In view of this,
|
416 |
+
JMWAVE plans to continue to harness AMCARBON-1 in the same manner
|
417 |
+
that he has been used in the past. It is believed that our rela-
|
418 |
+
tionship with AMCARBON-1 enhances our ability to conduct our
|
419 |
+
operational mission in a secure manner. In addition, this relation-
|
420 |
+
ship tends to minimize the possibility that JMWAVE might have diffi-
|
421 |
+
culties with the media outlets in the South Florida area. As a
|
422 |
+
result of our continuing relationship with ANCARBON-1, a special
|
423 |
+
activities report will be forwarded at appropriate intervals.
|
424 |
+
|
425 |
+
10. It is requested that a 201 number be assigned AMCARBON-1
|
426 |
+
and that JMWAVE be advised of the number.
|
427 |
+
|
428 |
+
END OF DISPATCH
|
429 |
+
|
430 |
+
Identities - 1 - The Miami News
|
431 |
+
2 - Sunland Training Center for
|
432 |
+
Retarded Children
|
433 |
+
3 - The Miami Herald
|
434 |
+
4-Latin American Editor
|
435 |
+
5 The LEDA
|
436 |
+
|
437 |
+
DISTRIBUTION:
|
438 |
+
3 - Chief, SAS
|
439 |
+
1- RI Chrono
|
440 |
+
1- AMCARBON-1 201
|
441 |
+
1 - COS Chrono
|
space/space/jfk_text/104-10048-10252.md
ADDED
@@ -0,0 +1,104 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
104-10048-10252
|
2 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
3 |
+
|
4 |
+
SECURITY INFORMATION
|
5 |
+
CONFIDENTIAL
|
6 |
+
|
7 |
+
From: BOGOTA
|
8 |
+
Report No: TLB-1684 Local File No:
|
9 |
+
No. of Pages:
|
10 |
+
No. of Enclosures: Memo
|
11 |
+
|
12 |
+
Report Made By: George S. Vinoops/Unt
|
13 |
+
Approved By:
|
14 |
+
|
15 |
+
Distribution:
|
16 |
+
Orally to:
|
17 |
+
By copy to:
|
18 |
+
Washington - 3
|
19 |
+
Caracas - 1
|
20 |
+
Guatemala City - 1
|
21 |
+
Havana - 1
|
22 |
+
Quito - 1
|
23 |
+
Maracaibo - 1
|
24 |
+
Guayaquil - 1
|
25 |
+
Files - 2
|
26 |
+
|
27 |
+
Source Cryptonym: See below
|
28 |
+
References: None
|
29 |
+
|
30 |
+
Source, Operational Data, and Comments:
|
31 |
+
The information in this report was obtained from a local detective who
|
32 |
+
works for the National Police. An informant of the Police in Paris
|
33 |
+
provided a report to the latter concerning activities of the Colombian
|
34 |
+
delegation, and he added names of delegates of certain other countries.
|
35 |
+
This informant is studying in Paris and he accompanied the delegates
|
36 |
+
to Berlin. It is likely that the interested stations have this infor-
|
37 |
+
mation, but it is thought it might serve to confirm, or possibly add a
|
38 |
+
bit to, the material already on hand.
|
39 |
+
|
40 |
+
30-77991
|
41 |
+
|
42 |
+
IR COPY
|
43 |
+
|
44 |
+
CONFIDENTIAL
|
45 |
+
|
46 |
+
SECURITY INFORMATION
|
47 |
+
|
48 |
+
APERTURE CAND MEPRODUCTIO
|
49 |
+
13-00000
|
50 |
+
|
51 |
+
SECURITY INFORMATION
|
52 |
+
CONFIDENTIAL
|
53 |
+
|
54 |
+
Subject: Delegates to Youth Festival
|
55 |
+
in Berlin
|
56 |
+
|
57 |
+
Report No: TLB-1684
|
58 |
+
Place Acquired: Colombia, Bogota
|
59 |
+
Date of Information: August-September 1961
|
60 |
+
Evaluation: B-2
|
61 |
+
Date Acquired: January 1962
|
62 |
+
Source: Local Detective
|
63 |
+
Date of Report: 29 January 1962
|
64 |
+
|
65 |
+
1. Bouree reports that an informant in Paris has submitted information to the
|
66 |
+
local Police concerning delegates of certain other countries to the III
|
67 |
+
Festival Mundial de la Juventud held in Berlin in August and September 1961.
|
68 |
+
Those names together with the camments of the informant are included in
|
69 |
+
the following paragraphs.
|
70 |
+
|
71 |
+
2. The delegation of Guatemala consisted of the followings
|
72 |
+
Edelberto TORRES Rivas, Novena Ave. 8. No. 110
|
73 |
+
Octavio REYES ortiz, 17 c. o. No. 76
|
74 |
+
Hugo BARRIOS K100, 12 Calle Oriente No. 58.
|
75 |
+
José Victor PONZALEZ, 8 Ave. Bur No. 11
|
76 |
+
|
77 |
+
3. The following is a list of the Veneauelan delegates!
|
78 |
+
Juvenel HERRERA, estudiante do derecho
|
79 |
+
Francisco MIERKS, peligroso
|
80 |
+
Cordova ARMANDO, estudiante de derecho in Cumaná
|
81 |
+
Micolas CURIEL Acosta, escritor de teatro
|
82 |
+
Juan Pedro ROJAS, pintor
|
83 |
+
Yolanda Steffens de ROJAB, casada con el anterior
|
84 |
+
|
85 |
+
4. The Bouadoran delegates are as followes
|
86 |
+
Enrique Gil Gilbert, escritor
|
87 |
+
Enrique QUINIBERO.
|
88 |
+
Patricic CUEVAS, estudiante de medicina da Praga
|
89 |
+
|
90 |
+
5. The delegation of Cuba consisted of the followings
|
91 |
+
|
92 |
+
Nicolas GUILLEN, poeta y escritor
|
93 |
+
Santiago GRAJALES, obrero
|
94 |
+
Antonio NUNZZ-Jimenes,/profesor)de, Podagogía y "responsable de la
|
95 |
+
delegación de Cuba". Es peligroso y cuando hubo necesidad
|
96 |
+
de retratarlo en Paris no se dejó.
|
97 |
+
Francisco GARCIA Benites, comerciante de Holguin
|
98 |
+
Jose CANETTI, comerciante en Santiago de Cuba
|
99 |
+
|
100 |
+
Classification CONFIDENTIAL
|
101 |
+
|
102 |
+
SECURITY INOPAMA
|
103 |
+
|
104 |
+
02316
|
space/space/jfk_text/104-10049-10362.md
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# SECRET
|
2 |
+
|
3 |
+
20 October 1959
|
4 |
+
|
5 |
+
MEMORANDUM FOR THE RECORD
|
6 |
+
|
7 |
+
SUBJECT: Highlights of Tape-Recorded Conversation in Miami Between Mr. William D. Pawley and an Unidentified Cuban during Period 17-18 October
|
8 |
+
|
9 |
+
1. On 20 October the undersigned and Owen Faust of WH/3 listened to the play-back of a tape, brought to Washington from Miami and given to Colonel King by Mr. Pawley on 19 October, which was a recording of Mr. Pawley's conversations with two Cubans during the period 17-18 October. The first conversation was with an unidentified Cuban, believed to be a member of a group of wealthy anti-CASTRO Cubans, members of which have talked to Mr. Pawley recently about their plans for sabotage of the coming sugar harvest as reported in UMMA-32 dated 2 October. The second Cuban was AMPACA-1, a Cuban Journalist of operational interest to Station Habana, and a separate memorandum is submitted on that conversation.
|
10 |
+
|
11 |
+
2. The unidentified Cuban, who had somewhat of an accent and spoke indistinctly, was difficult to understand. He mentioned a meeting "with some of our people who came up from Cuba" to discuss plans. He said his group had been contacted by a representative of General Jose Eleutorio PEDRAZA, leader of Cuban revolutionary groups in the Dominican Republic, who wanted to know what action their group had taken and was told that they had a plan "to start sabotage". The Cuban said the PEDRAZA representative said their group (the PEDRAZA group) had four provinces organized in Cuba, mentioning Camaguey and Santa Clara, and that they had two provinces yet to be organized - Habana and Matanzas.
|
12 |
+
|
13 |
+
3. The Cuban said his group needed two things - moral backing and moneys he pointed out that Cubans in Cuba are afraid to start an underground movement, and there was no way to raise funds, etc. Mr. Pawley gave him no encouragement on the money angle, saying that even if there were Americans willing to run the risk of becoming involved in Cuban revolutionary activities by furnishing money for such a movement, which he doubted, he felt that at the present time it would be like "putting money down a rat-hole" for the following reasons: (1) there is no unity among the anti-CASTRO groups, and there are at least 10 that he knows of who are working absolutely independently of one another; and (2) CASTRO is in control of the country and has the support of a large number of Cubans, especially the under-privileged. Mr. Pawley said he felt the Cuban economic situation was worsening fast and that if it gets bad enough, a large number of Cubans will turn on CASTRO, but until that time comes it would be dangerous to try to organize a revolutionary movement.
|
14 |
+
|
15 |
+
# SECRET
|
16 |
+
|
17 |
+
4. Mr. Pawley asked the Cuban if his group felt they had moral support of the U. S. and the Cuban replied that they wanted U. S. moral support but whether they had it or not, they felt they were obliged to carry through with their plans. Mr. Pawley said he didn't know what to tell him - would have to think about it and see if anything could be done. He said, "having been connected with the U. S. Government, I can't get involved in revolutionary movements". Also said he would hate to see the Dominican Government get involved, which might be difficult to avoid with so many Cuban exiles there, but commented that he understood "the Dominican Government hasn't given them a dime".
|
18 |
+
|
19 |
+
# SECRET
|
20 |
+
|
21 |
+
Martha Tharpe
|
22 |
+
WH/III/CARIB
|
space/space/jfk_text/104-10049-10375.md
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
2 |
+
|
3 |
+
AIR
|
4 |
+
(SPECIFY AIR OR SEA POUCH)
|
5 |
+
|
6 |
+
MICROFILMED
|
7 |
+
JUL 1 1983
|
8 |
+
|
9 |
+
DOC: SECRET
|
10 |
+
CLASSIFICATION
|
11 |
+
|
12 |
+
DISPATCH NO
|
13 |
+
HDCA-1382
|
14 |
+
|
15 |
+
TO : Chief, WHD DATE: 12 June 1958
|
16 |
+
FROM : Chief of Station, Ciudad Trujillo
|
17 |
+
SUBJECT: GENERAL- Operational
|
18 |
+
|
19 |
+
SPECIFIC PAWLEY Business Interests in the Dominican Republic
|
20 |
+
ACTION REQUIRED: For info only.
|
21 |
+
|
22 |
+
1. In addition to minerals exploitation in which Mr. William
|
23 |
+
D. PAWLEY has substantial investments, negotiations are being concluded
|
24 |
+
for the purchase by PAWLEY of the Hotel Hamaca in Boca Chica, a resort
|
25 |
+
town near the almost-completed new international airport, about 30 km
|
26 |
+
east of Ciudad Trujillo.
|
27 |
+
|
28 |
+
2. Another activity which is kept very much under wraps is the
|
29 |
+
concession granted PAWLEY for procurement and world-wide sale of all
|
30 |
+
new issues of Dominican postage stamps. This activity is managed by
|
31 |
+
Edward P. PAWLEY, brother of William, whose office is in the Dominican
|
32 |
+
post office building.
|
33 |
+
D. Pawley
|
34 |
+
|
35 |
+
3. The source (considered sensitive) of the information in para-
|
36 |
+
graph 2. is Mrs. Nora BRITZIUS, a U. S. citizen employed by PAWLEY
|
37 |
+
in the stamp business. The source volunteered the information on a
|
38 |
+
very confidential basis to Helene I. DAHLERUP at a social gathering.
|
39 |
+
|
40 |
+
Edward F. Stove
|
41 |
+
EDWARD F. STONESET
|
42 |
+
|
43 |
+
10 June 1958
|
44 |
+
Distribution:
|
45 |
+
3 - Hqs.
|
46 |
+
|
47 |
+
INDEX
|
48 |
+
|
49 |
+
CS COPY
|
50 |
+
|
51 |
+
CS COPY
|
52 |
+
SECRET
|
53 |
+
CLASSIFICATION
|
54 |
+
|
55 |
+
12 June 58
|
56 |
+
201-77378
|
57 |
+
|
58 |
+
D00708
|
space/space/jfk_text/104-10051-10106.md
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# 2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
2 |
+
|
3 |
+
UNITED STATES GOVERNMENT
|
4 |
+
Memorandum
|
5 |
+
|
6 |
+
**TO**: Files
|
7 |
+
**DATE**: 29 January 1954
|
8 |
+
|
9 |
+
**FROM**: M. D. Stevens
|
10 |
+
|
11 |
+
**SUBJECT**: THE LEE HARVEY OSWALD CASE #351164
|
12 |
+
|
13 |
+
1. According to a newspaper column of "Allen and Scott" in the Chicago American of 6 December 1963, on the OSWALD Case, Abram CHAYES, Legal Officer of the State Department, was one of two persons immediately responsible for OSWALD's being permitted to return to the United States from the Soviet Union in June 1962. The other individual named was Llewellyn THOMPSON, the then Ambassador to Russia. Another said to have been involved in the handling of OSWALD's case was Sammuel WISE, Counsel of the American Embassy in Moscow.
|
14 |
+
|
15 |
+
2. Abram CHAYES, #352234, who as of 16 February 1961 was described as "the new Counsel in State", was granted Security approval for liaison contact with J. Foster COLLINS (in the office of the Chief of the Covert Action Staff) on 6 March 1961. The request for CHAYES' clearance was a "Blanket" request to permit discussion with him of NSC 5412/2 matters on a need-to-know basis.
|
16 |
+
|
17 |
+
3. In September 1961 there was a White House namecheck request on CHAYES wife Antonia (Toni) Leigh CHAYES, nee: HANDLER.
|
18 |
+
|
19 |
+
4. In March 1962, CHAYES was granted a renewal of his liaison contact clearance with C/CA on a continuing basis. This time his contact was Archibald ROOSEVELT, Jr.
|
20 |
+
|
21 |
+
5. On 10 February 1962, HUMAN EVENTS reported as follows with reference to CHAYES:
|
22 |
+
|
23 |
+
"SOFT ON COMMUNISM: Representative Francis E. Walter (R.-Pa.), Chairman of the House Committee on Un-American Activities, has scored the new State Department regulations on passports, claiming they would allow Reds denied passports to "rifle freely the confidential files of the FBI, the CIA and other investigative agencies." The man behind the new regulations, which Walter claims violate the Internal Security Act of 1950, is reportedly State's chief legal officer, Abram Chayes. Chayes, a Kennedy appointee, is an ex-Harvard professor who was Chester Bowles' top legal adviser when Bowles was Governor of Connecticut. Walter has introduced legislation to remedy the new passport regulations."
|
24 |
+
|
25 |
+
Document Number 1271-1029
|
26 |
+
|
27 |
+
for FOIA Review on FED 1977
|
28 |
+
|
29 |
+
-2-
|
30 |
+
|
31 |
+
6. Samuel WISE, "Counsel in the American Embassy in Moscow" who is referred to above, may well be Samuel Griffin WISE Jr., #74574, SD & SSD, who apparently was once a contract employee on AEACTIVE. The State Department reviewed WISE's file on 2 June 1954; and as of September 1962 a Samuel G. WISE was Second Secretary of the American Embassy in Moscow. At that time WISE advised in a cable to the State Department
|
32 |
+
"[DAVIS case is very similar to that of OSWALD; and he, like OSWALD, lived in the Soviet Union for two years after his defection and prior to making application for return to the United States.]"
|
33 |
+
|
34 |
+
7. WISE was an applicant for CIA employment in early 1953 and was security approved subject to polygraph on 11 August 1953. He did not enter on duty and in September 1953 the office which had been interested in him was "no longer interested". On 13 November 1953, WISE was granted a CSA to permit his use as a contract employee on AEACTIVE in New York City. His CSA was cancelled on 24 March 1958.
|
35 |
+
|
36 |
+
8. WISE was named as a friend of William Orville MUNSELL, #61693-DL, during an investigation of the latter for possible CIA employment in 1952. WISE, according to MUNSELL's landlady and social acquaintance in Washington, D.C. during the period of about a year which ended in April 1952, was the only person she knew by name with whom MUNSELL was friendly. According to the informant, WISE was a student at Columbia University whose address was 423 Furnald Hall. MUNSELL was Security disapproved for CIA employment in June 1952 because of his close association on a professional and social basis, while attending Denver University from 1946 to 1951, with persons of questionable loyality. In November 1954, MUNSELL was of interest to project FJALIVE with reference to assignment to Dhahran, Saudi Arabia; however, the interested office withdrew their request on him, after Security advised of the derogatory information regarding him.
|
37 |
+
|
38 |
+
9. WISE from 1951 to 1954 attended Scarsdale High School in Scarsdale, New York, which was attacked by a Citizen's Group, which alleged Communist influence in the school system. He had several questionable associates in addition to MUNSELL.
|
39 |
+
|
40 |
+
M. D. Stevens
|
space/space/jfk_text/104-10051-10170.md
ADDED
@@ -0,0 +1,962 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
104-10051-10170
|
2 |
+
2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
3 |
+
|
4 |
+
SECRET
|
5 |
+
|
6 |
+
ANNEX B
|
7 |
+
THE 201 SYSTEM
|
8 |
+
|
9 |
+
DOHB 70-1-1
|
10 |
+
CHAPTER III
|
11 |
+
15 November 1974
|
12 |
+
|
13 |
+
Rescission: Annex B of Chapter III, CSHB 70-1-1, 27 October 1966
|
14 |
+
|
15 |
+
1. INTRODUCTION
|
16 |
+
|
17 |
+
The 201 system provides a method for identifying a person of specific in-
|
18 |
+
terest to the Operations Directorate and for controlling and filing all pertinent
|
19 |
+
information about that person. The system also provides a means for identifying
|
20 |
+
subjects of 201 files from various categories of information about them and for
|
21 |
+
producing lisits of 201 personalities according to those categories. Only a rela-
|
22 |
+
tively small number of personalities indexed are of sufficient interest to justify
|
23 |
+
opening a 201 dossier. These are normally subjects of extensive reporting and
|
24 |
+
CI investigation, prospective agents and sources, members of groups and organi-
|
25 |
+
zations of continuing target interest, or subjects on whom a volume of corre-
|
26 |
+
spondence has accumulated.
|
27 |
+
|
28 |
+
2. THE 201 SYSTEM
|
29 |
+
|
30 |
+
The principal features of the 201 system are:
|
31 |
+
|
32 |
+
a. The 201 Number: a unique number, i.e., 201-1234567, assigned to each
|
33 |
+
individual in the system to serve as identifying file number for reporting on that
|
34 |
+
individual.
|
35 |
+
|
36 |
+
b. The 201 Dossier: the official file containing the 201 opening form (Form
|
37 |
+
831) and all biographic reporting on and references to the individual, i.e., per-
|
38 |
+
sonal history, current status, and prospects.
|
39 |
+
|
40 |
+
c. The Master 201 Record: a machine record generated by the opening of
|
41 |
+
a 201 file. This record produces the master 201 reference for the Main Index and
|
42 |
+
stores the pertinent information which may later be retrieved for special listings.
|
43 |
+
|
44 |
+
d. Main Index Master 201 Reference: this reference, printed in reply to an
|
45 |
+
Index Search Request, is printed as illustrated below. When data are absent
|
46 |
+
within the record, succeeding data items or lines will be moved up and the ref-
|
47 |
+
erence consolidated.
|
48 |
+
|
49 |
+
23
|
50 |
+
|
51 |
+
SECRET
|
52 |
+
|
53 |
+
14-00000
|
54 |
+
|
55 |
+
SECRET
|
56 |
+
|
57 |
+
DOHB 70-1-1
|
58 |
+
CHAPTER III, ANNEX B
|
59 |
+
15 November 1974
|
60 |
+
|
61 |
+
① 0002 CROIX, WILLIAM PENDLETON
|
62 |
+
② SEX M DOB 12 APR 26
|
63 |
+
③ CIT GERM
|
64 |
+
④ POB GERM, BERLIN ⑤
|
65 |
+
⑤ OCC PHARMACIST
|
66 |
+
⑥ OCC CODE CHEM
|
67 |
+
⑦ REF AACD-12345, 20 JUN 53
|
68 |
+
SUBJECT RECENTLY ATTENDED THE SEVENTEENTH ANNUAL
|
69 |
+
⑦ CONFERENCE OF THE INTERNATIONAL ASSOCIATION OF CHEMISTS
|
70 |
+
AND PHARMACISTS HELD IN MUNICH, GERMANY FROM 22 THROUGH
|
71 |
+
29 OCTOBER.
|
72 |
+
⑧ 201-0032671*
|
73 |
+
⑨ TYPE NAME T-
|
74 |
+
⑩ OI CODES AA XX-10
|
75 |
+
⑪ RCD DATE 53
|
76 |
+
|
77 |
+
⑬ 30 NOV 70
|
78 |
+
⑭ 00833555
|
79 |
+
|
80 |
+
Information About Subject
|
81 |
+
1. Sequence Number and Name
|
82 |
+
2. Sex and Date of Birth
|
83 |
+
3. Citizenship
|
84 |
+
4. Place of Birth
|
85 |
+
5. Occupation
|
86 |
+
6. Occupation Code
|
87 |
+
7. Text
|
88 |
+
|
89 |
+
Document Reference Data Group
|
90 |
+
8. 201 Number
|
91 |
+
9. Name Type Indicator
|
92 |
+
10. OI Codes
|
93 |
+
11. Record Date (year only)
|
94 |
+
12. Reference
|
95 |
+
|
96 |
+
ISG Control Information
|
97 |
+
13. Date of latest update of the record
|
98 |
+
14. STAR Index Record Number
|
99 |
+
|
100 |
+
24
|
101 |
+
SECRET
|
102 |
+
|
103 |
+
14-00000
|
104 |
+
|
105 |
+
SECRET
|
106 |
+
|
107 |
+
DOHB 70-1-1
|
108 |
+
CHAPTER III, ANNEX B
|
109 |
+
15 November 1974
|
110 |
+
|
111 |
+
e. Ol Code: a two letter symbol used in conjunction with the 201 per-
|
112 |
+
sonality records in the 201 system to record the association of an individual
|
113 |
+
with organizations or activities of operational interest. OI codes cover intelli-
|
114 |
+
gence and security service affiliation, whether staff or agent, or known or
|
115 |
+
suspect, as well as activities of DDO interest. There are two categories of OI
|
116 |
+
codes for use by components:
|
117 |
+
|
118 |
+
(1) general OI codes (Attachment 4)
|
119 |
+
|
120 |
+
(2) OI codes assigned to a specific component for intelligence services
|
121 |
+
or other specific organizations.
|
122 |
+
|
123 |
+
À component may request an OI code be established by submitting a mem-
|
124 |
+
orandum to the DDO/RMO through the component Records Management
|
125 |
+
Officer.
|
126 |
+
|
127 |
+
A 201 personality may be assigned two OI codes. An OI code may be assigned
|
128 |
+
when the 201 Personality File Action Request (Form 831) is initiated (see
|
129 |
+
paragraph 3b below) by filling in Box 13 or a code may be assigned or added
|
130 |
+
at a later date by a Form 831 amendment.
|
131 |
+
|
132 |
+
The 201 system has the capability of producing machine listings of 201
|
133 |
+
personalities by Ol codes. For example, if an OI code has been opened for the
|
134 |
+
security service of a certain country a listing may be compiled of all members
|
135 |
+
of that service.
|
136 |
+
|
137 |
+
f. 201 Machine Lists: produced from the mechanized 201 Index, based on
|
138 |
+
names or other identifying information of personalities on whom 201 dossiers
|
139 |
+
exist.
|
140 |
+
|
141 |
+
3. OPENING A 201 DOSSIER
|
142 |
+
|
143 |
+
a. General
|
144 |
+
|
145 |
+
The opening of a 201 dossier is the prerogative of an operational com-
|
146 |
+
ponent, in coordination with the Information Services Group. An opening creates
|
147 |
+
a master 201 record. Changes to the master record and the occasional closing
|
148 |
+
of a 201 dossier are controlled jointly by the desks and ISG. 201 dossiers may be
|
149 |
+
opened on persons who meet the carding criteria described in Chapter II of this
|
150 |
+
handbook, when there is a reasonable expectation that additional information
|
151 |
+
will be acquired and filed in such a dossier. Generally dossiers are opened on
|
152 |
+
persons about whom counterintelligence information is being reported, and per-
|
153 |
+
sons of operational interest to the Operations Directorate, specifically those
|
154 |
+
persons for whom provisional operational approvals and operational approvals
|
155 |
+
are requested (see exception below). 201 files are not to be opened on staff
|
156 |
+
employees, staff agents and most categories of contract employees. Files on
|
157 |
+
|
158 |
+
25
|
159 |
+
SECRET
|
160 |
+
|
161 |
+
14-00000
|
162 |
+
|
163 |
+
SECRET
|
164 |
+
|
165 |
+
DOHB 70-1-1
|
166 |
+
CHAPTER III, ANNEX B
|
167 |
+
15 November 1974
|
168 |
+
|
169 |
+
persons who are only of local interest to a field station or Headquarters desk
|
170 |
+
and on whom no DDO records correspondence exists are not a part of the DDO
|
171 |
+
records system and are to be maintained by that unit. Some desks levy require-
|
172 |
+
ments on ISG for automatic 201 openings on certain categories of persons whose
|
173 |
+
names appear in incoming dispatches. These are listed in Attachment 2. 201
|
174 |
+
dossiers should be opened in the following categories:
|
175 |
+
|
176 |
+
(1) Subjects of provisional operational approval and operational ap-
|
177 |
+
proval requests. However, a file need not be opened when a POA is requested
|
178 |
+
for persons being trained for a foreign liaison service and who are of opera-
|
179 |
+
tional interest for training purposes only.
|
180 |
+
|
181 |
+
(2) Persons for whom the field requests a 201 opening.
|
182 |
+
|
183 |
+
(3) MHFIXTURE personalities: bonafide diplomats of other than
|
184 |
+
denied area countries, in close association with staff personnel.
|
185 |
+
|
186 |
+
(4) Subjects of a Personal Record Questionnaire Part I.
|
187 |
+
|
188 |
+
(5) Persons on whom a Main Index search reveals information in five
|
189 |
+
or more documents (see-DOI 70-20). -
|
190 |
+
|
191 |
+
(6) Subjects of Interagency Source Register memoranda from LSN/
|
192 |
+
ISR (opened only by IP/RMS).
|
193 |
+
|
194 |
+
b. Requesting a 201 File Opening
|
195 |
+
|
196 |
+
Headquarters desks may open a 201 file by filling out and submitting
|
197 |
+
a 201 Personality File Action Request (Form 831) to the Records Main-
|
198 |
+
tenance Section (IP/RMS). Form 831 is also used to create or amend the
|
199 |
+
master 201 record and 201 machine listings and to register the assign-
|
200 |
+
ment of a cryptonym to a 201 personality. Attachment 3 consists of sample
|
201 |
+
201 Personality File Action Requests for opening and amending 201's. A field
|
202 |
+
station may request the opening of a 201. file by writing 201- in the Head-
|
203 |
+
quarters file or cross-reference box on the dispatch form and/or after the
|
204 |
+
subject's name in the body of the dispatch. A telepouch request for a 201 opening
|
205 |
+
is made by indicating 201- in the file number line. A cable request is made by
|
206 |
+
placing 201- after the term "File" on the last line of the transmission. IP/AN
|
207 |
+
will open 201 files as requested by dispatch or telepouch but it is the responsi-
|
208 |
+
bility of the desk to respond to cable requests. Field stations are notified of
|
209 |
+
201 openings through receipt of the field master 201 record.
|
210 |
+
|
211 |
+
26
|
212 |
+
SECRET
|
213 |
+
|
214 |
+
14-00000
|
215 |
+
|
216 |
+
SECRET
|
217 |
+
|
218 |
+
DOHB 70-1-1
|
219 |
+
CHAPTER III, ANNEX B
|
220 |
+
15 November 1974
|
221 |
+
|
222 |
+
4. CONTENTS OF THE DOSSIER
|
223 |
+
|
224 |
+
Information about a 201 personality should be filed or cross-referenced into
|
225 |
+
his dossier. When additional information is discovered on a 201 subject through
|
226 |
+
a name trace or other process, i.e., review of predecessor documents, it must
|
227 |
+
be consolidated into his personality dossier. See DOI 70-20 for consolidation
|
228 |
+
procedures.
|
229 |
+
|
230 |
+
Material which is filed in the dossier includes but is not limited to:
|
231 |
+
|
232 |
+
a. 201 Personality File Action Request (Form 831).
|
233 |
+
|
234 |
+
b. Biographic information including photographs, fingerprints, and
|
235 |
+
handwriting samples.
|
236 |
+
|
237 |
+
c. Personal Record Questionnaire Parts I and II.
|
238 |
+
|
239 |
+
d. Operational and other security approvals.
|
240 |
+
|
241 |
+
e. Name check replies, requests, clearances, and approvals.
|
242 |
+
|
243 |
+
f. Acknowledgement of pseudonym.
|
244 |
+
|
245 |
+
g. 201 personality assessments and evaluations.
|
246 |
+
|
247 |
+
h. Copy of contract and termination papers.
|
248 |
+
|
249 |
+
i. Secrecy agreement.
|
250 |
+
|
251 |
+
j. Agent Duty Status Report.
|
252 |
+
|
253 |
+
k. Training and evaluation.
|
254 |
+
|
255 |
+
1. SGSWIRL report.
|
256 |
+
|
257 |
+
m. Newspaper clippings.
|
258 |
+
|
259 |
+
n. Any information which helps provide a better understanding of the
|
260 |
+
subject and our interest in him; this may include operational reporting.
|
261 |
+
|
262 |
+
5. ΜΑΙΝΤΕΝANCE OF 201 DOSSIERS
|
263 |
+
|
264 |
+
The 201 personality dossier contains, in document date order, papers which
|
265 |
+
have been made a part of the Central Records System as well as those which
|
266 |
+
have not. Record documents may range from newspaper or magazine articlės
|
267 |
+
on the subject to finance and other administrative papers.
|
268 |
+
|
269 |
+
26.1
|
270 |
+
SECRET
|
271 |
+
|
272 |
+
14-00000
|
273 |
+
|
274 |
+
SECRET
|
275 |
+
|
276 |
+
DOHB 70-1-1
|
277 |
+
CHAPTER III, ANNEX B
|
278 |
+
15 November 1974
|
279 |
+
|
280 |
+
a. Purging
|
281 |
+
Purging a 201 dossier is the responsibility of the desk officer. It requires
|
282 |
+
discrimination in recognizing operationally useful material, rather than the
|
283 |
+
simple distinction between official and unofficial papers; it will therefore take
|
284 |
+
place under the supervision of a Records Officer. Purging should be done
|
285 |
+
periodically. A 201 dossier being forwarded to Central Files for retention should
|
286 |
+
be purged. A 201 dossier should be purged of the following:
|
287 |
+
|
288 |
+
(1) Duplicate material, i.e., exact copy(s) of a document.
|
289 |
+
|
290 |
+
(2) Name trace form (Form 362) unless it has been the basis for
|
291 |
+
the opening.
|
292 |
+
|
293 |
+
(3) All abstract slips.
|
294 |
+
|
295 |
+
(4) All document restriction notices (Form 1884)..
|
296 |
+
|
297 |
+
(5) The disseminated version of positive intelligence information if
|
298 |
+
a copy of the raw report is contained in the 201 file; the dissemination number
|
299 |
+
then must be transferred to the first page of the raw report.
|
300 |
+
|
301 |
+
(6) Routing slips, routing and record sheets (Form 610) and dispatch
|
302 |
+
cover sheets unless there are remarks such as coordinations or comments.
|
303 |
+
|
304 |
+
(7) Record copy-doeuments which only repeat-substantive information
|
305 |
+
contained in other documents in the file; authorization for destruction is
|
306 |
+
by the Records Officer.
|
307 |
+
|
308 |
+
(8) Top Secret documents are not to be retained in a 201 dossier
|
309 |
+
forwarded to Central Files; the document must be downgraded for retention
|
310 |
+
in the 201 dossier. To downgrade a Top Secret document, an authorized
|
311 |
+
officer in the originating office or the Records Officer having jurisdiction
|
312 |
+
over the contents of the material must possess Top Secret classification
|
313 |
+
authority. If the document cannot be downgraded the file should be retained
|
314 |
+
at the desk or the copy of the TS document should be removed, retained
|
315 |
+
in a desk TS file or forwarded to the Top Secret Control Officer, and a
|
316 |
+
cross-reference sheet (Form 867) placed in the 201 file giving the location
|
317 |
+
of the TS document.
|
318 |
+
|
319 |
+
(9) Deferred documents (see 5b(2)).
|
320 |
+
|
321 |
+
b. Maintenance Procedures
|
322 |
+
|
323 |
+
(1) All material in a 201 dossier will be filed in document date order.
|
324 |
+
In the case of document attachments which have been classified into a 201
|
325 |
+
|
326 |
+
26.2
|
327 |
+
SECRET
|
328 |
+
|
329 |
+
14-00000
|
330 |
+
|
331 |
+
SECRET
|
332 |
+
|
333 |
+
DOHB 70-1-1
|
334 |
+
CHAPTER III, ANNEX B
|
335 |
+
15 November 1974
|
336 |
+
|
337 |
+
dossier and separated from the basic document by the assignment of a slash
|
338 |
+
number, the attachment will be filed by the date of the basic document.
|
339 |
+
|
340 |
+
(2) Deferred documents will not be filed in a 201 dossier. If they are
|
341 |
+
to be retained in the dossier they should be sent to IP/RMS for classification
|
342 |
+
into that 201.
|
343 |
+
|
344 |
+
(3) Field index cards (held by some desks) and area desk cards may
|
345 |
+
be retained in the 201 as part of a consolidation procedure. These cards
|
346 |
+
should be mounted on a full-size sheet of paper for filing in the 201..
|
347 |
+
|
348 |
+
(4) A 201 dossier previously opened on a person who becomes a staff
|
349 |
+
employee and which contains Record Copy documents will be restricted to
|
350 |
+
the ISG/DIP unless the desk retains the restriction. The dossier should be
|
351 |
+
closed if there are no Record Copy documents in it.
|
352 |
+
|
353 |
+
(5) A 201 opened in pseudonym should be consolidated into the true
|
354 |
+
name 201 if one exists or converted to the true name.
|
355 |
+
|
356 |
+
(6) Field and duplicate (shadow) 201 files no longer of active interest
|
357 |
+
should be incorporated into the official 201 after the duplicate material
|
358 |
+
has been purged by the desk officer and the remaining information classified
|
359 |
+
to that 201 by the Analysis Section (IP/AN).
|
360 |
+
|
361 |
+
(7) Any document with a predecessor organization cover sheet or an
|
362 |
+
OPC (Office of Policy Coordination) cover sheet from the Archives and
|
363 |
+
Disposition Section (IP/ARD) must be returned to IP/ARD for processing
|
364 |
+
to the 201.
|
365 |
+
|
366 |
+
(8) Desk memoranda (with or without a document source number)
|
367 |
+
containing substantive or derogatory information on the subject of the 201
|
368 |
+
should be sent to. IP/AN to be classified officially into the 201 file.
|
369 |
+
|
370 |
+
(9) An attachment which should be separated from its basic document
|
371 |
+
for inclusion in a 201 personality dossier will be forwarded with the basic
|
372 |
+
document to IP/AN for processing into the 201.
|
373 |
+
|
374 |
+
(10) To retain the P&L, RYBAT, or KAPOK sensitivity of a document
|
375 |
+
remaining in a 201 dossier being retired to Central Files, place that document
|
376 |
+
in an envelope sealed with black tape (see DOI 70-17). Any RYBAT, P&L,
|
377 |
+
or KAPOK document sent to Central Files not in a black-taped envelope will
|
378 |
+
automatically be handled as desensitized. A black-taped envelope may con-
|
379 |
+
tain only one document and must be filed in chronological order within the
|
380 |
+
file. If there are numerous documents of this type the desk officer may black-
|
381 |
+
tape the entire dossier rather than individual documents (see DOI 70-10).
|
382 |
+
|
383 |
+
26.3
|
384 |
+
SECRET
|
385 |
+
|
386 |
+
14-00000
|
387 |
+
|
388 |
+
SECRET
|
389 |
+
|
390 |
+
DOHB 70-1-1
|
391 |
+
CHAPTER III, ANNEX B
|
392 |
+
15 November 1974
|
393 |
+
|
394 |
+
Black-taped dossiers or dossiers with black-taped documents will be
|
395 |
+
handled as restricted dossiers.
|
396 |
+
|
397 |
+
(11) An inactive 201 dossier or an inactive volume of a large 201
|
398 |
+
dossier on permanent charge should be returned to Central Files under a
|
399 |
+
Routing and Record Sheet with the notation shown below..
|
400 |
+
|
401 |
+
UNCLASSIFIED
|
402 |
+
INTERNAL
|
403 |
+
USE ONLY
|
404 |
+
CONFIDENTIAL
|
405 |
+
SECRET
|
406 |
+
|
407 |
+
ROUTING AND RECORD SHEET
|
408 |
+
|
409 |
+
FROM
|
410 |
+
SUBJECT:
|
411 |
+
TRANSMITTAL OF INACTIVE 201 DOSSIERS
|
412 |
+
TO
|
413 |
+
DATE
|
414 |
+
BUILDING
|
415 |
+
|
416 |
+
BUILDING
|
417 |
+
|
418 |
+
NO
|
419 |
+
DATE
|
420 |
+
|
421 |
+
building)
|
422 |
+
|
423 |
+
OFFICER'S
|
424 |
+
INITIALS
|
425 |
+
COMMENTS (Humber cach comment to show from whos
|
426 |
+
who Draw a line avess amater auch comment
|
427 |
+
BECOMA PORWARDED
|
428 |
+
1.
|
429 |
+
IP/Files
|
430 |
+
GC-52
|
431 |
+
(For guidance see CSAB 70-1-1,
|
432 |
+
Chapter III, Annex В.)
|
433 |
+
|
434 |
+
2
|
435 |
+
3.
|
436 |
+
Volume(s) of
|
437 |
+
volume(s)
|
438 |
+
of 201-
|
439 |
+
7.
|
440 |
+
10.
|
441 |
+
Restricted Dossier
|
442 |
+
(Attach Form 2021 to
|
443 |
+
Dossier)
|
444 |
+
|
445 |
+
Non-Restricted Dossier
|
446 |
+
For Split Charge Dossiers:
|
447 |
+
11.
|
448 |
+
All documents prior to
|
449 |
+
|
450 |
+
:
|
451 |
+
(date)
|
452 |
+
12.
|
453 |
+
forwarded to IP/Files. All
|
454 |
+
13.
|
455 |
+
14.
|
456 |
+
15.
|
457 |
+
documents after
|
458 |
+
|
459 |
+
(date)
|
460 |
+
|
461 |
+
retained at
|
462 |
+
desk.
|
463 |
+
|
464 |
+
CL, BY: 007622
|
465 |
+
FORM
|
466 |
+
8-74
|
467 |
+
BIOE
|
468 |
+
SECRET
|
469 |
+
CONFIDENTIAL
|
470 |
+
INTERNAL
|
471 |
+
USE ONLY
|
472 |
+
UNCLASSIFIED
|
473 |
+
26.4
|
474 |
+
SECRET
|
475 |
+
|
476 |
+
14-00000
|
477 |
+
|
478 |
+
SECRET
|
479 |
+
DOHB 70-1-1
|
480 |
+
CHAPTER III, ANNEX B
|
481 |
+
15 November 1974
|
482 |
+
|
483 |
+
6. 201 DOSSIER CHARGES
|
484 |
+
|
485 |
+
A 201 dossier may be kept on permanent charge at the desk during any
|
486 |
+
period of active interest. If the dossier is transferred to another desk, the desk
|
487 |
+
officer who is transferring the dossier must notify Central Files of the transfer.
|
488 |
+
Central Files will then send the Notice of Transfer of Document or File Account-
|
489 |
+
ability (Form 2977) to the new action desk officer.
|
490 |
+
|
491 |
+
TO:
|
492 |
+
NAME
|
493 |
+
|
494 |
+
CONFIDENTIAL
|
495 |
+
(When yilled In)
|
496 |
+
NOTICE OF TRANSFER OF DOCUMENT OR FILE ACCOUNTABILITY
|
497 |
+
BADGE
|
498 |
+
COMPONENT
|
499 |
+
ROOM
|
500 |
+
TUBE
|
501 |
+
EXT.
|
502 |
+
|
503 |
+
This is to notify you that accountability for the document(s) and/or file(s) cited
|
504 |
+
below has been transferred to you by:
|
505 |
+
|
506 |
+
DANE
|
507 |
+
BADSE
|
508 |
+
COMPONENT
|
509 |
+
Accordingly, IP's records now reflect you as the custodian. Please contact IP/Files,
|
510 |
+
Ext. 4362, if you have any questions regarding this transfer.
|
511 |
+
|
512 |
+
SUBJECT-OF REQUEST
|
513 |
+
PORN 2977 USE PREVIOUS EDITIONS
|
514 |
+
1-73
|
515 |
+
FILE NO
|
516 |
+
DOC. SYMBOL & NUNBER DOC. DATE
|
517 |
+
CONFIDENTIAL
|
518 |
+
DATE
|
519 |
+
OF
|
520 |
+
TRANSFER
|
521 |
+
CHARGE
|
522 |
+
PERM
|
523 |
+
OR TENP
|
524 |
+
REG.NO.
|
525 |
+
CL. BY: 007622
|
526 |
+
|
527 |
+
The new action desk officer must then fill out a 201 Personality File Action
|
528 |
+
Request (Form 813) to change the action desk designation to insure that the
|
529 |
+
201 personality will be included in the Headquarters and field machine listings
|
530 |
+
for his component.
|
531 |
+
|
532 |
+
7. RESTRICTED DOSSIERS
|
533 |
+
|
534 |
+
a. Access to a sensitive 201 dossier may be restricted by holding the file at the
|
535 |
+
desk or placing it on restriction in Central Files.
|
536 |
+
|
537 |
+
(1) The dossier may be restricted by checking Box 2 on the 201
|
538 |
+
Personality File Action Request (Form 831) when the file is opened.
|
539 |
+
|
540 |
+
26.5
|
541 |
+
SECRET
|
542 |
+
|
543 |
+
14-00000
|
544 |
+
|
545 |
+
SECRET
|
546 |
+
|
547 |
+
DOHB 70-1-1
|
548 |
+
CHAPTER III, ANNEX B
|
549 |
+
15 November 1974
|
550 |
+
|
551 |
+
(2) The dossier may be restricted by holding it on permanent charge
|
552 |
+
from Central Files. (Note: To maintain the restriction of a dossier being
|
553 |
+
returned to Central Files for retention, a File Restriction Notice (Form
|
554 |
+
2021) must accompany the dossier.)
|
555 |
+
|
556 |
+
(3) The dossier may be restricted and held in Central Files by sub-
|
557 |
+
mitting a File Restriction Notice (Form 2021).
|
558 |
+
|
559 |
+
CONFIDENTIAL
|
560 |
+
(When Filled In)
|
561 |
+
|
562 |
+
TO
|
563 |
+
DATE
|
564 |
+
INITIALS
|
565 |
+
|
566 |
+
IP/FI
|
567 |
+
GC-52 TUBE DT-6
|
568 |
+
|
569 |
+
FILE RESTRICTION NOTICE
|
570 |
+
IP/DCU
|
571 |
+
GC-40 TUBE HT-4
|
572 |
+
|
573 |
+
ACTION DESK: 1.
|
574 |
+
To restrict a file, complete Section A (signature of R.O. not
|
575 |
+
necessary).
|
576 |
+
2.
|
577 |
+
To remove a restriction, complete Section B (R.O. signature
|
578 |
+
necessary).
|
579 |
+
|
580 |
+
SECTION A
|
581 |
+
FILE NUMBER
|
582 |
+
RESTRICT TO: (Use country or non-country code number. See CSI 70-28).
|
583 |
+
RESTRICTED BY:
|
584 |
+
COMPONENT:
|
585 |
+
(Name)
|
586 |
+
Date:
|
587 |
+
|
588 |
+
SECTION B
|
589 |
+
REMOVE RESTRICTION (AUTHORIZED BY)
|
590 |
+
R.O. No.
|
591 |
+
COMPONENT:
|
592 |
+
Date:
|
593 |
+
|
594 |
+
FORM
|
595 |
+
2-73 2021 EDITIONS
|
596 |
+
|
597 |
+
USE PREVIOUS
|
598 |
+
CONFIDENTIAL
|
599 |
+
8-2, IMPOET CL BY: 067622
|
600 |
+
(13)
|
601 |
+
|
602 |
+
... b. Access to a restricted dossier located in Central Files is limited to the
|
603 |
+
personnel of the restricting desk or persons authorized by that desk. Any request
|
604 |
+
for the charge of a restricted dossier or any document within a restricted dossier
|
605 |
+
held in Central Files will be forwarded with the entire dossier and a multiple-
|
606 |
+
routed cover sheet to the restricting desk. This desk may then forward the file
|
607 |
+
to the requester or deny the request and return the dossier to Central Files. The
|
608 |
+
desk will notify the requester of a denial.
|
609 |
+
|
610 |
+
c. Anyone requesting a restricted dossier, or a document within a restricted
|
611 |
+
dossier, permanently or temporarily charged to a desk, will be referred to that
|
612 |
+
desk by Central Files.
|
613 |
+
|
614 |
+
26.6
|
615 |
+
SECRET
|
616 |
+
|
617 |
+
14-00000
|
618 |
+
|
619 |
+
SECRET
|
620 |
+
|
621 |
+
DOHB 70-1-1
|
622 |
+
CHAPTER III, ANNEX B
|
623 |
+
15 November 1974
|
624 |
+
|
625 |
+
8. REQUESTS FOR INFORMATION ON 201 PERSONALITIES
|
626 |
+
|
627 |
+
The Automated Index Section (IP/AIS) will provide the identity of the
|
628 |
+
subject of a 201 number unless the 201 file is restricted, in which case the
|
629 |
+
requester will be referred to the restricting desk.
|
630 |
+
|
631 |
+
IP/AIS will also provide the 201 number assigned to a name, unless the 201
|
632 |
+
file is restricted, or state that there is no 201 number assigned. Requesters should
|
633 |
+
supply identifying information whenever available for each name submitted.
|
634 |
+
|
635 |
+
Requests pertaining to five or fewer names or numbers may be made by
|
636 |
+
telephone by calling the IP/AIS red line extension; IP/AIS will provide the
|
637 |
+
information by return call to the requester's extension as listed in the Badge
|
638 |
+
Table. Requests for more than five names or numbers must be listed and sent
|
639 |
+
by tube or courier to IP/AIS; IP/AIS will reply by return mail.
|
640 |
+
|
641 |
+
9. 201 DOSSIER CANCELLATION
|
642 |
+
|
643 |
+
A 201 file may be authorized for cancellation by a Records Officer, after
|
644 |
+
appropriate coordination. The file should be forwarded to IP/RMS which will
|
645 |
+
destroy the folder and the cards leading to it and will remove the name and
|
646 |
+
number from-machine lists. Any Record Copy document contained in the folder
|
647 |
+
will be reclassified to another appropriate file or sent to the Destruction Unit
|
648 |
+
(IP/DU) as directed by the desk Records Officer.
|
649 |
+
|
650 |
+
10. 201 MACHINE LISTINGS
|
651 |
+
|
652 |
+
Machine listings provide field stations and Headquarters desks with names
|
653 |
+
and 201 numbers in the requester's particular geographic or functional area of
|
654 |
+
interest. If a component wishes to exclude a sensitive 201 personality from its
|
655 |
+
alphabetic, numeric, and cryptonym listings, this may be done when opening
|
656 |
+
the 201 or later by a 201 amendment. On the 201 Personality File Action Request
|
657 |
+
(Form 831) leave the country of location (Box 15) and interest desk (Box 16)
|
658 |
+
blank, use the non-country code 900 in the action box (Box 14), and indicate
|
659 |
+
permanent charge to the responsible desk. The only listing which will include the
|
660 |
+
201 number is the IP/201 record for the Vital Records program. 201 listings are
|
661 |
+
categorized as standard or nonstandard and as scheduled or special.
|
662 |
+
|
663 |
+
a. Standard Listings
|
664 |
+
|
665 |
+
Issued semi-annually to Headquarters and the field; based on a component's
|
666 |
+
interest as indicated in the "Action Desk," "Country of Location," and "Interest
|
667 |
+
|
668 |
+
26.7
|
669 |
+
SECRET
|
670 |
+
|
671 |
+
14-00000
|
672 |
+
|
673 |
+
SECRET
|
674 |
+
DOHB 70-1-1
|
675 |
+
CHAPTER III, ANNEX B
|
676 |
+
15 November 1974
|
677 |
+
|
678 |
+
Desk" blocks on the 201 Personality File Action Request (Form 831). The
|
679 |
+
standard listings available are:
|
680 |
+
|
681 |
+
(1) Alphabetical by surname, leading to a 201 number;
|
682 |
+
|
683 |
+
(2) Alphabetical by given name, leading to a 201 number;
|
684 |
+
|
685 |
+
(3) Alphabetical by cryptonym, leading to a 201 number;
|
686 |
+
|
687 |
+
(4) Numerical, leading to a surname;
|
688 |
+
|
689 |
+
(5) Numerical, leading to a cryptonym.
|
690 |
+
|
691 |
+
201 SURNAME ALPHA LIST
|
692 |
+
03 ICT 1973
|
693 |
+
|
694 |
+
SECRET/ORGANIZATION INTERNAL USE ONLY
|
695 |
+
CHEN, SHAI-1 7115/1343/9030/
|
696 |
+
CHEN, SHOU-1 7115/1343/0001/
|
697 |
+
CIPAN, SHIU 1. /7115/1343/0001/
|
698 |
+
CHEN, SHCU-JFN 16774/1108/0038
|
699 |
+
CHEN, SHOU MET
|
700 |
+
NAME
|
701 |
+
|
702 |
+
TYPE DOR
|
703 |
+
CHEN, SU MING 17109/1343/690
|
704 |
+
CHEN SHE SHEH /7115/1103/001
|
705 |
+
CHEN, SHCU-145
|
706 |
+
CHFY, SHE-15G 7115/1109/1
|
707 |
+
CHEN SHCU 126 /0701/1343/LPOT
|
708 |
+
CHEN, ST-VES 77115/1103/495
|
709 |
+
CN, SPC
|
710 |
+
CHEY, SHU-GA
|
711 |
+
CIFY. SHU-CHEY 17115/2895/6930
|
712 |
+
CIPE SHY CHPAN 7115/3219/122
|
713 |
+
CILIEN, SHU-CHUAN 7115/2995/2
|
714 |
+
CHEN, SHU CO/7115/2985/2797
|
715 |
+
COFA, SHU FEA
|
716 |
+
CHEY, SHII HA 17115/2885/3185/
|
717 |
+
CHF, SHJ HSIANG /7115/2579/74
|
718 |
+
CFY, SH-51047115/2995/7
|
719 |
+
CHEN, SHU HS/7115/2895/8133-
|
720 |
+
CHI. SHU-HA
|
721 |
+
CFRND, SHII-1 47115/2205/5030/
|
722 |
+
CHEN, SHU KUET /7115/2295/2710
|
723 |
+
CHEN SHU LAV
|
724 |
+
CHEN, SHPI LIANG 77115/0547/009
|
725 |
+
CHER. STAI LI 17115/2579/2651/
|
726 |
+
CHIEN, SH-LING 17109/2973/010
|
727 |
+
CIF, SHU-1
|
728 |
+
CHEN, SHU 7115/2883/0589/
|
729 |
+
CHEPI. SHU-PAD 7115/?579/0202/
|
730 |
+
CHEN, SHU-SE/7115/2899/2773/
|
731 |
+
CHIEY, SH-50A/7115/2579/091
|
732 |
+
CHEN, SHU-TE 17115/2495/1795/
|
733 |
+
CHEN, SHU TEH /475/
|
734 |
+
1.1. SHI5/0647/6639
|
735 |
+
CIPC75
|
736 |
+
CHPT, SL T21/7115/0647/0317/
|
737 |
+
CHPEN, SH-7115/2695/1031
|
738 |
+
CHPEN, SHU-YIN
|
739 |
+
CHEN, SH 14/7115/2895/5391/
|
740 |
+
CHIN SHI-474 /7115/2579/6992/
|
741 |
+
LEE MARIT
|
742 |
+
YR
|
743 |
+
17JUL15
|
744 |
+
24 JAN11
|
745 |
+
04JAN19
|
746 |
+
210CT08
|
747 |
+
12 NOV22
|
748 |
+
18MAR45
|
749 |
+
C41
|
750 |
+
BIRTHPLACE
|
751 |
+
CTRY CITY
|
752 |
+
CHIN, KWANGTUNG
|
753 |
+
CHIN, ANYOY
|
754 |
+
CHIN, FUKIEN, PROV.
|
755 |
+
CHIN, PANCIUPIA, PORT ARTH
|
756 |
+
CHIN, HUMAN
|
757 |
+
CUTIE CANTOY
|
758 |
+
OZSEP26 - CHIH, LIACAL PRO
|
759 |
+
12JAN18
|
760 |
+
Hite FERIEN
|
761 |
+
CHIN, CANTON
|
762 |
+
CHTH, KLANGTHING PROV
|
763 |
+
OCC. CIT.
|
764 |
+
CHINT 0165401
|
765 |
+
20101-1 01-2 ACT. LOC. ENT.
|
766 |
+
CECY CIRY CIRY
|
767 |
+
CHIN HX
|
768 |
+
DIPT 0230059
|
769 |
+
0178653
|
770 |
+
CHIN CHIN
|
771 |
+
CHIN
|
772 |
+
BUSP CCOMP 0043751-
|
773 |
+
CHIN HK
|
774 |
+
CHIN? 0234629
|
775 |
+
CHAT
|
776 |
+
CHIN CUBA
|
777 |
+
0179620
|
778 |
+
CHIN CHEN
|
779 |
+
CNAT 0069796
|
780 |
+
CHIN
|
781 |
+
RIPT CCON 0905390
|
782 |
+
CHEN MALT
|
783 |
+
ENGE CAAT 0832855
|
784 |
+
CHIK
|
785 |
+
GILK HK
|
786 |
+
CHINT 0130415
|
787 |
+
CHIR TAM
|
788 |
+
09 JUN99
|
789 |
+
PROF CHINT 0040298
|
790 |
+
CHIN USA
|
791 |
+
1905619
|
792 |
+
CNAF7 0052638
|
793 |
+
CHIN HWAL
|
794 |
+
02 JUL 30
|
795 |
+
CHIN, KWANGTUNG PROV.
|
796 |
+
ARMY CHAT 0329328
|
797 |
+
CHIR TAIN
|
798 |
+
19
|
799 |
+
NDV30
|
800 |
+
CIRC22
|
801 |
+
CHIN, MIJAN TANG TS
|
802 |
+
CHIN.PFILIU
|
803 |
+
CHIN? 0124438
|
804 |
+
TSEA CNAT
|
805 |
+
0797335
|
806 |
+
CHIN MX
|
807 |
+
CHINT 0200223
|
808 |
+
CHEN
|
809 |
+
0488577
|
810 |
+
CHIN ETH
|
811 |
+
CHIN, KHANGTUNG
|
812 |
+
CHIN? 0179621
|
813 |
+
CHIM CHIN
|
814 |
+
10
|
815 |
+
23FEROT
|
816 |
+
OSMAYLA
|
817 |
+
30M4326
|
818 |
+
CHIN, FUKIEN
|
819 |
+
CHIN, KHANGTUNG
|
820 |
+
CHIN, FOCCHCH
|
821 |
+
CHIN? 0015759
|
822 |
+
CHIN
|
823 |
+
CCOM? 0073195
|
824 |
+
CHIN
|
825 |
+
CHIN? 0179622
|
826 |
+
CHIN CHIN
|
827 |
+
DIPT CCCM 0223161
|
828 |
+
CHIN CEY
|
829 |
+
OSFER 10
|
830 |
+
CHIN, HOPET
|
831 |
+
DIPT CHAT 083-150
|
832 |
+
CHIN USA
|
833 |
+
27NOV23
|
834 |
+
CHIN, FANG CHANG
|
835 |
+
PROF CHIN? 0179673
|
836 |
+
CHEN CHIN
|
837 |
+
CHIN SHU LAV
|
838 |
+
R
|
839 |
+
CHIN
|
840 |
+
CIRCZE
|
841 |
+
CHEN
|
842 |
+
CCOM 0221072
|
843 |
+
DIPT CHIN? 0223162
|
844 |
+
CHEN CHIN
|
845 |
+
CHIM CHÍN
|
846 |
+
25NDV20
|
847 |
+
CHIN, FERGSHUN
|
848 |
+
CHIN? 0179624
|
849 |
+
CHIN TAIW
|
850 |
+
01 JUL 29
|
851 |
+
CHIN, KIANGSU
|
852 |
+
MILA CCON 0854450
|
853 |
+
CHIN LACS
|
854 |
+
205620
|
855 |
+
CHIN, NSCAM-HSIEN, KIANGSU
|
856 |
+
CHAT 0096747
|
857 |
+
CHEY US
|
858 |
+
15APR 30
|
859 |
+
CHIN.CHANGHAI
|
860 |
+
CMMO CHIN? 0179625
|
861 |
+
CH
|
862 |
+
CHIN CHIN
|
863 |
+
१९०६८19
|
864 |
+
CHIM, KHANGELING PROV.
|
865 |
+
CNAT? 0052638
|
866 |
+
CHEN HWAΣ
|
867 |
+
10DEC26
|
868 |
+
CHEN, KHANGTUIG
|
869 |
+
CHIN? 0005119
|
870 |
+
CHER TAIW
|
871 |
+
27JAN25
|
872 |
+
CHIP, FUXIEN PROV
|
873 |
+
CHIN? O103289-
|
874 |
+
CHIN CHIN
|
875 |
+
210EC37
|
876 |
+
CHIN, SHANGHAI
|
877 |
+
GEOL CHIN? 076316
|
878 |
+
CHIN BU
|
879 |
+
27MAP 20
|
880 |
+
CHIN, CHANG SHU
|
881 |
+
0013991
|
882 |
+
CHIN
|
883 |
+
CHEN CHIN
|
884 |
+
CHEN CHA 19 7115/257/3842 ני ١١ ٢٠٠١٦/
|
885 |
+
|
886 |
+
CHINT
|
887 |
+
FIN
|
888 |
+
05APR17
|
889 |
+
CHIN, PEIPING
|
890 |
+
15JUNOG CHIN, FARG CILEN KW
|
891 |
+
0200130
|
892 |
+
CHIN, HENG YANG HSIEN, HUN ARMY
|
893 |
+
17/F439
|
894 |
+
CHEN. CIF BANG
|
895 |
+
INT
|
896 |
+
0313010
|
897 |
+
21APP 21
|
898 |
+
CHIN. SPΑΝΔΡΑΣ
|
899 |
+
CHINT G044010
|
900 |
+
V
|
901 |
+
045+P2P
|
902 |
+
CHIN, 3/1CHWAN
|
903 |
+
CHIN? 0153927
|
904 |
+
CCOM 0767442
|
905 |
+
CC047 0093176
|
906 |
+
CHINT 0107336
|
907 |
+
CHIN? 0179626
|
908 |
+
ENAT 0347529
|
909 |
+
CHIN CHIN
|
910 |
+
CHIN UK
|
911 |
+
|
912 |
+
CHEN 7115/2579/2737/
|
913 |
+
CHEN, SH SH 129 /7115/0647/0317/
|
914 |
+
CHEN, SH-7115/2695/1031
|
915 |
+
CHEN, SHU-YIN
|
916 |
+
CHEN, SH 14/7115/2895/5391/
|
917 |
+
CHIN SHI-474 /7115/2579/6992/
|
918 |
+
AZFEROS
|
919 |
+
110V00
|
920 |
+
CHIN, KARIGTING
|
921 |
+
V
|
922 |
+
CHINT 0144758
|
923 |
+
CHIN TAIN
|
924 |
+
|
925 |
+
CHIN, KHANG CICH
|
926 |
+
|
927 |
+
V
|
928 |
+
CHEN, SH 14/7115/2895/3842/
|
929 |
+
|
930 |
+
0191320
|
931 |
+
CHEN
|
932 |
+
CHIN
|
933 |
+
CHIN CHE او
|
934 |
+
CHIN
|
935 |
+
|
936 |
+
SECRET/ORGANIZATION INTERNAL USE DILY
|
937 |
+
EZ IMPORT CL BY 05477)
|
938 |
+
CHIN TAIN
|
939 |
+
PAGE
|
940 |
+
150
|
941 |
+
|
942 |
+
26.8
|
943 |
+
SECRET
|
944 |
+
|
945 |
+
14-00000
|
946 |
+
|
947 |
+
SECRET
|
948 |
+
DOHB 70-1-1
|
949 |
+
CHAPTER III, ANNEX В
|
950 |
+
15 November 1974
|
951 |
+
|
952 |
+
All standard listings are cumulative; previous editions must be destroyed
|
953 |
+
upon receipt of current editions. These listings are by their very nature extremely
|
954 |
+
sensitive compilations of information and must be given every possible safeguard.
|
955 |
+
|
956 |
+
b. Non-Standard Listings
|
957 |
+
Based on one or more of the following selection criteria:
|
958 |
+
(1) Country of location
|
959 |
+
(2) OI codes (organization and/or intelligence affiliation)
|
960 |
+
(3) Citizenship
|
961 |
+
(4) Year of birth (plus or minus a given number of years)
|
962 |
+
(
|
space/space/jfk_text/104-10052-10130.md
ADDED
@@ -0,0 +1,201 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
DISPATCH
|
2 |
+
|
3 |
+
CLASSIFICATION
|
4 |
+
SECRET
|
5 |
+
|
6 |
+
TO
|
7 |
+
Chief, WHD
|
8 |
+
|
9 |
+
INFO:
|
10 |
+
Chief, SAS; Chief of Station, WAVE
|
11 |
+
|
12 |
+
FROM
|
13 |
+
Chief of Station, Mexico City
|
14 |
+
|
15 |
+
SUBJECT
|
16 |
+
Contact Report/ITAMII-9
|
17 |
+
|
18 |
+
Attached herewith are contact reports of meetings with LI TAMIL-9
|
19 |
+
on 17 and 29 July 1963.
|
20 |
+
|
21 |
+
Willard C CURTIS
|
22 |
+
|
23 |
+
Attachment:
|
24 |
+
Contact Report
|
25 |
+
|
26 |
+
Distribution:
|
27 |
+
2 - C/WHD w/2/att
|
28 |
+
2 - C/SAS w/a/att
|
29 |
+
2 - COS WAVE w/2/att
|
30 |
+
3 - Filos
|
31 |
+
|
32 |
+
DISPATCH SYMBOL AND NUMBER
|
33 |
+
HMMA 21849
|
34 |
+
|
35 |
+
CLASSIFICATION
|
36 |
+
SECRET
|
37 |
+
|
38 |
+
DATE
|
39 |
+
31 July 1963
|
40 |
+
|
41 |
+
HOS FILE NUMBER
|
42 |
+
201-330173
|
43 |
+
|
44 |
+
MEMORANDUM FOR THE
|
45 |
+
FROM
|
46 |
+
SUBJECT :
|
47 |
+
Lame
|
48 |
+
Meen 11-23 17 July 1963
|
49 |
+
|
50 |
+
1. An unexpected meeting was held with LAME on 17
|
51 |
+
July -- Barker has a scheduled meeting with AMSAL-1 the Comercio
|
52 |
+
Ejercicio Nacional and/or Campo at 2100 hours was the plan --
|
53 |
+
Barker arrived at 2103 hours and just as --was about to enter
|
54 |
+
stopped by the corner of Gutenberg and Thiers -- he just drove up --
|
55 |
+
to make a call to
|
56 |
+
at a pay phone.
|
57 |
+
was supposed to meet
|
58 |
+
--stopped out of the broad
|
59 |
+
--but as B's car sailed --
|
60 |
+
said, in English, "Here I am."
|
61 |
+
- got in the car and drove away
|
62 |
+
--explained that he had called B's home --
|
63 |
+
understood the mystery was because --
|
64 |
+
3's wife, he said
|
65 |
+
about 2030 hours and --
|
66 |
+
probably be back in about half an hour--LAME came to see who might be
|
67 |
+
(from the pay phone at Gutenberg
|
68 |
+
--saw Barker pass- Later spotted the car pull up by the corner in the
|
69 |
+
vicinity of Thiers usual purp
|
70 |
+
-later spotted the car pull up by the corner in the
|
71 |
+
Thiers usual purpose.
|
72 |
+
time, Barker had spoken with his -- His wife, be assumed
|
73 |
+
the word that the AME
|
74 |
+
-explained his presente
|
75 |
+
better pick up point -- LAME
|
76 |
+
the end
|
77 |
+
(partly true) --
|
78 |
+
was only co -- for
|
79 |
+
soon was made of another scheduled meeting with AMSEL at the
|
80 |
+
hotel --
|
81 |
+
Hotel where he had been supposed to keep
|
82 |
+
meeting, with AMSEL -- where he had been supposed to keep off at 2325 hours
|
83 |
+
that might reveal something about source of the story
|
84 |
+
|
85 |
+
(with Alan Culbertson in the vicinity of the Dawn Hotel) --
|
86 |
+
embassy and cultural sections are such sharp people, hence when -s. LAME
|
87 |
+
plotted clandestine correction -- that would seem
|
88 |
+
the dangerous. LAME explained his presence--at the --
|
89 |
+
and warning and saw his previous meetings were explained
|
90 |
+
3. reporti
|
91 |
+
Cuban Engravings
|
92 |
+
(4) He reports
|
93 |
+
scheduled and non scheduled developments
|
94 |
+
(a) A big celebration of the 5th of July--is being planned to take place
|
95 |
+
in (Hampico). Dida celebration -- will take place in the
|
96 |
+
Club Circulo Tampiconense. (Primary), the principal particip-
|
97 |
+
are RICO, and stink boat or
|
98 |
+
is ready for these events
|
99 |
+
(b)
|
100 |
+
|
101 |
+
was introduced to two new people - and asked if LAME had
|
102 |
+
seen them -- LAME had
|
103 |
+
|
104 |
+
She was introduced to the First Lady by (Inu) BARRIOS --
|
105 |
+
of the first Lady (Chronic).
|
106 |
+
(c) The first Lady, the now Consul Colonel, that,
|
107 |
+
because he has done quite well in his Cuban relations.
|
108 |
+
|
109 |
+
(d) APALCIO also reported that the passing PUCHU LA CUBA is
|
110 |
+
trying to obtain certain airprints.
|
111 |
+
|
112 |
+
(e) APALCIO said that when he was in Prague he had trouble
|
113 |
+
with the climate and he asked to be sent to some other Europe
|
114 |
+
country - was surprised at the suddenness of his transfer
|
115 |
+
to Mexico.
|
116 |
+
|
117 |
+
(f) response to a question as to the should be the who
|
118 |
+
as, as, in his
|
119 |
+
told B that
|
120 |
+
belief, would be easiest to recruit among the Embassy staff, said
|
121 |
+
that he knows about JOBAIN Loyalty to the Castro regime
|
122 |
+
felt might be recruitable but would never activate him in
|
123 |
+
he might want a
|
124 |
+
such a risky venture.goes window shopping along
|
125 |
+
San Juan de Letran often - might be approachable there.
|
126 |
+
|
127 |
+
(g) Only two Cubans were invited to the French Ambassador's
|
128 |
+
Residence on Bastille Day. Ambassador is becoming
|
129 |
+
more openly pro-Castro in appearance, but B behaved normal
|
130 |
+
to him at a cocktail party a short while ago. French cul
|
131 |
+
(and I don't know what their
|
132 |
+
-at the Embassy who introduced the Ambassador to
|
133 |
+
to the French
|
134 |
+
Attachee to which he introduced the Cuban Attache.
|
135 |
+
is a close friend of that of
|
136 |
+
stayed at his side during the celebration on
|
137 |
+
14th At this array , B only gave him a superficial man and
|
138 |
+
it became clear that there is a Cuban in the distinction
|
139 |
+
1 suggested he would be to give them an impression
|
140 |
+
of another young woman
|
141 |
+
to give
|
142 |
+
the impression they
|
143 |
+
did, the Americans
|
144 |
+
|
145 |
+
(h) of
|
146 |
+
reported on recent meetings with two Ecuadoreans with Escala
|
147 |
+
for the Embassy.
|
148 |
+
A few days ago APALCIO saw in a group of
|
149 |
+
immigrant Ecuadoreans in Ecuador
|
150 |
+
to to Cuba
|
151 |
+
(i) About an embassy employee is involved with
|
152 |
+
transactions with Mexican individuals -
|
153 |
+
restrictio
|
154 |
+
and that it is
|
155 |
+
that he may have to work in a more clandestine fashion to avoid
|
156 |
+
his personal friction -- in this connection
|
157 |
+
|
158 |
+
(j) At the the Embassy some underligation by - that the
|
159 |
+
|
160 |
+
(k) turned over to (for potential) a handbill put out
|
161 |
+
by the Escuela Normal Rural de Santa Therobe Coahuila
|
162 |
+
dated 10 June 1963, explaining that schools invitation
|
163 |
+
to Fidel Castro to act as sponsor of the 1958-1963
|
164 |
+
graduating class. Copy attached.
|
165 |
+
|
166 |
+
(1) turned out a pornographic cartoon (for return) dis-
|
167 |
+
tributed by pro-Castro elements in Tampico. Copy not
|
168 |
+
attached.
|
169 |
+
|
170 |
+
(m) Wilfredo of the Cuban Consulate, Tampico, reported that
|
171 |
+
Luisa CALDERON has a sister residing in Reynosa, Tem,
|
172 |
+
married to an American of Mexican descent. Luisa may
|
173 |
+
come up to the border to visit her sister soon -or her
|
174 |
+
mother may make the trip -- details not clear.
|
175 |
+
|
176 |
+
seems to respect him highly and to admire him for his. He is also
|
177 |
+
getting along very nicely with his new boss, APARICIO. His information
|
178 |
+
gathering method is still to keep his eyes and ears open and ask no questions
|
179 |
+
-thus he often gets only fragments -- while questions or discreet elicitati
|
180 |
+
might fill in detail. He is extremely wary lest he arouse any suspicion.
|
181 |
+
|
182 |
+
6. While he suggested that
|
183 |
+
he suggested that
|
184 |
+
on the 20th in
|
185 |
+
Madara -he was also concerned lest any disruption might
|
186 |
+
get him in trouble since he is the principal organizer of both affairs
|
187 |
+
felt that the Mexican government might think the disruption was engineered
|
188 |
+
by the Castro Cubans, themselves, to throw suspicion ca the anti-Castros.
|
189 |
+
|
190 |
+
is to protect him. He loves talking about
|
191 |
+
--and needs constant encouragement and shoring-up.
|
192 |
+
He lo inclined to wax himself on the back quite often and wait
|
193 |
+
This characteristic comes out in his conversation with whom B stops and says,
|
194 |
+
I think my ideas on handling such-and-such are pretty clever,
|
195 |
+
don't you
|
196 |
+
|
197 |
+
pick up Jill standing at the corner of Thiers and Melchor Ocampo
|
198 |
+
at the prescribed hour and driving slowly up the street to Thiers and Gutenberg
|
199 |
+
the street to Melchor Ocampo - Will cruise by in his car and make the pick
|
200 |
+
up while L is waiting. details will be worked out at the next
|
201 |
+
meeting.
|
space/space/jfk_text/104-10059-10099.md
ADDED
@@ -0,0 +1,501 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
14-00000
|
2 |
+
|
3 |
+
S-E-C-R-E-T
|
4 |
+
(When Filled In)
|
5 |
+
|
6 |
+
27 MAY 1966
|
7 |
+
|
8 |
+
MEMORANDUM FOR: DD/S-HB
|
9 |
+
ATTENTION : Mr. Joseph E. Murphy, Jr. GG 14
|
10 |
+
SUBJECT : PUGH, Robert West
|
11 |
+
#789 6567
|
12 |
+
08
|
13 |
+
|
14 |
+
1. Reference is made to your request dated 4 January 1966
|
15 |
+
wherein you requested a Covert Security Approval to permit Sub-
|
16 |
+
ject's use as First Officer in the Far East under Project HBILKA/
|
17 |
+
JBGREED.
|
18 |
+
12
|
19 |
+
2
|
20 |
+
C
|
21 |
+
|
22 |
+
2. In accordance with the provisions set forth in Clandestine
|
23 |
+
Services Instruction No. 10-5 and Clandestine Services Instruction
|
24 |
+
Field No. 10-5, a Covert Security Approval is granted for the use of
|
25 |
+
the Subject as described in your request as set forth in paragraph 1,
|
26 |
+
above.
|
27 |
+
|
28 |
+
3. Subjects of Covert Security Approvals are not to represent
|
29 |
+
themselves as, nor are they to be represented as, employees of CIA.
|
30 |
+
|
31 |
+
4. Your attention is called to the fact that a Covert Security
|
32 |
+
Approval does not constitute complete compliance with the provisions
|
33 |
+
of CIA Regulation 10-3. Therefore, if you should desire at a later
|
34 |
+
date to change the status or use of this individual, a request for
|
35 |
+
approval to cover any proposed change should be submitted to this
|
36 |
+
office.
|
37 |
+
|
38 |
+
5. This approval becomes invalid in the event the Subject's
|
39 |
+
services are not utilized within six months of the date of this
|
40 |
+
memorandum.
|
41 |
+
|
42 |
+
MICROFICHE REPRODUCTIONS
|
43 |
+
DESTROY AFTER USE
|
44 |
+
4/
|
45 |
+
|
46 |
+
Lenin (1. Rozt, for
|
47 |
+
Victor R. White
|
48 |
+
Deputy Director of Security
|
49 |
+
|
50 |
+
(IOS)
|
51 |
+
RETURN TO CIA
|
52 |
+
Background Use Only
|
53 |
+
Do Not Flaproduca
|
54 |
+
|
55 |
+
S-E-C-R-E-T
|
56 |
+
(When Filled-In)
|
57 |
+
GROUP I
|
58 |
+
Excluded from automatic
|
59 |
+
downgrading and declas-
|
60 |
+
sification.
|
61 |
+
|
62 |
+
---
|
63 |
+
14-00000
|
64 |
+
|
65 |
+
SECRET
|
66 |
+
|
67 |
+
27 MAY 1968
|
68 |
+
|
69 |
+
MEMORANDUM FOR: Chief, Executive Officer
|
70 |
+
Project HBILKA/JBGREED
|
71 |
+
SUBJECT : PUGH, Robert West
|
72 |
+
#789 6567
|
73 |
+
8
|
74 |
+
|
75 |
+
1. Reference is made to your request dated 4 January 1966
|
76 |
+
for a Covert Security Approval to permit Subject's use as a First
|
77 |
+
Officer in the Far East under Project HBILKA/JBGREED. Concurrent
|
78 |
+
with issuance of the approval, the following is offered for your
|
79 |
+
information.
|
80 |
+
|
81 |
+
2. Investigation has recently been completed with generally
|
82 |
+
favorable results. However, Subject's military file indicated that
|
83 |
+
he had been found unfit for duty due to excessive drinking, and
|
84 |
+
had been allowed to retire in the best interests of the Navy. His
|
85 |
+
Navy record stated that this drinking problem adversely affected
|
86 |
+
his judgement, reliability, and personal behavior. This weakness
|
87 |
+
had been discussed to no avail with Subject on several occasions.
|
88 |
+
It should be noted that domestic inquiries developed no indica-
|
89 |
+
tion of over-indulgence since his departure from the military on
|
90 |
+
October 1964.
|
91 |
+
|
92 |
+
3. Additionally, it was developed that Subject's brother
|
93 |
+
Bartholomew, aka: Bart PUGH, was the Subject of an FBI investi-
|
94 |
+
gation in 1941, which was conducted to resolve allegations regarding
|
95 |
+
the loyalty of Subject's brother. Subject's brother was determined
|
96 |
+
to have been associated with known Communists and was active in
|
97 |
+
Communist matters in the Los Angeles, California area during this
|
98 |
+
period of time. However, it was noted that these activities had
|
99 |
+
caused a break with this individual and his family, who were not
|
100 |
+
in sympathy with his viewpoints and activities. There was no
|
101 |
+
|
102 |
+
P
|
103 |
+
SECRET
|
104 |
+
GROUP 1:
|
105 |
+
Excluded from autumatic
|
106 |
+
dewa rading and
|
107 |
+
see Do
|
108 |
+
#45
|
109 |
+
|
110 |
+
---
|
111 |
+
|
112 |
+
C
|
113 |
+
14.00000
|
114 |
+
|
115 |
+
SECRET
|
116 |
+
|
117 |
+
information developed during the course of this investigation which
|
118 |
+
indicated any association between Subject and his brother.
|
119 |
+
|
120 |
+
4. Dissemination of the above information should be limited
|
121 |
+
to Staff and Project Officials on a strict "need to know" basis.
|
122 |
+
|
123 |
+
P.O'Connell
|
124 |
+
Howard J. Osborn
|
125 |
+
Director of Security
|
126 |
+
Cc: DD/S
|
127 |
+
|
128 |
+
SECRET
|
129 |
+
MICROFICHE REPRODUCTIONS
|
130 |
+
DESTROY AFTER USE
|
131 |
+
|
132 |
+
---
|
133 |
+
/PV
|
134 |
+
14-00000
|
135 |
+
|
136 |
+
DISPATCH
|
137 |
+
|
138 |
+
TO
|
139 |
+
Chief of Station, Taipei
|
140 |
+
INFO
|
141 |
+
FRO
|
142 |
+
SUBJECT
|
143 |
+
13-6
|
144 |
+
|
145 |
+
Chief, Far East
|
146 |
+
02
|
147 |
+
HEILKA/KUSODA
|
148 |
+
CLASSIFICATION
|
149 |
+
SECRET
|
150 |
+
02
|
151 |
+
ATTN: Chief, HEILKA
|
152 |
+
PROCESSING ACTION
|
153 |
+
MARKED FOR INDEXING
|
154 |
+
NO INDEXING REQUIRED
|
155 |
+
ONLY QUALIFIED DESK
|
156 |
+
CAN JUDGE INDEXING
|
157 |
+
MICROFILM
|
158 |
+
ACTION REQUIRED REFERENCES
|
159 |
+
|
160 |
+
1. A Covert Security Approval was granted IDSil on 27 May 1966 however the
|
161 |
+
following information is forwarded for your information.
|
162 |
+
|
163 |
+
Investigation has recently been completed with generally favorable results.
|
164 |
+
However IDEN's military file indicated that he had been found unfit for duty due to
|
165 |
+
excessive drinking, and had been allowed to retire in the best interests of the lavy.
|
166 |
+
His Navy record stated that this drinking problem adversely affected his judgment,
|
167 |
+
reliability, and personal behavior. This weakness had been discussed to no avail
|
168 |
+
with IDEN on several occasions. It should be noted that domestic inquiries developed
|
169 |
+
no indication of over-indulgence since his departure from the military in October 1964.
|
170 |
+
06
|
171 |
+
|
172 |
+
Additionally, it was developed that DKS's brother Bartholomew, oka: Bart,
|
173 |
+
vas the subject of an FBI investigation in 1941, which was conducted to resolve
|
174 |
+
allegations regarding the loyalty of IDEN's brother. IDEM's brother was determined
|
175 |
+
to have been associated with known Commmmists and vas active in Comamist matters in
|
176 |
+
the Los, Angeles, California area during this period of time. However, it was noted
|
177 |
+
that these activities had caused a break with this individual and his feadly, who vere
|
178 |
+
not in sympathy with his viewpoints and activities. There was no information developed
|
179 |
+
during the course of this investigation which indicated any association between ITEN
|
180 |
+
and his brother.
|
181 |
+
|
182 |
+
2. Dissemination of the above information should be limited to Staff and
|
183 |
+
Project Officials on a strict "need to know" basis.
|
184 |
+
|
185 |
+
Attachment:
|
186 |
+
IDEN (u/s/c)
|
187 |
+
Distribution:
|
188 |
+
Orig & 2 - Addressee
|
189 |
+
HUGH C. PARDEE
|
190 |
+
DOC# 04589
|
191 |
+
MICROFICHE REPRODUCTIONS
|
192 |
+
DESTROY AFTER USE
|
193 |
+
|
194 |
+
---
|
195 |
+
/PV
|
196 |
+
14-00000
|
197 |
+
1. A Covert Security Approval Approva was granted IKH on 27 May 1966 however the
|
198 |
+
following information is forwarded for your information.
|
199 |
+
|
200 |
+
Investigation has recently been completed with gemerally favorable results.
|
201 |
+
However IDEN's military file indicated that he had been found unfit for for duty due to
|
202 |
+
excessive drinking, and had been allowed to retire in the best interests of the lavy.
|
203 |
+
His Navy record stated that this drinking problem adversely affected his judgment,
|
204 |
+
reliability, and personal behavior. This veakness had been discussed to nail
|
205 |
+
with IDEN on several occasions. It should be noted that domestic inquiries developed
|
206 |
+
no indication of over-indulgence since his departure from the military in October 1964.
|
207 |
+
|
208 |
+
Additionally, it was developed that IDEN's brother Bartholomew, aka: Bart,
|
209 |
+
was the subject of an FBI investigation in 1941, which was conducted to resolve
|
210 |
+
allegations regarding the loyalty of IDEN's brother. DEW's brother was determined
|
211 |
+
to have been associated with known Communists and was active in Commmist matters in
|
212 |
+
the Los, Angeles, California area during this period of time. However, it was noted
|
213 |
+
that these activities had caused a break with this individual and his family, who were
|
214 |
+
not in sympathy with his viewpoints and activities. There was no information developed
|
215 |
+
during the course of this investigation which indicated any association betusen IIEN
|
216 |
+
and his brother.
|
217 |
+
است
|
218 |
+
|
219 |
+
2. Dissemination of the above information should be limited to staff and
|
220 |
+
Project Officials on a strict "need to know" basis.
|
221 |
+
|
222 |
+
Attachment:
|
223 |
+
IDEN (u/s/c)
|
224 |
+
Distribution:
|
225 |
+
Orig & 2- Addressee
|
226 |
+
|
227 |
+
CROSS REFERENCE TO
|
228 |
+
MICROFICHE REPRODUCTIONS
|
229 |
+
DESTROY AFTER USE
|
230 |
+
HUGH C. PARURE
|
231 |
+
10-19
|
232 |
+
DISPATCH SYMBOL AND NUMBER
|
233 |
+
22
|
234 |
+
FCTB 8572
|
235 |
+
SECRET
|
236 |
+
CLASSIFICATION
|
237 |
+
DATE 14 JUL 1960
|
238 |
+
13 July 1966
|
239 |
+
HOS FILE NUMBER
|
240 |
+
OFFICE.....
|
241 |
+
10/8-3
|
242 |
+
OFFICER
|
243 |
+
ORIGINATING
|
244 |
+
TYPIST
|
245 |
+
COORDINATING
|
246 |
+
OFFICE SYMBOL
|
247 |
+
DATE
|
248 |
+
Distribution:
|
249 |
+
1-08/D/1
|
250 |
+
1- 10/8-13
|
251 |
+
08/ID/1
|
252 |
+
JETAMI
|
253 |
+
28
|
254 |
+
3/11/
|
255 |
+
FORM 53
|
256 |
+
1:03
|
257 |
+
USE PREVIOUS EDITION
|
258 |
+
OFFICER'S NAME
|
259 |
+
7/13/14 2751
|
260 |
+
DATE
|
261 |
+
(40)
|
262 |
+
JUL
|
263 |
+
968.
|
264 |
+
RELEASIDIG
|
265 |
+
OFFICERS SATURE
|
266 |
+
EXT.
|
267 |
+
6869
|
268 |
+
s
|
269 |
+
DISPATCH
|
270 |
+
|
271 |
+
---
|
272 |
+
2/月
|
273 |
+
14
|
274 |
+
SECRET
|
275 |
+
IDENTITY SHEET
|
276 |
+
C
|
277 |
+
UNDER SEPARATE COVER ATTACHME
|
278 |
+
FCIS-8572
|
279 |
+
22
|
280 |
+
|
281 |
+
FOR.
|
282 |
+
03
|
283 |
+
MR. ROBERT WEST PUCH
|
284 |
+
RYGAT
|
285 |
+
MICROFICHE REPRODUCTIONS
|
286 |
+
DESTROY AFTER USE
|
287 |
+
|
288 |
+
---
|
289 |
+
14-00000
|
290 |
+
|
291 |
+
7/PV
|
292 |
+
2
|
293 |
+
10/4/66
|
294 |
+
108 Chung Shan Road, North, 2nd Section
|
295 |
+
Taipei, Taiwan
|
296 |
+
REC'D WAS OCT 4 1966
|
297 |
+
PND-DP-66/4427
|
298 |
+
03
|
299 |
+
Mr. R. W. Pugh
|
300 |
+
Taipei, Taiwan 13-6
|
301 |
+
03
|
302 |
+
Dear Fr. Pugh
|
303 |
+
27 September 1966
|
304 |
+
|
305 |
+
This letter will confirm acceptance of your resigna-
|
306 |
+
tion effective 27 September 1966 at the close of business.
|
307 |
+
|
308 |
+
A final pay check representing any unpaid salary due
|
309 |
+
you less any debits you may have on the Company books will be
|
310 |
+
forwarded to your bank:
|
311 |
+
|
312 |
+
Bank of America
|
313 |
+
4th Street 08
|
314 |
+
Santa Rosa, California.
|
315 |
+
|
316 |
+
You have given us your forwarding address as:
|
317 |
+
|
318 |
+
(756 Baird Road 08
|
319 |
+
Santa Rosa, California
|
320 |
+
U.S.A
|
321 |
+
We thank you for your past service and wish you
|
322 |
+
success in the future.
|
323 |
+
|
324 |
+
Sincerely yours,
|
325 |
+
|
326 |
+
David R. Traylor
|
327 |
+
Director of Personnel
|
328 |
+
i/cc: Paymaster
|
329 |
+
CC
|
330 |
+
ssistant for Personnel via HDR, Prasseint
|
331 |
+
03
|
332 |
+
Fr.... W. Pun P/O TAC, 503 8 February 1966
|
333 |
+
03
|
334 |
+
Fr. Figh resigned effective 27 September 1966 cob.
|
335 |
+
He indicated to us that he wished to quit flying and
|
336 |
+
go home.
|
337 |
+
MICROFICHE REPRODUCTIONS
|
338 |
+
DESTROY AFTER USE
|
339 |
+
|
340 |
+
---
|
341 |
+
14-00000
|
342 |
+
SECRET
|
343 |
+
REQUEST FOR CANCELLATION
|
344 |
+
FROM: (Division) (Case officer) (Extension)
|
345 |
+
DD/S-HB J.M.Clark 6862
|
346 |
+
NAME SHOWN:193
|
347 |
+
|
348 |
+
TO:
|
349 |
+
CHIEF
|
350 |
+
OS/ID/1
|
351 |
+
SUBJECT'S NAME (Pseudo, crypt or true may be used)
|
352 |
+
03
|
353 |
+
Pugh, Robert West
|
354 |
+
CI/OA NO.
|
355 |
+
08
|
356 |
+
!
|
357 |
+
789656
|
358 |
+
DATE OF BIRTH
|
359 |
+
Unknown
|
360 |
+
REASON(S) FOR CANCELLATION
|
361 |
+
TRUE
|
362 |
+
201 NO.
|
363 |
+
PLACE OF BIRTH
|
364 |
+
08
|
365 |
+
789 656
|
366 |
+
PROJECT
|
367 |
+
02
|
368 |
+
JBGREED
|
369 |
+
GENT'S SERVICE RECORD
|
370 |
+
IS ATTACHED
|
371 |
+
CRYPT
|
372 |
+
BILL BE FORWARDED
|
373 |
+
Unknown
|
374 |
+
|
375 |
+
02
|
376 |
+
Subject has resigned his employment with HEILKA.
|
377 |
+
MICROFICHE REPRODUCTIONS
|
378 |
+
DESTROY AFTER USE
|
379 |
+
|
380 |
+
DATE
|
381 |
+
SIGNATURE
|
382 |
+
201-789656
|
383 |
+
for Jack U. Clark
|
384 |
+
68
|
385 |
+
SUBJECT IS USED IN ANY CAPACITY, A NEW REQUEST FOR APPROVAL WILL BE SUBMITTED TO CI/OA
|
386 |
+
SECRET
|
387 |
+
FORM 937 OBSOLETE PREVIOUS EDITION.
|
388 |
+
4591
|
389 |
+
(5/円)
|
390 |
+
2-56
|
391 |
+
|
392 |
+
---
|
393 |
+
4-00000円
|
394 |
+
|
395 |
+
SECRET
|
396 |
+
REQUEST FOR APPROVAL OR INVESTIGATIVE ACTION
|
397 |
+
(Alwaye handcarry I copy of this form)
|
398 |
+
PLEASE COMPLETE EACH SECTION AND APPROPRIATE BLANK
|
399 |
+
APPROVED FOR RELEASE 1993
|
400 |
+
CIA HISTORICAL REVIEW PROGRAM
|
401 |
+
T
|
402 |
+
DATE
|
403 |
+
4 January 1966
|
404 |
+
TO:
|
405 |
+
FROM:
|
406 |
+
CI/OPERATIONAL: APPROVAL AND SUPPORT DIVISION
|
407 |
+
|
408 |
+
CHIEF INVESTIGATION AND SUPPORT DIVISION. OFFICE OF SECURITY
|
409 |
+
CHIEF PERSONNEL SECURITY DIVISION. OFF ICE OF SECURITY
|
410 |
+
DD/S-HB
|
411 |
+
SUBJECT:
|
412 |
+
03
|
413 |
+
PROJECT
|
414 |
+
02
|
415 |
+
(True name)
|
416 |
+
(PUCH, Robert West
|
417 |
+
JEGREED
|
418 |
+
CRYPTONYM, PSEUDONYM, AKA OR ALIASES
|
419 |
+
CI/OA FILE NO.
|
420 |
+
XX
|
421 |
+
RI 201 FILE NO
|
422 |
+
SO FILE NO.
|
423 |
+
201-789 656
|
424 |
+
1. TYPE ACTION REQUESTED
|
425 |
+
PROVISIONAL OPERATIONAL APPROVAL
|
426 |
+
OPERATIONAL APPROVAL
|
427 |
+
PROVISIONAL COVERT SECURITY APPROVAL
|
428 |
+
COVERT SECURITY APPROVAL
|
429 |
+
CONTRACT TYPE A
|
430 |
+
PROVISIONAL PROPRIETARY APPROVAL
|
431 |
+
PROPRIETARY APPROVAL
|
432 |
+
COVERT NAME CHECK
|
433 |
+
SPECIAL INQUIRY (SO field investigation).
|
434 |
+
CONTRACT TYPE B
|
435 |
+
|
436 |
+
SPECIFIC AREA OF USE
|
437 |
+
Far East (General)
|
438 |
+
FULL DETAILS OF USE
|
439 |
+
|
440 |
+
02
|
441 |
+
First Officer, HEILKA.
|
442 |
+
Phr
|
443 |
+
MICROFICHE REPRODUCTIONS
|
444 |
+
DESTROY AFTER USE
|
445 |
+
4. INVESTIGATION AND COVER
|
446 |
+
A. U.S. GOVERNMENT. INTEREST MAY BE SHOWN DURING. INVESTIGATION?
|
447 |
+
|
448 |
+
B. CIA INTEREST MAY BE SHOWN DURING INVESTIGATION?
|
449 |
+
|
450 |
+
C. IS SUBJECT AWARE OF U.S. GOVERNMENT INTEREST IN HIM?
|
451 |
+
|
452 |
+
D. IS SUBJECT AWARE OF CIA INTEREST IN HIM?
|
453 |
+
|
454 |
+
E. INDICATE ANY LIMITATIONS ON COVERAGE IN THE INVESTIGATION OF SUBJECT..
|
455 |
+
|
456 |
+
F. SUGGEST "COVER PRETEXT" TO BE USED IN CONDUCTING PERSONAL INVESTIGATION OF SUBJECT.
|
457 |
+
|
458 |
+
G. DO YOU PLAN TO MAKE SUBJECT WITTING OF AGENCY OR GOVERNMENT INTEREST?
|
459 |
+
IF NO INVESTIGATION OUTSIDE CIA. EXPLAIN FULLY
|
460 |
+
|
461 |
+
5. PRO AND GREEN LIST STATUS
|
462 |
+
PRO 1. OR EQUIVALENT. IN (2) COPIES ATTACHED
|
463 |
+
PRO 11. OR EQUIVALENT, IN (1) COPY ATTACHED
|
464 |
+
PRO II WILL BE FORWARDED
|
465 |
+
YES
|
466 |
+
NO
|
467 |
+
YES
|
468 |
+
NO
|
469 |
+
NO RECORD
|
470 |
+
NO RECORD
|
471 |
+
:
|
472 |
+
NO RECORD
|
473 |
+
GREEN LIST ATTACHED, NO:
|
474 |
+
6. RI TRACES
|
475 |
+
WILL FORWARD
|
476 |
+
NON-DEROGATORY.
|
477 |
+
DEROGATORY ATTACHED
|
478 |
+
7. DIVISION TRACES.
|
479 |
+
WILL FORWARD
|
480 |
+
:::
|
481 |
+
NON-DEROGATORY
|
482 |
+
DEROGATORY ATTACHED
|
483 |
+
8. FIELD TRACES
|
484 |
+
VILL FORWARD
|
485 |
+
:
|
486 |
+
NO DEROGATORY INFO.
|
487 |
+
LIST SOURCES CHECKED
|
488 |
+
DEROGATORY ATTACHED
|
489 |
+
SIGNIFICANT INFORMATION ATTACHED
|
490 |
+
NOT INITIATED (Explanation)
|
491 |
+
SIGNATURE OF CASE OFFICER
|
492 |
+
EXTENSION
|
493 |
+
SIGNATURE OF BRANCH CHIEF
|
494 |
+
JOSKPH E. MURPHY
|
495 |
+
6862
|
496 |
+
H/P
|
497 |
+
FORM
|
498 |
+
2-63
|
499 |
+
SECRET
|
500 |
+
EDITIONS.
|
501 |
+
11500
|
space/space/jfk_text/104-10059-10188.md
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
1104-10059-10188 2025 RELEASE UNDER THE PRESIDENT JOHN F. KENNEDY ASSASSINATION RECORDS ACT OF 1992
|
2 |
+
|
3 |
+
MEMORANDUM FOR THE RECORD
|
4 |
+
DATE
|
5 |
+
29.7.68
|
6 |
+
FILE NUMBER
|
7 |
+
OSWALD- Nosenko
|
8 |
+
|
9 |
+
1. On 26 July Kes. Rocca C/CI/RTA
|
10 |
+
called to my attention an aspect
|
11 |
+
of Nosenko's information which
|
12 |
+
must be definitely examined
|
13 |
+
when we attempt to assess
|
14 |
+
and analyze Nosenko a story about
|
15 |
+
The OSWALD case. Rocca has
|
16 |
+
then reading ass The Ratrou
|
17 |
+
son re ESWALD and it is
|
18 |
+
this impression. There are not only
|
19 |
+
gaps in the info from the standpu
|
20 |
+
That N Surved moto more bec
|
21 |
+
also some aspects which don't
|
22 |
+
ring true.
|
23 |
+
|
24 |
+
2. Recently Rocca received form
|
25 |
+
that he
|
26 |
+
Information aball the
|
27 |
+
activities of IRINA SHURAKOVA
|
28 |
+
who has both in The U.K. in
|
29 |
+
Touch with a British controlled
|
30 |
+
source (a gov't clerk) judged
|
31 |
+
|
32 |
+
1954
|
33 |
+
JE 525-126
|
34 |
+
|
35 |
+
14-00000
|
36 |
+
|
37 |
+
SUBJECT
|
38 |
+
FORM
|
39 |
+
MEMORANDUM FOR THE RECORD
|
40 |
+
|
41 |
+
[to be reliable] It is Rocca's
|
42 |
+
impression (Thats note
|
43 |
+
[examined This case Thoroughly] )
|
44 |
+
[that The Sovets have criticised]
|
45 |
+
to try to make SHURALOVA
|
46 |
+
look [Clean i.e., that she has
|
47 |
+
resh had a KOB note and
|
48 |
+
Tis only an Intourist interpretas-
|
49 |
+
to support N's Thesis. This
|
50 |
+
is questionable on its resence
|
51 |
+
[at any rate The [controlled
|
52 |
+
British source and SHARAVOJA
|
53 |
+
visited here Tossad's Wax works
|
54 |
+
wuzeum Where SHURAKOVA
|
55 |
+
had a visibles reaction where
|
56 |
+
seeing OSWALD display, altanista
|
57 |
+
This vivirs was entirely cun occur
|
58 |
+
[on The part of the source?]
|
59 |
+
[British]. it was not
|
60 |
+
dove deliberately SHURACOVAR
|
61 |
+
reaction indicated suspicious
|
62 |
+
that This was a movodation
|
63 |
+
|
64 |
+
1954
|
65 |
+
OFFICE AND TITLE
|
66 |
+
SIGNATURE
|
67 |
+
GROUP
|